From 8c3f399ad3d4c44392306e2e591ec22bdbcb61d7 Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期四, 12 三月 2026 16:34:30 +0800
Subject: [PATCH] 建德项目分支初始化

---
 zy-acs-cv/src/main/resources/lib/rxtx-2.1.7.jar                                        |    0 
 zy-acs-cv/src/main/webapp/static/layui/font/iconfont.woff2                             |    0 
 zy-acs-cv/src/main/webapp/static/layui/images/face/62.gif                              |    0 
 zy-acs-cv/src/main/webapp/static/css/crn.css                                           |  286 
 zy-acs-cv/src/main/webapp/static/layui/images/face/11.gif                              |    0 
 zy-acs-cv/src/main/webapp/static/layui/images/face/1.gif                               |    0 
 zy-acs-cv/src/main/webapp/static/images/favicon.ico                                    |    0 
 zy-acs-cv/src/main/webapp/static/layui/images/face/70.gif                              |    0 
 zy-acs-cv/src/main/webapp/static/css/layx.min.css                                      |   10 
 zy-acs-cv/src/main/webapp/static/layui/images/face/46.gif                              |    0 
 zy-acs-cv/src/main/webapp/static/layui/lay/modules/upload.js                           |    2 
 zy-acs-cv/src/main/webapp/static/layui/images/face/38.gif                              |    0 
 zy-acs-cv/src/main/webapp/static/images/Crane_manual1.png                              |    0 
 zy-acs-cv/src/main/webapp/static/js/particles.min.js                                   |    9 
 zy-acs-cv/src/main/webapp/static/layui/css/layui.css                                   |    2 
 zy-acs-cv/src/main/webapp/static/css/console.css                                       |  609 +
 zy-acs-cv/src/main/webapp/static/images/Popup-green.png                                |    0 
 zy-acs-cv/src/main/java/com/zy/core/properties/SystemProperties.java                   |   14 
 zy-acs-cv/version/STWCSMapEditor.rar                                                   |    0 
 zy-acs-cv/src/main/webapp/static/images/fork_l.png                                     |    0 
 zy-acs-cv/src/main/java/com/zy/common/utils/HttpHandler.java                           |  219 
 zy-acs-cv/src/main/java/com/zy/asrs/controller/vo/StationStatus.java                   |   15 
 zy-acs-cv/src/main/webapp/static/layui/images/face/42.gif                              |    0 
 zy-acs-cv/src/main/java/com/zy/asrs/controller/CtuController.java                      |   67 
 zy-acs-cv/src/main/webapp/static/layui/images/face/18.gif                              |    0 
 zy-acs-cv/src/main/resources/lib/xpp3-1.1.3.3.jar                                      |    0 
 zy-acs-cv/src/main/webapp/static/layui/font/iconfont.svg                               |  789 ++
 zy-acs-cv/src/main/webapp/views/pipeline.html                                          | 1141 +++
 zy-acs-cv/src/main/java/com/zy/asrs/mapper/JobLogMapper.java                           |   13 
 zy-acs-cv/src/main/java/com/zy/core/model/DevpSlave.java                               |   38 
 zy-acs-cv/src/main/webapp/static/layui/images/face/66.gif                              |    0 
 zy-acs-cv/src/main/webapp/static/layui/images/face/23.gif                              |    0 
 zy-acs-cv/src/main/webapp/static/layui/images/face/54.gif                              |    0 
 zy-acs-cv/src/main/java/com/zy/core/cache/OutputQueue.java                             |   18 
 zy-acs-cv/src/main/java/com/zy/core/operation/handler/AppleLocOperationHandler.java    |  143 
 zy-acs-cv/src/main/resources/lib/uia-utils-0.2.0.jar                                   |    0 
 zy-acs-cv/src/main/webapp/static/js/jquery/jquery-3.3.1.min.js                         |    2 
 zy-acs-cv/src/main/java/com/zy/asrs/service/JobService.java                            |   26 
 zy-acs-cv/src/main/webapp/static/images/loginBg.jpg                                    |    0 
 zy-acs-cv/src/main/webapp/static/layui/images/face/15.gif                              |    0 
 zy-acs-cv/src/main/webapp/static/js/common.js                                          |  195 
 pom.xml                                                                                |    1 
 zy-acs-cv/src/main/java/com/zy/core/enums/TaskType.java                                |   10 
 zy-acs-cv/src/main/webapp/static/images/Crane_hptoohp.png                              |    0 
 zy-acs-cv/src/main/java/com/zy/core/operation/OperationHandler.java                    |   11 
 zy-acs-cv/src/main/webapp/static/js/layer/theme/default/layer.css                      |    1 
 zy-acs-cv/pom.xml                                                                      |  204 
 zy-acs-cv/src/main/webapp/static/css/common.css                                        |   89 
 zy-acs-cv/src/main/webapp/static/layui/lay/modules/transfer.js                         |    2 
 zy-acs-cv/src/main/webapp/static/layui/images/face/30.gif                              |    0 
 zy-acs-cv/src/main/java/com/zy/Boot.java                                               |   23 
 zy-acs-cv/src/main/webapp/static/layui/images/face/34.gif                              |    0 
 zy-acs-cv/src/main/webapp/static/layui/images/face/26.gif                              |    0 
 zy-acs-cv/src/main/webapp/static/layui/images/face/51.gif                              |    0 
 zy-acs-cv/src/main/webapp/static/layui/images/face/69.gif                              |    0 
 zy-acs-cv/src/main/webapp/static/images/wcs_logo.png                                   |    0 
 zy-acs-cv/src/main/java/com/zy/asrs/mapper/JobMapper.java                              |   34 
 zy-acs-cv/src/main/webapp/static/layui/images/face/5.gif                               |    0 
 zy-acs-cv/src/main/java/com/zy/asrs/service/DevpService.java                           |   28 
 zy-acs-cv/src/main/java/com/zy/core/Slave.java                                         |   21 
 zy-acs-cv/src/main/webapp/views/index.html                                             |   98 
 zy-acs-cv/src/main/webapp/static/layui/lay/modules/layedit.js                          |    2 
 zy-acs-cv/src/main/webapp/static/layui/images/face/58.gif                              |    0 
 zy-acs-cv/src/main/java/com/zy/asrs/service/WrkLastnoService.java                      |   15 
 zy-acs-cv/src/main/webapp/views/news.html                                              |  121 
 zy-acs-cv/src/main/java/com/zy/common/utils/News.java                                  |  203 
 zy-acs-cv/src/main/java/com/zy/core/DevpThread.java                                    |   13 
 zy-acs-cv/src/main/webapp/static/layui/images/face/2.gif                               |    0 
 zy-acs-cv/src/main/webapp/static/layui/images/face/37.gif                              |    0 
 zy-acs-cv/src/main/webapp/static/layui/lay/modules/flow.js                             |    2 
 zy-acs-cv/src/main/resources/lib/bx05-0.5.0-SNAPSHOT-javadoc.jar                       |    0 
 zy-acs-cv/src/main/webapp/static/js/layer/layer.js                                     |    2 
 zy-acs-cv/src/main/webapp/static/layui/images/face/61.gif                              |    0 
 zy-acs-cv/src/main/java/com/zy/common/web/RouterController.java                        |   38 
 zy-acs-cv/src/main/java/com/zy/core/thread/SiemensDevpThread.java                      |  304 
 zy-acs-cv/src/main/webapp/static/images/line.png                                       |    0 
 zy-acs-cv/src/main/webapp/static/layui/images/face/55.gif                              |    0 
 zy-acs-cv/src/main/resources/lib/stax-api-1.0.1.jar                                    |    0 
 zy-acs-cv/src/main/resources/mapper/DevpMapper.xml                                     |   26 
 zy-acs-cv/src/main/webapp/static/layui/images/face/12.gif                              |    0 
 zy-acs-cv/src/main/java/com/zy/common/utils/ReflectUtils.java                          |   76 
 zy-acs-cv/src/main/webapp/static/layui/lay/modules/table.js                            |    2 
 zy-acs-cv/src/main/webapp/static/layui/images/face/43.gif                              |    0 
 zy-acs-cv/src/main/webapp/static/layui/css/modules/layer/default/icon.png              |    0 
 zy-acs-cv/src/main/resources/wcs.sql                                                   |  109 
 zy-acs-cv/src/main/webapp/static/layui/css/modules/code.css                            |    2 
 zy-acs-cv/src/main/java/com/zy/asrs/controller/vo/SiteTableVo.java                     |   40 
 zy-acs-cv/src/main/java/com/zy/asrs/service/impl/WrkLastnoServiceImpl.java             |   48 
 zy-acs-cv/src/main/webapp/static/layui/images/face/22.gif                              |    0 
 zy-acs-cv/version/cool-framework-install.txt                                           |    2 
 zy-acs-cv/src/main/webapp/static/images/stop48.png                                     |    0 
 zy-acs-cv/src/main/webapp/static/layui/font/iconfont.ttf                               |    0 
 zy-acs-cv/src/main/java/com/zy/asrs/mapper/DevpMapper.java                             |   13 
 zy-acs-cv/src/main/java/com/zy/core/ThreadHandler.java                                 |    9 
 zy-acs-cv/src/main/webapp/static/layui/lay/modules/laytpl.js                           |    2 
 zy-acs-cv/src/main/java/com/zy/asrs/controller/SiteController.java                     |  160 
 zy-acs-cv/src/main/webapp/static/layui/images/face/49.gif                              |    0 
 zy-acs-cv/src/main/webapp/static/layui/images/face/71.gif                              |    0 
 zy-acs-cv/src/main/java/com/zy/asrs/controller/responseParam/StationResponseParam.java |   30 
 zy-acs-cv/src/main/webapp/static/images/stacker.png                                    |    0 
 zy-acs-cv/src/main/java/com/zy/core/operation/handler/ClearSingleOperationHandler.java |   83 
 zy-acs-cv/src/main/webapp/static/layui/images/face/59.gif                              |    0 
 zy-acs-cv/src/main/webapp/static/layui/images/face/16.gif                              |    0 
 zy-acs-cv/src/main/webapp/static/layui/images/face/33.gif                              |    0 
 zy-acs-cv/src/main/java/com/zy/common/utils/CommonUtils.java                           |   30 
 zy-acs-cv/src/main/resources/lib/bx05.message-0.5.0-SNAPSHOT.jar                       |    0 
 zy-acs-cv/src/main/webapp/static/layui/lay/modules/carousel.js                         |    2 
 zy-acs-cv/src/main/webapp/static/layui/images/face/65.gif                              |    0 
 zy-acs-cv/src/main/java/com/zy/asrs/scheduler/JobLogScheduler.java                     |   61 
 zy-acs-cv/src/main/java/com/zy/common/config/WebConfig.java                            |   24 
 zy-acs-cv/src/main/webapp/static/layui/lay/modules/jquery.js                           |    5 
 zy-acs-cv/src/main/webapp/static/js/layer/theme/default/loading-2.gif                  |    0 
 zy-acs-cv/src/main/java/com/zy/core/cache/SlaveConnection.java                         |   63 
 zy-acs-cv/src/main/webapp/static/css/car_vue.css                                       |   15 
 zy-acs-cv/src/main/webapp/static/images/Crane_loctoloc.png                             |    0 
 zy-acs-cv/src/main/java/com/zy/core/model/protocol/StaProtocol.java                    |  124 
 zy-acs-cv/src/main/webapp/static/layui/lay/modules/mobile.js                           |    2 
 zy-acs-cv/src/main/webapp/static/layui/css/layui.mobile.css                            |    2 
 zy-acs-cv/src/main/java/com/zy/core/operation/handler/SendTaskOperationHandler.java    |  118 
 zy-acs-cv/src/main/java/com/zy/asrs/controller/vo/ApplyInRepsonseDto.java              |   17 
 zy-acs-cv/src/main/webapp/static/js/console.map.js                                     |  553 +
 zy-acs-cv/src/main/webapp/static/js/tools/layx.min.js                                  |   10 
 zy-acs-cv/src/main/java/com/zy/asrs/controller/requestParam/StaParam.java              |   18 
 zy-acs-cv/src/main/java/com/zy/asrs/controller/requestParam/StationRequestParam.java   |   24 
 zy-acs-cv/src/main/webapp/static/images/Crane_error.png                                |    0 
 zy-acs-cv/src/main/webapp/static/images/zy-logo.png                                    |    0 
 zy-acs-cv/src/main/webapp/static/layui/images/face/44.gif                              |    0 
 zy-acs-cv/src/main/java/com/zy/asrs/controller/vo/PlcErrorTableVo.java                 |   20 
 zy-acs-cv/src/main/webapp/static/layui/images/face/50.gif                              |    0 
 zy-acs-cv/src/main/webapp/static/layui/images/face/6.gif                               |    0 
 zy-acs-cv/src/main/webapp/static/layui/layui.js                                        |    2 
 zy-acs-cv/src/main/webapp/static/layui/images/face/27.gif                              |    0 
 zy-acs-cv/src/main/java/com/zy/common/utils/Http.java                                  |   31 
 zy-acs-cv/src/main/java/com/zy/asrs/controller/vo/ApplyInDto.java                      |   18 
 zy-acs-cv/src/main/webapp/static/layui/css/modules/layer/default/loading-2.gif         |    0 
 zy-acs-cv/src/main/java/com/zy/core/properties/SlaveProperties.java                    |   35 
 zy-acs-cv/src/main/webapp/static/images/login.png                                      |    0 
 zy-acs-cv/src/main/webapp/static/layui/images/face/28.gif                              |    0 
 zy-acs-cv/src/main/java/com/zy/common/config/CoolExceptionHandler.java                 |   32 
 zy-acs-cv/src/main/webapp/static/layui/layui.all.js                                    |    5 
 zy-acs-cv/src/main/webapp/static/css/console-0.css                                     |  562 +
 zy-acs-cv/src/main/webapp/static/images/start48.png                                    |    0 
 zy-acs-cv/src/main/java/com/zy/core/operation/handler/FakeUserOperationHandler.java    |   81 
 zy-acs-cv/src/main/java/com/zy/asrs/entity/Job.java                                    |  131 
 zy-acs-cv/src/main/webapp/static/js/handlebars/handlebars-v4.5.3.js                    | 6536 +++++++++++++++++
 zy-acs-cv/src/main/java/com/zy/asrs/service/impl/DevpServiceImpl.java                  |   54 
 zy-acs-cv/src/main/webapp/static/layui/images/face/52.gif                              |    0 
 zy-acs-cv/src/main/webapp/static/layui/images/face/60.gif                              |    0 
 zy-acs-cv/src/main/resources/lib/uia-message-0.6.0.jar                                 |    0 
 zy-acs-cv/src/main/webapp/static/js/console.js                                         |  197 
 zy-acs-cv/src/main/java/com/zy/core/ConveyorOperationExecutor.java                     |   59 
 zy-acs-cv/src/main/resources/lib/uia-comm-0.5.1.jar                                    |    0 
 zy-acs-cv/src/main/resources/logback-spring.xml                                        |   62 
 zy-acs-cv/src/main/webapp/static/css/rgv.css                                           |  286 
 zy-acs-cv/src/main/webapp/static/layui/images/face/48.gif                              |    0 
 zy-acs-cv/src/main/webapp/static/js/cool.js                                            |  146 
 zy-acs-cv/src/main/webapp/static/layui/images/face/3.gif                               |    0 
 zy-acs-cv/src/main/webapp/static/css/animsition.css                                    | 2784 +++++++
 zy-acs-cv/src/main/java/com/zy/core/cache/MessageQueue.java                            |  166 
 zy-acs-cv/src/main/java/com/zy/asrs/service/impl/WmsMainServiceImpl.java               |   84 
 zy-acs-cv/src/main/webapp/static/layui/lay/modules/form.js                             |    2 
 zy-acs-cv/src/main/webapp/static/layui/images/face/36.gif                              |    0 
 zy-acs-cv/src/main/java/com/zy/common/config/AdminInterceptor.java                     |   92 
 zy-acs-cv/src/main/resources/application.yml                                           |  104 
 zy-acs-cv/src/main/java/com/zy/common/utils/RandomValidateCodeUtil.java                |  122 
 zy-acs-cv/src/main/webapp/static/layui/images/face/67.gif                              |    0 
 zy-acs-cv/src/main/webapp/static/images/siteclose.png                                  |    0 
 zy-acs-cv/src/main/webapp/static/layui/images/face/24.gif                              |    0 
 zy-acs-cv/src/main/webapp/static/layui/images/face/40.gif                              |    0 
 zy-acs-cv/src/main/webapp/static/layui/images/face/7.gif                               |    0 
 zy-acs-cv/src/main/webapp/static/js/layer/mobile/need/layer.css                        |    1 
 zy-acs-cv/src/main/java/com/zy/asrs/controller/vo/OpenBusSubmitParam.java              |   18 
 zy-acs-cv/src/main/resources/lib/bx05-0.5.0-SNAPSHOT.jar                               |    0 
 zy-acs-cv/src/main/webapp/static/css/render.css                                        |  605 +
 zy-acs-cv/src/main/webapp/static/js/jquery/jquery.animsition.js                        |  234 
 zy-acs-cv/src/main/resources/lib/slf4j-api-1.7.30.jar                                  |    0 
 zy-acs-cv/src/main/webapp/static/layui/lay/modules/tree.js                             |    2 
 zy-acs-cv/src/main/java/com/zy/core/enums/ConveyorStateType.java                       |   32 
 zy-acs-cv/src/main/java/com/zy/asrs/service/WmsMainService.java                        |   21 
 zy-acs-cv/src/main/java/com/zy/asrs/mapper/WrkLastnoMapper.java                        |   12 
 zy-acs-cv/src/main/webapp/static/layui/images/face/17.gif                              |    0 
 zy-acs-cv/src/main/resources/mapper/WrkLastnoMapper.xml                                |    6 
 zy-acs-cv/src/main/webapp/static/layui/css/modules/layer/default/loading-1.gif         |    0 
 zy-acs-cv/src/main/webapp/static/layui/images/face/21.gif                              |    0 
 zy-acs-cv/src/main/webapp/static/layui/images/face/56.gif                              |    0 
 zy-acs-cv/src/main/webapp/static/layui/lay/modules/code.js                             |    2 
 zy-acs-cv/src/main/java/com/zy/core/thread/BarcodeThread.java                          |   68 
 zy-acs-cv/src/main/webapp/static/layui/images/face/39.gif                              |    0 
 zy-acs-cv/src/main/webapp/static/layui/images/face/64.gif                              |    0 
 zy-acs-cv/src/main/java/com/zy/common/web/BaseController.java                          |   21 
 zy-acs-cv/src/main/webapp/static/layui/images/face/13.gif                              |    0 
 zy-acs-cv/src/main/java/com/zy/asrs/controller/WmsController.java                      |  180 
 zy-acs-cv/src/main/webapp/static/js/layer/theme/default/loading-1.gif                  |    0 
 zy-acs-cv/src/main/java/com/zy/asrs/controller/NewsController.java                     |   22 
 zy-acs-cv/src/main/java/com/zy/asrs/service/CtuMainService.java                        |   27 
 zy-acs-cv/src/main/webapp/static/images/Crane_store.png                                |    0 
 zy-acs-cv/src/main/webapp/static/js/tools/md5.js                                       |  211 
 zy-acs-cv/src/main/webapp/static/images/status_bar_2.png                               |    0 
 zy-acs-cv/src/main/webapp/static/images/cancellation.png                               |    0 
 zy-acs-cv/src/main/webapp/static/layui/images/face/45.gif                              |    0 
 zy-acs-cv/src/main/webapp/static/layui/images/face/32.gif                              |    0 
 zy-acs-cv/version/framework-3.4.0.jar                                                  |    0 
 zy-acs-cv/src/main/java/com/zy/asrs/service/impl/JobServiceImpl.java                   |   62 
 zy-acs-cv/src/main/webapp/static/layui/images/face/10.gif                              |    0 
 zy-acs-cv/src/main/webapp/static/layui/images/face/53.gif                              |    0 
 zy-acs-cv/src/main/webapp/static/layui/lay/modules/laypage.js                          |    2 
 zy-acs-cv/src/main/java/com/zy/asrs/utils/Utils.java                                   |  180 
 zy-acs-cv/src/main/java/com/zy/core/operation/handler/OutOperationHandler.java         |  112 
 zy-acs-cv/src/main/webapp/static/layui/images/face/29.gif                              |    0 
 zy-acs-cv/src/main/resources/mapper/JobMapper.xml                                      |   89 
 zy-acs-cv/src/main/webapp/static/images/Crane_auto.png                                 |    0 
 zy-acs-cv/src/main/java/com/zy/core/properties/CtuOperationConfig.java                 |   16 
 zy-acs-cv/src/main/webapp/static/layui/font/iconfont.eot                               |    0 
 zy-acs-cv/src/main/java/com/zy/core/ConveyorBackgroundService.java                     |   91 
 zy-acs-cv/src/main/java/com/zy/core/enums/SlaveType.java                               |   21 
 zy-acs-cv/src/main/webapp/static/layui/images/face/47.gif                              |    0 
 zy-acs-cv/src/main/webapp/static/css/index.css                                         |  149 
 zy-acs-cv/src/main/webapp/static/layui/images/face/4.gif                               |    0 
 zy-acs-cv/src/main/webapp/static/layui/css/modules/layer/default/loading-0.gif         |    0 
 zy-acs-cv/src/main/webapp/static/layui/images/face/0.gif                               |    0 
 zy-acs-cv/src/main/java/com/zy/asrs/controller/vo/TaskDto.java                         |   27 
 zy-acs-cv/src/main/webapp/static/images/Popup-yellow.png                               |    0 
 zy-acs-cv/src/main/webapp/static/layui/lay/modules/slider.js                           |    2 
 zy-acs-cv/src/main/webapp/static/js/layer/mobile/layer.js                              |    2 
 zy-acs-cv/src/main/webapp/static/layui/images/face/9.gif                               |    0 
 zy-acs-cv/src/main/java/com/zy/common/CodeRes.java                                     |   13 
 zy-acs-cv/src/main/webapp/static/layui/images/face/35.gif                              |    0 
 zy-acs-cv/src/main/webapp/static/images/Crane_retrieve.png                             |    0 
 zy-acs-cv/src/main/webapp/static/layui/images/face/19.gif                              |    0 
 zy-acs-cv/src/main/java/com/zy/asrs/entity/WrkLastno.java                              |  101 
 zy-acs-cv/src/main/webapp/static/images/Crane_manual.png                               |    0 
 zy-acs-cv/src/main/webapp/static/css/normalize.css                                     |  349 
 zy-acs-cv/src/main/webapp/static/css/animate.min.css                                   |    7 
 zy-acs-cv/src/main/webapp/static/layui/images/face/41.gif                              |    0 
 zy-acs-cv/src/main/java/com/zy/asrs/utils/SpringContextUtil.java                       |   41 
 zy-acs-cv/src/main/webapp/static/layui/lay/modules/util.js                             |    2 
 zy-acs-cv/src/main/webapp/static/layui/lay/modules/colorpicker.js                      |    2 
 zy-acs-cv/src/main/webapp/static/layui/lay/modules/layer.js                            |    2 
 zy-acs-cv/src/main/java/com/zy/asrs/entity/JobLog.java                                 |  131 
 zy-acs-cv/src/main/webapp/static/images/status_bar_1.png                               |    0 
 zy-acs-cv/src/main/java/com/zy/common/config/RedisConfig.java                          |   97 
 zy-acs-cv/src/main/java/com/zy/core/ServerBootstrap.java                               |   84 
 zy-acs-cv/src/main/webapp/static/layui/images/face/31.gif                              |    0 
 zy-acs-cv/src/main/webapp/static/images/bg.jpg                                         |    0 
 zy-acs-cv/src/main/webapp/static/layui/images/face/68.gif                              |    0 
 zy-acs-cv/src/main/webapp/static/layui/lay/modules/rate.js                             |    2 
 zy-acs-cv/src/main/resources/lib/slf4j-simple-1.7.30.jar                               |    0 
 zy-acs-cv/src/main/webapp/static/images/Crane_stntostn.png                             |    0 
 zy-acs-cv/src/main/webapp/static/layui/images/face/25.gif                              |    0 
 zy-acs-cv/src/main/webapp/static/layui/images/face/8.gif                               |    0 
 zy-acs-cv/src/main/webapp/static/js/layer/theme/default/icon-ext.png                   |    0 
 zy-acs-cv/src/main/webapp/static/layui/font/iconfont.woff                              |    0 
 zy-acs-cv/src/main/java/com/zy/asrs/entity/Devp.java                                   |  146 
 zy-acs-cv/src/main/java/com/zy/asrs/enums/WorkNoTypeType.java                          |   14 
 zy-acs-cv/src/main/java/com/zy/core/properties/CtuServiceProperties.java               |   19 
 zy-acs-cv/src/main/webapp/static/css/pipeline.css                                      |    0 
 zy-acs-cv/src/main/webapp/static/js/echarts/highcharts.js                              |  422 +
 zy-acs-cv/src/main/resources/lib/simple-xml-2.7.1.jar                                  |    0 
 zy-acs-cv/src/main/java/com/zy/common/utils/QrCode.java                                |   90 
 zy-acs-cv/src/main/resources/lib/stax-1.2.0.jar                                        |    0 
 zy-acs-cv/src/main/webapp/static/layui/lay/modules/laydate.js                          |    2 
 zy-acs-cv/src/main/webapp/static/js/echarts/echarts.min.js                             |   22 
 zy-acs-cv/src/main/java/com/zy/core/model/Task.java                                    |   23 
 zy-acs-cv/src/main/webapp/static/images/barcode.png                                    |    0 
 zy-acs-cv/src/main/webapp/static/layui/css/modules/layer/default/layer.css             |    2 
 zy-acs-cv/src/main/webapp/static/layui/images/face/14.gif                              |    0 
 zy-acs-cv/src/main/webapp/static/layui/images/face/63.gif                              |    0 
 zy-acs-cv/src/main/webapp/static/layui/images/face/20.gif                              |    0 
 zy-acs-cv/src/main/webapp/static/layui/css/modules/laydate/default/laydate.css         |    2 
 zy-acs-cv/src/main/webapp/static/layui/images/face/57.gif                              |    0 
 zy-acs-cv/src/main/webapp/static/css/index-0.css                                       |   84 
 zy-acs-cv/src/main/webapp/static/images/bscanner.png                                   |    0 
 zy-acs-cv/src/main/webapp/static/layui/css/modules/layer/default/icon-ext.png          |    0 
 zy-acs-cv/src/main/webapp/static/images/fork_r.png                                     |    0 
 zy-acs-cv/src/main/webapp/static/js/layer/theme/default/loading-0.gif                  |    0 
 zy-acs-cv/src/main/java/com/zy/asrs/service/impl/CtuMainServiceImpl.java               |  123 
 zy-acs-cv/src/main/webapp/static/js/layer/theme/default/icon.png                       |    0 
 zy-acs-cv/src/main/webapp/static/layui/lay/modules/element.js                          |    2 
 278 files changed, 22,098 insertions(+), 0 deletions(-)

diff --git a/pom.xml b/pom.xml
index e7d2831..6604fc9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,6 +23,7 @@
         <module>zy-acs-gateway</module>
         <module>zy-acs-manager</module>
         <module>zy-acs-fake</module>
+        <module>zy-acs-cv</module>
     </modules>
 
     <properties>
diff --git a/zy-acs-cv/pom.xml b/zy-acs-cv/pom.xml
new file mode 100644
index 0000000..c39de6c
--- /dev/null
+++ b/zy-acs-cv/pom.xml
@@ -0,0 +1,204 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>com.zy</groupId>
+        <artifactId>acs</artifactId>
+        <version>1.0.0</version>
+    </parent>
+    <groupId>com.zy</groupId>
+    <artifactId>cv</artifactId>
+    <version>1.0.0</version>
+    <packaging>war</packaging>
+
+    <properties>
+        <java.version>1.8</java.version>
+        <cool.version>3.4.0</cool.version>
+        <mysql-driver.version>5.1.47</mysql-driver.version>
+        <mybatis-plus.version>2.3.2</mybatis-plus.version>
+        <fastjson.version>1.2.58</fastjson.version>
+        <springfox.version>2.7.0</springfox.version>
+    </properties>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-web</artifactId>
+        </dependency>
+        <!--<dependency>-->
+        <!--<groupId>org.springframework.boot</groupId>-->
+        <!--<artifactId>spring-boot-starter-tomcat</artifactId>-->
+        <!--<scope>provided</scope>-->
+        <!--</dependency>-->
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-data-redis</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.zy</groupId>
+            <artifactId>acs-common</artifactId>
+            <version>1.0.0</version>
+        </dependency>
+        <dependency>
+            <groupId>mysql</groupId>
+            <artifactId>mysql-connector-java</artifactId>
+            <version>${mysql-driver.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>com.microsoft.sqlserver</groupId>
+            <artifactId>mssql-jdbc</artifactId>
+            <version>8.2.2.jre8</version>
+        </dependency>
+        <dependency>
+            <groupId>com.baomidou</groupId>
+            <artifactId>mybatis-plus-boot-starter</artifactId>
+            <version>${mybatis-plus.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>com.alibaba</groupId>
+            <artifactId>fastjson</artifactId>
+            <version>${fastjson.version}</version>
+        </dependency>
+
+        <!-- swagger -->
+        <dependency>
+            <groupId>io.springfox</groupId>
+            <artifactId>springfox-boot-starter</artifactId>
+            <version>3.0.0</version>
+        </dependency>
+        <dependency>
+            <groupId>com.google.zxing</groupId>
+            <artifactId>core</artifactId>
+            <version>3.3.0</version>
+        </dependency>
+        <dependency>
+            <groupId>com.alibaba</groupId>
+            <artifactId>easyexcel</artifactId>
+            <version>2.0.5</version>
+        </dependency>
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+            <version>1.18.20</version>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>com.github.dathlin</groupId>
+            <artifactId>HslCommunication</artifactId>
+            <version>2.0.0</version>
+        </dependency>
+        <!-- okHttp3 -->
+        <dependency>
+            <groupId>com.squareup.okhttp3</groupId>
+            <artifactId>okhttp</artifactId>
+            <version>3.10.0</version>
+        </dependency>
+
+        <!-- led sdk -->
+        <dependency>
+            <groupId>com.wcs.led</groupId>
+            <artifactId>5m3</artifactId>
+            <scope>system</scope>
+            <version>0.5.0</version>
+            <systemPath>${project.basedir}/src/main/resources/lib/bx05-0.5.0-SNAPSHOT.jar</systemPath>
+        </dependency>
+        <dependency>
+            <groupId>com.wcs.led</groupId>
+            <artifactId>5m3message</artifactId>
+            <scope>system</scope>
+            <version>0.5.0</version>
+            <systemPath>${project.basedir}/src/main/resources/lib/bx05.message-0.5.0-SNAPSHOT.jar</systemPath>
+        </dependency>
+        <dependency>
+            <groupId>com.wcs.led</groupId>
+            <artifactId>5m3doc</artifactId>
+            <scope>system</scope>
+            <version>0.5.0</version>
+            <systemPath>${project.basedir}/src/main/resources/lib/bx05-0.5.0-SNAPSHOT-javadoc.jar</systemPath>
+        </dependency>
+        <dependency>
+            <groupId>com.wcs.led</groupId>
+            <artifactId>rxtx</artifactId>
+            <scope>system</scope>
+            <version>2.1.7</version>
+            <systemPath>${project.basedir}/src/main/resources/lib/rxtx-2.1.7.jar</systemPath>
+        </dependency>
+        <dependency>
+            <groupId>com.wcs.led</groupId>
+            <artifactId>simple-xml</artifactId>
+            <scope>system</scope>
+            <version>2.7.1</version>
+            <systemPath>${project.basedir}/src/main/resources/lib/simple-xml-2.7.1.jar</systemPath>
+        </dependency>
+        <dependency>
+            <groupId>com.wcs.led</groupId>
+            <artifactId>stax</artifactId>
+            <scope>system</scope>
+            <version>1.2.0</version>
+            <systemPath>${project.basedir}/src/main/resources/lib/stax-1.2.0.jar</systemPath>
+        </dependency>
+        <dependency>
+            <groupId>com.wcs.led</groupId>
+            <artifactId>stax-api</artifactId>
+            <scope>system</scope>
+            <version>1.0.1</version>
+            <systemPath>${project.basedir}/src/main/resources/lib/stax-api-1.0.1.jar</systemPath>
+        </dependency>
+        <dependency>
+            <groupId>com.wcs.led</groupId>
+            <artifactId>uia-comm</artifactId>
+            <scope>system</scope>
+            <version>0.5.1</version>
+            <systemPath>${project.basedir}/src/main/resources/lib/uia-comm-0.5.1.jar</systemPath>
+        </dependency>
+        <dependency>
+            <groupId>com.wcs.led</groupId>
+            <artifactId>uia-message</artifactId>
+            <scope>system</scope>
+            <version>0.6.0</version>
+            <systemPath>${project.basedir}/src/main/resources/lib/uia-message-0.6.0.jar</systemPath>
+        </dependency>
+        <dependency>
+            <groupId>com.wcs.led</groupId>
+            <artifactId>uia-utils</artifactId>
+            <scope>system</scope>
+            <version>0.2.0</version>
+            <systemPath>${project.basedir}/src/main/resources/lib/uia-utils-0.2.0.jar</systemPath>
+        </dependency>
+        <dependency>
+            <groupId>com.wcs.led</groupId>
+            <artifactId>xpp3</artifactId>
+            <scope>system</scope>
+            <version>1.1.3.3</version>
+            <systemPath>${project.basedir}/src/main/resources/lib/xpp3-1.1.3.3.jar</systemPath>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <finalName>cv</finalName>
+        <plugins>
+            <plugin>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-maven-plugin</artifactId>
+                <version>2.1.3.RELEASE</version>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-war-plugin</artifactId>
+                <configuration>
+                    <webResources>
+                        <resource>
+                            <directory>src/main/resources/lib</directory>
+                            <targetPath>WEB-INF/lib/</targetPath>
+                            <includes>
+                                <include>**/*.jar</include>
+                            </includes>
+                        </resource>
+                    </webResources>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
+</project>
diff --git a/zy-acs-cv/src/main/java/com/zy/Boot.java b/zy-acs-cv/src/main/java/com/zy/Boot.java
new file mode 100644
index 0000000..bd687a0
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/Boot.java
@@ -0,0 +1,23 @@
+package com.zy;
+
+import com.zy.common.utils.RandomValidateCodeUtil;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
+import org.springframework.scheduling.annotation.EnableAsync;
+import org.springframework.scheduling.annotation.EnableScheduling;
+
+@EnableAsync
+@SpringBootApplication
+@EnableScheduling
+public class Boot extends SpringBootServletInitializer {
+
+    public static void main(String[] args) {
+        RandomValidateCodeUtil.init();
+        SpringApplication.run(Boot.class, args);
+
+
+    }
+
+
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/asrs/controller/CtuController.java b/zy-acs-cv/src/main/java/com/zy/asrs/controller/CtuController.java
new file mode 100644
index 0000000..c5715ec
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/asrs/controller/CtuController.java
@@ -0,0 +1,67 @@
+package com.zy.asrs.controller;
+
+import com.zy.acs.framework.common.Cools;
+import com.zy.acs.framework.common.R;
+import com.zy.asrs.controller.requestParam.StationRequestParam;
+import com.zy.asrs.controller.responseParam.StationResponseParam;
+import com.zy.common.web.BaseController;
+import com.zy.core.DevpThread;
+import com.zy.core.cache.SlaveConnection;
+import com.zy.core.enums.SlaveType;
+import com.zy.core.model.protocol.StaProtocol;
+import com.zy.core.properties.SlaveProperties;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 瀵筩tu绯荤粺鐨勬帴鍙�
+ */
+@Slf4j
+@RestController
+public class CtuController extends BaseController {
+
+
+    @Autowired
+    private SlaveProperties slaveProperties;
+
+    /**
+     * 绔欑偣鏌ヨ
+     */
+    @ResponseBody
+    @PostMapping("/station/query")
+    public R query(@RequestBody StationRequestParam param) {
+        log.info("绔欑偣鏌ヨ锛歿}", param);
+        List<String> staNos = param.getStaNos();
+        DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, param.getDevpId());
+        List<StationResponseParam> list = new ArrayList<>();
+        Map<Integer, StaProtocol> station = devpThread.getStation();
+        if (Cools.isEmpty(staNos)) {
+            for (Map.Entry<Integer, StaProtocol> entry : station.entrySet()) {
+                staNos.add(entry.getKey() + "");
+            }
+        }
+        StationResponseParam stationResponseParam;
+        for (String staNo : staNos) {
+            StaProtocol staProtocol = station.get(Integer.parseInt(staNo));
+            stationResponseParam = new StationResponseParam();
+            stationResponseParam.setStaNo(staNo);
+            stationResponseParam.setOccupied(staProtocol.isLoading());
+            stationResponseParam.setInEnable((staProtocol.isInEnable() && staProtocol.getWorkNo() == 0 ? true : false));
+            stationResponseParam.setOutEnable((staProtocol.isOutEnable() ? true : false));
+            stationResponseParam.setOnline(staProtocol.isAutoing());
+            list.add(stationResponseParam);
+        }
+        log.info("绔欑偣鏌ヨ锛歿}", list);
+        return R.ok(list);
+    }
+
+
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/asrs/controller/NewsController.java b/zy-acs-cv/src/main/java/com/zy/asrs/controller/NewsController.java
new file mode 100644
index 0000000..4036f5e
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/asrs/controller/NewsController.java
@@ -0,0 +1,22 @@
+package com.zy.asrs.controller;
+
+import com.zy.acs.framework.common.R;
+import com.zy.common.utils.News;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * Created by vincent on 2022/12/28
+ */
+@Slf4j
+@RestController
+@RequestMapping("/news")
+public class NewsController {
+
+    @RequestMapping("/print")
+    public synchronized R print() {
+        return R.ok().add(News.print());
+    }
+
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/asrs/controller/SiteController.java b/zy-acs-cv/src/main/java/com/zy/asrs/controller/SiteController.java
new file mode 100644
index 0000000..bd0d649
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/asrs/controller/SiteController.java
@@ -0,0 +1,160 @@
+package com.zy.asrs.controller;
+
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.zy.acs.framework.annotations.ManagerAuth;
+import com.zy.acs.framework.common.R;
+import com.zy.asrs.controller.vo.SiteTableVo;
+import com.zy.asrs.entity.Devp;
+import com.zy.asrs.service.DevpService;
+import com.zy.core.DevpThread;
+import com.zy.core.cache.MessageQueue;
+import com.zy.core.cache.OutputQueue;
+import com.zy.core.cache.SlaveConnection;
+import com.zy.core.enums.SlaveType;
+import com.zy.core.enums.TaskType;
+import com.zy.core.model.DevpSlave;
+import com.zy.core.model.Task;
+import com.zy.core.model.protocol.StaProtocol;
+import com.zy.core.properties.SlaveProperties;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 杈撻�佽澶囨帴鍙�
+ * Created by vincent on 2020-06-01
+ */
+@RestController
+@RequestMapping("/site")
+public class SiteController {
+
+    @Autowired
+    private SlaveProperties slaveProperties;
+    @Autowired
+    private DevpService devpService;
+
+
+    @PostMapping("/table/site")
+    @ManagerAuth(memo = "绔欑偣淇℃伅琛�")
+    public R siteTable() {
+        List<SiteTableVo> list = new ArrayList<>();
+        // 鍐呭瓨鏁版嵁
+        Map<Integer, StaProtocol> station = new HashMap<>();
+        for (DevpSlave devp : slaveProperties.getDevp()) {
+            DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
+            station.putAll(devpThread.getStation());
+        }
+        // 鎸佷箙鏁版嵁
+        List<Devp> devps = devpService.selectList(new EntityWrapper<Devp>().orderBy("dev_no"));
+        for (Devp devp : devps) {
+            SiteTableVo vo = new SiteTableVo();
+            vo.setDevNo(devp.getDevNo());    // 绔欑偣缂栧彿
+
+            list.add(vo);
+            StaProtocol staProtocol = station.get(devp.getDevNo());
+            if (null == staProtocol) {
+                continue;
+            }
+            vo.setWorkNo(staProtocol.getWorkNo());
+            vo.setAutoing(staProtocol.isAutoing() ? "Y" : "N");     //  鑷姩
+            vo.setLoading(staProtocol.isLoading() ? "Y" : "N");     // 鏈夌墿
+            vo.setInEnable(staProtocol.isInEnable() ? "Y" : "N");   // 鍙叆
+            vo.setOutEnable(staProtocol.isOutEnable() ? "Y" : "N"); // 鍙嚭
+            vo.setPakMk(staProtocol.isPakMk() ? "Y" : "N");       // 鍏ュ簱鏍囪
+            vo.setEmptyMk(staProtocol.isEmptyMk() ? "Y" : "N");     // 绌烘澘淇″彿
+            vo.setStaNo(staProtocol.getStaNo());                // 鐩爣绔�
+//            vo.setLocType1(staProtocol.isHigh() != staProtocol.isLow() && staProtocol.isLow() ? "浣�" : "楂�");     //楂樹綆搴撲綅
+            vo.setLocType1(devp.getDevNo() == 102 ? "楂�" : "浣�");
+        }
+
+        return R.ok().add(list);
+    }
+
+
+    @PostMapping("/output/site")
+    @ManagerAuth(memo = "绔欑偣璁惧鎶ユ枃鏃ュ織杈撳嚭")
+    public R siteOutput() {
+        StringBuilder str = new StringBuilder();
+        String s;
+        int i = 0;
+        while ((s = OutputQueue.DEVP.poll()) != null && i <= 10) {
+            str.append("\n").append(s);
+            i++;
+        }
+        return R.ok().add(str.toString());
+    }
+
+    /****************************************************************/
+    /************************** 璇︽儏鎿嶄綔 ******************************/
+    /****************************************************************/
+
+    @GetMapping("/detl/{siteId}")
+    public R siteDetl(@PathVariable("siteId") Integer siteId) {
+        SiteTableVo vo = new SiteTableVo();
+        for (DevpSlave devp : slaveProperties.getDevp()) {
+            DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
+            Map<Integer, StaProtocol> station = devpThread.getStation();
+            for (Map.Entry<Integer, StaProtocol> entry : station.entrySet()) {
+                if (siteId.equals(entry.getKey())) {
+                    StaProtocol staProtocol = entry.getValue();
+                    vo.setDevNo(entry.getKey());    // 绔欑偣缂栧彿
+                    vo.setWorkNo(staProtocol.getWorkNo());   //  宸ヤ綔鍙�
+                    vo.setAutoing(staProtocol.isAutoing() ? "Y" : "N");     //  鑷姩
+                    vo.setLoading(staProtocol.isLoading() ? "Y" : "N");     // 鏈夌墿
+                    vo.setInEnable(staProtocol.isInEnable() ? "Y" : "N");   // 鍙叆
+                    vo.setOutEnable(staProtocol.isOutEnable() ? "Y" : "N"); // 鍙嚭
+                    vo.setPakMk(staProtocol.isPakMk() ? "Y" : "N");       // 闇�姹�1
+                    vo.setEmptyMk(staProtocol.isEmptyMk() ? "Y" : "N");     // 绌烘澘淇″彿
+                    vo.setStaNo(staProtocol.getStaNo());                // 鐩爣绔�
+                    vo.setLocType1(staProtocol.isHigh() != staProtocol.isLow() && staProtocol.isLow() ? "浣�" : "楂�");     //楂樹綆搴撲綅
+                    return R.ok().add(vo);
+                }
+            }
+        }
+        return R.error("plc宸叉帀绾�");
+    }
+
+    @PostMapping("/detl/update")
+    @ManagerAuth(memo = "淇敼绔欑偣鏁版嵁")
+    public R siteDetlUpdate(@RequestParam Integer siteId,
+                            @RequestParam Integer workNo,
+                            @RequestParam Integer staNo,
+                            @RequestParam String pakMk) {
+        for (DevpSlave devp : slaveProperties.getDevp()) {
+            DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
+            Map<Integer, StaProtocol> station = devpThread.getStation();
+            for (Map.Entry<Integer, StaProtocol> entry : station.entrySet()) {
+                if (siteId.equals(entry.getKey())) {
+                    StaProtocol staProtocol = entry.getValue();
+                    if (staProtocol == null) {
+                        continue;
+                    } else {
+                        staProtocol = staProtocol.clone();
+                    }
+                    if (workNo != null) {
+                        staProtocol.setWorkNo(workNo);
+                    }
+                    if (staNo != null) {
+                        staProtocol.setStaNo(staNo);
+                    }
+                    if (pakMk != null) {
+                        staProtocol.setPakMk(pakMk.equals("Y"));
+                    }
+                    boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(TaskType.WRITE, staProtocol));
+                    if (result) {
+                        return R.ok();
+                    } else {
+                        return R.error("涓嬪彂鍛戒护澶辫触");
+                    }
+                }
+            }
+        }
+        return R.error("plc宸叉帀绾�");
+    }
+
+
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/asrs/controller/WmsController.java b/zy-acs-cv/src/main/java/com/zy/asrs/controller/WmsController.java
new file mode 100644
index 0000000..9990c4f
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/asrs/controller/WmsController.java
@@ -0,0 +1,180 @@
+package com.zy.asrs.controller;
+
+import com.zy.acs.framework.common.R;
+import com.zy.asrs.controller.requestParam.StaParam;
+import com.zy.asrs.controller.responseParam.StationResponseParam;
+import com.zy.asrs.controller.vo.PlcErrorTableVo;
+import com.zy.asrs.entity.Job;
+import com.zy.asrs.service.JobService;
+import com.zy.common.web.BaseController;
+import com.zy.core.DevpThread;
+import com.zy.core.cache.SlaveConnection;
+import com.zy.core.enums.SlaveType;
+import com.zy.core.model.protocol.StaProtocol;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 瀵筩tu绯荤粺鐨勬帴鍙�
+ */
+@Slf4j
+@RestController
+public class WmsController extends BaseController {
+
+
+    @Autowired
+    private JobService jobService;
+
+    /**
+     * 绔欑偣鏌ヨ
+     */
+    @ResponseBody
+    @PostMapping("/station/getTaskNo")
+    public R query(@RequestBody StaParam param) {
+        log.info("鏍规嵁绔欑偣鏌ヨstaNo锛歿}", param);
+        String staNo = param.getStaNo();
+        DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, param.getDevpId());
+        List<StationResponseParam> list = new ArrayList<>();
+        Map<Integer, StaProtocol> station = devpThread.getStation();
+        StaProtocol staProtocol = station.get(Integer.parseInt(staNo));
+        Integer workNo = staProtocol.getWorkNo();
+        if (workNo != null) {
+            Job jobByJobNo = jobService.getJobByJobNo(workNo);
+            if (jobByJobNo != null) {
+                return R.ok(jobByJobNo);
+            }
+        }
+        return R.ok();
+    }
+
+
+    /**
+     * 鏌ヨ寮傚父
+     */
+    @ResponseBody
+    @PostMapping("/station/getError")
+    public R getError(@RequestBody StaParam param) {
+        log.info("鏍规嵁绔欑偣鏌ヨstaNo锛歿}", param);
+        String staNo = param.getStaNo();
+        DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, param.getDevpId());
+        Map<Integer, StaProtocol> station = devpThread.getStation();
+        StaProtocol staProtocol = station.get(Integer.parseInt(staNo));
+        return R.ok(staPlcErr(staProtocol));
+    }
+
+
+    private List<PlcErrorTableVo> staPlcErr(StaProtocol staProtocol) {
+        if (staProtocol == null) {
+            return null;
+        }
+        List<PlcErrorTableVo> list = new ArrayList<>();
+        if (staProtocol.getBreakerErr()) {
+            PlcErrorTableVo vo = new PlcErrorTableVo();
+            vo.setStaNo(staProtocol.getSiteId());
+            vo.setPlcDesc("鏂矾鍣ㄦ晠闅�");
+            vo.setError("鏂矾鍣ㄦ晠闅�");
+            list.add(vo);
+        }
+        if (staProtocol.getInfraredErr()) {
+            PlcErrorTableVo vo = new PlcErrorTableVo();
+            vo.setStaNo(staProtocol.getSiteId());
+            vo.setPlcDesc("鍏夌數寮傚父");
+            vo.setError("鍏夌數寮傚父");
+            list.add(vo);
+        }
+        if (staProtocol.getOutTimeErr()) {
+            PlcErrorTableVo vo = new PlcErrorTableVo();
+            vo.setStaNo(staProtocol.getSiteId());
+            vo.setPlcDesc("杩愯瓒呮椂");
+            vo.setError("杩愯瓒呮椂");
+            list.add(vo);
+        }
+        if (staProtocol.getSeizeSeatErr()) {
+            PlcErrorTableVo vo = new PlcErrorTableVo();
+            vo.setStaNo(staProtocol.getSiteId());
+            vo.setPlcDesc("鍗犱綅瓒呮椂");
+            vo.setError("鍗犱綅瓒呮椂");
+            list.add(vo);
+        }
+        if (staProtocol.getWrkYgoodsN()) {
+            PlcErrorTableVo vo = new PlcErrorTableVo();
+            vo.setStaNo(staProtocol.getSiteId());
+            vo.setPlcDesc("鏈変换鍔℃棤璐ф晠闅�");
+            vo.setError("鏈変换鍔℃棤璐ф晠闅�");
+            list.add(vo);
+        }
+        if (staProtocol.getInverterErr()) {
+            PlcErrorTableVo vo = new PlcErrorTableVo();
+            vo.setStaNo(staProtocol.getSiteId());
+            vo.setPlcDesc("鍙橀鍣ㄦ晠闅�");
+            vo.setError("鍙橀鍣ㄦ晠闅�");
+            list.add(vo);
+        }
+        if (staProtocol.getContactErr()) {
+            PlcErrorTableVo vo = new PlcErrorTableVo();
+            vo.setStaNo(staProtocol.getSiteId());
+            vo.setPlcDesc("鐢垫満鎺ヨЕ鍣ㄦ晠闅�");
+            vo.setError("鐢垫満鎺ヨЕ鍣ㄦ晠闅�");
+            list.add(vo);
+        }
+        if (staProtocol.getUpcontactErr()) {
+            PlcErrorTableVo vo = new PlcErrorTableVo();
+            vo.setStaNo(staProtocol.getSiteId());
+            vo.setPlcDesc("椤跺崌鐢垫満鎺ヨЕ鍣ㄦ晠闅�");
+            vo.setError("椤跺崌鐢垫満鎺ヨЕ鍣ㄦ晠闅�");
+            list.add(vo);
+        }
+        if (staProtocol.isFrontErr()) {
+            PlcErrorTableVo vo = new PlcErrorTableVo();
+            vo.setStaNo(staProtocol.getSiteId());
+            vo.setPlcDesc("鍓嶈秴闄�");
+            vo.setError("鍓嶈秴闄�");
+            list.add(vo);
+        }
+        if (staProtocol.isBackErr()) {
+            PlcErrorTableVo vo = new PlcErrorTableVo();
+            vo.setStaNo(staProtocol.getSiteId());
+            vo.setPlcDesc("鍚庤秴闄�");
+            vo.setError("鍚庤秴闄�");
+            list.add(vo);
+        }
+        if (staProtocol.isHighErr()) {
+            PlcErrorTableVo vo = new PlcErrorTableVo();
+            vo.setStaNo(staProtocol.getSiteId());
+            vo.setPlcDesc("楂樿秴闄�");
+            vo.setError("楂樿秴闄�");
+            list.add(vo);
+        }
+        if (staProtocol.isLeftErr()) {
+            PlcErrorTableVo vo = new PlcErrorTableVo();
+            vo.setStaNo(staProtocol.getSiteId());
+            vo.setPlcDesc("宸﹁秴闄�");
+            vo.setError("宸﹁秴闄�");
+            list.add(vo);
+        }
+        if (staProtocol.isRightErr()) {
+            PlcErrorTableVo vo = new PlcErrorTableVo();
+            vo.setStaNo(staProtocol.getSiteId());
+            vo.setPlcDesc("鍙宠秴闄�");
+            vo.setError("鍙宠秴闄�");
+            list.add(vo);
+        }
+        if (staProtocol.isBarcodeErr()) {
+            PlcErrorTableVo vo = new PlcErrorTableVo();
+            vo.setStaNo(staProtocol.getSiteId());
+            vo.setPlcDesc("鎵爜澶辫触");
+            vo.setError("鎵爜澶辫触");
+            list.add(vo);
+        }
+        return list;
+    }
+
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/asrs/controller/requestParam/StaParam.java b/zy-acs-cv/src/main/java/com/zy/asrs/controller/requestParam/StaParam.java
new file mode 100644
index 0000000..dda5a8f
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/asrs/controller/requestParam/StaParam.java
@@ -0,0 +1,18 @@
+package com.zy.asrs.controller.requestParam;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class StaParam implements Serializable {
+    /**
+     * 绔欑偣鍒楄〃
+     */
+    private String staNo;
+    /**
+     * 杈撻�佺嚎缂栧彿
+     */
+    private Integer devpId = 1;
+
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/asrs/controller/requestParam/StationRequestParam.java b/zy-acs-cv/src/main/java/com/zy/asrs/controller/requestParam/StationRequestParam.java
new file mode 100644
index 0000000..afff13d
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/asrs/controller/requestParam/StationRequestParam.java
@@ -0,0 +1,24 @@
+package com.zy.asrs.controller.requestParam;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+@Data
+public class StationRequestParam implements Serializable {
+    /**
+     * 绔欑偣鍒楄〃
+     */
+    private List<String> staNos;
+
+    /**
+     * 绔欑偣鍒楄〃
+     */
+    private String staNo;
+    /**
+     * 杈撻�佺嚎缂栧彿
+     */
+    private Integer devpId = 1;
+
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/asrs/controller/responseParam/StationResponseParam.java b/zy-acs-cv/src/main/java/com/zy/asrs/controller/responseParam/StationResponseParam.java
new file mode 100644
index 0000000..4a96ebf
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/asrs/controller/responseParam/StationResponseParam.java
@@ -0,0 +1,30 @@
+package com.zy.asrs.controller.responseParam;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class StationResponseParam implements Serializable {
+    /**
+     * 绔欑偣缂栧彿
+     */
+    private String staNo;
+    /**
+     * 杈撻�佺嚎缂栧彿
+     */
+    private Boolean online;
+    /**
+     * 鏄惁鏈夌墿
+     */
+    private Boolean occupied;
+    /**
+     * 鏄惁鍙叆
+     */
+    private Boolean inEnable;
+    /**
+     * 鏄惁鍙嚭
+     */
+    private Boolean outEnable;
+
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/asrs/controller/vo/ApplyInDto.java b/zy-acs-cv/src/main/java/com/zy/asrs/controller/vo/ApplyInDto.java
new file mode 100644
index 0000000..b9a2845
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/asrs/controller/vo/ApplyInDto.java
@@ -0,0 +1,18 @@
+package com.zy.asrs.controller.vo;
+
+import lombok.Data;
+
+/**
+ * Created by vincent on 2023/6/12
+ */
+@Data
+public class ApplyInDto {
+
+    private String staNo;
+
+    private String barcode;
+
+    private Boolean full;
+
+
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/asrs/controller/vo/ApplyInRepsonseDto.java b/zy-acs-cv/src/main/java/com/zy/asrs/controller/vo/ApplyInRepsonseDto.java
new file mode 100644
index 0000000..85b5e2e
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/asrs/controller/vo/ApplyInRepsonseDto.java
@@ -0,0 +1,17 @@
+package com.zy.asrs.controller.vo;
+
+import lombok.Data;
+
+/**
+ * Created by vincent on 2023/6/12
+ */
+@Data
+public class ApplyInRepsonseDto {
+
+    private String locNo;
+
+    private String taskNo;
+
+    private String batchNo;
+
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/asrs/controller/vo/OpenBusSubmitParam.java b/zy-acs-cv/src/main/java/com/zy/asrs/controller/vo/OpenBusSubmitParam.java
new file mode 100644
index 0000000..200cce8
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/asrs/controller/vo/OpenBusSubmitParam.java
@@ -0,0 +1,18 @@
+package com.zy.asrs.controller.vo;
+
+import lombok.Data;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Created by vincent on 2023/6/12
+ */
+@Data
+public class OpenBusSubmitParam {
+
+    private String batchNo;
+
+    private List<TaskDto> tasks = new ArrayList<>();
+
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/asrs/controller/vo/PlcErrorTableVo.java b/zy-acs-cv/src/main/java/com/zy/asrs/controller/vo/PlcErrorTableVo.java
new file mode 100644
index 0000000..6339a78
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/asrs/controller/vo/PlcErrorTableVo.java
@@ -0,0 +1,20 @@
+package com.zy.asrs.controller.vo;
+
+import lombok.Data;
+
+/**
+ * Created by vincent on 2020-06-02
+ */
+@Data
+public class PlcErrorTableVo {
+
+    // 搴忓彿
+    private Integer staNo;
+
+    // plc寮傚父鎻忚堪
+    private String plcDesc;
+
+    // 寮傚父
+    private String error;
+
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/asrs/controller/vo/SiteTableVo.java b/zy-acs-cv/src/main/java/com/zy/asrs/controller/vo/SiteTableVo.java
new file mode 100644
index 0000000..96959ff
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/asrs/controller/vo/SiteTableVo.java
@@ -0,0 +1,40 @@
+package com.zy.asrs.controller.vo;
+
+import lombok.Data;
+
+/**
+ * Created by vincent on 2020-06-02
+ */
+@Data
+public class SiteTableVo {
+
+    // 绔欏彿
+    private Integer devNo;
+
+    // 宸ヤ綔鍙�
+    private Integer workNo = 0;
+
+    // 鑷姩
+    private String autoing = "-";
+
+    // 鏈夌墿
+    private String loading = "-";
+
+    // 鍙叆
+    private String inEnable = "-";
+
+    // 鍙嚭
+    private String outEnable = "-";
+
+    // 闇�姹�1
+    private String pakMk = "-";
+
+    // 绌烘澘淇″彿
+    private String emptyMk = "-";
+
+    // 鐩爣绔�
+    private Integer staNo = 0;
+
+    //楂樹綆搴撲綅
+    private String locType1 = "-";
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/asrs/controller/vo/StationStatus.java b/zy-acs-cv/src/main/java/com/zy/asrs/controller/vo/StationStatus.java
new file mode 100644
index 0000000..5bcea1a
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/asrs/controller/vo/StationStatus.java
@@ -0,0 +1,15 @@
+package com.zy.asrs.controller.vo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class StationStatus implements Serializable {
+
+    private String staNo;
+
+    private String taskNo;
+
+    private Boolean conveyable;
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/asrs/controller/vo/TaskDto.java b/zy-acs-cv/src/main/java/com/zy/asrs/controller/vo/TaskDto.java
new file mode 100644
index 0000000..61766a1
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/asrs/controller/vo/TaskDto.java
@@ -0,0 +1,27 @@
+package com.zy.asrs.controller.vo;
+
+import lombok.Data;
+
+/**
+ * Created by vincent on 2023/6/12
+ */
+@Data
+public class TaskDto {
+
+    private String taskNo;
+
+    private String batchNo;
+
+    private String memo;
+
+    private String oriLoc;
+
+    private String oriSta;
+
+    private String destLoc;
+
+    private String destSta;
+
+    private Integer priority = 1;
+
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/asrs/entity/Devp.java b/zy-acs-cv/src/main/java/com/zy/asrs/entity/Devp.java
new file mode 100644
index 0000000..dc70ac0
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/asrs/entity/Devp.java
@@ -0,0 +1,146 @@
+package com.zy.asrs.entity;
+
+import com.baomidou.mybatisplus.annotations.TableField;
+import com.baomidou.mybatisplus.annotations.TableId;
+import com.baomidou.mybatisplus.annotations.TableName;
+import com.baomidou.mybatisplus.enums.IdType;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+@Data
+@TableName("cv_devp")
+public class Devp implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * ID
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 缂栧彿
+     */
+    @TableField("dev_no")
+    private Integer devNo;
+
+    /**
+     * 璁惧鎻忚堪
+     */
+    @TableField("dec_desc")
+    private String decDesc;
+
+    /**
+     * 鍙叆
+     */
+    @TableField("in_enable")
+    private String inEnable;
+
+    /**
+     * 鍙嚭
+     */
+    @TableField("out_enable")
+    private String outEnable;
+
+    /**
+     * 鑷姩
+     */
+    private String autoing;
+
+    /**
+     * 鏈夌墿
+     */
+    private String loading;
+
+    /**
+     * 鑳藉叆
+     */
+    private String canining;
+
+    /**
+     * 鑳藉嚭
+     */
+    private String canouting;
+
+
+    /**
+     * 宸ヤ綔鍙�
+     */
+    @TableField("wrk_no")
+    private Integer wrkNo;
+
+
+    /**
+     * 鏉″舰鐮�
+     */
+    private String barcode;
+
+
+    @TableField("loc_type")
+    private Short locType;
+
+
+    /**
+     * 鐘舵�� 1: 姝e父  0: 鍐荤粨
+     */
+    @ApiModelProperty(value = "鐘舵�� 1: 姝e父  0: 鍐荤粨  ")
+    private Integer status;
+
+    /**
+     * 鏄惁鍒犻櫎 1: 鏄�  0: 鍚�
+     */
+    @ApiModelProperty(value = "鏄惁鍒犻櫎 1: 鏄�  0: 鍚�  ")
+    private Integer deleted;
+
+    /**
+     * 绉熸埛
+     */
+    @ApiModelProperty(value = "绉熸埛")
+    private Long tenantId;
+
+    /**
+     * 娣诲姞浜哄憳
+     */
+    @ApiModelProperty(value = "娣诲姞浜哄憳")
+    private Long createBy;
+
+    /**
+     * 娣诲姞鏃堕棿
+     */
+    @ApiModelProperty(value = "娣诲姞鏃堕棿")
+    private Date createTime;
+
+    /**
+     * 淇敼浜哄憳
+     */
+    @ApiModelProperty(value = "淇敼浜哄憳")
+    private Long updateBy;
+
+    /**
+     * 淇敼鏃堕棿
+     */
+    @ApiModelProperty(value = "淇敼鏃堕棿")
+    private Date updateTime;
+
+    /**
+     * 澶囨敞
+     */
+    @ApiModelProperty(value = "澶囨敞")
+    private String memo;
+
+
+    public Devp setSqlData(Devp devp) {
+        this.setDevNo(devp.getDevNo());
+        this.setWrkNo(devp.getWrkNo());
+        this.setAutoing(devp.getAutoing());
+        this.setLoading(devp.getLoading());
+        this.setInEnable(devp.getInEnable());
+        this.setOutEnable(devp.getOutEnable());
+        this.setUpdateTime(new Date());
+        return this;
+    }
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/asrs/entity/Job.java b/zy-acs-cv/src/main/java/com/zy/asrs/entity/Job.java
new file mode 100644
index 0000000..055f4ef
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/asrs/entity/Job.java
@@ -0,0 +1,131 @@
+package com.zy.asrs.entity;
+
+import com.baomidou.mybatisplus.annotations.TableField;
+import com.baomidou.mybatisplus.annotations.TableId;
+import com.baomidou.mybatisplus.annotations.TableName;
+import com.baomidou.mybatisplus.enums.IdType;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+@TableName("cv_job")
+@Data
+public class Job implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * ID
+     */
+    @ApiModelProperty(value = "ID")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+
+    /**
+     * 浠诲姟鍙�
+     */
+    @TableField("task_no")
+    private String taskNo;
+
+    /**
+     *
+     */
+    @TableField("barcode")
+    private String barcode;
+
+    /**
+     * 鎵规鍙�
+     */
+    @TableField("batch_no")
+    private String batchNo;
+    /**
+     * 绔欑偣鍙�
+     */
+    @TableField("sta_no")
+    private String staNo;
+
+    /**
+     * 搴撲綅鍙�
+     */
+    @TableField("loc")
+    private String loc;
+    /**
+     * 宸ヤ綔鍙凤紝绯荤粺鑷繁缁存姢
+     */
+    @TableField("job_no")
+    private Integer jobNo;
+
+
+    /**
+     * 宸ヤ綔鐘舵��
+     */
+    @TableField("job_sts")
+    private Integer jobSts;
+    /**
+     * 寮�濮嬫椂闂�
+     */
+    @TableField("start_time")
+    private Date startTime;
+    /**
+     * 鍏ュ簱鏃堕棿
+     */
+    @TableField("wms_time")
+    private Date wmsTime;
+    /**
+     * 鍙戠敓浠诲姟鏃堕棿
+     */
+    @TableField("rcs_time")
+    private Date rcsTime;
+    /**
+     * 鐘舵�� 1: 姝e父  0: 鍐荤粨
+     */
+    @ApiModelProperty(value = "鐘舵�� 1: 姝e父  0: 鍐荤粨  ")
+    private Integer status;
+
+    /**
+     * 鏄惁鍒犻櫎 1: 鏄�  0: 鍚�
+     */
+    @ApiModelProperty(value = "鏄惁鍒犻櫎 1: 鏄�  0: 鍚�  ")
+    private Integer deleted;
+
+    /**
+     * 绉熸埛
+     */
+    @ApiModelProperty(value = "绉熸埛")
+    private Long tenantId;
+
+    /**
+     * 娣诲姞浜哄憳
+     */
+    @ApiModelProperty(value = "娣诲姞浜哄憳")
+    private Long createBy;
+
+    /**
+     * 娣诲姞鏃堕棿
+     */
+    @ApiModelProperty(value = "娣诲姞鏃堕棿")
+    private Date createTime;
+
+    /**
+     * 淇敼浜哄憳
+     */
+    @ApiModelProperty(value = "淇敼浜哄憳")
+    private Long updateBy;
+
+    /**
+     * 淇敼鏃堕棿
+     */
+    @ApiModelProperty(value = "淇敼鏃堕棿")
+    private Date updateTime;
+
+    /**
+     * 澶囨敞
+     */
+    @ApiModelProperty(value = "澶囨敞")
+    private String memo;
+
+
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/asrs/entity/JobLog.java b/zy-acs-cv/src/main/java/com/zy/asrs/entity/JobLog.java
new file mode 100644
index 0000000..d7c2d6e
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/asrs/entity/JobLog.java
@@ -0,0 +1,131 @@
+package com.zy.asrs.entity;
+
+import com.baomidou.mybatisplus.annotations.TableField;
+import com.baomidou.mybatisplus.annotations.TableId;
+import com.baomidou.mybatisplus.annotations.TableName;
+import com.baomidou.mybatisplus.enums.IdType;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+@TableName("cv_job_log")
+@Data
+public class JobLog implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * ID
+     */
+    @ApiModelProperty(value = "ID")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+
+    /**
+     * 浠诲姟鍙�
+     */
+    @TableField("task_no")
+    private String taskNo;
+
+    /**
+     *
+     */
+    @TableField("barcode")
+    private String barcode;
+
+    /**
+     * 鎵规鍙�
+     */
+    @TableField("batch_no")
+    private String batchNo;
+    /**
+     * 绔欑偣鍙�
+     */
+    @TableField("sta_no")
+    private String staNo;
+
+    /**
+     * 搴撲綅鍙�
+     */
+    @TableField("loc")
+    private String loc;
+    /**
+     * 宸ヤ綔鍙凤紝绯荤粺鑷繁缁存姢
+     */
+    @TableField("job_no")
+    private Integer jobNo;
+
+
+    /**
+     * 宸ヤ綔鐘舵��
+     */
+    @TableField("job_sts")
+    private Integer jobSts;
+    /**
+     * 寮�濮嬫椂闂�
+     */
+    @TableField("start_time")
+    private Date startTime;
+    /**
+     * 鍏ュ簱鏃堕棿
+     */
+    @TableField("wms_time")
+    private Date wmsTime;
+    /**
+     * 鍙戠敓浠诲姟鏃堕棿
+     */
+    @TableField("rcs_time")
+    private Date rcsTime;
+    /**
+     * 鐘舵�� 1: 姝e父  0: 鍐荤粨
+     */
+    @ApiModelProperty(value = "鐘舵�� 1: 姝e父  0: 鍐荤粨  ")
+    private Integer status;
+
+    /**
+     * 鏄惁鍒犻櫎 1: 鏄�  0: 鍚�
+     */
+    @ApiModelProperty(value = "鏄惁鍒犻櫎 1: 鏄�  0: 鍚�  ")
+    private Integer deleted;
+
+    /**
+     * 绉熸埛
+     */
+    @ApiModelProperty(value = "绉熸埛")
+    private Long tenantId;
+
+    /**
+     * 娣诲姞浜哄憳
+     */
+    @ApiModelProperty(value = "娣诲姞浜哄憳")
+    private Long createBy;
+
+    /**
+     * 娣诲姞鏃堕棿
+     */
+    @ApiModelProperty(value = "娣诲姞鏃堕棿")
+    private Date createTime;
+
+    /**
+     * 淇敼浜哄憳
+     */
+    @ApiModelProperty(value = "淇敼浜哄憳")
+    private Long updateBy;
+
+    /**
+     * 淇敼鏃堕棿
+     */
+    @ApiModelProperty(value = "淇敼鏃堕棿")
+    private Date updateTime;
+
+    /**
+     * 澶囨敞
+     */
+    @ApiModelProperty(value = "澶囨敞")
+    private String memo;
+
+
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/asrs/entity/WrkLastno.java b/zy-acs-cv/src/main/java/com/zy/asrs/entity/WrkLastno.java
new file mode 100644
index 0000000..1e7a783
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/asrs/entity/WrkLastno.java
@@ -0,0 +1,101 @@
+package com.zy.asrs.entity;
+
+import com.baomidou.mybatisplus.annotations.TableField;
+import com.baomidou.mybatisplus.annotations.TableId;
+import com.baomidou.mybatisplus.annotations.TableName;
+import com.baomidou.mybatisplus.enums.IdType;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+@TableName("cv_work_lastno")
+@Data
+public class WrkLastno implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * ID
+     */
+    @ApiModelProperty(value = "ID")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+
+    /**
+     * 绫诲瀷
+     */
+    @TableField("type")
+    private Integer type;
+
+    /**
+     * 褰撳墠ID
+     */
+    @TableField("wrk_no")
+    private Integer wrkNo;
+
+
+    /**
+     * 璧峰ID
+     */
+    @TableField("s_no")
+    private Integer sNo;
+
+    /**
+     * 缁堟ID
+     */
+    @TableField("e_no")
+    private Integer eNo;
+
+    /**
+     * 鐘舵�� 1: 姝e父  0: 鍐荤粨
+     */
+    @ApiModelProperty(value = "鐘舵�� 1: 姝e父  0: 鍐荤粨  ")
+    private Integer status;
+
+    /**
+     * 鏄惁鍒犻櫎 1: 鏄�  0: 鍚�
+     */
+    @ApiModelProperty(value = "鏄惁鍒犻櫎 1: 鏄�  0: 鍚�  ")
+    private Integer deleted;
+
+    /**
+     * 绉熸埛
+     */
+    @ApiModelProperty(value = "绉熸埛")
+    private Long tenantId;
+
+    /**
+     * 娣诲姞浜哄憳
+     */
+    @ApiModelProperty(value = "娣诲姞浜哄憳")
+    private Long createBy;
+
+    /**
+     * 娣诲姞鏃堕棿
+     */
+    @ApiModelProperty(value = "娣诲姞鏃堕棿")
+    private Date createTime;
+
+    /**
+     * 淇敼浜哄憳
+     */
+    @ApiModelProperty(value = "淇敼浜哄憳")
+    private Long updateBy;
+
+    /**
+     * 淇敼鏃堕棿
+     */
+    @ApiModelProperty(value = "淇敼鏃堕棿")
+    private Date updateTime;
+
+    /**
+     * 澶囨敞
+     */
+    @ApiModelProperty(value = "澶囨敞")
+    private String memo;
+
+
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/asrs/enums/WorkNoTypeType.java b/zy-acs-cv/src/main/java/com/zy/asrs/enums/WorkNoTypeType.java
new file mode 100644
index 0000000..7e4d8af
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/asrs/enums/WorkNoTypeType.java
@@ -0,0 +1,14 @@
+package com.zy.asrs.enums;
+
+public enum WorkNoTypeType {
+
+    WORK_NO_TYPE(1);
+
+    public int type;
+
+    WorkNoTypeType(int type) {
+        this.type = type;
+    }
+
+
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/asrs/mapper/DevpMapper.java b/zy-acs-cv/src/main/java/com/zy/asrs/mapper/DevpMapper.java
new file mode 100644
index 0000000..a227aee
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/asrs/mapper/DevpMapper.java
@@ -0,0 +1,13 @@
+package com.zy.asrs.mapper;
+
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+import com.zy.asrs.entity.Devp;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Repository;
+
+@Mapper
+@Repository
+public interface DevpMapper extends BaseMapper<Devp> {
+
+    Devp getDevpByDevNo(Integer devpNo);
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/asrs/mapper/JobLogMapper.java b/zy-acs-cv/src/main/java/com/zy/asrs/mapper/JobLogMapper.java
new file mode 100644
index 0000000..ff00d09
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/asrs/mapper/JobLogMapper.java
@@ -0,0 +1,13 @@
+package com.zy.asrs.mapper;
+
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+import com.zy.asrs.entity.JobLog;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Repository;
+
+@Mapper
+@Repository
+public interface JobLogMapper extends BaseMapper<JobLog> {
+
+
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/asrs/mapper/JobMapper.java b/zy-acs-cv/src/main/java/com/zy/asrs/mapper/JobMapper.java
new file mode 100644
index 0000000..c5e3165
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/asrs/mapper/JobMapper.java
@@ -0,0 +1,34 @@
+package com.zy.asrs.mapper;
+
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+import com.zy.asrs.entity.Job;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+@Mapper
+@Repository
+public interface JobMapper extends BaseMapper<Job> {
+
+
+    Job getJobByTaskNo(@Param("seqNum") String seqNum);
+
+    Job getJobByJobNo(@Param("workNo") Integer workNo);
+
+    Job getJobByJobNoAndJobSts(@Param("workNo") Integer workNo, @Param("jobSts") Integer jobSts);
+
+
+    Job getJobByBarcodeAndJobSts(@Param("barcode") String barcode, @Param("jobSts") Integer jobSts);
+
+    Job getJobByBarcode(@Param("barcode") String barcode);
+
+    List<Job> listJobByJobSts(@Param("jobSts") Integer jobSts);
+
+    List<Job> listJobByJobStsAndDay(@Param("jobSts") Integer jobSts, @Param("day") Integer day);
+
+    List<Job> listJobToLog(@Param("jobSts") Integer jobSts, @Param("day") Integer day);
+
+
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/asrs/mapper/WrkLastnoMapper.java b/zy-acs-cv/src/main/java/com/zy/asrs/mapper/WrkLastnoMapper.java
new file mode 100644
index 0000000..ebeb20f
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/asrs/mapper/WrkLastnoMapper.java
@@ -0,0 +1,12 @@
+package com.zy.asrs.mapper;
+
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+import com.zy.asrs.entity.WrkLastno;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Repository;
+
+@Mapper
+@Repository
+public interface WrkLastnoMapper extends BaseMapper<WrkLastno> {
+
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/asrs/scheduler/JobLogScheduler.java b/zy-acs-cv/src/main/java/com/zy/asrs/scheduler/JobLogScheduler.java
new file mode 100644
index 0000000..daa2c42
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/asrs/scheduler/JobLogScheduler.java
@@ -0,0 +1,61 @@
+package com.zy.asrs.scheduler;
+
+import com.zy.asrs.entity.Job;
+import com.zy.asrs.mapper.JobMapper;
+import com.zy.asrs.service.JobService;
+import com.zy.core.enums.ConveyorStateType;
+import com.zy.core.properties.CtuOperationConfig;
+import com.zy.core.properties.CtuServiceProperties;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+
+@Slf4j
+@Component
+public class JobLogScheduler {
+
+
+    @Autowired
+    private JobService jobService;
+
+
+    @Autowired
+    private JobMapper jobMapper;
+
+    @Autowired
+    private CtuServiceProperties properties;
+
+
+    //@Scheduled(cron = "0 0 2 * * ?")
+    @Scheduled(cron = "*/5 * * * * ?")
+    public void autoToLog() {
+        List<Job> jobs = jobMapper.listJobByJobStsAndDay(ConveyorStateType.CLEARSIGNAL.getStatus(),1);
+        for (Job job : jobs) {
+            jobService.saveJobLog(job);
+        }
+        Boolean flag = true;
+        List<CtuOperationConfig> operations = properties.getOperations();
+        for (CtuOperationConfig config : operations) {
+            if (config.getType().equals(ConveyorStateType.FAKEUSER)) {
+                flag = false;
+            }
+        }
+        if (flag) {
+            jobs = jobMapper.listJobToLog(ConveyorStateType.OUTBOUND.getStatus(), 1);
+            for (Job job : jobs) {
+                jobService.saveJobLog(job);
+            }
+        } else {
+            jobs = jobMapper.listJobToLog(ConveyorStateType.FAKEUSER.getStatus(), 1);
+            for (Job job : jobs) {
+                jobService.saveJobLog(job);
+            }
+        }
+    }
+
+
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/asrs/service/CtuMainService.java b/zy-acs-cv/src/main/java/com/zy/asrs/service/CtuMainService.java
new file mode 100644
index 0000000..ec6a9a7
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/asrs/service/CtuMainService.java
@@ -0,0 +1,27 @@
+package com.zy.asrs.service;
+
+import com.zy.asrs.controller.vo.OpenBusSubmitParam;
+
+/**
+ * 绔嬩綋浠撳簱WCS绯荤粺涓绘祦绋嬩笟鍔℃帴鍙�
+ * Created by vincent on 2020/8/6
+ */
+public interface CtuMainService {
+
+    /**
+     * 妫�鏌ョ珯鐐�
+     *
+     * @param staNo
+     * @return
+     */
+    String checkStationStatus(Integer staNo);
+
+    /**
+     * 鍙戦�佷换鍔�
+     *
+     * @param openBusSubmitParam
+     * @return
+     */
+    boolean sendTask(OpenBusSubmitParam openBusSubmitParam);
+
+}
\ No newline at end of file
diff --git a/zy-acs-cv/src/main/java/com/zy/asrs/service/DevpService.java b/zy-acs-cv/src/main/java/com/zy/asrs/service/DevpService.java
new file mode 100644
index 0000000..6b463cf
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/asrs/service/DevpService.java
@@ -0,0 +1,28 @@
+package com.zy.asrs.service;
+
+import com.baomidou.mybatisplus.service.IService;
+import com.zy.asrs.entity.Devp;
+
+import java.util.List;
+
+public interface DevpService extends IService<Devp> {
+
+    void updateBatchByDevpNo(List<Devp> devps);
+
+
+    /**
+     * 鐩爣绔欑偣鐘舵�佹娴�
+     *
+     * @param devpNo
+     */
+    Devp checkSiteStatus(Integer devpNo);
+
+    /**
+     * 鐩爣绔欑偣鐘舵�佹娴�
+     *
+     * @param devpNo
+     * @param put    鏄惁鍏ュ簱鎿嶄綔 true 鏄� 锛� false 涓嶆槸
+     */
+    Devp checkSiteStatus(Integer devpNo, boolean put);
+
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/asrs/service/JobService.java b/zy-acs-cv/src/main/java/com/zy/asrs/service/JobService.java
new file mode 100644
index 0000000..852fb03
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/asrs/service/JobService.java
@@ -0,0 +1,26 @@
+package com.zy.asrs.service;
+
+import com.baomidou.mybatisplus.service.IService;
+import com.zy.asrs.entity.Job;
+
+import java.util.List;
+
+public interface JobService extends IService<Job> {
+
+
+    Job getJobByTaskNo(String seqNum);
+
+    Job getJobByBarcodeAndJobSts(String barcode, Integer jobSts);
+
+    Job getJobByBarcode(String barcode, Integer jobSts);
+
+    Job getJobByJobNo(Integer jobNo);
+
+    Job getJobByJobNoAndJobSts(Integer workNo, Integer jobSts);
+
+    List<Job> listJobByJobSts(Integer jobSts);
+
+    void saveJobLog(Job job);
+
+
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/asrs/service/WmsMainService.java b/zy-acs-cv/src/main/java/com/zy/asrs/service/WmsMainService.java
new file mode 100644
index 0000000..a360e59
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/asrs/service/WmsMainService.java
@@ -0,0 +1,21 @@
+package com.zy.asrs.service;
+
+import com.zy.asrs.controller.vo.ApplyInDto;
+import com.zy.asrs.controller.vo.ApplyInRepsonseDto;
+
+/**
+ * 绔嬩綋浠撳簱WCS绯荤粺涓绘祦绋嬩笟鍔℃帴鍙�
+ * Created by vincent on 2020/8/6
+ */
+public interface WmsMainService {
+
+
+    /**
+     * 妫�鏌ョ珯鐐圭姸鎬�
+     *
+     * @param applyInDto 绔欑偣缂栧彿
+     * @return 搴撲綅淇℃伅
+     */
+    ApplyInRepsonseDto getLocOfWms(ApplyInDto applyInDto);
+
+}
\ No newline at end of file
diff --git a/zy-acs-cv/src/main/java/com/zy/asrs/service/WrkLastnoService.java b/zy-acs-cv/src/main/java/com/zy/asrs/service/WrkLastnoService.java
new file mode 100644
index 0000000..7b9a08d
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/asrs/service/WrkLastnoService.java
@@ -0,0 +1,15 @@
+package com.zy.asrs.service;
+
+import com.baomidou.mybatisplus.service.IService;
+import com.zy.asrs.entity.WrkLastno;
+
+public interface WrkLastnoService extends IService<WrkLastno> {
+
+    /**
+     * 鑾峰彇鏌愪釜绫诲瀷鐨勪笅涓�涓伐浣滃彿
+     *
+     * @param type
+     * @return
+     */
+    int nextWorkNo(Integer type);
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/asrs/service/impl/CtuMainServiceImpl.java b/zy-acs-cv/src/main/java/com/zy/asrs/service/impl/CtuMainServiceImpl.java
new file mode 100644
index 0000000..05171db
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/asrs/service/impl/CtuMainServiceImpl.java
@@ -0,0 +1,123 @@
+package com.zy.asrs.service.impl;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.zy.acs.framework.exception.CoolException;
+import com.zy.asrs.controller.requestParam.StationRequestParam;
+import com.zy.asrs.controller.vo.OpenBusSubmitParam;
+import com.zy.asrs.controller.vo.StationStatus;
+import com.zy.asrs.service.CtuMainService;
+import com.zy.common.utils.HttpHandler;
+import lombok.Data;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.concurrent.TimeUnit;
+
+/**
+ * 绔嬩綋浠撳簱WCS绯荤粺涓绘祦绋嬩笟鍔�
+ * Created by vincent on 2020/8/6
+ */
+@Slf4j
+@Service
+@Transactional
+@Data
+public class CtuMainServiceImpl implements CtuMainService {
+
+
+    @Value("${ctu.url}")
+    private String ctuUrl;
+
+    @Value("${ctu.station}")
+    private String station;
+
+    @Value("${ctu.sendTask}")
+    private String sendTask;
+
+    private String code = "code";
+
+    private String dataCode = "data";
+
+    private Integer codeValue = 200;
+
+    private Integer timeout = 1200;
+
+
+    @Transactional
+    public boolean sendTask(OpenBusSubmitParam openBusSubmitParam) {
+        String response = "";
+        try {
+            response = new HttpHandler.Builder()
+                    .setUri(ctuUrl)
+                    .setPath(sendTask)
+                    .setTimeout(timeout, TimeUnit.SECONDS)
+                    .setJson(JSON.toJSONString(openBusSubmitParam))
+                    .build()
+                    .doPost();
+            JSONObject jsonObject = JSON.parseObject(response);
+            if (jsonObject.getInteger(code).equals(codeValue)) {
+                log.info("涓嬪彂浠诲姟杩斿洖鏁版嵁锛歿}", response);
+                return true;
+            }
+        } catch (Exception e) {
+            log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", ctuUrl + sendTask, JSON.toJSONString(openBusSubmitParam), response);
+        }
+        return false;
+    }
+
+    /**
+     * 妫�鏌ョ珯鐐圭姸鎬�
+     *
+     * @param staNo 绔欑偣缂栧彿
+     * @return 绔欑偣鏄惁鍙�氳
+     */
+    public String checkStationStatus(Integer staNo) {
+        StationRequestParam stationRequestParam = new StationRequestParam();
+        List<String> staNos = new ArrayList<>();
+        staNos.add(staNo + "");
+        stationRequestParam.setStaNos(staNos);
+        String response = "";
+        try {
+            response = new HttpHandler.Builder()
+                    .setUri(ctuUrl)
+                    .setPath(station)
+                    .setTimeout(timeout, TimeUnit.SECONDS)
+                    .setJson(JSON.toJSONString(stationRequestParam))
+                    .build()
+                    .doPost();
+            JSONObject jsonObject = JSON.parseObject(response);
+            if (jsonObject.getInteger(code).equals(codeValue)) {
+                log.info("RCS杩斿洖鏁版嵁锛歿}", response);
+                JSONArray data = jsonObject.getJSONArray(dataCode);
+                List<StationStatus> stationStatuses = JSONArray.parseArray(data.toString(), StationStatus.class);
+                for (StationStatus object : stationStatuses) {
+                    if (object.getStaNo().equals(staNo + "")) {
+                        if (object.getConveyable()) {
+                            return object.getTaskNo();
+                        } else {
+                            log.info("绔欑偣锛歿}鐘舵�佷笉瀵�", staNo);
+                            return null;
+                        }
+                    }
+                }
+                log.info("鏈繑鍥炵珯鐐圭姸鎬侊細{}", staNo);
+            } else {
+                log.error("璋冪敤涓嬪彂浠诲姟鎺ュ彛鎶ラ敊锛屽搷搴旂爜锛歿}锛屽搷搴斿唴瀹癸細{}", jsonObject.getInteger(code), response);
+                throw new CoolException("璋冪敤涓嬪彂浠诲姟鎺ュ彛鎶ラ敊锛屽搷搴旂爜锛�" + jsonObject.getInteger(code));
+            }
+        } catch (CoolException e) {
+            log.error("璋冪敤绔欑偣鐘舵�佹帴鍙e紓甯�", e);
+            throw e;
+        } catch (Exception e) {
+            log.error("妫�鏌ョ珯鐐圭姸鎬佸け璐ワ紝绔欑偣缂栧彿锛歿}", staNo, e);
+        }
+        return null;
+    }
+
+
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/asrs/service/impl/DevpServiceImpl.java b/zy-acs-cv/src/main/java/com/zy/asrs/service/impl/DevpServiceImpl.java
new file mode 100644
index 0000000..1d97e5b
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/asrs/service/impl/DevpServiceImpl.java
@@ -0,0 +1,54 @@
+package com.zy.asrs.service.impl;
+
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.zy.acs.framework.exception.CoolException;
+import com.zy.asrs.entity.Devp;
+import com.zy.asrs.mapper.DevpMapper;
+import com.zy.asrs.service.DevpService;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service("basDevpService")
+public class DevpServiceImpl extends ServiceImpl<DevpMapper, Devp> implements DevpService {
+
+    @Override
+    public void updateBatchByDevpNo(List<Devp> devps) {
+        for (Devp devp : devps) {
+            Devp de = baseMapper.getDevpByDevNo(devp.getDevNo());
+            if (de != null) {
+                de.setSqlData(devp);
+                baseMapper.updateById(de);
+            }else {
+                baseMapper.insert(devp);
+            }
+        }
+    }
+
+
+    @Override
+    public Devp checkSiteStatus(Integer devpNo) {
+        return checkSiteStatus(devpNo, false);
+    }
+
+    @Override
+    public Devp checkSiteStatus(Integer devpNo, boolean put) {
+        Devp station = selectById(devpNo);
+        if (station == null) {
+            throw new CoolException(devpNo + "绔欑偣涓嶅瓨鍦�");
+        }
+        if (put) {
+            if (station.getAutoing() == null || !station.getAutoing().equals("Y")) {
+                throw new CoolException(devpNo + "绔欑偣涓嶆槸鑷姩鐘舵��");
+            }
+            if (station.getLoading() == null || !station.getLoading().equals("Y")) {
+                throw new CoolException(devpNo + "绔欑偣鏃犵墿");
+            }
+            if (station.getWrkNo() != null && station.getWrkNo() > 0) {
+                throw new CoolException(devpNo + "绔欑偣宸叉湁宸ヤ綔鍙�");
+            }
+
+        }
+        return station;
+    }
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/asrs/service/impl/JobServiceImpl.java b/zy-acs-cv/src/main/java/com/zy/asrs/service/impl/JobServiceImpl.java
new file mode 100644
index 0000000..0be56be
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/asrs/service/impl/JobServiceImpl.java
@@ -0,0 +1,62 @@
+package com.zy.asrs.service.impl;
+
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.zy.asrs.entity.Job;
+import com.zy.asrs.entity.JobLog;
+import com.zy.asrs.mapper.JobLogMapper;
+import com.zy.asrs.mapper.JobMapper;
+import com.zy.asrs.service.JobService;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+
+@Service
+public class JobServiceImpl extends ServiceImpl<JobMapper, Job> implements JobService {
+
+    @Autowired
+    private JobLogMapper jobLogMapper;
+
+
+    @Override
+    public Job getJobByTaskNo(String seqNum) {
+        return baseMapper.getJobByTaskNo(seqNum);
+    }
+
+    @Override
+    public Job getJobByJobNo(Integer jobNo) {
+        return baseMapper.getJobByJobNo(jobNo);
+    }
+
+    @Override
+    public Job getJobByJobNoAndJobSts(Integer workNo, Integer jobSts) {
+        return baseMapper.getJobByJobNoAndJobSts(workNo, jobSts);
+    }
+
+    @Override
+    public Job getJobByBarcodeAndJobSts(String barcode, Integer jobSts) {
+        return baseMapper.getJobByBarcodeAndJobSts(barcode, jobSts);
+    }
+
+    @Override
+    public Job getJobByBarcode(String barcode, Integer jobSts) {
+        return baseMapper.getJobByBarcodeAndJobSts(barcode,jobSts);
+    }
+
+    @Override
+    public List<Job> listJobByJobSts(Integer jobSts) {
+        return baseMapper.listJobByJobSts(jobSts);
+    }
+
+    @Override
+    @Transactional
+    public void saveJobLog(Job job) {
+        JobLog jobLog = new JobLog();
+        BeanUtils.copyProperties(job, jobLog);
+        jobLogMapper.insert(jobLog);
+        baseMapper.deleteById(job.getId());
+
+    }
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/asrs/service/impl/WmsMainServiceImpl.java b/zy-acs-cv/src/main/java/com/zy/asrs/service/impl/WmsMainServiceImpl.java
new file mode 100644
index 0000000..85bfb20
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/asrs/service/impl/WmsMainServiceImpl.java
@@ -0,0 +1,84 @@
+package com.zy.asrs.service.impl;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.zy.acs.framework.exception.CoolException;
+import com.zy.asrs.controller.vo.ApplyInDto;
+import com.zy.asrs.controller.vo.ApplyInRepsonseDto;
+import com.zy.asrs.service.WmsMainService;
+import com.zy.common.utils.HttpHandler;
+import lombok.Data;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.concurrent.TimeUnit;
+
+/**
+ * 绔嬩綋浠撳簱WCS绯荤粺涓绘祦绋嬩笟鍔�
+ * Created by vincent on 2020/8/6
+ */
+@Slf4j
+@Service
+@Transactional
+@Data
+public class WmsMainServiceImpl implements WmsMainService {
+
+
+    @Value("${wms.url}")
+    private String wmsUrl;
+
+
+    @Value("${wms.apply}")
+    private String apply;
+
+    private String code = "code";
+
+    private String dataCode = "data";
+
+    private Integer codeValue = 200;
+
+    private Integer timeout = 1200;
+
+
+    /**
+     * 妫�鏌ョ珯鐐圭姸鎬�
+     *
+     * @param applyInDto 绔欑偣缂栧彿
+     * @return 搴撲綅淇℃伅
+     */
+    public ApplyInRepsonseDto getLocOfWms(ApplyInDto applyInDto) {
+        String response = "";
+        try {
+            response = new HttpHandler.Builder()
+                    .setUri(wmsUrl)
+                    .setPath(apply)
+                    .setTimeout(timeout, TimeUnit.SECONDS)
+                    .setJson(JSON.toJSONString(applyInDto))
+                    .build()
+                    .doPost();
+            log.info("WMS杩斿洖鏁版嵁锛歿}", response);
+            JSONObject jsonObject = JSON.parseObject(response);
+            if (jsonObject.get(code) != null && jsonObject.getInteger(code).equals(codeValue)) {
+                return JSONObject.parseObject(jsonObject.getString(dataCode), ApplyInRepsonseDto.class);
+            } else {
+                log.error("璋冪敤涓嬪彂浠诲姟鎺ュ彛鎶ラ敊锛屽搷搴旂爜锛歿}锛屽搷搴斿唴瀹癸細{}", jsonObject.getInteger(code), response);
+                //throw new CoolException("璋冪敤涓嬪彂浠诲姟鎺ュ彛鎶ラ敊锛屽搷搴旂爜锛�" + jsonObject.getInteger(code));
+            }
+        } catch (CoolException e) {
+            log.error("璋冪敤绔欑偣鐘舵�佹帴鍙e紓甯�", e);
+            //throw e;
+        } catch (Exception e) {
+            log.error("妫�鏌ョ珯鐐圭姸鎬佸け璐ワ紝鏉$爜缂栧彿锛歿},绔欑偣锛歿}", applyInDto.getBarcode(), applyInDto.getStaNo(), e);
+        }
+        return null;
+    }
+
+    public static void main(String[] args) {
+        String s= "{\"msg\":\"Success\",\"code\":200,\"data\":{\"locNo\":\"A102400201\",\"batchNo\":\"TK2603104428\",\"taskNo\":\"TK2603104428\"}}";
+        //System.out.println(JSON.parseObject(s).getString("data"));
+        ApplyInRepsonseDto applyInRepsonseDto = JSONObject.parseObject(JSON.parseObject(s).getString("data"), ApplyInRepsonseDto.class);
+        System.out.println(applyInRepsonseDto);
+    }
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/asrs/service/impl/WrkLastnoServiceImpl.java b/zy-acs-cv/src/main/java/com/zy/asrs/service/impl/WrkLastnoServiceImpl.java
new file mode 100644
index 0000000..4b15263
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/asrs/service/impl/WrkLastnoServiceImpl.java
@@ -0,0 +1,48 @@
+package com.zy.asrs.service.impl;
+
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.zy.acs.framework.common.Cools;
+import com.zy.acs.framework.exception.CoolException;
+import com.zy.asrs.entity.WrkLastno;
+import com.zy.asrs.mapper.WrkLastnoMapper;
+import com.zy.asrs.service.JobService;
+import com.zy.asrs.service.WrkLastnoService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service("wrkLastnoService")
+public class WrkLastnoServiceImpl extends ServiceImpl<WrkLastnoMapper, WrkLastno> implements WrkLastnoService {
+
+@Autowired
+private JobService jobService;
+
+
+    /**
+     * 鐢熸垚宸ヤ綔鍙�
+     *
+     * @param type 0:鍏ュ嚭搴� ; 1:鍏朵粬
+     * @return workNo(宸ヤ綔鍙�)
+     */
+    @Override
+    public int nextWorkNo(Integer type) {
+        WrkLastno wrkLastno = baseMapper.selectById(type);
+        if (Cools.isEmpty(wrkLastno)) {
+            throw new CoolException("鏁版嵁寮傚父锛岃鑱旂郴绠$悊鍛�");
+        }
+        int workNo = 0;
+        // 鍏ュ嚭搴撶被鍨�
+        workNo = wrkLastno.getWrkNo();
+        int sNo = wrkLastno.getSNo();
+        int eNo = wrkLastno.getENo();
+
+        do {
+            workNo = workNo >= eNo ? sNo : workNo + 1;
+        } while (jobService.getJobByJobNo(workNo) != null);
+
+        if (workNo > 0) {
+            wrkLastno.setWrkNo(workNo);
+            baseMapper.updateById(wrkLastno);
+        }
+        return workNo;
+    }
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/asrs/utils/SpringContextUtil.java b/zy-acs-cv/src/main/java/com/zy/asrs/utils/SpringContextUtil.java
new file mode 100644
index 0000000..6d9553a
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/asrs/utils/SpringContextUtil.java
@@ -0,0 +1,41 @@
+package com.zy.asrs.utils;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.BeansException;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.ApplicationContextAware;
+import org.springframework.stereotype.Component;
+
+@Component
+public class SpringContextUtil implements ApplicationContextAware {
+    private static final Logger logger = LoggerFactory.getLogger(SpringContextUtil.class);
+    private static ApplicationContext applicationContext;
+
+    public SpringContextUtil() {
+    }
+
+    public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
+        if (SpringContextUtil.applicationContext == null) {
+            SpringContextUtil.applicationContext = applicationContext;
+        }
+
+        System.out.println("========ApplicationContext閰嶇疆鎴愬姛,鍦ㄦ櫘閫氱被鍙互閫氳繃璋冪敤SpringUtils.getAppContext()鑾峰彇applicationContext瀵硅薄,applicationContext=" + SpringContextUtil.applicationContext + "========");
+    }
+
+    public static ApplicationContext getApplicationContext() {
+        return applicationContext;
+    }
+
+    public static Object getBean(String name) {
+        return getApplicationContext().getBean(name);
+    }
+
+    public static <T> T getBean(Class<T> clazz) {
+        return getApplicationContext().getBean(clazz);
+    }
+
+    public static <T> T getBean(String name, Class<T> clazz) {
+        return getApplicationContext().getBean(name, clazz);
+    }
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/asrs/utils/Utils.java b/zy-acs-cv/src/main/java/com/zy/asrs/utils/Utils.java
new file mode 100644
index 0000000..bb6be96
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/asrs/utils/Utils.java
@@ -0,0 +1,180 @@
+package com.zy.asrs.utils;
+
+import com.zy.acs.framework.common.Arith;
+import com.zy.acs.framework.common.Cools;
+import com.zy.core.properties.SlaveProperties;
+
+import java.text.DecimalFormat;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Created by vincent on 2020/8/27
+ */
+public class Utils {
+
+    private static final DecimalFormat fmt = new DecimalFormat("##0.00");
+
+    public static float scale(Float f) {
+        if (f == null || f == 0f || Float.isNaN(f)) {
+            return 0f;
+        }
+        return (float) Arith.multiplys(2, f, 1);
+    }
+
+    public static String zerofill(String msg, Integer count) {
+        if (msg.length() == count) {
+            return msg;
+        } else if (msg.length() > count) {
+            return msg.substring(0, 16);
+        } else {
+            StringBuilder msgBuilder = new StringBuilder(msg);
+            for (int i = 0; i < count - msg.length(); i++) {
+                msgBuilder.insert(0, "0");
+            }
+            return msgBuilder.toString();
+        }
+    }
+
+    /**
+     * 鍒ゆ柇鏄惁涓烘繁搴撲綅
+     */
+    public static boolean isDeepLoc(SlaveProperties slaveProperties, String locNo) {
+        if (slaveProperties.isDoubleDeep()) {
+            int row = getRow(locNo);
+            return slaveProperties.getDoubleLocs().contains(row);
+        } else {
+            return false;
+        }
+    }
+
+    /**
+     * 鍒ゆ柇鏄惁涓烘繁搴撲綅
+     */
+    public static boolean isDeepLoc(SlaveProperties slaveProperties, Integer row) {
+        if (slaveProperties.isDoubleDeep()) {
+            return slaveProperties.getDoubleLocs().contains(row);
+        } else {
+            return false;
+        }
+    }
+
+    /**
+     * 鍒ゆ柇鏄惁涓烘祬搴撲綅
+     */
+    public static boolean isShallowLoc(SlaveProperties slaveProperties, String locNo) {
+        if (slaveProperties.isDoubleDeep()) {
+            int row = getRow(locNo);
+            return !slaveProperties.getDoubleLocs().contains(row);
+        } else {
+            return false;
+        }
+    }
+
+    /**
+     * 鍒ゆ柇鏄惁涓烘祬搴撲綅
+     */
+    public static boolean isShallowLoc(SlaveProperties slaveProperties, Integer row) {
+        if (slaveProperties.isDoubleDeep()) {
+            return !slaveProperties.getDoubleLocs().contains(row);
+        } else {
+            return false;
+        }
+    }
+
+    /**
+     * 鑾峰彇 娣卞簱浣嶅搴旂殑娴呭簱浣嶅彿
+     */
+    public static String getShallowLoc(SlaveProperties slaveProperties, String deepLoc) {
+        int row = getRow(deepLoc);
+        int remainder = (int) Arith.remainder(row, slaveProperties.getGroupCount());
+        int shallowRow = remainder == 1 ? (row + 1) : (row - 1);
+        return zerofill(String.valueOf(shallowRow), 2) + deepLoc.substring(2);
+    }
+
+    /**
+     * 鑾峰彇 娣卞簱浣嶆帓瀵瑰簲鐨勬祬搴撲綅鎺�
+     */
+    public static Integer getShallowRow(SlaveProperties slaveProperties, Integer deepRow) {
+        int remainder = (int) Arith.remainder(deepRow, slaveProperties.getGroupCount());
+        return remainder == 1 ? (deepRow + 1) : (deepRow - 1);
+    }
+
+    /**
+     * 鑾峰彇 娴呭簱浣嶅搴旂殑娣卞簱浣嶅彿
+     */
+    public static String getDeepLoc(SlaveProperties slaveProperties, String shallowLoc) {
+        int row = getRow(shallowLoc);
+        int remainder = (int) Arith.remainder(row, slaveProperties.getGroupCount());
+        int targetRow;
+        if (remainder == 2) {
+            targetRow = row - 1;
+        } else if (remainder == 3) {
+            targetRow = row + 1;
+        } else {
+            throw new RuntimeException(shallowLoc + "涓嶆槸娴呭簱浣嶏紝绯荤粺绻佸繖");
+        }
+        return zerofill(String.valueOf(targetRow), 2) + shallowLoc.substring(2);
+    }
+
+    /**
+     * 鑾峰彇 娴呭簱浣嶆帓瀵瑰簲鐨勬繁搴撲綅鎺�
+     */
+    public static Integer getDeepRow(SlaveProperties slaveProperties, Integer shallowRow) {
+        int remainder = (int) Arith.remainder(shallowRow, slaveProperties.getGroupCount());
+        int targetRow;
+        if (remainder == 2) {
+            targetRow = shallowRow - 1;
+        } else if (remainder == 3) {
+            targetRow = shallowRow + 1;
+        } else {
+            throw new RuntimeException(shallowRow + "涓嶆槸娴呭簱浣嶆帓锛岀郴缁熺箒蹇�");
+        }
+        return targetRow;
+    }
+
+    /**
+     * 閫氳繃搴撲綅鍙疯幏鍙� 鎺�
+     */
+    public static int getRow(String locNo) {
+        if (!Cools.isEmpty(locNo)) {
+            return Integer.parseInt(locNo.substring(0, 2));
+        }
+        throw new RuntimeException("搴撲綅瑙f瀽寮傚父");
+    }
+
+    /**
+     * 褰撴绱㈠埌鍙屾繁搴撲綅鐨勬祬搴撲綅鏃讹紝濡傛灉娣卞簱浣嶆棤璐э紝鍒欐斁鍏ュ搴旂殑娣卞簱浣�
+     */
+    public static void toDeepIfEmptyByShallow(String shallowLoc) {
+        int row = getRow(shallowLoc);
+        int remainder = (int) Arith.remainder(row, 4);
+        int targetRow = 0;
+        if (remainder == 2) {
+            targetRow = row - 1;
+        } else if (remainder == 3) {
+            targetRow = row + 1;
+        } else {
+            throw new RuntimeException(shallowLoc + "涓嶆槸娴呭簱浣嶏紝绯荤粺绻佸繖");
+        }
+        String targetLoc = zerofill(String.valueOf(targetRow), 2) + shallowLoc.substring(2);
+
+    }
+
+    public static void main(String[] args) {
+        SlaveProperties slaveProperties = new SlaveProperties();
+        slaveProperties.setDoubleDeep(true);
+        List<Integer> list = new ArrayList<>();
+        list.add(1);
+        list.add(4);
+        list.add(5);
+        list.add(8);
+        list.add(9);
+        list.add(12);
+        slaveProperties.setDoubleLocs(list);
+        slaveProperties.setGroupCount(4);
+        Integer deepRow = getDeepRow(slaveProperties, 6);
+        System.out.println(deepRow);
+
+    }
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/common/CodeRes.java b/zy-acs-cv/src/main/java/com/zy/common/CodeRes.java
new file mode 100644
index 0000000..5d9c2aa
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/common/CodeRes.java
@@ -0,0 +1,13 @@
+package com.zy.common;
+
+
+import com.zy.acs.framework.common.BaseRes;
+
+public interface CodeRes extends BaseRes {
+
+    // user
+    String USER_10001 = "10001-璐﹀彿涓嶅瓨鍦�";
+    String USER_10002 = "10002-璐﹀彿宸茶绂佺敤";
+    String USER_10003 = "10003-瀵嗙爜閿欒";
+
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/common/config/AdminInterceptor.java b/zy-acs-cv/src/main/java/com/zy/common/config/AdminInterceptor.java
new file mode 100644
index 0000000..62eda39
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/common/config/AdminInterceptor.java
@@ -0,0 +1,92 @@
+package com.zy.common.config;
+
+import com.zy.acs.framework.annotations.ManagerAuth;
+import com.zy.acs.framework.common.BaseRes;
+import com.zy.acs.framework.common.Cools;
+import com.zy.common.utils.Http;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.lang.Nullable;
+import org.springframework.stereotype.Component;
+import org.springframework.web.method.HandlerMethod;
+import org.springframework.web.servlet.ModelAndView;
+import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.lang.reflect.Method;
+
+/**
+ * Created by vincent on 2019-06-13
+ */
+@Component
+public class AdminInterceptor extends HandlerInterceptorAdapter {
+
+    @Value("${super.pwd}")
+    private String superPwd;
+
+
+    @Override
+    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
+        cors(response);
+        if (handler instanceof org.springframework.web.servlet.resource.ResourceHttpRequestHandler) {
+            return true;
+        }
+        // super璐﹀彿
+        String token = request.getHeader("token");
+        if (token != null) {
+            String deToken = Cools.deTokn(token, superPwd);
+            if (deToken != null) {
+                long timestamp = Long.parseLong(deToken.substring(0, 13));
+                // 1澶╁悗杩囨湡
+                if (System.currentTimeMillis() - timestamp > 86400000) {
+                    Http.response(response, BaseRes.DENIED);
+                    return false;
+                }
+                if ("super".equals(deToken.substring(13))) {
+                    request.setAttribute("userId", 9527);
+                    return true;
+                }
+            }
+        }
+        // 璺ㄥ煙璁剧疆
+        // response.setHeader("Access-Control-Allow-Origin", "*");
+        HandlerMethod handlerMethod = (HandlerMethod) handler;
+        Method method = handlerMethod.getMethod();
+        if (method.isAnnotationPresent(ManagerAuth.class)) {
+            ManagerAuth annotation = method.getAnnotation(ManagerAuth.class);
+            if (annotation.value().equals(ManagerAuth.Auth.CHECK)) {
+                return check(request, response, annotation.memo());
+            }
+        }
+        return true;
+    }
+
+    @Override
+    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, @Nullable ModelAndView modelAndView) {
+//        Object obj = request.getAttribute("operateLog");
+//        if (obj instanceof OperateLog) {
+//            OperateLog operate = (OperateLog) obj;
+//            operate.setResponse(String.valueOf(response.getStatus()));
+//            operateLogService.insert(operate);
+//        }
+    }
+
+    private boolean check(HttpServletRequest request, HttpServletResponse response, String memo) {
+        return true;
+    }
+
+
+    /**
+     * 璺ㄥ煙
+     */
+    private void cors(HttpServletResponse response) {
+        // 璺ㄥ煙璁剧疆
+        response.setHeader("Access-Control-Allow-Origin", "*");
+        response.setHeader("Access-Control-Allow-Credentials", "true");
+        response.setHeader("Access-Control-Allow-Methods", "*");
+        response.setHeader("Access-Control-Allow-Headers", "Content-Type,Access-Token");
+        response.setHeader("Access-Control-Expose-Headers", "*");
+
+    }
+
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/common/config/CoolExceptionHandler.java b/zy-acs-cv/src/main/java/com/zy/common/config/CoolExceptionHandler.java
new file mode 100644
index 0000000..16e4161
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/common/config/CoolExceptionHandler.java
@@ -0,0 +1,32 @@
+package com.zy.common.config;
+
+import com.zy.acs.common.domain.BaseResult;
+import com.zy.acs.framework.exception.CoolException;
+import org.springframework.web.HttpRequestMethodNotSupportedException;
+import org.springframework.web.bind.annotation.ExceptionHandler;
+import org.springframework.web.bind.annotation.RestControllerAdvice;
+import org.springframework.web.method.HandlerMethod;
+
+/**
+ * Created by vincent on 2019-06-09
+ */
+@RestControllerAdvice
+public class CoolExceptionHandler {
+
+    @ExceptionHandler(Exception.class)
+    public BaseResult handlerException(HandlerMethod handler, Exception e) {
+        e.printStackTrace();
+        return BaseResult.error();
+    }
+
+    @ExceptionHandler(HttpRequestMethodNotSupportedException.class)
+    public BaseResult handleHttpRequestMethodNotSupportedException(HttpRequestMethodNotSupportedException e) {
+        return BaseResult.error();
+    }
+
+    @ExceptionHandler(CoolException.class)
+    public BaseResult handleRRException(Exception e) {
+        return BaseResult.error(e.getMessage());
+    }
+
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/common/config/RedisConfig.java b/zy-acs-cv/src/main/java/com/zy/common/config/RedisConfig.java
new file mode 100644
index 0000000..d356517
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/common/config/RedisConfig.java
@@ -0,0 +1,97 @@
+package com.zy.common.config;
+
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.PropertyAccessor;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import org.springframework.cache.annotation.CachingConfigurerSupport;
+import org.springframework.context.annotation.Bean;
+import org.springframework.data.redis.connection.RedisConnectionFactory;
+import org.springframework.data.redis.core.*;
+import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
+import org.springframework.data.redis.serializer.StringRedisSerializer;
+
+/**
+ * Redis閰嶇疆绫�
+ * Created by vincent on 2019-12-23
+ */
+//@Configuration
+//@EnableCaching // 寮�鍚暟鎹紦瀛樻満鍒�
+public class RedisConfig extends CachingConfigurerSupport {
+
+
+    /**
+     * RedisTemplate鐩稿叧閰嶇疆
+     */
+    @Bean
+    public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory factory) {
+
+        RedisTemplate<String, Object> template = new RedisTemplate<>();
+        // 閰嶇疆杩炴帴宸ュ巶
+        template.setConnectionFactory(factory);
+
+        //浣跨敤Jackson2JsonRedisSerializer鏉ュ簭鍒楀寲鍜屽弽搴忓垪鍖杛edis鐨剉alue鍊硷紙榛樿浣跨敤JDK鐨勫簭鍒楀寲鏂瑰紡锛�
+        Jackson2JsonRedisSerializer<Object> jacksonSerializer = new Jackson2JsonRedisSerializer<>(Object.class);
+
+        ObjectMapper om = new ObjectMapper();
+        // 鎸囧畾瑕佸簭鍒楀寲鐨勫煙锛宖ield,get鍜宻et,浠ュ強淇グ绗﹁寖鍥达紝ANY鏄兘鏈夊寘鎷琾rivate鍜宲ublic
+        om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
+        // 鎸囧畾搴忓垪鍖栬緭鍏ョ殑绫诲瀷锛岀被蹇呴』鏄潪final淇グ鐨勶紝final淇グ鐨勭被锛屾瘮濡係tring,Integer绛変細璺戝嚭寮傚父
+        om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
+        jacksonSerializer.setObjectMapper(om);
+
+        // 鍊奸噰鐢╦son搴忓垪鍖�
+        template.setValueSerializer(jacksonSerializer);
+        //浣跨敤StringRedisSerializer鏉ュ簭鍒楀寲鍜屽弽搴忓垪鍖杛edis鐨刱ey鍊�
+        template.setKeySerializer(new StringRedisSerializer());
+
+        // 璁剧疆hash key 鍜寁alue搴忓垪鍖栨ā寮�
+        template.setHashKeySerializer(new StringRedisSerializer());
+        template.setHashValueSerializer(jacksonSerializer);
+        template.afterPropertiesSet();
+
+        return template;
+    }
+
+
+    /**
+     * 瀵箁edis瀛楃涓茬被鍨嬫暟鎹搷浣�
+     */
+    @Bean
+    public ValueOperations<String, Object> valueOperations(RedisTemplate<String, Object> redisTemplate) {
+        return redisTemplate.opsForValue();
+    }
+
+    /**
+     * 瀵筯ash绫诲瀷鐨勬暟鎹搷浣�
+     */
+    @Bean
+    public HashOperations<String, String, Object> hashOperations(RedisTemplate<String, Object> redisTemplate) {
+        return redisTemplate.opsForHash();
+    }
+
+    /**
+     * 瀵归摼琛ㄧ被鍨嬬殑鏁版嵁鎿嶄綔
+     */
+    @Bean
+    public ListOperations<String, Object> listOperations(RedisTemplate<String, Object> redisTemplate) {
+        return redisTemplate.opsForList();
+    }
+
+    /**
+     * 瀵规棤搴忛泦鍚堢被鍨嬬殑鏁版嵁鎿嶄綔
+     */
+    @Bean
+    public SetOperations<String, Object> setOperations(RedisTemplate<String, Object> redisTemplate) {
+        return redisTemplate.opsForSet();
+    }
+
+    /**
+     * 瀵规湁搴忛泦鍚堢被鍨嬬殑鏁版嵁鎿嶄綔
+     */
+    @Bean
+    public ZSetOperations<String, Object> zSetOperations(RedisTemplate<String, Object> redisTemplate) {
+        return redisTemplate.opsForZSet();
+    }
+
+
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/common/config/WebConfig.java b/zy-acs-cv/src/main/java/com/zy/common/config/WebConfig.java
new file mode 100644
index 0000000..4506b51
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/common/config/WebConfig.java
@@ -0,0 +1,24 @@
+package com.zy.common.config;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+
+/**
+ * Created by vincent on 2019-06-13
+ */
+@Configuration
+public class WebConfig implements WebMvcConfigurer {
+
+    @Autowired
+    private AdminInterceptor adminInterceptor;
+
+    @Override
+    public void addInterceptors(InterceptorRegistry registry) {
+        registry.addInterceptor(adminInterceptor)
+                .addPathPatterns("/**")
+        ;
+    }
+
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/common/utils/CommonUtils.java b/zy-acs-cv/src/main/java/com/zy/common/utils/CommonUtils.java
new file mode 100644
index 0000000..374ce84
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/common/utils/CommonUtils.java
@@ -0,0 +1,30 @@
+package com.zy.common.utils;
+
+import java.math.BigDecimal;
+
+/**
+ * Created by vincent on 2020-06-03
+ */
+public class CommonUtils {
+
+    public static Integer parseInt(Object value) {
+        if (null == value) {
+            return null;
+        }
+        String name = value.getClass().getSimpleName().toLowerCase();
+        if (name.equals("float")) {
+            return ((Float) value).intValue();
+        } else if (name.equals("double")) {
+            return ((Double) value).intValue();
+        } else if (name.equals("bigdecimal")) {
+            return ((BigDecimal) value).intValue();
+        } else if (name.equals("long")) {
+            return ((Long) value).intValue();
+        } else if (name.contains("int")) {
+            return (Integer) value;
+        } else {
+            return Double.valueOf("" + value).intValue();
+        }
+    }
+
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/common/utils/Http.java b/zy-acs-cv/src/main/java/com/zy/common/utils/Http.java
new file mode 100644
index 0000000..3d8bde7
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/common/utils/Http.java
@@ -0,0 +1,31 @@
+package com.zy.common.utils;
+
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.zy.acs.framework.common.R;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.PrintWriter;
+
+/**
+ * Created by vincent on 2019-08-01
+ */
+public class Http {
+
+    public static void response(HttpServletResponse response, String baseRes) {
+        response.setCharacterEncoding("utf-8");
+        response.setContentType("application/json; charset=utf-8");
+        try (PrintWriter out = response.getWriter()) {
+            R r = R.parse(baseRes);
+            JSONObject jsonObject = new JSONObject();
+            jsonObject.put("total", "0");
+            jsonObject.put("record", "");
+            r.add(jsonObject);
+            out.print(JSON.toJSONString(r));
+            out.flush();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/common/utils/HttpHandler.java b/zy-acs-cv/src/main/java/com/zy/common/utils/HttpHandler.java
new file mode 100644
index 0000000..d1abd5a
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/common/utils/HttpHandler.java
@@ -0,0 +1,219 @@
+package com.zy.common.utils;
+
+
+import okhttp3.*;
+
+import java.io.IOException;
+import java.util.Map;
+import java.util.Optional;
+import java.util.concurrent.TimeUnit;
+
+/**
+ * Http鍗忚瀹㈡埛绔�
+ *
+ * @author luxiaotao
+ * @date 2018-9-27
+ */
+public class HttpHandler {
+
+    private static final Integer DEFAULT_TIMEOUT_SECONDS = 5;
+    private static final MediaType MEDIA_TYPE = MediaType.parse("application/json;charset=utf-8");
+
+    private String uri;
+    private String path;
+    private String json;
+    private Map<String, Object> params;
+    private Map<String, Object> headers;
+    private boolean https;
+    private Integer timeout;
+    private TimeUnit timeUnit;
+
+    public HttpHandler(Builder builder) {
+        this.uri = builder.uri;
+        this.path = builder.path;
+        this.json = builder.json;
+        this.params = builder.params;
+        this.headers = builder.headers;
+        this.https = builder.https;
+        this.timeout = builder.timeout;
+        this.timeUnit = builder.timeUnit;
+    }
+
+    /**
+     * GET璇锋眰鎵ц
+     *
+     * @return the HttpHandler response
+     */
+    public String doGet() throws IOException {
+        String url = paramsToUrl(uri, path, params, https);
+        Request.Builder headerBuilder = new Request.Builder();
+        if (headers != null && headers.size() > 0) {
+            for (Map.Entry<String, Object> entry : headers.entrySet()) {
+                headerBuilder.addHeader(entry.getKey(), String.valueOf(entry.getValue()));
+            }
+        }
+        Request request = headerBuilder.url(url).build();
+        Response response = getClient(timeout, timeUnit).newCall(request).execute();
+        return response.isSuccessful() ? response.body().string() : null;
+    }
+
+    /**
+     * POST璇锋眰鎵ц
+     *
+     * @return the HttpHandler response
+     */
+    public String doPost() throws IOException {
+        Request request;
+        Request.Builder headerBuilder = new Request.Builder();
+        if (headers != null && headers.size() > 0) {
+            for (Map.Entry<String, Object> entry : headers.entrySet()) {
+                headerBuilder.addHeader(entry.getKey(), String.valueOf(entry.getValue()));
+            }
+        }
+        if (json == null || "".equals(json)) {
+            FormBody.Builder builder = new FormBody.Builder();
+            for (Map.Entry<String, Object> entry : params.entrySet()) {
+                builder.add(entry.getKey(), String.valueOf(entry.getValue()));
+            }
+            FormBody body = builder.build();
+            request = headerBuilder
+                    .url((https ? "https://" : "http://") + uri + path)
+                    .post(body)
+                    .build();
+        } else {
+            RequestBody body = RequestBody.create(MEDIA_TYPE, json);
+            Request.Builder builder = headerBuilder.url((https ? "https://" : "http://") + uri + path);
+            builder.header("Content-Type", "application/json;charset=UTF-8");
+            request = builder.post(body).build();
+
+        }
+        Call call = getClient(timeout, timeUnit).newCall(request);
+        Response response = call.execute();
+        return response.body().string();
+
+    }
+
+    /**
+     * get璇锋眰鍙傛暟鎷兼帴鏂规硶
+     *
+     * @return 璇锋眰琛�
+     */
+    private String paramsToUrl(String uri, String path, Map<String, Object> params, boolean isHttps) {
+        StringBuilder res = new StringBuilder();
+        res.append(isHttps ? "https://" : "http://");
+        res.append(uri);
+        if (path.length() > 0 && !(path.charAt(0) == '/')) {
+            res.append("/");
+        }
+        res.append(path);
+        Optional.ofNullable(params).ifPresent(
+                args -> {
+                    res.append("?");
+                    args.forEach((key, value) -> {
+                        res.append(key);
+                        res.append("=");
+                        res.append(value);
+                        res.append("&");
+                    });
+                }
+        );
+        String url = res.toString();
+        if ("&".equals(url.substring(url.length() - 1, url.length()))) {
+            url = url.substring(0, url.length() - 1);
+        }
+        return url;
+    }
+
+    /**
+     * 鑾峰彇 okHttpClient
+     *
+     * @return the HttpHandler instance
+     */
+    private OkHttpClient getClient(Integer timeout, TimeUnit timeUnit) {
+        return new OkHttpClient
+                .Builder()
+                .connectTimeout(timeout, timeUnit)
+                .readTimeout(timeout, timeUnit)
+                .build();
+    }
+
+    /**
+     * Http鍗忚鎶ユ枃寤洪�犺��
+     */
+    public static class Builder {
+
+        private String uri;
+        private String path;
+        private String json;
+        private Map<String, Object> params;
+        private Map<String, Object> headers;
+        private boolean https;
+        private Integer timeout;
+        private TimeUnit timeUnit;
+
+        {
+            // 榛樿5s瓒呮椂
+            timeout = DEFAULT_TIMEOUT_SECONDS;
+            timeUnit = TimeUnit.SECONDS;
+            path = "";
+        }
+
+        /**
+         * 寤洪�犲櫒
+         *
+         * @return the HttpHandler instance
+         */
+        public HttpHandler build() {
+            if (null == this.uri || "".equals(this.uri)) {
+                throw new RuntimeException("uri is null");
+            }
+            if (this.uri.startsWith("http://")) {
+                this.uri = this.uri.substring(6, uri.length());
+            } else if (this.uri.startsWith("https://")) {
+                this.uri = this.uri.substring(7, uri.length());
+            }
+            return new HttpHandler(this);
+        }
+
+        public Builder setUri(String uri) {
+            this.uri = uri;
+            return this;
+        }
+
+        public Builder setPath(String path) {
+            if (!path.startsWith("/")) {
+                path = "/" + path;
+            }
+            this.path = path;
+            return this;
+        }
+
+        public Builder setTimeout(Integer timeout, TimeUnit timeUnit) {
+            this.timeout = timeout;
+            this.timeUnit = timeUnit;
+            return this;
+        }
+
+        public Builder setParams(Map<String, Object> params) {
+            this.params = params;
+            return this;
+        }
+
+        public Builder setHeaders(Map<String, Object> headers) {
+            this.headers = headers;
+            return this;
+        }
+
+        public Builder setHttps(boolean https) {
+            this.https = https;
+            return this;
+        }
+
+        public Builder setJson(String json) {
+            this.json = json;
+            return this;
+        }
+
+    }
+
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/common/utils/News.java b/zy-acs-cv/src/main/java/com/zy/common/utils/News.java
new file mode 100644
index 0000000..fdfed7f
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/common/utils/News.java
@@ -0,0 +1,203 @@
+package com.zy.common.utils;
+
+import lombok.extern.slf4j.Slf4j;
+
+import java.lang.reflect.Array;
+import java.text.SimpleDateFormat;
+import java.util.*;
+
+/**
+ * news stories for zoneyung
+ * Created by vincent on 2022/12/22
+ */
+@Slf4j
+public class News {
+
+    public static void main(String[] args) {
+        News.info("info{}", 1);
+        News.warn("warn{}", 2);
+        News.error("error{}", 3);
+        System.out.println(News.print());
+    }
+
+    interface NewsSupport<T> {
+        boolean execute(T t);
+    }
+
+    private static final NewsQueue<NewsDomain> NEWS_QUEUE = new NewsQueue<>(NewsDomain.class, 1024);
+
+    @SuppressWarnings({"unchecked"})
+    static class NewsQueue<T> {
+
+        private final transient Class<T> cls;
+        private final T[] arr;
+        private final int capacity;
+        private int head;
+        private int tail;
+
+        {
+            this.head = 0;
+            this.tail = 0;
+        }
+
+        public NewsQueue(Class<T> cls, int capacity) {
+            this.cls = cls;
+            this.arr = (T[]) Array.newInstance(cls, capacity);
+            this.capacity = capacity;
+        }
+
+        public synchronized boolean offer(T t) {
+            if (this.tail == this.capacity) {
+                this.peek();
+            }
+            this.reform();
+            this.arr[this.tail] = t;
+            this.tail++;
+            return true;
+        }
+
+        public synchronized boolean put(T t) {
+            if (this.tail == this.capacity) {
+                return false;
+            } else {
+                this.reform();
+            }
+            this.arr[this.tail] = t;
+            this.tail++;
+            return true;
+        }
+
+        public synchronized T peek() {
+            if (this.head == this.tail) {
+                return null;
+            }
+            T t = this.arr[this.head];
+            this.head++;
+            this.reform();
+            return t;
+        }
+
+        private void reform() {
+            for (int i = this.head; i < this.tail; i++) {
+                this.arr[i - this.head] = this.arr[i];
+            }
+            this.tail -= this.head;
+            this.head = 0;
+        }
+
+        public synchronized int size() {
+            return this.tail - this.head;
+        }
+
+        public synchronized List<T> data() {
+            T[] ts = (T[]) Array.newInstance(this.cls, size());
+            if (this.tail - this.head >= 0) {
+                System.arraycopy(this.arr, this.head, ts, 0, this.tail - this.head);
+            }
+            return Arrays.asList(ts);
+        }
+
+    }
+
+    public static void info(String format, Object... arguments) {
+        log.info(format, arguments);
+        offer(NewsLevel.INFO, format, arguments);
+    }
+
+    public static void warn(String format, Object... arguments) {
+        log.warn(format, arguments);
+        offer(NewsLevel.WARN, format, arguments);
+    }
+
+    public static void error(String format, Object... arguments) {
+        log.error(format, arguments);
+        offer(NewsLevel.ERROR, format, arguments);
+    }
+
+    public static void infoNoLog(String format, Object... arguments) {
+        offer(NewsLevel.INFO, format, arguments);
+    }
+
+    public static void warnNoLog(String format, Object... arguments) {
+        offer(NewsLevel.WARN, format, arguments);
+    }
+
+    public static void errorNoLog(String format, Object... arguments) {
+        offer(NewsLevel.ERROR, format, arguments);
+    }
+
+    public static String printStr() {
+        StringBuilder sb = new StringBuilder("[");
+        List<NewsDomain> domains = NEWS_QUEUE.data();
+        for (int i = 0; i < domains.size(); i++) {
+            NewsDomain domain = domains.get(i);
+            sb.append("{");
+            sb.append("\"l\":").append(domain.level.idx).append(",");
+            sb.append("\"v\":\"").append(domain.content).append("\"").append(",");
+            sb.append("\"t\":\"").append(domain.date).append("\"");
+            sb.append("}");
+            if (i < domains.size() - 1) {
+                sb.append(",");
+            }
+        }
+        sb.append("]");
+        return sb.toString();
+    }
+
+    public static List<Map<String, Object>> print() {
+        List<Map<String, Object>> res = new ArrayList<>();
+        for (NewsDomain datum : NEWS_QUEUE.data()) {
+            Map<String, Object> map = new HashMap<>();
+            map.put("l", datum.level.idx);
+            map.put("v", datum.content);
+            map.put("t", datum.date);
+            res.add(map);
+        }
+        return res;
+    }
+
+    private static boolean offer(NewsLevel level, String msg, Object[] args) {
+        return NEWS_QUEUE.offer(new NewsDomain(level, replace(msg, args), (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")).format(new Date())));
+    }
+
+    private static String replace(String str, Object[] objs) {
+        if (null == objs || objs.length == 0 || null == str || "".equals(str.trim())) {
+            return str;
+        } else {
+            StringBuilder sb = new StringBuilder(str);
+            for (Object obj : objs) {
+                int idx = sb.indexOf("{}");
+                if (idx == -1) {
+                    break;
+                }
+                sb.replace(idx, idx + 2, String.valueOf(obj));
+            }
+            return sb.toString();
+        }
+    }
+
+    static class NewsDomain {
+        public NewsLevel level;
+        public String content;
+        public String date;
+
+        public NewsDomain(NewsLevel level, String content, String date) {
+            this.level = level;
+            this.content = content;
+            this.date = date;
+        }
+    }
+
+    enum NewsLevel {
+        INFO(1),
+        WARN(2),
+        ERROR(3),
+        ;
+        public int idx;
+
+        NewsLevel(int idx) {
+            this.idx = idx;
+        }
+    }
+
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/common/utils/QrCode.java b/zy-acs-cv/src/main/java/com/zy/common/utils/QrCode.java
new file mode 100644
index 0000000..1b9174e
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/common/utils/QrCode.java
@@ -0,0 +1,90 @@
+package com.zy.common.utils;
+
+import com.google.zxing.BarcodeFormat;
+import com.google.zxing.EncodeHintType;
+import com.google.zxing.MultiFormatWriter;
+import com.google.zxing.WriterException;
+import com.google.zxing.common.BitMatrix;
+import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
+
+import javax.imageio.ImageIO;
+import java.awt.image.BufferedImage;
+import java.io.*;
+import java.util.concurrent.ConcurrentHashMap;
+
+/**
+ * Created by vincent on 2020-03-23
+ */
+public class QrCode {
+
+    private static final String CHARSET = "utf-8";
+    private static final String FORMAT_NAME = "JPG";
+    // 浜岀淮鐮佸昂瀵�
+    private static final int QRCODE_SIZE = 60;
+
+
+    public static BufferedImage createImg(String content) throws WriterException {
+        ConcurrentHashMap hints = new ConcurrentHashMap();
+        hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H);
+        hints.put(EncodeHintType.CHARACTER_SET, CHARSET);
+        hints.put(EncodeHintType.MARGIN, 1);
+        BitMatrix bitMatrix = new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, QRCODE_SIZE, QRCODE_SIZE, hints);
+        int width = bitMatrix.getWidth();
+        int height = bitMatrix.getHeight();
+        BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
+        for (int x = 0; x < width; x++) {
+            for (int y = 0; y < height; y++) {
+                image.setRGB(x, y, bitMatrix.get(x, y) ? 0xFF000000 : 0xFFFFFFFF);
+            }
+        }
+        for (int x = 0; x < width; x++) {
+            for (int y = 0; y < height; y++) {
+                image.setRGB(x, y, bitMatrix.get(x, y) ? 0xFF000000 : 0xFFFFFFFF);
+            }
+        }
+        return image;
+    }
+
+    private static InputStream convert(BufferedImage image) {
+        ByteArrayOutputStream os = new ByteArrayOutputStream();
+        try {
+            ImageIO.write(image, FORMAT_NAME, os);
+            return new ByteArrayInputStream(os.toByteArray());
+        } catch (IOException e) {
+            System.err.println(e);
+        }
+        return null;
+    }
+
+    public static void inputstreamtofile(InputStream ins, File file) {
+        try {
+            OutputStream os = new FileOutputStream(file);
+            int bytesRead = 0;
+            byte[] buffer = new byte[8192];
+            while ((bytesRead = ins.read(buffer, 0, 8192)) != -1) {
+                os.write(buffer, 0, bytesRead);
+            }
+            os.close();
+            ins.close();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+    public static void main(String[] args) throws WriterException {
+        String text = "1234567890";
+        String destPath = "/Users/vincent/Desktop/jam.jpg";
+        BufferedImage img = QrCode.createImg(text);
+        InputStream inputStream = convert(img);
+        inputstreamtofile(inputStream, new File(destPath));
+
+//        BufferedImage img = QrCode.createImg(String.valueOf(id));
+//        if (!ImageIO.write(img, "jpg", response.getOutputStream())) {
+//            throw new IOException("Could not write an image of format jpg");
+//        }
+//        response.getOutputStream().flush();
+//        response.getOutputStream().close();
+    }
+
+
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/common/utils/RandomValidateCodeUtil.java b/zy-acs-cv/src/main/java/com/zy/common/utils/RandomValidateCodeUtil.java
new file mode 100644
index 0000000..ab4269c
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/common/utils/RandomValidateCodeUtil.java
@@ -0,0 +1,122 @@
+package com.zy.common.utils;
+
+import javax.imageio.ImageIO;
+import javax.servlet.http.HttpServletResponse;
+import java.awt.*;
+import java.awt.image.BufferedImage;
+import java.util.Map;
+import java.util.Random;
+import java.util.concurrent.ConcurrentHashMap;
+
+public class RandomValidateCodeUtil {
+
+    public static final Map<String, String> code = new ConcurrentHashMap<>();
+
+    private static String randString = "0123456789ABCDEFGHJKLMNPRSTUVWXYZ";//闅忔満浜х敓鏁板瓧涓庡瓧姣嶇粍鍚堢殑瀛楃涓�
+    private static int width = 60;// 鍥剧墖瀹�
+    private static int height = 27;// 鍥剧墖楂�
+    private static int lineSize = 40;// 骞叉壈绾挎暟閲�
+    private static int stringNum = 4;// 闅忔満浜х敓瀛楃鏁伴噺
+
+    private static Random random = new Random();
+
+    /**
+     * 鑾峰緱瀛椾綋
+     */
+    private static Font getFont() {
+        return new Font("Fixedsys", Font.CENTER_BASELINE, 18);
+    }
+
+    /**
+     * 鑾峰緱棰滆壊
+     */
+    private static Color getRandColor(int fc, int bc) {
+        if (fc > 255)
+            fc = 255;
+        if (bc > 255)
+            bc = 255;
+        int r = fc + random.nextInt(bc - fc - 16);
+        int g = fc + random.nextInt(bc - fc - 14);
+        int b = fc + random.nextInt(bc - fc - 18);
+        return new Color(r, g, b);
+    }
+
+    public static void init() {
+        BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_BGR);
+        Graphics g = image.getGraphics();// 浜х敓Image瀵硅薄鐨凣raphics瀵硅薄,鏀瑰璞″彲浠ュ湪鍥惧儚涓婅繘琛屽悇绉嶇粯鍒舵搷浣�
+        g.fillRect(0, 0, width, height);//鍥剧墖澶у皬
+        g.setFont(new Font("Times New Roman", Font.PLAIN, 18));//瀛椾綋澶у皬
+        g.setColor(getRandColor(110, 133));//瀛椾綋棰滆壊
+        // 缁樺埗骞叉壈绾�
+        for (int i = 0; i <= lineSize; i++) {
+            drowLine(g);
+        }
+        // 缁樺埗闅忔満瀛楃
+        String randomString = "";
+        for (int i = 1; i <= stringNum; i++) {
+            randomString = drowString(g, randomString, i);
+        }
+        g.dispose();
+    }
+
+    /**
+     * 鐢熸垚闅忔満鍥剧墖
+     */
+    public static void getRandcode(String sd, HttpServletResponse response) {
+        BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_BGR);
+        Graphics g = image.getGraphics();// 浜х敓Image瀵硅薄鐨凣raphics瀵硅薄,鏀瑰璞″彲浠ュ湪鍥惧儚涓婅繘琛屽悇绉嶇粯鍒舵搷浣�
+        g.fillRect(0, 0, width, height);//鍥剧墖澶у皬
+        g.setFont(new Font("Times New Roman", Font.PLAIN, 18));//瀛椾綋澶у皬
+        g.setColor(getRandColor(110, 133));//瀛椾綋棰滆壊
+        // 缁樺埗骞叉壈绾�
+        for (int i = 0; i <= lineSize; i++) {
+            drowLine(g);
+        }
+        // 缁樺埗闅忔満瀛楃
+        String randomString = "";
+        for (int i = 1; i <= stringNum; i++) {
+            randomString = drowString(g, randomString, i);
+        }
+        code.put(sd, randomString);
+        g.dispose();
+        try {
+            ImageIO.write(image, "JPEG", response.getOutputStream());
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+    /**
+     * 缁樺埗瀛楃涓�
+     */
+    private static String drowString(Graphics g, String randomString, int i) {
+        g.setFont(getFont());
+        g.setColor(new Color(random.nextInt(101), random.nextInt(111), random
+                .nextInt(121)));
+        String rand = String.valueOf(getRandomString(random.nextInt(randString
+                .length())));
+        randomString += rand;
+        g.translate(random.nextInt(3), random.nextInt(3));
+        g.drawString(rand, 13 * (i - 1) + 2, 16);
+        return randomString;
+    }
+
+    /**
+     * 缁樺埗骞叉壈绾�
+     */
+    private static void drowLine(Graphics g) {
+        int x = random.nextInt(width);
+        int y = random.nextInt(height);
+        int xl = random.nextInt(13);
+        int yl = random.nextInt(15);
+        g.drawLine(x, y, x + xl, y + yl);
+    }
+
+    /**
+     * 鑾峰彇闅忔満鐨勫瓧绗�
+     */
+    public static String getRandomString(int num) {
+        return String.valueOf(randString.charAt(num));
+    }
+
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/common/utils/ReflectUtils.java b/zy-acs-cv/src/main/java/com/zy/common/utils/ReflectUtils.java
new file mode 100644
index 0000000..a33fd55
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/common/utils/ReflectUtils.java
@@ -0,0 +1,76 @@
+package com.zy.common.utils;
+
+
+import com.zy.acs.framework.common.Cools;
+
+import java.lang.reflect.Field;
+import java.lang.reflect.Modifier;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * 鍙嶅皠宸ュ叿绫�
+ * Created by vincent on 2019/1/3
+ */
+public class ReflectUtils {
+
+    /**
+     * 鑾峰彇鎸囧畾Class锛堝強鍏禨uperClass锛夌殑鎴愬憳鍙橀噺
+     */
+    public static Field[] getAllFields(Class<?> cls) {
+        return getAllFields(cls, null);
+    }
+
+    /**
+     * 閫掑綊鍚堝苟鍩虹被Field
+     */
+    private static Field[] getAllFields(Class<?> cls, Field[] params) {
+        Field[] fields = (params == null) ? cls.getDeclaredFields() : params;
+        Class<?> superCls = cls.getSuperclass();
+        if (superCls == null || superCls == Object.class) {
+            return fields;
+        }
+        Field[] superClsFields = superCls.getDeclaredFields();
+        fields = Cools.addAll(fields, superClsFields);
+        return getAllFields(superCls, fields);
+    }
+
+    /**
+     * 鍒犻櫎Field鏁扮粍鐨勯潤鎬佹垚鍛樺彉閲�
+     */
+    public static Field[] removeStaticField(Field[] params) {
+        List<Field> fields = new ArrayList<>(Arrays.asList(params));
+        if (fields.size() == 0) {
+            return null;
+        }
+        for (int i = fields.size() - 1; i >= 0; i--) {
+            if (fields.get(i) == null) {
+                fields.remove(i);
+            } else if (Modifier.isStatic(fields.get(i).getModifiers())) {
+                fields.remove(i);
+                i++;
+            }
+        }
+        return fields.toArray(new Field[0]);
+    }
+
+    /**
+     * 閫掑綊鑾峰彇鎴愬憳鍙橀噺瀵硅薄锛堝寘鍚叾鍩虹被锛�
+     */
+    public static Field getField(Class<?> cls, String fieldName) {
+        Field field;
+        try {
+            field = cls.getDeclaredField(fieldName);
+        } catch (NoSuchFieldException e) {
+            Class<?> superCls = cls.getSuperclass();
+            if (superCls == null || superCls == Object.class) {
+                return null;
+            }
+            return getField(superCls, fieldName);
+
+        }
+        return field;
+    }
+
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/common/web/BaseController.java b/zy-acs-cv/src/main/java/com/zy/common/web/BaseController.java
new file mode 100644
index 0000000..908581a
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/common/web/BaseController.java
@@ -0,0 +1,21 @@
+package com.zy.common.web;
+
+import com.zy.acs.framework.controller.AbstractBaseController;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import javax.servlet.http.HttpServletRequest;
+
+/**
+ * Created by vincent on 2019-09-09
+ */
+public class BaseController extends AbstractBaseController {
+
+    @Autowired
+    protected HttpServletRequest request;
+
+    protected Long getUserId() {
+        return Long.parseLong(String.valueOf(request.getAttribute("userId")));
+    }
+
+
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/common/web/RouterController.java b/zy-acs-cv/src/main/java/com/zy/common/web/RouterController.java
new file mode 100644
index 0000000..cf5720c
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/common/web/RouterController.java
@@ -0,0 +1,38 @@
+package com.zy.common.web;
+
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * Created by vincent on 2019-07-30
+ */
+@Controller
+public class RouterController {
+
+
+    @Value("${server.servlet.context-path}")
+    private String contextPath;
+
+    @RequestMapping("/")
+    public void index(HttpServletResponse response) {
+        try {
+            response.sendRedirect(contextPath + "/views/index.html");
+        } catch (Exception ex) {
+            ex.printStackTrace();
+        }
+    }
+
+    @RequestMapping("/login")
+    public void login(HttpServletResponse response) {
+        try {
+            response.sendRedirect(contextPath + "/views/login.html");
+        } catch (Exception ex) {
+            ex.printStackTrace();
+        }
+    }
+
+
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/core/ConveyorBackgroundService.java b/zy-acs-cv/src/main/java/com/zy/core/ConveyorBackgroundService.java
new file mode 100644
index 0000000..736f7c6
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/core/ConveyorBackgroundService.java
@@ -0,0 +1,91 @@
+package com.zy.core;
+
+import com.zy.core.properties.CtuOperationConfig;
+import com.zy.core.properties.CtuServiceProperties;
+import com.zy.core.properties.SystemProperties;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.ApplicationContext;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.PostConstruct;
+import javax.annotation.PreDestroy;
+import java.util.concurrent.Executors;
+import java.util.concurrent.ScheduledExecutorService;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicBoolean;
+
+@Slf4j
+@Component
+public class ConveyorBackgroundService {
+
+    @Autowired
+    private ApplicationContext applicationContext;
+
+    @Autowired
+    private ConveyorOperationExecutor operationExecutor;
+
+    @Autowired
+    private CtuServiceProperties properties;
+
+    private ScheduledExecutorService executorService;
+
+    private final AtomicBoolean running = new AtomicBoolean(false);
+
+    @PostConstruct
+    public void init() {
+        // 鍒濆鍖栫嚎绋嬫睜
+        executorService = Executors.newSingleThreadScheduledExecutor(r -> {
+            Thread thread = new Thread(r);
+            thread.setName("cv-background-thread");
+            thread.setDaemon(true);
+            return thread;
+        });
+
+        // 鍚姩瀹氭椂浠诲姟
+        executorService.scheduleAtFixedRate(this::processConveyorTasks,
+                properties.getInitialDelay(),
+                properties.getInterval(),
+                TimeUnit.MILLISECONDS);
+        running.set(true);
+        log.info("杈撻�佺嚎鍚庡彴鏈嶅姟绾跨▼鍒濆鍖栧畬鎴�");
+    }
+
+    private void processConveyorTasks() {
+        // 绯荤粺杩愯鐘舵�佸垽鏂�
+        if (!SystemProperties.WCS_RUNNING_STATUS.get() || !running.get()) {
+            log.debug("绯荤粺鏈繍琛屾垨鏈嶅姟宸插仠姝紝璺宠繃杈撻�佺嚎浠诲姟澶勭悊");
+            return;
+        }
+
+        try {
+            // 鎵ц閰嶇疆鐨勬搷浣滃簭鍒�
+            for (CtuOperationConfig config : properties.getOperations()) {
+                //log.info("鎵ц杈撻�佺嚎鎿嶄綔: {}", config.getType());
+                operationExecutor.execute(config);
+            }
+
+            //log.info("杈撻�佺嚎浠诲姟澶勭悊瀹屾垚");
+        } catch (Exception e) {
+            log.error("杈撻�佺嚎浠诲姟澶勭悊寮傚父", e);
+        }
+    }
+
+    @PreDestroy
+    public void shutDown() {
+        running.set(false);
+        if (executorService != null && !executorService.isShutdown()) {
+            log.info("姝e湪鍏抽棴杈撻�佺嚎鍚庡彴鏈嶅姟绾跨▼...");
+            executorService.shutdown();
+            try {
+                if (!executorService.awaitTermination(5, TimeUnit.SECONDS)) {
+                    executorService.shutdownNow();
+                }
+            } catch (InterruptedException e) {
+                executorService.shutdownNow();
+                Thread.currentThread().interrupt();
+            }
+            log.info("杈撻�佺嚎鍚庡彴鏈嶅姟绾跨▼宸插叧闂�");
+        }
+    }
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/core/ConveyorOperationExecutor.java b/zy-acs-cv/src/main/java/com/zy/core/ConveyorOperationExecutor.java
new file mode 100644
index 0000000..192e42a
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/core/ConveyorOperationExecutor.java
@@ -0,0 +1,59 @@
+package com.zy.core;
+
+import com.zy.core.enums.ConveyorStateType;
+import com.zy.core.operation.OperationHandler;
+import com.zy.core.properties.CtuOperationConfig;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
+@Slf4j
+@Component
+public class ConveyorOperationExecutor {
+
+    private final Map<ConveyorStateType, OperationHandler> handlerMap = new ConcurrentHashMap<>();
+
+    @Autowired
+    public ConveyorOperationExecutor(List<OperationHandler> handlers) {
+        // 鑷姩娉ㄥ唽鎵�鏈夋搷浣滃鐞嗗櫒
+        for (OperationHandler handler : handlers) {
+            handlerMap.put(handler.getType(), handler);
+            log.info("娉ㄥ唽杈撻�佺嚎鎿嶄綔澶勭悊鍣�: {}", handler.getType());
+        }
+    }
+
+    public void execute(CtuOperationConfig config) {
+        OperationHandler handler = handlerMap.get(config.getType());
+        if (handler == null) {
+            log.warn("鏈壘鍒版搷浣滃鐞嗗櫒: {}", config.getType());
+            return;
+        }
+
+        int retryCount = 0;
+        while (retryCount < config.getMaxRetries()) {
+            try {
+                handler.execute(config);
+                return;
+            } catch (Exception e) {
+                retryCount++;
+                if (retryCount >= config.getMaxRetries()) {
+                    log.error("鎿嶄綔鎵ц澶辫触锛屽凡杈惧埌鏈�澶ч噸璇曟鏁�: {}", config.getType(), e);
+                } else {
+                    log.warn("鎿嶄綔鎵ц澶辫触锛屾鍦ㄩ噸璇�({}/{})",
+                            retryCount, config.getMaxRetries(), e);
+                    try {
+                        Thread.sleep(config.getRetryDelay());
+                    } catch (InterruptedException ie) {
+                        Thread.currentThread().interrupt();
+                        log.error("閲嶈瘯浼戠湢琚腑鏂�", ie);
+                        return;
+                    }
+                }
+            }
+        }
+    }
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/core/DevpThread.java b/zy-acs-cv/src/main/java/com/zy/core/DevpThread.java
new file mode 100644
index 0000000..2ee0a3a
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/core/DevpThread.java
@@ -0,0 +1,13 @@
+package com.zy.core;
+
+import com.zy.core.model.protocol.StaProtocol;
+
+import java.util.Map;
+
+public interface DevpThread extends ThreadHandler {
+
+    Map<Integer, StaProtocol> getStation();
+
+    void setPakMk(Integer siteId, boolean pakMk);
+
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/core/ServerBootstrap.java b/zy-acs-cv/src/main/java/com/zy/core/ServerBootstrap.java
new file mode 100644
index 0000000..1f9e312
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/core/ServerBootstrap.java
@@ -0,0 +1,84 @@
+package com.zy.core;
+
+import com.zy.common.utils.News;
+import com.zy.core.cache.MessageQueue;
+import com.zy.core.cache.SlaveConnection;
+import com.zy.core.enums.SlaveType;
+import com.zy.core.model.DevpSlave;
+import com.zy.core.properties.SlaveProperties;
+import com.zy.core.thread.BarcodeThread;
+import com.zy.core.thread.SiemensDevpThread;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.DependsOn;
+import org.springframework.scheduling.annotation.Async;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.PostConstruct;
+import javax.annotation.PreDestroy;
+
+/**
+ * Created by vincent on 2020/8/4
+ */
+@Slf4j
+@Component
+@DependsOn("springContextUtil")
+public class ServerBootstrap {
+
+    @Autowired
+    private SlaveProperties slaveProperties;
+
+    /**
+     * PostConstruct浼氬湪鍔犺浇servlet鐨勬椂鍊欒繍琛屼竴娆�
+     *
+     * @throws InterruptedException
+     */
+    @PostConstruct
+    @Async
+    @DependsOn("basDevpService")
+    public void init() throws InterruptedException {
+        News.info("鏍稿績鎺у埗灞傚紑濮嬪垵濮嬪寲...............................................");
+        Thread.sleep(2000);
+        // 鍒濆鍖栨秷鎭槦鍒�
+        initMq();
+        // 鍒濆鍖栦笅浣嶆満绾跨▼
+        initThread();
+
+        News.info("鏍稿績鎺у埗灞傚凡鍚姩...............................................");
+    }
+
+    private void initMq() {
+        // 鍒濆鍖栬緭閫佺嚎mq
+        for (Slave devp : slaveProperties.getDevp()) {
+            MessageQueue.init(SlaveType.Devp, devp);
+        }
+        // 鍒濆鍖栨潯鐮佹壂鎻忎华mq
+        for (Slave barcode : slaveProperties.getBarcode()) {
+            MessageQueue.init(SlaveType.Barcode, barcode);
+        }
+    }
+
+    private void initThread() {
+
+        // 鍒濆鍖栬緭閫佺嚎绾跨▼
+        News.info("鍒濆鍖栬緭閫佺嚎绾跨▼...................................................");
+        for (DevpSlave devp : slaveProperties.getDevp()) {
+            DevpThread devpThread = new SiemensDevpThread(devp);
+            new Thread((Runnable) devpThread).start();
+            SlaveConnection.put(SlaveType.Devp, devp.getId(), devpThread);
+        }
+        // 鍒濆鍖栨潯鐮佹壂鎻忎华绾跨▼
+        News.info("鍒濆鍖栨潯鐮佹壂鎻忎华绾跨▼...................................................");
+        for (Slave barcode : slaveProperties.getBarcode()) {
+            BarcodeThread barcodeThread = new BarcodeThread(barcode);
+            new Thread(barcodeThread).start();
+            SlaveConnection.put(SlaveType.Barcode, barcode.getId(), barcodeThread);
+        }
+    }
+
+
+    @PreDestroy
+    public void destroy() {
+    }
+
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/core/Slave.java b/zy-acs-cv/src/main/java/com/zy/core/Slave.java
new file mode 100644
index 0000000..ed0496e
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/core/Slave.java
@@ -0,0 +1,21 @@
+package com.zy.core;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * Created by vincent on 2020/8/4
+ */
+@Data
+public class Slave {
+
+    private Integer id;
+
+    private String ip;
+
+    private Integer port;
+
+    private List<Integer> staNos;
+
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/core/ThreadHandler.java b/zy-acs-cv/src/main/java/com/zy/core/ThreadHandler.java
new file mode 100644
index 0000000..9b08feb
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/core/ThreadHandler.java
@@ -0,0 +1,9 @@
+package com.zy.core;
+
+public interface ThreadHandler {
+
+    boolean connect();
+
+    void close();
+
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/core/cache/MessageQueue.java b/zy-acs-cv/src/main/java/com/zy/core/cache/MessageQueue.java
new file mode 100644
index 0000000..3f34d61
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/core/cache/MessageQueue.java
@@ -0,0 +1,166 @@
+package com.zy.core.cache;
+
+import com.zy.core.Slave;
+import com.zy.core.enums.SlaveType;
+import com.zy.core.model.Task;
+
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ConcurrentLinkedQueue;
+import java.util.concurrent.LinkedBlockingQueue;
+
+/**
+ * 娑堟伅闃熷垪
+ * Created by vincent on 2020/8/5
+ */
+public class MessageQueue {
+
+    // 鍫嗗灈鏈簃q浜ゆ崲鏈�
+    private static final Map<Integer, LinkedBlockingQueue<Task>> CRN_EXCHANGE = new ConcurrentHashMap<>();
+    // 杈撻�佺嚎mq浜ゆ崲鏈�
+    private static final Map<Integer, ConcurrentLinkedQueue<Task>> DEVP_EXCHANGE = new ConcurrentHashMap<>();
+    // 鏉$爜鎵弿浠猰q浜ゆ崲鏈�
+    private static final Map<Integer, ConcurrentLinkedQueue<Task>> BARCODE_EXCHANGE = new ConcurrentHashMap<>();
+    // Led鐏� mq浜ゆ崲鏈�
+    private static final Map<Integer, LinkedBlockingQueue<Task>> LED_EXCHANGE = new ConcurrentHashMap<>();
+    // 纾呯Оmq浜ゆ崲鏈�
+    private static final Map<Integer, ConcurrentLinkedQueue<Task>> SCALE_EXCHANGE = new ConcurrentHashMap<>();
+    // 鍙拌溅mq浜ゆ崲鏈�
+    private static final Map<Integer, ConcurrentLinkedQueue<Task>> CAR_EXCHANGE = new ConcurrentHashMap<>();
+
+    private static final Map<Integer, LinkedBlockingQueue<Task>> RGV_EXCHANGE = new ConcurrentHashMap<>();
+
+    /**
+     * mq 浜ゆ崲鏈哄垵濮嬪寲
+     */
+    public static void init(SlaveType type, Slave slave) {
+        switch (type) {
+            case Crn:
+                CRN_EXCHANGE.put(slave.getId(), new LinkedBlockingQueue<>(1));
+                break;
+            case Rgv:
+                RGV_EXCHANGE.put(slave.getId(), new LinkedBlockingQueue<>(1));
+                break;
+            case Devp:
+                DEVP_EXCHANGE.put(slave.getId(), new ConcurrentLinkedQueue<>());
+                break;
+            case Barcode:
+                BARCODE_EXCHANGE.put(slave.getId(), new ConcurrentLinkedQueue<>());
+                break;
+            case Led:
+                LED_EXCHANGE.put(slave.getId(), new LinkedBlockingQueue<>(1));
+                break;
+            case Scale:
+                SCALE_EXCHANGE.put(slave.getId(), new ConcurrentLinkedQueue<>());
+                break;
+            case Car:
+                CAR_EXCHANGE.put(slave.getId(), new ConcurrentLinkedQueue<>());
+                break;
+            default:
+                break;
+        }
+    }
+
+    /**
+     * 娣诲姞鍏冪礌
+     * 濡傛灉鍙戠幇闃熷垪宸叉弧鏃犳硶娣诲姞鐨勮瘽锛屼細鐩存帴杩斿洖false銆�
+     */
+    public static boolean offer(SlaveType type, Integer id, Task task) {
+        switch (type) {
+            case Crn:
+                return CRN_EXCHANGE.get(id).offer(task);
+            case Rgv:
+                return RGV_EXCHANGE.get(id).offer(task);
+            case Devp:
+                return DEVP_EXCHANGE.get(id).offer(task);
+            case Barcode:
+                return BARCODE_EXCHANGE.get(id).offer(task);
+            case Led:
+                return LED_EXCHANGE.get(id).offer(task);
+            case Scale:
+                return SCALE_EXCHANGE.get(id).offer(task);
+            case Car:
+                return CAR_EXCHANGE.get(id).offer(task);
+            default:
+                return false;
+        }
+    }
+
+    /**
+     * 绉婚櫎鍏冪礌
+     * 鑻ラ槦鍒椾负绌猴紝杩斿洖null銆�
+     */
+    public static Task poll(SlaveType type, Integer id) {
+        switch (type) {
+            case Crn:
+                return CRN_EXCHANGE.get(id).poll();
+            case Rgv:
+                return RGV_EXCHANGE.get(id).poll();
+            case Devp:
+                return DEVP_EXCHANGE.get(id).poll();
+            case Barcode:
+                return BARCODE_EXCHANGE.get(id).poll();
+            case Led:
+                return LED_EXCHANGE.get(id).poll();
+            case Scale:
+                return SCALE_EXCHANGE.get(id).poll();
+            case Car:
+                return CAR_EXCHANGE.get(id).poll();
+            default:
+                return null;
+        }
+    }
+
+    /**
+     * 鍙栧嚭鍏冪礌锛屽苟涓嶅垹闄�.
+     */
+    public static Task peek(SlaveType type, Integer id) {
+        switch (type) {
+            case Crn:
+                return CRN_EXCHANGE.get(id).peek();
+            case Rgv:
+                return RGV_EXCHANGE.get(id).peek();
+            case Devp:
+                return DEVP_EXCHANGE.get(id).peek();
+            case Barcode:
+                return BARCODE_EXCHANGE.get(id).peek();
+            case Led:
+                return LED_EXCHANGE.get(id).peek();
+            case Scale:
+                return SCALE_EXCHANGE.get(id).peek();
+            case Car:
+                return CAR_EXCHANGE.get(id).peek();
+            default:
+                return null;
+        }
+    }
+
+    public static void clear(SlaveType type, Integer id) {
+        switch (type) {
+            case Crn:
+                CRN_EXCHANGE.get(id).clear();
+                break;
+            case Rgv:
+                RGV_EXCHANGE.get(id).clear();
+                break;
+            case Devp:
+                DEVP_EXCHANGE.get(id).clear();
+                break;
+            case Barcode:
+                BARCODE_EXCHANGE.get(id).clear();
+                break;
+            case Led:
+                LED_EXCHANGE.get(id).clear();
+                break;
+            case Scale:
+                SCALE_EXCHANGE.get(id).clear();
+                break;
+            case Car:
+                CAR_EXCHANGE.get(id).clear();
+                break;
+            default:
+                break;
+        }
+    }
+
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/core/cache/OutputQueue.java b/zy-acs-cv/src/main/java/com/zy/core/cache/OutputQueue.java
new file mode 100644
index 0000000..4377e94
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/core/cache/OutputQueue.java
@@ -0,0 +1,18 @@
+package com.zy.core.cache;
+
+import com.alibaba.fastjson.JSONObject;
+
+import java.util.concurrent.ArrayBlockingQueue;
+
+/**
+ * Created by vincent on 2020/8/17
+ */
+public class OutputQueue {
+
+
+    // 杈撻�佺嚎杈撳嚭鏃ュ織
+    public static ArrayBlockingQueue<String> DEVP = new ArrayBlockingQueue<>(32);
+    // 鏉$爜鍣ㄨ緭鍑烘棩蹇�
+    public static ArrayBlockingQueue<JSONObject> BARCODE = new ArrayBlockingQueue<>(32);
+
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/core/cache/SlaveConnection.java b/zy-acs-cv/src/main/java/com/zy/core/cache/SlaveConnection.java
new file mode 100644
index 0000000..4233714
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/core/cache/SlaveConnection.java
@@ -0,0 +1,63 @@
+package com.zy.core.cache;
+
+import com.zy.core.ThreadHandler;
+import com.zy.core.enums.SlaveType;
+
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
+/**
+ * 绾跨▼缂撳瓨瀹瑰櫒
+ * Created by vincent on 2020/8/4
+ */
+public class SlaveConnection {
+
+    private static final String _LINK = "_";
+
+    private static final Map<String, ThreadHandler> conContain = new ConcurrentHashMap<>();
+
+    public static void put(SlaveType type, Integer id, ThreadHandler threadHandler) {
+        String key = toKey(type, id);
+        remove(type, id);
+        conContain.put(key, threadHandler);
+    }
+
+    public static ThreadHandler get(SlaveType type, Integer id) {
+        return conContain.get(toKey(type, id));
+    }
+
+    public static void remove(SlaveType type, Integer id) {
+        ThreadHandler threadHandler = get(type, id);
+        if (null == threadHandler) {
+            return;
+        }
+        conContain.remove(toKey(type, id));
+        threadHandler.close();
+    }
+
+    public static Integer remove(ThreadHandler threadHandler) {
+        if (null == threadHandler) {
+            return null;
+        }
+        String key = null;
+        for (Map.Entry<String, ThreadHandler> entry : conContain.entrySet()) {
+            if (entry.getValue() == threadHandler) {
+                key = entry.getKey();
+                break;
+            }
+        }
+        if (null != key) {
+            SlaveType type = SlaveType.findInstance(key);
+            Integer id = Integer.parseInt(key.split(_LINK)[1]);
+            remove(type, id);
+            return id;
+        } else {
+            return null;
+        }
+    }
+
+    private static String toKey(SlaveType type, Integer id) {
+        return type.toString() + _LINK + id;
+    }
+
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/core/enums/ConveyorStateType.java b/zy-acs-cv/src/main/java/com/zy/core/enums/ConveyorStateType.java
new file mode 100644
index 0000000..9501226
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/core/enums/ConveyorStateType.java
@@ -0,0 +1,32 @@
+package com.zy.core.enums;
+
+public enum ConveyorStateType {
+    //鍑哄簱璁惧涓婅蛋
+    OUTBOUND(2),
+    //妯℃嫙鐢ㄦ埛
+    FAKEUSER(3),
+    //鍏ュ簱鐢宠
+    APPLYLOC(4),
+    //鍏ュ簱璁惧涓婅蛋
+    INBOUND(5),
+    //鍙戦�佷换鍔$粰RCS
+    SENDTASK(7),
+    //娓呴櫎杈撻�佺嚎涓婄殑淇″彿
+    CLEARSIGNAL(8),
+    ;
+
+    private int status;
+
+    ConveyorStateType(int status) {
+        this.status = status;
+    }
+
+
+    public int getStatus() {
+        return status;
+    }
+
+    public void setStatus(int status) {
+        this.status = status;
+    }
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/core/enums/SlaveType.java b/zy-acs-cv/src/main/java/com/zy/core/enums/SlaveType.java
new file mode 100644
index 0000000..d11ecb0
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/core/enums/SlaveType.java
@@ -0,0 +1,21 @@
+package com.zy.core.enums;
+
+public enum SlaveType {
+
+    Crn,
+    Devp,
+    Barcode,
+    Led,
+    Scale,
+    Car,
+    Rgv;
+
+    public static SlaveType findInstance(String s) {
+        for (SlaveType type : SlaveType.values()) {
+            if (type.toString().equals(s)) {
+                return type;
+            }
+        }
+        return null;
+    }
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/core/enums/TaskType.java b/zy-acs-cv/src/main/java/com/zy/core/enums/TaskType.java
new file mode 100644
index 0000000..9a58b2b
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/core/enums/TaskType.java
@@ -0,0 +1,10 @@
+package com.zy.core.enums;
+
+public enum TaskType {
+
+    READ,
+    WRITE,
+    ;
+
+
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/core/model/DevpSlave.java b/zy-acs-cv/src/main/java/com/zy/core/model/DevpSlave.java
new file mode 100644
index 0000000..6074445
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/core/model/DevpSlave.java
@@ -0,0 +1,38 @@
+package com.zy.core.model;
+
+import com.zy.core.Slave;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 杈撻�佺嚎閰嶇疆
+ * Created by vincent on 2020/8/6
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+public class DevpSlave extends Slave {
+
+    private Integer rack;
+
+    private Integer slot;
+
+    private List<Sta> releaseSta = new ArrayList<>();
+
+    private List<Sta> takeSta = new ArrayList<>();
+
+    private List<Sta> inSta = new ArrayList<>();
+
+    @Data
+    public static class Sta {
+
+        private Integer staNo;
+
+
+        private Integer targetSta;
+
+    }
+
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/core/model/Task.java b/zy-acs-cv/src/main/java/com/zy/core/model/Task.java
new file mode 100644
index 0000000..d87dd79
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/core/model/Task.java
@@ -0,0 +1,23 @@
+package com.zy.core.model;
+
+import com.zy.core.enums.TaskType;
+import lombok.Data;
+
+/**
+ * Created by vincent on 2020/8/5
+ */
+@Data
+public class Task {
+
+    private TaskType step;
+
+    private Object data;
+
+    public Task() {
+    }
+
+    public Task(TaskType step, Object data) {
+        this.step = step;
+        this.data = data;
+    }
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/core/model/protocol/StaProtocol.java b/zy-acs-cv/src/main/java/com/zy/core/model/protocol/StaProtocol.java
new file mode 100644
index 0000000..9e50ce8
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/core/model/protocol/StaProtocol.java
@@ -0,0 +1,124 @@
+package com.zy.core.model.protocol;
+
+import com.zy.asrs.entity.Devp;
+import lombok.Data;
+
+/**
+ * 杈撻�佺嚎plc鍗曚釜绔欑偣璇︾粏淇℃伅
+ * Created by vincent on 2020/8/6
+ */
+@Data
+public class StaProtocol implements Cloneable {
+
+    // 绔欑偣缂栧彿
+    private Integer siteId;
+
+    // ----------------------------------------------------------------
+    // 宸ヤ綔鍙�
+    private Integer workNo = 0;
+
+    // ----------------------------------------------------------------
+    // 鐩爣绔�
+    private Integer staNo;
+
+    // ----------------------------------------------------------------
+    // 鑷姩
+    private boolean autoing;
+
+    // 鏈夌墿
+    private boolean loading;
+
+    // 鍙叆
+    private boolean inEnable;
+
+    // 鍙嚭
+    private boolean outEnable;
+
+    // 绌烘澘淇″彿
+    private boolean emptyMk;
+
+    // 婊℃墭鐩�
+    private boolean fullPlt;
+
+    // 楂�
+    private boolean high;
+
+    // 浣�
+    private boolean low;
+
+    // 閿佸畾鏍囪
+    private boolean pakMk = true;
+
+
+    // 澶栧舰妫�娴� ------------------------------------------------------------------------
+
+    // 鍓嶈秴闄�
+    private boolean frontErr = false;
+
+    // 鍚庤秴闄�
+    private boolean backErr = false;
+
+    // 楂樿秴闄�
+    private boolean highErr = false;
+
+    // 宸﹁秴闄�
+    private boolean leftErr = false;
+
+    // 鍙宠秴闄�
+    private boolean rightErr = false;
+
+    // 瓒呴噸
+    private boolean weightErr = false;
+
+    // 鎵爜澶辫触
+    private boolean barcodeErr = false;
+
+    //鏁呴殰-----------------------------------------------------------------------
+    private Boolean breakerErr = false; //鏂矾鍣ㄦ晠闅�
+
+    private Boolean infraredErr = false; //鍏夌數寮傚父
+
+    private Boolean outTimeErr = false; //杩愯瓒呮椂
+
+    private Boolean seizeSeatErr = false; //鍗犱綅瓒呮椂
+
+    private Boolean wrkYgoodsN = false;//鏈変换鍔℃棤璐ф晠闅�
+
+    private Boolean inverterErr = false; //鍙橀鍣ㄦ晠闅�
+
+    private Boolean contactErr = false; //鐢垫満鎺ヨЕ鍣ㄦ晠闅�
+
+    private Boolean upcontactErr = false; //椤跺崌鐢垫満鎺ヨЕ鍣ㄦ晠闅�
+
+    public Boolean isErr() {
+        if (frontErr || backErr || highErr || leftErr || rightErr || weightErr || barcodeErr) {
+            return true;
+        } else {
+            return false;
+        }
+    }
+
+    public Devp toSqlModel() {
+        Devp devp = new Devp();
+        devp.setDevNo(siteId);
+        devp.setWrkNo(workNo.intValue());
+        devp.setAutoing(autoing ? "Y" : "N");
+        devp.setLoading(loading ? "Y" : "N");
+        devp.setInEnable(inEnable ? "Y" : "N");
+        devp.setOutEnable(outEnable ? "Y" : "N");
+        devp.setLocType((short) 0);
+        return devp;
+    }
+
+
+    @Override
+    public StaProtocol clone() {
+        try {
+            return (StaProtocol) super.clone();
+        } catch (CloneNotSupportedException e) {
+            e.printStackTrace();
+        }
+        return null;
+    }
+
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/core/operation/OperationHandler.java b/zy-acs-cv/src/main/java/com/zy/core/operation/OperationHandler.java
new file mode 100644
index 0000000..a849828
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/core/operation/OperationHandler.java
@@ -0,0 +1,11 @@
+package com.zy.core.operation;
+
+import com.zy.core.enums.ConveyorStateType;
+import com.zy.core.properties.CtuOperationConfig;
+
+public interface OperationHandler {
+
+    ConveyorStateType getType();
+
+    void execute(CtuOperationConfig config);
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/core/operation/handler/AppleLocOperationHandler.java b/zy-acs-cv/src/main/java/com/zy/core/operation/handler/AppleLocOperationHandler.java
new file mode 100644
index 0000000..50f8376
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/core/operation/handler/AppleLocOperationHandler.java
@@ -0,0 +1,143 @@
+package com.zy.core.operation.handler;
+
+import com.zy.acs.framework.common.Cools;
+import com.zy.acs.framework.exception.CoolException;
+import com.zy.asrs.controller.vo.ApplyInDto;
+import com.zy.asrs.controller.vo.ApplyInRepsonseDto;
+import com.zy.asrs.entity.Job;
+import com.zy.asrs.enums.WorkNoTypeType;
+import com.zy.asrs.service.JobService;
+import com.zy.asrs.service.WmsMainService;
+import com.zy.asrs.service.WrkLastnoService;
+import com.zy.core.cache.MessageQueue;
+import com.zy.core.cache.SlaveConnection;
+import com.zy.core.enums.ConveyorStateType;
+import com.zy.core.enums.SlaveType;
+import com.zy.core.enums.TaskType;
+import com.zy.core.model.DevpSlave;
+import com.zy.core.model.Task;
+import com.zy.core.model.protocol.StaProtocol;
+import com.zy.core.operation.OperationHandler;
+import com.zy.core.properties.CtuOperationConfig;
+import com.zy.core.properties.SlaveProperties;
+import com.zy.core.thread.BarcodeThread;
+import com.zy.core.thread.SiemensDevpThread;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
+
+import java.util.Date;
+
+/**
+ * 鍏ュ簱
+ */
+@Slf4j
+@Component
+public class AppleLocOperationHandler implements OperationHandler {
+
+    @Autowired
+    private SlaveProperties slaveProperties;
+
+
+    @Autowired
+    private WrkLastnoService wrkLastnoService;
+
+    @Autowired
+    private WmsMainService wmsMainService;
+
+    @Autowired
+    private JobService jobService;
+
+
+    @Override
+    public ConveyorStateType getType() {
+        return ConveyorStateType.APPLYLOC;
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public synchronized void execute(CtuOperationConfig config) {
+        try {
+            // 鏍规嵁杈撻�佺嚎plc閬嶅巻
+            for (DevpSlave devp : slaveProperties.getDevp()) {
+                // 閬嶅巻鍏ュ簱鍙�
+                for (DevpSlave.Sta inSta : devp.getInSta()) {
+                    // 鏍规嵁杈撻�佺嚎plc閬嶅巻
+                    SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
+                    StaProtocol staProtocol = devpThread.getStation().get(inSta.getStaNo());
+                    BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, devp.getId());
+                    if (staProtocol == null) {
+                        continue;
+                    } else {
+                        staProtocol = staProtocol.clone();
+                    }
+                    // 鍒ゆ柇鏄惁婊¤冻鏉′欢
+                    if (!staProtocol.isLoading()) {
+                        continue;
+                    }
+                    if (staProtocol.getWorkNo() > 0 && staProtocol.isAutoing()) {
+                        String barcode = barcodeThread.getBarcode();
+                        if (barcodeThread == null || Cools.isEmpty(barcode)) {
+                            log.error("绔欑偣锛歿}锛屾湭鎵埌鐮佸�硷細{}", staProtocol.getSiteId(), barcode);
+                            return;
+                        }
+                        // 9991鏄┖鏉匡紝9992鏄弧鏉�
+                        if (staProtocol.getWorkNo() >= 9991 && staProtocol.getWorkNo() <= 9992) {
+                            Job job = jobService.getJobByBarcode(barcode ,ConveyorStateType.INBOUND.getStatus());
+                            // 鐢宠鍏ュ簱
+                            if (job == null || (job != null && job.getJobSts() == ConveyorStateType.CLEARSIGNAL.getStatus())) {
+                                ApplyInRepsonseDto locOfWms = wmsMainService.getLocOfWms(applyIn(barcode, inSta.getStaNo() + "", staProtocol));
+                                if (locOfWms != null) {
+                                    Integer workNo = getWorkNo();
+                                    staProtocol.setWorkNo(workNo);
+                                    staProtocol.setStaNo(inSta.getTargetSta());
+                                    if (MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(TaskType.WRITE, staProtocol))) {
+                                        if (!jobService.insert(initJob(locOfWms, barcode, workNo,inSta.getTargetSta() + ""))) {
+                                            throw new CoolException("鏇存柊杈撻�佺嚎浠诲姟澶辫触," + " - " + staProtocol.getWorkNo());
+                                        }
+                                        log.info("鍏ュ簱鍓嶈繘锛歿},{}", staProtocol.getWorkNo(), inSta.getTargetSta());
+                                    }else {
+                                        log.info("涓嬪彂澶辫触锛歿},{}", staProtocol.getWorkNo(), inSta.getTargetSta());
+                                    }
+                                } else {
+                                    log.info("WMS鏈繑鍥炲簱浣嶄俊鎭紝鏉$爜锛歿},绔欑偣锛歿}", barcode, inSta.getStaNo());
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+        }
+    }
+
+
+    private Job initJob(ApplyInRepsonseDto locOfWms, String barcode,Integer workNo, String staNo) {
+        Job  job = new Job();
+        job.setLoc(locOfWms.getLocNo());
+        job.setTaskNo(locOfWms.getTaskNo());
+        job.setBatchNo(locOfWms.getBatchNo());
+        job.setBarcode(barcode);
+        job.setStaNo(staNo);
+        job.setJobNo(workNo);
+        job.setJobSts(ConveyorStateType.INBOUND.getStatus());
+        job.setWmsTime(new Date());
+        return job;
+    }
+
+    private Integer getWorkNo() {
+        return wrkLastnoService.nextWorkNo(WorkNoTypeType.WORK_NO_TYPE.type);
+    }
+
+    private ApplyInDto applyIn(String barcode, String staNo, StaProtocol staProtocol) {
+        ApplyInDto applyInDto = new ApplyInDto();
+        applyInDto.setStaNo(staNo);
+        applyInDto.setBarcode(barcode);
+        applyInDto.setFull(staProtocol.getWorkNo() == 9992);
+        return applyInDto;
+    }
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/core/operation/handler/ClearSingleOperationHandler.java b/zy-acs-cv/src/main/java/com/zy/core/operation/handler/ClearSingleOperationHandler.java
new file mode 100644
index 0000000..20952ec
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/core/operation/handler/ClearSingleOperationHandler.java
@@ -0,0 +1,83 @@
+package com.zy.core.operation.handler;
+
+import com.zy.asrs.entity.Job;
+import com.zy.asrs.service.JobService;
+import com.zy.core.cache.MessageQueue;
+import com.zy.core.cache.SlaveConnection;
+import com.zy.core.enums.ConveyorStateType;
+import com.zy.core.enums.SlaveType;
+import com.zy.core.enums.TaskType;
+import com.zy.core.model.DevpSlave;
+import com.zy.core.model.Task;
+import com.zy.core.model.protocol.StaProtocol;
+import com.zy.core.operation.OperationHandler;
+import com.zy.core.properties.CtuOperationConfig;
+import com.zy.core.properties.SlaveProperties;
+import com.zy.core.thread.SiemensDevpThread;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
+
+
+/**
+ * 娓呯悊绔欑偣淇″彿
+ */
+@Slf4j
+@Component
+public class ClearSingleOperationHandler implements OperationHandler {
+
+    @Autowired
+    private SlaveProperties slaveProperties;
+
+
+    @Autowired
+    private JobService jobService;
+
+
+    @Override
+    public ConveyorStateType getType() {
+        return ConveyorStateType.CLEARSIGNAL;
+    }
+
+    @Override
+    public synchronized void execute(CtuOperationConfig config) {
+        try {
+            // 鏍规嵁杈撻�佺嚎plc閬嶅巻
+            for (DevpSlave devp : slaveProperties.getDevp()) {
+                // 閬嶅巻绛夊緟ctu鍙栬揣绔�
+                for (DevpSlave.Sta takeSta : devp.getTakeSta()) {
+                    // 鏍规嵁杈撻�佺嚎plc閬嶅巻
+                    SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
+                    StaProtocol staProtocol = devpThread.getStation().get(takeSta.getStaNo());
+                    if (staProtocol == null) {
+                        continue;
+                    } else {
+                        staProtocol = staProtocol.clone();
+                    }
+                    // 鍒ゆ柇鏄惁婊¤冻鏉′欢
+                    if (staProtocol.isLoading()) {
+                        continue;
+                    }
+                    if (staProtocol.getWorkNo() > 0 && staProtocol.isAutoing()) {
+                        Job job = jobService.getJobByJobNo(staProtocol.getWorkNo());
+                        if (job != null && job.getJobSts() == ConveyorStateType.SENDTASK.getStatus()) {
+                            //String s = ctuMainService.checkStationStatus(takeSta.getStaNo());
+                            staProtocol.setWorkNo(0);
+                            staProtocol.setStaNo(0);
+                            boolean result = MessageQueue.offer(SlaveType.Devp, 1, new Task(TaskType.WRITE, staProtocol));
+                            if (result) {
+                                log.info("" + config.getMark() + "绔欑偣娓呯┖澶辫触锛歿},{}", takeSta.getStaNo(), staProtocol.getWorkNo());
+                                job.setJobSts(ConveyorStateType.CLEARSIGNAL.getStatus());
+                                jobService.updateById(job);
+                            }
+                        }
+                    }
+                }
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+        }
+    }
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/core/operation/handler/FakeUserOperationHandler.java b/zy-acs-cv/src/main/java/com/zy/core/operation/handler/FakeUserOperationHandler.java
new file mode 100644
index 0000000..e7c32c1
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/core/operation/handler/FakeUserOperationHandler.java
@@ -0,0 +1,81 @@
+package com.zy.core.operation.handler;
+
+import com.zy.asrs.entity.Job;
+import com.zy.asrs.service.JobService;
+import com.zy.core.cache.MessageQueue;
+import com.zy.core.cache.SlaveConnection;
+import com.zy.core.enums.ConveyorStateType;
+import com.zy.core.enums.SlaveType;
+import com.zy.core.enums.TaskType;
+import com.zy.core.model.Task;
+import com.zy.core.model.protocol.StaProtocol;
+import com.zy.core.operation.OperationHandler;
+import com.zy.core.properties.CtuOperationConfig;
+import com.zy.core.properties.SlaveProperties;
+import com.zy.core.thread.SiemensDevpThread;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
+
+/**
+ * 妯℃嫙鐢ㄦ埛鎸夋寜閽�
+ */
+@Slf4j
+@Component
+public class FakeUserOperationHandler implements OperationHandler {
+
+    @Autowired
+    private SlaveProperties slaveProperties;
+
+
+    @Autowired
+    private JobService jobService;
+
+
+    @Override
+    public ConveyorStateType getType() {
+        return ConveyorStateType.FAKEUSER;
+    }
+
+    @Override
+    public synchronized void execute(CtuOperationConfig config) {
+
+        try {
+            // 鏍规嵁杈撻�佺嚎plc閬嶅巻
+            SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1);
+            StaProtocol staProtocol = devpThread.getStation().get(1004);
+            if (staProtocol == null) {
+                return;
+            } else {
+                staProtocol = staProtocol.clone();
+            }
+            // 鍒ゆ柇鏄惁婊¤冻鏉′欢
+            if (!staProtocol.isLoading()) {
+                return;
+            }
+            StaProtocol staProtocol5 = devpThread.getStation().get(1005);
+            if (staProtocol5.isLoading()){
+                log.info("1005鏈夌墿锛岀瓑鏃犵墿涔嬪悗鎵嶅叆搴�");
+                return;
+            }
+            if (staProtocol.getWorkNo() > 0 && staProtocol.isAutoing()) {
+                Job jobByWorkNo = jobService.getJobByJobNoAndJobSts(staProtocol.getWorkNo(),ConveyorStateType.OUTBOUND.getStatus());
+                if (jobByWorkNo != null && jobByWorkNo.getJobSts() == ConveyorStateType.OUTBOUND.getStatus()) {
+                    staProtocol.setWorkNo(9992);
+                    staProtocol.setStaNo(1005);
+                    boolean result = MessageQueue.offer(SlaveType.Devp, 1, new Task(TaskType.WRITE, staProtocol));
+                    if (result) {
+                        jobByWorkNo.setJobSts(3);
+                        jobByWorkNo.setMemo("妯℃嫙鎸夋寜閽�");
+                        jobService.updateById(jobByWorkNo);
+                        log.info("鍏ュ簱杈撻�佺嚎涓嬪彂锛歿},{}", staProtocol.getWorkNo(), 1006);
+                    }
+                }
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+        }
+    }
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/core/operation/handler/OutOperationHandler.java b/zy-acs-cv/src/main/java/com/zy/core/operation/handler/OutOperationHandler.java
new file mode 100644
index 0000000..6293f10
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/core/operation/handler/OutOperationHandler.java
@@ -0,0 +1,112 @@
+package com.zy.core.operation.handler;
+
+import com.zy.acs.framework.exception.CoolException;
+import com.zy.asrs.entity.Job;
+import com.zy.asrs.enums.WorkNoTypeType;
+import com.zy.asrs.service.CtuMainService;
+import com.zy.asrs.service.JobService;
+import com.zy.asrs.service.WrkLastnoService;
+import com.zy.core.cache.MessageQueue;
+import com.zy.core.cache.SlaveConnection;
+import com.zy.core.enums.ConveyorStateType;
+import com.zy.core.enums.SlaveType;
+import com.zy.core.enums.TaskType;
+import com.zy.core.model.DevpSlave;
+import com.zy.core.model.Task;
+import com.zy.core.model.protocol.StaProtocol;
+import com.zy.core.operation.OperationHandler;
+import com.zy.core.properties.CtuOperationConfig;
+import com.zy.core.properties.SlaveProperties;
+import com.zy.core.thread.SiemensDevpThread;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
+
+@Slf4j
+@Component
+public class OutOperationHandler implements OperationHandler {
+
+    @Autowired
+    private SlaveProperties slaveProperties;
+
+
+    @Autowired
+    private WrkLastnoService wrkLastnoService;
+
+    @Autowired
+    private CtuMainService ctuMainService;
+
+    @Autowired
+    private JobService jobService;
+
+
+    @Override
+    public ConveyorStateType getType() {
+        return ConveyorStateType.OUTBOUND;
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public synchronized void execute(CtuOperationConfig config) {
+        try {
+            // 鏍规嵁杈撻�佺嚎plc閬嶅巻
+            for (DevpSlave devp : slaveProperties.getDevp()) {
+                // 閬嶅巻鍑哄簱鍙�
+                for (DevpSlave.Sta releaseSta : devp.getReleaseSta()) {
+                    // 鑾峰彇鍏ュ簱绔欎俊鎭�
+                    SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
+                    StaProtocol staProtocol = devpThread.getStation().get(releaseSta.getStaNo());
+                    if (staProtocol == null) {
+                        continue;
+                    } else {
+                        staProtocol = staProtocol.clone();
+                    }
+                    // 鍒ゆ柇鏄惁婊¤冻鏉′欢
+                    if (!staProtocol.isLoading()) {
+                        if (staProtocol.getWorkNo() > 0) {
+                            log.error("杈撻�佺嚎涓婃湁浠诲姟鍙锋棤璐э紝闇�瑕佷汉宸ュ鐞嗭細{}", staProtocol.getSiteId());
+                        }
+                        continue;
+                    }
+
+                    if (staProtocol.isAutoing() && staProtocol.getWorkNo() == 0) {
+                        if (staProtocol.isInEnable()) {
+                            log.error("娌℃湁鍙叆淇″彿锛歿}", staProtocol.getSiteId());
+                            continue;
+                        }
+                        String seqNum = ctuMainService.checkStationStatus(releaseSta.getStaNo());
+                        if (seqNum != null) {
+                            Job jobBySeqNum = jobService.getJobByTaskNo(seqNum);
+                            if (jobBySeqNum == null) {
+                                int workNo = wrkLastnoService.nextWorkNo(WorkNoTypeType.WORK_NO_TYPE.type);
+                                // 涓嬪彂绉诲姩 涓� 涓嬪彂plc鍛戒护
+                                staProtocol.setWorkNo(workNo);
+                                staProtocol.setStaNo(releaseSta.getTargetSta());
+                                Job job = new Job();
+                                job.setTaskNo(seqNum);
+                                job.setJobNo(workNo);
+                                job.setJobSts(ConveyorStateType.OUTBOUND.getStatus());
+                                if (!jobService.insert(job)) {
+                                    throw new CoolException("鎻掑叆杈撻�佺嚎浠诲姟澶辫触," + jobBySeqNum + " - " + workNo);
+                                }
+                                boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(TaskType.WRITE, staProtocol));
+                                if (result) {
+                                    log.info("杈撻�佺嚎涓嬪彂锛歿},{}", staProtocol.getWorkNo(), releaseSta.getTargetSta());
+                                } else {
+                                    log.error("鍙戝竷鍛戒护鑷宠緭閫佺嚎闃熷垪澶辫触锛侊紒锛� [plc缂栧彿锛歿}]", devp.getId());
+                                }
+                            }
+                        } else {
+                            log.info("绔欑偣淇℃伅涓嶇鍚堝叆搴撴潯浠讹紒锛侊紒" + " 璋冪敤RCS妫�楠屾湭閫氳繃,绔欑偣锛歿}", staProtocol.getSiteId());
+                        }
+                    }
+                }
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+        }
+    }
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/core/operation/handler/SendTaskOperationHandler.java b/zy-acs-cv/src/main/java/com/zy/core/operation/handler/SendTaskOperationHandler.java
new file mode 100644
index 0000000..81d9c40
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/core/operation/handler/SendTaskOperationHandler.java
@@ -0,0 +1,118 @@
+package com.zy.core.operation.handler;
+
+import com.zy.asrs.controller.vo.OpenBusSubmitParam;
+import com.zy.asrs.controller.vo.TaskDto;
+import com.zy.asrs.entity.Job;
+import com.zy.asrs.service.CtuMainService;
+import com.zy.asrs.service.JobService;
+import com.zy.core.cache.SlaveConnection;
+import com.zy.core.enums.ConveyorStateType;
+import com.zy.core.enums.SlaveType;
+import com.zy.core.model.DevpSlave;
+import com.zy.core.model.protocol.StaProtocol;
+import com.zy.core.operation.OperationHandler;
+import com.zy.core.properties.CtuOperationConfig;
+import com.zy.core.properties.SlaveProperties;
+import com.zy.core.thread.SiemensDevpThread;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 鍙戦�佷换鍔$粰RCS
+ */
+@Slf4j
+@Component
+public class SendTaskOperationHandler implements OperationHandler {
+
+    @Autowired
+    private SlaveProperties slaveProperties;
+
+
+    @Autowired
+    private JobService jobService;
+
+
+    @Autowired
+    private CtuMainService ctuMainService;
+
+    @Override
+    public ConveyorStateType getType() {
+        return ConveyorStateType.SENDTASK;
+    }
+
+    @Override
+    public synchronized void execute(CtuOperationConfig config) {
+        try {
+            // 鏍规嵁杈撻�佺嚎plc閬嶅巻
+            for (DevpSlave devp : slaveProperties.getDevp()) {
+                // 閬嶅巻鍏ュ簱鍙�
+                for (DevpSlave.Sta inSta : devp.getInSta()) {
+                    // 鏍规嵁杈撻�佺嚎plc閬嶅巻
+                    SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
+                    StaProtocol staProtocol = devpThread.getStation().get(inSta.getTargetSta());
+                    if (staProtocol == null) {
+                        continue;
+                    } else {
+                        staProtocol = staProtocol.clone();
+                    }
+                    // 鍒ゆ柇鏄惁婊¤冻鏉′欢
+                    if (!staProtocol.isLoading()) {
+                        if (staProtocol.getWorkNo() > 0) {
+                            log.error("杈撻�佺嚎涓婃湁浠诲姟鍙锋棤璐э紝闇�瑕佷汉宸ュ鐞嗭細{}", staProtocol.getSiteId());
+                        }
+                        continue;
+                    }
+                    if (staProtocol.getWorkNo() == 0) {
+                        log.error("杈撻�佺嚎涓婃湁璐ф棤浠诲姟鍙凤紝闇�瑕佷汉宸ュ鐞嗭細{}", staProtocol.getSiteId());
+                        continue;
+                    }
+                    if (staProtocol.isAutoing()) {
+                        Job job = jobService.getJobByJobNoAndJobSts(staProtocol.getWorkNo(),ConveyorStateType.INBOUND.getStatus());
+                        if (job != null  ) {
+                            if (ctuMainService.sendTask(process(job))) {
+                                job.setJobSts(ConveyorStateType.SENDTASK.getStatus());
+                                job.setRcsTime(new Date());
+                                jobService.updateById(job);
+                                log.info("浠诲姟鍙戦�佺粰RCS鎴愬姛,WMS浠诲姟鍙凤細{},杈撻�佺嚎宸ヤ綔鍙凤細{}", job.getTaskNo(), job.getJobNo());
+                            } else {
+                                log.info("浠诲姟鍙戦�佺粰RCS澶辫触,WMS浠诲姟鍙凤細{},杈撻�佺嚎宸ヤ綔鍙凤細{}", job.getTaskNo(), job.getJobNo());
+                            }
+                        }
+                    } else {
+                        log.error("杈撻�佺嚎涓鸿嚜鍔紝闇�瑕佸紑鍚細{}", staProtocol.getSiteId());
+                    }
+                }
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+        }
+    }
+
+    /**
+     * 澶勭悊浠诲姟
+     *
+     * @param job
+     * @return
+     */
+    private OpenBusSubmitParam process(Job job) {
+        OpenBusSubmitParam openBusSubmitParam = new OpenBusSubmitParam();
+        openBusSubmitParam.setBatchNo(job.getBatchNo());
+        List<TaskDto> taskList = new ArrayList<>();
+        TaskDto taskDto = new TaskDto();
+        taskDto.setTaskNo(job.getTaskNo());
+        taskDto.setBatchNo(job.getBatchNo());
+        taskDto.setOriSta(job.getStaNo());
+        taskDto.setDestLoc(job.getLoc());
+        taskDto.setPriority(1);
+        taskList.add(taskDto);
+        openBusSubmitParam.setTasks(taskList);
+        return openBusSubmitParam;
+    }
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/core/properties/CtuOperationConfig.java b/zy-acs-cv/src/main/java/com/zy/core/properties/CtuOperationConfig.java
new file mode 100644
index 0000000..23a635a
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/core/properties/CtuOperationConfig.java
@@ -0,0 +1,16 @@
+package com.zy.core.properties;
+
+import com.zy.core.enums.ConveyorStateType;
+import lombok.Data;
+
+import java.util.HashMap;
+import java.util.Map;
+
+@Data
+public class CtuOperationConfig {
+    private ConveyorStateType type;
+    private int mark;
+    private int maxRetries = 3;
+    private long retryDelay = 500;
+    private Map<String, Object> params = new HashMap<>();
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/core/properties/CtuServiceProperties.java b/zy-acs-cv/src/main/java/com/zy/core/properties/CtuServiceProperties.java
new file mode 100644
index 0000000..dfe362a
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/core/properties/CtuServiceProperties.java
@@ -0,0 +1,19 @@
+package com.zy.core.properties;
+
+import lombok.Data;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.stereotype.Component;
+
+import java.util.ArrayList;
+import java.util.List;
+
+// 閰嶇疆绫�
+@ConfigurationProperties(prefix = "ctu.service")
+@Component
+@Data
+public class CtuServiceProperties {
+    private long initialDelay = 0;
+    private long interval = 1000;
+    private List<CtuOperationConfig> operations = new ArrayList<>();
+}
+
diff --git a/zy-acs-cv/src/main/java/com/zy/core/properties/SlaveProperties.java b/zy-acs-cv/src/main/java/com/zy/core/properties/SlaveProperties.java
new file mode 100644
index 0000000..c38ff82
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/core/properties/SlaveProperties.java
@@ -0,0 +1,35 @@
+package com.zy.core.properties;
+
+import com.zy.core.Slave;
+import com.zy.core.model.DevpSlave;
+import lombok.Data;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.context.annotation.Configuration;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Created by vincent on 2020/8/4
+ */
+
+/**
+ * 璇ョ被鏁翠釜灏辨槸涓�涓�氳繃閰嶇疆鏂囦欢鏉ュ疄浣撳寲瀵硅薄绫�
+ */
+@Data
+@Configuration
+@ConfigurationProperties(prefix = "cv-slave")
+public class SlaveProperties {
+
+    private boolean doubleDeep;
+
+    private List<Integer> doubleLocs = new ArrayList<>();
+
+    private int groupCount;
+
+    private List<DevpSlave> devp = new ArrayList<>();
+
+    private List<Slave> barcode = new ArrayList<>();
+
+
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/core/properties/SystemProperties.java b/zy-acs-cv/src/main/java/com/zy/core/properties/SystemProperties.java
new file mode 100644
index 0000000..bdae4ed
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/core/properties/SystemProperties.java
@@ -0,0 +1,14 @@
+package com.zy.core.properties;
+
+import java.util.concurrent.atomic.AtomicBoolean;
+
+/**
+ * Created by vincent on 2020-06-03
+ */
+public class SystemProperties {
+
+    // 绯荤粺杩愯鐘舵��
+    public static final AtomicBoolean WCS_RUNNING_STATUS = new AtomicBoolean(Boolean.TRUE);
+
+
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/core/thread/BarcodeThread.java b/zy-acs-cv/src/main/java/com/zy/core/thread/BarcodeThread.java
new file mode 100644
index 0000000..56455a8
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/core/thread/BarcodeThread.java
@@ -0,0 +1,68 @@
+package com.zy.core.thread;
+
+import com.alibaba.fastjson.JSONObject;
+import com.zy.acs.framework.common.Cools;
+import com.zy.acs.framework.common.DateUtils;
+import com.zy.common.utils.News;
+import com.zy.core.Slave;
+import com.zy.core.ThreadHandler;
+import com.zy.core.cache.OutputQueue;
+import lombok.Data;
+import lombok.extern.slf4j.Slf4j;
+
+import java.util.Date;
+
+/**
+ * 鏉$爜鎵弿浠嚎绋�
+ * Created by vincent on 2020/8/4
+ */
+@Data
+@Slf4j
+public class BarcodeThread implements Runnable, ThreadHandler {
+
+    private Slave slave;
+    private StringBuffer barcode = new StringBuffer();
+
+    public BarcodeThread(Slave slave) {
+        this.slave = slave;
+    }
+
+    public String getBarcode() {
+        return barcode.toString();
+    }
+
+    public void setBarcode(String barcode) {
+        this.barcode.delete(0, this.barcode.length());
+        this.barcode.append(barcode);
+        if (!Cools.isEmpty(barcode)) {
+            News.info("Barcode" + " - 1" + " - {}鍙锋潯鐮佸櫒锛屾绱㈡暟鎹細{}", slave.getId(), this.barcode);
+            JSONObject jsonObject = new JSONObject();
+            jsonObject.put("time", DateUtils.convert(new Date(), DateUtils.yyyyMMddHHmmss_F));
+            jsonObject.put("barcode", barcode);
+            if (OutputQueue.BARCODE.size() >= 32) {
+                OutputQueue.BARCODE.poll();
+            }
+            OutputQueue.BARCODE.offer(jsonObject);
+        }
+    }
+
+    public void clearBarcode() {
+        this.barcode = new StringBuffer();
+    }
+
+    @Override
+    public boolean connect() {
+        return false;
+    }
+
+    @Override
+    public void close() {
+
+    }
+
+    @Override
+    public void run() {
+
+    }
+
+}
diff --git a/zy-acs-cv/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/zy-acs-cv/src/main/java/com/zy/core/thread/SiemensDevpThread.java
new file mode 100644
index 0000000..d6c4e9c
--- /dev/null
+++ b/zy-acs-cv/src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -0,0 +1,304 @@
+package com.zy.core.thread;
+
+import HslCommunication.Core.Types.OperateResult;
+import HslCommunication.Core.Types.OperateResultExOne;
+import HslCommunication.Profinet.Siemens.SiemensPLCS;
+import HslCommunication.Profinet.Siemens.SiemensS7Net;
+import com.alibaba.fastjson.JSON;
+import com.zy.acs.framework.common.Cools;
+import com.zy.acs.framework.common.DateUtils;
+import com.zy.acs.framework.exception.CoolException;
+import com.zy.asrs.entity.Devp;
+import com.zy.asrs.service.DevpService;
+import com.zy.asrs.utils.SpringContextUtil;
+import com.zy.common.utils.News;
+import com.zy.core.DevpThread;
+import com.zy.core.cache.MessageQueue;
+import com.zy.core.cache.OutputQueue;
+import com.zy.core.cache.SlaveConnection;
+import com.zy.core.enums.SlaveType;
+import com.zy.core.enums.TaskType;
+import com.zy.core.model.DevpSlave;
+import com.zy.core.model.Task;
+import com.zy.core.model.protocol.StaProtocol;
+import lombok.Data;
+import lombok.extern.slf4j.Slf4j;
+
+import java.text.MessageFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
+/**
+ * 杈撻�佺嚎绾跨▼
+ * Created by vincent on 2020/8/4
+ */
+@Data
+@Slf4j
+public class SiemensDevpThread implements Runnable, DevpThread {
+
+    private DevpSlave slave;
+    private SiemensS7Net siemensS7Net;
+    private Map<Integer, StaProtocol> station = new ConcurrentHashMap<>();
+    private short heartBeatVal = 1;
+
+    public static final ArrayList<Integer> staNos1 = new ArrayList<Integer>() {{
+        add(1001);
+        add(1002);
+        add(1003);
+        add(1004);
+        add(1005);
+        add(1006);
+        add(1007);
+
+    }};
+
+
+    public static final ArrayList<Integer> BarcodeList = new ArrayList<Integer>() {{
+        add(1);
+    }};
+
+
+    /**
+     * 鏉$爜鏁伴噺
+     */
+    private int barcodeSize = 1;
+
+
+    public SiemensDevpThread(DevpSlave slave) {
+        this.slave = slave;
+    }
+
+    private ArrayList<Integer> getStaNo() {
+        switch (slave.getId()) {
+            case 1:
+                return staNos1;
+            default:
+                throw new CoolException("鏈嶅姟鍣ㄥ紓甯�");
+        }
+    }
+
+    @Override
+    @SuppressWarnings("InfiniteLoopStatement")
+    public void run() {
+        connect();
+        while (true) {
+            try {
+                TaskType step = TaskType.READ;
+                Task task = MessageQueue.poll(SlaveType.Devp, slave.getId());
+                if (task != null) {
+                    step = task.getStep();
+                }
+                switch (step) {
+                    // 璇绘暟鎹�
+                    case READ:
+                        read();
+                        break;
+                    // 鍐欐暟鎹� ID+鐩爣绔�
+                    case WRITE:
+                        write((StaProtocol) task.getData());
+                        break;
+                    default:
+                        break;
+                }
+                // 蹇冭烦
+//                heartbeat();
+                Thread.sleep(100);
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+
+        }
+    }
+
+    /**
+     * 鍒濆鍖栫珯鐐圭姸鎬�
+     */
+    private void initSite() {
+        ArrayList<Integer> staNos = getStaNo();
+        // 绔欑偣缂栧彿
+        for (Integer siteId : staNos) {
+            StaProtocol staProtocol = station.get(siteId);
+            if (null == staProtocol) {
+                staProtocol = new StaProtocol();
+                staProtocol.setSiteId(siteId);
+                station.put(siteId, staProtocol);
+            }
+            staProtocol.setWorkNo(0);    // ID
+            staProtocol.setAutoing(false);      // 鑷姩
+            staProtocol.setLoading(false);      // 鏈夌墿
+            staProtocol.setInEnable(false);     // 鍙叆
+            staProtocol.setOutEnable(false);    // 鍙嚭
+            staProtocol.setEmptyMk(false);      // 绌烘澘淇″彿
+            staProtocol.setStaNo(0);     // 鐩爣绔�
+
+            if (!staProtocol.isPakMk() && !staProtocol.isLoading()) {
+                staProtocol.setPakMk(true);
+            }
+        }
+    }
+
+    @Override
+    public boolean connect() {
+        boolean result = false;
+        siemensS7Net = new SiemensS7Net(SiemensPLCS.S1200, slave.getIp());
+        siemensS7Net.setRack(slave.getRack().byteValue());
+        siemensS7Net.setSlot(slave.getSlot().byteValue());
+        OperateResult connect = siemensS7Net.ConnectServer();
+        if (connect.IsSuccess) {
+            result = true;
+            //OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戣緭閫佺嚎plc杩炴帴鎴愬姛 ===>> [id:{1}] [ip:{2}] [port:{3}] [rack:{4}] [slot:{5}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot()));
+            News.info("SiemensDevp" + " - 1" + " - 杈撻�佺嚎plc杩炴帴鎴愬姛 ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
+        } else {
+            OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戣緭閫佺嚎plc杩炴帴澶辫触锛侊紒锛� ===>> [id:{1}] [ip:{2}] [port:{3}]  [rack:{4}] [slot:{5}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot()));
+            News.error("SiemensDevp" + " - 2" + " - 杈撻�佺嚎plc杩炴帴澶辫触锛侊紒锛� ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort());
+        }
+        siemensS7Net.ConnectClose();
+        initSite();
+        return result;
+    }
+
+    /**
+     * 璇诲彇鐘舵�� ====> 鏁村潡plc
+     */
+    private void read() throws InterruptedException {
+        ArrayList<Integer> staNos = getStaNo();
+        int staNoSize = staNos.size();
+        OperateResultExOne<byte[]> result = siemensS7Net.Read("DB101.0", (short) (staNoSize * 2));
+        OperateResultExOne<byte[]> result2 = siemensS7Net.Read("DB100.0", (short) (staNoSize * 4));
+        if (result.IsSuccess) {
+            for (int i = 0; i < staNoSize; i++) {
+                Integer siteId = staNos.get(i); // 绔欑偣缂栧彿
+                StaProtocol staProtocol = station.get(siteId);
+                if (null == staProtocol) {
+                    staProtocol = new StaProtocol();
+                    staProtocol.setSiteId(siteId);
+                    station.put(siteId, staProtocol);
+                }
+                boolean[] status = null;
+                if (i < 7) {
+                    staProtocol.setWorkNo((int) siemensS7Net.getByteTransform().TransInt16(result2.Content, i * 4));
+                    staProtocol.setStaNo((int) siemensS7Net.getByteTransform().TransInt16(result2.Content, i * 4 + 2));
+                }
+                status = siemensS7Net.getByteTransform().TransBool(result.Content, i * 2, 2);
+                staProtocol.setAutoing(status[0]);  // 鑷姩
+                staProtocol.setLoading(status[1]);  // 鏈夌墿
+                staProtocol.setInEnable(status[2]); // 鍙叆
+                staProtocol.setOutEnable(status[3]);// 鍙嚭
+                staProtocol.setEmptyMk(status[4]);  // 绌烘澘淇″彿
+                staProtocol.setFullPlt(status[5]);  // 婊℃墭鐩�
+                staProtocol.setHigh(status[6]);     // 楂樺簱浣�
+                staProtocol.setLow(status[7]);      // 浣庡簱浣�
+
+                if (!staProtocol.isPakMk() && !staProtocol.isLoading()) {
+                    staProtocol.setPakMk(true);
+                }
+            }
+        }
+
+
+        //鏉$爜鎵弿鍣�
+        ArrayList<Integer> barcodeList = BarcodeList;
+        OperateResultExOne<byte[]> result5 = siemensS7Net.Read("DB101.102", (short) (barcodeList.size() * 8));
+        if (result5.IsSuccess) {
+            for (int i = 0; i < barcodeList.size(); i++) {
+                Integer barcodeId = barcodeList.get(i);
+                String barcode = siemensS7Net.getByteTransform().TransString(result5.Content, i * 8, 8, "UTF-8");
+                BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, barcodeId);
+                if (Cools.isEmpty(barcode)) {
+                    barcodeThread.clearBarcode();
+                } else {
+                    if (!Cools.isEmpty(barcodeThread) && !barcodeThread.getBarcode().equals(barcode)) {
+                        barcodeThread.setBarcode(barcode);
+                        log.info("鏂欑鐮侊細{}", barcode);
+                    }
+                }
+            }
+        }
+
+        if (result.IsSuccess) {
+            OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛", DateUtils.convert(new Date()), slave.getId()));
+
+            // 鏍规嵁瀹炴椂淇℃伅鏇存柊鏁版嵁搴�
+            try {
+                List<Devp> devps = new ArrayList<>();
+                for (Integer siteId : staNos) {
+                    StaProtocol staProtocol = station.get(siteId);
+                    devps.add(staProtocol.toSqlModel());
+                }
+                DevpService devpService = SpringContextUtil.getBean(DevpService.class);
+                if (null != devpService) {
+                    devpService.updateBatchByDevpNo(devps);
+                } else {
+                    throw new Exception("鏇存柊鏁版嵁搴撴暟鎹け璐�");
+                }
+            } catch (Exception e) {
+                initSite();
+                e.printStackTrace();
+                OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戞洿鏂版暟鎹簱鏁版嵁澶辫触 ===>> [id:{1}] [ip:{2}] [port:{3}] [rack:{4}] [slot:{5}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot()));
+                News.error("SiemensDevp" + " - 3" + " - 鏇存柊鏁版嵁搴撴暟鎹け璐� ===>> [id:{}] [ip:{}] [port:{}] [rack:{}] [slot:{}]", slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot());
+            }
+
+        } else {
+            OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戣鍙栬緭閫佺嚎plc鐘舵�佷俊鎭け璐� ===>> [id:{1}] [ip:{2}] [port:{3}] [rack:{4}] [slot:{5}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot()));
+        }
+    }
+
+    /**
+     * 鍐欏叆 ID+鐩爣绔� =====> 鍗曠珯鐐瑰啓鍏�
+     */
+    private void write(StaProtocol staProtocol) throws InterruptedException {
+        if (null == staProtocol) {
+            return;
+        }
+        ArrayList<Integer> staNos = getStaNo();
+        int index = staNos.indexOf(staProtocol.getSiteId());
+
+        OperateResult write = null;
+        OperateResult write1 = null;
+        //浠诲姟涓嬪彂娆℃暟
+        int writeCount = 0;
+        do {
+            write = siemensS7Net.Write("DB100." + index * 4, staProtocol.getWorkNo().shortValue());    // 宸ヤ綔鍙�
+            Thread.sleep(200);
+            write1 = siemensS7Net.Write("DB100." + (index * 4 + 2), staProtocol.getStaNo().shortValue());    // 鐩爣绔�
+            if (write.IsSuccess && write1.IsSuccess) {
+                log.info("鍐欏叆杈撻�佺嚎鍛戒护鎴愬姛銆傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={},鍐欏叆娆℃暟={}", slave.getId(), JSON.toJSON(staProtocol), writeCount);
+                break;
+            } else {
+                writeCount++;
+                log.error("鍐欏叆杈撻�佺嚎鍛戒护澶辫触銆傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={},鍐欏叆娆℃暟={}", slave.getId(), JSON.toJSON(staProtocol), writeCount);
+            }
+        } while (writeCount < 5);
+
+        if (!write.IsSuccess) {
+            staProtocol = station.get(staProtocol.getSiteId());
+            if (staProtocol.getWorkNo() == 0 && staProtocol.getStaNo() == 0) {
+                staProtocol.setPakMk(true);
+            }
+            OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戝啓鍏ヨ緭閫佺嚎绔欑偣鏁版嵁澶辫触銆傝緭閫佺嚎plc缂栧彿={1}锛岀珯鐐规暟鎹�={2}", slave.getId(), JSON.toJSON(staProtocol)));
+            News.error("SiemensDevp" + " - 4" + " - 鍐欏叆杈撻�佺嚎绔欑偣鏁版嵁澶辫触銆傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={}", slave.getId(), JSON.toJSON(staProtocol));
+        }
+    }
+
+
+    /**
+     * 璁剧疆鍏ュ簱鏍囪
+     */
+    @Override
+    public void setPakMk(Integer siteId, boolean pakMk) {
+        StaProtocol staProtocol = station.get(siteId);
+        if (null != staProtocol) {
+            staProtocol.setPakMk(pakMk);
+        }
+    }
+
+    @Override
+    public void close() {
+        siemensS7Net.ConnectClose();
+    }
+
+
+}
diff --git a/zy-acs-cv/src/main/resources/application.yml b/zy-acs-cv/src/main/resources/application.yml
new file mode 100644
index 0000000..3a331a8
--- /dev/null
+++ b/zy-acs-cv/src/main/resources/application.yml
@@ -0,0 +1,104 @@
+server:
+  port: 9090
+  servlet:
+    context-path: /cv
+
+
+spring:
+  application:
+    name: cv
+  datasource:
+    driver-class-name: com.mysql.jdbc.Driver
+    #url: jdbc:mysql://127.0.0.1:3306/rcs_ctu_stable?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
+    url: jdbc:mysql://127.0.0.1:3306/cv?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
+    username: root
+    password: xltys1995
+  mvc:
+    static-path-pattern: /**
+
+logging:
+  file:
+    path: /stock/out/cv/logs
+
+wms:
+  url: 10.10.10.200:8081
+  apply: /rsf-open-api/rcs/api/open/location/allocate
+ctu:
+  url: 10.10.10.200:8088
+  station: /api/open/station/convey
+  sendTask: /api/open/bus/submit
+  service:
+    initial-delay: 0
+    interval: 1000
+    operations:
+      - type: OUTBOUND
+        mark: 10
+        max-retries: 3
+        retry-delay: 800
+#      - type: FAKEUSER
+#        mark: 20
+#        max-retries: 2
+#        retry-delay: 800
+      - type: APPLYLOC
+        mark: 30
+        max-retries: 2
+        retry-delay: 2000
+#      - type: INBOUND
+#        mark: 40
+#        max-retries: 3
+#        retry-delay: 500
+      - type: CLEARSIGNAL
+        mark: 50
+        max-retries: 2
+        retry-delay: 800
+      - type: SENDTASK
+        mark: 60
+        max-retries: 2
+        retry-delay: 800
+
+mybatis-plus:
+  mapper-locations: classpath:mapper/*.xml
+#  global-config:
+#    field-strategy: 0
+
+
+
+super:
+  pwd: xltys1995
+
+swagger:
+  enable: false
+
+
+# 涓嬩綅鏈洪厤缃�
+cv-slave:
+  # 杈撻�佺嚎1
+  devp[0]:
+    id: 1
+    ip: 10.10.10.191
+    port: 102
+    rack: 0
+    slot: 0
+    # ctu鏀捐揣绔欑偣
+    releaseSta[0]:
+      # 鏈珯鐐�
+      staNo: 1001
+      # 鐩爣绔欑偣
+      targetSta: 1007
+    # ctu鍏ュ簱绔欑偣
+    inSta[0]:
+      # 鏈珯鐐�
+      staNo: 1010
+      # 鐩爣绔欑偣
+      targetSta: 1013
+    # ctu鍙栬揣绔欑偣
+    takeSta[0]:
+      # 鏈珯鐐�
+      staNo: 1013
+  # 鏉$爜鎵弿浠�1
+  barcode[0]:
+    id: 1
+    ip: 10.10.10.194
+    port: 51236
+
+
diff --git a/zy-acs-cv/src/main/resources/lib/bx05-0.5.0-SNAPSHOT-javadoc.jar b/zy-acs-cv/src/main/resources/lib/bx05-0.5.0-SNAPSHOT-javadoc.jar
new file mode 100644
index 0000000..e3520b3
--- /dev/null
+++ b/zy-acs-cv/src/main/resources/lib/bx05-0.5.0-SNAPSHOT-javadoc.jar
Binary files differ
diff --git a/zy-acs-cv/src/main/resources/lib/bx05-0.5.0-SNAPSHOT.jar b/zy-acs-cv/src/main/resources/lib/bx05-0.5.0-SNAPSHOT.jar
new file mode 100644
index 0000000..4432116
--- /dev/null
+++ b/zy-acs-cv/src/main/resources/lib/bx05-0.5.0-SNAPSHOT.jar
Binary files differ
diff --git a/zy-acs-cv/src/main/resources/lib/bx05.message-0.5.0-SNAPSHOT.jar b/zy-acs-cv/src/main/resources/lib/bx05.message-0.5.0-SNAPSHOT.jar
new file mode 100644
index 0000000..2aff9ec
--- /dev/null
+++ b/zy-acs-cv/src/main/resources/lib/bx05.message-0.5.0-SNAPSHOT.jar
Binary files differ
diff --git a/zy-acs-cv/src/main/resources/lib/rxtx-2.1.7.jar b/zy-acs-cv/src/main/resources/lib/rxtx-2.1.7.jar
new file mode 100644
index 0000000..84e5f01
--- /dev/null
+++ b/zy-acs-cv/src/main/resources/lib/rxtx-2.1.7.jar
Binary files differ
diff --git a/zy-acs-cv/src/main/resources/lib/simple-xml-2.7.1.jar b/zy-acs-cv/src/main/resources/lib/simple-xml-2.7.1.jar
new file mode 100644
index 0000000..ede93e6
--- /dev/null
+++ b/zy-acs-cv/src/main/resources/lib/simple-xml-2.7.1.jar
Binary files differ
diff --git a/zy-acs-cv/src/main/resources/lib/slf4j-api-1.7.30.jar b/zy-acs-cv/src/main/resources/lib/slf4j-api-1.7.30.jar
new file mode 100644
index 0000000..29ac26f
--- /dev/null
+++ b/zy-acs-cv/src/main/resources/lib/slf4j-api-1.7.30.jar
Binary files differ
diff --git a/zy-acs-cv/src/main/resources/lib/slf4j-simple-1.7.30.jar b/zy-acs-cv/src/main/resources/lib/slf4j-simple-1.7.30.jar
new file mode 100644
index 0000000..6debaa9
--- /dev/null
+++ b/zy-acs-cv/src/main/resources/lib/slf4j-simple-1.7.30.jar
Binary files differ
diff --git a/zy-acs-cv/src/main/resources/lib/stax-1.2.0.jar b/zy-acs-cv/src/main/resources/lib/stax-1.2.0.jar
new file mode 100644
index 0000000..0df112a
--- /dev/null
+++ b/zy-acs-cv/src/main/resources/lib/stax-1.2.0.jar
Binary files differ
diff --git a/zy-acs-cv/src/main/resources/lib/stax-api-1.0.1.jar b/zy-acs-cv/src/main/resources/lib/stax-api-1.0.1.jar
new file mode 100644
index 0000000..d9a1665
--- /dev/null
+++ b/zy-acs-cv/src/main/resources/lib/stax-api-1.0.1.jar
Binary files differ
diff --git a/zy-acs-cv/src/main/resources/lib/uia-comm-0.5.1.jar b/zy-acs-cv/src/main/resources/lib/uia-comm-0.5.1.jar
new file mode 100644
index 0000000..6cb02f3
--- /dev/null
+++ b/zy-acs-cv/src/main/resources/lib/uia-comm-0.5.1.jar
Binary files differ
diff --git a/zy-acs-cv/src/main/resources/lib/uia-message-0.6.0.jar b/zy-acs-cv/src/main/resources/lib/uia-message-0.6.0.jar
new file mode 100644
index 0000000..2ccc43e
--- /dev/null
+++ b/zy-acs-cv/src/main/resources/lib/uia-message-0.6.0.jar
Binary files differ
diff --git a/zy-acs-cv/src/main/resources/lib/uia-utils-0.2.0.jar b/zy-acs-cv/src/main/resources/lib/uia-utils-0.2.0.jar
new file mode 100644
index 0000000..e0b2164
--- /dev/null
+++ b/zy-acs-cv/src/main/resources/lib/uia-utils-0.2.0.jar
Binary files differ
diff --git a/zy-acs-cv/src/main/resources/lib/xpp3-1.1.3.3.jar b/zy-acs-cv/src/main/resources/lib/xpp3-1.1.3.3.jar
new file mode 100644
index 0000000..1396bd5
--- /dev/null
+++ b/zy-acs-cv/src/main/resources/lib/xpp3-1.1.3.3.jar
Binary files differ
diff --git a/zy-acs-cv/src/main/resources/logback-spring.xml b/zy-acs-cv/src/main/resources/logback-spring.xml
new file mode 100644
index 0000000..f72c762
--- /dev/null
+++ b/zy-acs-cv/src/main/resources/logback-spring.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configuration>
+
+    <include resource="org/springframework/boot/logging/logback/defaults.xml"/>
+
+    <property name="CONSOLE_LOG_PATTERN"
+              value="%date{yyyy-MM-dd HH:mm:ss}|%highlight(%-5level)|%boldYellow(%thread)|%boldGreen(%logger) %msg%n">
+    </property>
+
+    <property name="CONSOLE_LOG_PATTERN"
+              value="%d{yyyy-MM-dd HH:mm:ss.SSS} %highlight(-%5p) ${PID:-} [%15.15t] %-40.40logger{39} : %m%n">
+    </property>
+
+    <!--鎺у埗鍙�-->
+    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
+        <encoder>
+            <pattern>${CONSOLE_LOG_PATTERN}</pattern>
+            <charset>UTF-8</charset>
+        </encoder>
+    </appender>
+
+    <!--info绾у埆-->
+    <appender name="INFO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <file>${LOG_PATH}/info.log</file>
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <FileNamePattern>${LOG_PATH}/info_%d{yyyy-MM-dd}.%i.log</FileNamePattern>
+            <maxHistory>10</maxHistory>
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+                <maxFileSize>10MB</maxFileSize>
+            </timeBasedFileNamingAndTriggeringPolicy>
+        </rollingPolicy>
+        <encoder>
+            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{35} - %msg %n</pattern>
+            <charset>UTF-8</charset>
+        </encoder>
+    </appender>
+
+    <!--error绾у埆-->
+    <appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+            <level>ERROR</level>
+        </filter>
+        <file>${LOG_PATH}/error.log</file>
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <FileNamePattern>${LOG_PATH}/error_%d{yyyy-MM-dd}.%i.log</FileNamePattern>
+            <maxHistory>10</maxHistory>
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+                <maxFileSize>10MB</maxFileSize>
+            </timeBasedFileNamingAndTriggeringPolicy>
+        </rollingPolicy>
+        <encoder>
+            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{35} - %msg %n</pattern>
+            <charset>UTF-8</charset>
+        </encoder>
+    </appender>
+
+    <root level="INFO">
+        <appender-ref ref="CONSOLE"/>
+        <appender-ref ref="INFO_FILE"/>
+        <appender-ref ref="ERROR_FILE"/>
+    </root>
+</configuration>
\ No newline at end of file
diff --git a/zy-acs-cv/src/main/resources/mapper/DevpMapper.xml b/zy-acs-cv/src/main/resources/mapper/DevpMapper.xml
new file mode 100644
index 0000000..109e5ac
--- /dev/null
+++ b/zy-acs-cv/src/main/resources/mapper/DevpMapper.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.zy.asrs.mapper.DevpMapper">
+
+    <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+    <resultMap id="BaseResultMap" type="com.zy.asrs.entity.Devp">
+        <id column="dev_no" property="devNo"/>
+        <result column="dec_desc" property="decDesc"/>
+        <result column="in_enable" property="inEnable"/>
+        <result column="out_enable" property="outEnable"/>
+        <result column="autoing" property="autoing"/>
+        <result column="loading" property="loading"/>
+        <result column="canining" property="canining"/>
+        <result column="canouting" property="canouting"/>
+        <result column="wrk_no" property="wrkNo"/>
+        <result column="barcode" property="barcode"/>
+    </resultMap>
+
+    <select id="getDevpByDevNo" resultMap="BaseResultMap">
+        select *
+        from cv_devp
+        where dev_no = #{devNo}
+    </select>
+
+
+</mapper>
diff --git a/zy-acs-cv/src/main/resources/mapper/JobMapper.xml b/zy-acs-cv/src/main/resources/mapper/JobMapper.xml
new file mode 100644
index 0000000..79235ed
--- /dev/null
+++ b/zy-acs-cv/src/main/resources/mapper/JobMapper.xml
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.zy.asrs.mapper.JobMapper">
+
+    <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+    <resultMap id="BaseResultMap" type="com.zy.asrs.entity.Job">
+        <id column="id" property="id"/>
+        <result column="task_no" property="taskNo"/>
+        <result column="batch_no" property="batchNo"/>
+        <result column="loc" property="loc"/>
+        <result column="sta_no" property="staNo"/>
+        <result column="barcode" property="barcode"/>
+        <result column="job_no" property="jobNo"/>
+        <result column="job_sts" property="jobSts"/>
+        <result column="start_time" property="startTime"/>
+        <result column="wms_time" property="wmsTime"/>
+        <result column="rcs_time" property="rcsTime"/>
+        <result column="status" property="status"/>
+        <result column="deleted" property="deleted"/>
+        <result column="tenant_id" property="tenantId"/>
+        <result column="create_by" property="createBy"/>
+        <result column="create_time" property="createTime"/>
+        <result column="update_by" property="updateBy"/>
+        <result column="update_time" property="updateTime"/>
+        <result column="memo" property="memo"/>
+    </resultMap>
+
+
+    <select id="getJobByTaskNo" resultMap="BaseResultMap">
+        select *
+        from cv_job
+        where task_no = #{seqNum}
+        order by id desc limit 1
+    </select>
+
+
+    <select id="getJobByJobNo" resultMap="BaseResultMap">
+        select *
+        from cv_job
+        where job_no = #{workNo}
+        order by id desc limit 1
+    </select>
+
+    <select id="getJobByJobNoAndJobSts" resultMap="BaseResultMap">
+        select *
+        from cv_job
+        where job_no = #{workNo}
+          and job_sts = #{jobSts}
+        order by id desc limit 1
+    </select>
+
+    <select id="getJobByBarcodeAndJobSts" resultMap="BaseResultMap">
+        select *
+        from cv_job
+        where barcode = #{barcode}
+          and job_sts = #{jobSts}
+        order by id desc limit 1
+    </select>
+
+    <select id="getJobByBarcode" resultMap="BaseResultMap">
+        select *
+        from cv_job
+        where barcode = #{barcode}
+          and job_sts = #{jobSts}
+        order by id desc limit 1
+    </select>
+
+
+    <select id="listJobByJobSts" resultMap="BaseResultMap">
+        select *
+        from cv_job
+        where job_sts = #{jobSts}
+    </select>
+
+    <select id="listJobByJobStsAndDay" resultMap="BaseResultMap">
+        select *
+        from cv_job
+        where job_sts = #{jobSts}
+          and DATEDIFF(NOW(), #{day}) > 1
+    </select>
+
+
+    <select id="listJobToLog" resultMap="BaseResultMap">
+        select *
+        from cv_job
+        where job_sts = #{jobSts}
+          and DATEDIFF(NOW(), #{day}) > 1
+    </select>
+</mapper>
diff --git a/zy-acs-cv/src/main/resources/mapper/WrkLastnoMapper.xml b/zy-acs-cv/src/main/resources/mapper/WrkLastnoMapper.xml
new file mode 100644
index 0000000..87611ed
--- /dev/null
+++ b/zy-acs-cv/src/main/resources/mapper/WrkLastnoMapper.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.zy.asrs.mapper.WrkLastnoMapper">
+
+
+</mapper>
diff --git a/zy-acs-cv/src/main/resources/wcs.sql b/zy-acs-cv/src/main/resources/wcs.sql
new file mode 100644
index 0000000..69ad83c
--- /dev/null
+++ b/zy-acs-cv/src/main/resources/wcs.sql
@@ -0,0 +1,109 @@
+/*
+ Navicat Premium Data Transfer
+
+ Source Server         : dockerMySql
+ Source Server Type    : MySQL
+ Source Server Version : 50744
+ Source Host           : 127.0.0.1:3306
+ Source Schema         : wcs
+
+ Target Server Type    : MySQL
+ Target Server Version : 50744
+ File Encoding         : 65001
+
+ Date: 20/01/2026 16:44:09
+*/
+
+SET NAMES utf8mb4;
+SET
+FOREIGN_KEY_CHECKS = 0;
+
+-- ----------------------------
+-- Table structure for cv_devp
+-- ----------------------------
+DROP TABLE IF EXISTS `cv_devp`;
+CREATE TABLE `cv_devp`
+(
+    `id`          bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'ID',
+    `dev_no`      varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '缂栧彿',
+    `dec_desc`    varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '鍚嶇О(*)',
+    `in_enable`   varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '鍙叆',
+    `out_enable`  varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '鍙嚭',
+    `autoing`     varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '鑷姩',
+    `loading`     varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '鏈夌墿',
+    `canining`    varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '鑳藉叆',
+    `canouting`   varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '鑳藉嚭',
+    `wrk_no`      int(11) NULL DEFAULT NULL COMMENT '宸ヤ綔鍙�',
+    `barcode`     varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '鏉$爜',
+    `loc_type`    varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '搴撲綅绫诲瀷',
+    `status`      int(1) NOT NULL DEFAULT 1 COMMENT '鐘舵�亄1:姝e父,0:鍐荤粨}',
+    `deleted`     int(1) NOT NULL DEFAULT 0 COMMENT '鏄惁鍒犻櫎{1:鏄�,0:鍚',
+    `tenant_id`   bigint(20) NULL DEFAULT NULL COMMENT '绉熸埛[sys_tenant]',
+    `create_by`   bigint(20) NULL DEFAULT NULL COMMENT '娣诲姞浜哄憳[sys_user]',
+    `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '娣诲姞鏃堕棿',
+    `update_by`   bigint(20) NULL DEFAULT NULL COMMENT '淇敼浜哄憳[sys_user]',
+    `update_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '淇敼鏃堕棿',
+    `memo`        varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '澶囨敞',
+    PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 17 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
+
+-- ----------------------------
+-- Records of cv_devp
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for cv_job
+-- ----------------------------
+DROP TABLE IF EXISTS `cv_job`;
+CREATE TABLE `cv_job`
+(
+    `id`          bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'ID',
+    `seq_num`     varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '缂栧彿',
+    `work_no`     varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '鍚嶇О(*)',
+    `job_sts`     int(11) NULL DEFAULT 1 COMMENT '浠诲姟鐘舵��',
+    `status`      int(1) NOT NULL DEFAULT 1 COMMENT '鐘舵�亄1:姝e父,0:鍐荤粨}',
+    `deleted`     int(1) NOT NULL DEFAULT 0 COMMENT '鏄惁鍒犻櫎{1:鏄�,0:鍚',
+    `tenant_id`   bigint(20) NULL DEFAULT NULL COMMENT '绉熸埛[sys_tenant]',
+    `create_by`   bigint(20) NULL DEFAULT NULL COMMENT '娣诲姞浜哄憳[sys_user]',
+    `create_time` timestamp                                               NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '娣诲姞鏃堕棿',
+    `update_by`   bigint(20) NULL DEFAULT NULL COMMENT '淇敼浜哄憳[sys_user]',
+    `update_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '淇敼鏃堕棿',
+    `memo`        varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '澶囨敞',
+    PRIMARY KEY (`id`) USING BTREE,
+    UNIQUE INDEX `uq_cv_job_seq_num`(`seq_num`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 19 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
+
+-- ----------------------------
+-- Records of cv_job
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for cv_work_lastno
+-- ----------------------------
+DROP TABLE IF EXISTS `cv_work_lastno`;
+CREATE TABLE `cv_work_lastno`
+(
+    `id`          bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'ID',
+    `type`        varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '缂栧彿',
+    `wrk_no`      varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '褰撳墠宸ヤ綔鍙�',
+    `s_no`        int(11) NULL DEFAULT NULL COMMENT '璧峰宸ヤ綔鍙�',
+    `e_no`        int(11) NULL DEFAULT NULL COMMENT '缁撴潫宸ヤ綔鍙�',
+    `status`      int(1) NOT NULL DEFAULT 1 COMMENT '鐘舵�亄1:姝e父,0:鍐荤粨}',
+    `deleted`     int(1) NOT NULL DEFAULT 0 COMMENT '鏄惁鍒犻櫎{1:鏄�,0:鍚',
+    `tenant_id`   bigint(20) NULL DEFAULT NULL COMMENT '绉熸埛[sys_tenant]',
+    `create_by`   bigint(20) NULL DEFAULT NULL COMMENT '娣诲姞浜哄憳[sys_user]',
+    `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '娣诲姞鏃堕棿',
+    `update_by`   bigint(20) NULL DEFAULT NULL COMMENT '淇敼浜哄憳[sys_user]',
+    `update_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '淇敼鏃堕棿',
+    `memo`        varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '澶囨敞',
+    PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 17 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
+
+-- ----------------------------
+-- Records of cv_work_lastno
+-- ----------------------------
+INSERT INTO `cv_work_lastno`
+VALUES (1, '1', '1', 1, 9990, 1, 0, NULL, NULL, '2026-01-20 08:15:11', NULL, '2026-01-20 08:15:11', NULL);
+
+SET
+FOREIGN_KEY_CHECKS = 1;
diff --git a/zy-acs-cv/src/main/webapp/static/css/animate.min.css b/zy-acs-cv/src/main/webapp/static/css/animate.min.css
new file mode 100644
index 0000000..76d2fe1
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/css/animate.min.css
@@ -0,0 +1,7 @@
+@charset "UTF-8";/*!
+ * animate.css - https://animate.style/
+ * Version - 4.1.1
+ * Licensed under the MIT license - http://opensource.org/licenses/MIT
+ *
+ * Copyright (c) 2020 Animate.css
+ */:root{--animate-duration:1s;--animate-delay:1s;--animate-repeat:1}.animate__animated{-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-duration:var(--animate-duration);animation-duration:var(--animate-duration);-webkit-animation-fill-mode:both;animation-fill-mode:both}.animate__animated.animate__infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.animate__animated.animate__repeat-1{-webkit-animation-iteration-count:1;animation-iteration-count:1;-webkit-animation-iteration-count:var(--animate-repeat);animation-iteration-count:var(--animate-repeat)}.animate__animated.animate__repeat-2{-webkit-animation-iteration-count:2;animation-iteration-count:2;-webkit-animation-iteration-count:calc(var(--animate-repeat)*2);animation-iteration-count:calc(var(--animate-repeat)*2)}.animate__animated.animate__repeat-3{-webkit-animation-iteration-count:3;animation-iteration-count:3;-webkit-animation-iteration-count:calc(var(--animate-repeat)*3);animation-iteration-count:calc(var(--animate-repeat)*3)}.animate__animated.animate__delay-1s{-webkit-animation-delay:1s;animation-delay:1s;-webkit-animation-delay:var(--animate-delay);animation-delay:var(--animate-delay)}.animate__animated.animate__delay-2s{-webkit-animation-delay:2s;animation-delay:2s;-webkit-animation-delay:calc(var(--animate-delay)*2);animation-delay:calc(var(--animate-delay)*2)}.animate__animated.animate__delay-3s{-webkit-animation-delay:3s;animation-delay:3s;-webkit-animation-delay:calc(var(--animate-delay)*3);animation-delay:calc(var(--animate-delay)*3)}.animate__animated.animate__delay-4s{-webkit-animation-delay:4s;animation-delay:4s;-webkit-animation-delay:calc(var(--animate-delay)*4);animation-delay:calc(var(--animate-delay)*4)}.animate__animated.animate__delay-5s{-webkit-animation-delay:5s;animation-delay:5s;-webkit-animation-delay:calc(var(--animate-delay)*5);animation-delay:calc(var(--animate-delay)*5)}.animate__animated.animate__faster{-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-animation-duration:calc(var(--animate-duration)/2);animation-duration:calc(var(--animate-duration)/2)}.animate__animated.animate__fast{-webkit-animation-duration:.8s;animation-duration:.8s;-webkit-animation-duration:calc(var(--animate-duration)*0.8);animation-duration:calc(var(--animate-duration)*0.8)}.animate__animated.animate__slow{-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-duration:calc(var(--animate-duration)*2);animation-duration:calc(var(--animate-duration)*2)}.animate__animated.animate__slower{-webkit-animation-duration:3s;animation-duration:3s;-webkit-animation-duration:calc(var(--animate-duration)*3);animation-duration:calc(var(--animate-duration)*3)}@media (prefers-reduced-motion:reduce),print{.animate__animated{-webkit-animation-duration:1ms!important;animation-duration:1ms!important;-webkit-transition-duration:1ms!important;transition-duration:1ms!important;-webkit-animation-iteration-count:1!important;animation-iteration-count:1!important}.animate__animated[class*=Out]{opacity:0}}@-webkit-keyframes bounce{0%,20%,53%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0);transform:translateZ(0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-30px,0) scaleY(1.1);transform:translate3d(0,-30px,0) scaleY(1.1)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-15px,0) scaleY(1.05);transform:translate3d(0,-15px,0) scaleY(1.05)}80%{-webkit-transition-timing-function:cubic-bezier(.215,.61,.355,1);transition-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0) scaleY(.95);transform:translateZ(0) scaleY(.95)}90%{-webkit-transform:translate3d(0,-4px,0) scaleY(1.02);transform:translate3d(0,-4px,0) scaleY(1.02)}}@keyframes bounce{0%,20%,53%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0);transform:translateZ(0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-30px,0) scaleY(1.1);transform:translate3d(0,-30px,0) scaleY(1.1)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-15px,0) scaleY(1.05);transform:translate3d(0,-15px,0) scaleY(1.05)}80%{-webkit-transition-timing-function:cubic-bezier(.215,.61,.355,1);transition-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0) scaleY(.95);transform:translateZ(0) scaleY(.95)}90%{-webkit-transform:translate3d(0,-4px,0) scaleY(1.02);transform:translate3d(0,-4px,0) scaleY(1.02)}}.animate__bounce{-webkit-animation-name:bounce;animation-name:bounce;-webkit-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}@keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}.animate__flash{-webkit-animation-name:flash;animation-name:flash}@-webkit-keyframes pulse{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes pulse{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.animate__pulse{-webkit-animation-name:pulse;animation-name:pulse;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}@-webkit-keyframes rubberBand{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes rubberBand{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.animate__rubberBand{-webkit-animation-name:rubberBand;animation-name:rubberBand}@-webkit-keyframes shakeX{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}@keyframes shakeX{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}.animate__shakeX{-webkit-animation-name:shakeX;animation-name:shakeX}@-webkit-keyframes shakeY{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}20%,40%,60%,80%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}}@keyframes shakeY{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}20%,40%,60%,80%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}}.animate__shakeY{-webkit-animation-name:shakeY;animation-name:shakeY}@-webkit-keyframes headShake{0%{-webkit-transform:translateX(0);transform:translateX(0)}6.5%{-webkit-transform:translateX(-6px) rotateY(-9deg);transform:translateX(-6px) rotateY(-9deg)}18.5%{-webkit-transform:translateX(5px) rotateY(7deg);transform:translateX(5px) rotateY(7deg)}31.5%{-webkit-transform:translateX(-3px) rotateY(-5deg);transform:translateX(-3px) rotateY(-5deg)}43.5%{-webkit-transform:translateX(2px) rotateY(3deg);transform:translateX(2px) rotateY(3deg)}50%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes headShake{0%{-webkit-transform:translateX(0);transform:translateX(0)}6.5%{-webkit-transform:translateX(-6px) rotateY(-9deg);transform:translateX(-6px) rotateY(-9deg)}18.5%{-webkit-transform:translateX(5px) rotateY(7deg);transform:translateX(5px) rotateY(7deg)}31.5%{-webkit-transform:translateX(-3px) rotateY(-5deg);transform:translateX(-3px) rotateY(-5deg)}43.5%{-webkit-transform:translateX(2px) rotateY(3deg);transform:translateX(2px) rotateY(3deg)}50%{-webkit-transform:translateX(0);transform:translateX(0)}}.animate__headShake{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-animation-name:headShake;animation-name:headShake}@-webkit-keyframes swing{20%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@keyframes swing{20%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}.animate__swing{-webkit-transform-origin:top center;transform-origin:top center;-webkit-animation-name:swing;animation-name:swing}@-webkit-keyframes tada{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate(-3deg);transform:scale3d(.9,.9,.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(3deg);transform:scale3d(1.1,1.1,1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(-3deg);transform:scale3d(1.1,1.1,1.1) rotate(-3deg)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes tada{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate(-3deg);transform:scale3d(.9,.9,.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(3deg);transform:scale3d(1.1,1.1,1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(-3deg);transform:scale3d(1.1,1.1,1.1) rotate(-3deg)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.animate__tada{-webkit-animation-name:tada;animation-name:tada}@-webkit-keyframes wobble{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}15%{-webkit-transform:translate3d(-25%,0,0) rotate(-5deg);transform:translate3d(-25%,0,0) rotate(-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate(3deg);transform:translate3d(20%,0,0) rotate(3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate(-3deg);transform:translate3d(-15%,0,0) rotate(-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate(2deg);transform:translate3d(10%,0,0) rotate(2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate(-1deg);transform:translate3d(-5%,0,0) rotate(-1deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes wobble{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}15%{-webkit-transform:translate3d(-25%,0,0) rotate(-5deg);transform:translate3d(-25%,0,0) rotate(-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate(3deg);transform:translate3d(20%,0,0) rotate(3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate(-3deg);transform:translate3d(-15%,0,0) rotate(-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate(2deg);transform:translate3d(10%,0,0) rotate(2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate(-1deg);transform:translate3d(-5%,0,0) rotate(-1deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__wobble{-webkit-animation-name:wobble;animation-name:wobble}@-webkit-keyframes jello{0%,11.1%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skewX(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}@keyframes jello{0%,11.1%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skewX(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}.animate__jello{-webkit-animation-name:jello;animation-name:jello;-webkit-transform-origin:center;transform-origin:center}@-webkit-keyframes heartBeat{0%{-webkit-transform:scale(1);transform:scale(1)}14%{-webkit-transform:scale(1.3);transform:scale(1.3)}28%{-webkit-transform:scale(1);transform:scale(1)}42%{-webkit-transform:scale(1.3);transform:scale(1.3)}70%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes heartBeat{0%{-webkit-transform:scale(1);transform:scale(1)}14%{-webkit-transform:scale(1.3);transform:scale(1.3)}28%{-webkit-transform:scale(1);transform:scale(1)}42%{-webkit-transform:scale(1.3);transform:scale(1.3)}70%{-webkit-transform:scale(1);transform:scale(1)}}.animate__heartBeat{-webkit-animation-name:heartBeat;animation-name:heartBeat;-webkit-animation-duration:1.3s;animation-duration:1.3s;-webkit-animation-duration:calc(var(--animate-duration)*1.3);animation-duration:calc(var(--animate-duration)*1.3);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}@-webkit-keyframes backInDown{0%{-webkit-transform:translateY(-1200px) scale(.7);transform:translateY(-1200px) scale(.7);opacity:.7}80%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes backInDown{0%{-webkit-transform:translateY(-1200px) scale(.7);transform:translateY(-1200px) scale(.7);opacity:.7}80%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}.animate__backInDown{-webkit-animation-name:backInDown;animation-name:backInDown}@-webkit-keyframes backInLeft{0%{-webkit-transform:translateX(-2000px) scale(.7);transform:translateX(-2000px) scale(.7);opacity:.7}80%{-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes backInLeft{0%{-webkit-transform:translateX(-2000px) scale(.7);transform:translateX(-2000px) scale(.7);opacity:.7}80%{-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}.animate__backInLeft{-webkit-animation-name:backInLeft;animation-name:backInLeft}@-webkit-keyframes backInRight{0%{-webkit-transform:translateX(2000px) scale(.7);transform:translateX(2000px) scale(.7);opacity:.7}80%{-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes backInRight{0%{-webkit-transform:translateX(2000px) scale(.7);transform:translateX(2000px) scale(.7);opacity:.7}80%{-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}.animate__backInRight{-webkit-animation-name:backInRight;animation-name:backInRight}@-webkit-keyframes backInUp{0%{-webkit-transform:translateY(1200px) scale(.7);transform:translateY(1200px) scale(.7);opacity:.7}80%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes backInUp{0%{-webkit-transform:translateY(1200px) scale(.7);transform:translateY(1200px) scale(.7);opacity:.7}80%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}.animate__backInUp{-webkit-animation-name:backInUp;animation-name:backInUp}@-webkit-keyframes backOutDown{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:translateY(700px) scale(.7);transform:translateY(700px) scale(.7);opacity:.7}}@keyframes backOutDown{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:translateY(700px) scale(.7);transform:translateY(700px) scale(.7);opacity:.7}}.animate__backOutDown{-webkit-animation-name:backOutDown;animation-name:backOutDown}@-webkit-keyframes backOutLeft{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7);opacity:.7}to{-webkit-transform:translateX(-2000px) scale(.7);transform:translateX(-2000px) scale(.7);opacity:.7}}@keyframes backOutLeft{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7);opacity:.7}to{-webkit-transform:translateX(-2000px) scale(.7);transform:translateX(-2000px) scale(.7);opacity:.7}}.animate__backOutLeft{-webkit-animation-name:backOutLeft;animation-name:backOutLeft}@-webkit-keyframes backOutRight{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7);opacity:.7}to{-webkit-transform:translateX(2000px) scale(.7);transform:translateX(2000px) scale(.7);opacity:.7}}@keyframes backOutRight{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7);opacity:.7}to{-webkit-transform:translateX(2000px) scale(.7);transform:translateX(2000px) scale(.7);opacity:.7}}.animate__backOutRight{-webkit-animation-name:backOutRight;animation-name:backOutRight}@-webkit-keyframes backOutUp{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:translateY(-700px) scale(.7);transform:translateY(-700px) scale(.7);opacity:.7}}@keyframes backOutUp{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:translateY(-700px) scale(.7);transform:translateY(-700px) scale(.7);opacity:.7}}.animate__backOutUp{-webkit-animation-name:backOutUp;animation-name:backOutUp}@-webkit-keyframes bounceIn{0%,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes bounceIn{0%,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}}.animate__bounceIn{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-duration:calc(var(--animate-duration)*0.75);animation-duration:calc(var(--animate-duration)*0.75);-webkit-animation-name:bounceIn;animation-name:bounceIn}@-webkit-keyframes bounceInDown{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0) scaleY(3);transform:translate3d(0,-3000px,0) scaleY(3)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0) scaleY(.9);transform:translate3d(0,25px,0) scaleY(.9)}75%{-webkit-transform:translate3d(0,-10px,0) scaleY(.95);transform:translate3d(0,-10px,0) scaleY(.95)}90%{-webkit-transform:translate3d(0,5px,0) scaleY(.985);transform:translate3d(0,5px,0) scaleY(.985)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInDown{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0) scaleY(3);transform:translate3d(0,-3000px,0) scaleY(3)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0) scaleY(.9);transform:translate3d(0,25px,0) scaleY(.9)}75%{-webkit-transform:translate3d(0,-10px,0) scaleY(.95);transform:translate3d(0,-10px,0) scaleY(.95)}90%{-webkit-transform:translate3d(0,5px,0) scaleY(.985);transform:translate3d(0,5px,0) scaleY(.985)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__bounceInDown{-webkit-animation-name:bounceInDown;animation-name:bounceInDown}@-webkit-keyframes bounceInLeft{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0) scaleX(3);transform:translate3d(-3000px,0,0) scaleX(3)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0) scaleX(1);transform:translate3d(25px,0,0) scaleX(1)}75%{-webkit-transform:translate3d(-10px,0,0) scaleX(.98);transform:translate3d(-10px,0,0) scaleX(.98)}90%{-webkit-transform:translate3d(5px,0,0) scaleX(.995);transform:translate3d(5px,0,0) scaleX(.995)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInLeft{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0) scaleX(3);transform:translate3d(-3000px,0,0) scaleX(3)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0) scaleX(1);transform:translate3d(25px,0,0) scaleX(1)}75%{-webkit-transform:translate3d(-10px,0,0) scaleX(.98);transform:translate3d(-10px,0,0) scaleX(.98)}90%{-webkit-transform:translate3d(5px,0,0) scaleX(.995);transform:translate3d(5px,0,0) scaleX(.995)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__bounceInLeft{-webkit-animation-name:bounceInLeft;animation-name:bounceInLeft}@-webkit-keyframes bounceInRight{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(3000px,0,0) scaleX(3);transform:translate3d(3000px,0,0) scaleX(3)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0) scaleX(1);transform:translate3d(-25px,0,0) scaleX(1)}75%{-webkit-transform:translate3d(10px,0,0) scaleX(.98);transform:translate3d(10px,0,0) scaleX(.98)}90%{-webkit-transform:translate3d(-5px,0,0) scaleX(.995);transform:translate3d(-5px,0,0) scaleX(.995)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInRight{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(3000px,0,0) scaleX(3);transform:translate3d(3000px,0,0) scaleX(3)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0) scaleX(1);transform:translate3d(-25px,0,0) scaleX(1)}75%{-webkit-transform:translate3d(10px,0,0) scaleX(.98);transform:translate3d(10px,0,0) scaleX(.98)}90%{-webkit-transform:translate3d(-5px,0,0) scaleX(.995);transform:translate3d(-5px,0,0) scaleX(.995)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__bounceInRight{-webkit-animation-name:bounceInRight;animation-name:bounceInRight}@-webkit-keyframes bounceInUp{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,3000px,0) scaleY(5);transform:translate3d(0,3000px,0) scaleY(5)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0) scaleY(.9);transform:translate3d(0,-20px,0) scaleY(.9)}75%{-webkit-transform:translate3d(0,10px,0) scaleY(.95);transform:translate3d(0,10px,0) scaleY(.95)}90%{-webkit-transform:translate3d(0,-5px,0) scaleY(.985);transform:translate3d(0,-5px,0) scaleY(.985)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInUp{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,3000px,0) scaleY(5);transform:translate3d(0,3000px,0) scaleY(5)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0) scaleY(.9);transform:translate3d(0,-20px,0) scaleY(.9)}75%{-webkit-transform:translate3d(0,10px,0) scaleY(.95);transform:translate3d(0,10px,0) scaleY(.95)}90%{-webkit-transform:translate3d(0,-5px,0) scaleY(.985);transform:translate3d(0,-5px,0) scaleY(.985)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__bounceInUp{-webkit-animation-name:bounceInUp;animation-name:bounceInUp}@-webkit-keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}to{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}@keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}to{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}.animate__bounceOut{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-duration:calc(var(--animate-duration)*0.75);animation-duration:calc(var(--animate-duration)*0.75);-webkit-animation-name:bounceOut;animation-name:bounceOut}@-webkit-keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0) scaleY(.985);transform:translate3d(0,10px,0) scaleY(.985)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0) scaleY(.9);transform:translate3d(0,-20px,0) scaleY(.9)}to{opacity:0;-webkit-transform:translate3d(0,2000px,0) scaleY(3);transform:translate3d(0,2000px,0) scaleY(3)}}@keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0) scaleY(.985);transform:translate3d(0,10px,0) scaleY(.985)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0) scaleY(.9);transform:translate3d(0,-20px,0) scaleY(.9)}to{opacity:0;-webkit-transform:translate3d(0,2000px,0) scaleY(3);transform:translate3d(0,2000px,0) scaleY(3)}}.animate__bounceOutDown{-webkit-animation-name:bounceOutDown;animation-name:bounceOutDown}@-webkit-keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0) scaleX(.9);transform:translate3d(20px,0,0) scaleX(.9)}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0) scaleX(2);transform:translate3d(-2000px,0,0) scaleX(2)}}@keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0) scaleX(.9);transform:translate3d(20px,0,0) scaleX(.9)}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0) scaleX(2);transform:translate3d(-2000px,0,0) scaleX(2)}}.animate__bounceOutLeft{-webkit-animation-name:bounceOutLeft;animation-name:bounceOutLeft}@-webkit-keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0) scaleX(.9);transform:translate3d(-20px,0,0) scaleX(.9)}to{opacity:0;-webkit-transform:translate3d(2000px,0,0) scaleX(2);transform:translate3d(2000px,0,0) scaleX(2)}}@keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0) scaleX(.9);transform:translate3d(-20px,0,0) scaleX(.9)}to{opacity:0;-webkit-transform:translate3d(2000px,0,0) scaleX(2);transform:translate3d(2000px,0,0) scaleX(2)}}.animate__bounceOutRight{-webkit-animation-name:bounceOutRight;animation-name:bounceOutRight}@-webkit-keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0) scaleY(.985);transform:translate3d(0,-10px,0) scaleY(.985)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0) scaleY(.9);transform:translate3d(0,20px,0) scaleY(.9)}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0) scaleY(3);transform:translate3d(0,-2000px,0) scaleY(3)}}@keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0) scaleY(.985);transform:translate3d(0,-10px,0) scaleY(.985)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0) scaleY(.9);transform:translate3d(0,20px,0) scaleY(.9)}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0) scaleY(3);transform:translate3d(0,-2000px,0) scaleY(3)}}.animate__bounceOutUp{-webkit-animation-name:bounceOutUp;animation-name:bounceOutUp}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate__fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn}@-webkit-keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}@-webkit-keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInDownBig{-webkit-animation-name:fadeInDownBig;animation-name:fadeInDownBig}@-webkit-keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInLeft{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft}@-webkit-keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInLeftBig{-webkit-animation-name:fadeInLeftBig;animation-name:fadeInLeftBig}@-webkit-keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInRight{-webkit-animation-name:fadeInRight;animation-name:fadeInRight}@-webkit-keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInRightBig{-webkit-animation-name:fadeInRightBig;animation-name:fadeInRightBig}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInUp{-webkit-animation-name:fadeInUp;animation-name:fadeInUp}@-webkit-keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInUpBig{-webkit-animation-name:fadeInUpBig;animation-name:fadeInUpBig}@-webkit-keyframes fadeInTopLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,-100%,0);transform:translate3d(-100%,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInTopLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,-100%,0);transform:translate3d(-100%,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInTopLeft{-webkit-animation-name:fadeInTopLeft;animation-name:fadeInTopLeft}@-webkit-keyframes fadeInTopRight{0%{opacity:0;-webkit-transform:translate3d(100%,-100%,0);transform:translate3d(100%,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInTopRight{0%{opacity:0;-webkit-transform:translate3d(100%,-100%,0);transform:translate3d(100%,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInTopRight{-webkit-animation-name:fadeInTopRight;animation-name:fadeInTopRight}@-webkit-keyframes fadeInBottomLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,100%,0);transform:translate3d(-100%,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInBottomLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,100%,0);transform:translate3d(-100%,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInBottomLeft{-webkit-animation-name:fadeInBottomLeft;animation-name:fadeInBottomLeft}@-webkit-keyframes fadeInBottomRight{0%{opacity:0;-webkit-transform:translate3d(100%,100%,0);transform:translate3d(100%,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInBottomRight{0%{opacity:0;-webkit-transform:translate3d(100%,100%,0);transform:translate3d(100%,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInBottomRight{-webkit-animation-name:fadeInBottomRight;animation-name:fadeInBottomRight}@-webkit-keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.animate__fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut}@-webkit-keyframes fadeOutDown{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes fadeOutDown{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.animate__fadeOutDown{-webkit-animation-name:fadeOutDown;animation-name:fadeOutDown}@-webkit-keyframes fadeOutDownBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes fadeOutDownBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.animate__fadeOutDownBig{-webkit-animation-name:fadeOutDownBig;animation-name:fadeOutDownBig}@-webkit-keyframes fadeOutLeft{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes fadeOutLeft{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.animate__fadeOutLeft{-webkit-animation-name:fadeOutLeft;animation-name:fadeOutLeft}@-webkit-keyframes fadeOutLeftBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes fadeOutLeftBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.animate__fadeOutLeftBig{-webkit-animation-name:fadeOutLeftBig;animation-name:fadeOutLeftBig}@-webkit-keyframes fadeOutRight{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes fadeOutRight{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.animate__fadeOutRight{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight}@-webkit-keyframes fadeOutRightBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes fadeOutRightBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.animate__fadeOutRightBig{-webkit-animation-name:fadeOutRightBig;animation-name:fadeOutRightBig}@-webkit-keyframes fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.animate__fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}@-webkit-keyframes fadeOutUpBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes fadeOutUpBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.animate__fadeOutUpBig{-webkit-animation-name:fadeOutUpBig;animation-name:fadeOutUpBig}@-webkit-keyframes fadeOutTopLeft{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(-100%,-100%,0);transform:translate3d(-100%,-100%,0)}}@keyframes fadeOutTopLeft{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(-100%,-100%,0);transform:translate3d(-100%,-100%,0)}}.animate__fadeOutTopLeft{-webkit-animation-name:fadeOutTopLeft;animation-name:fadeOutTopLeft}@-webkit-keyframes fadeOutTopRight{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(100%,-100%,0);transform:translate3d(100%,-100%,0)}}@keyframes fadeOutTopRight{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(100%,-100%,0);transform:translate3d(100%,-100%,0)}}.animate__fadeOutTopRight{-webkit-animation-name:fadeOutTopRight;animation-name:fadeOutTopRight}@-webkit-keyframes fadeOutBottomRight{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(100%,100%,0);transform:translate3d(100%,100%,0)}}@keyframes fadeOutBottomRight{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(100%,100%,0);transform:translate3d(100%,100%,0)}}.animate__fadeOutBottomRight{-webkit-animation-name:fadeOutBottomRight;animation-name:fadeOutBottomRight}@-webkit-keyframes fadeOutBottomLeft{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(-100%,100%,0);transform:translate3d(-100%,100%,0)}}@keyframes fadeOutBottomLeft{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(-100%,100%,0);transform:translate3d(-100%,100%,0)}}.animate__fadeOutBottomLeft{-webkit-animation-name:fadeOutBottomLeft;animation-name:fadeOutBottomLeft}@-webkit-keyframes flip{0%{-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg);transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}to{-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}@keyframes flip{0%{-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg);transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}to{-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}.animate__animated.animate__flip{-webkit-backface-visibility:visible;backface-visibility:visible;-webkit-animation-name:flip;animation-name:flip}@-webkit-keyframes flipInX{0%{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotateX(10deg);transform:perspective(400px) rotateX(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateX(-5deg);transform:perspective(400px) rotateX(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInX{0%{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotateX(10deg);transform:perspective(400px) rotateX(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateX(-5deg);transform:perspective(400px) rotateX(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.animate__flipInX{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInX;animation-name:flipInX}@-webkit-keyframes flipInY{0%{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotateY(-20deg);transform:perspective(400px) rotateY(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotateY(10deg);transform:perspective(400px) rotateY(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateY(-5deg);transform:perspective(400px) rotateY(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInY{0%{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotateY(-20deg);transform:perspective(400px) rotateY(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotateY(10deg);transform:perspective(400px) rotateY(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateY(-5deg);transform:perspective(400px) rotateY(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.animate__flipInY{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInY;animation-name:flipInY}@-webkit-keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);opacity:0}}@keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);opacity:0}}.animate__flipOutX{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-duration:calc(var(--animate-duration)*0.75);animation-duration:calc(var(--animate-duration)*0.75);-webkit-animation-name:flipOutX;animation-name:flipOutX;-webkit-backface-visibility:visible!important;backface-visibility:visible!important}@-webkit-keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateY(-15deg);transform:perspective(400px) rotateY(-15deg);opacity:1}to{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);opacity:0}}@keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateY(-15deg);transform:perspective(400px) rotateY(-15deg);opacity:1}to{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);opacity:0}}.animate__flipOutY{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-duration:calc(var(--animate-duration)*0.75);animation-duration:calc(var(--animate-duration)*0.75);-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipOutY;animation-name:flipOutY}@-webkit-keyframes lightSpeedInRight{0%{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes lightSpeedInRight{0%{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__lightSpeedInRight{-webkit-animation-name:lightSpeedInRight;animation-name:lightSpeedInRight;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}@-webkit-keyframes lightSpeedInLeft{0%{-webkit-transform:translate3d(-100%,0,0) skewX(30deg);transform:translate3d(-100%,0,0) skewX(30deg);opacity:0}60%{-webkit-transform:skewX(-20deg);transform:skewX(-20deg);opacity:1}80%{-webkit-transform:skewX(5deg);transform:skewX(5deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes lightSpeedInLeft{0%{-webkit-transform:translate3d(-100%,0,0) skewX(30deg);transform:translate3d(-100%,0,0) skewX(30deg);opacity:0}60%{-webkit-transform:skewX(-20deg);transform:skewX(-20deg);opacity:1}80%{-webkit-transform:skewX(5deg);transform:skewX(5deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__lightSpeedInLeft{-webkit-animation-name:lightSpeedInLeft;animation-name:lightSpeedInLeft;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}@-webkit-keyframes lightSpeedOutRight{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}@keyframes lightSpeedOutRight{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}.animate__lightSpeedOutRight{-webkit-animation-name:lightSpeedOutRight;animation-name:lightSpeedOutRight;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}@-webkit-keyframes lightSpeedOutLeft{0%{opacity:1}to{-webkit-transform:translate3d(-100%,0,0) skewX(-30deg);transform:translate3d(-100%,0,0) skewX(-30deg);opacity:0}}@keyframes lightSpeedOutLeft{0%{opacity:1}to{-webkit-transform:translate3d(-100%,0,0) skewX(-30deg);transform:translate3d(-100%,0,0) skewX(-30deg);opacity:0}}.animate__lightSpeedOutLeft{-webkit-animation-name:lightSpeedOutLeft;animation-name:lightSpeedOutLeft;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}@-webkit-keyframes rotateIn{0%{-webkit-transform:rotate(-200deg);transform:rotate(-200deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateIn{0%{-webkit-transform:rotate(-200deg);transform:rotate(-200deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.animate__rotateIn{-webkit-animation-name:rotateIn;animation-name:rotateIn;-webkit-transform-origin:center;transform-origin:center}@-webkit-keyframes rotateInDownLeft{0%{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateInDownLeft{0%{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.animate__rotateInDownLeft{-webkit-animation-name:rotateInDownLeft;animation-name:rotateInDownLeft;-webkit-transform-origin:left bottom;transform-origin:left bottom}@-webkit-keyframes rotateInDownRight{0%{-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateInDownRight{0%{-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.animate__rotateInDownRight{-webkit-animation-name:rotateInDownRight;animation-name:rotateInDownRight;-webkit-transform-origin:right bottom;transform-origin:right bottom}@-webkit-keyframes rotateInUpLeft{0%{-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateInUpLeft{0%{-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.animate__rotateInUpLeft{-webkit-animation-name:rotateInUpLeft;animation-name:rotateInUpLeft;-webkit-transform-origin:left bottom;transform-origin:left bottom}@-webkit-keyframes rotateInUpRight{0%{-webkit-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateInUpRight{0%{-webkit-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.animate__rotateInUpRight{-webkit-animation-name:rotateInUpRight;animation-name:rotateInUpRight;-webkit-transform-origin:right bottom;transform-origin:right bottom}@-webkit-keyframes rotateOut{0%{opacity:1}to{-webkit-transform:rotate(200deg);transform:rotate(200deg);opacity:0}}@keyframes rotateOut{0%{opacity:1}to{-webkit-transform:rotate(200deg);transform:rotate(200deg);opacity:0}}.animate__rotateOut{-webkit-animation-name:rotateOut;animation-name:rotateOut;-webkit-transform-origin:center;transform-origin:center}@-webkit-keyframes rotateOutDownLeft{0%{opacity:1}to{-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}}@keyframes rotateOutDownLeft{0%{opacity:1}to{-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}}.animate__rotateOutDownLeft{-webkit-animation-name:rotateOutDownLeft;animation-name:rotateOutDownLeft;-webkit-transform-origin:left bottom;transform-origin:left bottom}@-webkit-keyframes rotateOutDownRight{0%{opacity:1}to{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}@keyframes rotateOutDownRight{0%{opacity:1}to{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}.animate__rotateOutDownRight{-webkit-animation-name:rotateOutDownRight;animation-name:rotateOutDownRight;-webkit-transform-origin:right bottom;transform-origin:right bottom}@-webkit-keyframes rotateOutUpLeft{0%{opacity:1}to{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}@keyframes rotateOutUpLeft{0%{opacity:1}to{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}.animate__rotateOutUpLeft{-webkit-animation-name:rotateOutUpLeft;animation-name:rotateOutUpLeft;-webkit-transform-origin:left bottom;transform-origin:left bottom}@-webkit-keyframes rotateOutUpRight{0%{opacity:1}to{-webkit-transform:rotate(90deg);transform:rotate(90deg);opacity:0}}@keyframes rotateOutUpRight{0%{opacity:1}to{-webkit-transform:rotate(90deg);transform:rotate(90deg);opacity:0}}.animate__rotateOutUpRight{-webkit-animation-name:rotateOutUpRight;animation-name:rotateOutUpRight;-webkit-transform-origin:right bottom;transform-origin:right bottom}@-webkit-keyframes hinge{0%{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate(80deg);transform:rotate(80deg);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate(60deg);transform:rotate(60deg);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}@keyframes hinge{0%{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate(80deg);transform:rotate(80deg);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate(60deg);transform:rotate(60deg);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}.animate__hinge{-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-duration:calc(var(--animate-duration)*2);animation-duration:calc(var(--animate-duration)*2);-webkit-animation-name:hinge;animation-name:hinge;-webkit-transform-origin:top left;transform-origin:top left}@-webkit-keyframes jackInTheBox{0%{opacity:0;-webkit-transform:scale(.1) rotate(30deg);transform:scale(.1) rotate(30deg);-webkit-transform-origin:center bottom;transform-origin:center bottom}50%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}70%{-webkit-transform:rotate(3deg);transform:rotate(3deg)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes jackInTheBox{0%{opacity:0;-webkit-transform:scale(.1) rotate(30deg);transform:scale(.1) rotate(30deg);-webkit-transform-origin:center bottom;transform-origin:center bottom}50%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}70%{-webkit-transform:rotate(3deg);transform:rotate(3deg)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}.animate__jackInTheBox{-webkit-animation-name:jackInTheBox;animation-name:jackInTheBox}@-webkit-keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate(-120deg);transform:translate3d(-100%,0,0) rotate(-120deg)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate(-120deg);transform:translate3d(-100%,0,0) rotate(-120deg)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__rollIn{-webkit-animation-name:rollIn;animation-name:rollIn}@-webkit-keyframes rollOut{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate(120deg);transform:translate3d(100%,0,0) rotate(120deg)}}@keyframes rollOut{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate(120deg);transform:translate3d(100%,0,0) rotate(120deg)}}.animate__rollOut{-webkit-animation-name:rollOut;animation-name:rollOut}@-webkit-keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}.animate__zoomIn{-webkit-animation-name:zoomIn;animation-name:zoomIn}@-webkit-keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.animate__zoomInDown{-webkit-animation-name:zoomInDown;animation-name:zoomInDown}@-webkit-keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.animate__zoomInLeft{-webkit-animation-name:zoomInLeft;animation-name:zoomInLeft}@-webkit-keyframes zoomInRight{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInRight{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.animate__zoomInRight{-webkit-animation-name:zoomInRight;animation-name:zoomInRight}@-webkit-keyframes zoomInUp{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInUp{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.animate__zoomInUp{-webkit-animation-name:zoomInUp;animation-name:zoomInUp}@-webkit-keyframes zoomOut{0%{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}@keyframes zoomOut{0%{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}.animate__zoomOut{-webkit-animation-name:zoomOut;animation-name:zoomOut}@-webkit-keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.animate__zoomOutDown{-webkit-animation-name:zoomOutDown;animation-name:zoomOutDown;-webkit-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0)}}@keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0)}}.animate__zoomOutLeft{-webkit-animation-name:zoomOutLeft;animation-name:zoomOutLeft;-webkit-transform-origin:left center;transform-origin:left center}@-webkit-keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0)}}@keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0)}}.animate__zoomOutRight{-webkit-animation-name:zoomOutRight;animation-name:zoomOutRight;-webkit-transform-origin:right center;transform-origin:right center}@-webkit-keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.animate__zoomOutUp{-webkit-animation-name:zoomOutUp;animation-name:zoomOutUp;-webkit-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes slideInDown{0%{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInDown{0%{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__slideInDown{-webkit-animation-name:slideInDown;animation-name:slideInDown}@-webkit-keyframes slideInLeft{0%{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInLeft{0%{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__slideInLeft{-webkit-animation-name:slideInLeft;animation-name:slideInLeft}@-webkit-keyframes slideInRight{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInRight{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__slideInRight{-webkit-animation-name:slideInRight;animation-name:slideInRight}@-webkit-keyframes slideInUp{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInUp{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__slideInUp{-webkit-animation-name:slideInUp;animation-name:slideInUp}@-webkit-keyframes slideOutDown{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes slideOutDown{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.animate__slideOutDown{-webkit-animation-name:slideOutDown;animation-name:slideOutDown}@-webkit-keyframes slideOutLeft{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes slideOutLeft{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.animate__slideOutLeft{-webkit-animation-name:slideOutLeft;animation-name:slideOutLeft}@-webkit-keyframes slideOutRight{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes slideOutRight{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.animate__slideOutRight{-webkit-animation-name:slideOutRight;animation-name:slideOutRight}@-webkit-keyframes slideOutUp{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes slideOutUp{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.animate__slideOutUp{-webkit-animation-name:slideOutUp;animation-name:slideOutUp}
\ No newline at end of file
diff --git a/zy-acs-cv/src/main/webapp/static/css/animsition.css b/zy-acs-cv/src/main/webapp/static/css/animsition.css
new file mode 100644
index 0000000..7d025ab
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/css/animsition.css
@@ -0,0 +1,2784 @@
+/*!
+ * animsition v3.4.3
+ * http://blivesta.github.io/animsition/
+ * Licensed under MIT
+ * Author : blivesta
+ * http://blivesta.com/
+ */
+
+.animsition,
+.animsition-overlay {
+    position: relative;
+    opacity: 0;
+
+    -webkit-animation-fill-mode: both;
+    -o-animation-fill-mode: both;
+    animation-fill-mode: both;
+}
+
+.animsition-loading {
+    position: fixed;
+    top: 0;
+    z-index: 100;
+    width: 100%;
+    height: 100%;
+    background: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2032%2032%22%20width%3D%2232%22%20height%3D%2232%22%20fill%3D%22%23ccc%22%3E%0A%20%20%3Cpath%20opacity%3D%22.25%22%20d%3D%22M16%200%20A16%2016%200%200%200%2016%2032%20A16%2016%200%200%200%2016%200%20M16%204%20A12%2012%200%200%201%2016%2028%20A12%2012%200%200%201%2016%204%22/%3E%0A%20%20%3Cpath%20d%3D%22M16%200%20A16%2016%200%200%201%2032%2016%20L28%2016%20A12%2012%200%200%200%2016%204z%22%3E%0A%20%20%20%20%3CanimateTransform%20attributeName%3D%22transform%22%20type%3D%22rotate%22%20from%3D%220%2016%2016%22%20to%3D%22360%2016%2016%22%20dur%3D%220.8s%22%20repeatCount%3D%22indefinite%22%20/%3E%0A%20%20%3C/path%3E%0A%3C/svg%3E%0A%0A) center center no-repeat;
+
+    -webkit-animation-fill-mode: both;
+    -o-animation-fill-mode: both;
+    animation-fill-mode: both;
+}
+
+.animsition-loading:after {
+    position: fixed;
+    top: 50%;
+    width: 100%;
+    margin-top: 20px;
+    font-size: 16px;
+    color: #aaa;
+    text-align: center;
+    content: "Loading";
+}
+
+.animsition-overlay-slide {
+    position: fixed;
+    z-index: 1;
+    width: 100%;
+    height: 100%;
+    background-color: #ddd;
+}
+
+@-webkit-keyframes fade-in {
+    0% {
+        opacity: 0;
+    }
+    100% {
+        opacity: 1;
+    }
+}
+
+@-o-keyframes fade-in {
+    0% {
+        opacity: 0;
+    }
+    100% {
+        opacity: 1;
+    }
+}
+
+@keyframes fade-in {
+    0% {
+        opacity: 0;
+    }
+    100% {
+        opacity: 1;
+    }
+}
+
+.fade-in {
+    -webkit-animation-name: fade-in;
+    -o-animation-name: fade-in;
+    animation-name: fade-in;
+}
+
+@-webkit-keyframes fade-out {
+    0% {
+        opacity: 1;
+    }
+    100% {
+        opacity: 0;
+    }
+}
+
+@-o-keyframes fade-out {
+    0% {
+        opacity: 1;
+    }
+    100% {
+        opacity: 0;
+    }
+}
+
+@keyframes fade-out {
+    0% {
+        opacity: 1;
+    }
+    100% {
+        opacity: 0;
+    }
+}
+
+.fade-out {
+    -webkit-animation-name: fade-out;
+    -o-animation-name: fade-out;
+    animation-name: fade-out;
+}
+
+@-webkit-keyframes fade-in-up {
+    0% {
+        opacity: 0;
+        -webkit-transform: translateY(500px);
+        transform: translateY(500px);
+    }
+    100% {
+        opacity: 1;
+        -webkit-transform: translateY(0);
+        transform: translateY(0);
+    }
+}
+
+@-o-keyframes fade-in-up {
+    0% {
+        opacity: 0;
+        -o-transform: translateY(500px);
+        transform: translateY(500px);
+    }
+    100% {
+        opacity: 1;
+        -o-transform: translateY(0);
+        transform: translateY(0);
+    }
+}
+
+@keyframes fade-in-up {
+    0% {
+        opacity: 0;
+        -webkit-transform: translateY(500px);
+        -o-transform: translateY(500px);
+        transform: translateY(500px);
+    }
+    100% {
+        opacity: 1;
+        -webkit-transform: translateY(0);
+        -o-transform: translateY(0);
+        transform: translateY(0);
+    }
+}
+
+.fade-in-up {
+    -webkit-animation-name: fade-in-up;
+    -o-animation-name: fade-in-up;
+    animation-name: fade-in-up;
+}
+
+@-webkit-keyframes fade-out-up {
+    0% {
+        opacity: 1;
+        -webkit-transform: translateY(0);
+        transform: translateY(0);
+    }
+    100% {
+        opacity: 0;
+        -webkit-transform: translateY(-500px);
+        transform: translateY(-500px);
+    }
+}
+
+@-o-keyframes fade-out-up {
+    0% {
+        opacity: 1;
+        -o-transform: translateY(0);
+        transform: translateY(0);
+    }
+    100% {
+        opacity: 0;
+        -o-transform: translateY(-500px);
+        transform: translateY(-500px);
+    }
+}
+
+@keyframes fade-out-up {
+    0% {
+        opacity: 1;
+        -webkit-transform: translateY(0);
+        -o-transform: translateY(0);
+        transform: translateY(0);
+    }
+    100% {
+        opacity: 0;
+        -webkit-transform: translateY(-500px);
+        -o-transform: translateY(-500px);
+        transform: translateY(-500px);
+    }
+}
+
+.fade-out-up {
+    -webkit-animation-name: fade-out-up;
+    -o-animation-name: fade-out-up;
+    animation-name: fade-out-up;
+}
+
+@-webkit-keyframes fade-in-up-sm {
+    0% {
+        opacity: 0;
+        -webkit-transform: translateY(100px);
+        transform: translateY(100px);
+    }
+    100% {
+        opacity: 1;
+        -webkit-transform: translateY(0);
+        transform: translateY(0);
+    }
+}
+
+@-o-keyframes fade-in-up-sm {
+    0% {
+        opacity: 0;
+        -o-transform: translateY(100px);
+        transform: translateY(100px);
+    }
+    100% {
+        opacity: 1;
+        -o-transform: translateY(0);
+        transform: translateY(0);
+    }
+}
+
+@keyframes fade-in-up-sm {
+    0% {
+        opacity: 0;
+        -webkit-transform: translateY(100px);
+        -o-transform: translateY(100px);
+        transform: translateY(100px);
+    }
+    100% {
+        opacity: 1;
+        -webkit-transform: translateY(0);
+        -o-transform: translateY(0);
+        transform: translateY(0);
+    }
+}
+
+.fade-in-up-sm {
+    -webkit-animation-name: fade-in-up-sm;
+    -o-animation-name: fade-in-up-sm;
+    animation-name: fade-in-up-sm;
+}
+
+@-webkit-keyframes fade-out-up-sm {
+    0% {
+        opacity: 1;
+        -webkit-transform: translateY(0);
+        transform: translateY(0);
+    }
+    100% {
+        opacity: 0;
+        -webkit-transform: translateY(-100px);
+        transform: translateY(-100px);
+    }
+}
+
+@-o-keyframes fade-out-up-sm {
+    0% {
+        opacity: 1;
+        -o-transform: translateY(0);
+        transform: translateY(0);
+    }
+    100% {
+        opacity: 0;
+        -o-transform: translateY(-100px);
+        transform: translateY(-100px);
+    }
+}
+
+@keyframes fade-out-up-sm {
+    0% {
+        opacity: 1;
+        -webkit-transform: translateY(0);
+        -o-transform: translateY(0);
+        transform: translateY(0);
+    }
+    100% {
+        opacity: 0;
+        -webkit-transform: translateY(-100px);
+        -o-transform: translateY(-100px);
+        transform: translateY(-100px);
+    }
+}
+
+.fade-out-up-sm {
+    -webkit-animation-name: fade-out-up-sm;
+    -o-animation-name: fade-out-up-sm;
+    animation-name: fade-out-up-sm;
+}
+
+@-webkit-keyframes fade-in-up-lg {
+    0% {
+        opacity: 0;
+        -webkit-transform: translateY(1000px);
+        transform: translateY(1000px);
+    }
+    100% {
+        opacity: 1;
+        -webkit-transform: translateY(0);
+        transform: translateY(0);
+    }
+}
+
+@-o-keyframes fade-in-up-lg {
+    0% {
+        opacity: 0;
+        -o-transform: translateY(1000px);
+        transform: translateY(1000px);
+    }
+    100% {
+        opacity: 1;
+        -o-transform: translateY(0);
+        transform: translateY(0);
+    }
+}
+
+@keyframes fade-in-up-lg {
+    0% {
+        opacity: 0;
+        -webkit-transform: translateY(1000px);
+        -o-transform: translateY(1000px);
+        transform: translateY(1000px);
+    }
+    100% {
+        opacity: 1;
+        -webkit-transform: translateY(0);
+        -o-transform: translateY(0);
+        transform: translateY(0);
+    }
+}
+
+.fade-in-up-lg {
+    -webkit-animation-name: fade-in-up-lg;
+    -o-animation-name: fade-in-up-lg;
+    animation-name: fade-in-up-lg;
+}
+
+@-webkit-keyframes fade-out-up-lg {
+    0% {
+        opacity: 1;
+        -webkit-transform: translateY(0);
+        transform: translateY(0);
+    }
+    100% {
+        opacity: 0;
+        -webkit-transform: translateY(-1000px);
+        transform: translateY(-1000px);
+    }
+}
+
+@-o-keyframes fade-out-up-lg {
+    0% {
+        opacity: 1;
+        -o-transform: translateY(0);
+        transform: translateY(0);
+    }
+    100% {
+        opacity: 0;
+        -o-transform: translateY(-1000px);
+        transform: translateY(-1000px);
+    }
+}
+
+@keyframes fade-out-up-lg {
+    0% {
+        opacity: 1;
+        -webkit-transform: translateY(0);
+        -o-transform: translateY(0);
+        transform: translateY(0);
+    }
+    100% {
+        opacity: 0;
+        -webkit-transform: translateY(-1000px);
+        -o-transform: translateY(-1000px);
+        transform: translateY(-1000px);
+    }
+}
+
+.fade-out-up-lg {
+    -webkit-animation-name: fade-out-up-lg;
+    -o-animation-name: fade-out-up-lg;
+    animation-name: fade-out-up-lg;
+}
+
+@-webkit-keyframes fade-in-down {
+    0% {
+        opacity: 0;
+        -webkit-transform: translateY(-500px);
+        transform: translateY(-500px);
+    }
+    100% {
+        opacity: 1;
+        -webkit-transform: translateY(0);
+        transform: translateY(0);
+    }
+}
+
+@-o-keyframes fade-in-down {
+    0% {
+        opacity: 0;
+        -o-transform: translateY(-500px);
+        transform: translateY(-500px);
+    }
+    100% {
+        opacity: 1;
+        -o-transform: translateY(0);
+        transform: translateY(0);
+    }
+}
+
+@keyframes fade-in-down {
+    0% {
+        opacity: 0;
+        -webkit-transform: translateY(-500px);
+        -o-transform: translateY(-500px);
+        transform: translateY(-500px);
+    }
+    100% {
+        opacity: 1;
+        -webkit-transform: translateY(0);
+        -o-transform: translateY(0);
+        transform: translateY(0);
+    }
+}
+
+.fade-in-down {
+    -webkit-animation-name: fade-in-down;
+    -o-animation-name: fade-in-down;
+    animation-name: fade-in-down;
+}
+
+@-webkit-keyframes fade-out-down {
+    0% {
+        opacity: 1;
+        -webkit-transform: translateY(0);
+        transform: translateY(0);
+    }
+    100% {
+        opacity: 0;
+        -webkit-transform: translateY(500px);
+        transform: translateY(500px);
+    }
+}
+
+@-o-keyframes fade-out-down {
+    0% {
+        opacity: 1;
+        -o-transform: translateY(0);
+        transform: translateY(0);
+    }
+    100% {
+        opacity: 0;
+        -o-transform: translateY(500px);
+        transform: translateY(500px);
+    }
+}
+
+@keyframes fade-out-down {
+    0% {
+        opacity: 1;
+        -webkit-transform: translateY(0);
+        -o-transform: translateY(0);
+        transform: translateY(0);
+    }
+    100% {
+        opacity: 0;
+        -webkit-transform: translateY(500px);
+        -o-transform: translateY(500px);
+        transform: translateY(500px);
+    }
+}
+
+.fade-out-down {
+    -webkit-animation-name: fade-out-down;
+    -o-animation-name: fade-out-down;
+    animation-name: fade-out-down;
+}
+
+@-webkit-keyframes fade-in-down-sm {
+    0% {
+        opacity: 0;
+        -webkit-transform: translateY(-100px);
+        transform: translateY(-100px);
+    }
+    100% {
+        opacity: 1;
+        -webkit-transform: translateY(0);
+        transform: translateY(0);
+    }
+}
+
+@-o-keyframes fade-in-down-sm {
+    0% {
+        opacity: 0;
+        -o-transform: translateY(-100px);
+        transform: translateY(-100px);
+    }
+    100% {
+        opacity: 1;
+        -o-transform: translateY(0);
+        transform: translateY(0);
+    }
+}
+
+@keyframes fade-in-down-sm {
+    0% {
+        opacity: 0;
+        -webkit-transform: translateY(-100px);
+        -o-transform: translateY(-100px);
+        transform: translateY(-100px);
+    }
+    100% {
+        opacity: 1;
+        -webkit-transform: translateY(0);
+        -o-transform: translateY(0);
+        transform: translateY(0);
+    }
+}
+
+.fade-in-down-sm {
+    -webkit-animation-name: fade-in-down-sm;
+    -o-animation-name: fade-in-down-sm;
+    animation-name: fade-in-down-sm;
+}
+
+@-webkit-keyframes fade-out-down-sm {
+    0% {
+        opacity: 1;
+        -webkit-transform: translateY(0);
+        transform: translateY(0);
+    }
+    100% {
+        opacity: 0;
+        -webkit-transform: translateY(100px);
+        transform: translateY(100px);
+    }
+}
+
+@-o-keyframes fade-out-down-sm {
+    0% {
+        opacity: 1;
+        -o-transform: translateY(0);
+        transform: translateY(0);
+    }
+    100% {
+        opacity: 0;
+        -o-transform: translateY(100px);
+        transform: translateY(100px);
+    }
+}
+
+@keyframes fade-out-down-sm {
+    0% {
+        opacity: 1;
+        -webkit-transform: translateY(0);
+        -o-transform: translateY(0);
+        transform: translateY(0);
+    }
+    100% {
+        opacity: 0;
+        -webkit-transform: translateY(100px);
+        -o-transform: translateY(100px);
+        transform: translateY(100px);
+    }
+}
+
+.fade-out-down-sm {
+    -webkit-animation-name: fade-out-down-sm;
+    -o-animation-name: fade-out-down-sm;
+    animation-name: fade-out-down-sm;
+}
+
+@-webkit-keyframes fade-in-down-lg {
+    0% {
+        opacity: 0;
+        -webkit-transform: translateY(-1000px);
+        transform: translateY(-1000px);
+    }
+    100% {
+        opacity: 1;
+        -webkit-transform: translateY(0);
+        transform: translateY(0);
+    }
+}
+
+@-o-keyframes fade-in-down-lg {
+    0% {
+        opacity: 0;
+        -o-transform: translateY(-1000px);
+        transform: translateY(-1000px);
+    }
+    100% {
+        opacity: 1;
+        -o-transform: translateY(0);
+        transform: translateY(0);
+    }
+}
+
+@keyframes fade-in-down-lg {
+    0% {
+        opacity: 0;
+        -webkit-transform: translateY(-1000px);
+        -o-transform: translateY(-1000px);
+        transform: translateY(-1000px);
+    }
+    100% {
+        opacity: 1;
+        -webkit-transform: translateY(0);
+        -o-transform: translateY(0);
+        transform: translateY(0);
+    }
+}
+
+.fade-in-down-lg {
+    -webkit-animation-name: fade-in-down;
+    -o-animation-name: fade-in-down;
+    animation-name: fade-in-down;
+}
+
+@-webkit-keyframes fade-out-down-lg {
+    0% {
+        opacity: 1;
+        -webkit-transform: translateY(0);
+        transform: translateY(0);
+    }
+    100% {
+        opacity: 0;
+        -webkit-transform: translateY(1000px);
+        transform: translateY(1000px);
+    }
+}
+
+@-o-keyframes fade-out-down-lg {
+    0% {
+        opacity: 1;
+        -o-transform: translateY(0);
+        transform: translateY(0);
+    }
+    100% {
+        opacity: 0;
+        -o-transform: translateY(1000px);
+        transform: translateY(1000px);
+    }
+}
+
+@keyframes fade-out-down-lg {
+    0% {
+        opacity: 1;
+        -webkit-transform: translateY(0);
+        -o-transform: translateY(0);
+        transform: translateY(0);
+    }
+    100% {
+        opacity: 0;
+        -webkit-transform: translateY(1000px);
+        -o-transform: translateY(1000px);
+        transform: translateY(1000px);
+    }
+}
+
+.fade-out-down-lg {
+    -webkit-animation-name: fade-out-down-lg;
+    -o-animation-name: fade-out-down-lg;
+    animation-name: fade-out-down-lg;
+}
+
+@-webkit-keyframes fade-in-left {
+    0% {
+        opacity: 0;
+        -webkit-transform: translateX(-500px);
+        transform: translateX(-500px);
+    }
+    100% {
+        opacity: 1;
+        -webkit-transform: translateX(0);
+        transform: translateX(0);
+    }
+}
+
+@-o-keyframes fade-in-left {
+    0% {
+        opacity: 0;
+        -o-transform: translateX(-500px);
+        transform: translateX(-500px);
+    }
+    100% {
+        opacity: 1;
+        -o-transform: translateX(0);
+        transform: translateX(0);
+    }
+}
+
+@keyframes fade-in-left {
+    0% {
+        opacity: 0;
+        -webkit-transform: translateX(-500px);
+        -o-transform: translateX(-500px);
+        transform: translateX(-500px);
+    }
+    100% {
+        opacity: 1;
+        -webkit-transform: translateX(0);
+        -o-transform: translateX(0);
+        transform: translateX(0);
+    }
+}
+
+.fade-in-left {
+    -webkit-animation-name: fade-in-left;
+    -o-animation-name: fade-in-left;
+    animation-name: fade-in-left;
+}
+
+@-webkit-keyframes fade-out-left {
+    0% {
+        opacity: 1;
+        -webkit-transform: translateX(0);
+        transform: translateX(0);
+    }
+    100% {
+        opacity: 0;
+        -webkit-transform: translateX(-500px);
+        transform: translateX(-500px);
+    }
+}
+
+@-o-keyframes fade-out-left {
+    0% {
+        opacity: 1;
+        -o-transform: translateX(0);
+        transform: translateX(0);
+    }
+    100% {
+        opacity: 0;
+        -o-transform: translateX(-500px);
+        transform: translateX(-500px);
+    }
+}
+
+@keyframes fade-out-left {
+    0% {
+        opacity: 1;
+        -webkit-transform: translateX(0);
+        -o-transform: translateX(0);
+        transform: translateX(0);
+    }
+    100% {
+        opacity: 0;
+        -webkit-transform: translateX(-500px);
+        -o-transform: translateX(-500px);
+        transform: translateX(-500px);
+    }
+}
+
+.fade-out-left {
+    -webkit-animation-name: fade-out-left;
+    -o-animation-name: fade-out-left;
+    animation-name: fade-out-left;
+}
+
+@-webkit-keyframes fade-in-left-sm {
+    0% {
+        opacity: 0;
+        -webkit-transform: translateX(-100px);
+        transform: translateX(-100px);
+    }
+    100% {
+        opacity: 1;
+        -webkit-transform: translateX(0);
+        transform: translateX(0);
+    }
+}
+
+@-o-keyframes fade-in-left-sm {
+    0% {
+        opacity: 0;
+        -o-transform: translateX(-100px);
+        transform: translateX(-100px);
+    }
+    100% {
+        opacity: 1;
+        -o-transform: translateX(0);
+        transform: translateX(0);
+    }
+}
+
+@keyframes fade-in-left-sm {
+    0% {
+        opacity: 0;
+        -webkit-transform: translateX(-100px);
+        -o-transform: translateX(-100px);
+        transform: translateX(-100px);
+    }
+    100% {
+        opacity: 1;
+        -webkit-transform: translateX(0);
+        -o-transform: translateX(0);
+        transform: translateX(0);
+    }
+}
+
+.fade-in-left-sm {
+    -webkit-animation-name: fade-in-left-sm;
+    -o-animation-name: fade-in-left-sm;
+    animation-name: fade-in-left-sm;
+}
+
+@-webkit-keyframes fade-out-left-sm {
+    0% {
+        opacity: 1;
+        -webkit-transform: translateX(0);
+        transform: translateX(0);
+    }
+    100% {
+        opacity: 0;
+        -webkit-transform: translateX(-100px);
+        transform: translateX(-100px);
+    }
+}
+
+@-o-keyframes fade-out-left-sm {
+    0% {
+        opacity: 1;
+        -o-transform: translateX(0);
+        transform: translateX(0);
+    }
+    100% {
+        opacity: 0;
+        -o-transform: translateX(-100px);
+        transform: translateX(-100px);
+    }
+}
+
+@keyframes fade-out-left-sm {
+    0% {
+        opacity: 1;
+        -webkit-transform: translateX(0);
+        -o-transform: translateX(0);
+        transform: translateX(0);
+    }
+    100% {
+        opacity: 0;
+        -webkit-transform: translateX(-100px);
+        -o-transform: translateX(-100px);
+        transform: translateX(-100px);
+    }
+}
+
+.fade-out-left-sm {
+    -webkit-animation-name: fade-out-left-sm;
+    -o-animation-name: fade-out-left-sm;
+    animation-name: fade-out-left-sm;
+}
+
+@-webkit-keyframes fade-in-left-lg {
+    0% {
+        opacity: 0;
+        -webkit-transform: translateX(-1500px);
+        transform: translateX(-1500px);
+    }
+    100% {
+        opacity: 1;
+        -webkit-transform: translateX(0);
+        transform: translateX(0);
+    }
+}
+
+@-o-keyframes fade-in-left-lg {
+    0% {
+        opacity: 0;
+        -o-transform: translateX(-1500px);
+        transform: translateX(-1500px);
+    }
+    100% {
+        opacity: 1;
+        -o-transform: translateX(0);
+        transform: translateX(0);
+    }
+}
+
+@keyframes fade-in-left-lg {
+    0% {
+        opacity: 0;
+        -webkit-transform: translateX(-1500px);
+        -o-transform: translateX(-1500px);
+        transform: translateX(-1500px);
+    }
+    100% {
+        opacity: 1;
+        -webkit-transform: translateX(0);
+        -o-transform: translateX(0);
+        transform: translateX(0);
+    }
+}
+
+.fade-in-left-lg {
+    -webkit-animation-name: fade-in-left-lg;
+    -o-animation-name: fade-in-left-lg;
+    animation-name: fade-in-left-lg;
+}
+
+@-webkit-keyframes fade-out-left-lg {
+    0% {
+        opacity: 1;
+        -webkit-transform: translateX(0);
+        transform: translateX(0);
+    }
+    100% {
+        opacity: 0;
+        -webkit-transform: translateX(-1500px);
+        transform: translateX(-1500px);
+    }
+}
+
+@-o-keyframes fade-out-left-lg {
+    0% {
+        opacity: 1;
+        -o-transform: translateX(0);
+        transform: translateX(0);
+    }
+    100% {
+        opacity: 0;
+        -o-transform: translateX(-1500px);
+        transform: translateX(-1500px);
+    }
+}
+
+@keyframes fade-out-left-lg {
+    0% {
+        opacity: 1;
+        -webkit-transform: translateX(0);
+        -o-transform: translateX(0);
+        transform: translateX(0);
+    }
+    100% {
+        opacity: 0;
+        -webkit-transform: translateX(-1500px);
+        -o-transform: translateX(-1500px);
+        transform: translateX(-1500px);
+    }
+}
+
+.fade-out-left-lg {
+    -webkit-animation-name: fade-out-left-lg;
+    -o-animation-name: fade-out-left-lg;
+    animation-name: fade-out-left-lg;
+}
+
+@-webkit-keyframes fade-in-right {
+    0% {
+        opacity: 0;
+        -webkit-transform: translateX(500px);
+        transform: translateX(500px);
+    }
+    100% {
+        opacity: 1;
+        -webkit-transform: translateX(0);
+        transform: translateX(0);
+    }
+}
+
+@-o-keyframes fade-in-right {
+    0% {
+        opacity: 0;
+        -o-transform: translateX(500px);
+        transform: translateX(500px);
+    }
+    100% {
+        opacity: 1;
+        -o-transform: translateX(0);
+        transform: translateX(0);
+    }
+}
+
+@keyframes fade-in-right {
+    0% {
+        opacity: 0;
+        -webkit-transform: translateX(500px);
+        -o-transform: translateX(500px);
+        transform: translateX(500px);
+    }
+    100% {
+        opacity: 1;
+        -webkit-transform: translateX(0);
+        -o-transform: translateX(0);
+        transform: translateX(0);
+    }
+}
+
+.fade-in-right {
+    -webkit-animation-name: fade-in-right;
+    -o-animation-name: fade-in-right;
+    animation-name: fade-in-right;
+}
+
+@-webkit-keyframes fade-out-right {
+    0% {
+        opacity: 1;
+        -webkit-transform: translateX(0);
+        transform: translateX(0);
+    }
+    100% {
+        opacity: 0;
+        -webkit-transform: translateX(500px);
+        transform: translateX(500px);
+    }
+}
+
+@-o-keyframes fade-out-right {
+    0% {
+        opacity: 1;
+        -o-transform: translateX(0);
+        transform: translateX(0);
+    }
+    100% {
+        opacity: 0;
+        -o-transform: translateX(500px);
+        transform: translateX(500px);
+    }
+}
+
+@keyframes fade-out-right {
+    0% {
+        opacity: 1;
+        -webkit-transform: translateX(0);
+        -o-transform: translateX(0);
+        transform: translateX(0);
+    }
+    100% {
+        opacity: 0;
+        -webkit-transform: translateX(500px);
+        -o-transform: translateX(500px);
+        transform: translateX(500px);
+    }
+}
+
+.fade-out-right {
+    -webkit-animation-name: fade-out-right;
+    -o-animation-name: fade-out-right;
+    animation-name: fade-out-right;
+}
+
+@-webkit-keyframes fade-in-right-sm {
+    0% {
+        opacity: 0;
+        -webkit-transform: translateX(100px);
+        transform: translateX(100px);
+    }
+    100% {
+        opacity: 1;
+        -webkit-transform: translateX(0);
+        transform: translateX(0);
+    }
+}
+
+@-o-keyframes fade-in-right-sm {
+    0% {
+        opacity: 0;
+        -o-transform: translateX(100px);
+        transform: translateX(100px);
+    }
+    100% {
+        opacity: 1;
+        -o-transform: translateX(0);
+        transform: translateX(0);
+    }
+}
+
+@keyframes fade-in-right-sm {
+    0% {
+        opacity: 0;
+        -webkit-transform: translateX(100px);
+        -o-transform: translateX(100px);
+        transform: translateX(100px);
+    }
+    100% {
+        opacity: 1;
+        -webkit-transform: translateX(0);
+        -o-transform: translateX(0);
+        transform: translateX(0);
+    }
+}
+
+.fade-in-right-sm {
+    -webkit-animation-name: fade-in-right-sm;
+    -o-animation-name: fade-in-right-sm;
+    animation-name: fade-in-right-sm;
+}
+
+@-webkit-keyframes fade-out-right-sm {
+    0% {
+        opacity: 1;
+        -webkit-transform: translateX(0);
+        transform: translateX(0);
+    }
+    100% {
+        opacity: 0;
+        -webkit-transform: translateX(100px);
+        transform: translateX(100px);
+    }
+}
+
+@-o-keyframes fade-out-right-sm {
+    0% {
+        opacity: 1;
+        -o-transform: translateX(0);
+        transform: translateX(0);
+    }
+    100% {
+        opacity: 0;
+        -o-transform: translateX(100px);
+        transform: translateX(100px);
+    }
+}
+
+@keyframes fade-out-right-sm {
+    0% {
+        opacity: 1;
+        -webkit-transform: translateX(0);
+        -o-transform: translateX(0);
+        transform: translateX(0);
+    }
+    100% {
+        opacity: 0;
+        -webkit-transform: translateX(100px);
+        -o-transform: translateX(100px);
+        transform: translateX(100px);
+    }
+}
+
+.fade-out-right-sm {
+    -webkit-animation-name: fade-out-right-sm;
+    -o-animation-name: fade-out-right-sm;
+    animation-name: fade-out-right-sm;
+}
+
+@-webkit-keyframes fade-in-right-lg {
+    0% {
+        opacity: 0;
+        -webkit-transform: translateX(1500px);
+        transform: translateX(1500px);
+    }
+    100% {
+        opacity: 1;
+        -webkit-transform: translateX(0);
+        transform: translateX(0);
+    }
+}
+
+@-o-keyframes fade-in-right-lg {
+    0% {
+        opacity: 0;
+        -o-transform: translateX(1500px);
+        transform: translateX(1500px);
+    }
+    100% {
+        opacity: 1;
+        -o-transform: translateX(0);
+        transform: translateX(0);
+    }
+}
+
+@keyframes fade-in-right-lg {
+    0% {
+        opacity: 0;
+        -webkit-transform: translateX(1500px);
+        -o-transform: translateX(1500px);
+        transform: translateX(1500px);
+    }
+    100% {
+        opacity: 1;
+        -webkit-transform: translateX(0);
+        -o-transform: translateX(0);
+        transform: translateX(0);
+    }
+}
+
+.fade-in-right-lg {
+    -webkit-animation-name: fade-in-right-lg;
+    -o-animation-name: fade-in-right-lg;
+    animation-name: fade-in-right-lg;
+}
+
+@-webkit-keyframes fade-out-right-lg {
+    0% {
+        opacity: 1;
+        -webkit-transform: translateX(0);
+        transform: translateX(0);
+    }
+    100% {
+        opacity: 0;
+        -webkit-transform: translateX(1500px);
+        transform: translateX(1500px);
+    }
+}
+
+@-o-keyframes fade-out-right-lg {
+    0% {
+        opacity: 1;
+        -o-transform: translateX(0);
+        transform: translateX(0);
+    }
+    100% {
+        opacity: 0;
+        -o-transform: translateX(1500px);
+        transform: translateX(1500px);
+    }
+}
+
+@keyframes fade-out-right-lg {
+    0% {
+        opacity: 1;
+        -webkit-transform: translateX(0);
+        -o-transform: translateX(0);
+        transform: translateX(0);
+    }
+    100% {
+        opacity: 0;
+        -webkit-transform: translateX(1500px);
+        -o-transform: translateX(1500px);
+        transform: translateX(1500px);
+    }
+}
+
+.fade-out-right-lg {
+    -webkit-animation-name: fade-out-right-lg;
+    -o-animation-name: fade-out-right-lg;
+    animation-name: fade-out-right-lg;
+}
+
+@-webkit-keyframes rotate-in {
+    0% {
+        opacity: 0;
+        -webkit-transform: rotate(-90deg);
+        transform: rotate(-90deg);
+        -webkit-transform-origin: center center;
+        transform-origin: center center;
+    }
+    100% {
+        opacity: 1;
+        -webkit-transform: rotate(0);
+        transform: rotate(0);
+        -webkit-transform-origin: center center;
+        transform-origin: center center;
+    }
+}
+
+@-o-keyframes rotate-in {
+    0% {
+        opacity: 0;
+        -o-transform: rotate(-90deg);
+        transform: rotate(-90deg);
+        -o-transform-origin: center center;
+        transform-origin: center center;
+    }
+    100% {
+        opacity: 1;
+        -o-transform: rotate(0);
+        transform: rotate(0);
+        -o-transform-origin: center center;
+        transform-origin: center center;
+    }
+}
+
+@keyframes rotate-in {
+    0% {
+        opacity: 0;
+        -webkit-transform: rotate(-90deg);
+        -o-transform: rotate(-90deg);
+        transform: rotate(-90deg);
+        -webkit-transform-origin: center center;
+        -o-transform-origin: center center;
+        transform-origin: center center;
+    }
+    100% {
+        opacity: 1;
+        -webkit-transform: rotate(0);
+        -o-transform: rotate(0);
+        transform: rotate(0);
+        -webkit-transform-origin: center center;
+        -o-transform-origin: center center;
+        transform-origin: center center;
+    }
+}
+
+.rotate-in {
+    -webkit-animation-name: rotate-in;
+    -o-animation-name: rotate-in;
+    animation-name: rotate-in;
+}
+
+@-webkit-keyframes rotate-out {
+    0% {
+        opacity: 1;
+        -webkit-transform: rotate(0);
+        transform: rotate(0);
+        -webkit-transform-origin: center center;
+        transform-origin: center center;
+    }
+    100% {
+        opacity: 0;
+        -webkit-transform: rotate(90deg);
+        transform: rotate(90deg);
+        -webkit-transform-origin: center center;
+        transform-origin: center center;
+    }
+}
+
+@-o-keyframes rotate-out {
+    0% {
+        opacity: 1;
+        -o-transform: rotate(0);
+        transform: rotate(0);
+        -o-transform-origin: center center;
+        transform-origin: center center;
+    }
+    100% {
+        opacity: 0;
+        -o-transform: rotate(90deg);
+        transform: rotate(90deg);
+        -o-transform-origin: center center;
+        transform-origin: center center;
+    }
+}
+
+@keyframes rotate-out {
+    0% {
+        opacity: 1;
+        -webkit-transform: rotate(0);
+        -o-transform: rotate(0);
+        transform: rotate(0);
+        -webkit-transform-origin: center center;
+        -o-transform-origin: center center;
+        transform-origin: center center;
+    }
+    100% {
+        opacity: 0;
+        -webkit-transform: rotate(90deg);
+        -o-transform: rotate(90deg);
+        transform: rotate(90deg);
+        -webkit-transform-origin: center center;
+        -o-transform-origin: center center;
+        transform-origin: center center;
+    }
+}
+
+.rotate-out {
+    -webkit-animation-name: rotate-out;
+    -o-animation-name: rotate-out;
+    animation-name: rotate-out;
+}
+
+@-webkit-keyframes rotate-in-sm {
+    0% {
+        opacity: 0;
+        -webkit-transform: rotate(-45deg);
+        transform: rotate(-45deg);
+        -webkit-transform-origin: center center;
+        transform-origin: center center;
+    }
+    100% {
+        opacity: 1;
+        -webkit-transform: rotate(0);
+        transform: rotate(0);
+        -webkit-transform-origin: center center;
+        transform-origin: center center;
+    }
+}
+
+@-o-keyframes rotate-in-sm {
+    0% {
+        opacity: 0;
+        -o-transform: rotate(-45deg);
+        transform: rotate(-45deg);
+        -o-transform-origin: center center;
+        transform-origin: center center;
+    }
+    100% {
+        opacity: 1;
+        -o-transform: rotate(0);
+        transform: rotate(0);
+        -o-transform-origin: center center;
+        transform-origin: center center;
+    }
+}
+
+@keyframes rotate-in-sm {
+    0% {
+        opacity: 0;
+        -webkit-transform: rotate(-45deg);
+        -o-transform: rotate(-45deg);
+        transform: rotate(-45deg);
+        -webkit-transform-origin: center center;
+        -o-transform-origin: center center;
+        transform-origin: center center;
+    }
+    100% {
+        opacity: 1;
+        -webkit-transform: rotate(0);
+        -o-transform: rotate(0);
+        transform: rotate(0);
+        -webkit-transform-origin: center center;
+        -o-transform-origin: center center;
+        transform-origin: center center;
+    }
+}
+
+.rotate-in-sm {
+    -webkit-animation-name: rotate-in-sm;
+    -o-animation-name: rotate-in-sm;
+    animation-name: rotate-in-sm;
+}
+
+@-webkit-keyframes rotate-out-sm {
+    0% {
+        opacity: 1;
+        -webkit-transform: rotate(0);
+        transform: rotate(0);
+        -webkit-transform-origin: center center;
+        transform-origin: center center;
+    }
+    100% {
+        opacity: 0;
+        -webkit-transform: rotate(45deg);
+        transform: rotate(45deg);
+        -webkit-transform-origin: center center;
+        transform-origin: center center;
+    }
+}
+
+@-o-keyframes rotate-out-sm {
+    0% {
+        opacity: 1;
+        -o-transform: rotate(0);
+        transform: rotate(0);
+        -o-transform-origin: center center;
+        transform-origin: center center;
+    }
+    100% {
+        opacity: 0;
+        -o-transform: rotate(45deg);
+        transform: rotate(45deg);
+        -o-transform-origin: center center;
+        transform-origin: center center;
+    }
+}
+
+@keyframes rotate-out-sm {
+    0% {
+        opacity: 1;
+        -webkit-transform: rotate(0);
+        -o-transform: rotate(0);
+        transform: rotate(0);
+        -webkit-transform-origin: center center;
+        -o-transform-origin: center center;
+        transform-origin: center center;
+    }
+    100% {
+        opacity: 0;
+        -webkit-transform: rotate(45deg);
+        -o-transform: rotate(45deg);
+        transform: rotate(45deg);
+        -webkit-transform-origin: center center;
+        -o-transform-origin: center center;
+        transform-origin: center center;
+    }
+}
+
+.rotate-out-sm {
+    -webkit-animation-name: rotate-out-sm;
+    -o-animation-name: rotate-out-sm;
+    animation-name: rotate-out-sm;
+}
+
+@-webkit-keyframes rotate-in-lg {
+    0% {
+        opacity: 0;
+        -webkit-transform: rotate(-180deg);
+        transform: rotate(-180deg);
+        -webkit-transform-origin: center center;
+        transform-origin: center center;
+    }
+    100% {
+        opacity: 1;
+        -webkit-transform: rotate(0);
+        transform: rotate(0);
+        -webkit-transform-origin: center center;
+        transform-origin: center center;
+    }
+}
+
+@-o-keyframes rotate-in-lg {
+    0% {
+        opacity: 0;
+        -o-transform: rotate(-180deg);
+        transform: rotate(-180deg);
+        -o-transform-origin: center center;
+        transform-origin: center center;
+    }
+    100% {
+        opacity: 1;
+        -o-transform: rotate(0);
+        transform: rotate(0);
+        -o-transform-origin: center center;
+        transform-origin: center center;
+    }
+}
+
+@keyframes rotate-in-lg {
+    0% {
+        opacity: 0;
+        -webkit-transform: rotate(-180deg);
+        -o-transform: rotate(-180deg);
+        transform: rotate(-180deg);
+        -webkit-transform-origin: center center;
+        -o-transform-origin: center center;
+        transform-origin: center center;
+    }
+    100% {
+        opacity: 1;
+        -webkit-transform: rotate(0);
+        -o-transform: rotate(0);
+        transform: rotate(0);
+        -webkit-transform-origin: center center;
+        -o-transform-origin: center center;
+        transform-origin: center center;
+    }
+}
+
+.rotate-in-lg {
+    -webkit-animation-name: rotate-in-lg;
+    -o-animation-name: rotate-in-lg;
+    animation-name: rotate-in-lg;
+}
+
+@-webkit-keyframes rotate-out-lg {
+    0% {
+        opacity: 1;
+        -webkit-transform: rotate(0);
+        transform: rotate(0);
+        -webkit-transform-origin: center center;
+        transform-origin: center center;
+    }
+    100% {
+        opacity: 0;
+        -webkit-transform: rotate(180deg);
+        transform: rotate(180deg);
+        -webkit-transform-origin: center center;
+        transform-origin: center center;
+    }
+}
+
+@-o-keyframes rotate-out-lg {
+    0% {
+        opacity: 1;
+        -o-transform: rotate(0);
+        transform: rotate(0);
+        -o-transform-origin: center center;
+        transform-origin: center center;
+    }
+    100% {
+        opacity: 0;
+        -o-transform: rotate(180deg);
+        transform: rotate(180deg);
+        -o-transform-origin: center center;
+        transform-origin: center center;
+    }
+}
+
+@keyframes rotate-out-lg {
+    0% {
+        opacity: 1;
+        -webkit-transform: rotate(0);
+        -o-transform: rotate(0);
+        transform: rotate(0);
+        -webkit-transform-origin: center center;
+        -o-transform-origin: center center;
+        transform-origin: center center;
+    }
+    100% {
+        opacity: 0;
+        -webkit-transform: rotate(180deg);
+        -o-transform: rotate(180deg);
+        transform: rotate(180deg);
+        -webkit-transform-origin: center center;
+        -o-transform-origin: center center;
+        transform-origin: center center;
+    }
+}
+
+.rotate-out-lg {
+    -webkit-animation-name: rotate-out-lg;
+    -o-animation-name: rotate-out-lg;
+    animation-name: rotate-out-lg;
+}
+
+@-webkit-keyframes flip-in-x {
+    0% {
+        opacity: 0;
+        -webkit-transform: perspective(550px) rotateX(90deg);
+        transform: perspective(550px) rotateX(90deg);
+    }
+    100% {
+        opacity: 1;
+        -webkit-transform: perspective(550px) rotateX(0deg);
+        transform: perspective(550px) rotateX(0deg);
+    }
+}
+
+@-o-keyframes flip-in-x {
+    0% {
+        opacity: 0;
+        transform: perspective(550px) rotateX(90deg);
+    }
+    100% {
+        opacity: 1;
+        transform: perspective(550px) rotateX(0deg);
+    }
+}
+
+@keyframes flip-in-x {
+    0% {
+        opacity: 0;
+        -webkit-transform: perspective(550px) rotateX(90deg);
+        transform: perspective(550px) rotateX(90deg);
+    }
+    100% {
+        opacity: 1;
+        -webkit-transform: perspective(550px) rotateX(0deg);
+        transform: perspective(550px) rotateX(0deg);
+    }
+}
+
+.flip-in-x {
+    -webkit-animation-name: flip-in-x;
+    -o-animation-name: flip-in-x;
+    animation-name: flip-in-x;
+
+    -webkit-backface-visibility: visible !important;
+    backface-visibility: visible !important;
+}
+
+@-webkit-keyframes flip-out-x {
+    0% {
+        opacity: 1;
+        -webkit-transform: perspective(550px) rotateX(0deg);
+        transform: perspective(550px) rotateX(0deg);
+    }
+    100% {
+        opacity: 0;
+        -webkit-transform: perspective(550px) rotateX(90deg);
+        transform: perspective(550px) rotateX(90deg);
+    }
+}
+
+@-o-keyframes flip-out-x {
+    0% {
+        opacity: 1;
+        transform: perspective(550px) rotateX(0deg);
+    }
+    100% {
+        opacity: 0;
+        transform: perspective(550px) rotateX(90deg);
+    }
+}
+
+@keyframes flip-out-x {
+    0% {
+        opacity: 1;
+        -webkit-transform: perspective(550px) rotateX(0deg);
+        transform: perspective(550px) rotateX(0deg);
+    }
+    100% {
+        opacity: 0;
+        -webkit-transform: perspective(550px) rotateX(90deg);
+        transform: perspective(550px) rotateX(90deg);
+    }
+}
+
+.flip-out-x {
+    -webkit-animation-name: flip-out-x;
+    -o-animation-name: flip-out-x;
+    animation-name: flip-out-x;
+
+    -webkit-backface-visibility: visible !important;
+    backface-visibility: visible !important;
+}
+
+@-webkit-keyframes flip-in-x-nr {
+    0% {
+        opacity: 0;
+        -webkit-transform: perspective(100px) rotateX(90deg);
+        transform: perspective(100px) rotateX(90deg);
+    }
+    100% {
+        opacity: 1;
+        -webkit-transform: perspective(100px) rotateX(0deg);
+        transform: perspective(100px) rotateX(0deg);
+    }
+}
+
+@-o-keyframes flip-in-x-nr {
+    0% {
+        opacity: 0;
+        transform: perspective(100px) rotateX(90deg);
+    }
+    100% {
+        opacity: 1;
+        transform: perspective(100px) rotateX(0deg);
+    }
+}
+
+@keyframes flip-in-x-nr {
+    0% {
+        opacity: 0;
+        -webkit-transform: perspective(100px) rotateX(90deg);
+        transform: perspective(100px) rotateX(90deg);
+    }
+    100% {
+        opacity: 1;
+        -webkit-transform: perspective(100px) rotateX(0deg);
+        transform: perspective(100px) rotateX(0deg);
+    }
+}
+
+.flip-in-x-nr {
+    -webkit-animation-name: flip-in-x-nr;
+    -o-animation-name: flip-in-x-nr;
+    animation-name: flip-in-x-nr;
+
+    -webkit-backface-visibility: visible !important;
+    backface-visibility: visible !important;
+}
+
+@-webkit-keyframes flip-out-x-nr {
+    0% {
+        opacity: 1;
+        -webkit-transform: perspective(100px) rotateX(0deg);
+        transform: perspective(100px) rotateX(0deg);
+    }
+    100% {
+        opacity: 0;
+        -webkit-transform: perspective(100px) rotateX(90deg);
+        transform: perspective(100px) rotateX(90deg);
+    }
+}
+
+@-o-keyframes flip-out-x-nr {
+    0% {
+        opacity: 1;
+        transform: perspective(100px) rotateX(0deg);
+    }
+    100% {
+        opacity: 0;
+        transform: perspective(100px) rotateX(90deg);
+    }
+}
+
+@keyframes flip-out-x-nr {
+    0% {
+        opacity: 1;
+        -webkit-transform: perspective(100px) rotateX(0deg);
+        transform: perspective(100px) rotateX(0deg);
+    }
+    100% {
+        opacity: 0;
+        -webkit-transform: perspective(100px) rotateX(90deg);
+        transform: perspective(100px) rotateX(90deg);
+    }
+}
+
+.flip-out-x-nr {
+    -webkit-animation-name: flip-out-x-nr;
+    -o-animation-name: flip-out-x-nr;
+    animation-name: flip-out-x-nr;
+
+    -webkit-backface-visibility: visible !important;
+    backface-visibility: visible !important;
+}
+
+@-webkit-keyframes flip-in-x-fr {
+    0% {
+        opacity: 0;
+        -webkit-transform: perspective(1000px) rotateX(90deg);
+        transform: perspective(1000px) rotateX(90deg);
+    }
+    100% {
+        opacity: 1;
+        -webkit-transform: perspective(1000px) rotateX(0deg);
+        transform: perspective(1000px) rotateX(0deg);
+    }
+}
+
+@-o-keyframes flip-in-x-fr {
+    0% {
+        opacity: 0;
+        transform: perspective(1000px) rotateX(90deg);
+    }
+    100% {
+        opacity: 1;
+        transform: perspective(1000px) rotateX(0deg);
+    }
+}
+
+@keyframes flip-in-x-fr {
+    0% {
+        opacity: 0;
+        -webkit-transform: perspective(1000px) rotateX(90deg);
+        transform: perspective(1000px) rotateX(90deg);
+    }
+    100% {
+        opacity: 1;
+        -webkit-transform: perspective(1000px) rotateX(0deg);
+        transform: perspective(1000px) rotateX(0deg);
+    }
+}
+
+.flip-in-x-fr {
+    -webkit-animation-name: flip-in-x-fr;
+    -o-animation-name: flip-in-x-fr;
+    animation-name: flip-in-x-fr;
+
+    -webkit-backface-visibility: visible !important;
+    backface-visibility: visible !important;
+}
+
+@-webkit-keyframes flip-out-x-fr {
+    0% {
+        opacity: 1;
+        -webkit-transform: perspective(1000px) rotateX(0deg);
+        transform: perspective(1000px) rotateX(0deg);
+    }
+    100% {
+        opacity: 0;
+        -webkit-transform: perspective(1000px) rotateX(90deg);
+        transform: perspective(1000px) rotateX(90deg);
+    }
+}
+
+@-o-keyframes flip-out-x-fr {
+    0% {
+        opacity: 1;
+        transform: perspective(1000px) rotateX(0deg);
+    }
+    100% {
+        opacity: 0;
+        transform: perspective(1000px) rotateX(90deg);
+    }
+}
+
+@keyframes flip-out-x-fr {
+    0% {
+        opacity: 1;
+        -webkit-transform: perspective(1000px) rotateX(0deg);
+        transform: perspective(1000px) rotateX(0deg);
+    }
+    100% {
+        opacity: 0;
+        -webkit-transform: perspective(1000px) rotateX(90deg);
+        transform: perspective(1000px) rotateX(90deg);
+    }
+}
+
+.flip-out-x-fr {
+    -webkit-animation-name: flip-out-x-fr;
+    -o-animation-name: flip-out-x-fr;
+    animation-name: flip-out-x-fr;
+
+    -webkit-backface-visibility: visible !important;
+    backface-visibility: visible !important;
+}
+
+@-webkit-keyframes flip-in-y {
+    0% {
+        opacity: 0;
+        -webkit-transform: perspective(550px) rotateY(90deg);
+        transform: perspective(550px) rotateY(90deg);
+    }
+    100% {
+        opacity: 1;
+        -webkit-transform: perspective(550px) rotateY(0deg);
+        transform: perspective(550px) rotateY(0deg);
+    }
+}
+
+@-o-keyframes flip-in-y {
+    0% {
+        opacity: 0;
+        transform: perspective(550px) rotateY(90deg);
+    }
+    100% {
+        opacity: 1;
+        transform: perspective(550px) rotateY(0deg);
+    }
+}
+
+@keyframes flip-in-y {
+    0% {
+        opacity: 0;
+        -webkit-transform: perspective(550px) rotateY(90deg);
+        transform: perspective(550px) rotateY(90deg);
+    }
+    100% {
+        opacity: 1;
+        -webkit-transform: perspective(550px) rotateY(0deg);
+        transform: perspective(550px) rotateY(0deg);
+    }
+}
+
+.flip-in-y {
+    -webkit-animation-name: flip-in-y;
+    -o-animation-name: flip-in-y;
+    animation-name: flip-in-y;
+
+    -webkit-backface-visibility: visible !important;
+    backface-visibility: visible !important;
+}
+
+@-webkit-keyframes flip-out-y {
+    0% {
+        opacity: 1;
+        -webkit-transform: perspective(550px) rotateY(0deg);
+        transform: perspective(550px) rotateY(0deg);
+    }
+    100% {
+        opacity: 0;
+        -webkit-transform: perspective(550px) rotateY(90deg);
+        transform: perspective(550px) rotateY(90deg);
+    }
+}
+
+@-o-keyframes flip-out-y {
+    0% {
+        opacity: 1;
+        transform: perspective(550px) rotateY(0deg);
+    }
+    100% {
+        opacity: 0;
+        transform: perspective(550px) rotateY(90deg);
+    }
+}
+
+@keyframes flip-out-y {
+    0% {
+        opacity: 1;
+        -webkit-transform: perspective(550px) rotateY(0deg);
+        transform: perspective(550px) rotateY(0deg);
+    }
+    100% {
+        opacity: 0;
+        -webkit-transform: perspective(550px) rotateY(90deg);
+        transform: perspective(550px) rotateY(90deg);
+    }
+}
+
+.flip-out-y {
+    -webkit-animation-name: flip-out-y;
+    -o-animation-name: flip-out-y;
+    animation-name: flip-out-y;
+
+    -webkit-backface-visibility: visible !important;
+    backface-visibility: visible !important;
+}
+
+@-webkit-keyframes flip-in-y-nr {
+    0% {
+        opacity: 0;
+        -webkit-transform: perspective(100px) rotateY(90deg);
+        transform: perspective(100px) rotateY(90deg);
+    }
+    100% {
+        opacity: 1;
+        -webkit-transform: perspective(100px) rotateY(0deg);
+        transform: perspective(100px) rotateY(0deg);
+    }
+}
+
+@-o-keyframes flip-in-y-nr {
+    0% {
+        opacity: 0;
+        transform: perspective(100px) rotateY(90deg);
+    }
+    100% {
+        opacity: 1;
+        transform: perspective(100px) rotateY(0deg);
+    }
+}
+
+@keyframes flip-in-y-nr {
+    0% {
+        opacity: 0;
+        -webkit-transform: perspective(100px) rotateY(90deg);
+        transform: perspective(100px) rotateY(90deg);
+    }
+    100% {
+        opacity: 1;
+        -webkit-transform: perspective(100px) rotateY(0deg);
+        transform: perspective(100px) rotateY(0deg);
+    }
+}
+
+.flip-in-y-nr {
+    -webkit-animation-name: flip-in-y-nr;
+    -o-animation-name: flip-in-y-nr;
+    animation-name: flip-in-y-nr;
+
+    -webkit-backface-visibility: visible !important;
+    backface-visibility: visible !important;
+}
+
+@-webkit-keyframes flip-out-y-nr {
+    0% {
+        opacity: 1;
+        -webkit-transform: perspective(100px) rotateY(0deg);
+        transform: perspective(100px) rotateY(0deg);
+    }
+    100% {
+        opacity: 0;
+        -webkit-transform: perspective(100px) rotateY(90deg);
+        transform: perspective(100px) rotateY(90deg);
+    }
+}
+
+@-o-keyframes flip-out-y-nr {
+    0% {
+        opacity: 1;
+        transform: perspective(100px) rotateY(0deg);
+    }
+    100% {
+        opacity: 0;
+        transform: perspective(100px) rotateY(90deg);
+    }
+}
+
+@keyframes flip-out-y-nr {
+    0% {
+        opacity: 1;
+        -webkit-transform: perspective(100px) rotateY(0deg);
+        transform: perspective(100px) rotateY(0deg);
+    }
+    100% {
+        opacity: 0;
+        -webkit-transform: perspective(100px) rotateY(90deg);
+        transform: perspective(100px) rotateY(90deg);
+    }
+}
+
+.flip-out-y-nr {
+    -webkit-animation-name: flip-out-y-nr;
+    -o-animation-name: flip-out-y-nr;
+    animation-name: flip-out-y-nr;
+
+    -webkit-backface-visibility: visible !important;
+    backface-visibility: visible !important;
+}
+
+@-webkit-keyframes flip-in-y-fr {
+    0% {
+        opacity: 0;
+        -webkit-transform: perspective(1000px) rotateY(90deg);
+        transform: perspective(1000px) rotateY(90deg);
+    }
+    100% {
+        opacity: 1;
+        -webkit-transform: perspective(1000px) rotateY(0deg);
+        transform: perspective(1000px) rotateY(0deg);
+    }
+}
+
+@-o-keyframes flip-in-y-fr {
+    0% {
+        opacity: 0;
+        transform: perspective(1000px) rotateY(90deg);
+    }
+    100% {
+        opacity: 1;
+        transform: perspective(1000px) rotateY(0deg);
+    }
+}
+
+@keyframes flip-in-y-fr {
+    0% {
+        opacity: 0;
+        -webkit-transform: perspective(1000px) rotateY(90deg);
+        transform: perspective(1000px) rotateY(90deg);
+    }
+    100% {
+        opacity: 1;
+        -webkit-transform: perspective(1000px) rotateY(0deg);
+        transform: perspective(1000px) rotateY(0deg);
+    }
+}
+
+.flip-in-y-fr {
+    -webkit-animation-name: flip-in-y-fr;
+    -o-animation-name: flip-in-y-fr;
+    animation-name: flip-in-y-fr;
+
+    -webkit-backface-visibility: visible !important;
+    backface-visibility: visible !important;
+}
+
+@-webkit-keyframes flip-out-y-fr {
+    0% {
+        opacity: 1;
+        -webkit-transform: perspective(1000px) rotateY(0deg);
+        transform: perspective(1000px) rotateY(0deg);
+    }
+    100% {
+        opacity: 0;
+        -webkit-transform: perspective(1000px) rotateY(90deg);
+        transform: perspective(1000px) rotateY(90deg);
+    }
+}
+
+@-o-keyframes flip-out-y-fr {
+    0% {
+        opacity: 1;
+        transform: perspective(1000px) rotateY(0deg);
+    }
+    100% {
+        opacity: 0;
+        transform: perspective(1000px) rotateY(90deg);
+    }
+}
+
+@keyframes flip-out-y-fr {
+    0% {
+        opacity: 1;
+        -webkit-transform: perspective(1000px) rotateY(0deg);
+        transform: perspective(1000px) rotateY(0deg);
+    }
+    100% {
+        opacity: 0;
+        -webkit-transform: perspective(1000px) rotateY(90deg);
+        transform: perspective(1000px) rotateY(90deg);
+    }
+}
+
+.flip-out-y-fr {
+    -webkit-animation-name: flip-out-y-fr;
+    -o-animation-name: flip-out-y-fr;
+    animation-name: flip-out-y-fr;
+
+    -webkit-backface-visibility: visible !important;
+    backface-visibility: visible !important;
+}
+
+@-webkit-keyframes zoom-in {
+    0% {
+        opacity: 0;
+        -webkit-transform: scale(.7);
+        transform: scale(.7);
+    }
+    100% {
+        opacity: 1;
+    }
+}
+
+@-o-keyframes zoom-in {
+    0% {
+        opacity: 0;
+        -o-transform: scale(.7);
+        transform: scale(.7);
+    }
+    100% {
+        opacity: 1;
+    }
+}
+
+@keyframes zoom-in {
+    0% {
+        opacity: 0;
+        -webkit-transform: scale(.7);
+        -o-transform: scale(.7);
+        transform: scale(.7);
+    }
+    100% {
+        opacity: 1;
+    }
+}
+
+.zoom-in {
+    -webkit-animation-name: zoom-in;
+    -o-animation-name: zoom-in;
+    animation-name: zoom-in;
+}
+
+@-webkit-keyframes zoom-out {
+    0% {
+        opacity: 1;
+        -webkit-transform: scale(1);
+        transform: scale(1);
+    }
+    50% {
+        opacity: 0;
+        -webkit-transform: scale(.7);
+        transform: scale(.7);
+    }
+    100% {
+        opacity: 0;
+    }
+}
+
+@-o-keyframes zoom-out {
+    0% {
+        opacity: 1;
+        -o-transform: scale(1);
+        transform: scale(1);
+    }
+    50% {
+        opacity: 0;
+        -o-transform: scale(.7);
+        transform: scale(.7);
+    }
+    100% {
+        opacity: 0;
+    }
+}
+
+@keyframes zoom-out {
+    0% {
+        opacity: 1;
+        -webkit-transform: scale(1);
+        -o-transform: scale(1);
+        transform: scale(1);
+    }
+    50% {
+        opacity: 0;
+        -webkit-transform: scale(.7);
+        -o-transform: scale(.7);
+        transform: scale(.7);
+    }
+    100% {
+        opacity: 0;
+    }
+}
+
+.zoom-out {
+    -webkit-animation-name: zoom-out;
+    -o-animation-name: zoom-out;
+    animation-name: zoom-out;
+}
+
+@-webkit-keyframes zoom-in-sm {
+    0% {
+        opacity: 0;
+        -webkit-transform: scale(.95);
+        transform: scale(.95);
+    }
+    100% {
+        opacity: 1;
+    }
+}
+
+@-o-keyframes zoom-in-sm {
+    0% {
+        opacity: 0;
+        -o-transform: scale(.95);
+        transform: scale(.95);
+    }
+    100% {
+        opacity: 1;
+    }
+}
+
+@keyframes zoom-in-sm {
+    0% {
+        opacity: 0;
+        -webkit-transform: scale(.95);
+        -o-transform: scale(.95);
+        transform: scale(.95);
+    }
+    100% {
+        opacity: 1;
+    }
+}
+
+.zoom-in-sm {
+    -webkit-animation-name: zoom-in-sm;
+    -o-animation-name: zoom-in-sm;
+    animation-name: zoom-in-sm;
+}
+
+@-webkit-keyframes zoom-out-sm {
+    0% {
+        opacity: 1;
+        -webkit-transform: scale(1);
+        transform: scale(1);
+    }
+    50% {
+        opacity: 0;
+        -webkit-transform: scale(.95);
+        transform: scale(.95);
+    }
+    100% {
+        opacity: 0;
+    }
+}
+
+@-o-keyframes zoom-out-sm {
+    0% {
+        opacity: 1;
+        -o-transform: scale(1);
+        transform: scale(1);
+    }
+    50% {
+        opacity: 0;
+        -o-transform: scale(.95);
+        transform: scale(.95);
+    }
+    100% {
+        opacity: 0;
+    }
+}
+
+@keyframes zoom-out-sm {
+    0% {
+        opacity: 1;
+        -webkit-transform: scale(1);
+        -o-transform: scale(1);
+        transform: scale(1);
+    }
+    50% {
+        opacity: 0;
+        -webkit-transform: scale(.95);
+        -o-transform: scale(.95);
+        transform: scale(.95);
+    }
+    100% {
+        opacity: 0;
+    }
+}
+
+.zoom-out-sm {
+    -webkit-animation-name: zoom-out-sm;
+    -o-animation-name: zoom-out-sm;
+    animation-name: zoom-out-sm;
+}
+
+@-webkit-keyframes zoom-in-lg {
+    0% {
+        opacity: 0;
+        -webkit-transform: scale(.4);
+        transform: scale(.4);
+    }
+    100% {
+        opacity: 1;
+    }
+}
+
+@-o-keyframes zoom-in-lg {
+    0% {
+        opacity: 0;
+        -o-transform: scale(.4);
+        transform: scale(.4);
+    }
+    100% {
+        opacity: 1;
+    }
+}
+
+@keyframes zoom-in-lg {
+    0% {
+        opacity: 0;
+        -webkit-transform: scale(.4);
+        -o-transform: scale(.4);
+        transform: scale(.4);
+    }
+    100% {
+        opacity: 1;
+    }
+}
+
+.zoom-in-lg {
+    -webkit-animation-name: zoom-in-lg;
+    -o-animation-name: zoom-in-lg;
+    animation-name: zoom-in-lg;
+}
+
+@-webkit-keyframes zoom-out-lg {
+    0% {
+        opacity: 1;
+        -webkit-transform: scale(1);
+        transform: scale(1);
+    }
+    50% {
+        opacity: 0;
+        -webkit-transform: scale(.4);
+        transform: scale(.4);
+    }
+    100% {
+        opacity: 0;
+    }
+}
+
+@-o-keyframes zoom-out-lg {
+    0% {
+        opacity: 1;
+        -o-transform: scale(1);
+        transform: scale(1);
+    }
+    50% {
+        opacity: 0;
+        -o-transform: scale(.4);
+        transform: scale(.4);
+    }
+    100% {
+        opacity: 0;
+    }
+}
+
+@keyframes zoom-out-lg {
+    0% {
+        opacity: 1;
+        -webkit-transform: scale(1);
+        -o-transform: scale(1);
+        transform: scale(1);
+    }
+    50% {
+        opacity: 0;
+        -webkit-transform: scale(.4);
+        -o-transform: scale(.4);
+        transform: scale(.4);
+    }
+    100% {
+        opacity: 0;
+    }
+}
+
+.zoom-out-lg {
+    -webkit-animation-name: zoom-out-lg;
+    -o-animation-name: zoom-out-lg;
+    animation-name: zoom-out-lg;
+}
+
+.blink-slow {
+    -webkit-animation-name: blink-slow;
+    -o-animation-name: blink-slow;
+    animation-name: blink-slow;
+    -webkit-animation-duration: .3s;
+    -o-animation-duration: .3s;
+    animation-duration: .3s;
+    -webkit-animation-timing-function: ease-in-out;
+    -o-animation-timing-function: ease-in-out;
+    animation-timing-function: ease-in-out;
+    -webkit-animation-iteration-count: infinite;
+    -o-animation-iteration-count: infinite;
+    animation-iteration-count: infinite;
+    -webkit-animation-direction: alternate;
+    -o-animation-direction: alternate;
+    animation-direction: alternate;
+}
+
+@-webkit-keyframes blink-slow {
+    0% {
+        opacity: .4;
+    }
+    50% {
+        opacity: .7;
+    }
+    100% {
+        opacity: 1;
+    }
+}
+
+@-o-keyframes blink-slow {
+    0% {
+        opacity: .4;
+    }
+    50% {
+        opacity: .7;
+    }
+    100% {
+        opacity: 1;
+    }
+}
+
+@keyframes blink-slow {
+    0% {
+        opacity: .4;
+    }
+    50% {
+        opacity: .7;
+    }
+    100% {
+        opacity: 1;
+    }
+}
+
+@-webkit-keyframes overlay-slide-in-top {
+    0% {
+        height: 100%;
+    }
+    100% {
+        height: 0;
+    }
+}
+
+@-o-keyframes overlay-slide-in-top {
+    0% {
+        height: 100%;
+    }
+    100% {
+        height: 0;
+    }
+}
+
+@keyframes overlay-slide-in-top {
+    0% {
+        height: 100%;
+    }
+    100% {
+        height: 0;
+    }
+}
+
+.overlay-slide-in-top {
+    top: 0;
+    height: 0;
+    -webkit-animation-name: overlay-slide-in-top;
+    -o-animation-name: overlay-slide-in-top;
+    animation-name: overlay-slide-in-top;
+}
+
+@-webkit-keyframes overlay-slide-out-top {
+    0% {
+        height: 0;
+    }
+    100% {
+        height: 100%;
+    }
+}
+
+@-o-keyframes overlay-slide-out-top {
+    0% {
+        height: 0;
+    }
+    100% {
+        height: 100%;
+    }
+}
+
+@keyframes overlay-slide-out-top {
+    0% {
+        height: 0;
+    }
+    100% {
+        height: 100%;
+    }
+}
+
+.overlay-slide-out-top {
+    top: 0;
+    height: 100%;
+    -webkit-animation-name: overlay-slide-out-top;
+    -o-animation-name: overlay-slide-out-top;
+    animation-name: overlay-slide-out-top;
+}
+
+@-webkit-keyframes overlay-slide-in-bottom {
+    0% {
+        height: 100%;
+    }
+    100% {
+        height: 0;
+    }
+}
+
+@-o-keyframes overlay-slide-in-bottom {
+    0% {
+        height: 100%;
+    }
+    100% {
+        height: 0;
+    }
+}
+
+@keyframes overlay-slide-in-bottom {
+    0% {
+        height: 100%;
+    }
+    100% {
+        height: 0;
+    }
+}
+
+.overlay-slide-in-bottom {
+    bottom: 0;
+    height: 0;
+    -webkit-animation-name: overlay-slide-in-bottom;
+    -o-animation-name: overlay-slide-in-bottom;
+    animation-name: overlay-slide-in-bottom;
+}
+
+@-webkit-keyframes overlay-slide-out-bottom {
+    0% {
+        height: 0;
+    }
+    100% {
+        height: 100%;
+    }
+}
+
+@-o-keyframes overlay-slide-out-bottom {
+    0% {
+        height: 0;
+    }
+    100% {
+        height: 100%;
+    }
+}
+
+@keyframes overlay-slide-out-bottom {
+    0% {
+        height: 0;
+    }
+    100% {
+        height: 100%;
+    }
+}
+
+.overlay-slide-out-bottom {
+    bottom: 0;
+    height: 100%;
+    -webkit-animation-name: overlay-slide-out-bottom;
+    -o-animation-name: overlay-slide-out-bottom;
+    animation-name: overlay-slide-out-bottom;
+}
+
+@-webkit-keyframes overlay-slide-in-left {
+    0% {
+        width: 100%;
+    }
+    100% {
+        width: 0;
+    }
+}
+
+@-o-keyframes overlay-slide-in-left {
+    0% {
+        width: 100%;
+    }
+    100% {
+        width: 0;
+    }
+}
+
+@keyframes overlay-slide-in-left {
+    0% {
+        width: 100%;
+    }
+    100% {
+        width: 0;
+    }
+}
+
+.overlay-slide-in-left {
+    width: 0;
+    -webkit-animation-name: overlay-slide-in-left;
+    -o-animation-name: overlay-slide-in-left;
+    animation-name: overlay-slide-in-left;
+}
+
+@-webkit-keyframes overlay-slide-out-left {
+    0% {
+        width: 0;
+    }
+    100% {
+        width: 100%;
+    }
+}
+
+@-o-keyframes overlay-slide-out-left {
+    0% {
+        width: 0;
+    }
+    100% {
+        width: 100%;
+    }
+}
+
+@keyframes overlay-slide-out-left {
+    0% {
+        width: 0;
+    }
+    100% {
+        width: 100%;
+    }
+}
+
+.overlay-slide-out-left {
+    left: 0;
+    width: 100%;
+    -webkit-animation-name: overlay-slide-out-left;
+    -o-animation-name: overlay-slide-out-left;
+    animation-name: overlay-slide-out-left;
+}
+
+@-webkit-keyframes overlay-slide-in-right {
+    0% {
+        width: 100%;
+    }
+    100% {
+        width: 0;
+    }
+}
+
+@-o-keyframes overlay-slide-in-right {
+    0% {
+        width: 100%;
+    }
+    100% {
+        width: 0;
+    }
+}
+
+@keyframes overlay-slide-in-right {
+    0% {
+        width: 100%;
+    }
+    100% {
+        width: 0;
+    }
+}
+
+.overlay-slide-in-right {
+    right: 0;
+    width: 0;
+    -webkit-animation-name: overlay-slide-in-right;
+    -o-animation-name: overlay-slide-in-right;
+    animation-name: overlay-slide-in-right;
+}
+
+@-webkit-keyframes overlay-slide-out-right {
+    0% {
+        width: 0;
+    }
+    100% {
+        width: 100%;
+    }
+}
+
+@-o-keyframes overlay-slide-out-right {
+    0% {
+        width: 0;
+    }
+    100% {
+        width: 100%;
+    }
+}
+
+@keyframes overlay-slide-out-right {
+    0% {
+        width: 0;
+    }
+    100% {
+        width: 100%;
+    }
+}
+
+.overlay-slide-out-right {
+    right: 0;
+    width: 100%;
+    -webkit-animation-name: overlay-slide-out-right;
+    -o-animation-name: overlay-slide-out-right;
+    animation-name: overlay-slide-out-right;
+}
+
+/*# sourceMappingURL=animsition.css.map */
diff --git a/zy-acs-cv/src/main/webapp/static/css/car_vue.css b/zy-acs-cv/src/main/webapp/static/css/car_vue.css
new file mode 100644
index 0000000..9bdd27f
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/css/car_vue.css
@@ -0,0 +1,15 @@
+body {
+    background-color: #6CA7A8;
+}
+
+.title {
+    margin-top: 10px;
+    font-size: 20px;
+    text-align: center;
+
+}
+
+.bg-orgin {
+    color: white;
+    background-color: #FF5722;
+}
diff --git a/zy-acs-cv/src/main/webapp/static/css/common.css b/zy-acs-cv/src/main/webapp/static/css/common.css
new file mode 100644
index 0000000..b6ca322
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/css/common.css
@@ -0,0 +1,89 @@
+/* 缁熶竴澶勭悊 */
+*, *::before, *::after {
+    -webkit-box-sizing: border-box;
+    box-sizing: border-box;
+    margin: 0;
+    padding: 0;
+}
+
+html {
+    line-height: 1.5;
+    font-size: 15px;
+    font-family: sans-serif;
+    height: 100%;
+}
+
+body {
+    height: 100%;
+}
+
+iframe {
+    border-width: 0;
+}
+
+/* 甯冨眬 */
+.row::after, .row::before {
+    content: "";
+    display: table;
+    clear: both;
+}
+
+.col-md3:empty {
+    background: rgba(0, 0, 0, 0.04);
+    border: 1px solid rgba(0, 0, 0, .3);
+    min-height: 32px;
+    height: inherit;
+    z-index: 1;
+}
+
+.col-md1, .col-md10, .col-md11, .col-md12, .col-md2, .col-md3, .col-md4, .col-md5, .col-md6, .col-md7, .col-md8, .col-md9 {
+    float: left;
+}
+
+.col-md1 {
+    width: 8.33333333%
+}
+
+.col-md2 {
+    width: 16.66666667%
+}
+
+.col-md3 {
+    width: 25%
+}
+
+.col-md4 {
+    width: 33.33333333%
+}
+
+.col-md5 {
+    width: 41.66666667%
+}
+
+.col-md6 {
+    width: 50%
+}
+
+.col-md7 {
+    width: 58.33333333%
+}
+
+.col-md8 {
+    width: 66.66666667%
+}
+
+.col-md9 {
+    width: 75%
+}
+
+.col-md10 {
+    width: 83.33333333%
+}
+
+.col-md11 {
+    width: 91.66666667%
+}
+
+.col-md12 {
+    width: 100%
+}
\ No newline at end of file
diff --git a/zy-acs-cv/src/main/webapp/static/css/console-0.css b/zy-acs-cv/src/main/webapp/static/css/console-0.css
new file mode 100644
index 0000000..78c0c93
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/css/console-0.css
@@ -0,0 +1,562 @@
+html {
+    height: 100%;
+}
+
+body {
+    height: 100%;
+    background-color: #f1f1f1;
+    border-radius: 5px;
+    box-shadow: 0 0 3px rgba(0, 0, 0, .3);
+    padding: 10px;
+}
+
+/* ------------------------------------ 澶撮儴 ------------------------------------*/
+header {
+    border-radius: 5px;
+    box-shadow: 0 0 3px rgba(0, 0, 0, .3);
+    background-color: #fff;
+    height: 17%;
+    opacity: 0.8;
+    position: relative;
+}
+
+/* 鍒嗗壊绾� */
+.header-hr {
+    border-radius: 5px;
+    border: 1px solid #777;
+    width: 80%;
+    position: absolute;
+    bottom: 0;
+}
+
+/* 绯荤粺杩愯鐘舵�� */
+.system-state {
+    float: left;
+    width: 10%;
+    height: 100%;
+    padding: 20px;
+    text-align: center;
+    color: #2d6aff;
+}
+
+#system-icon {
+    display: inline-block;
+    width: 70%;
+    height: 70%;
+    background-repeat: no-repeat;
+    background-size: 100% 100%;
+    background-position: top center;
+    cursor: pointer;
+}
+
+.system-icon-open {
+    background-image: url("../image/stop48.png");
+}
+
+.system-icon-close {
+    background-image: url("../image/start48.png");
+}
+
+#system-run-desc {
+    font-size: large;
+    display: inline-block;
+    padding-top: 10px;
+    font-weight: bold;
+    overflow: hidden;
+    text-overflow: ellipsis;
+    white-space: nowrap;
+}
+
+/* 鐘舵�佹樉绀� */
+.data-window {
+    padding-top: 20px;
+    float: left;
+    width: 70%;
+    text-align: center;
+}
+
+.data-window h1 {
+    font-size: 3em;
+    margin: 0;
+    letter-spacing: 1px;
+    font-weight: inherit;
+}
+
+/* 棰滆壊鎻愮ず */
+.tips {
+    position: absolute;
+    bottom: 7%;
+    left: 10%;
+}
+
+.tips-item {
+    margin-bottom: 0;
+    font-size: 0;
+    text-align: left;
+}
+
+.tips-item label {
+    display: inline-block;
+    width: 130px;
+    text-align: right;
+    font-size: xx-small;
+}
+
+.item-group {
+    display: inline-block;
+}
+
+.item-group span {
+    font-size: xx-small;
+    padding: 0 10px;
+}
+
+/* ------------------------------------ 涓讳綋 ------------------------------------*/
+main {
+    margin-top: 8px;
+    border-radius: 5px;
+    box-shadow: 0 0 3px rgba(0, 0, 0, .3);
+    background-color: #fff;
+    height: 82%;
+    position: relative;
+}
+
+/* ------------------ 杈撻�佺嚎鎬绘垚 ------------------ */
+.site-row {
+    position: absolute;
+    top: 122px;
+}
+
+/* 杈撻�佺嚎绗�0鍒� */
+.site-row-0 {
+    top: 162px;
+    left: 140px;
+}
+
+.site-row-0 .site {
+    width: 80px;
+}
+
+/* 杈撻�佺嚎绗竴鍒� */
+.site-row-1 {
+    top: 188px;
+    left: 120px;
+}
+
+.site-row-1 .site {
+    width: 70px;
+}
+
+/* 杈撻�佺嚎绗簩鍒� */
+.site-row-2 {
+    top: 188px;
+    left: 190px;
+}
+
+.site-row-2 .site {
+    width: 70px;
+}
+
+/* 杈撻�佺嚎绗笁鍒� */
+.site-row-3 {
+    top: 229px;
+    left: 260px;
+}
+
+.site-row-3 .site {
+    width: 70px;
+}
+
+/* 杈撻�佺嚎绗�4鍒� */
+.site-row-4 {
+    top: 188px;
+    left: 260px;
+}
+
+.site-row-4 .site {
+    /*width: 80px;*/
+}
+
+/* 杈撻�佺嚎绗�5鍒� */
+.site-row-5 {
+    top: 55px;
+    left: 400px;
+}
+
+.site-row-5 .site {
+    width: 70px;
+}
+
+.site-row-6 {
+    top: 55px;
+    left: 470px;
+}
+
+.site-row-6 .site {
+    width: 70px;
+}
+
+/* 绔欑偣 */
+.site {
+    color: #333;
+    height: 20px;
+    border: 1px solid #fff;
+    cursor: pointer;
+    width: 50px;
+    text-align: center;
+    background-color: #21ff3a;
+    font-size: 13px;
+}
+
+/*绌虹珯鐐�*/
+.site-1 {
+    color: #333;
+    height: 20px;
+    border: 1px solid #fff;
+    cursor: pointer;
+    width: 50px;
+    text-align: center;
+    background-color: #ffffff;
+    font-size: 13px;
+}
+
+/* 鏃犳晥绔欑偣锛堝繀椤诲湪site涓嬮潰锛� */
+
+.site-none {
+    border: none;
+    background-color: transparent;
+    cursor: default;
+}
+
+/* 鑷姩 */
+.site-auto {
+    background-color: rgb(42, 253, 47);
+}
+
+/* 闈炶嚜鍔�/鏀跺埌 */
+.site-unauto {
+    background-color: #aaaaaa;
+}
+
+/* 鑷姩+鏈夌墿+ID */
+.site-auto-run-id {
+    background-color: red;
+}
+
+/* 鑷姩+鏈夌墿 */
+.site-auto-run {
+    background-color: #fc29f8;
+}
+
+/* 鑷姩+鏈夌墿+ID */
+.site-auto-id {
+    background-color: yellow;
+}
+
+/* ------------------ 鍙拌溅 ------------------ */
+/* 杞ㄩ亾 */
+.car-track {
+    position: absolute;
+    /*background: url(../image/bg.jpg);*/
+}
+
+#car-track-1 {
+    text-align: center;
+    top: 122px;
+    left: 100px;
+    width: 100px;
+    height: 180px;
+}
+
+#car-track-1 div {
+    height: 100%;
+    display: inline-block;
+    width: 75%;
+    border-left: 5px solid #313131;
+    border-right: 5px solid #313131;
+}
+
+/* 杞� */
+.car {
+    position: absolute;
+}
+
+#site-8 {
+    top: 122px;
+    left: 100px;
+    width: 100px;
+    height: 20px;
+    line-height: 20px;
+    position: absolute;
+}
+
+/* ------------------ 璐ф灦鎬绘垚 ------------------ */
+.main-part {
+    position: absolute;
+    top: 10px;
+    left: 540px;
+}
+
+.main-part .lane {
+    /*margin-bottom: 30px;*/
+}
+
+/* 鎺掑彿 */
+.row-no {
+    font-size: 14px;
+    font-weight: bold;
+    margin-left: 10px;
+}
+
+/* 搴撲綅缁� */
+.stock-group .item {
+    float: left;
+    border-top: 1px solid #333 !important;
+    border-bottom: 1px solid #333 !important;
+    border-left: 1px solid #333 !important;
+    border-right: 1px solid #333 !important;
+    border-right: none;
+    cursor: inherit;
+}
+
+.stock-group .item:last-child {
+    /*border-right: 1px solid #333!important;*/
+}
+
+.stock-group::after, .stock-group::before {
+    content: "";
+    display: table;
+    clear: both;
+}
+
+.stock-group .site {
+    width: 80px;
+    float: left;
+}
+
+button.item {
+    font-size: 13px;
+    padding: 1px 1px 1px 1px;
+    width: 30px;
+    height: 20px;
+    outline: none;
+    cursor: pointer;
+    color: #333;
+    background-color: transparent;
+    transition: 0.4s;
+}
+
+button.item:hover {
+    background-color: #333;
+    color: #fff;
+}
+
+/* 鍫嗗灈鏈� */
+.machine {
+    margin-left: 30px;
+    position: relative;
+    background-color: #fff;
+    height: 20px;
+    width: 80px;
+    background-image: url("../image/Crane_auto.png");
+    background-repeat: no-repeat;
+    background-size: 100% 100%;
+    background-position: top center;
+    cursor: pointer;
+}
+
+/* 鍏ュ簱 */
+.machine-pakin {
+    background-image: url("../image/Crane_store.png");
+}
+
+/* 鍑哄簱 */
+.machine-pakout {
+    background-image: url("../image/Crane_retrieve.png");
+}
+
+/* 搴撳埌搴� */
+.machine-stock-move {
+    background-image: url("../image/Crane_loctoloc.png");
+}
+
+/* 绔欏埌绔� */
+.machine-site-move {
+    background-image: url("../image/Crane_stntostn.png");
+}
+
+/* p to p */
+.machine-p-move {
+    background-image: url("../image/Crane_hptoohp.png");
+}
+
+/* 寮傚父 */
+.machine-error {
+    background-image: url("../image/Crane_error.png");
+}
+
+/* 鑷姩 */
+.machine-auto {
+    background-image: url("../image/Crane_auto.png");
+}
+
+/* 闈炶嚜鍔�/鏀跺埌 */
+.machine-un-auto {
+    background-image: url("../image/Crane_manual.png");
+}
+
+
+/* 鍏ュ簱 */
+.machine-put-flag {
+    background-color: #90d0f3;
+}
+
+/* 鍑哄簱 */
+.machine-take-flag {
+    background-color: yellow;
+}
+
+/* 搴撳埌搴� */
+.machine-stock-move-flag {
+    background-color: #0c24fb;
+    color: #fff;
+}
+
+/* 绔欏埌绔� */
+.machine-site-move-flag {
+    background-color: #faa328;
+}
+
+/* PToP */
+.machine-p-move-flag {
+    background-color: #128014;
+    color: #fff;
+}
+
+/* 寮傚父 */
+.machine-error-flag {
+    background-color: red;
+}
+
+/* 鑷姩 */
+.machine-auto-flag {
+    background-color: rgb(42, 253, 47);
+}
+
+/* 闈炶嚜鍔�/鏀跺埌 */
+.machine-unauto-flag {
+    background-color: #aaaaaa;
+}
+
+/* 鍫嗗灈鏈鸿建閬� */
+.pathway {
+    margin-left: 30px;
+    border: 1px solid #333;
+    position: absolute;
+    background-color: #333 !important;
+    color: #333 !important;
+    width: 100%;
+    margin-top: 10px;
+}
+
+/* 杈撻�佺嚎鐩稿叧 */
+.site:hover {
+    opacity: 0.7;
+}
+
+/* 鍏ュ簱鍙� */
+/*.cargo-put-0 {*/
+/*    transform: rotateY(180deg);*/
+/*    top: 338px;*/
+/*    left: 1710px;*/
+/*    position: absolute;*/
+/*    width: 50px;*/
+/*    height: 40px;*/
+/*    background-image: url("../image/fork_r.png");*/
+/*    background-repeat: no-repeat;*/
+/*    background-size:100% 100%;*/
+/*    background-position: top center;*/
+/*}*/
+/*.cargo-put-1 {*/
+/*    top: 108px;*/
+/*    left: 152px;*/
+/*    position: absolute;*/
+/*    width: 50px;*/
+/*    height: 40px;*/
+/*    background-image: url("../image/fork_r.png");*/
+/*    background-repeat: no-repeat;*/
+/*    background-size:100% 100%;*/
+/*    background-position: top center;*/
+/*}*/
+/* 鎵爜鍣� */
+/*.code-decoder {*/
+/*    position: absolute;*/
+/*    width: 30px;*/
+/*    height: 30px;*/
+/*    background-image: url("../image/bscanner.png");*/
+/*    background-repeat: no-repeat;*/
+/*    background-size:100% 60%;*/
+/*    background-position: top center;*/
+/*}*/
+/* 鎵爜鍣ㄦ枃瀛� */
+.code-decoder-data {
+    font-size: small;
+    display: inline-block;
+    /*transform: scale(0.90);*/
+}
+
+/* 鎵爜鍣�1 */
+#code-decoder-1 {
+    top: 267px;
+    left: 1780px;
+}
+
+/* 鎵爜鍣ㄦ暟鎹�1 */
+#code-decoder-data-1 {
+    font-size: xx-small;
+    margin-left: 35px;
+}
+
+/* 纾呯Г */
+.scale {
+    position: absolute;
+    width: 50px;
+    height: 20px;
+    /*background-image: url("../image/bscanner.png");*/
+    background-repeat: no-repeat;
+    background-size: 100% 60%;
+    background-position: top center;
+}
+
+/* 纾呯Г1 */
+#scale-1 {
+    top: 290px;
+    left: 240px;
+}
+
+/* 寮圭獥 */
+form .form-item {
+    display: inline-block;
+    padding-top: 10px;
+    padding-left: 5px;
+}
+
+form .form-item-label {
+    float: left;
+    text-align: right;
+    padding: 1px 6px;
+    display: inline-block;
+    vertical-align: middle;
+}
+
+form .form-item-input {
+    display: inline-block;
+    float: left;
+    vertical-align: middle;
+}
+
+form .form-item-input input {
+    height: 1.5rem;
+    padding-left: 0.5rem;
+}
+
diff --git a/zy-acs-cv/src/main/webapp/static/css/console.css b/zy-acs-cv/src/main/webapp/static/css/console.css
new file mode 100644
index 0000000..146cd5c
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/css/console.css
@@ -0,0 +1,609 @@
+* {
+    margin: 0;
+    overflow: hidden;
+}
+
+html, body {
+    height: 100%;
+}
+
+#root {
+    width: 100%;
+    height: 100%;
+    background-color: rgb(108, 167, 168);
+}
+
+.head {
+    height: 10%;
+    width: 100%;
+    color: #FFFFFF;
+}
+
+.head-left {
+    height: 100%;
+    width: 20%;
+    display: inline-block;
+}
+
+.head-right {
+    height: 100%;
+    width: 30%;
+    display: inline-block;
+    float: right;
+}
+
+.head h1 {
+    margin-top: 2%;
+    margin-left: 2%;
+    font-weight: 400;
+    letter-spacing: 3px;
+}
+
+.head h6 {
+    margin-left: 2%;
+    font-weight: 400;
+}
+
+img {
+    float: right;
+    margin-top: 10px;
+    margin-right: 10px;
+}
+
+#body {
+    width: 100%;
+    height: 23%;
+    position: absolute;
+    bottom: 2.5%;
+}
+
+/* 鎺у埗寮�鍏� */
+.system-state {
+    display: inline-block;
+    width: 15%;
+    height: 100%;
+    background-color: rgba(0, 0, 0, 0.3);
+    border-radius: 15px;
+    margin-left: 1%;
+}
+
+/* 鍫嗗灈鏈虹姸鎬� */
+.machine-status {
+    display: inline-block;
+    width: 15%;
+    height: 100%;
+    background-color: rgba(0, 0, 0, 0.3);
+    border-radius: 15px;
+    margin-left: 1%;
+}
+
+.state-ss {
+    margin-left: 60px;
+
+}
+
+
+/* 杈撻�佺嚎鐘舵�� */
+.line-status {
+    display: inline-block;
+    width: 15%;
+    height: 100%;
+    background-color: rgba(0, 0, 0, 0.3);
+    border-radius: 15px;
+    margin-left: 1%;
+}
+
+.line-ss {
+    display: inline-block;
+    float: right;
+    height: 15px;
+    width: 40px;
+    margin-top: 10px;
+    margin-right: 15px;
+    line-height: 15px;
+    text-align: center;
+    background-color: rgba(5, 5, 5, 0.3);
+    color: #ffdd00;
+}
+
+/* 鏉$爜鎵弿鍣� */
+.bar-code {
+    display: inline-block;
+    width: 49%;
+    height: 100%;
+    background-color: rgba(0, 0, 0, 0.3);
+    border-radius: 15px;
+    margin-left: 1%;
+}
+
+/*鎵爜琛ㄥ崟*/
+.tablebox {
+    display: inline-block;
+    width: 290px;
+    height: 162px;
+    margin-left: 1.5%;
+    color: white;
+    font-size: 14px;
+    list-style: none;
+    line-height: 27px;
+    text-indent: 10px;
+}
+
+.table-head {
+    width: 100%;
+    height: 27px;
+    background: linear-gradient(to right, rgb(94, 193, 184), rgb(12, 71, 63));
+}
+
+.right {
+    float: right;
+    text-indent: 10px;
+    padding-right: 10px;
+}
+
+.table-body li {
+    background-color: #5D7677;
+}
+
+.table-body li:nth-child(even) {
+    background-color: #4A6565;
+}
+
+
+/* 鎺у埗琛ㄥご */
+.body-head {
+    height: 35px;
+    width: 100%;
+    background-image: url(../images/status_bar_1.png);
+    background-repeat: no-repeat;
+    margin-left: 5%;
+    margin-top: 20px;
+    text-indent: 25px;
+    color: white;
+}
+
+
+.system-icon-open {
+    width: 153px;
+    height: 153px;
+    background-image: url(../images/start48.png);
+    display: inline-block;
+}
+
+.system-icon-close {
+    width: 153px;
+    height: 153px;
+    background-image: url(../images/stop48.png);
+    display: inline-block;
+}
+
+.switch_r {
+    color: #FFFFFF;
+    font-size: 14px;
+    width: 130px;
+    height: 153px;
+    float: right;
+    padding-top: 30px;
+}
+
+#system-run-desc {
+    font-size: 20px;
+    margin-top: 15px;
+}
+
+.state {
+    height: 34px;
+    width: 200px;
+    background-color: rgba(255, 255, 255, 0.1);
+    background-image: url(../images/stacker.png);
+    background-repeat: no-repeat;
+    border-radius: 17px 0 0 17px;
+    padding-left: 50px;
+    line-height: 34px;
+    margin-bottom: 10px;
+    margin-left: 5%;
+    color: #FFFFFF;
+    font-size: 10px;
+}
+
+.states {
+    background-image: url(../images/line.png);
+    margin-bottom: 54px;
+}
+
+.button {
+    margin-left: 5%;
+    font-size: 14px;
+    color: #FFFFFF;
+}
+
+/* 绔欑偣 */
+.site {
+    color: #333;
+    height: 18px;
+    border: 1px solid rgb(108, 167, 168);
+    cursor: pointer;
+    width: 50px;
+    text-align: center;
+    background-color: rgb(120, 255, 129);
+    font-size: 13px;
+}
+
+/*绌虹珯鐐�*/
+.site-k {
+    border: 1px solid rgb(108, 167, 168);
+    background-color: rgb(108, 167, 168);
+}
+
+/* 鍏ュ簱 */
+.machine-put-flag {
+    padding: 0 10px;
+    background-color: rgb(163, 214, 242);
+}
+
+/* 鍑哄簱 */
+.machine-take-flag {
+    padding: 0 10px;
+    background-color: rgb(151, 180, 0);
+}
+
+/* 搴撳埌搴� */
+.machine-stock-move-flag {
+    padding: 0 10px;
+    background-color: rgb(58, 77, 249);
+}
+
+/* 绔欏埌绔� */
+.machine-site-move-flag {
+    padding: 0 10px;
+    background-color: rgb(240, 140, 10);
+}
+
+/* PToP */
+.machine-p-move-flag {
+    padding: 0 10px;
+    background-color: rgb(29, 152, 23);
+}
+
+/* 寮傚父 */
+.machine-error-flag {
+    padding: 0 10px;
+    background-color: rgb(252, 48, 48);
+}
+
+/* 鑷姩 */
+.machine-auto-flag {
+    padding: 0 10px;
+    background-color: rgb(132, 255, 115);
+}
+
+/* 闈炶嚜鍔�/鎵嬪姩 */
+.machine-unauto-flag {
+    padding: 0 10px;
+    background-color: rgb(184, 184, 184);
+}
+
+/* 鑷姩+鏈夌墿+ID */
+.site-auto-run-id {
+    background-color: rgb(252, 48, 48);
+}
+
+/* 鑷姩+鏈夌墿 */
+.site-auto-run {
+    background-color: rgb(250, 81, 246);
+}
+
+/* 鑷姩+ID */
+.site-auto-id {
+    background-color: rgb(196, 196, 0);
+}
+
+/* 鑷姩 */
+.site-auto {
+    background-color: rgb(120, 255, 129);
+}
+
+/* 闈炶嚜鍔�/鎵嬪姩 */
+.site-unauto {
+    background-color: rgb(184, 184, 184);
+}
+
+#code {
+    background-image: url(../images/status_bar_2.png);
+    background-repeat: no-repeat;
+    margin-left: 2%;
+}
+
+
+/* ------------------ 杈撻�佺嚎鎬绘垚 ------------------ */
+.site-row {
+    position: absolute;
+    top: 122px;
+}
+
+/* 杈撻�佺嚎绗竴鍒� */
+.site-row-1 {
+    top: 28px;
+    left: 1270px;
+}
+
+.site-row-1 .site {
+    width: 80px;
+}
+
+/* 杈撻�佺嚎绗簩鍒� */
+.site-row-2 {
+    top: 28px;
+    left: 1352px;
+}
+
+.site-row-2 .site {
+    width: 80px;
+}
+
+.site-row-3 {
+    top: 28px;
+    left: 1434px;
+    /*width: 164px;*/
+}
+
+.site-row-3 .site {
+    width: 80px;
+}
+
+.site-row-4 {
+    top: 109px;
+    left: 1516px;
+}
+
+.site-row-4 .site {
+    width: 80px;
+}
+
+.site-row-5 {
+    top: 71px;
+    left: 530px;
+}
+
+.site-row-5 .site {
+    width: 80px;
+}
+
+.site-row-6 {
+    top: 71px;
+    left: 612px;
+}
+
+.site-row-6 .site {
+    width: 80px;
+}
+
+
+/* ------------------ 璐ф灦鎬绘垚 ------------------ */
+.main-part {
+    position: absolute;
+    top: 20px;
+    left: 300px;
+}
+
+.main-part .lane {
+    margin-top: 30px;
+}
+
+/* 搴撲綅缁� */
+.stock-group .item {
+    float: left;
+    border-top: 1px solid rgb(194, 76, 65);
+    border-bottom: 1px solid rgb(194, 76, 65);
+    border-left: 1px solid rgb(194, 76, 65);
+    border-right: 1px solid rgb(194, 76, 65);
+    border-right: none;
+    cursor: inherit;
+    color: rgb(194, 76, 65);
+}
+
+.stock-group .site {
+    width: 80px;
+    float: left;
+}
+
+.stock-group::after, .stock-group::before {
+    content: "";
+    display: table;
+    clear: both;
+}
+
+/* 鍫嗗灈鏈鸿建閬� */
+.pathway {
+    margin-left: 30px;
+    border: 1px solid #333;
+    position: absolute;
+    background-color: #333 !important;
+    color: #333 !important;
+    width: 100%;
+    margin-top: 10px;
+}
+
+/* 鍫嗗灈鏈� */
+.machine {
+    margin-left: 30px;
+    position: relative;
+    background-color: rgb(108, 167, 168);
+    height: 20px;
+    width: 80px;
+    background-image: url("../images/Crane_auto.png");
+    background-repeat: no-repeat;
+    background-size: 100% 100%;
+    background-position: top center;
+    cursor: pointer;
+
+}
+
+/* 鍏ュ簱 */
+.machine-pakin {
+    background-image: url("../images/Crane_store.png");
+}
+
+/* 鍑哄簱 */
+.machine-pakout {
+    background-image: url("../images/Crane_retrieve.png");
+}
+
+/* 搴撳埌搴� */
+.machine-stock-move {
+    background-image: url("../images/Crane_loctoloc.png");
+}
+
+/* 绔欏埌绔� */
+.machine-site-move {
+    background-image: url("../images/Crane_stntostn.png");
+}
+
+/* p to p */
+.machine-p-move {
+    background-image: url("../images/Crane_hptoohp.png");
+}
+
+/* 寮傚父 */
+.machine-error {
+    background-image: url("../images/Crane_error.png");
+}
+
+/* 鑷姩 */
+.machine-auto {
+    background-image: url("../images/Crane_auto.png");
+}
+
+/* 闈炶嚜鍔�/鏀跺埌 */
+.machine-un-auto {
+    background-image: url("../images/Crane_manual.png");
+}
+
+
+/* 鍫嗗灈鏈哄脊绐� */
+#crnWindow {
+    width: 291px;
+    height: 365px;
+    background-image: url(../images/Popup-yellow.png);
+
+    position: fixed;
+    color: white;
+    left: 50%;
+    top: 50%;
+    transform: translate(-50%, -50%);
+}
+
+/* 杈撻�佽澶囧脊绐� */
+#siteWindow {
+    width: 291px;
+    height: 336px;
+    background-image: url(../images/Popup-green.png);
+    position: fixed;
+    color: white;
+    left: 50%;
+    top: 50%;
+    transform: translate(-50%, -50%);
+}
+
+#siteWindow-head {
+    width: 291px;
+    height: 55px;
+    line-height: 55px;
+    margin-left: 25px;
+    color: #000000;
+    font-weight: 700;
+    letter-spacing: 2px;
+}
+
+#siteWindow-head .detailed {
+    display: inline-block;
+}
+
+#siteWindow-head button {
+    width: 25px;
+    height: 25px;
+    padding: 0px;
+    border: none;
+    border-radius: 25px;
+    background-image: url(../images/siteclose.png);
+    display: inline-block;
+    float: right;
+    margin-top: 15px;
+    margin-right: 50px;
+}
+
+#crnWindow-head {
+    width: 291px;
+    height: 55px;
+    line-height: 55px;
+    margin-left: 55px;
+    color: #000000;
+    font-weight: 700;
+    letter-spacing: 2px;
+
+}
+
+#crnWindow-head .detailed {
+    display: inline-block;
+}
+
+#crnWindow-head button {
+    width: 25px;
+    height: 25px;
+    padding: 0px;
+    border: none;
+    border-radius: 25px;
+    background-image: url(../images/siteclose.png);
+    display: inline-block;
+    float: right;
+    margin-top: 15px;
+    margin-right: 80px;
+}
+
+
+/* 寮圭獥 */
+form .form-item {
+    display: inline-block;
+    padding-left: 10px;
+}
+
+form .form-item-label {
+    display: inline-block;
+    width: 90px;
+    font-size: 10px;
+}
+
+form .form-item-input {
+    display: inline-block;
+    width: 180px;
+
+}
+
+form .form-item-input input {
+    background-color: rgba(255, 255, 255, .3);
+    color: #FFFFFF;
+    padding: 0;
+    border: none;
+    border-radius: 2px;
+    height: 18px;
+    padding-left: 10px;
+}
+
+/* checkbox */
+form .form-item-checkbox {
+    display: inline-block;
+    padding-left: 10px;
+    width: 20%;
+}
+
+form .form-item-label-checkbox {
+    display: inline-block;
+    width: auto;
+    font-size: 14px;
+}
+
+form .form-item-input-checkbox {
+    display: inline-block;
+    width: auto;
+
+}
\ No newline at end of file
diff --git a/zy-acs-cv/src/main/webapp/static/css/crn.css b/zy-acs-cv/src/main/webapp/static/css/crn.css
new file mode 100644
index 0000000..8070199
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/css/crn.css
@@ -0,0 +1,286 @@
+body {
+    background-color: #6CA7A8;
+}
+
+.button-window {
+    float: left;
+    width: 100%;
+    height: 100%;
+    padding: 10px;
+    border-radius: 5px;
+    box-shadow: 0 0 3px rgba(0 0 0 .3);
+}
+
+/* -------------------- 绗竴妯″潡 -------------------- */
+.log-board {
+    background-color: #fff;
+    border-radius: 5px;
+    box-shadow: 0 0 3px rgba(0, 0, 0, .3);
+    height: 25%;
+}
+
+/* 宸� */
+.command-log {
+    float: left;
+    height: 100%;
+    width: 20%;
+    text-align: center;
+}
+
+.command-log h2 {
+    padding: 10px;
+}
+
+.crn-command-item {
+    padding: 4px 0;
+}
+
+.crn-command-item label {
+    font-size: 20px;
+    font-weight: bold;
+    vertical-align: middle;
+}
+
+.crn-command-item span {
+    display: inline-block;
+    width: 20px;
+    height: 20px;
+    background-color: #2e9926;
+    border-radius: 5px;
+    vertical-align: middle;
+}
+
+.crn-command-item input {
+    vertical-align: middle;
+    outline: none;
+    width: 60%;
+}
+
+/* 鍙� */
+.crn-state {
+    float: left;
+    height: 100%;
+    width: 80%;
+    overflow: auto;
+}
+
+/* 鍫嗗灈鏈虹姸鎬佽〃 */
+#crn-state-table {
+    font-size: 12px;
+    border-collapse: collapse;
+    margin: 0 auto;
+    text-align: center;
+}
+
+#crn-state-table td, #crn-state-table th {
+    border: 1px solid #cad9ea;
+    color: #666;
+    height: 25px;
+}
+
+#crn-state-table thead th {
+    background-color: #CCE8EB;
+    width: 300px;
+}
+
+#crn-state-table tr:nth-child(odd) {
+    background: #fff;
+}
+
+#crn-state-table tr:nth-child(even) {
+    background: #F5FAFA;
+}
+
+/* -------------------- 绗簩妯″潡 -------------------- */
+.crn-msg {
+    /*overflow: auto;*/
+    margin-top: 10px;
+    height: 23%;
+    background-color: #fff;
+    border-radius: 5px;
+    box-shadow: 0 0 3px rgba(0, 0, 0, .3);
+}
+
+/* 鍫嗗灈鏈虹姸鎬佷俊鎭〃 */
+#crn-msg-table {
+    font-size: 12px;
+    border-collapse: collapse;
+    margin: 0 auto;
+    text-align: center;
+}
+
+#crn-msg-table td, #crn-msg-table th {
+    border: 1px solid #f1f1f1;
+    color: #666;
+    height: 30px;
+}
+
+#crn-msg-table thead th {
+    background-color: #fff;
+    width: 400px;
+}
+
+#crn-msg-table tr:nth-child(odd) {
+    background: #fff;
+}
+
+#crn-msg-table tr:nth-child(even) {
+    background: #fff;
+}
+
+/* -------------------- 绗笁妯″潡 -------------------- */
+.crn-operation {
+    position: relative;
+    margin-top: 10px;
+    height: 25%;
+    background-color: #fff;
+    border-radius: 5px;
+    box-shadow: 0 0 3px rgba(0, 0, 0, .3);
+}
+
+/* 浠诲姟璁惧閫夋嫨妗� */
+.task-select {
+    height: 50%;
+    overflow: hidden;
+    padding: 20px 0 10px 20px;
+}
+
+.operator-item {
+    display: inline-block;
+    height: 100%;
+    width: 20%;
+    text-align: center;
+    position: relative;
+    vertical-align: middle;
+    padding: 10px 0px 10px 50px;
+}
+
+.operator-item .select-title {
+    display: inline-block;
+    position: absolute;
+    top: -11px;
+    left: 50%;
+    transform: translate(-50%, 0);
+    background-color: #fff;
+    color: #2e95d3;
+    font-size: 12px;
+    border: 1px solid #8d8d8d;
+    border-radius: 5px;
+    padding: 5px;
+    z-index: 999;
+}
+
+.operator-item .select-container {
+    padding: 10px 0;
+    height: 100%;
+    border: 1px solid #8d8d8d;
+    border-radius: 5px;
+}
+
+#crn-select .select-container label {
+    display: inline-block;
+    padding: 0 20px;
+    vertical-align: middle;
+    margin-top: -2px;
+    margin-bottom: 1px;
+
+}
+
+.select-container input {
+    display: inline-block;
+    font-size: 12px;
+    vertical-align: middle;
+    margin-top: -2px;
+    margin-bottom: 1px;
+}
+
+.select-container-item {
+    display: inline-block;
+    margin: 0px auto;
+    padding: 0;
+}
+
+.select-container-item input {
+    height: 20px;
+    border: 1px solid #8D8D8D;
+    border-radius: 3px;
+    width: 80px;
+    outline: none;
+}
+
+/* 浠诲姟浣滀笟閫夋嫨妗� */
+.task-operator {
+    height: 50%;
+    overflow: hidden;
+    padding: 0 20px 10px 20px;
+}
+
+.task-operator fieldset {
+    padding: 15px 20px 5px 50px;
+    border-width: 1px;
+    border-style: solid;
+    height: 100%;
+}
+
+.task-operator legend {
+    margin-left: 20px;
+    padding: 0 10px;
+    font-size: 16px;
+    font-weight: 300;
+}
+
+button.item {
+    border: 1px solid #333;
+    font-size: 13px;
+    padding: 1px 1px 1px 1px;
+    width: 100px;
+    height: 40px;
+    outline: none;
+    cursor: pointer;
+    color: #333;
+    background-color: transparent;
+    margin-right: 5px;
+    border-radius: 5px;
+}
+
+button.item:hover {
+    background-color: #333;
+    color: #fff;
+}
+
+/* 鎵嬪姩鎿嶄綔閬僵 */
+.crn-operation-shade {
+    position: absolute;
+    height: 100%;
+    width: 100%;
+    z-index: 1000;
+    text-align: center;
+    padding: 80px 0;
+}
+
+.crn-operation-shade-span {
+    font-size: xx-large;
+    font-weight: bold;
+    color: red;
+}
+
+/* -------------------- 绗洓妯″潡 -------------------- */
+.crn-output-board {
+    margin-top: 10px;
+    height: 20%;
+    background-color: #fff;
+    border-radius: 5px;
+    box-shadow: 0 0 3px rgba(0, 0, 0, .3);
+}
+
+#crn-output {
+    border-left: none;
+    border-right: none;
+    border-top: 1px solid #9d9d9d;
+    border-bottom: 1px solid #333;
+    width: 100%;
+    height: 100%;
+    overflow: auto;
+    resize: none;
+    color: #666;
+}
diff --git a/zy-acs-cv/src/main/webapp/static/css/index-0.css b/zy-acs-cv/src/main/webapp/static/css/index-0.css
new file mode 100644
index 0000000..232ae41
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/css/index-0.css
@@ -0,0 +1,84 @@
+html {
+    overflow: hidden;
+}
+
+body {
+    overflow: hidden;
+}
+
+/* 瀵艰埅 */
+.nav {
+    background-color: #fff; /*todo*/
+    color: #000;
+    list-style-type: none;
+    position: fixed;
+    width: 100%;
+    overflow: hidden;
+    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .1);
+
+}
+
+.nav li {
+    float: left;
+    border-right: 1px solid #f1f1f1; /*todo*/
+}
+
+.nav li a {
+    font-size: 15px;
+    letter-spacing: 1px;
+    display: block;
+    text-decoration: none;
+    padding: 12px 16px;
+    text-align: center;
+    font-weight: bold;
+}
+
+.nav li a:hover {
+    color: #000;
+}
+
+.nav li.right {
+    float: right;
+}
+
+.nav-unselect {
+    color: #666;
+}
+
+.nav-select {
+    background-color: #f1f1f1; /*todo*/
+    color: #000;
+}
+
+/* 涓讳綋 */
+#content {
+    box-sizing: border-box;
+    padding-top: 46px;
+    width: 100%;
+    height: 100%;
+}
+
+/* 搴曢儴 */
+footer {
+    border-top: 1px solid #e3e3e3;
+    position: fixed;
+    bottom: 0;
+    right: 0;
+    left: 0;
+    text-align: center;
+    font: 14px Helvetica Neue, Helvetica, PingFang SC, \5FAE\8F6F\96C5\9ED1, Tahoma, Arial, sans-serif;
+    box-shadow: 0 -1px 2px 0 rgba(0, 0, 0, .0);
+    box-sizing: border-box;
+    background-color: #fff;
+    z-index: 999;
+    height: 30px;
+    font-size: 13px;
+    line-height: 30px;
+}
+
+footer a {
+    color: #3573ab;
+    font-weight: bold;
+    text-decoration: none;
+    cursor: pointer;
+}
\ No newline at end of file
diff --git a/zy-acs-cv/src/main/webapp/static/css/index.css b/zy-acs-cv/src/main/webapp/static/css/index.css
new file mode 100644
index 0000000..b594f3c
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/css/index.css
@@ -0,0 +1,149 @@
+* {
+    margin: 0;
+    overflow: hidden;
+}
+
+html, body {
+    height: 100%;
+}
+
+/*.nav {*/
+/*    width: 100%;*/
+/*    height: 90px;*/
+/*    line-height: 90px;*/
+/*    list-style: none;*/
+/*    color: #fff;*/
+/*    position: fixed;*/
+/*    text-align: center;*/
+/*    letter-spacing:3px;*/
+
+/*}*/
+.right {
+    float: right;
+    margin-right: 1%;
+    margin-top: 1%;
+
+}
+
+#about {
+    width: 47px;
+    height: 47px;
+    display: inline-block;
+    background-image: url(../images/cancellation.png);
+}
+
+.sidebar {
+    width: 8%;
+    height: 40%;
+    line-height: 90px;
+    position: fixed;
+    top: 50%;
+    transform: translateY(-50%);
+}
+
+.nav ul {
+    font-size: 1.25em;
+    font-weight: 500;
+    padding-left: 5%;
+}
+
+.nav a {
+    position: relative;
+    text-decoration: none;
+    margin-left: 0.625em;
+    font-weight: 500;
+}
+
+.nav a:hover {
+    color: #fff;
+}
+
+/* Effect 1: Brackets */
+.cl-effect-4 a {
+    padding: 0 0 0.625em;
+}
+
+.cl-effect-4 a::after {
+    position: absolute;
+    top: 100%;
+    left: 0;
+    width: 100%;
+    height: 0.0625em;
+    background: #fff;
+    content: '';
+    opacity: 0;
+    -webkit-transition: height 0.3s, opacity 0.3s, -webkit-transform 0.3s;
+    -moz-transition: height 0.3s, opacity 0.3s, -moz-transform 0.3s;
+    transition: height 0.3s, opacity 0.3s, transform 0.3s;
+    -webkit-transform: translateY(-0.625em);
+    -moz-transform: translateY(-0.625em);
+    transform: translateY(-0.625em);
+}
+
+.cl-effect-4 a:hover::after,
+.cl-effect-4 a:focus::after {
+    height: 0.3125em;
+    opacity: 1;
+    -webkit-transform: translateY(0px);
+    -moz-transform: translateY(0px);
+    transform: translateY(0px);
+}
+
+/* Effect 1: Brackets 馃憜*/
+/*.sidebar ul {*/
+/*    font-size: 20px;*/
+/*    font-weight: 500;*/
+/*    padding-left: 5%;*/
+
+/*}*/
+/*.sidebar a {*/
+/*    text-decoration: none;*/
+/*    !*color: #cbcbcb;*!*/
+/*}*/
+
+/*.sidebar a:hover {*/
+/*    color: rgb(255, 148, 111);*/
+/*}*/
+
+
+.nav-unselect {
+    color: #FFFFFF;
+}
+
+.nav-select {
+    font-weight: 900;
+    color: #fff;
+}
+
+
+/* 涓讳綋 */
+iframe {
+    width: 100%;
+    height: 100%;
+    border-width: 0;
+}
+
+/* 搴曢儴 */
+footer {
+    /* border-top: 1px solid #e3e3e3; */
+    position: fixed;
+    bottom: 0;
+    right: 0;
+    left: 0;
+    text-align: center;
+    font: 14px Helvetica Neue, Helvetica, PingFang SC, \5FAE\8F6F\96C5\9ED1, Tahoma, Arial, sans-serif;
+    box-shadow: 0 -1px 2px 0 rgba(0, 0, 0, .0);
+    box-sizing: border-box;
+    background-color: rgba(255, 255, 255, .05);
+    z-index: 999;
+    height: 20px;
+    font-size: 13px;
+    line-height: 20px;
+}
+
+footer a {
+    color: #3573ab;
+    font-weight: bold;
+    text-decoration: none;
+    cursor: pointer;
+}
diff --git a/zy-acs-cv/src/main/webapp/static/css/layx.min.css b/zy-acs-cv/src/main/webapp/static/css/layx.min.css
new file mode 100644
index 0000000..7b80df1
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/css/layx.min.css
@@ -0,0 +1,10 @@
+/*!
+ * file : layx.css
+ * gitee : https://gitee.com/monksoul/LayX
+ * github : https://github.com/MonkSoul/Layx/
+ * author : 鐧惧皬鍍�/MonkSoul
+ * version : v2.5.4
+ * create time : 2018.05.11
+ * update time : 2018.11.03
+ */
+*[class^="layx-"]{box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;margin:0;padding:0;outline:none;border:none;background-color:transparent}.layx-flexbox{display:-webkit-box;display:-ms-flexbox;display:flex;display:-webkit-flex}.layx-flex-vertical{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-items:center;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-justify-content:flex-start}.layx-flex-center{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-justify-content:center}.layx-flexauto{flex:1;-webkit-box-flex:1;-moz-box-flex:1;-webkit-flex:1;-ms-flex:1}.layx-shade,#layx-window-move{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;background-color:transparent}body.ilayx-body{overflow:hidden !important}.layx-window{position:fixed;overflow:visible !important;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;color:#000;-webkit-tap-highlight-color:rgba(0,0,0,0);visibility:visible;border:none}.layx-window.layx-flicker{animation-name:layx-flicker;-webkit-animation-name:layx-flicker;-moz-animation-name:layx-flicker;animation-duration:.12s;-webkit-animation-duration:.12s;-moz-animation-duration:.12s;animation-iteration-count:8;-webkit-animation-iteration-count:8;-moz-animation-iteration-count:8}.layx-window.layx-max-statu,.layx-window.layx-max-statu .layx-control-bar,.layx-window.layx-max-statu .layx-main,.layx-window.layx-max-statu .layx-statu-bar{border-radius:0 !important;-webkit-border-radius:0 !important;-moz-border-radius:0 !important}.layx-window.layx-min-statu{min-height:0 !important;overflow:hidden !important;min-width:0 !important}.layx-window.layx-min-statu .layx-title{overflow:hidden !important}.layx-window.layx-min-statu .layx-inlay-menus .layx-stick-menu,.layx-window.layx-min-statu .layx-inlay-menus .layx-debug-menu{display:none}.layx-window.layx-bubble-type{overflow:visible !important;position:absolute !important}.layx-window.layx-hide-statu{display:none !important}.layx-control-bar{min-height:30px;overflow:hidden;width:100%;padding-left:5px}.layx-iconfont{width:1em;height:1em;vertical-align:-.15em;fill:currentColor;overflow:hidden;font-size:14px;line-height:normal;display:block;line-height:normal}.layx-icon{text-align:center}.layx-icon *{pointer-events:none}.layx-left-bar{margin-right:5px}.layx-window-icon{-webkit-tap-highlight-color:rgba(0,0,0,0)}.layx-window-icon .layx-iconfont{font-size:16px}.layx-title,.layx-group-tab{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;margin-right:5px;min-width:0;-ms-touch-action:none;touch-action:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.layx-title{-webkit-app-region:drag}.layx-group-tab{-webkit-app-region:no-drag}.layx-title .layx-label,.layx-group-title .layx-label{line-height:normal;font-size:14px;max-width:100%;-webkit-line-clamp:1;-webkit-box-orient:vertical;word-wrap:break-word;overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis;white-space:nowrap;display:inline-block;pointer-events:none;visibility:visible;position:relative;top:-1px;top:0px\0}.layx-group-tab .layx-label{line-height:28px}.layx-group-tab.layx-type-group{overflow:visible;margin-right:0;border-bottom:1px solid #ddd}.layx-control-bar.layx-type-group{overflow:visible;border-bottom:1px solid #ddd}.layx-group-title{height:27px;line-height:25px;max-width:150px;width:150px;padding:0 8px;background-color:#f5f5f5;border:1px solid #ddd;border-width:1px 1px 0 0;position:relative;color:#666;white-space:nowrap;min-width:0;-webkit-tap-highlight-color:rgba(0,0,0,0)}.layx-title.layx-type-group .layx-group-title{height:30px;line-height:34px}.layx-title.layx-type-group{overflow:visible}.layx-title.layx-type-group .layx-group-title:first-child{border-left:1px solid #ddd}.layx-group-title[data-enable="1"]{background-color:#fff;color:#000}.layx-group-title[data-enable="1"]::after{position:absolute;top:0;right:0;bottom:0;left:0;height:100%;width:100%;content:'';border-bottom:1px solid #fff}.layx-inlay-menus{height:100%;height:30px;line-height:30px;position:relative;max-height:30px;z-index:2}.layx-inlay-menus .layx-icon{width:45px;-webkit-tap-highlight-color:rgba(0,0,0,0)}.layx-inlay-menus .layx-icon:hover{background-color:#e5e5e5}.layx-inlay-menus .layx-icon.layx-destroy-menu:hover{background-color:#e81123 !important;color:#fff !important}.layx-inlay-menus .layx-icon.layx-stick-menu[data-enable='1']{color:#f00}.layx-main{overflow:auto;position:relative;clear:both;-webkit-overflow-scrolling:touch;-webkit-transform:translate3d(0,0,0);-webkit-app-region:no-drag}.layx-readonly{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;background:transparent;z-index:199205270356}.layx-group-main{position:absolute;top:0;right:0;bottom:0;left:0;height:100%;width:100%;z-index:0;visibility:hidden;overflow:auto;-webkit-overflow-scrolling:touch;-webkit-transform:translate3d(0,0,0)}.layx-group-main[data-enable="1"]{z-index:1;visibility:visible}.layx-mouse-preventDefault{position:absolute;z-index:3;height:100%;width:100%;left:0;top:0;right:0;bottom:0;overflow:hidden;background-color:transparent}.layx-content-shade{position:absolute;z-index:2;width:100%;height:100%;left:0;right:0;bottom:0;top:0;overflow:hidden;background-color:#fff}.layx-html{width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;-webkit-overflow-scrolling:touch;-webkit-transform:translate3d(0,0,0);overflow:auto}.layx-dialog-icon{margin-right:10px;position:relative;top:-5px}.layx-dialog-icon .layx-iconfont{font-size:40px !important}.layx-dialog-msg .layx-dialog-icon .layx-iconfont,.layx-dialog-tip .layx-dialog-icon .layx-iconfont{font-size:25px !important}.layx-dialog-msg .layx-dialog-icon,.layx-dialog-tip .layx-dialog-icon{top:0}.layx-dialog-icon-success{color:#01aaed}.layx-dialog-icon-warn{color:#ffb800}.layx-dialog-icon-error{color:#f00}.layx-dialog-icon-help{color:#009688}.layx-dialog-msg,.layx-dialog-tip,.layx-dialog-load{color:#000;padding:10px}.layx-dialog-alert,.layx-dialog-confirm,.layx-dialog-prompt{padding:10px;color:#039}.layx-dialog-prompt{width:100%}.layx-dialog-msg,.layx-dialog-tip{height:100%}.layx-dialog-content{font-size:14px}.layx-textarea{display:block;border:1px solid #ddd;width:100%;resize:none;height:60px;margin-top:8px;padding:8px;font-size:15px;color:#000;line-height:1.5}.layx-textarea:focus{border:1px solid #3baced}.layx-buttons{padding:8px 10px;text-align:right}.layx-button-item{padding:0 16px;height:24px;line-height:normal;color:#000;font-size:14px;border:1px solid #adadad;outline:none;margin-left:8px;display:inline-block;background-color:#e1e1e1;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.layx-buttons .layx-button-item:hover{background-color:#e5f1fb;border:1px solid #0078d7}.layx-buttons .layx-button-item[disabled]{color:#999;cursor:not-allowed}.layx-buttons .layx-button-item[disabled]:hover{background-color:#e1e1e1;border:1px solid #adadad}.layx-iframe{width:1px;min-width:100%;*width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}.layx-statu-bar{border-top:1px solid #ddd;min-height:25px;background-color:#eeeef2}.layx-resizes[data-enable='0']{visibility:hidden}.layx-resizes>div{position:absolute;z-index:3;-ms-touch-action:none;touch-action:none}.layx-resize-top,.layx-resize-bottom{height:3px;left:3px;right:3px}.layx-resize-top{top:0;cursor:n-resize}.layx-resize-bottom{bottom:0;cursor:s-resize}.layx-resize-left,.layx-resize-right{width:3px;top:3px;bottom:3px}.layx-resize-left{left:0;cursor:w-resize}.layx-resize-right{right:0;cursor:e-resize}.layx-resize-left-top,.layx-resize-right-top,.layx-resize-left-bottom,.layx-resize-right-bottom{width:3px;height:3px}.layx-resize-left-top{left:0;top:0;cursor:nw-resize}.layx-resize-right-top{right:0;top:0;cursor:ne-resize}.layx-resize-left-bottom{left:0;bottom:0;cursor:sw-resize}.layx-resize-right-bottom{right:0;bottom:0;cursor:se-resize}.layx-resize-top.layx-reisize-touch,.layx-resize-bottom.layx-reisize-touch{height:16px;left:16px;right:16px}.layx-resize-left.layx-reisize-touch,.layx-resize-right.layx-reisize-touch{width:16px;top:16px;bottom:16px}.layx-resize-left-top.layx-reisize-touch,.layx-resize-right-top.layx-reisize-touch,.layx-resize-left-bottom.layx-reisize-touch,.layx-resize-right-bottom.layx-reisize-touch{width:16px;height:16px}.layx-resize-top.layx-reisize-touch{top:-8px}.layx-resize-bottom.layx-reisize-touch{bottom:-8px}.layx-resize-left.layx-reisize-touch{left:-8px}.layx-resize-right.layx-reisize-touch{right:-8px}.layx-resize-left-top.layx-reisize-touch{left:-8px;top:-8px}.layx-resize-right-top.layx-reisize-touch{right:-8px;top:-8px}.layx-resize-left-bottom.layx-reisize-touch{left:-8px;bottom:-8px}.layx-resize-right-bottom.layx-reisize-touch{right:-8px;bottom:-8px}.layx-resize-left[data-enable='0'],.layx-resize-top[data-enable='0'],.layx-resize-right[data-enable='0'],.layx-resize-bottom[data-enable='0'],.layx-resize-left-top[data-enable='0'],.layx-resize-left-bottom[data-enable='0'],.layx-resize-right-top[data-enable='0'],.layx-resize-right-bottom[data-enable='0']{visibility:hidden}.layx-auto-destroy-tip{position:absolute;bottom:3px;right:3px;height:25px;line-height:25px;z-index:5;color:#444;background-color:#f1f1f1;padding:0 8px;font-size:13px}.layx-code{border:1px solid #dedede;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;padding:10px;width:100%;height:100%;-webkit-overflow-scrolling:touch;-webkit-transform:translate3d(0,0,0);background:#f5f5f5;overflow:auto}.layx-bubble,.layx-bubble-inlay{position:absolute;width:0;height:0}.layx-bubble-bottom{top:-11px;left:2px;border-left:10px solid transparent;border-right:10px solid transparent;border-bottom:11px solid transparent}.layx-bubble-inlay-bottom{top:2px;left:-9px;border-left:9px solid transparent;border-right:9px solid transparent;border-bottom:9px solid transparent}.layx-bubble-top{bottom:-11px;left:2px;border-left:10px solid transparent;border-right:10px solid transparent;border-top:11px solid transparent}.layx-bubble-inlay-top{bottom:2px;left:-9px;border-left:9px solid transparent;border-right:9px solid transparent;border-top:9px solid transparent}.layx-bubble-right{top:2px;left:-11px;border-top:10px solid transparent;border-bottom:10px solid transparent;border-right:11px solid transparent}.layx-bubble-inlay-right{top:-9px;left:2px;border-top:9px solid transparent;border-bottom:9px solid transparent;border-right:9px solid transparent}.layx-bubble-left{top:2px;right:-11px;border-top:10px solid transparent;border-bottom:10px solid transparent;border-left:11px solid transparent}.layx-bubble-inlay-left{top:-9px;right:2px;border-top:9px solid transparent;border-bottom:9px solid transparent;border-left:9px solid transparent}.layx-pre{height:auto;width:100%;font-size:14px;font-family:Arial;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;display:block;font-family:Arial}.layx-dot{display:inline-block;width:25px}.layx-load-animate{width:32px;height:32px;position:relative;margin-right:10px}.layx-load-inner,.layx-load-inner2{position:absolute;width:100%;height:100%;border-radius:40px;-webkit-border-radius:40px;-moz-border-radius:40px;overflow:hidden;left:0;top:0}.layx-load-inner{opacity:1;background-color:#89abdd;-webkit-animation:layx-second-half-hide 1.6s steps(1,end) infinite;animation:layx-second-half-hide 1.6s steps(1,end) infinite;-moz-animation:layx-second-half-hide 1.6s steps(1,end) infinite}.layx-load-inner2{opacity:0;background-color:#4b86db;-webkit-animation:layx-second-half-show 1.6s steps(1,end) infinite;animation:layx-second-half-show 1.6s steps(1,end) infinite;-moz-animation:layx-second-half-show 1.6s steps(1,end) infinite}.layx-load-spiner,.layx-load-filler,.layx-load-masker{position:absolute;width:50%;height:100%}.layx-load-spiner{border-radius:40px 0 0 40px;-webkit-border-radius:40px 0 0 40px;-moz-border-radius:40px 0 0 40px;background-color:#4b86db;-webkit-transform-origin:right center;-ms-transform-origin:right center;transform-origin:right center;-moz-transform-origin:right center;-webkit-animation:layx-spin 800ms infinite linear;animation:layx-spin 800ms infinite linear;-moz-animation:layx-spin 800ms infinite linear;left:0;top:0}.layx-load-filler{border-radius:0 40px 40px 0;-webkit-border-radius:0 40px 40px 0;-moz-border-radius:0 40px 40px 0;background-color:#4b86db;-webkit-animation:layx-second-half-hide 800ms steps(1,end) infinite;animation:layx-second-half-hide 800ms steps(1,end) infinite;-moz-animation:layx-second-half-hide 800ms steps(1,end) infinite;left:50%;top:0;opacity:1}.layx-load-masker{border-radius:40px 0 0 40px;-moz-border-radius:40px 0 0 40px;-webkit-border-radius:40px 0 0 40px;background-color:#89abdd;-webkit-animation:layx-second-half-show 800ms steps(1,end) infinite;animation:layx-second-half-show 800ms steps(1,end) infinite;-moz-animation:layx-second-half-show 800ms steps(1,end) infinite;left:0;top:0;opacity:0}.layx-load-inner2 .layx-load-spiner,.layx-load-inner2 .layx-load-filler{background-color:#89abdd}.layx-load-inner2 .layx-load-masker{background-color:#4b86db}.layx-window.layx-skin-default{border:1px solid #3baced}.layx-window.layx-skin-default .layx-control-bar{background-color:#fff}.layx-window.layx-skin-cloud .layx-control-bar{background-color:#ecf0f1}.layx-window.layx-skin-cloud .layx-inlay-menus .layx-icon:hover{background-color:#bdc3c7}.layx-window.layx-skin-cloud .layx-button-item{background-color:#ecf0f1;border:1px solid #ccc}.layx-window.layx-skin-cloud .layx-button-item:hover{background-color:#bdc3c7;color:#fff;border:1px solid #ecf0f1}.layx-window.layx-skin-turquoise .layx-control-bar{background-color:#1abc9c;color:#fff}.layx-window.layx-skin-turquoise .layx-inlay-menus .layx-icon:hover{background-color:#16a085}.layx-window.layx-skin-turquoise .layx-button-item{background-color:#1abc9c;color:#fff;border:1px solid #1abc9c}.layx-window.layx-skin-turquoise .layx-button-item:hover{background-color:#16a085;border:1px solid #1abc9c}.layx-window.layx-skin-river .layx-control-bar{background-color:#3498db;color:#fff}.layx-window.layx-skin-river .layx-inlay-menus .layx-icon:hover{background-color:#2980b9}.layx-window.layx-skin-river .layx-button-item{background-color:#3498db;color:#fff;border:1px solid #3498db}.layx-window.layx-skin-river .layx-button-item:hover{background-color:#2980b9;border:1px solid #3498db}.layx-window.layx-skin-asphalt .layx-control-bar{background-color:#34495e;color:#fff}.layx-window.layx-skin-asphalt .layx-inlay-menus .layx-icon:hover{background-color:#2c3e50}.layx-window.layx-skin-asphalt .layx-button-item{background-color:#34495e;color:#fff;border:1px solid #34495e}.layx-window.layx-skin-asphalt .layx-button-item:hover{background-color:#2c3e50;border:1px solid #34495e}@keyframes layx-flicker{from{-webkit-box-shadow:1px 1px 24px rgba(0,0,0,.3);box-shadow:1px 1px 24px rgba(0,0,0,.3);-moz-box-shadow:1px 1px 24px rgba(0,0,0,.3)}to{-webkit-box-shadow:1px 1px 12px rgba(0,0,0,.3);box-shadow:1px 1px 12px rgba(0,0,0,.3);-moz-box-shadow:1px 1px 12px rgba(0,0,0,.3)}}@-webkit-keyframes layx-flicker{from{-webkit-box-shadow:1px 1px 24px rgba(0,0,0,.3);box-shadow:1px 1px 24px rgba(0,0,0,.3);-moz-box-shadow:1px 1px 24px rgba(0,0,0,.3)}to{-webkit-box-shadow:1px 1px 12px rgba(0,0,0,.3);box-shadow:1px 1px 12px rgba(0,0,0,.3);-moz-box-shadow:1px 1px 12px rgba(0,0,0,.3)}}@-webkit-keyframes layx-spin{0%{-webkit-transform:rotate(360deg);transform:rotate(360deg);-moz-transform:rotate(360deg)}100%{-webkit-transform:rotate(0deg);transform:rotate(0deg);-moz-transform:rotate(0deg)}}@keyframes layx-spin{0%{-webkit-transform:rotate(360deg);transform:rotate(360deg);-moz-transform:rotate(360deg)}100%{-webkit-transform:rotate(0deg);transform:rotate(0deg);-moz-transform:rotate(0deg)}}@-webkit-keyframes layx-second-half-hide{0%{opacity:1}50%,100%{opacity:0}}@keyframes layx-second-half-hide{0%{opacity:1}50%,100%{opacity:0}}@-webkit-keyframes layx-second-half-show{0%{opacity:0}50%,100%{opacity:1}}@keyframes layx-second-half-show{0%{opacity:0}50%,100%{opacity:1}}
\ No newline at end of file
diff --git a/zy-acs-cv/src/main/webapp/static/css/normalize.css b/zy-acs-cv/src/main/webapp/static/css/normalize.css
new file mode 100644
index 0000000..6a89b17
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/css/normalize.css
@@ -0,0 +1,349 @@
+/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
+
+/* Document
+   ========================================================================== */
+
+/**
+ * 1. Correct the line height in all browsers.
+ * 2. Prevent adjustments of font size after orientation changes in iOS.
+ */
+
+html {
+    line-height: 1.15; /* 1 */
+    -webkit-text-size-adjust: 100%; /* 2 */
+}
+
+/* Sections
+   ========================================================================== */
+
+/**
+ * Remove the margin in all browsers.
+ */
+
+body {
+    margin: 0;
+}
+
+/**
+ * Render the `main` element consistently in IE.
+ */
+
+main {
+    display: block;
+}
+
+/**
+ * Correct the font size and margin on `h1` elements within `section` and
+ * `article` contexts in Chrome, Firefox, and Safari.
+ */
+
+h1 {
+    font-size: 2em;
+    margin: 0.67em 0;
+}
+
+/* Grouping content
+   ========================================================================== */
+
+/**
+ * 1. Add the correct box sizing in Firefox.
+ * 2. Show the overflow in Edge and IE.
+ */
+
+hr {
+    box-sizing: content-box; /* 1 */
+    height: 0; /* 1 */
+    overflow: visible; /* 2 */
+}
+
+/**
+ * 1. Correct the inheritance and scaling of font size in all browsers.
+ * 2. Correct the odd `em` font sizing in all browsers.
+ */
+
+pre {
+    font-family: monospace, monospace; /* 1 */
+    font-size: 1em; /* 2 */
+}
+
+/* Text-level semantics
+   ========================================================================== */
+
+/**
+ * Remove the gray background on active links in IE 10.
+ */
+
+a {
+    background-color: transparent;
+}
+
+/**
+ * 1. Remove the bottom border in Chrome 57-
+ * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
+ */
+
+abbr[title] {
+    border-bottom: none; /* 1 */
+    text-decoration: underline; /* 2 */
+    text-decoration: underline dotted; /* 2 */
+}
+
+/**
+ * Add the correct font weight in Chrome, Edge, and Safari.
+ */
+
+b,
+strong {
+    font-weight: bolder;
+}
+
+/**
+ * 1. Correct the inheritance and scaling of font size in all browsers.
+ * 2. Correct the odd `em` font sizing in all browsers.
+ */
+
+code,
+kbd,
+samp {
+    font-family: monospace, monospace; /* 1 */
+    font-size: 1em; /* 2 */
+}
+
+/**
+ * Add the correct font size in all browsers.
+ */
+
+small {
+    font-size: 80%;
+}
+
+/**
+ * Prevent `sub` and `sup` elements from affecting the line height in
+ * all browsers.
+ */
+
+sub,
+sup {
+    font-size: 75%;
+    line-height: 0;
+    position: relative;
+    vertical-align: baseline;
+}
+
+sub {
+    bottom: -0.25em;
+}
+
+sup {
+    top: -0.5em;
+}
+
+/* Embedded content
+   ========================================================================== */
+
+/**
+ * Remove the border on images inside links in IE 10.
+ */
+
+img {
+    border-style: none;
+}
+
+/* Forms
+   ========================================================================== */
+
+/**
+ * 1. Change the font styles in all browsers.
+ * 2. Remove the margin in Firefox and Safari.
+ */
+
+button,
+input,
+optgroup,
+select,
+textarea {
+    font-family: inherit; /* 1 */
+    font-size: 100%; /* 1 */
+    line-height: 1.15; /* 1 */
+    margin: 0; /* 2 */
+}
+
+/**
+ * Show the overflow in IE.
+ * 1. Show the overflow in Edge.
+ */
+
+button,
+input { /* 1 */
+    overflow: visible;
+}
+
+/**
+ * Remove the inheritance of text transform in Edge, Firefox, and IE.
+ * 1. Remove the inheritance of text transform in Firefox.
+ */
+
+button,
+select { /* 1 */
+    text-transform: none;
+}
+
+/**
+ * Correct the inability to style clickable types in iOS and Safari.
+ */
+
+button,
+[type="button"],
+[type="reset"],
+[type="submit"] {
+    -webkit-appearance: button;
+}
+
+/**
+ * Remove the inner border and padding in Firefox.
+ */
+
+button::-moz-focus-inner,
+[type="button"]::-moz-focus-inner,
+[type="reset"]::-moz-focus-inner,
+[type="submit"]::-moz-focus-inner {
+    border-style: none;
+    padding: 0;
+}
+
+/**
+ * Restore the focus styles unset by the previous rule.
+ */
+
+button:-moz-focusring,
+[type="button"]:-moz-focusring,
+[type="reset"]:-moz-focusring,
+[type="submit"]:-moz-focusring {
+    outline: 1px dotted ButtonText;
+}
+
+/**
+ * Correct the padding in Firefox.
+ */
+
+fieldset {
+    padding: 0.35em 0.75em 0.625em;
+}
+
+/**
+ * 1. Correct the text wrapping in Edge and IE.
+ * 2. Correct the color inheritance from `fieldset` elements in IE.
+ * 3. Remove the padding so developers are not caught out when they zero out
+ *    `fieldset` elements in all browsers.
+ */
+
+legend {
+    box-sizing: border-box; /* 1 */
+    color: inherit; /* 2 */
+    display: table; /* 1 */
+    max-width: 100%; /* 1 */
+    padding: 0; /* 3 */
+    white-space: normal; /* 1 */
+}
+
+/**
+ * Add the correct vertical alignment in Chrome, Firefox, and Opera.
+ */
+
+progress {
+    vertical-align: baseline;
+}
+
+/**
+ * Remove the default vertical scrollbar in IE 10+.
+ */
+
+textarea {
+    overflow: auto;
+}
+
+/**
+ * 1. Add the correct box sizing in IE 10.
+ * 2. Remove the padding in IE 10.
+ */
+
+[type="checkbox"],
+[type="radio"] {
+    box-sizing: border-box; /* 1 */
+    padding: 0; /* 2 */
+}
+
+/**
+ * Correct the cursor style of increment and decrement buttons in Chrome.
+ */
+
+[type="number"]::-webkit-inner-spin-button,
+[type="number"]::-webkit-outer-spin-button {
+    height: auto;
+}
+
+/**
+ * 1. Correct the odd appearance in Chrome and Safari.
+ * 2. Correct the outline style in Safari.
+ */
+
+[type="search"] {
+    -webkit-appearance: textfield; /* 1 */
+    outline-offset: -2px; /* 2 */
+}
+
+/**
+ * Remove the inner padding in Chrome and Safari on macOS.
+ */
+
+[type="search"]::-webkit-search-decoration {
+    -webkit-appearance: none;
+}
+
+/**
+ * 1. Correct the inability to style clickable types in iOS and Safari.
+ * 2. Change font properties to `inherit` in Safari.
+ */
+
+::-webkit-file-upload-button {
+    -webkit-appearance: button; /* 1 */
+    font: inherit; /* 2 */
+}
+
+/* Interactive
+   ========================================================================== */
+
+/*
+ * Add the correct display in Edge, IE 10+, and Firefox.
+ */
+
+details {
+    display: block;
+}
+
+/*
+ * Add the correct display in all browsers.
+ */
+
+summary {
+    display: list-item;
+}
+
+/* Misc
+   ========================================================================== */
+
+/**
+ * Add the correct display in IE 10+.
+ */
+
+template {
+    display: none;
+}
+
+/**
+ * Add the correct display in IE 10.
+ */
+
+[hidden] {
+    display: none;
+}
\ No newline at end of file
diff --git a/zy-acs-cv/src/main/webapp/static/css/pipeline.css b/zy-acs-cv/src/main/webapp/static/css/pipeline.css
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/css/pipeline.css
diff --git a/zy-acs-cv/src/main/webapp/static/css/render.css b/zy-acs-cv/src/main/webapp/static/css/render.css
new file mode 100644
index 0000000..82c8ad4
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/css/render.css
@@ -0,0 +1,605 @@
+* {
+    margin: 0;
+    padding: 0;
+    overflow: hidden;
+}
+
+body {
+    height: 1080px;
+    width: 1920px;
+}
+
+#main {
+    height: 100%;
+    width: 100%;
+    background-color: rgb(108, 167, 168);
+}
+
+.head {
+    height: 10%;
+    width: 100%;
+    color: #FFFFFF;
+}
+
+.head-left {
+    height: 100%;
+    width: 20%;
+    display: inline-block;
+}
+
+.head-right {
+    height: 100%;
+    width: 30%;
+    display: inline-block;
+    float: right;
+}
+
+.head h1 {
+    display: inline;
+    margin-top: 2%;
+    margin-left: 2%;
+    font-weight: 400;
+    letter-spacing: 3px;
+}
+
+.head h6 {
+    display: inline;
+    margin-left: 2%;
+    font-weight: 400;
+}
+
+img {
+    float: right;
+    margin-top: 10px;
+    margin-right: 10px;
+}
+
+.rack {
+    position: absolute;
+    display: inline-block;
+}
+
+.rackDescs {
+    height: 100%;
+    width: 100%;
+    position: absolute;
+    display: inline-block;
+    text-align: center;
+}
+
+.stn {
+    text-align: center;
+    background-color: rgb(120, 255, 129);
+    position: absolute;
+}
+
+.crn {
+    position: absolute;
+    display: inline-block;
+    background-color: #00ff90;
+    z-index: 999;
+}
+
+.track {
+    position: absolute;
+    display: inline-block;
+    background-color: #000000;
+    z-index: 5;
+}
+
+.item {
+    border: 1px solid rgb(194, 76, 65);
+    color: rgb(194, 76, 65);
+    height: 100%;
+    width: 100%;
+}
+
+.barcode {
+    position: absolute;
+    color: #a19c9c;
+    border: 1px solid rgb(108, 167, 168);
+    cursor: pointer;
+    text-align: center;
+    background-color: rgb(157, 217, 162);
+    font-size: 10px;
+}
+
+.floorBtn {
+    position: absolute;
+    border-radius: 5px;
+    left: 1750px;
+    width: 90px;
+    height: 40px;
+    color: #ffffff;
+    font-size: 24px;
+    font-weight: 500;
+    letter-spacing: 5px;
+    cursor: pointer;
+    transition: all 0.3s ease;
+    font-family: 'Lato', sans-serif;
+    background: transparent;
+    box-shadow: inset 2px 2px 2px 0px rgba(255, 255, 255, 0.5), 7px 7px 20px 0px rgba(0, 0, 0, 0.1),
+    4px 4px 5px 0px rgba(0, 0, 0, 0.1);
+}
+
+/* 16 */
+.btn-16 {
+    border: none;
+    color: #fff;
+}
+
+.btn-16:after {
+    position: absolute;
+    content: '';
+    width: 0;
+    height: 100%;
+    top: 0;
+    left: 0;
+    direction: rtl;
+    z-index: -1;
+    box-shadow: -7px -7px 20px 0px #fff9, -4px -4px 5px 0px #fff9, 7px 7px 20px 0px #0002,
+    4px 4px 5px 0px #0001;
+    transition: all 0.3s ease;
+}
+
+.btn-16:hover {
+    color: #323131;
+}
+
+.btn-16:hover:after {
+    left: auto;
+    right: 0;
+    width: 100%;
+}
+
+.btn-16:active {
+    top: 2px;
+}
+
+
+/*鎿嶄綔鏄剧ず鏍�*/
+#body {
+    width: 100%;
+    height: 23%;
+    position: absolute;
+    bottom: 2.5%;
+}
+
+/* 鎺у埗寮�鍏� */
+.system-state {
+    display: inline-block;
+    width: 15%;
+    height: 100%;
+    background-color: rgba(0, 0, 0, 0.3);
+    border-radius: 15px;
+    margin-left: 1%;
+}
+
+/* 鍫嗗灈鏈虹姸鎬� */
+.machine-status {
+    display: inline-block;
+    width: 15%;
+    height: 100%;
+    background-color: rgba(0, 0, 0, 0.3);
+    border-radius: 15px;
+    margin-left: 1%;
+}
+
+.state-ss {
+    margin-left: 60px;
+
+}
+
+/* 杈撻�佺嚎鐘舵�� */
+.line-status {
+    display: inline-block;
+    width: 15%;
+    height: 100%;
+    background-color: rgba(0, 0, 0, 0.3);
+    border-radius: 15px;
+    margin-left: 1%;
+}
+
+.line-ss {
+    display: inline-block;
+    float: right;
+    height: 15px;
+    width: 40px;
+    margin-top: 10px;
+    margin-right: 15px;
+    line-height: 15px;
+    text-align: center;
+    background-color: rgba(5, 5, 5, 0.3);
+    color: #ffdd00;
+}
+
+/* 鏉$爜鎵弿鍣� */
+.bar-code {
+    display: inline-block;
+    width: 49%;
+    height: 100%;
+    background-color: rgba(0, 0, 0, 0.3);
+    border-radius: 15px;
+    margin-left: 1%;
+}
+
+/*鎵爜琛ㄥ崟*/
+.tablebox {
+    display: inline-block;
+    width: 290px;
+    height: 162px;
+    margin-left: 1.5%;
+    color: white;
+    font-size: 14px;
+    list-style: none;
+    line-height: 27px;
+    text-indent: 10px;
+}
+
+.table-head {
+    width: 100%;
+    height: 27px;
+    background: linear-gradient(to right, rgb(94, 193, 184), rgb(12, 71, 63));
+}
+
+.right {
+    float: right;
+    text-indent: 10px;
+    padding-right: 10px;
+}
+
+.table-body li {
+    background-color: #5D7677;
+}
+
+.table-body li:nth-child(even) {
+    background-color: #4A6565;
+}
+
+
+/* 鎺у埗琛ㄥご */
+.body-head {
+    height: 35px;
+    width: 100%;
+    background-image: url(../images/status_bar_1.png);
+    background-repeat: no-repeat;
+    margin-left: 5%;
+    margin-top: 20px;
+    text-indent: 25px;
+    color: white;
+}
+
+
+.system-icon-open {
+    width: 153px;
+    height: 153px;
+    background-image: url(../images/start48.png);
+    display: inline-block;
+}
+
+.system-icon-close {
+    width: 153px;
+    height: 153px;
+    background-image: url(../images/stop48.png);
+    display: inline-block;
+}
+
+.switch_r {
+    color: #FFFFFF;
+    font-size: 14px;
+    width: 130px;
+    height: 153px;
+    float: right;
+    padding-top: 30px;
+}
+
+#system-run-desc {
+    font-size: 20px;
+    margin-top: 15px;
+}
+
+.state {
+    height: 34px;
+    width: 200px;
+    background-color: rgba(255, 255, 255, 0.1);
+    background-image: url(../images/stacker.png);
+    background-repeat: no-repeat;
+    border-radius: 17px 0 0 17px;
+    padding-left: 50px;
+    line-height: 34px;
+    margin-bottom: 10px;
+    margin-left: 5%;
+    color: #FFFFFF;
+    font-size: 10px;
+}
+
+.states {
+    background-image: url(../images/line.png);
+    margin-bottom: 54px;
+}
+
+.button {
+    margin-left: 5%;
+    font-size: 14px;
+    color: #FFFFFF;
+}
+
+/* 绔欑偣 */
+.site {
+    position: absolute;
+    color: #333;
+    cursor: pointer;
+    text-align: center;
+    background-color: rgb(120, 255, 129);
+    font-size: 14px;
+    z-index: 9;
+}
+
+/*绌虹珯鐐�*/
+.site-k {
+    border: 1px solid rgb(108, 167, 168);
+    background-color: rgb(108, 167, 168);
+}
+
+/* 鍏ュ簱 */
+.machine-put-flag {
+    padding: 0 10px;
+    background-color: rgb(163, 214, 242);
+}
+
+/* 鍑哄簱 */
+.machine-take-flag {
+    padding: 0 10px;
+    background-color: rgb(151, 180, 0);
+}
+
+/* 搴撳埌搴� */
+.machine-stock-move-flag {
+    padding: 0 10px;
+    background-color: rgb(58, 77, 249);
+}
+
+/* 绔欏埌绔� */
+.machine-site-move-flag {
+    padding: 0 10px;
+    background-color: rgb(240, 140, 10);
+}
+
+/* PToP */
+.machine-p-move-flag {
+    padding: 0 10px;
+    background-color: rgb(29, 152, 23);
+}
+
+/* 寮傚父 */
+.machine-error-flag {
+    padding: 0 10px;
+    background-color: rgb(252, 48, 48);
+}
+
+/* 鑷姩 */
+.machine-auto-flag {
+    padding: 0 10px;
+    background-color: rgb(132, 255, 115);
+}
+
+/* 闈炶嚜鍔�/鎵嬪姩 */
+.machine-unauto-flag {
+    padding: 0 10px;
+    background-color: rgb(184, 184, 184);
+}
+
+/* 鑷姩+鏈夌墿+ID */
+.site-auto-run-id {
+    background-color: rgb(252, 48, 48);
+}
+
+/* 鑷姩+鏈夌墿 */
+.site-auto-run {
+    background-color: rgb(250, 81, 246);
+}
+
+/* 鑷姩+ID */
+.site-auto-id {
+    background-color: rgb(196, 196, 0);
+}
+
+/* 鑷姩 */
+.site-auto {
+    background-color: rgb(120, 255, 129);
+}
+
+/* 闈炶嚜鍔�/鎵嬪姩 */
+.site-unauto {
+    background-color: rgb(184, 184, 184);
+}
+
+#code {
+    background-image: url(../images/status_bar_2.png);
+    background-repeat: no-repeat;
+    margin-left: 2%;
+}
+
+/* 鍫嗗灈鏈� */
+.machine {
+    position: absolute;
+    background-color: rgb(108, 167, 168);
+    /*margin-left: 1116px;*/
+    height: 20px;
+    width: 80px;
+    background-image: url("../images/Crane_auto.png");
+    background-repeat: no-repeat;
+    background-size: 100% 100%;
+    background-position: top center;
+    cursor: pointer;
+    z-index: 99;
+}
+
+/* 鍏ュ簱 */
+.machine-pakin {
+    background-image: url("../images/Crane_store.png");
+}
+
+/* 鍑哄簱 */
+.machine-pakout {
+    background-image: url("../images/Crane_retrieve.png");
+}
+
+/* 搴撳埌搴� */
+.machine-stock-move {
+    background-image: url("../images/Crane_loctoloc.png");
+}
+
+/* 绔欏埌绔� */
+.machine-site-move {
+    background-image: url("../images/Crane_stntostn.png");
+}
+
+/* p to p */
+.machine-p-move {
+    background-image: url("../images/Crane_hptoohp.png");
+}
+
+/* 寮傚父 */
+.machine-error {
+    background-image: url("../images/Crane_error.png");
+}
+
+/* 鑷姩 */
+.machine-auto {
+    background-image: url("../images/Crane_auto.png");
+}
+
+/* 闈炶嚜鍔�/鏀跺埌 */
+.machine-un-auto {
+    background-image: url("../images/Crane_manual.png");
+}
+
+/* 鍫嗗灈鏈哄脊绐� */
+#crnWindow {
+    width: 291px;
+    height: 365px;
+    background-image: url(../images/Popup-yellow.png);
+    position: fixed;
+    color: white;
+    left: 50%;
+    top: 50%;
+    transform: translate(-50%, -50%);
+    z-index: 101;
+}
+
+/* 杈撻�佽澶囧脊绐� */
+#siteWindow {
+    width: 291px;
+    height: 336px;
+    background-image: url(../images/Popup-green.png);
+    position: fixed;
+    color: white;
+    left: 50%;
+    top: 50%;
+    transform: translate(-50%, -50%);
+    z-index: 101;
+}
+
+#siteWindow-head {
+    width: 291px;
+    height: 55px;
+    line-height: 55px;
+    margin-left: 25px;
+    color: #000000;
+    font-weight: 700;
+    letter-spacing: 2px;
+}
+
+#siteWindow-head .detailed {
+    display: inline-block;
+}
+
+#siteWindow-head button {
+    width: 25px;
+    height: 25px;
+    padding: 0px;
+    border: none;
+    border-radius: 25px;
+    background-image: url(../images/siteclose.png);
+    display: inline-block;
+    float: right;
+    margin-top: 15px;
+    margin-right: 50px;
+}
+
+#crnWindow-head {
+    width: 291px;
+    height: 55px;
+    line-height: 55px;
+    margin-left: 55px;
+    color: #000000;
+    font-weight: 700;
+    letter-spacing: 2px;
+
+}
+
+#crnWindow-head .detailed {
+    display: inline-block;
+}
+
+#crnWindow-head button {
+    width: 25px;
+    height: 25px;
+    padding: 0px;
+    border: none;
+    border-radius: 25px;
+    background-image: url(../images/siteclose.png);
+    display: inline-block;
+    float: right;
+    margin-top: 15px;
+    margin-right: 80px;
+}
+
+
+/* 寮圭獥 */
+form .form-item {
+    display: inline-block;
+    padding-left: 10px;
+}
+
+form .form-item-label {
+    display: inline-block;
+    width: 90px;
+    font-size: 10px;
+}
+
+form .form-item-input {
+    display: inline-block;
+    width: 180px;
+
+}
+
+form .form-item-input input {
+    background-color: rgba(255, 255, 255, .3);
+    color: #FFFFFF;
+    padding: 0;
+    border: none;
+    border-radius: 2px;
+    height: 18px;
+    padding-left: 10px;
+}
+
+/* checkbox */
+form .form-item-checkbox {
+    display: inline-block;
+    padding-left: 10px;
+    width: 20%;
+}
+
+form .form-item-label-checkbox {
+    display: inline-block;
+    width: auto;
+    font-size: 14px;
+}
+
+form .form-item-input-checkbox {
+    display: inline-block;
+    width: auto;
+
+}
diff --git a/zy-acs-cv/src/main/webapp/static/css/rgv.css b/zy-acs-cv/src/main/webapp/static/css/rgv.css
new file mode 100644
index 0000000..3a4d1dc
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/css/rgv.css
@@ -0,0 +1,286 @@
+body {
+    background-color: #6CA7A8;
+}
+
+.button-window {
+    float: left;
+    width: 100%;
+    height: 100%;
+    padding: 10px;
+    border-radius: 5px;
+    box-shadow: 0 0 3px rgba(0 0 0 .3);
+}
+
+/* -------------------- 绗竴妯″潡 -------------------- */
+.log-board {
+    background-color: #fff;
+    border-radius: 5px;
+    box-shadow: 0 0 3px rgba(0, 0, 0, .3);
+    height: 28%;
+}
+
+/* 宸� */
+.command-log {
+    float: left;
+    height: 100%;
+    width: 20%;
+    text-align: center;
+}
+
+.command-log h2 {
+    padding: 10px;
+}
+
+.rgv-command-item {
+    padding: 4px 0;
+}
+
+.rgv-command-item label {
+    font-size: 20px;
+    font-weight: bold;
+    vertical-align: middle;
+}
+
+.rgv-command-item span {
+    display: inline-block;
+    width: 20px;
+    height: 20px;
+    background-color: #2e9926;
+    border-radius: 5px;
+    vertical-align: middle;
+}
+
+.rgv-command-item input {
+    vertical-align: middle;
+    outline: none;
+    width: 60%;
+}
+
+/* 鍙� */
+.rgv-state {
+    float: left;
+    height: 100%;
+    width: 100%;
+    overflow: auto;
+}
+
+/* 鍫嗗灈鏈虹姸鎬佽〃 */
+#rgv-state-table {
+    font-size: 12px;
+    border-collapse: collapse;
+    margin: 0 auto;
+    text-align: center;
+}
+
+#rgv-state-table td, #rgv-state-table th {
+    border: 1px solid #cad9ea;
+    color: #666;
+    height: 25px;
+}
+
+#rgv-state-table thead th {
+    background-color: #CCE8EB;
+    width: 300px;
+}
+
+#rgv-state-table tr:nth-child(odd) {
+    background: #fff;
+}
+
+#rgv-state-table tr:nth-child(even) {
+    background: #F5FAFA;
+}
+
+/* -------------------- 绗簩妯″潡 -------------------- */
+.rgv-msg {
+    /*overflow: auto;*/
+    margin-top: 10px;
+    height: 23%;
+    background-color: #fff;
+    border-radius: 5px;
+    box-shadow: 0 0 3px rgba(0, 0, 0, .3);
+}
+
+/* 鍫嗗灈鏈虹姸鎬佷俊鎭〃 */
+#rgv-msg-table {
+    font-size: 12px;
+    border-collapse: collapse;
+    margin: 0 auto;
+    text-align: center;
+}
+
+#rgv-msg-table td, #rgv-msg-table th {
+    border: 1px solid #f1f1f1;
+    color: #666;
+    height: 30px;
+}
+
+#rgv-msg-table thead th {
+    background-color: #fff;
+    width: 400px;
+}
+
+#rgv-msg-table tr:nth-child(odd) {
+    background: #fff;
+}
+
+#rgv-msg-table tr:nth-child(even) {
+    background: #fff;
+}
+
+/* -------------------- 绗笁妯″潡 -------------------- */
+.rgv-operation {
+    position: relative;
+    margin-top: 10px;
+    height: 25%;
+    background-color: #fff;
+    border-radius: 5px;
+    box-shadow: 0 0 3px rgba(0, 0, 0, .3);
+}
+
+/* 浠诲姟璁惧閫夋嫨妗� */
+.task-select {
+    height: 50%;
+    overflow: hidden;
+    padding: 20px 0 10px 20px;
+}
+
+.operator-item {
+    display: inline-block;
+    height: 100%;
+    width: 20%;
+    text-align: center;
+    position: relative;
+    vertical-align: middle;
+    padding: 10px 0px 10px 50px;
+}
+
+.operator-item .select-title {
+    display: inline-block;
+    position: absolute;
+    top: -11px;
+    left: 50%;
+    transform: translate(-50%, 0);
+    background-color: #fff;
+    color: #2e95d3;
+    font-size: 12px;
+    border: 1px solid #8d8d8d;
+    border-radius: 5px;
+    padding: 5px;
+    z-index: 999;
+}
+
+.operator-item .select-container {
+    padding: 10px 0;
+    height: 100%;
+    border: 1px solid #8d8d8d;
+    border-radius: 5px;
+}
+
+#rgv-select .select-container label {
+    display: inline-block;
+    padding: 0 20px;
+    vertical-align: middle;
+    margin-top: -2px;
+    margin-bottom: 1px;
+
+}
+
+.select-container input {
+    display: inline-block;
+    font-size: 12px;
+    vertical-align: middle;
+    margin-top: -2px;
+    margin-bottom: 1px;
+}
+
+.select-container-item {
+    display: inline-block;
+    margin: 0px auto;
+    padding: 0;
+}
+
+.select-container-item input {
+    height: 20px;
+    border: 1px solid #8D8D8D;
+    border-radius: 3px;
+    width: 80px;
+    outline: none;
+}
+
+/* 浠诲姟浣滀笟閫夋嫨妗� */
+.task-operator {
+    height: 50%;
+    overflow: hidden;
+    padding: 0 20px 10px 20px;
+}
+
+.task-operator fieldset {
+    padding: 15px 20px 5px 50px;
+    border-width: 1px;
+    border-style: solid;
+    height: 100%;
+}
+
+.task-operator legend {
+    margin-left: 20px;
+    padding: 0 10px;
+    font-size: 16px;
+    font-weight: 300;
+}
+
+button.item {
+    border: 1px solid #333;
+    font-size: 13px;
+    padding: 1px 1px 1px 1px;
+    width: 100px;
+    height: 40px;
+    outline: none;
+    cursor: pointer;
+    color: #333;
+    background-color: transparent;
+    margin-right: 5px;
+    border-radius: 5px;
+}
+
+button.item:hover {
+    background-color: #333;
+    color: #fff;
+}
+
+/* 鎵嬪姩鎿嶄綔閬僵 */
+.rgv-operation-shade {
+    position: absolute;
+    height: 100%;
+    width: 100%;
+    z-index: 1000;
+    text-align: center;
+    padding: 80px 0;
+}
+
+.rgv-operation-shade-span {
+    font-size: xx-large;
+    font-weight: bold;
+    color: red;
+}
+
+/* -------------------- 绗洓妯″潡 -------------------- */
+.rgv-output-board {
+    margin-top: 10px;
+    height: 15%;
+    background-color: #fff;
+    border-radius: 5px;
+    box-shadow: 0 0 3px rgba(0, 0, 0, .3);
+}
+
+#rgv-output {
+    border-left: none;
+    border-right: none;
+    border-top: 1px solid #9d9d9d;
+    border-bottom: 1px solid #333;
+    width: 100%;
+    height: 100%;
+    overflow: auto;
+    resize: none;
+    color: #666;
+}
diff --git a/zy-acs-cv/src/main/webapp/static/images/Crane_auto.png b/zy-acs-cv/src/main/webapp/static/images/Crane_auto.png
new file mode 100644
index 0000000..629ceb7
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/images/Crane_auto.png
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/images/Crane_error.png b/zy-acs-cv/src/main/webapp/static/images/Crane_error.png
new file mode 100644
index 0000000..8d0901d
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/images/Crane_error.png
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/images/Crane_hptoohp.png b/zy-acs-cv/src/main/webapp/static/images/Crane_hptoohp.png
new file mode 100644
index 0000000..ee42cf5
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/images/Crane_hptoohp.png
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/images/Crane_loctoloc.png b/zy-acs-cv/src/main/webapp/static/images/Crane_loctoloc.png
new file mode 100644
index 0000000..87a9a5c
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/images/Crane_loctoloc.png
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/images/Crane_manual.png b/zy-acs-cv/src/main/webapp/static/images/Crane_manual.png
new file mode 100644
index 0000000..7ffdd59
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/images/Crane_manual.png
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/images/Crane_manual1.png b/zy-acs-cv/src/main/webapp/static/images/Crane_manual1.png
new file mode 100644
index 0000000..017112a
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/images/Crane_manual1.png
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/images/Crane_retrieve.png b/zy-acs-cv/src/main/webapp/static/images/Crane_retrieve.png
new file mode 100644
index 0000000..eb7c5bd
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/images/Crane_retrieve.png
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/images/Crane_stntostn.png b/zy-acs-cv/src/main/webapp/static/images/Crane_stntostn.png
new file mode 100644
index 0000000..b83f849
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/images/Crane_stntostn.png
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/images/Crane_store.png b/zy-acs-cv/src/main/webapp/static/images/Crane_store.png
new file mode 100644
index 0000000..dd7e4c2
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/images/Crane_store.png
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/images/Popup-green.png b/zy-acs-cv/src/main/webapp/static/images/Popup-green.png
new file mode 100644
index 0000000..4cce5ea
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/images/Popup-green.png
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/images/Popup-yellow.png b/zy-acs-cv/src/main/webapp/static/images/Popup-yellow.png
new file mode 100644
index 0000000..907f805
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/images/Popup-yellow.png
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/images/barcode.png b/zy-acs-cv/src/main/webapp/static/images/barcode.png
new file mode 100644
index 0000000..59be12c
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/images/barcode.png
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/images/bg.jpg b/zy-acs-cv/src/main/webapp/static/images/bg.jpg
new file mode 100644
index 0000000..55aaee4
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/images/bg.jpg
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/images/bscanner.png b/zy-acs-cv/src/main/webapp/static/images/bscanner.png
new file mode 100644
index 0000000..741143c
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/images/bscanner.png
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/images/cancellation.png b/zy-acs-cv/src/main/webapp/static/images/cancellation.png
new file mode 100644
index 0000000..d44d304
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/images/cancellation.png
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/images/favicon.ico b/zy-acs-cv/src/main/webapp/static/images/favicon.ico
new file mode 100644
index 0000000..86d5e0a
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/images/favicon.ico
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/images/fork_l.png b/zy-acs-cv/src/main/webapp/static/images/fork_l.png
new file mode 100644
index 0000000..5a0259a
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/images/fork_l.png
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/images/fork_r.png b/zy-acs-cv/src/main/webapp/static/images/fork_r.png
new file mode 100644
index 0000000..c9fb76d
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/images/fork_r.png
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/images/line.png b/zy-acs-cv/src/main/webapp/static/images/line.png
new file mode 100644
index 0000000..f0dc61c
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/images/line.png
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/images/login.png b/zy-acs-cv/src/main/webapp/static/images/login.png
new file mode 100644
index 0000000..eb92779
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/images/login.png
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/images/loginBg.jpg b/zy-acs-cv/src/main/webapp/static/images/loginBg.jpg
new file mode 100644
index 0000000..92fd3e0
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/images/loginBg.jpg
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/images/siteclose.png b/zy-acs-cv/src/main/webapp/static/images/siteclose.png
new file mode 100644
index 0000000..dbfa641
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/images/siteclose.png
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/images/stacker.png b/zy-acs-cv/src/main/webapp/static/images/stacker.png
new file mode 100644
index 0000000..53d98d3
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/images/stacker.png
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/images/start48.png b/zy-acs-cv/src/main/webapp/static/images/start48.png
new file mode 100644
index 0000000..d864c75
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/images/start48.png
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/images/status_bar_1.png b/zy-acs-cv/src/main/webapp/static/images/status_bar_1.png
new file mode 100644
index 0000000..d9faba3
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/images/status_bar_1.png
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/images/status_bar_2.png b/zy-acs-cv/src/main/webapp/static/images/status_bar_2.png
new file mode 100644
index 0000000..d4e5c5e
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/images/status_bar_2.png
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/images/stop48.png b/zy-acs-cv/src/main/webapp/static/images/stop48.png
new file mode 100644
index 0000000..e4a00c4
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/images/stop48.png
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/images/wcs_logo.png b/zy-acs-cv/src/main/webapp/static/images/wcs_logo.png
new file mode 100644
index 0000000..8531f06
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/images/wcs_logo.png
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/images/zy-logo.png b/zy-acs-cv/src/main/webapp/static/images/zy-logo.png
new file mode 100644
index 0000000..71dd632
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/images/zy-logo.png
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/js/common.js b/zy-acs-cv/src/main/webapp/static/js/common.js
new file mode 100644
index 0000000..4b31eec
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/js/common.js
@@ -0,0 +1,195 @@
+var baseUrl = "/cv";
+
+// 璧嬪��
+function setVal(el, val) {
+    if (el.text() !== val) {
+        el.html(val);
+    }
+}
+
+// 璇︽儏绐楀彛-楂樺害
+var detailHeight = '80%';
+// 璇︽儏绐楀彛-瀹藉害
+var detailWidth = '90%';
+
+// 闈炵┖鍒ゆ柇
+function isEmpty(obj) {
+    return typeof obj == "undefined" || obj == null || obj === "";
+}
+
+// 鏃堕棿 ==>> 瀛楃涓�
+function dateToStr(date) {
+    var time = new Date(date);
+    var y = time.getFullYear();
+    var M = time.getMonth() + 1;
+    M = M < 10 ? ("0" + M) : M;
+    var d = time.getDate();
+    d = d < 10 ? ("0" + d) : d;
+    var h = time.getHours();
+    h = h < 10 ? ("0" + h) : h;
+    var m = time.getMinutes();
+    m = m < 10 ? ("0" + m) : m;
+    var s = time.getSeconds();
+    s = s < 10 ? ("0" + s) : s;
+    return y + "-" + M + "-" + d + " " + h + ":" + m + ":" + s;
+}
+
+// 瀛楃涓� ===>> 鏃堕棿
+function strToDate(str) {
+    var t = Date.parse(str);
+    if (!isNaN(t)) {
+        return new Date(Date.parse(str.replace(/-/g, "/")));
+    } else {
+        return null;
+    }
+}
+
+// 娓呯悊瀵硅薄null鍊�
+function reObject(data) {
+    for (var obj in data) {
+        if (data[obj] === null) {
+            delete data[obj];
+        }
+    }
+    return data;
+}
+
+/**
+ * disabled 灞炴�ц浆鎹�
+ */
+function convertDisabled(el, param) {
+    el.each(function () {
+        $(this).attr("disabled", param);
+    });
+}
+
+// 鏉冮檺
+function limit(child) {
+    if (child == null) {
+        child = false;
+    }
+    var param = (child ? parent.window : window).location.href.split("?")[1];
+    if (null != param) {
+        var resourceId = param.split("=")[1];
+        $.ajax({
+            url: baseUrl + "/power/menu/" + resourceId + "/auth",
+            headers: {'token': localStorage.getItem('token')},
+            method: 'GET',
+            async: false,
+            success: function (res) {
+                if (res.code === 200) {
+                    for (var i = 0, len = res.data.length; i < len; i++) {
+                        (child ? parent : window).$('#' + res.data[i].code).css("display", "inline-block");
+                        (child ? parent : window).$('.' + res.data[i].code).css("display", "inline-block");
+                    }
+                } else if (res.code === 403) {
+                    window.location.href = baseUrl;
+                } else {
+                    layer.msg(res.msg)
+                }
+            }
+        });
+    }
+
+}
+
+
+// http璇锋眰
+!function (n) {
+    "use strict";
+
+    var http = {
+        toAjax: function (params) {
+            $.ajax(params);
+        },
+        get: function (url, data, callback) {
+            http.toAjax({
+                method: 'GET',
+                url: url,
+                data: data,
+                dataType: 'json',
+                header: {'Content-Type': 'application/json'},
+                timeout: 10000,
+                cache: false,
+                success: function (result) {
+                    callback(result);
+                },
+                error: function (res, type) {
+
+                }
+            })
+        },
+        post: function (url, param, callback, type) {
+            var headerType;
+            if (type === 'json') {
+                headerType = {'Content-Type': 'application/json'}
+            } else {
+                headerType = {'Content-Type': 'application/x-www-form-urlencoded'}
+            }
+            headerType['token'] = localStorage.getItem('token');
+            http.toAjax({
+                method: 'POST',
+                url: url,
+                data: param,
+                dataType: 'json',
+                headers: headerType,
+                timeout: 10000,
+                cache: false,
+                success: function (res) {
+                    if (res.code === 200) {
+                        callback(res);
+                    } else if (res.code === 403) {
+                        parent.location.href = baseUrl + "/login";
+                    } else {
+                        layer.msg(res.msg, {icon: 2});
+                    }
+                },
+                error: function (res, type) {
+
+                }
+            })
+        },
+    };
+
+
+    "function" == typeof define && define.amd ? define(function () {
+        return http
+    }) : "object" == typeof module && module.exports ? module.exports = http : n.http = http
+}(this);
+
+/**
+ * 鑾峰彇url閿�煎
+ */
+function getUrlVal(key) {
+    var reg = new RegExp('(^|&)' + key + '=([^&]*)(&|$)', 'i');
+    var r = window.location.search.substr(1).match(reg);
+    if (r != null) {
+        return unescape(r[2]);
+    }
+    return null;
+}
+
+function getDateFormat(value) {
+    var date = new Date();// 鑾峰彇褰撳墠鏃堕棿
+    date.setDate(date.getDate() + value);// 璁剧疆澶╂暟 -1 澶�
+    return date.Format("MM-dd");
+}
+
+/**
+ * 鏃ユ湡鏍煎紡鍖�
+ */
+Date.prototype.Format = function (fmt) {
+    var o = {
+        "M+": this.getMonth() + 1, //鏈堜唤
+        "d+": this.getDate(), //鏃�
+        "h+": this.getHours(), //灏忔椂
+        "m+": this.getMinutes(), //鍒�
+        "s+": this.getSeconds(), //绉�
+        "q+": Math.floor((this.getMonth() + 3) / 3), //瀛e害
+        "S": this.getMilliseconds() //姣
+    };
+    if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
+    for (var k in o)
+        if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
+    return fmt;
+}
diff --git a/zy-acs-cv/src/main/webapp/static/js/console.js b/zy-acs-cv/src/main/webapp/static/js/console.js
new file mode 100644
index 0000000..5fe6aa2
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/js/console.js
@@ -0,0 +1,197 @@
+// 搴撲綅鍥�
+let total = [],
+    rack = '',
+    racks = '',
+    rackDesc = '',
+    rackDescs = '',
+    crn = '',
+    crns = '',
+    track = '',
+    tracks = '',
+    stn = '',
+    barcode = '',
+    barcodeArr = [],
+    stns = '',
+    stnArr = [],
+    floorBtn = '',
+    floorBtns = '',
+    floorBtnss = '',
+    floorInfo = '';  // 搴撳尯淇℃伅
+let rackss = mapInfo.racks,
+    rackDescss = mapInfo.rackDescs,
+    crnss = mapInfo.crns,
+    areas = mapInfo.areas[0].floors,
+    floorId;
+
+function getMap() {
+    // 璐ф灦
+    for (let i = 0; i < rackss.length; i++) {
+        let bay = '' // 鍗曚釜搴撲綅
+        let bays = '' // 搴撲綅闆嗗悎
+        let maxBayNo = rackss[i].maxBayNo // 鏈�澶у簱浣嶅彿
+        let minBayNo = rackss[i].minBayNo // 鏈�灏忓簱浣嶅彿
+        let bLen
+        let interval // 闂撮殧鏁�
+
+        if (maxBayNo < 35) {
+            interval = 1
+            bLen = maxBayNo / interval // 搴撲綅涓暟
+        } else {
+            interval = 2
+            bLen = maxBayNo / interval // 搴撲綅涓暟
+        }
+        let bayWidth // 鍗曚釜搴撲綅瀹藉害
+        let bNum // 搴撲綅鍙风爜
+
+        if (minBayNo % 2 == 0) { // 浠�2寮�濮�
+            if (interval == 1) {
+                bLen = bLen - 1
+            } else if (interval == 2) {
+                if (maxBayNo % 2 == 0) { // 鍋舵暟
+                    bLen = bLen
+                } else { // 濂囨暟
+                    maxBayNo = maxBayNo + 1
+                    bLen = maxBayNo / interval // 搴撲綅涓暟
+                }
+            }
+        } else { // 浠�1寮�濮�
+            if (interval == 1) {
+                bLen = bLen
+            } else if (interval == 2) {
+                if (maxBayNo % 2 == 0) { // 鍋舵暟
+                    bLen = bLen
+                } else { // 濂囨暟
+                    bLen = bLen + 1
+                }
+            }
+        }
+        bayWidth = rackss[i].width / bLen
+        // hpPosition 0 琛ㄧず璐ф灦搴忓彿 宸�->鍙� 1 琛ㄧず璐ф灦搴忓彿 宸�<-鍙�
+        if (mapInfo.hpPosition == 1) {
+            bNum = maxBayNo
+            for (let j = bLen; j > 0; j--) {
+                bay = "<button class='item' style='width: " + bayWidth + "px'>" + bNum + "</button>"
+                bays = bays + bay
+                bNum = bNum - interval;
+            }
+        } else {
+            bNum = minBayNo
+            for (let j = 0; j < bLen; j++) {
+                bay = "<button class='item' style='width: " + bayWidth + "px'>" + bNum + "</button>"
+                bays = bays + bay
+                bNum = bNum + interval;
+            }
+        }
+
+        rack = "<div class='rack' id='" + rackss[i].id +
+            "'style='width:" + rackss[i].width +
+            "px;height: " + rackss[i].height +
+            "px;top: " + rackss[i].top +
+            "px;left: " + rackss[i].left +
+            "px'>" + bays + "</div>"
+        racks = racks + rack
+        // getCrnInfo(minBayNo);
+    }
+    // 璐ф灦鎻忚堪
+    for (let i = 0; i < rackDescss.length; i++) {
+        rackDesc = "<div class='rackDescs' id='" + rackDescss[i].id +
+            "'style='width:" + rackDescss[i].width +
+            "px;height: " + rackDescss[i].height +
+            "px;line-height: " + rackDescss[i].height +
+            "px;top: " + rackDescss[i].top +
+            "px;left: " + rackDescss[i].left +
+            "px'>" + rackDescss[i].text + "</div>"
+        rackDescs = rackDescs + rackDesc
+    }
+    // 鍫嗗灈鏈哄拰鍦拌建
+    for (let i = 0; i < crnss.length; i++) {
+        if (crnss[i].type == "crane") {
+            crn = "<div class='machine' id='" + crnss[i].id +
+                "'style='width:" + crnss[i].width +
+                "px;height: " + crnss[i].height +
+                "px;top: " + crnss[i].top +
+                "px;left: " + crnss[i].left +
+                "px'></div>"
+            crns = crns + crn
+        } else {
+            track = "<div class='track' id='" + crnss[i].id +
+                "'style='width:" + crnss[i].width +
+                "px;height: " + crnss[i].height +
+                "px;top: " + crnss[i].top +
+                "px;left: " + crnss[i].left +
+                "px'>" + crnss[i].text + "</div>"
+            tracks = tracks + track
+        }
+    }
+    // 妤煎眰
+    for (let i = 0; i < areas.length; i++) {
+
+        let stnss = areas[i].stns
+        let floor = areas[i].text
+        let barcodes = areas[i].barcode
+        floorId = areas[i].id
+        var position = (i + 1) * 100
+        floorBtn =
+            "<button class='floorBtn btn-16' onclick='changFloor(" + i + ")' style='top: " + position + "px;'>" + floor + "</button>"
+        if (mapInfo.areas[0].floors.length == 1) {
+            floorBtnss = ''
+        } else {
+            floorBtnss = floorBtnss + floorBtn
+        }
+        // 姣忓眰鐨� 杈撻�佺嚎绔欑偣
+        var index = i
+        var n = 1
+        stnArr[index] = ''
+        total[index] = ''
+        barcodeArr[index] = ''
+        for (let j = 0; j < stnss.length; j++) {
+            if (stnss[j].type == "stn") {
+                stn = "<div class='site' id='" + stnss[j].id +
+                    "'style='width:" + stnss[j].width +
+                    "px;height: " + stnss[j].height +
+                    "px;line-height: " + stnss[j].height +
+                    "px;top: " + stnss[j].top +
+                    "px;left: " + stnss[j].left +
+                    "px'>" + stnss[j].text + "</div>"
+                stnArr[i] = stnArr[i] + stn
+                total[i] = n++
+            } else if (stnss[j].type == "track") {
+                stn = "<div class='track' id='" + stnss[j].id +
+                    "'style='width:" + stnss[j].width +
+                    "px;height: " + stnss[j].height +
+                    "px;line-height: " + stnss[j].height +
+                    "px;top: " + stnss[j].top +
+                    "px;left: " + stnss[j].left +
+                    "px'>" + stnss[j].text + "</div>"
+                stnArr[i] = stnArr[i] + stn
+            }
+
+
+        }
+        for (let k = 0; k < barcodes.length; k++) {
+            barcode = "<div class='barcode' id='" + barcodes[k].id +
+                "'style='width:" + barcodes[k].width +
+                "px;height: " + barcodes[k].height +
+                "px;line-height: " + barcodes[k].height +
+                "px;top: " + barcodes[k].top +
+                "px;left: " + barcodes[k].left + "px'>" + "</div>"
+            barcodeArr[i] = barcodeArr[i] + barcode
+        }
+
+    }
+    floorInfo = racks + rackDescs + tracks + crns + stnArr[0] + floorBtnss + barcodeArr[0]
+
+    $(".main-part").append(floorInfo)
+    $("#line-total").html(total[0])
+    // listenChange();
+
+}
+
+function changFloor(e) {
+    $(".main-part").empty()  // 娓呯┖鑺傜偣
+    floorInfo = racks + stnArr[e] + rackDescs + crns + tracks + floorBtnss + barcodeArr[e]
+    $(".main-part").append(floorInfo)
+    $("#line-total").empty()
+    $("#line-total").html(total[e])
+    // listenChange();
+}
\ No newline at end of file
diff --git a/zy-acs-cv/src/main/webapp/static/js/console.map.js b/zy-acs-cv/src/main/webapp/static/js/console.map.js
new file mode 100644
index 0000000..882e373
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/js/console.map.js
@@ -0,0 +1,553 @@
+mapInfo = {
+    "mapName": "whxrwcs",
+    "rackCount": 6,
+    "crnCount": 3,
+    "stbCount": 48,
+    "hpPosition": 0,
+    "minBayNo": 2,
+    "floors": 1,
+    "racks": [{
+        "type": "rack",
+        "id": "rack5",
+        "top": 448,
+        "left": 447,
+        "width": 845,
+        "height": 20,
+        "minBayNo": 2,
+        "maxBayNo": 41
+    }, {
+        "type": "rack",
+        "id": "rack6",
+        "top": 500,
+        "left": 447,
+        "width": 845,
+        "height": 20,
+        "minBayNo": 2,
+        "maxBayNo": 41
+    }, {
+        "type": "rack",
+        "id": "rack4",
+        "top": 427,
+        "left": 447,
+        "width": 845,
+        "height": 20,
+        "minBayNo": 2,
+        "maxBayNo": 41
+    }, {
+        "type": "rack",
+        "id": "rack1",
+        "top": 308,
+        "left": 447,
+        "width": 845,
+        "height": 20,
+        "minBayNo": 2,
+        "maxBayNo": 41
+    }, {
+        "type": "rack",
+        "id": "rack2",
+        "top": 356,
+        "left": 447,
+        "width": 845,
+        "height": 20,
+        "minBayNo": 2,
+        "maxBayNo": 41
+    }, {
+        "type": "rack",
+        "id": "rack3",
+        "top": 377,
+        "left": 447,
+        "width": 845,
+        "height": 20,
+        "minBayNo": 2,
+        "maxBayNo": 41
+    }],
+    "rackDescs": [{
+        "type": "rackDescs",
+        "id": "lb_desc1",
+        "text": "#1",
+        "top": 273,
+        "left": 1217,
+        "width": 30,
+        "height": 23
+    }, {
+        "type": "rackDescs",
+        "id": "lb_desc2",
+        "text": "#6",
+        "top": 551,
+        "left": 1218,
+        "width": 33,
+        "height": 23
+    }],
+    "crns": [{
+        "type": "track",
+        "id": "lb_track3",
+        "text": "",
+        "top": 485,
+        "left": 408,
+        "width": 900,
+        "height": 2
+    }, {
+        "type": "crane",
+        "id": "crn-3",
+        "text": "3",
+        "top": 474,
+        "left": 866,
+        "width": 93,
+        "height": 22
+    }, {
+        "type": "track",
+        "id": "lb_track2",
+        "text": "",
+        "top": 412,
+        "left": 408,
+        "width": 900,
+        "height": 2
+    }, {
+        "type": "crane",
+        "id": "crn-2",
+        "text": "2",
+        "top": 402,
+        "left": 866,
+        "width": 93,
+        "height": 22
+    }, {
+        "type": "track",
+        "id": "lb_track1",
+        "text": "",
+        "top": 339,
+        "left": 408,
+        "width": 900,
+        "height": 2
+    }, {
+        "type": "crane",
+        "id": "crn-1",
+        "text": "1",
+        "top": 329,
+        "left": 866,
+        "width": 93,
+        "height": 22
+    }],
+    "areas": [{
+        "type": "Control_floor",
+        "id": "tabControl_floor1",
+        "text": "妤煎眰",
+        "top": 66,
+        "left": 77,
+        "width": 1537,
+        "height": 598,
+        "floors": [{
+            "type": "floor",
+            "id": "page_floor1",
+            "text": "1F",
+            "top": 4,
+            "left": 22,
+            "width": 1511,
+            "height": 590,
+            "stns": [{
+                "type": "stn",
+                "id": "site-221",
+                "text": "221",
+                "top": 311,
+                "left": 284,
+                "width": 80,
+                "height": 20
+            }, {
+                "type": "stn",
+                "id": "site-222",
+                "text": "222",
+                "top": 311,
+                "left": 365,
+                "width": 80,
+                "height": 20
+            }, {
+                "type": "stn",
+                "id": "site-217",
+                "text": "217",
+                "top": 357,
+                "left": 284,
+                "width": 80,
+                "height": 20
+            }, {
+                "type": "stn",
+                "id": "site-223",
+                "text": "223",
+                "top": 290,
+                "left": 203,
+                "width": 80,
+                "height": 20
+            }, {
+                "type": "stn",
+                "id": "site-220",
+                "text": "220",
+                "top": 311,
+                "left": 203,
+                "width": 80,
+                "height": 20
+            }, {
+                "type": "stn",
+                "id": "site-200",
+                "text": "200",
+                "top": 542,
+                "left": 203,
+                "width": 80,
+                "height": 20
+            }, {
+                "type": "stn",
+                "id": "site-214",
+                "text": "214",
+                "top": 378,
+                "left": 284,
+                "width": 80,
+                "height": 20
+            }, {
+                "type": "stn",
+                "id": "site-213",
+                "text": "213",
+                "top": 378,
+                "left": 203,
+                "width": 80,
+                "height": 20
+            }, {
+                "type": "stn",
+                "id": "site-215",
+                "text": "215",
+                "top": 378,
+                "left": 365,
+                "width": 80,
+                "height": 20
+            }, {
+                "type": "stn",
+                "id": "site-211",
+                "text": "211",
+                "top": 427,
+                "left": 365,
+                "width": 80,
+                "height": 20
+            }, {
+                "type": "stn",
+                "id": "site-210",
+                "text": "210",
+                "top": 427,
+                "left": 284,
+                "width": 80,
+                "height": 20
+            }, {
+                "type": "stn",
+                "id": "site-212",
+                "text": "212",
+                "top": 399,
+                "left": 203,
+                "width": 80,
+                "height": 27
+            }, {
+                "type": "stn",
+                "id": "site-208",
+                "text": "208",
+                "top": 448,
+                "left": 365,
+                "width": 80,
+                "height": 20
+            }, {
+                "type": "stn",
+                "id": "site-207",
+                "text": "207",
+                "top": 448,
+                "left": 284,
+                "width": 80,
+                "height": 20
+            }, {
+                "type": "stn",
+                "id": "site-209",
+                "text": "209",
+                "top": 427,
+                "left": 203,
+                "width": 80,
+                "height": 20
+            }, {
+                "type": "stn",
+                "id": "site-205",
+                "text": "205",
+                "top": 469,
+                "left": 203,
+                "width": 80,
+                "height": 30
+            }, {
+                "type": "stn",
+                "id": "site-204",
+                "text": "204",
+                "top": 500,
+                "left": 365,
+                "width": 80,
+                "height": 20
+            }, {
+                "type": "stn",
+                "id": "site-206",
+                "text": "206",
+                "top": 448,
+                "left": 203,
+                "width": 80,
+                "height": 20
+            }, {
+                "type": "stn",
+                "id": "site-202",
+                "text": "202",
+                "top": 500,
+                "left": 203,
+                "width": 80,
+                "height": 20
+            }, {
+                "type": "stn",
+                "id": "site-201",
+                "text": "201",
+                "top": 521,
+                "left": 203,
+                "width": 80,
+                "height": 20
+            }, {
+                "type": "stn",
+                "id": "site-203",
+                "text": "203",
+                "top": 500,
+                "left": 284,
+                "width": 80,
+                "height": 20
+            }, {
+                "type": "stn",
+                "id": "site-219",
+                "text": "219",
+                "top": 332,
+                "left": 203,
+                "width": 80,
+                "height": 24
+            }, {
+                "type": "stn",
+                "id": "site-216",
+                "text": "216",
+                "top": 357,
+                "left": 203,
+                "width": 80,
+                "height": 20
+            }, {
+                "type": "stn",
+                "id": "site-218",
+                "text": "218",
+                "top": 357,
+                "left": 365,
+                "width": 80,
+                "height": 20
+            }, {
+                "type": "stn",
+                "id": "site-121",
+                "text": "121",
+                "top": 311,
+                "left": 1375,
+                "width": 80,
+                "height": 20
+            }, {
+                "type": "stn",
+                "id": "site-122",
+                "text": "122",
+                "top": 311,
+                "left": 1294,
+                "width": 80,
+                "height": 20
+            }, {
+                "type": "stn",
+                "id": "site-117",
+                "text": "117",
+                "top": 357,
+                "left": 1375,
+                "width": 80,
+                "height": 20
+            }, {
+                "type": "stn",
+                "id": "site-123",
+                "text": "123",
+                "top": 290,
+                "left": 1456,
+                "width": 80,
+                "height": 20
+            }, {
+                "type": "stn",
+                "id": "site-120",
+                "text": "120",
+                "top": 311,
+                "left": 1456,
+                "width": 80,
+                "height": 20
+            }, {
+                "type": "stn",
+                "id": "site-100",
+                "text": "100",
+                "top": 542,
+                "left": 1456,
+                "width": 80,
+                "height": 20
+            }, {
+                "type": "stn",
+                "id": "site-114",
+                "text": "114",
+                "top": 378,
+                "left": 1375,
+                "width": 80,
+                "height": 20
+            }, {
+                "type": "stn",
+                "id": "site-113",
+                "text": "113",
+                "top": 378,
+                "left": 1456,
+                "width": 80,
+                "height": 20
+            }, {
+                "type": "stn",
+                "id": "site-115",
+                "text": "115",
+                "top": 378,
+                "left": 1294,
+                "width": 80,
+                "height": 20
+            }, {
+                "type": "stn",
+                "id": "site-111",
+                "text": "111",
+                "top": 427,
+                "left": 1294,
+                "width": 80,
+                "height": 20
+            }, {
+                "type": "stn",
+                "id": "site-110",
+                "text": "110",
+                "top": 427,
+                "left": 1375,
+                "width": 80,
+                "height": 20
+            }, {
+                "type": "stn",
+                "id": "site-112",
+                "text": "112",
+                "top": 399,
+                "left": 1456,
+                "width": 80,
+                "height": 27
+            }, {
+                "type": "stn",
+                "id": "site-108",
+                "text": "108",
+                "top": 448,
+                "left": 1294,
+                "width": 80,
+                "height": 20
+            }, {
+                "type": "stn",
+                "id": "site-107",
+                "text": "107",
+                "top": 448,
+                "left": 1375,
+                "width": 80,
+                "height": 20
+            }, {
+                "type": "stn",
+                "id": "site-109",
+                "text": "109",
+                "top": 427,
+                "left": 1456,
+                "width": 80,
+                "height": 20
+            }, {
+                "type": "stn",
+                "id": "site-105",
+                "text": "105",
+                "top": 469,
+                "left": 1456,
+                "width": 80,
+                "height": 30
+            }, {
+                "type": "stn",
+                "id": "site-104",
+                "text": "104",
+                "top": 500,
+                "left": 1294,
+                "width": 80,
+                "height": 20
+            }, {
+                "type": "stn",
+                "id": "site-106",
+                "text": "106",
+                "top": 448,
+                "left": 1456,
+                "width": 80,
+                "height": 20
+            }, {
+                "type": "stn",
+                "id": "site-102",
+                "text": "102",
+                "top": 500,
+                "left": 1456,
+                "width": 80,
+                "height": 20
+            }, {
+                "type": "stn",
+                "id": "site-101",
+                "text": "101",
+                "top": 521,
+                "left": 1456,
+                "width": 80,
+                "height": 20
+            }, {
+                "type": "stn",
+                "id": "site-103",
+                "text": "103",
+                "top": 500,
+                "left": 1375,
+                "width": 80,
+                "height": 20
+            }, {
+                "type": "stn",
+                "id": "site-119",
+                "text": "119",
+                "top": 332,
+                "left": 1456,
+                "width": 80,
+                "height": 24
+            }, {
+                "type": "stn",
+                "id": "site-116",
+                "text": "116",
+                "top": 357,
+                "left": 1456,
+                "width": 80,
+                "height": 20
+            }, {
+                "type": "stn",
+                "id": "site-118",
+                "text": "118",
+                "top": 357,
+                "left": 1294,
+                "width": 80,
+                "height": 20
+            }],
+            "barcode": [
+                {
+                    "type": "barcode",
+                    "id": "barcode-1",
+                    "text": "",
+                    "top": 522,
+                    "left": 1370,
+                    "width": 80,
+                    "height": 20
+                },
+                {
+                    "type": "barcode",
+                    "id": "barcode-2",
+                    "text": "",
+                    "top": 522,
+                    "left": 285,
+                    "width": 80,
+                    "height": 20
+                }
+            ]
+        }]
+    }]
+}
\ No newline at end of file
diff --git a/zy-acs-cv/src/main/webapp/static/js/cool.js b/zy-acs-cv/src/main/webapp/static/js/cool.js
new file mode 100644
index 0000000..0aef27f
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/js/cool.js
@@ -0,0 +1,146 @@
+/**
+ * 鎼滅储鑷姩琛ュ叏 -- 灞�澶栫偣鍑婚殣钘�
+ */
+$(function () {
+    $(document).on("click", function (e) {
+        if (!$(e.target).parents(".cool-auto-complete").length) {
+            $(".cool-auto-complete-window").hide();
+        }
+    });
+});
+
+
+/**
+ * 鎼滅储鑷姩琛ュ叏 -- div
+ */
+function autoShow(id) {
+    var cac = document.getElementById(id).parentNode;
+    var cacw = cac.getElementsByClassName("cool-auto-complete-window")[0];
+    if (cacw.style.display === "none" || cacw.style.display === "") {
+        cacw.style.display = "block";
+        var cacwi = cacw.getElementsByClassName("cool-auto-complete-window-input")[0];
+        cacwi.focus();
+        autoLoad(cacwi.getAttribute('data-key'));
+    } else {
+        cacw.style.display = "none";
+    }
+}
+
+/**
+ * 鎼滅储鑷姩琛ュ叏 -- input
+ */
+function autoLoad(val) {
+    var inputDomVal = document.querySelector("input[data-key=" + val + "]").value;
+    var selectDom = document.querySelector("select[data-key=" + val + "Select]");
+    selectDom.length = 0;
+    var defaultOption = new Option("鍙栨秷閫夋嫨", "");
+    defaultOption.title = "";
+    selectDom.appendChild(defaultOption);
+    selectDom.style.display = 'none';
+    $.ajax({
+        url: baseUrl + "/" + getForeignKeyQuery(val) + "/auth",
+        headers: {'token': localStorage.getItem('token')},
+        data: {condition: inputDomVal},
+        method: 'POST',
+        traditional: true,
+        success: function (res) {
+            if (res.code === 200) {
+                var list = res.data;
+                for (var i = 0; i < list.length; i++) {
+                    var option = new Option(list[i].value, i);
+                    option.title = list[i].id;
+                    selectDom.options[i + 1] = option;
+                }
+                selectDom.style.display = 'block';
+            } else if (res.code === 403) {
+                window.location.href = baseUrl;
+            } else {
+                layer.msg(res.msg)
+            }
+        }
+    });
+}
+
+/**
+ * 鎼滅储鑷姩琛ュ叏 -- select
+ */
+function confirmed(val) {
+    var inputDom = $("input[data-key=" + val.substring(0, val.length - 6) + "]");
+    var selectDom = $("select[data-key=" + val + "]");
+
+    selectDom.dblclick(function () {
+        inputDom.focus();
+        selectDom.css("display", "none");
+    });
+
+    // 淇グ瀛楁
+    var cacw = inputDom.parent();
+    cacw.css("display", "none");
+    var cacd = cacw.parent().find(".cool-auto-complete-div");
+    var realDom = cacd.prev();
+    // id瀛楁
+    var selectOptionDom = selectDom.find("option:selected");
+    var html = selectOptionDom.html();
+    if (html === "鍙栨秷閫夋嫨") {
+        cacd.val("");
+        realDom.val("");
+    } else {
+        cacd.val(selectOptionDom.html());
+        realDom.val(selectOptionDom.attr("title"));
+    }
+    inputDom.val("");
+}
+
+function reviewImg(src) {
+    window.open().document.write("<img src=" + src + " />");
+}
+
+/**
+ * 鎴彇By涔嬪墠鐨勫瓧绗︿覆
+ */
+function getForeignKeyQuery(str) {
+    var index = str.indexOf('By');
+    if (index !== -1) {
+        return str.substring(0, index);
+    }
+    return str;
+}
+
+var banMsg;
+var tips;
+
+// 涓婚敭鏍¢獙
+function check(id, domain) {
+    var param = {
+        key: id,
+        val: $('#' + id).val()
+    };
+    $.ajax({
+        url: baseUrl + "/" + domain + "/check/column/auth",
+        headers: {'token': localStorage.getItem('token')},
+        data: JSON.stringify(param),
+        dataType: 'json',
+        contentType: 'application/json;charset=UTF-8',
+        method: 'POST',
+        success: function (res) {
+            if (res.code === 200) {
+                layer.close(tips);
+                banMsg = null;
+            } else if (res.code === 403) {
+                window.location.href = baseUrl;
+            } else if (res.code === 407) {
+                banMsg = res.data + "涓嶅彲鐢�";
+                tips = layer.tips(
+                    "<span style='color:red;'>宸插瓨鍦�</span>",
+                    '#' + id,
+                    {
+                        // tipsMore: true,
+                        tips: [2, '#fff'],
+                        time: 0
+                        , area: 'auto'
+                        , maxWidth: 500
+                    });
+            }
+        }
+    });
+}
\ No newline at end of file
diff --git a/zy-acs-cv/src/main/webapp/static/js/echarts/echarts.min.js b/zy-acs-cv/src/main/webapp/static/js/echarts/echarts.min.js
new file mode 100644
index 0000000..384f232
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/js/echarts/echarts.min.js
@@ -0,0 +1,22 @@
+
+/*
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*   http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing,
+* software distributed under the License is distributed on an
+* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+* KIND, either express or implied.  See the License for the
+* specific language governing permissions and limitations
+* under the License.
+*/
+
+
+!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e(t.echarts={})}(this,function(t){"use strict";var e=2311,n=function(){return e++},v="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}:function(t){var e={},i=t.match(/Firefox\/([\d.]+)/),n=t.match(/MSIE\s([\d.]+)/)||t.match(/Trident\/.+?rv:(([\d.]+))/),a=t.match(/Edge\/([\d.]+)/),o=/micromessenger/i.test(t);i&&(e.firefox=!0,e.version=i[1]);n&&(e.ie=!0,e.version=n[1]);a&&(e.edge=!0,e.version=a[1]);o&&(e.weChat=!0);return{browser:e,os:{},node:!1,canvasSupported:!!document.createElement("canvas").getContext,svgSupported:"undefined"!=typeof SVGRect,touchEventsSupported:"ontouchstart"in window&&!e.ie&&!e.edge,pointerEventsSupported:"onpointerdown"in window&&(e.edge||e.ie&&11<=e.version),domSupported:"undefined"!=typeof document}}(navigator.userAgent);var s={"[object Function]":1,"[object RegExp]":1,"[object Date]":1,"[object Error]":1,"[object CanvasGradient]":1,"[object CanvasPattern]":1,"[object Image]":1,"[object Canvas]":1},l={"[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},u=Object.prototype.toString,i=Array.prototype,r=i.forEach,h=i.filter,a=i.slice,c=i.map,d=i.reduce,o={};function f(t,e){"createCanvas"===t&&(y=null),o[t]=e}function D(t){if(null==t||"object"!=typeof t)return t;var e=t,i=u.call(t);if("[object Array]"===i){if(!$(t)){e=[];for(var n=0,a=t.length;n<a;n++)e[n]=D(t[n])}}else if(l[i]){if(!$(t)){var o=t.constructor;if(t.constructor.from)e=o.from(t);else{e=new o(t.length);for(n=0,a=t.length;n<a;n++)e[n]=D(t[n])}}}else if(!s[i]&&!$(t)&&!G(t))for(var r in e={},t)t.hasOwnProperty(r)&&(e[r]=D(t[r]));return e}function m(t,e,i){if(!z(e)||!z(t))return i?D(e):t;for(var n in e)if(e.hasOwnProperty(n)){var a=t[n],o=e[n];!z(o)||!z(a)||k(o)||k(a)||G(o)||G(a)||B(o)||B(a)||$(o)||$(a)?!i&&n in t||(t[n]=D(e[n])):m(a,o,i)}return t}function p(t,e){for(var i=t[0],n=1,a=t.length;n<a;n++)i=m(i,t[n],e);return i}function L(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);return t}function C(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 g(){return o.createCanvas()}var y;function x(){return y=y||g().getContext("2d")}function _(t,e){if(t){if(t.indexOf)return t.indexOf(e);for(var i=0,n=t.length;i<n;i++)if(t[i]===e)return i}return-1}function w(t,e){var i=t.prototype;function n(){}for(var a in n.prototype=e.prototype,t.prototype=new n,i)i.hasOwnProperty(a)&&(t.prototype[a]=i[a]);(t.prototype.constructor=t).superClass=e}function b(t,e,i){C(t="prototype"in t?t.prototype:t,e="prototype"in e?e.prototype:e,i)}function P(t){if(t)return"string"!=typeof t&&"number"==typeof t.length}function E(t,e,i){if(t&&e)if(t.forEach&&t.forEach===r)t.forEach(e,i);else if(t.length===+t.length)for(var n=0,a=t.length;n<a;n++)e.call(i,t[n],n,t);else for(var o in t)t.hasOwnProperty(o)&&e.call(i,t[o],o,t)}function N(t,e,i){if(t&&e){if(t.map&&t.map===c)return t.map(e,i);for(var n=[],a=0,o=t.length;a<o;a++)n.push(e.call(i,t[a],a,t));return n}}function S(t,e,i,n){if(t&&e){if(t.reduce&&t.reduce===d)return t.reduce(e,i,n);for(var a=0,o=t.length;a<o;a++)i=e.call(n,i,t[a],a,t);return i}}function M(t,e,i){if(t&&e){if(t.filter&&t.filter===h)return t.filter(e,i);for(var n=[],a=0,o=t.length;a<o;a++)e.call(i,t[a],a,t)&&n.push(t[a]);return n}}function I(t,e,i){if(t&&e)for(var n=0,a=t.length;n<a;n++)if(e.call(i,t[n],n,t))return t[n]}function T(t,e){var i=a.call(arguments,2);return function(){return t.apply(e,i.concat(a.call(arguments)))}}function A(t){var e=a.call(arguments,1);return function(){return t.apply(this,e.concat(a.call(arguments)))}}function k(t){return"[object Array]"===u.call(t)}function O(t){return"function"==typeof t}function R(t){return"[object String]"===u.call(t)}function z(t){var e=typeof t;return"function"==e||!!t&&"object"==e}function B(t){return!!s[u.call(t)]}function V(t){return!!l[u.call(t)]}function G(t){return"object"==typeof t&&"number"==typeof t.nodeType&&"object"==typeof t.ownerDocument}function F(t){return t!=t}function W(t){for(var e=0,i=arguments.length;e<i;e++)if(null!=arguments[e])return arguments[e]}function H(t,e){return null!=t?t:e}function Z(t,e,i){return null!=t?t:null!=e?e:i}function U(){return Function.call.apply(a,arguments)}function X(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 Y(t,e){if(!t)throw new Error(e)}function j(t){return null==t?null:"function"==typeof t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}o.createCanvas=function(){return document.createElement("canvas")};var q="__ec_primitive__";function K(t){t[q]=!0}function $(t){return t[q]}function J(t){var i=k(t);this.data={};var n=this;function e(t,e){i?n.set(t,e):n.set(e,t)}t instanceof J?t.each(e):t&&E(t,e)}function Q(t){return new J(t)}function tt(t,e){for(var i=new t.constructor(t.length+e.length),n=0;n<t.length;n++)i[n]=t[n];var a=t.length;for(n=0;n<e.length;n++)i[n+a]=e[n];return i}function et(){}J.prototype={constructor:J,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){for(var i in void 0!==e&&(t=T(t,e)),this.data)this.data.hasOwnProperty(i)&&t(this.data[i],i)},removeKey:function(t){delete this.data[t]}};var it=(Object.freeze||Object)({$override:f,clone:D,merge:m,mergeAll:p,extend:L,defaults:C,createCanvas:g,getContext:x,indexOf:_,inherits:w,mixin:b,isArrayLike:P,each:E,map:N,reduce:S,filter:M,find:I,bind:T,curry:A,isArray:k,isFunction:O,isString:R,isObject:z,isBuiltInObject:B,isTypedArray:V,isDom:G,eqNaN:F,retrieve:W,retrieve2:H,retrieve3:Z,slice:U,normalizeCssArray:X,assert:Y,trim:j,setAsPrimitive:K,isPrimitive:$,createHashMap:Q,concatArray:tt,noop:et}),nt="undefined"==typeof Float32Array?Array:Float32Array;function at(t,e){var i=new nt(2);return null==t&&(t=0),null==e&&(e=0),i[0]=t,i[1]=e,i}function ot(t,e){return t[0]=e[0],t[1]=e[1],t}function rt(t){var e=new nt(2);return e[0]=t[0],e[1]=t[1],e}function st(t,e,i){return t[0]=e,t[1]=i,t}function lt(t,e,i){return t[0]=e[0]+i[0],t[1]=e[1]+i[1],t}function ut(t,e,i,n){return t[0]=e[0]+i[0]*n,t[1]=e[1]+i[1]*n,t}function ht(t,e,i){return t[0]=e[0]-i[0],t[1]=e[1]-i[1],t}function ct(t){return Math.sqrt(ft(t))}var dt=ct;function ft(t){return t[0]*t[0]+t[1]*t[1]}var pt=ft;function gt(t,e,i){return t[0]=e[0]*i,t[1]=e[1]*i,t}function mt(t,e){var i=ct(e);return 0===i?(t[0]=0,t[1]=0):(t[0]=e[0]/i,t[1]=e[1]/i),t}function vt(t,e){return Math.sqrt((t[0]-e[0])*(t[0]-e[0])+(t[1]-e[1])*(t[1]-e[1]))}var yt=vt;function xt(t,e){return(t[0]-e[0])*(t[0]-e[0])+(t[1]-e[1])*(t[1]-e[1])}var _t=xt;function wt(t,e,i,n){return t[0]=e[0]+n*(i[0]-e[0]),t[1]=e[1]+n*(i[1]-e[1]),t}function bt(t,e,i){var n=e[0],a=e[1];return t[0]=i[0]*n+i[2]*a+i[4],t[1]=i[1]*n+i[3]*a+i[5],t}function St(t,e,i){return t[0]=Math.min(e[0],i[0]),t[1]=Math.min(e[1],i[1]),t}function Mt(t,e,i){return t[0]=Math.max(e[0],i[0]),t[1]=Math.max(e[1],i[1]),t}var It=(Object.freeze||Object)({create:at,copy:ot,clone:rt,set:st,add:lt,scaleAndAdd:ut,sub:ht,len:ct,length:dt,lenSquare:ft,lengthSquare:pt,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:gt,normalize:mt,distance:vt,dist:yt,distanceSquare:xt,distSquare:_t,negate:function(t,e){return t[0]=-e[0],t[1]=-e[1],t},lerp:wt,applyTransform:bt,min:St,max:Mt});function At(){this.on("mousedown",this._dragStart,this),this.on("mousemove",this._drag,this),this.on("mouseup",this._dragEnd,this),this.on("globalout",this._dragEnd,this)}function Tt(t,e){return{target:t,topTarget:e&&e.topTarget}}At.prototype={constructor:At,_dragStart:function(t){var e=t.target;e&&e.draggable&&((this._draggingTarget=e).dragging=!0,this._x=t.offsetX,this._y=t.offsetY,this.dispatchToElement(Tt(e,t),"dragstart",t.event))},_drag:function(t){var e=this._draggingTarget;if(e){var i=t.offsetX,n=t.offsetY,a=i-this._x,o=n-this._y;this._x=i,this._y=n,e.drift(a,o,t),this.dispatchToElement(Tt(e,t),"drag",t.event);var r=this.findHover(i,n,e).target,s=this._dropTarget;e!==(this._dropTarget=r)&&(s&&r!==s&&this.dispatchToElement(Tt(s,t),"dragleave",t.event),r&&r!==s&&this.dispatchToElement(Tt(r,t),"dragenter",t.event))}},_dragEnd:function(t){var e=this._draggingTarget;e&&(e.dragging=!1),this.dispatchToElement(Tt(e,t),"dragend",t.event),this._dropTarget&&this.dispatchToElement(Tt(this._dropTarget,t),"drop",t.event),this._draggingTarget=null,this._dropTarget=null}};var Dt=Array.prototype.slice,Ct=function(t){this._$handlers={},this._$eventProcessor=t};function Lt(t,e,i,n,a,o){var r=t._$handlers;if("function"==typeof i&&(a=n,n=i,i=null),!n||!e)return t;i=function(t,e){var i=t._$eventProcessor;return null!=e&&i&&i.normalizeQuery&&(e=i.normalizeQuery(e)),e}(t,i),r[e]||(r[e]=[]);for(var s=0;s<r[e].length;s++)if(r[e][s].h===n)return t;var l={h:n,one:o,query:i,ctx:a||t,callAtLast:n.zrEventfulCallAtLast},u=r[e].length-1,h=r[e][u];return h&&h.callAtLast?r[e].splice(u,0,l):r[e].push(l),t}Ct.prototype={constructor:Ct,one:function(t,e,i,n){return Lt(this,t,e,i,n,!0)},on:function(t,e,i,n){return Lt(this,t,e,i,n,!1)},isSilent:function(t){var e=this._$handlers;return!e[t]||!e[t].length},off:function(t,e){var i=this._$handlers;if(!t)return this._$handlers={},this;if(e){if(i[t]){for(var n=[],a=0,o=i[t].length;a<o;a++)i[t][a].h!==e&&n.push(i[t][a]);i[t]=n}i[t]&&0===i[t].length&&delete i[t]}else delete i[t];return this},trigger:function(t){var e=this._$handlers[t],i=this._$eventProcessor;if(e){var n=arguments,a=n.length;3<a&&(n=Dt.call(n,1));for(var o=e.length,r=0;r<o;){var s=e[r];if(i&&i.filter&&null!=s.query&&!i.filter(t,s.query))r++;else{switch(a){case 1:s.h.call(s.ctx);break;case 2:s.h.call(s.ctx,n[1]);break;case 3:s.h.call(s.ctx,n[1],n[2]);break;default:s.h.apply(s.ctx,n)}s.one?(e.splice(r,1),o--):r++}}}return i&&i.afterTrigger&&i.afterTrigger(t),this},triggerWithContext:function(t){var e=this._$handlers[t],i=this._$eventProcessor;if(e){var n=arguments,a=n.length;4<a&&(n=Dt.call(n,1,n.length-1));for(var o=n[n.length-1],r=e.length,s=0;s<r;){var l=e[s];if(i&&i.filter&&null!=l.query&&!i.filter(t,l.query))s++;else{switch(a){case 1:l.h.call(o);break;case 2:l.h.call(o,n[1]);break;case 3:l.h.call(o,n[1],n[2]);break;default:l.h.apply(o,n)}l.one?(e.splice(s,1),r--):s++}}}return i&&i.afterTrigger&&i.afterTrigger(t),this}};var kt=Math.log(2);function Pt(t,e,i,n,a,o){var r=n+"-"+a,s=t.length;if(o.hasOwnProperty(r))return o[r];if(1===e){var l=Math.round(Math.log((1<<s)-1&~a)/kt);return t[i][l]}for(var u=n|1<<i,h=i+1;n&1<<h;)h++;for(var c=0,d=0,f=0;d<s;d++){var p=1<<d;p&a||(c+=(f%2?-1:1)*t[i][d]*Pt(t,e-1,h,u,a|p,o),f++)}return o[r]=c}var Nt="undefined"!=typeof window&&!!window.addEventListener,Ot=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Et="___zrEVENTSAVED",Rt=[];function zt(t,e,i,n){return i=i||{},n||!v.canvasSupported?Bt(t,e,i):v.browser.firefox&&null!=e.layerX&&e.layerX!==e.offsetX?(i.zrX=e.layerX,i.zrY=e.layerY):null!=e.offsetX?(i.zrX=e.offsetX,i.zrY=e.offsetY):Bt(t,e,i),i}function Bt(t,e,i){if(t.getBoundingClientRect&&v.domSupported){var n=e.clientX,a=e.clientY;if("CANVAS"===t.nodeName.toUpperCase()){var o=t.getBoundingClientRect();return i.zrX=n-o.left,void(i.zrY=a-o.top)}var r=t[Et]||(t[Et]={}),s=function(t,e){for(var i=e.transformer,n=e.srcCoords,a=!0,o=[],r=[],s=0;s<4;s++){var l=t[s].getBoundingClientRect(),u=2*s,h=l.left,c=l.top;o.push(h,c),a&=n&&h===n[u]&&c===n[1+u],r.push(t[s].offsetLeft,t[s].offsetTop)}return a?i:(e.srcCoords=o,e.transformer=function(t,e){var i=[[t[0],t[1],1,0,0,0,-e[0]*t[0],-e[0]*t[1]],[0,0,0,t[0],t[1],1,-e[1]*t[0],-e[1]*t[1]],[t[2],t[3],1,0,0,0,-e[2]*t[2],-e[2]*t[3]],[0,0,0,t[2],t[3],1,-e[3]*t[2],-e[3]*t[3]],[t[4],t[5],1,0,0,0,-e[4]*t[4],-e[4]*t[5]],[0,0,0,t[4],t[5],1,-e[5]*t[4],-e[5]*t[5]],[t[6],t[7],1,0,0,0,-e[6]*t[6],-e[6]*t[7]],[0,0,0,t[6],t[7],1,-e[7]*t[6],-e[7]*t[7]]],n={},a=Pt(i,8,0,0,0,n);if(0!==a){for(var o=[],r=0;r<8;r++)for(var s=0;s<8;s++)null==o[s]&&(o[s]=0),o[s]+=((r+s)%2?-1:1)*Pt(i,7,0===r?1:0,1<<r,1<<s,n)/a*e[r];return function(t,e,i){var n=e*o[6]+i*o[7]+1;t[0]=(e*o[0]+i*o[1]+o[2])/n,t[1]=(e*o[3]+i*o[4]+o[5])/n}}}(o,r))}(function(t,e){var i=e.markers;if(i)return i;i=e.markers=[];for(var n=["left","right"],a=["top","bottom"],o=0;o<4;o++){var r=document.createElement("div"),s=r.style,l=o%2,u=(o>>1)%2;s.cssText=["position:absolute","visibility: hidden","padding: 0","margin: 0","border-width: 0","width:0","height:0",n[l]+":0",a[u]+":0",n[1-l]+":auto",a[1-u]+":auto",""].join("!important;"),t.appendChild(r),i.push(r)}return i}(t,r),r);if(s)return s(Rt,n,a),i.zrX=Rt[0],void(i.zrY=Rt[1])}i.zrX=i.zrY=0}function Vt(t,e,i){if(null!=(e=e||window.event).zrX)return e;var n=e.type;if(n&&0<=n.indexOf("touch")){var a="touchend"!==n?e.targetTouches[0]:e.changedTouches[0];a&&zt(t,a,e,i)}else zt(t,e,e,i),e.zrDelta=e.wheelDelta?e.wheelDelta/120:-(e.detail||0)/3;var o=e.button;return null==e.which&&void 0!==o&&Ot.test(e.type)&&(e.which=1&o?1:2&o?3:4&o?2:0),e}function Gt(t,e,i){Nt?t.addEventListener(e,i):t.attachEvent("on"+e,i)}var Ft=Nt?function(t){t.preventDefault(),t.stopPropagation(),t.cancelBubble=!0}:function(t){t.returnValue=!1,t.cancelBubble=!0};function Wt(t){return 2===t.which||3===t.which}function Ht(){this._track=[]}function Zt(t){var e=t[1][0]-t[0][0],i=t[1][1]-t[0][1];return Math.sqrt(e*e+i*i)}Ht.prototype={constructor:Ht,recognize:function(t,e,i){return this._doTrack(t,e,i),this._recognize(t)},clear:function(){return this._track.length=0,this},_doTrack:function(t,e,i){var n=t.touches;if(n){for(var a={points:[],touches:[],target:e,event:t},o=0,r=n.length;o<r;o++){var s=n[o],l=zt(i,s,{});a.points.push([l.zrX,l.zrY]),a.touches.push(s)}this._track.push(a)}},_recognize:function(t){for(var e in Ut)if(Ut.hasOwnProperty(e)){var i=Ut[e](this._track,t);if(i)return i}}};var Ut={pinch:function(t,e){var i=t.length;if(i){var n=(t[i-1]||{}).points,a=(t[i-2]||{}).points||n;if(a&&1<a.length&&n&&1<n.length){var o=Zt(n)/Zt(a);isFinite(o)||(o=1),e.pinchScale=o;var r=function(t){return[(t[0][0]+t[1][0])/2,(t[0][1]+t[1][1])/2]}(n);return e.pinchX=r[0],e.pinchY=r[1],{type:"pinch",target:t[0].target,event:e}}}}},Xt="silent";function Yt(t){Ft(this.event)}function jt(){}jt.prototype.dispose=function(){};function qt(t,e,i,n){Ct.call(this),this.storage=t,this.painter=e,this.painterRoot=n,i=i||new jt,this.proxy=null,this._hovered={},this._lastTouchMoment,this._lastX,this._lastY,this._gestureMgr,At.call(this),this.setHandlerProxy(i)}var Kt=["click","dblclick","mousewheel","mouseout","mouseup","mousedown","mousemove","contextmenu"];function $t(t,e,i){if(t[t.rectHover?"rectContain":"contain"](e,i)){for(var n,a=t;a;){if(a.clipPath&&!a.clipPath.contain(e,i))return!1;a.silent&&(n=!0),a=a.parent}return!n||Xt}return!1}qt.prototype={constructor:qt,setHandlerProxy:function(e){this.proxy&&this.proxy.dispose(),e&&(E(Kt,function(t){e.on&&e.on(t,this[t],this)},this),e.handler=this),this.proxy=e},mousemove:function(t){var e=t.zrX,i=t.zrY,n=this._hovered,a=n.target;a&&!a.__zr&&(a=(n=this.findHover(n.x,n.y)).target);var o=this._hovered=this.findHover(e,i),r=o.target,s=this.proxy;s.setCursor&&s.setCursor(r?r.cursor:"default"),a&&r!==a&&this.dispatchToElement(n,"mouseout",t),this.dispatchToElement(o,"mousemove",t),r&&r!==a&&this.dispatchToElement(o,"mouseover",t)},mouseout:function(t){this.dispatchToElement(this._hovered,"mouseout",t);for(var e,i=t.toElement||t.relatedTarget;(i=i&&i.parentNode)&&9!==i.nodeType&&!(e=i===this.painterRoot););e||this.trigger("globalout",{event:t})},resize:function(t){this._hovered={}},dispatch:function(t,e){var i=this[t];i&&i.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,i){var n=(t=t||{}).target;if(!n||!n.silent){for(var a="on"+e,o=function(t,e,i){return{type:t,event:i,target:e.target,topTarget:e.topTarget,cancelBubble:!1,offsetX:i.zrX,offsetY:i.zrY,gestureEvent:i.gestureEvent,pinchX:i.pinchX,pinchY:i.pinchY,pinchScale:i.pinchScale,wheelDelta:i.zrDelta,zrByTouch:i.zrByTouch,which:i.which,stop:Yt}}(e,t,i);n&&(n[a]&&(o.cancelBubble=n[a].call(n,o)),n.trigger(e,o),n=n.parent,!o.cancelBubble););o.cancelBubble||(this.trigger(e,o),this.painter&&this.painter.eachOtherLayer(function(t){"function"==typeof t[a]&&t[a].call(t,o),t.trigger&&t.trigger(e,o)}))}},findHover:function(t,e,i){for(var n=this.storage.getDisplayList(),a={x:t,y:e},o=n.length-1;0<=o;o--){var r;if(n[o]!==i&&!n[o].ignore&&(r=$t(n[o],t,e))&&(a.topTarget||(a.topTarget=n[o]),r!==Xt)){a.target=n[o];break}}return a},processGesture:function(t,e){this._gestureMgr||(this._gestureMgr=new Ht);var i=this._gestureMgr;"start"===e&&i.clear();var n=i.recognize(t,this.findHover(t.zrX,t.zrY,null).target,this.proxy.dom);if("end"===e&&i.clear(),n){var a=n.type;t.gestureEvent=a,this.dispatchToElement({target:n.target},a,n.event)}}},E(["click","mousedown","mouseup","mousewheel","dblclick","contextmenu"],function(n){qt.prototype[n]=function(t){var e=this.findHover(t.zrX,t.zrY),i=e.target;if("mousedown"===n)this._downEl=i,this._downPoint=[t.zrX,t.zrY],this._upEl=i;else if("mouseup"===n)this._upEl=i;else if("click"===n){if(this._downEl!==this._upEl||!this._downPoint||4<yt(this._downPoint,[t.zrX,t.zrY]))return;this._downPoint=null}this.dispatchToElement(e,n,t)}}),b(qt,Ct),b(qt,At);var Jt="undefined"==typeof Float32Array?Array:Float32Array;function Qt(){var t=new Jt(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 ee(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 ie(t,e,i){var n=e[0]*i[0]+e[2]*i[1],a=e[1]*i[0]+e[3]*i[1],o=e[0]*i[2]+e[2]*i[3],r=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]=a,t[2]=o,t[3]=r,t[4]=s,t[5]=l,t}function ne(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}function ae(t,e,i){var n=e[0],a=e[2],o=e[4],r=e[1],s=e[3],l=e[5],u=Math.sin(i),h=Math.cos(i);return t[0]=n*h+r*u,t[1]=-n*u+r*h,t[2]=a*h+s*u,t[3]=-a*u+h*s,t[4]=h*o+u*l,t[5]=h*l-u*o,t}function oe(t,e,i){var n=i[0],a=i[1];return t[0]=e[0]*n,t[1]=e[1]*a,t[2]=e[2]*n,t[3]=e[3]*a,t[4]=e[4]*n,t[5]=e[5]*a,t}function re(t,e){var i=e[0],n=e[2],a=e[4],o=e[1],r=e[3],s=e[5],l=i*r-o*n;return l?(l=1/l,t[0]=r*l,t[1]=-o*l,t[2]=-n*l,t[3]=i*l,t[4]=(n*s-r*a)*l,t[5]=(o*a-i*s)*l,t):null}function se(t){var e=Qt();return ee(e,t),e}var le=(Object.freeze||Object)({create:Qt,identity:te,copy:ee,mul:ie,translate:ne,rotate:ae,scale:oe,invert:re,clone:se}),ue=te;function he(t){return 5e-5<t||t<-5e-5}var ce=function(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},de=ce.prototype;de.transform=null,de.needLocalTransform=function(){return he(this.rotation)||he(this.position[0])||he(this.position[1])||he(this.scale[0]-1)||he(this.scale[1]-1)};var fe=[];de.updateTransform=function(){var t=this.parent,e=t&&t.transform,i=this.needLocalTransform(),n=this.transform;if(i||e){n=n||Qt(),i?this.getLocalTransform(n):ue(n),e&&(i?ie(n,t.transform,n):ee(n,t.transform)),this.transform=n;var a=this.globalScaleRatio;if(null!=a&&1!==a){this.getGlobalScale(fe);var o=fe[0]<0?-1:1,r=fe[1]<0?-1:1,s=((fe[0]-o)*a+o)/fe[0]||0,l=((fe[1]-r)*a+r)/fe[1]||0;n[0]*=s,n[1]*=s,n[2]*=l,n[3]*=l}this.invTransform=this.invTransform||Qt(),re(this.invTransform,n)}else n&&ue(n)},de.getLocalTransform=function(t){return ce.getLocalTransform(this,t)},de.setTransform=function(t){var e=this.transform,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)},de.restoreTransform=function(t){var e=t.dpr||1;t.setTransform(e,0,0,e,0,0)};var pe=[],ge=Qt();de.setLocalTransform=function(t){if(t){var e=t[0]*t[0]+t[1]*t[1],i=t[2]*t[2]+t[3]*t[3],n=this.position,a=this.scale;he(e-1)&&(e=Math.sqrt(e)),he(i-1)&&(i=Math.sqrt(i)),t[0]<0&&(e=-e),t[3]<0&&(i=-i),n[0]=t[4],n[1]=t[5],a[0]=e,a[1]=i,this.rotation=Math.atan2(-t[1]/i,t[0]/e)}},de.decomposeTransform=function(){if(this.transform){var t=this.parent,e=this.transform;t&&t.transform&&(ie(pe,t.invTransform,e),e=pe);var i=this.origin;i&&(i[0]||i[1])&&(ge[4]=i[0],ge[5]=i[1],ie(pe,e,ge),pe[4]-=i[0],pe[5]-=i[1],e=pe),this.setLocalTransform(e)}},de.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[0]=1,t[1]=1),t},de.transformCoordToLocal=function(t,e){var i=[t,e],n=this.invTransform;return n&&bt(i,i,n),i},de.transformCoordToGlobal=function(t,e){var i=[t,e],n=this.transform;return n&&bt(i,i,n),i},ce.getLocalTransform=function(t,e){ue(e=e||[]);var i=t.origin,n=t.scale||[1,1],a=t.rotation||0,o=t.position||[0,0];return i&&(e[4]-=i[0],e[5]-=i[1]),oe(e,e,n),a&&ae(e,e,a),i&&(e[4]+=i[0],e[5]+=i[1]),e[4]+=o[0],e[5]+=o[1],e};var me={linear:function(t){return t},quadraticIn:function(t){return t*t},quadraticOut:function(t){return t*(2-t)},quadraticInOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)},cubicIn:function(t){return t*t*t},cubicOut:function(t){return--t*t*t+1},cubicInOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)},quarticIn:function(t){return t*t*t*t},quarticOut:function(t){return 1- --t*t*t*t},quarticInOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)},quinticIn:function(t){return t*t*t*t*t},quinticOut:function(t){return--t*t*t*t*t+1},quinticInOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)},sinusoidalIn:function(t){return 1-Math.cos(t*Math.PI/2)},sinusoidalOut:function(t){return Math.sin(t*Math.PI/2)},sinusoidalInOut:function(t){return.5*(1-Math.cos(Math.PI*t))},exponentialIn:function(t){return 0===t?0:Math.pow(1024,t-1)},exponentialOut:function(t){return 1===t?1:1-Math.pow(2,-10*t)},exponentialInOut:function(t){return 0===t?0:1===t?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(2-Math.pow(2,-10*(t-1)))},circularIn:function(t){return 1-Math.sqrt(1-t*t)},circularOut:function(t){return Math.sqrt(1- --t*t)},circularInOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)},elasticIn:function(t){var e,i=.1;return 0===t?0:1===t?1:(e=!i||i<1?(i=1,.1):.4*Math.asin(1/i)/(2*Math.PI),-i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4))},elasticOut:function(t){var e,i=.1;return 0===t?0:1===t?1:(e=!i||i<1?(i=1,.1):.4*Math.asin(1/i)/(2*Math.PI),i*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/.4)+1)},elasticInOut:function(t){var e,i=.1;return 0===t?0:1===t?1:(e=!i||i<1?(i=1,.1):.4*Math.asin(1/i)/(2*Math.PI),(t*=2)<1?i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*-.5:i*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*.5+1)},backIn:function(t){return t*t*(2.70158*t-1.70158)},backOut:function(t){return--t*t*(2.70158*t+1.70158)+1},backInOut:function(t){var e=2.5949095;return(t*=2)<1?t*t*((1+e)*t-e)*.5:.5*((t-=2)*t*((1+e)*t+e)+2)},bounceIn:function(t){return 1-me.bounceOut(1-t)},bounceOut:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},bounceInOut:function(t){return t<.5?.5*me.bounceIn(2*t):.5*me.bounceOut(2*t-1)+.5}};function ve(t){this._target=t.target,this._life=t.life||1e3,this._delay=t.delay||0,this._initialized=!1,this.loop=null!=t.loop&&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}ve.prototype={constructor:ve,step:function(t,e){if(this._initialized||(this._startTime=t+this._delay,this._initialized=!0),this._paused)this._pausedTime+=e;else{var i=(t-this._startTime-this._pausedTime)/this._life;if(!(i<0)){i=Math.min(i,1);var n=this.easing,a="string"==typeof n?me[n]:n,o="function"==typeof a?a(i):i;return this.fire("frame",o),1===i?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){this[t="on"+t]&&this[t](this._target,e)},pause:function(){this._paused=!0},resume:function(){this._paused=!1}};function ye(){this.head=null,this.tail=null,this._len=0}var xe=ye.prototype;xe.insert=function(t){var e=new we(t);return this.insertEntry(e),e},xe.insertEntry=function(t){this.head?((this.tail.next=t).prev=this.tail,t.next=null,this.tail=t):this.head=this.tail=t,this._len++},xe.remove=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--},xe.len=function(){return this._len},xe.clear=function(){this.head=this.tail=null,this._len=0};function _e(t){this._list=new ye,this._map={},this._maxSize=t||10,this._lastRemovedEntry=null}var we=function(t){this.value=t,this.next,this.prev},be=_e.prototype;be.put=function(t,e){var i=this._list,n=this._map,a=null;if(null==n[t]){var o=i.len(),r=this._lastRemovedEntry;if(o>=this._maxSize&&0<o){var s=i.head;i.remove(s),delete n[s.key],a=s.value,this._lastRemovedEntry=s}r?r.value=e:r=new we(e),r.key=t,i.insertEntry(r),n[t]=r}return a},be.get=function(t){var e=this._map[t],i=this._list;if(null!=e)return e!==i.tail&&(i.remove(e),i.insertEntry(e)),e.value},be.clear=function(){this._list.clear(),this._map={}};var Se={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};function Me(t){return(t=Math.round(t))<0?0:255<t?255:t}function Ie(t){return t<0?0:1<t?1:t}function Ae(t){return t.length&&"%"===t.charAt(t.length-1)?Me(parseFloat(t)/100*255):Me(parseInt(t,10))}function Te(t){return t.length&&"%"===t.charAt(t.length-1)?Ie(parseFloat(t)/100):Ie(parseFloat(t))}function De(t,e,i){return i<0?i+=1:1<i&&(i-=1),6*i<1?t+(e-t)*i*6:2*i<1?e:3*i<2?t+(e-t)*(2/3-i)*6:t}function Ce(t,e,i){return t+(e-t)*i}function Le(t,e,i,n,a){return t[0]=e,t[1]=i,t[2]=n,t[3]=a,t}function ke(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}var Pe=new _e(20),Ne=null;function Oe(t,e){Ne&&ke(Ne,e),Ne=Pe.put(t,Ne||e.slice())}function Ee(t,e){if(t){e=e||[];var i=Pe.get(t);if(i)return ke(e,i);var n,a=(t+="").replace(/ /g,"").toLowerCase();if(a in Se)return ke(e,Se[a]),Oe(t,e),e;if("#"===a.charAt(0))return 4===a.length?0<=(n=parseInt(a.substr(1),16))&&n<=4095?(Le(e,(3840&n)>>4|(3840&n)>>8,240&n|(240&n)>>4,15&n|(15&n)<<4,1),Oe(t,e),e):void Le(e,0,0,0,1):7===a.length?0<=(n=parseInt(a.substr(1),16))&&n<=16777215?(Le(e,(16711680&n)>>16,(65280&n)>>8,255&n,1),Oe(t,e),e):void Le(e,0,0,0,1):void 0;var o=a.indexOf("("),r=a.indexOf(")");if(-1!==o&&r+1===a.length){var s=a.substr(0,o),l=a.substr(o+1,r-(o+1)).split(","),u=1;switch(s){case"rgba":if(4!==l.length)return void Le(e,0,0,0,1);u=Te(l.pop());case"rgb":return 3!==l.length?void Le(e,0,0,0,1):(Le(e,Ae(l[0]),Ae(l[1]),Ae(l[2]),u),Oe(t,e),e);case"hsla":return 4!==l.length?void Le(e,0,0,0,1):(l[3]=Te(l[3]),Re(l,e),Oe(t,e),e);case"hsl":return 3!==l.length?void Le(e,0,0,0,1):(Re(l,e),Oe(t,e),e);default:return}}Le(e,0,0,0,1)}}function Re(t,e){var i=(parseFloat(t[0])%360+360)%360/360,n=Te(t[1]),a=Te(t[2]),o=a<=.5?a*(n+1):a+n-a*n,r=2*a-o;return Le(e=e||[],Me(255*De(r,o,i+1/3)),Me(255*De(r,o,i)),Me(255*De(r,o,i-1/3)),1),4===t.length&&(e[3]=t[3]),e}function ze(t,e){var i=Ee(t);if(i){for(var n=0;n<3;n++)i[n]=e<0?i[n]*(1-e)|0:(255-i[n])*e+i[n]|0,255<i[n]?i[n]=255:t[n]<0&&(i[n]=0);return Ue(i,4===i.length?"rgba":"rgb")}}function Be(t){var e=Ee(t);if(e)return((1<<24)+(e[0]<<16)+(e[1]<<8)+ +e[2]).toString(16).slice(1)}function Ve(t,e,i){if(e&&e.length&&0<=t&&t<=1){i=i||[];var n=t*(e.length-1),a=Math.floor(n),o=Math.ceil(n),r=e[a],s=e[o],l=n-a;return i[0]=Me(Ce(r[0],s[0],l)),i[1]=Me(Ce(r[1],s[1],l)),i[2]=Me(Ce(r[2],s[2],l)),i[3]=Ie(Ce(r[3],s[3],l)),i}}var Ge=Ve;function Fe(t,e,i){if(e&&e.length&&0<=t&&t<=1){var n=t*(e.length-1),a=Math.floor(n),o=Math.ceil(n),r=Ee(e[a]),s=Ee(e[o]),l=n-a,u=Ue([Me(Ce(r[0],s[0],l)),Me(Ce(r[1],s[1],l)),Me(Ce(r[2],s[2],l)),Ie(Ce(r[3],s[3],l))],"rgba");return i?{color:u,leftIndex:a,rightIndex:o,value:n}:u}}var We=Fe;function He(t,e,i,n){if(t=Ee(t))return t=function(t){if(t){var e,i,n=t[0]/255,a=t[1]/255,o=t[2]/255,r=Math.min(n,a,o),s=Math.max(n,a,o),l=s-r,u=(s+r)/2;if(0==l)i=e=0;else{i=u<.5?l/(s+r):l/(2-s-r);var h=((s-n)/6+l/2)/l,c=((s-a)/6+l/2)/l,d=((s-o)/6+l/2)/l;n===s?e=d-c:a===s?e=1/3+h-d:o===s&&(e=2/3+c-h),e<0&&(e+=1),1<e&&(e-=1)}var f=[360*e,i,u];return null!=t[3]&&f.push(t[3]),f}}(t),null!=e&&(t[0]=function(t){return(t=Math.round(t))<0?0:360<t?360:t}(e)),null!=i&&(t[1]=Te(i)),null!=n&&(t[2]=Te(n)),Ue(Re(t),"rgba")}function Ze(t,e){if((t=Ee(t))&&null!=e)return t[3]=Ie(e),Ue(t,"rgba")}function Ue(t,e){if(t&&t.length){var i=t[0]+","+t[1]+","+t[2];return"rgba"!==e&&"hsva"!==e&&"hsla"!==e||(i+=","+t[3]),e+"("+i+")"}}var Xe=(Object.freeze||Object)({parse:Ee,lift:ze,toHex:Be,fastLerp:Ve,fastMapToColor:Ge,lerp:Fe,mapToColor:We,modifyHSL:He,modifyAlpha:Ze,stringify:Ue}),Ye=Array.prototype.slice;function je(t,e){return t[e]}function qe(t,e,i){t[e]=i}function Ke(t,e,i){return(e-t)*i+t}function $e(t,e,i){return.5<i?e:t}function Je(t,e,i,n,a){var o=t.length;if(1===a)for(var r=0;r<o;r++)n[r]=Ke(t[r],e[r],i);else{var s=o&&t[0].length;for(r=0;r<o;r++)for(var l=0;l<s;l++)n[r][l]=Ke(t[r][l],e[r][l],i)}}function Qe(t,e,i){var n=t.length,a=e.length;if(n!==a)if(a<n)t.length=a;else for(var o=n;o<a;o++)t.push(1===i?e[o]:Ye.call(e[o]));var r=t[0]&&t[0].length;for(o=0;o<t.length;o++)if(1===i)isNaN(t[o])&&(t[o]=e[o]);else for(var s=0;s<r;s++)isNaN(t[o][s])&&(t[o][s]=e[o][s])}function ti(t,e,i){if(t===e)return!0;var n=t.length;if(n!==e.length)return!1;if(1===i){for(var a=0;a<n;a++)if(t[a]!==e[a])return!1}else{var o=t[0].length;for(a=0;a<n;a++)for(var r=0;r<o;r++)if(t[a][r]!==e[a][r])return!1}return!0}function ei(t,e,i,n,a,o,r,s,l){var u=t.length;if(1===l)for(var h=0;h<u;h++)s[h]=ii(t[h],e[h],i[h],n[h],a,o,r);else{var c=t[0].length;for(h=0;h<u;h++)for(var d=0;d<c;d++)s[h][d]=ii(t[h][d],e[h][d],i[h][d],n[h][d],a,o,r)}}function ii(t,e,i,n,a,o,r){var s=.5*(i-t),l=.5*(n-e);return(2*(e-i)+s+l)*r+(-3*(e-i)-2*s-l)*o+s*a+e}function ni(t){if(P(t)){var e=t.length;if(P(t[0])){for(var i=[],n=0;n<e;n++)i.push(Ye.call(t[n]));return i}return Ye.call(t)}return t}function ai(t){return t[0]=Math.floor(t[0]),t[1]=Math.floor(t[1]),t[2]=Math.floor(t[2]),"rgba("+t.join(",")+")"}function oi(t,e,i,n,o,a){var r=t._getter,s=t._setter,l="spline"===e,u=n.length;if(u){var h,c=P(n[0].value),d=!1,f=!1,p=c?function(t){var e=t[t.length-1].value;return P(e&&e[0])?2:1}(n):0;n.sort(function(t,e){return t.time-e.time}),h=n[u-1].time;for(var g=[],m=[],v=n[0].value,y=!0,x=0;x<u;x++){g.push(n[x].time/h);var _=n[x].value;if(c&&ti(_,v,p)||!c&&_===v||(y=!1),"string"==typeof(v=_)){var w=Ee(_);w?(_=w,d=!0):f=!0}m.push(_)}if(a||!y){var b=m[u-1];for(x=0;x<u-1;x++)c?Qe(m[x],b,p):!isNaN(m[x])||isNaN(b)||f||d||(m[x]=b);c&&Qe(r(t._target,o),b,p);var S,M,I,A,T,D=0,C=0;if(d)var L=[0,0,0,0];var k=new ve({target:t._target,life:h,loop:t._loop,delay:t._delay,onframe:function(t,e){var i;if(e<0)i=0;else if(e<C){for(i=Math.min(D+1,u-1);0<=i&&!(g[i]<=e);i--);i=Math.min(i,u-2)}else{for(i=D;i<u&&!(g[i]>e);i++);i=Math.min(i-1,u-2)}C=e;var n=g[(D=i)+1]-g[i];if(0!=n)if(S=(e-g[i])/n,l)if(I=m[i],M=m[0===i?i:i-1],A=m[u-2<i?u-1:i+1],T=m[u-3<i?u-1:i+2],c)ei(M,I,A,T,S,S*S,S*S*S,r(t,o),p);else{if(d)a=ei(M,I,A,T,S,S*S,S*S*S,L,1),a=ai(L);else{if(f)return $e(I,A,S);a=ii(M,I,A,T,S,S*S,S*S*S)}s(t,o,a)}else if(c)Je(m[i],m[i+1],S,r(t,o),p);else{var a;if(d)Je(m[i],m[i+1],S,L,1),a=ai(L);else{if(f)return $e(m[i],m[i+1],S);a=Ke(m[i],m[i+1],S)}s(t,o,a)}},ondestroy:i});return e&&"spline"!==e&&(k.easing=e),k}}}function ri(t,e,i,n){this._tracks={},this._target=t,this._loop=e||!1,this._getter=i||je,this._setter=n||qe,this._clipCount=0,this._delay=0,this._doneList=[],this._onframeList=[],this._clipList=[]}ri.prototype={when:function(t,e){var i=this._tracks;for(var n in e)if(e.hasOwnProperty(n)){if(!i[n]){i[n]=[];var a=this._getter(this._target,n);if(null==a)continue;0!==t&&i[n].push({time:0,value:ni(a)})}i[n].push({time:t,value:e[n]})}return this},during:function(t){return this._onframeList.push(t),this},pause:function(){for(var t=0;t<this._clipList.length;t++)this._clipList[t].pause();this._paused=!0},resume:function(){for(var t=0;t<this._clipList.length;t++)this._clipList[t].resume();this._paused=!1},isPaused:function(){return!!this._paused},_doneCallback:function(){this._tracks={},this._clipList.length=0;for(var t=this._doneList,e=t.length,i=0;i<e;i++)t[i].call(this)},start:function(t,e){function i(){--o||a._doneCallback()}var n,a=this,o=0;for(var r in this._tracks)if(this._tracks.hasOwnProperty(r)){var s=oi(this,t,i,this._tracks[r],r,e);s&&(this._clipList.push(s),o++,this.animation&&this.animation.addClip(s),n=s)}if(n){var l=n.onframe;n.onframe=function(t,e){l(t,e);for(var i=0;i<a._onframeList.length;i++)a._onframeList[i](t,e)}}return o||this._doneCallback(),this},stop:function(t){for(var e=this._clipList,i=this.animation,n=0;n<e.length;n++){var a=e[n];t&&a.onframe(this._target,1),i&&i.removeClip(a)}e.length=0},delay:function(t){return this._delay=t,this},done:function(t){return t&&this._doneList.push(t),this},getClips:function(){return this._clipList}};var si=1;"undefined"!=typeof window&&(si=Math.max(window.devicePixelRatio||1,1));var li=si,ui=function(){};function hi(){this.animators=[]}var ci=ui;function di(t,e,i,n,a,o,r,s){R(n)?(o=a,a=n,n=0):O(a)?(o=a,a="linear",n=0):O(n)?(o=n,n=0):i=O(i)?(o=i,500):i||500,t.stopAnimation(),function t(e,i,n,a,o,r,s){var l={};var u=0;for(var h in a)a.hasOwnProperty(h)&&(null!=n[h]?z(a[h])&&!P(a[h])?t(e,i?i+"."+h:h,n[h],a[h],o,r,s):(s?(l[h]=n[h],fi(e,i,h,a[h])):l[h]=a[h],u++):null==a[h]||s||fi(e,i,h,a[h]));0<u&&e.animate(i,!1).when(null==o?500:o,l).delay(r||0)}(t,"",t,e,i,n,s);var l=t.animators.slice(),u=l.length;function h(){--u||o&&o()}u||o&&o();for(var c=0;c<l.length;c++)l[c].done(h).start(a,r)}function fi(t,e,i,n){if(e){var a={};a[e]={},a[e][i]=n,t.attr(a)}else t.attr(i,n)}hi.prototype={constructor:hi,animate:function(t,e){var i,n=!1,a=this,o=this.__zr;if(t){var r=t.split("."),s=a;n="shape"===r[0];for(var l=0,u=r.length;l<u;l++)s=s&&s[r[l]];s&&(i=s)}else i=a;if(i){var h=a.animators,c=new ri(i,e);return c.during(function(t){a.dirty(n)}).done(function(){h.splice(_(h,c),1)}),h.push(c),o&&o.animation.addAnimator(c),c}ci('Property "'+t+'" is not existed in element '+a.id)},stopAnimation:function(t){for(var e=this.animators,i=e.length,n=0;n<i;n++)e[n].stop(t);return e.length=0,this},animateTo:function(t,e,i,n,a,o){di(this,t,e,i,n,a,o)},animateFrom:function(t,e,i,n,a,o){di(this,t,e,i,n,a,o,!0)}};var pi=function(t){ce.call(this,t),Ct.call(this,t),hi.call(this,t),this.id=t.id||n()};pi.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 i=this.transform;(i=i||(this.transform=[1,0,0,1,0,0]))[4]+=t,i[5]+=e,this.decomposeTransform(),this.dirty(!1)},beforeUpdate:function(){},afterUpdate:function(){},update:function(){this.updateTransform()},traverse:function(t,e){},attrKV:function(t,e){if("position"===t||"scale"===t||"origin"===t){if(e){var i=this[t];(i=i||(this[t]=[]))[0]=e[0],i[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(z(t))for(var i in t)t.hasOwnProperty(i)&&this.attrKV(i,t[i]);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).__zr=e,(t.__clipTarget=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 i=0;i<e.length;i++)t.animation.addAnimator(e[i]);this.clipPath&&this.clipPath.addSelfToZr(t)},removeSelfFromZr:function(t){this.__zr=null;var e=this.animators;if(e)for(var i=0;i<e.length;i++)t.animation.removeAnimator(e[i]);this.clipPath&&this.clipPath.removeSelfFromZr(t)}},b(pi,hi),b(pi,ce),b(pi,Ct);var gi,mi,vi,yi,xi=bt,_i=Math.min,wi=Math.max;function bi(t,e,i,n){i<0&&(t+=i,i=-i),n<0&&(e+=n,n=-n),this.x=t,this.y=e,this.width=i,this.height=n}bi.prototype={constructor:bi,union:function(t){var e=_i(t.x,this.x),i=_i(t.y,this.y);this.width=wi(t.x+t.width,this.x+this.width)-e,this.height=wi(t.y+t.height,this.y+this.height)-i,this.x=e,this.y=i},applyTransform:(gi=[],mi=[],vi=[],yi=[],function(t){if(t){gi[0]=vi[0]=this.x,gi[1]=yi[1]=this.y,mi[0]=yi[0]=this.x+this.width,mi[1]=vi[1]=this.y+this.height,xi(gi,gi,t),xi(mi,mi,t),xi(vi,vi,t),xi(yi,yi,t),this.x=_i(gi[0],mi[0],vi[0],yi[0]),this.y=_i(gi[1],mi[1],vi[1],yi[1]);var e=wi(gi[0],mi[0],vi[0],yi[0]),i=wi(gi[1],mi[1],vi[1],yi[1]);this.width=e-this.x,this.height=i-this.y}}),calculateTransform:function(t){var e=t.width/this.width,i=t.height/this.height,n=Qt();return ne(n,n,[-this.x,-this.y]),oe(n,n,[e,i]),ne(n,n,[t.x,t.y]),n},intersect:function(t){if(!t)return!1;t instanceof bi||(t=bi.create(t));var e=this,i=e.x,n=e.x+e.width,a=e.y,o=e.y+e.height,r=t.x,s=t.x+t.width,l=t.y,u=t.y+t.height;return!(n<r||s<i||o<l||u<a)},contain:function(t,e){var i=this;return t>=i.x&&t<=i.x+i.width&&e>=i.y&&e<=i.y+i.height},clone:function(){return new bi(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}}},bi.create=function(t){return new bi(t.x,t.y,t.width,t.height)};var Si=function(t){for(var e in t=t||{},pi.call(this,t),t)t.hasOwnProperty(e)&&(this[e]=t[e]);this._children=[],this.__storage=null,this.__dirty=!0};Si.prototype={constructor:Si,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<e.length;i++)if(e[i].name===t)return e[i]},childCount:function(){return this._children.length},add:function(t){return t&&t!==this&&t.parent!==this&&(this._children.push(t),this._doAdd(t)),this},addBefore:function(t,e){if(t&&t!==this&&t.parent!==this&&e&&e.parent===this){var i=this._children,n=i.indexOf(e);0<=n&&(i.splice(n,0,t),this._doAdd(t))}return this},_doAdd:function(t){t.parent&&t.parent.remove(t);var e=(t.parent=this).__storage,i=this.__zr;e&&e!==t.__storage&&(e.addToStorage(t),t instanceof Si&&t.addChildrenToStorage(e)),i&&i.refresh()},remove:function(t){var e=this.__zr,i=this.__storage,n=this._children,a=_(n,t);return a<0||(n.splice(a,1),t.parent=null,i&&(i.delFromStorage(t),t instanceof Si&&t.delChildrenFromStorage(i)),e&&e.refresh()),this},removeAll:function(){var t,e,i=this._children,n=this.__storage;for(e=0;e<i.length;e++)t=i[e],n&&(n.delFromStorage(t),t instanceof Si&&t.delChildrenFromStorage(n)),t.parent=null;return i.length=0,this},eachChild:function(t,e){for(var i=this._children,n=0;n<i.length;n++){var a=i[n];t.call(e,a,n)}return this},traverse:function(t,e){for(var i=0;i<this._children.length;i++){var n=this._children[i];t.call(e,n),"group"===n.type&&n.traverse(t,e)}return this},addChildrenToStorage:function(t){for(var e=0;e<this._children.length;e++){var i=this._children[e];t.addToStorage(i),i instanceof Si&&i.addChildrenToStorage(t)}},delChildrenFromStorage:function(t){for(var e=0;e<this._children.length;e++){var i=this._children[e];t.delFromStorage(i),i instanceof Si&&i.delChildrenFromStorage(t)}},dirty:function(){return this.__dirty=!0,this.__zr&&this.__zr.refresh(),this},getBoundingRect:function(t){for(var e=null,i=new bi(0,0,0,0),n=t||this._children,a=[],o=0;o<n.length;o++){var r=n[o];if(!r.ignore&&!r.invisible){var s=r.getBoundingRect(),l=r.getLocalTransform(a);l?(i.copy(s),i.applyTransform(l),(e=e||i.clone()).union(i)):(e=e||s.clone()).union(s)}}return e||i}},w(Si,pi);var Mi=32,Ii=7;function Ai(t,e,i,n){var a=e+1;if(a===i)return 1;if(n(t[a++],t[e])<0){for(;a<i&&n(t[a],t[a-1])<0;)a++;!function(t,e,i){i--;for(;e<i;){var n=t[e];t[e++]=t[i],t[i--]=n}}(t,e,a)}else for(;a<i&&0<=n(t[a],t[a-1]);)a++;return a-e}function Ti(t,e,i,n,a){for(n===e&&n++;n<i;n++){for(var o,r=t[n],s=e,l=n;s<l;)a(r,t[o=s+l>>>1])<0?l=o:s=1+o;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(;0<u;)t[s+u]=t[s+u-1],u--}t[s]=r}}function Di(t,e,i,n,a,o){var r=0,s=0,l=1;if(0<o(t,e[i+a])){for(s=n-a;l<s&&0<o(t,e[i+a+l]);)(l=1+((r=l)<<1))<=0&&(l=s);s<l&&(l=s),r+=a,l+=a}else{for(s=a+1;l<s&&o(t,e[i+a-l])<=0;)(l=1+((r=l)<<1))<=0&&(l=s);s<l&&(l=s);var u=r;r=a-l,l=a-u}for(r++;r<l;){var h=r+(l-r>>>1);0<o(t,e[i+h])?r=h+1:l=h}return l}function Ci(t,e,i,n,a,o){var r=0,s=0,l=1;if(o(t,e[i+a])<0){for(s=a+1;l<s&&o(t,e[i+a-l])<0;)(l=1+((r=l)<<1))<=0&&(l=s);s<l&&(l=s);var u=r;r=a-l,l=a-u}else{for(s=n-a;l<s&&0<=o(t,e[i+a+l]);)(l=1+((r=l)<<1))<=0&&(l=s);s<l&&(l=s),r+=a,l+=a}for(r++;r<l;){var h=r+(l-r>>>1);o(t,e[i+h])<0?l=h:r=h+1}return l}function Li(p,g){var r,s,m=Ii,l=0,v=[];function e(t){var e=r[t],i=s[t],n=r[t+1],a=s[t+1];s[t]=i+a,t===l-3&&(r[t+1]=r[t+2],s[t+1]=s[t+2]),l--;var o=Ci(p[n],p,e,i,0,g);e+=o,0!==(i-=o)&&0!==(a=Di(p[e+i-1],p,n,a,a-1,g))&&(i<=a?function(t,e,i,n){var a=0;for(a=0;a<e;a++)v[a]=p[t+a];var o=0,r=i,s=t;if(p[s++]=p[r++],0==--n){for(a=0;a<e;a++)p[s+a]=v[o+a];return}if(1===e){for(a=0;a<n;a++)p[s+a]=p[r+a];return p[s+n]=v[o]}var l,u,h,c=m;for(;;){u=l=0,h=!1;do{if(g(p[r],v[o])<0){if(p[s++]=p[r++],u++,(l=0)==--n){h=!0;break}}else if(p[s++]=v[o++],l++,u=0,1==--e){h=!0;break}}while((l|u)<c);if(h)break;do{if(0!==(l=Ci(p[r],v,o,e,0,g))){for(a=0;a<l;a++)p[s+a]=v[o+a];if(s+=l,o+=l,(e-=l)<=1){h=!0;break}}if(p[s++]=p[r++],0==--n){h=!0;break}if(0!==(u=Di(v[o],p,r,n,0,g))){for(a=0;a<u;a++)p[s+a]=p[r+a];if(s+=u,r+=u,0===(n-=u)){h=!0;break}}if(p[s++]=v[o++],1==--e){h=!0;break}c--}while(Ii<=l||Ii<=u);if(h)break;c<0&&(c=0),c+=2}if((m=c)<1&&(m=1),1===e){for(a=0;a<n;a++)p[s+a]=p[r+a];p[s+n]=v[o]}else{if(0===e)throw new Error;for(a=0;a<e;a++)p[s+a]=v[o+a]}}(e,i,n,a):function(t,e,i,n){var a=0;for(a=0;a<n;a++)v[a]=p[i+a];var o=t+e-1,r=n-1,s=i+n-1,l=0,u=0;if(p[s--]=p[o--],0==--e){for(l=s-(n-1),a=0;a<n;a++)p[l+a]=v[a];return}if(1===n){for(u=(s-=e)+1,l=(o-=e)+1,a=e-1;0<=a;a--)p[u+a]=p[l+a];return p[s]=v[r]}var h=m;for(;;){var c=0,d=0,f=!1;do{if(g(v[r],p[o])<0){if(p[s--]=p[o--],c++,(d=0)==--e){f=!0;break}}else if(p[s--]=v[r--],d++,c=0,1==--n){f=!0;break}}while((c|d)<h);if(f)break;do{if(0!==(c=e-Ci(v[r],p,t,e,e-1,g))){for(e-=c,u=(s-=c)+1,l=(o-=c)+1,a=c-1;0<=a;a--)p[u+a]=p[l+a];if(0===e){f=!0;break}}if(p[s--]=v[r--],1==--n){f=!0;break}if(0!==(d=n-Di(p[o],v,0,n,n-1,g))){for(n-=d,u=(s-=d)+1,l=(r-=d)+1,a=0;a<d;a++)p[u+a]=v[l+a];if(n<=1){f=!0;break}}if(p[s--]=p[o--],0==--e){f=!0;break}h--}while(Ii<=c||Ii<=d);if(f)break;h<0&&(h=0),h+=2}(m=h)<1&&(m=1);if(1===n){for(u=(s-=e)+1,l=(o-=e)+1,a=e-1;0<=a;a--)p[u+a]=p[l+a];p[s]=v[r]}else{if(0===n)throw new Error;for(l=s-(n-1),a=0;a<n;a++)p[l+a]=v[a]}}(e,i,n,a))}r=[],s=[],this.mergeRuns=function(){for(;1<l;){var t=l-2;if(1<=t&&s[t-1]<=s[t]+s[t+1]||2<=t&&s[t-2]<=s[t]+s[t-1])s[t-1]<s[t+1]&&t--;else if(s[t]>s[t+1])break;e(t)}},this.forceMergeRuns=function(){for(;1<l;){var t=l-2;0<t&&s[t-1]<s[t+1]&&t--,e(t)}},this.pushRun=function(t,e){r[l]=t,s[l]=e,l+=1}}function ki(t,e,i,n){i=i||0;var a=(n=n||t.length)-i;if(!(a<2)){var o=0;if(a<Mi)Ti(t,i,n,i+(o=Ai(t,i,n,e)),e);else{var r=new Li(t,e),s=function(t){for(var e=0;Mi<=t;)e|=1&t,t>>=1;return t+e}(a);do{if((o=Ai(t,i,n,e))<s){var l=a;s<l&&(l=s),Ti(t,i,i+l,i+o,e),o=l}r.pushRun(i,o),r.mergeRuns(),a-=o,i+=o}while(0!==a);r.forceMergeRuns()}}}function Pi(t,e){return t.zlevel===e.zlevel?t.z===e.z?t.z2-e.z2:t.z-e.z:t.zlevel-e.zlevel}function Ni(){this._roots=[],this._displayList=[],this._displayListLen=0}Ni.prototype={constructor:Ni,traverse:function(t,e){for(var i=0;i<this._roots.length;i++)this._roots[i].traverse(t,e)},getDisplayList:function(t,e){return e=e||!1,t&&this.updateDisplayList(e),this._displayList},updateDisplayList:function(t){this._displayListLen=0;for(var e=this._roots,i=this._displayList,n=0,a=e.length;n<a;n++)this._updateAndAddDisplayable(e[n],null,t);i.length=this._displayListLen,v.canvasSupported&&ki(i,Pi)},_updateAndAddDisplayable:function(t,e,i){if(!t.ignore||i){t.beforeUpdate(),t.__dirty&&t.update(),t.afterUpdate();var n=t.clipPath;if(n){e=e?e.slice():[];for(var a=n,o=t;a;)a.parent=o,a.updateTransform(),e.push(a),a=(o=a).clipPath}if(t.isGroup){for(var r=t._children,s=0;s<r.length;s++){var l=r[s];t.__dirty&&(l.__dirty=!0),this._updateAndAddDisplayable(l,e,i)}t.__dirty=!1}else t.__clipPaths=e,this._displayList[this._displayListLen++]=t}},addRoot:function(t){t.__storage!==this&&(t instanceof Si&&t.addChildrenToStorage(this),this.addToStorage(t),this._roots.push(t))},delRoot:function(t){if(null==t){for(var e=0;e<this._roots.length;e++){var i=this._roots[e];i instanceof Si&&i.delChildrenFromStorage(this)}return this._roots=[],this._displayList=[],void(this._displayListLen=0)}if(t instanceof Array){e=0;for(var n=t.length;e<n;e++)this.delRoot(t[e])}else{var a=_(this._roots,t);0<=a&&(this.delFromStorage(t),this._roots.splice(a,1),t instanceof Si&&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:Pi};var Oi={shadowBlur:1,shadowOffsetX:1,shadowOffsetY:1,textShadowBlur:1,textShadowOffsetX:1,textShadowOffsetY:1,textBoxShadowBlur:1,textBoxShadowOffsetX:1,textBoxShadowOffsetY:1},Ei=function(t,e,i){return Oi.hasOwnProperty(e)?i*t.dpr:i},Ri={NONE:0,STYLE_BIND:1,PLAIN_TEXT:2},zi=9,Bi=[["shadowBlur",0],["shadowOffsetX",0],["shadowOffsetY",0],["shadowColor","#000"],["lineCap","butt"],["lineJoin","miter"],["miterLimit",10]],Vi=function(t){this.extendFrom(t,!1)};function Gi(t,e,i){var n=null==e.x?0:e.x,a=null==e.x2?1:e.x2,o=null==e.y?0:e.y,r=null==e.y2?0:e.y2;return e.global||(n=n*i.width+i.x,a=a*i.width+i.x,o=o*i.height+i.y,r=r*i.height+i.y),n=isNaN(n)?0:n,a=isNaN(a)?1:a,o=isNaN(o)?0:o,r=isNaN(r)?0:r,t.createLinearGradient(n,o,a,r)}function Fi(t,e,i){var n=i.width,a=i.height,o=Math.min(n,a),r=null==e.x?.5:e.x,s=null==e.y?.5:e.y,l=null==e.r?.5:e.r;return e.global||(r=r*n+i.x,s=s*a+i.y,l*=o),t.createRadialGradient(r,s,0,r,s,l)}Vi.prototype={constructor:Vi,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,i){var n=this,a=i&&i.style,o=!a||t.__attrCachedBy!==Ri.STYLE_BIND;t.__attrCachedBy=Ri.STYLE_BIND;for(var r=0;r<Bi.length;r++){var s=Bi[r],l=s[0];!o&&n[l]===a[l]||(t[l]=Ei(t,l,n[l]||s[1]))}if(!o&&n.fill===a.fill||(t.fillStyle=n.fill),!o&&n.stroke===a.stroke||(t.strokeStyle=n.stroke),!o&&n.opacity===a.opacity||(t.globalAlpha=null==n.opacity?1:n.opacity),!o&&n.blend===a.blend||(t.globalCompositeOperation=n.blend||"source-over"),this.hasStroke()){var u=n.lineWidth;t.lineWidth=u/(this.strokeNoScale&&e&&e.getLineScale?e.getLineScale():1)}},hasFill:function(){var t=this.fill;return null!=t&&"none"!==t},hasStroke:function(){var t=this.stroke;return null!=t&&"none"!==t&&0<this.lineWidth},extendFrom:function(t,e){if(t)for(var i in t)!t.hasOwnProperty(i)||!0!==e&&(!1===e?this.hasOwnProperty(i):null==t[i])||(this[i]=t[i])},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,i){for(var n=("radial"===e.type?Fi:Gi)(t,e,i),a=e.colorStops,o=0;o<a.length;o++)n.addColorStop(a[o].offset,a[o].color);return n}};for(var Wi=Vi.prototype,Hi=0;Hi<Bi.length;Hi++){var Zi=Bi[Hi];Zi[0]in Wi||(Wi[Zi[0]]=Zi[1])}Vi.getGradient=Wi.getGradient;function Ui(t,e){this.image=t,this.repeat=e,this.type="pattern"}function Xi(){return!1}function Yi(t,e,i){var n=g(),a=e.getWidth(),o=e.getHeight(),r=n.style;return r&&(r.position="absolute",r.left=0,r.top=0,r.width=a+"px",r.height=o+"px",n.setAttribute("data-zr-dom-id",t)),n.width=a*i,n.height=o*i,n}function ji(t,e,i){var n;i=i||li,"string"==typeof t?n=Yi(t,e,i):z(t)&&(t=(n=t).id),this.id=t;var a=(this.dom=n).style;a&&(n.onselectstart=Xi,a["-webkit-user-select"]="none",a["user-select"]="none",a["-webkit-touch-callout"]="none",a["-webkit-tap-highlight-color"]="rgba(0,0,0,0)",a.padding=0,a.margin=0,a["border-width"]=0),this.domBack=null,this.ctxBack=null,this.painter=e,this.config=null,this.clearColor=0,this.motionBlur=!1,this.lastFrameAlpha=.7,this.dpr=i}ji.prototype={constructor:ji,__dirty:!0,__used:!(Ui.prototype.getCanvasPattern=function(t){return t.createPattern(this.image,this.repeat||"repeat")}),__drawIndex:0,__startIndex:0,__endIndex:0,incremental:!1,getElementCount:function(){return this.__endIndex-this.__startIndex},initContext:function(){this.ctx=this.dom.getContext("2d"),this.ctx.dpr=this.dpr},createBackBuffer:function(){var t=this.dpr;this.domBack=Yi("back-"+this.id,this.painter,t),this.ctxBack=this.domBack.getContext("2d"),1!==t&&this.ctxBack.scale(t,t)},resize:function(t,e){var i=this.dpr,n=this.dom,a=n.style,o=this.domBack;a&&(a.width=t+"px",a.height=e+"px"),n.width=t*i,n.height=e*i,o&&(o.width=t*i,o.height=e*i,1!==i&&this.ctxBack.scale(i,i))},clear:function(t,e){var i,n=this.dom,a=this.ctx,o=n.width,r=n.height,s=(e=e||this.clearColor,this.motionBlur&&!t),l=this.lastFrameAlpha,u=this.dpr;s&&(this.domBack||this.createBackBuffer(),this.ctxBack.globalCompositeOperation="copy",this.ctxBack.drawImage(n,0,0,o/u,r/u)),a.clearRect(0,0,o,r),e&&"transparent"!==e&&(e.colorStops?(i=e.__canvasGradient||Vi.getGradient(a,e,{x:0,y:0,width:o,height:r}),e.__canvasGradient=i):e.image&&(i=Ui.prototype.getCanvasPattern.call(e,a)),a.save(),a.fillStyle=i||e,a.fillRect(0,0,o,r),a.restore());if(s){var h=this.domBack;a.save(),a.globalAlpha=l,a.drawImage(h,0,0,o,r),a.restore()}}};var qi="undefined"!=typeof window&&(window.requestAnimationFrame&&window.requestAnimationFrame.bind(window)||window.msRequestAnimationFrame&&window.msRequestAnimationFrame.bind(window)||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame)||function(t){setTimeout(t,16)},Ki=new _e(50);function $i(t){if("string"!=typeof t)return t;var e=Ki.get(t);return e&&e.image}function Ji(t,e,i,n,a){if(t){if("string"!=typeof t)return t;if(e&&e.__zrImageSrc===t||!i)return e;var o=Ki.get(t),r={hostEl:i,cb:n,cbPayload:a};return o?tn(e=o.image)||o.pending.push(r):((e=new Image).onload=e.onerror=Qi,Ki.put(t,e.__cachedImgObj={image:e,pending:[r]}),e.src=e.__zrImageSrc=t),e}return e}function Qi(){var t=this.__cachedImgObj;this.onload=this.onerror=this.__cachedImgObj=null;for(var e=0;e<t.pending.length;e++){var i=t.pending[e],n=i.cb;n&&n(this,i.cbPayload),i.hostEl.dirty()}t.pending.length=0}function tn(t){return t&&t.width&&t.height}var en={},nn=0,an=5e3,on=/\{([a-zA-Z0-9_]+)\|([^}]*)\}/g,rn="12px sans-serif",sn={};function ln(t,e){var i=t+":"+(e=e||rn);if(en[i])return en[i];for(var n,a,o=(t+"").split("\n"),r=0,s=0,l=o.length;s<l;s++)r=Math.max((n=o[s],a=e,sn.measureText(n,a)).width,r);return an<nn&&(nn=0,en={}),nn++,en[i]=r}function un(t,e,i,n,a,o,r,s){return r?function(t,e,i,n,a,o,r,s){var l=xn(t,{rich:r,truncate:s,font:e,textAlign:i,textPadding:a,textLineHeight:o}),u=l.outerWidth,h=l.outerHeight,c=hn(0,u,i),d=cn(0,h,n);return new bi(c,d,u,h)}(t,e,i,n,a,o,r,s):function(t,e,i,n,a,o,r){var s=yn(t,e,a,o,r),l=ln(t,e);a&&(l+=a[1]+a[3]);var u=s.outerHeight,h=hn(0,l,i),c=cn(0,u,n),d=new bi(h,c,l,u);return d.lineHeight=s.lineHeight,d}(t,e,i,n,a,o,s)}function hn(t,e,i){return"right"===i?t-=e:"center"===i&&(t-=e/2),t}function cn(t,e,i){return"middle"===i?t-=e/2:"bottom"===i&&(t-=e),t}function dn(t,e,i){var n=e.textPosition,a=e.textDistance,o=i.x,r=i.y;a=a||0;var s=i.height,l=i.width,u=s/2,h="left",c="top";switch(n){case"left":o-=a,r+=u,h="right",c="middle";break;case"right":o+=a+l,r+=u,c="middle";break;case"top":o+=l/2,r-=a,h="center",c="bottom";break;case"bottom":o+=l/2,r+=s+a,h="center";break;case"inside":o+=l/2,r+=u,h="center",c="middle";break;case"insideLeft":o+=a,r+=u,c="middle";break;case"insideRight":o+=l-a,r+=u,h="right",c="middle";break;case"insideTop":o+=l/2,r+=a,h="center";break;case"insideBottom":o+=l/2,r+=s-a,h="center",c="bottom";break;case"insideTopLeft":o+=a,r+=a;break;case"insideTopRight":o+=l-a,r+=a,h="right";break;case"insideBottomLeft":o+=a,r+=s-a,c="bottom";break;case"insideBottomRight":o+=l-a,r+=s-a,h="right",c="bottom"}return(t=t||{}).x=o,t.y=r,t.textAlign=h,t.textVerticalAlign=c,t}function fn(t,e,i,n,a){if(!e)return"";var o=(t+"").split("\n");a=pn(e,i,n,a);for(var r=0,s=o.length;r<s;r++)o[r]=gn(o[r],a);return o.join("\n")}function pn(t,e,i,n){(n=L({},n)).font=e;i=H(i,"...");n.maxIterations=H(n.maxIterations,2);var a=n.minChar=H(n.minChar,0);n.cnCharWidth=ln("鍥�",e);var o=n.ascCharWidth=ln("a",e);n.placeholder=H(n.placeholder,"");for(var r=t=Math.max(0,t-1),s=0;s<a&&o<=r;s++)r-=o;var l=ln(i,e);return r<l&&(i="",l=0),r=t-l,n.ellipsis=i,n.ellipsisWidth=l,n.contentWidth=r,n.containerWidth=t,n}function gn(t,e){var i=e.containerWidth,n=e.font,a=e.contentWidth;if(!i)return"";var o=ln(t,n);if(o<=i)return t;for(var r=0;;r++){if(o<=a||r>=e.maxIterations){t+=e.ellipsis;break}var s=0===r?mn(t,a,e.ascCharWidth,e.cnCharWidth):0<o?Math.floor(t.length*a/o):0;o=ln(t=t.substr(0,s),n)}return""===t&&(t=e.placeholder),t}function mn(t,e,i,n){for(var a=0,o=0,r=t.length;o<r&&a<e;o++){var s=t.charCodeAt(o);a+=0<=s&&s<=127?i:n}return o}function vn(t){return ln("鍥�",t)}function yn(t,e,i,n,a){null!=t&&(t+="");var o=H(n,vn(e)),r=t?t.split("\n"):[],s=r.length*o,l=s,u=!0;if(i&&(l+=i[0]+i[2]),t&&a){u=!1;var h=a.outerHeight,c=a.outerWidth;if(null!=h&&h<l)t="",r=[];else if(null!=c)for(var d=pn(c-(i?i[1]+i[3]:0),e,a.ellipsis,{minChar:a.minChar,placeholder:a.placeholder}),f=0,p=r.length;f<p;f++)r[f]=gn(r[f],d)}return{lines:r,height:s,outerHeight:l,lineHeight:o,canCacheByTextString:u}}function xn(t,e){var i={lines:[],width:0,height:0};if(null!=t&&(t+=""),!t)return i;for(var n,a=on.lastIndex=0;null!=(n=on.exec(t));){var o=n.index;a<o&&_n(i,t.substring(a,o)),_n(i,n[2],n[1]),a=on.lastIndex}a<t.length&&_n(i,t.substring(a,t.length));var r=i.lines,s=0,l=0,u=[],h=e.textPadding,c=e.truncate,d=c&&c.outerWidth,f=c&&c.outerHeight;h&&(null!=d&&(d-=h[1]+h[3]),null!=f&&(f-=h[0]+h[2]));for(var p=0;p<r.length;p++){for(var g=r[p],m=0,v=0,y=0;y<g.tokens.length;y++){var x=(C=g.tokens[y]).styleName&&e.rich[C.styleName]||{},_=C.textPadding=x.textPadding,w=C.font=x.font||e.font,b=C.textHeight=H(x.textHeight,vn(w));if(_&&(b+=_[0]+_[2]),C.height=b,C.lineHeight=Z(x.textLineHeight,e.textLineHeight,b),C.textAlign=x&&x.textAlign||e.textAlign,C.textVerticalAlign=x&&x.textVerticalAlign||"middle",null!=f&&s+C.lineHeight>f)return{lines:[],width:0,height:0};C.textWidth=ln(C.text,w);var S=x.textWidth,M=null==S||"auto"===S;if("string"==typeof S&&"%"===S.charAt(S.length-1))C.percentWidth=S,u.push(C),S=0;else{if(M){S=C.textWidth;var I=x.textBackgroundColor,A=I&&I.image;A&&tn(A=$i(A))&&(S=Math.max(S,A.width*b/A.height))}var T=_?_[1]+_[3]:0;S+=T;var D=null!=d?d-v:null;null!=D&&D<S&&(!M||D<T?(C.text="",C.textWidth=S=0):(C.text=fn(C.text,D-T,w,c.ellipsis,{minChar:c.minChar}),C.textWidth=ln(C.text,w),S=C.textWidth+T))}v+=C.width=S,x&&(m=Math.max(m,C.lineHeight))}g.width=v,s+=g.lineHeight=m,l=Math.max(l,v)}i.outerWidth=i.width=H(e.textWidth,l),i.outerHeight=i.height=H(e.textHeight,s),h&&(i.outerWidth+=h[1]+h[3],i.outerHeight+=h[0]+h[2]);for(p=0;p<u.length;p++){var C,L=(C=u[p]).percentWidth;C.width=parseInt(L,10)/100*l}return i}function _n(t,e,i){for(var n=""===e,a=e.split("\n"),o=t.lines,r=0;r<a.length;r++){var s=a[r],l={styleName:i,text:s,isLineHolder:!s&&!n};if(r)o.push({tokens:[l]});else{var u=(o[o.length-1]||(o[0]={tokens:[]})).tokens,h=u.length;1===h&&u[0].isLineHolder?u[0]=l:!s&&h&&!n||u.push(l)}}}function wn(t){var e=(t.fontSize||t.fontFamily)&&[t.fontStyle,t.fontWeight,(t.fontSize||12)+"px",t.fontFamily||"sans-serif"].join(" ");return e&&j(e)||t.textFont||t.font}function bn(t,e){var i,n,a,o,r,s=e.x,l=e.y,u=e.width,h=e.height,c=e.r;u<0&&(s+=u,u=-u),h<0&&(l+=h,h=-h),"number"==typeof c?i=n=a=o=c:c instanceof Array?1===c.length?i=n=a=o=c[0]:2===c.length?(i=a=c[0],n=o=c[1]):3===c.length?(i=c[0],n=o=c[1],a=c[2]):(i=c[0],n=c[1],a=c[2],o=c[3]):i=n=a=o=0,u<i+n&&(i*=u/(r=i+n),n*=u/r),u<a+o&&(a*=u/(r=a+o),o*=u/r),h<n+a&&(n*=h/(r=n+a),a*=h/r),h<i+o&&(i*=h/(r=i+o),o*=h/r),t.moveTo(s+i,l),t.lineTo(s+u-n,l),0!==n&&t.arc(s+u-n,l+n,n,-Math.PI/2,0),t.lineTo(s+u,l+h-a),0!==a&&t.arc(s+u-a,l+h-a,a,0,Math.PI/2),t.lineTo(s+o,l+h),0!==o&&t.arc(s+o,l+h-o,o,Math.PI/2,Math.PI),t.lineTo(s,l+i),0!==i&&t.arc(s+i,l+i,i,Math.PI,1.5*Math.PI)}sn.measureText=function(t,e){var i=x();return i.font=e||rn,i.measureText(t)};var Sn=rn,Mn={left:1,right:1,center:1},In={top:1,bottom:1,middle:1},An=[["textShadowBlur","shadowBlur",0],["textShadowOffsetX","shadowOffsetX",0],["textShadowOffsetY","shadowOffsetY",0],["textShadowColor","shadowColor","transparent"]],Tn={},Dn={};function Cn(t){return Ln(t),E(t.rich,Ln),t}function Ln(t){if(t){t.font=wn(t);var e=t.textAlign;"middle"===e&&(e="center"),t.textAlign=null==e||Mn[e]?e:"left";var i=t.textVerticalAlign||t.textBaseline;"center"===i&&(i="middle"),t.textVerticalAlign=null==i||In[i]?i:"top",t.textPadding&&(t.textPadding=X(t.textPadding))}}function kn(t,e,i,n,a,o){n.rich?function(t,e,i,n,a,o){o!==zi&&(e.__attrCachedBy=Ri.NONE);var r=t.__textCotentBlock;r&&!t.__dirtyText||(r=t.__textCotentBlock=xn(i,n));!function(t,e,i,n,a){var o=i.width,r=i.outerWidth,s=i.outerHeight,l=n.textPadding,u=zn(Dn,t,n,a),h=u.baseX,c=u.baseY,d=u.textAlign,f=u.textVerticalAlign;Pn(e,n,a,h,c);var p=hn(h,r,d),g=cn(c,s,f),m=p,v=g;l&&(m+=l[3],v+=l[0]);var y=m+o;On(n)&&En(t,e,n,p,g,r,s);for(var x=0;x<i.lines.length;x++){for(var _,w=i.lines[x],b=w.tokens,S=b.length,M=w.lineHeight,I=w.width,A=0,T=m,D=y,C=S-1;A<S&&(!(_=b[A]).textAlign||"left"===_.textAlign);)Nn(t,e,_,n,M,v,T,"left"),I-=_.width,T+=_.width,A++;for(;0<=C&&"right"===(_=b[C]).textAlign;)Nn(t,e,_,n,M,v,D,"right"),I-=_.width,D-=_.width,C--;for(T+=(o-(T-m)-(y-D)-I)/2;A<=C;)_=b[A],Nn(t,e,_,n,M,v,T+_.width/2,"center"),T+=_.width,A++;v+=M}}(t,e,r,n,a)}(t,e,i,n,a,o):function(t,e,i,n,a,o){var r,s=On(n),l=!1,u=e.__attrCachedBy===Ri.PLAIN_TEXT;o!==zi?(o&&(r=o.style,l=!s&&u&&r),e.__attrCachedBy=s?Ri.NONE:Ri.PLAIN_TEXT):u&&(e.__attrCachedBy=Ri.NONE);var h=n.font||Sn;l&&h===(r.font||Sn)||(e.font=h);var c=t.__computedFont;t.__styleFont!==h&&(t.__styleFont=h,c=t.__computedFont=e.font);var d=n.textPadding,f=n.textLineHeight,p=t.__textCotentBlock;p&&!t.__dirtyText||(p=t.__textCotentBlock=yn(i,c,d,f,n.truncate));var g=p.outerHeight,m=p.lines,v=p.lineHeight,y=zn(Dn,t,n,a),x=y.baseX,_=y.baseY,w=y.textAlign||"left",b=y.textVerticalAlign;Pn(e,n,a,x,_);var S=cn(_,g,b),M=x,I=S;if(s||d){var A=ln(i,c);d&&(A+=d[1]+d[3]);var T=hn(x,A,w);s&&En(t,e,n,T,S,A,g),d&&(M=Wn(x,w,d),I+=d[0])}e.textAlign=w,e.textBaseline="middle",e.globalAlpha=n.opacity||1;for(var D=0;D<An.length;D++){var C=An[D],L=C[0],k=C[1],P=n[L];l&&P===r[L]||(e[k]=Ei(e,k,P||C[2]))}I+=v/2;var N=n.textStrokeWidth,O=l?r.textStrokeWidth:null,E=!l||N!==O,R=!l||E||n.textStroke!==r.textStroke,z=Vn(n.textStroke,N),B=Gn(n.textFill);z&&(E&&(e.lineWidth=N),R&&(e.strokeStyle=z));B&&(l&&n.textFill===r.textFill||(e.fillStyle=B));if(1===m.length)z&&e.strokeText(m[0],M,I),B&&e.fillText(m[0],M,I);else for(D=0;D<m.length;D++)z&&e.strokeText(m[D],M,I),B&&e.fillText(m[D],M,I),I+=v}(t,e,i,n,a,o)}function Pn(t,e,i,n,a){if(i&&e.textRotation){var o=e.textOrigin;"center"===o?(n=i.width/2+i.x,a=i.height/2+i.y):o&&(n=o[0]+i.x,a=o[1]+i.y),t.translate(n,a),t.rotate(-e.textRotation),t.translate(-n,-a)}}function Nn(t,e,i,n,a,o,r,s){var l=n.rich[i.styleName]||{};l.text=i.text;var u=i.textVerticalAlign,h=o+a/2;"top"===u?h=o+i.height/2:"bottom"===u&&(h=o+a-i.height/2),!i.isLineHolder&&On(l)&&En(t,e,l,"right"===s?r-i.width:"center"===s?r-i.width/2:r,h-i.height/2,i.width,i.height);var c=i.textPadding;c&&(r=Wn(r,s,c),h-=i.height/2-c[2]-i.textHeight/2),Bn(e,"shadowBlur",Z(l.textShadowBlur,n.textShadowBlur,0)),Bn(e,"shadowColor",l.textShadowColor||n.textShadowColor||"transparent"),Bn(e,"shadowOffsetX",Z(l.textShadowOffsetX,n.textShadowOffsetX,0)),Bn(e,"shadowOffsetY",Z(l.textShadowOffsetY,n.textShadowOffsetY,0)),Bn(e,"textAlign",s),Bn(e,"textBaseline","middle"),Bn(e,"font",i.font||Sn);var d=Vn(l.textStroke||n.textStroke,p),f=Gn(l.textFill||n.textFill),p=H(l.textStrokeWidth,n.textStrokeWidth);d&&(Bn(e,"lineWidth",p),Bn(e,"strokeStyle",d),e.strokeText(i.text,r,h)),f&&(Bn(e,"fillStyle",f),e.fillText(i.text,r,h))}function On(t){return!!(t.textBackgroundColor||t.textBorderWidth&&t.textBorderColor)}function En(t,e,i,n,a,o,r){var s=i.textBackgroundColor,l=i.textBorderWidth,u=i.textBorderColor,h=R(s);if(Bn(e,"shadowBlur",i.textBoxShadowBlur||0),Bn(e,"shadowColor",i.textBoxShadowColor||"transparent"),Bn(e,"shadowOffsetX",i.textBoxShadowOffsetX||0),Bn(e,"shadowOffsetY",i.textBoxShadowOffsetY||0),h||l&&u){e.beginPath();var c=i.textBorderRadius;c?bn(e,{x:n,y:a,width:o,height:r,r:c}):e.rect(n,a,o,r),e.closePath()}if(h)if(Bn(e,"fillStyle",s),null!=i.fillOpacity){var d=e.globalAlpha;e.globalAlpha=i.fillOpacity*i.opacity,e.fill(),e.globalAlpha=d}else e.fill();else if(z(s)){var f=s.image;(f=Ji(f,null,t,Rn,s))&&tn(f)&&e.drawImage(f,n,a,o,r)}if(l&&u)if(Bn(e,"lineWidth",l),Bn(e,"strokeStyle",u),null!=i.strokeOpacity){d=e.globalAlpha;e.globalAlpha=i.strokeOpacity*i.opacity,e.stroke(),e.globalAlpha=d}else e.stroke()}function Rn(t,e){e.image=t}function zn(t,e,i,n){var a=i.x||0,o=i.y||0,r=i.textAlign,s=i.textVerticalAlign;if(n){var l=i.textPosition;if(l instanceof Array)a=n.x+Fn(l[0],n.width),o=n.y+Fn(l[1],n.height);else{var u=e&&e.calculateTextPosition?e.calculateTextPosition(Tn,i,n):dn(Tn,i,n);a=u.x,o=u.y,r=r||u.textAlign,s=s||u.textVerticalAlign}var h=i.textOffset;h&&(a+=h[0],o+=h[1])}return(t=t||{}).baseX=a,t.baseY=o,t.textAlign=r,t.textVerticalAlign=s,t}function Bn(t,e,i){return t[e]=Ei(t,e,i),t[e]}function Vn(t,e){return null==t||e<=0||"transparent"===t||"none"===t?null:t.image||t.colorStops?"#000":t}function Gn(t){return null==t||"none"===t?null:t.image||t.colorStops?"#000":t}function Fn(t,e){return"string"==typeof t?0<=t.lastIndexOf("%")?parseFloat(t)/100*e:parseFloat(t):t}function Wn(t,e,i){return"right"===e?t-i[1]:"center"===e?t+i[3]/2-i[1]/2:t+i[3]}function Hn(t,e){return null!=t&&(t||e.textBackgroundColor||e.textBorderWidth&&e.textBorderColor||e.textPadding)}function Zn(){}var Un=new bi;function Xn(t){for(var e in t=t||{},pi.call(this,t),t)t.hasOwnProperty(e)&&"style"!==e&&(this[e]=t[e]);this.style=new Vi(t.style,this),this._rect=null,this.__clipPaths=null}function Yn(t){Xn.call(this,t)}Xn.prototype={constructor:Xn,type:"displayable",__dirty:!0,invisible:!(Zn.prototype={constructor:Zn,drawRectText:function(t,e){var i=this.style;e=i.textRect||e,this.__dirty&&Cn(i);var n=i.text;if(null!=n&&(n+=""),Hn(n,i)){t.save();var a=this.transform;i.transformText?this.setTransform(t):a&&(Un.copy(e),Un.applyTransform(a),e=Un),kn(this,t,n,i,e,zi),t.restore()}}}),z:0,z2:0,zlevel:0,draggable:!1,dragging:!1,silent:!1,culling:!1,cursor:"pointer",rectHover:!1,progressive:!1,incremental:!1,globalScaleRatio:1,beforeBrush:function(t){},afterBrush:function(t){},brush:function(t,e){},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);return this.getBoundingRect().contain(i[0],i[1])},dirty:function(){this.__dirty=this.__dirtyText=!0,this._rect=null,this.__zr&&this.__zr.refresh()},animateStyle:function(t){return this.animate("style",t)},attrKV:function(t,e){"style"!==t?pi.prototype.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 Vi(t,this),this.dirty(!1),this},calculateTextPosition:null},w(Xn,pi),b(Xn,Zn),Yn.prototype={constructor:Yn,type:"image",brush:function(t,e){var i=this.style,n=i.image;i.bind(t,this,e);var a=this._image=Ji(n,this._image,this,this.onload);if(a&&tn(a)){var o=i.x||0,r=i.y||0,s=i.width,l=i.height,u=a.width/a.height;if(null==s&&null!=l?s=l*u:null==l&&null!=s?l=s/u:null==s&&null==l&&(s=a.width,l=a.height),this.setTransform(t),i.sWidth&&i.sHeight){var h=i.sx||0,c=i.sy||0;t.drawImage(a,h,c,i.sWidth,i.sHeight,o,r,s,l)}else if(i.sx&&i.sy){var d=s-(h=i.sx),f=l-(c=i.sy);t.drawImage(a,h,c,d,f,o,r,s,l)}else t.drawImage(a,o,r,s,l);null!=i.text&&(this.restoreTransform(t),this.drawRectText(t,this.getBoundingRect()))}},getBoundingRect:function(){var t=this.style;return this._rect||(this._rect=new bi(t.x||0,t.y||0,t.width||0,t.height||0)),this._rect}},w(Yn,Xn);var jn=314159;function qn(t){return parseInt(t,10)}var Kn=new bi(0,0,0,0),$n=new bi(0,0,0,0);function Jn(t,e,i){this.type="canvas";var n=!t.nodeName||"CANVAS"===t.nodeName.toUpperCase();this._opts=i=L({},i||{}),this.dpr=i.devicePixelRatio||li,this._singleCanvas=n;var a=(this.root=t).style;a&&(a["-webkit-tap-highlight-color"]="transparent",a["-webkit-user-select"]=a["user-select"]=a["-webkit-touch-callout"]="none",t.innerHTML=""),this.storage=e;var o=this._zlevelList=[],r=this._layers={};if(this._layerConfig={},this._needsManuallyCompositing=!1,n){var s=t.width,l=t.height;null!=i.width&&(s=i.width),null!=i.height&&(l=i.height),this.dpr=i.devicePixelRatio||1,t.width=s*this.dpr,t.height=l*this.dpr,this._width=s,this._height=l;var u=new ji(t,this,this.dpr);u.__builtin__=!0,u.initContext(),(r[jn]=u).zlevel=jn,o.push(jn),this._domRoot=t}else{this._width=this._getSize(0),this._height=this._getSize(1);var h=this._domRoot=function(t,e){var i=document.createElement("div");return i.style.cssText=["position:relative","width:"+t+"px","height:"+e+"px","padding:0","margin:0","border-width:0"].join(";")+";",i}(this._width,this._height);t.appendChild(h)}this._hoverlayer=null,this._hoverElements=[]}Jn.prototype={constructor:Jn,getType:function(){return"canvas"},isSingleCanvas:function(){return this._singleCanvas},getViewportRoot:function(){return this._domRoot},getViewportRootOffset:function(){var t=this.getViewportRoot();if(t)return{offsetLeft:t.offsetLeft||0,offsetTop:t.offsetTop||0}},refresh:function(t){var e=this.storage.getDisplayList(!0),i=this._zlevelList;this._redrawId=Math.random(),this._paintList(e,t,this._redrawId);for(var n=0;n<i.length;n++){var a=i[n],o=this._layers[a];if(!o.__builtin__&&o.refresh){var r=0===n?this._backgroundColor:null;o.refresh(r)}}return this.refreshHover(),this},addHover:function(t,e){if(!t.__hoverMir){var i=new t.constructor({style:t.style,shape:t.shape,z:t.z,z2:t.z2,silent:t.silent});return(i.__from=t).__hoverMir=i,e&&i.setStyle(e),this._hoverElements.push(i),i}},removeHover:function(t){var e=t.__hoverMir,i=this._hoverElements,n=_(i,e);0<=n&&i.splice(n,1),t.__hoverMir=null},clearHover:function(t){for(var e=this._hoverElements,i=0;i<e.length;i++){var n=e[i].__from;n&&(n.__hoverMir=null)}e.length=0},refreshHover:function(){var t=this._hoverElements,e=t.length,i=this._hoverlayer;if(i&&i.clear(),e){ki(t,this.storage.displayableSortFunc);var n={};(i=i||(this._hoverlayer=this.getLayer(1e5))).ctx.save();for(var a=0;a<e;){var o=t[a],r=o.__from;r&&r.__zr?(a++,r.invisible||(o.transform=r.transform,o.invTransform=r.invTransform,o.__clipPaths=r.__clipPaths,this._doPaintEl(o,i,!0,n))):(t.splice(a,1),r.__hoverMir=null,e--)}i.ctx.restore()}},getHoverLayer:function(){return this.getLayer(1e5)},_paintList:function(t,e,i){if(this._redrawId===i){e=e||!1,this._updateLayerStatus(t);var n=this._doPaintList(t,e);if(this._needsManuallyCompositing&&this._compositeManually(),!n){var a=this;qi(function(){a._paintList(t,e,i)})}}},_compositeManually:function(){var e=this.getLayer(jn).ctx,i=this._domRoot.width,n=this._domRoot.height;e.clearRect(0,0,i,n),this.eachBuiltinLayer(function(t){t.virtual&&e.drawImage(t.dom,0,0,i,n)})},_doPaintList:function(t,e){for(var i=[],n=0;n<this._zlevelList.length;n++){var a=this._zlevelList[n];(s=this._layers[a]).__builtin__&&s!==this._hoverlayer&&(s.__dirty||e)&&i.push(s)}for(var o=!0,r=0;r<i.length;r++){var s,l=(s=i[r]).ctx,u={};l.save();var h=e?s.__startIndex:s.__drawIndex,c=!e&&s.incremental&&Date.now,d=c&&Date.now(),f=s.zlevel===this._zlevelList[0]?this._backgroundColor:null;if(s.__startIndex===s.__endIndex)s.clear(!1,f);else if(h===s.__startIndex){var p=t[h];p.incremental&&p.notClear&&!e||s.clear(!1,f)}-1===h&&(console.error("For some unknown reason. drawIndex is -1"),h=s.__startIndex);for(var g=h;g<s.__endIndex;g++){var m=t[g];if(this._doPaintEl(m,s,e,u),m.__dirty=m.__dirtyText=!1,c)if(15<Date.now()-d)break}s.__drawIndex=g,s.__drawIndex<s.__endIndex&&(o=!1),u.prevElClipPaths&&l.restore(),l.restore()}return v.wxa&&E(this._layers,function(t){t&&t.ctx&&t.ctx.draw&&t.ctx.draw()}),o},_doPaintEl:function(t,e,i,n){var a=e.ctx,o=t.transform;if((e.__dirty||i)&&!t.invisible&&0!==t.style.opacity&&(!o||o[0]||o[3])&&(!t.culling||!function(t,e,i){return Kn.copy(t.getBoundingRect()),t.transform&&Kn.applyTransform(t.transform),$n.width=e,$n.height=i,!Kn.intersect($n)}(t,this._width,this._height))){var r=t.__clipPaths,s=n.prevElClipPaths;s&&!function(t,e){if(t===e)return!1;if(!t||!e||t.length!==e.length)return!0;for(var i=0;i<t.length;i++)if(t[i]!==e[i])return!0;return!1}(r,s)||(s&&(a.restore(),n.prevElClipPaths=null,n.prevEl=null),r&&(a.save(),function(t,e){for(var i=0;i<t.length;i++){var n=t[i];n.setTransform(e),e.beginPath(),n.buildPath(e,n.shape),e.clip(),n.restoreTransform(e)}}(r,a),n.prevElClipPaths=r)),t.beforeBrush&&t.beforeBrush(a),t.brush(a,n.prevEl||null),(n.prevEl=t).afterBrush&&t.afterBrush(a)}},getLayer:function(t,e){this._singleCanvas&&!this._needsManuallyCompositing&&(t=jn);var i=this._layers[t];return i||((i=new ji("zr_"+t,this,this.dpr)).zlevel=t,i.__builtin__=!0,this._layerConfig[t]&&m(i,this._layerConfig[t],!0),e&&(i.virtual=e),this.insertLayer(t,i),i.initContext()),i},insertLayer:function(t,e){var i=this._layers,n=this._zlevelList,a=n.length,o=null,r=-1,s=this._domRoot;if(i[t])ci("ZLevel "+t+" has been used already");else if(function(t){return!!t&&(!!t.__builtin__||"function"==typeof t.resize&&"function"==typeof t.refresh)}(e)){if(0<a&&t>n[0]){for(r=0;r<a-1&&!(n[r]<t&&n[r+1]>t);r++);o=i[n[r]]}if(n.splice(r+1,0,t),!(i[t]=e).virtual)if(o){var l=o.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)}else ci("Layer of zlevel "+t+" is not valid")},eachLayer:function(t,e){var i,n,a=this._zlevelList;for(n=0;n<a.length;n++)i=a[n],t.call(e,this._layers[i],i)},eachBuiltinLayer:function(t,e){var i,n,a,o=this._zlevelList;for(a=0;a<o.length;a++)n=o[a],(i=this._layers[n]).__builtin__&&t.call(e,i,n)},eachOtherLayer:function(t,e){var i,n,a,o=this._zlevelList;for(a=0;a<o.length;a++)n=o[a],(i=this._layers[n]).__builtin__||t.call(e,i,n)},getLayers:function(){return this._layers},_updateLayerStatus:function(t){function e(t){n&&(n.__endIndex!==t&&(n.__dirty=!0),n.__endIndex=t)}if(this.eachBuiltinLayer(function(t,e){t.__dirty=t.__used=!1}),this._singleCanvas)for(var i=1;i<t.length;i++){if((o=t[i]).zlevel!==t[i-1].zlevel||o.incremental){this._needsManuallyCompositing=!0;break}}var n=null,a=0;for(i=0;i<t.length;i++){var o,r,s=(o=t[i]).zlevel;o.incremental?((r=this.getLayer(s+.001,this._needsManuallyCompositing)).incremental=!0,a=1):r=this.getLayer(s+(0<a?.01:0),this._needsManuallyCompositing),r.__builtin__||ci("ZLevel "+s+" has been used by unkown layer "+r.id),r!==n&&(r.__used=!0,r.__startIndex!==i&&(r.__dirty=!0),r.__startIndex=i,r.incremental?r.__drawIndex=-1:r.__drawIndex=i,e(i),n=r),o.__dirty&&(r.__dirty=!0,r.incremental&&r.__drawIndex<0&&(r.__drawIndex=i))}e(i),this.eachBuiltinLayer(function(t,e){!t.__used&&0<t.getElementCount()&&(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 i=this._layerConfig;i[t]?m(i[t],e,!0):i[t]=e;for(var n=0;n<this._zlevelList.length;n++){var a=this._zlevelList[n];if(a===t||a===t+.01)m(this._layers[a],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.splice(_(i,t),1))},resize:function(e,i){if(this._domRoot.style){var t=this._domRoot;t.style.display="none";var n=this._opts;if(null!=e&&(n.width=e),null!=i&&(n.height=i),e=this._getSize(0),i=this._getSize(1),t.style.display="",this._width!==e||i!==this._height){for(var a in t.style.width=e+"px",t.style.height=i+"px",this._layers)this._layers.hasOwnProperty(a)&&this._layers[a].resize(e,i);E(this._progressiveLayers,function(t){t.resize(e,i)}),this.refresh(!0)}this._width=e,this._height=i}else{if(null==e||null==i)return;this._width=e,this._height=i,this.getLayer(jn).resize(e,i)}return 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&&!this._compositeManually)return this._layers[jn].dom;var e=new ji("image",this,t.pixelRatio||this.dpr);if(e.initContext(),e.clear(!1,t.backgroundColor||this._backgroundColor),t.pixelRatio<=this.dpr){this.refresh();var i=e.dom.width,n=e.dom.height,a=e.ctx;this.eachLayer(function(t){t.__builtin__?a.drawImage(t.dom,0,0,i,n):t.renderToCanvas&&(e.ctx.save(),t.renderToCanvas(e.ctx),e.ctx.restore())})}else for(var o={},r=this.storage.getDisplayList(!0),s=0;s<r.length;s++){var l=r[s];this._doPaintEl(l,e,!0,o)}return e.dom},getWidth:function(){return this._width},getHeight:function(){return this._height},_getSize:function(t){var e=this._opts,i=["width","height"][t],n=["clientWidth","clientHeight"][t],a=["paddingLeft","paddingTop"][t],o=["paddingRight","paddingBottom"][t];if(null!=e[i]&&"auto"!==e[i])return parseFloat(e[i]);var r=this.root,s=document.defaultView.getComputedStyle(r);return(r[n]||qn(s[i])||qn(r.style[i]))-(qn(s[a])||0)-(qn(s[o])||0)|0},pathToImage:function(t,e){e=e||this.dpr;var i=document.createElement("canvas"),n=i.getContext("2d"),a=t.getBoundingRect(),o=t.style,r=o.shadowBlur*e,s=o.shadowOffsetX*e,l=o.shadowOffsetY*e,u=o.hasStroke()?o.lineWidth:0,h=Math.max(u/2,r-s),c=Math.max(u/2,s+r),d=Math.max(u/2,r-l),f=Math.max(u/2,l+r),p=a.width+h+c,g=a.height+d+f;i.width=p*e,i.height=g*e,n.scale(e,e),n.clearRect(0,0,p,g),n.dpr=e;var m={position:t.position,rotation:t.rotation,scale:t.scale};t.position=[h-a.x,d-a.y],t.rotation=0,t.scale=[1,1],t.updateTransform(),t&&t.brush(n);var v=new Yn({style:{x:0,y:0,image:i}});return null!=m.position&&(v.position=t.position=m.position),null!=m.rotation&&(v.rotation=t.rotation=m.rotation),null!=m.scale&&(v.scale=t.scale=m.scale),v}};function Qn(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,Ct.call(this)}Qn.prototype={constructor:Qn,addClip:function(t){this._clips.push(t)},addAnimator:function(t){t.animation=this;for(var e=t.getClips(),i=0;i<e.length;i++)this.addClip(e[i])},removeClip:function(t){var e=_(this._clips,t);0<=e&&this._clips.splice(e,1)},removeAnimator:function(t){for(var e=t.getClips(),i=0;i<e.length;i++)this.removeClip(e[i]);t.animation=null},_update:function(){for(var t=(new Date).getTime()-this._pausedTime,e=t-this._time,i=this._clips,n=i.length,a=[],o=[],r=0;r<n;r++){var s=i[r],l=s.step(t,e);l&&(a.push(l),o.push(s))}for(r=0;r<n;)i[r]._needsRemove?(i[r]=i[n-1],i.pop(),n--):r++;n=a.length;for(r=0;r<n;r++)o[r].fire(a[r]);this._time=t,this.onframe(e),this.trigger("frame",e),this.stage.update&&this.stage.update()},_startLoop:function(){var e=this;this._running=!0,qi(function t(){e._running&&(qi(t),e._paused||e._update())})},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){var i=new ri(t,(e=e||{}).loop,e.getter,e.setter);return this.addAnimator(i),i}},b(Qn,Ct);var ta=["click","dblclick","mousewheel","mouseout","mouseup","mousedown","mousemove","contextmenu"],ea=["touchstart","touchend","touchmove"],ia={pointerdown:1,pointerup:1,pointermove:1,pointerout:1},na=N(ta,function(t){var e=t.replace("mouse","pointer");return ia[e]?e:t});function aa(t){return"mousewheel"===t&&v.browser.firefox?"DOMMouseScroll":t}function oa(t){t._touching=!0,clearTimeout(t._touchTimer),t._touchTimer=setTimeout(function(){t._touching=!1},700)}var ra={mousemove:function(t){t=Vt(this.dom,t),this.trigger("mousemove",t)},mouseout:function(t){var e=(t=Vt(this.dom,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=Vt(this.dom,t)).zrByTouch=!0,this._lastTouchMoment=new Date,this.handler.processGesture(t,"start"),ra.mousemove.call(this,t),ra.mousedown.call(this,t),oa(this)},touchmove:function(t){(t=Vt(this.dom,t)).zrByTouch=!0,this.handler.processGesture(t,"change"),ra.mousemove.call(this,t),oa(this)},touchend:function(t){(t=Vt(this.dom,t)).zrByTouch=!0,this.handler.processGesture(t,"end"),ra.mouseup.call(this,t),+new Date-this._lastTouchMoment<300&&ra.click.call(this,t),oa(this)},pointerdown:function(t){ra.mousedown.call(this,t)},pointermove:function(t){sa(t)||ra.mousemove.call(this,t)},pointerup:function(t){ra.mouseup.call(this,t)},pointerout:function(t){sa(t)||ra.mouseout.call(this,t)}};function sa(t){var e=t.pointerType;return"pen"===e||"touch"===e}function la(i){function t(t,e){E(t,function(t){Gt(i,aa(t),e._handlers[t])},e)}Ct.call(this),this.dom=i,this._touching=!1,this._touchTimer,this._handlers={},function(e){E(ea,function(t){e._handlers[t]=T(ra[t],e)}),E(na,function(t){e._handlers[t]=T(ra[t],e)}),E(ta,function(t){e._handlers[t]=function(t,e){return function(){if(!e._touching)return t.apply(e,arguments)}}(ra[t],e)})}(this),v.pointerEventsSupported?t(na,this):(v.touchEventsSupported&&t(ea,this),t(ta,this))}E(["click","mousedown","mouseup","mousewheel","dblclick","contextmenu"],function(e){ra[e]=function(t){t=Vt(this.dom,t),this.trigger(e,t)}});var ua=la.prototype;ua.dispose=function(){for(var t,e,i,n=ta.concat(ea),a=0;a<n.length;a++){var o=n[a];t=this.dom,e=aa(o),i=this._handlers[o],Nt?t.removeEventListener(e,i):t.detachEvent("on"+e,i)}},ua.setCursor=function(t){this.dom.style&&(this.dom.style.cursor=t||"default")},b(la,Ct);var ha=!v.canvasSupported,ca={canvas:Jn},da={};function fa(t,e){var i=new ga(n(),t,e);return da[i.id]=i}function pa(t,e){ca[t]=e}var ga=function(t,e,i){i=i||{},this.dom=e,this.id=t;var n=this,a=new Ni,o=i.renderer;if(ha){if(!ca.vml)throw new Error("You need to require 'zrender/vml/vml' to support IE8");o="vml"}else o&&ca[o]||(o="canvas");var r=new ca[o](e,a,i,t);this.storage=a,this.painter=r;var s=v.node||v.worker?null:new la(r.getViewportRoot());this.handler=new qt(a,r,s,r.root),this.animation=new Qn({stage:{update:T(this.flush,this)}}),this.animation.start(),this._needsRefresh;var l=a.delFromStorage,u=a.addToStorage;a.delFromStorage=function(t){l.call(a,t),t&&t.removeSelfFromZr(n)},a.addToStorage=function(t){u.call(a,t),t.addSelfToZr(n)}};ga.prototype={constructor:ga,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&&this.painter.configLayer(t,e),this._needsRefresh=!0},setBackgroundColor:function(t){this.painter.setBackgroundColor&&this.painter.setBackgroundColor(t),this._needsRefresh=!0},refreshImmediately:function(){this._needsRefresh=this._needsRefreshHover=!1,this.painter.refresh(),this._needsRefresh=this._needsRefreshHover=!1},refresh:function(){this._needsRefresh=!0},flush:function(){var t;this._needsRefresh&&(t=!0,this.refreshImmediately()),this._needsRefreshHover&&(t=!0,this.refreshHoverImmediately()),t&&this.trigger("rendered")},addHover:function(t,e){if(this.painter.addHover){var i=this.painter.addHover(t,e);return this.refreshHover(),i}},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.resize(t.width,t.height),this.handler.resize()},clearAnimation:function(){this.animation.clear()},getWidth:function(){return this.painter.getWidth()},getHeight:function(){return this.painter.getHeight()},pathToImage:function(t,e){return this.painter.pathToImage(t,e)},setCursorStyle:function(t){this.handler.setCursorStyle(t)},findHover:function(t,e){return this.handler.findHover(t,e)},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.trigger(t,e)},clear:function(){this.storage.delRoot(),this.painter.clear()},dispose:function(){this.animation.stop(),this.clear(),this.storage.dispose(),this.painter.dispose(),this.handler.dispose(),this.animation=this.storage=this.painter=this.handler=null,function(t){delete da[t]}(this.id)}};var ma=(Object.freeze||Object)({version:"4.1.2",init:fa,dispose:function(t){if(t)t.dispose();else{for(var e in da)da.hasOwnProperty(e)&&da[e].dispose();da={}}return this},getInstance:function(t){return da[t]},registerPainter:pa}),va=E,ya=z,xa=k,_a="series\0";function wa(t){return t instanceof Array?t:null==t?[]:[t]}function ba(t,e,i){if(t){t[e]=t[e]||{},t.emphasis=t.emphasis||{},t.emphasis[e]=t.emphasis[e]||{};for(var n=0,a=i.length;n<a;n++){var o=i[n];!t.emphasis[e].hasOwnProperty(o)&&t[e].hasOwnProperty(o)&&(t.emphasis[e][o]=t[e][o])}}}var Sa=["fontStyle","fontWeight","fontSize","fontFamily","rich","tag","color","textBorderColor","textBorderWidth","width","height","lineHeight","align","verticalAlign","baseline","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","textShadowColor","textShadowBlur","textShadowOffsetX","textShadowOffsetY","backgroundColor","borderColor","borderWidth","borderRadius","padding"];function Ma(t){return!ya(t)||xa(t)||t instanceof Date?t:t.value}function Ia(t,a){a=(a||[]).slice();var o=N(t||[],function(t,e){return{exist:t}});return va(a,function(t,e){if(ya(t)){for(var i=0;i<o.length;i++)if(!o[i].option&&null!=t.id&&o[i].exist.id===t.id+"")return o[i].option=t,void(a[e]=null);for(i=0;i<o.length;i++){var n=o[i].exist;if(!(o[i].option||null!=n.id&&null!=t.id||null==t.name||Da(t)||Da(n)||n.name!==t.name+""))return o[i].option=t,void(a[e]=null)}}}),va(a,function(t,e){if(ya(t)){for(var i=0;i<o.length;i++){var n=o[i].exist;if(!o[i].option&&!Da(n)&&null==t.id){o[i].option=t;break}}i>=o.length&&o.push({option:t})}}),o}function Aa(t){var r=Q();va(t,function(t,e){var i=t.exist;i&&r.set(i.id,t)}),va(t,function(t,e){var i=t.option;Y(!i||null==i.id||!r.get(i.id)||r.get(i.id)===t,"id duplicates: "+(i&&i.id)),i&&null!=i.id&&r.set(i.id,t),t.keyInfo||(t.keyInfo={})}),va(t,function(t,e){var i=t.exist,n=t.option,a=t.keyInfo;if(ya(n)){if(a.name=null!=n.name?n.name+"":i?i.name:_a+e,i)a.id=i.id;else if(null!=n.id)a.id=n.id+"";else for(var o=0;a.id="\0"+a.name+"\0"+o++,r.get(a.id););r.set(a.id,t)}})}function Ta(t){var e=t.name;return!(!e||!e.indexOf(_a))}function Da(t){return ya(t)&&t.id&&0===(t.id+"").indexOf("\0_ec_\0")}function Ca(e,t){return null!=t.dataIndexInside?t.dataIndexInside:null!=t.dataIndex?k(t.dataIndex)?N(t.dataIndex,function(t){return e.indexOfRawIndex(t)}):e.indexOfRawIndex(t.dataIndex):null!=t.name?k(t.name)?N(t.name,function(t){return e.indexOfName(t)}):e.indexOfName(t.name):void 0}function La(){var e="__\0ec_inner_"+ka+++"_"+Math.random().toFixed(5);return function(t){return t[e]||(t[e]={})}}var ka=0;function Pa(s,l,u){if(R(l)){var t={};t[l+"Index"]=0,l=t}var e=u&&u.defaultMainType;!e||Na(l,e+"Index")||Na(l,e+"Id")||Na(l,e+"Name")||(l[e+"Index"]=0);var h={};return va(l,function(t,e){t=l[e];if("dataIndex"!==e&&"dataIndexInside"!==e){var i=e.match(/^(\w+)(Index|Id|Name)$/)||[],n=i[1],a=(i[2]||"").toLowerCase();if(!(!n||!a||null==t||"index"===a&&"none"===t||u&&u.includeMainTypes&&_(u.includeMainTypes,n)<0)){var o={mainType:n};"index"===a&&"all"===t||(o[a]=t);var r=s.queryComponents(o);h[n+"Models"]=r,h[n+"Model"]=r[0]}}else h[e]=t}),h}function Na(t,e){return t&&t.hasOwnProperty(e)}function Oa(t,e,i){t.setAttribute?t.setAttribute(e,i):t[e]=i}function Ea(t){return"auto"===t?v.domSupported?"html":"richText":t||"html"}function Ra(t,i){var n=Q(),a=[];return E(t,function(t){var e=i(t);(n.get(e)||(a.push(e),n.set(e,[]))).push(t)}),{keys:a,buckets:n}}var za=".",Ba="___EC__COMPONENT__CONTAINER___";function Va(t){var e={main:"",sub:""};return t&&(t=t.split(za),e.main=t[0]||"",e.sub=t[1]||""),e}function Ga(t){(t.$constructor=t).extend=function(t){function e(){t.$constructor?t.$constructor.apply(this,arguments):i.apply(this,arguments)}var i=this;return L(e.prototype,t),e.extend=this.extend,e.superCall=Ha,e.superApply=Za,w(e,this),e.superClass=i,e}}var Fa=0;function Wa(t){var e=["__\0is_clz",Fa++,Math.random().toFixed(3)].join("_");t.prototype[e]=!0,t.isInstance=function(t){return!(!t||!t[e])}}function Ha(t,e){var i=U(arguments,2);return this.superClass.prototype[e].apply(t,i)}function Za(t,e,i){return this.superClass.prototype[e].apply(t,i)}function Ua(i,t){t=t||{};var a={};if(i.registerClass=function(t,e){if(e)if(function(t){Y(/^[a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)?$/.test(t),'componentType "'+t+'" illegal')}(e),(e=Va(e)).sub){if(e.sub!==Ba){(function(t){var e=a[t.main];e&&e[Ba]||((e=a[t.main]={})[Ba]=!0);return e})(e)[e.sub]=t}}else a[e.main]=t;return t},i.getClass=function(t,e,i){var n=a[t];if(n&&n[Ba]&&(n=e?n[e]:null),i&&!n)throw new Error(e?"Component "+t+"."+(e||"")+" not exists. Load it first.":t+".type should be specified.");return n},i.getClassesByMainType=function(t){t=Va(t);var i=[],e=a[t.main];return e&&e[Ba]?E(e,function(t,e){e!==Ba&&i.push(t)}):i.push(e),i},i.hasClass=function(t){return t=Va(t),!!a[t.main]},i.getAllClassMainTypes=function(){var i=[];return E(a,function(t,e){i.push(e)}),i},i.hasSubTypes=function(t){t=Va(t);var e=a[t.main];return e&&e[Ba]},i.parseClassType=Va,t.registerWhenExtend){var n=i.extend;n&&(i.extend=function(t){var e=n.call(this,t);return i.registerClass(e,t.type)})}return i}function Xa(s){for(var t=0;t<s.length;t++)s[t][1]||(s[t][1]=s[t][0]);return function(t,e,i){for(var n={},a=0;a<s.length;a++){var o=s[a][1];if(!(e&&0<=_(e,o)||i&&_(i,o)<0)){var r=t.getShallow(o);null!=r&&(n[s[a][0]]=r)}}return n}}var Ya=Xa([["lineWidth","width"],["stroke","color"],["opacity"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"]]),ja={getLineStyle:function(t){var e=Ya(this,t);return e.lineDash=this.getLineDash(e.lineWidth),e},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&&("dashed"===e?[n,n]:[i,i])}},qa=Xa([["fill","color"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["opacity"],["shadowColor"]]),Ka={getAreaStyle:function(t,e){return qa(this,t,e)}},$a=Math.pow,Ja=Math.sqrt,Qa=1e-8,to=1e-4,eo=Ja(3),io=1/3,no=at(),ao=at(),oo=at();function ro(t){return-Qa<t&&t<Qa}function so(t){return Qa<t||t<-Qa}function lo(t,e,i,n,a){var o=1-a;return o*o*(o*t+3*a*e)+a*a*(a*n+3*o*i)}function uo(t,e,i,n,a){var o=1-a;return 3*(((e-t)*o+2*(i-e)*a)*o+(n-i)*a*a)}function ho(t,e,i,n,a){var o=6*i-12*e+6*t,r=9*e+3*n-3*t-9*i,s=3*e-3*t,l=0;if(ro(r)){if(so(o))0<=(h=-s/o)&&h<=1&&(a[l++]=h)}else{var u=o*o-4*r*s;if(ro(u))a[0]=-o/(2*r);else if(0<u){var h,c=Ja(u),d=(-o-c)/(2*r);0<=(h=(-o+c)/(2*r))&&h<=1&&(a[l++]=h),0<=d&&d<=1&&(a[l++]=d)}}return l}function co(t,e,i,n,a,o){var r=(e-t)*a+t,s=(i-e)*a+e,l=(n-i)*a+i,u=(s-r)*a+r,h=(l-s)*a+s,c=(h-u)*a+u;o[0]=t,o[1]=r,o[2]=u,o[3]=c,o[4]=c,o[5]=h,o[6]=l,o[7]=n}function fo(t,e,i,n){var a=1-n;return a*(a*t+2*n*e)+n*n*i}function po(t,e,i,n){return 2*((1-n)*(e-t)+n*(i-e))}function go(t,e,i){var n=t+i-2*e;return 0==n?.5:(t-e)/n}function mo(t,e,i,n,a){var o=(e-t)*n+t,r=(i-e)*n+e,s=(r-o)*n+o;a[0]=t,a[1]=o,a[2]=s,a[3]=s,a[4]=r,a[5]=i}var vo=Math.min,yo=Math.max,xo=Math.sin,_o=Math.cos,wo=2*Math.PI,bo=at(),So=at(),Mo=at();function Io(t,e,i){if(0!==t.length){var n,a=t[0],o=a[0],r=a[0],s=a[1],l=a[1];for(n=1;n<t.length;n++)a=t[n],o=vo(o,a[0]),r=yo(r,a[0]),s=vo(s,a[1]),l=yo(l,a[1]);e[0]=o,e[1]=s,i[0]=r,i[1]=l}}function Ao(t,e,i,n,a,o){a[0]=vo(t,i),a[1]=vo(e,n),o[0]=yo(t,i),o[1]=yo(e,n)}var To=[],Do=[];function Co(t,e,i,n,a,o,r,s,l,u){var h,c=ho,d=lo,f=c(t,i,a,r,To);for(l[0]=1/0,l[1]=1/0,u[0]=-1/0,u[1]=-1/0,h=0;h<f;h++){var p=d(t,i,a,r,To[h]);l[0]=vo(p,l[0]),u[0]=yo(p,u[0])}for(f=c(e,n,o,s,Do),h=0;h<f;h++){var g=d(e,n,o,s,Do[h]);l[1]=vo(g,l[1]),u[1]=yo(g,u[1])}l[0]=vo(t,l[0]),u[0]=yo(t,u[0]),l[0]=vo(r,l[0]),u[0]=yo(r,u[0]),l[1]=vo(e,l[1]),u[1]=yo(e,u[1]),l[1]=vo(s,l[1]),u[1]=yo(s,u[1])}function Lo(t,e,i,n,a,o,r,s,l){var u=St,h=Mt,c=Math.abs(a-o);if(c%wo<1e-4&&1e-4<c)return s[0]=t-i,s[1]=e-n,l[0]=t+i,void(l[1]=e+n);if(bo[0]=_o(a)*i+t,bo[1]=xo(a)*n+e,So[0]=_o(o)*i+t,So[1]=xo(o)*n+e,u(s,bo,So),h(l,bo,So),(a%=wo)<0&&(a+=wo),(o%=wo)<0&&(o+=wo),o<a&&!r?o+=wo:a<o&&r&&(a+=wo),r){var d=o;o=a,a=d}for(var f=0;f<o;f+=Math.PI/2)a<f&&(Mo[0]=_o(f)*i+t,Mo[1]=xo(f)*n+e,u(s,Mo,s),h(l,Mo,l))}var ko={M:1,L:2,C:3,Q:4,A:5,Z:6,R:7},Po=[],No=[],Oo=[],Eo=[],Ro=Math.min,zo=Math.max,Bo=Math.cos,Vo=Math.sin,Go=Math.sqrt,Fo=Math.abs,Wo="undefined"!=typeof Float32Array,Ho=function(t){this._saveData=!t,this._saveData&&(this.data=[]),this._ctx=null};function Zo(t,e,i,n,a,o,r){if(0===a)return!1;var s=a,l=0;if(e+s<r&&n+s<r||r<e-s&&r<n-s||t+s<o&&i+s<o||o<t-s&&o<i-s)return!1;if(t===i)return Math.abs(o-t)<=s/2;var u=(l=(e-n)/(t-i))*o-r+(t*n-i*e)/(t-i);return u*u/(l*l+1)<=s/2*s/2}function Uo(t,e,i,n,a,o,r,s,l,u,h){if(0===l)return!1;var c=l;return!(e+c<h&&n+c<h&&o+c<h&&s+c<h||h<e-c&&h<n-c&&h<o-c&&h<s-c||t+c<u&&i+c<u&&a+c<u&&r+c<u||u<t-c&&u<i-c&&u<a-c&&u<r-c)&&function(t,e,i,n,a,o,r,s,l,u,h){var c,d,f,p,g,m=.005,v=1/0;no[0]=l,no[1]=u;for(var y=0;y<1;y+=.05)ao[0]=lo(t,i,a,r,y),ao[1]=lo(e,n,o,s,y),(p=_t(no,ao))<v&&(c=y,v=p);v=1/0;for(var x=0;x<32&&!(m<to);x++)d=c-m,f=c+m,ao[0]=lo(t,i,a,r,d),ao[1]=lo(e,n,o,s,d),p=_t(ao,no),0<=d&&p<v?(c=d,v=p):(oo[0]=lo(t,i,a,r,f),oo[1]=lo(e,n,o,s,f),g=_t(oo,no),f<=1&&g<v?(c=f,v=g):m*=.5);return h&&(h[0]=lo(t,i,a,r,c),h[1]=lo(e,n,o,s,c)),Ja(v)}(t,e,i,n,a,o,r,s,u,h,null)<=c/2}function Xo(t,e,i,n,a,o,r,s,l){if(0===r)return!1;var u=r;return!(e+u<l&&n+u<l&&o+u<l||l<e-u&&l<n-u&&l<o-u||t+u<s&&i+u<s&&a+u<s||s<t-u&&s<i-u&&s<a-u)&&function(t,e,i,n,a,o,r,s,l){var u,h=.005,c=1/0;no[0]=r,no[1]=s;for(var d=0;d<1;d+=.05){ao[0]=fo(t,i,a,d),ao[1]=fo(e,n,o,d),(m=_t(no,ao))<c&&(u=d,c=m)}c=1/0;for(var f=0;f<32&&!(h<to);f++){var p=u-h,g=u+h;ao[0]=fo(t,i,a,p),ao[1]=fo(e,n,o,p);var m=_t(ao,no);if(0<=p&&m<c)u=p,c=m;else{oo[0]=fo(t,i,a,g),oo[1]=fo(e,n,o,g);var v=_t(oo,no);g<=1&&v<c?(u=g,c=v):h*=.5}}return l&&(l[0]=fo(t,i,a,u),l[1]=fo(e,n,o,u)),Ja(c)}(t,e,i,n,a,o,s,l,null)<=u/2}Ho.prototype={constructor:Ho,_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,i){i=i||0,this._ux=Fo(i/li/t)||0,this._uy=Fo(i/li/e)||0},getContext:function(){return this._ctx},beginPath:function(t){return(this._ctx=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(ko.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=Fo(t-this._xi)>this._ux||Fo(e-this._yi)>this._uy||this._len<5;return this.addData(ko.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,a,o){return this.addData(ko.C,t,e,i,n,a,o),this._ctx&&(this._needsDash()?this._dashedBezierTo(t,e,i,n,a,o):this._ctx.bezierCurveTo(t,e,i,n,a,o)),this._xi=a,this._yi=o,this},quadraticCurveTo:function(t,e,i,n){return this.addData(ko.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,a,o){return this.addData(ko.A,t,e,i,i,n,a-n,0,o?0:1),this._ctx&&this._ctx.arc(t,e,i,n,a,o),this._xi=Bo(a)*i+t,this._yi=Vo(a)*i+e,this},arcTo:function(t,e,i,n,a){return this._ctx&&this._ctx.arcTo(t,e,i,n,a),this},rect:function(t,e,i,n){return this._ctx&&this._ctx.rect(t,e,i,n),this.addData(ko.R,t,e,i,n),this},closePath:function(){this.addData(ko.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.stroke(),this.toStatic()},setLineDash:function(t){if(t instanceof Array){this._lineDash=t;for(var e=this._dashIdx=0,i=0;i<t.length;i++)e+=t[i];this._dashSum=e}return this},setLineDashOffset:function(t){return this._dashOffset=t,this},len:function(){return this._len},setData:function(t){var e=t.length;this.data&&this.data.length===e||!Wo||(this.data=new Float32Array(e));for(var i=0;i<e;i++)this.data[i]=t[i];this._len=e},appendPath:function(t){t instanceof Array||(t=[t]);for(var e=t.length,i=0,n=this._len,a=0;a<e;a++)i+=t[a].len();Wo&&this.data instanceof Float32Array&&(this.data=new Float32Array(n+i));for(a=0;a<e;a++)for(var o=t[a].data,r=0;r<o.length;r++)this.data[n++]=o[r];this._len=n},addData:function(t){if(this._saveData){var e=this.data;this._len+arguments.length>e.length&&(this._expandData(),e=this.data);for(var i=0;i<arguments.length;i++)e[this._len++]=arguments[i];this._prevCmd=t}},_expandData:function(){if(!(this.data instanceof Array)){for(var t=[],e=0;e<this._len;e++)t[e]=this.data[e];this.data=t}},_needsDash:function(){return this._lineDash},_dashedLineTo:function(t,e){var i,n,a=this._dashSum,o=this._dashOffset,r=this._lineDash,s=this._ctx,l=this._xi,u=this._yi,h=t-l,c=e-u,d=Go(h*h+c*c),f=l,p=u,g=r.length;for(o<0&&(o=a+o),f-=(o%=a)*(h/=d),p-=o*(c/=d);0<h&&f<=t||h<0&&t<=f||0===h&&(0<c&&p<=e||c<0&&e<=p);)f+=h*(i=r[n=this._dashIdx]),p+=c*i,this._dashIdx=(n+1)%g,0<h&&f<l||h<0&&l<f||0<c&&p<u||c<0&&u<p||s[n%2?"moveTo":"lineTo"](0<=h?Ro(f,t):zo(f,t),0<=c?Ro(p,e):zo(p,e));h=f-t,c=p-e,this._dashOffset=-Go(h*h+c*c)},_dashedBezierTo:function(t,e,i,n,a,o){var r,s,l,u,h,c=this._dashSum,d=this._dashOffset,f=this._lineDash,p=this._ctx,g=this._xi,m=this._yi,v=lo,y=0,x=this._dashIdx,_=f.length,w=0;for(d<0&&(d=c+d),d%=c,r=0;r<1;r+=.1)s=v(g,t,i,a,r+.1)-v(g,t,i,a,r),l=v(m,e,n,o,r+.1)-v(m,e,n,o,r),y+=Go(s*s+l*l);for(;x<_&&!(d<(w+=f[x]));x++);for(r=(w-d)/y;r<=1;)u=v(g,t,i,a,r),h=v(m,e,n,o,r),x%2?p.moveTo(u,h):p.lineTo(u,h),r+=f[x]/y,x=(x+1)%_;x%2!=0&&p.lineTo(a,o),s=a-u,l=o-h,this._dashOffset=-Go(s*s+l*l)},_dashedQuadraticTo:function(t,e,i,n){var a=i,o=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,a,o)},toStatic:function(){var t=this.data;t instanceof Array&&(t.length=this._len,Wo&&(this.data=new Float32Array(t)))},getBoundingRect:function(){Po[0]=Po[1]=Oo[0]=Oo[1]=Number.MAX_VALUE,No[0]=No[1]=Eo[0]=Eo[1]=-Number.MAX_VALUE;for(var t,e,i,n,a,o,r,s,l,u,h,c,d,f,p=this.data,g=0,m=0,v=0,y=0,x=0;x<p.length;){var _=p[x++];switch(1===x&&(v=g=p[x],y=m=p[x+1]),_){case ko.M:g=v=p[x++],m=y=p[x++],Oo[0]=v,Oo[1]=y,Eo[0]=v,Eo[1]=y;break;case ko.L:Ao(g,m,p[x],p[x+1],Oo,Eo),g=p[x++],m=p[x++];break;case ko.C:Co(g,m,p[x++],p[x++],p[x++],p[x++],p[x],p[x+1],Oo,Eo),g=p[x++],m=p[x++];break;case ko.Q:t=g,e=m,i=p[x++],n=p[x++],a=p[x],o=p[x+1],r=Oo,s=Eo,u=l=void 0,u=fo,h=yo(vo((l=go)(t,i,a),1),0),c=yo(vo(l(e,n,o),1),0),d=u(t,i,a,h),f=u(e,n,o,c),r[0]=vo(t,a,d),r[1]=vo(e,o,f),s[0]=yo(t,a,d),s[1]=yo(e,o,f),g=p[x++],m=p[x++];break;case ko.A:var w=p[x++],b=p[x++],S=p[x++],M=p[x++],I=p[x++],A=p[x++]+I;x+=1;var T=1-p[x++];1===x&&(v=Bo(I)*S+w,y=Vo(I)*M+b),Lo(w,b,S,M,I,A,T,Oo,Eo),g=Bo(A)*S+w,m=Vo(A)*M+b;break;case ko.R:Ao(v=g=p[x++],y=m=p[x++],v+p[x++],y+p[x++],Oo,Eo);break;case ko.Z:g=v,m=y}St(Po,Po,Oo),Mt(No,No,Eo)}return 0===x&&(Po[0]=Po[1]=No[0]=No[1]=0),new bi(Po[0],Po[1],No[0]-Po[0],No[1]-Po[1])},rebuildPath:function(t){for(var e,i,n,a,o,r,s=this.data,l=this._ux,u=this._uy,h=this._len,c=0;c<h;){var d=s[c++];switch(1===c&&(e=n=s[c],i=a=s[c+1]),d){case ko.M:e=n=s[c++],i=a=s[c++],t.moveTo(n,a);break;case ko.L:o=s[c++],r=s[c++],(Fo(o-n)>l||Fo(r-a)>u||c===h-1)&&(t.lineTo(o,r),n=o,a=r);break;case ko.C:t.bezierCurveTo(s[c++],s[c++],s[c++],s[c++],s[c++],s[c++]),n=s[c-2],a=s[c-1];break;case ko.Q:t.quadraticCurveTo(s[c++],s[c++],s[c++],s[c++]),n=s[c-2],a=s[c-1];break;case ko.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=m<g?g:m,b=m<g?1:g/m,S=m<g?m/g:1,M=v+y;.001<Math.abs(g-m)?(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=Bo(v)*g+f,i=Vo(v)*m+p),n=Bo(M)*g+f,a=Vo(M)*m+p;break;case ko.R:e=n=s[c],i=a=s[c+1],t.rect(s[c++],s[c++],s[c++],s[c++]);break;case ko.Z:t.closePath(),n=e,a=i}}}},Ho.CMD=ko;var Yo=2*Math.PI;function jo(t){return(t%=Yo)<0&&(t+=Yo),t}var qo=2*Math.PI;function Ko(t,e,i,n,a,o,r,s,l){if(0===r)return!1;var u=r;s-=t,l-=e;var h=Math.sqrt(s*s+l*l);if(i<h-u||h+u<i)return!1;if(Math.abs(n-a)%qo<1e-4)return!0;if(o){var c=n;n=jo(a),a=jo(c)}else n=jo(n),a=jo(a);a<n&&(a+=qo);var d=Math.atan2(l,s);return d<0&&(d+=qo),n<=d&&d<=a||n<=d+qo&&d+qo<=a}function $o(t,e,i,n,a,o){if(e<o&&n<o||o<e&&o<n)return 0;if(n===e)return 0;var r=n<e?1:-1,s=(o-e)/(n-e);1!=s&&0!=s||(r=n<e?.5:-.5);var l=s*(i-t)+t;return l===a?1/0:a<l?r:0}var Jo=Ho.CMD,Qo=2*Math.PI,tr=1e-4;var er=[-1,-1,-1],ir=[-1,-1];function nr(t,e,i,n,a,o,r,s,l,u){if(e<u&&n<u&&o<u&&s<u||u<e&&u<n&&u<o&&u<s)return 0;var h,c=function(t,e,i,n,a,o){var r=n+3*(e-i)-t,s=3*(i-2*e+t),l=3*(e-t),u=t-a,h=s*s-3*r*l,c=s*l-9*r*u,d=l*l-3*s*u,f=0;if(ro(h)&&ro(c)){if(ro(s))o[0]=0;else 0<=(M=-l/s)&&M<=1&&(o[f++]=M)}else{var p=c*c-4*h*d;if(ro(p)){var g=c/h,m=-g/2;0<=(M=-s/r+g)&&M<=1&&(o[f++]=M),0<=m&&m<=1&&(o[f++]=m)}else if(0<p){var v=Ja(p),y=h*s+1.5*r*(-c+v),x=h*s+1.5*r*(-c-v);0<=(M=(-s-((y=y<0?-$a(-y,io):$a(y,io))+(x=x<0?-$a(-x,io):$a(x,io))))/(3*r))&&M<=1&&(o[f++]=M)}else{var _=(2*h*s-3*r*c)/(2*Ja(h*h*h)),w=Math.acos(_)/3,b=Ja(h),S=Math.cos(w),M=(-s-2*b*S)/(3*r),I=(m=(-s+b*(S+eo*Math.sin(w)))/(3*r),(-s+b*(S-eo*Math.sin(w)))/(3*r));0<=M&&M<=1&&(o[f++]=M),0<=m&&m<=1&&(o[f++]=m),0<=I&&I<=1&&(o[f++]=I)}}return f}(e,n,o,s,u,er);if(0===c)return 0;for(var d,f,p=0,g=-1,m=0;m<c;m++){var v=er[m],y=0===v||1===v?.5:1;lo(t,i,a,r,v)<l||(g<0&&(g=ho(e,n,o,s,ir),ir[1]<ir[0]&&1<g&&(void 0,h=ir[0],ir[0]=ir[1],ir[1]=h),d=lo(e,n,o,s,ir[0]),1<g&&(f=lo(e,n,o,s,ir[1]))),2===g?v<ir[0]?p+=d<e?y:-y:v<ir[1]?p+=f<d?y:-y:p+=s<f?y:-y:v<ir[0]?p+=d<e?y:-y:p+=s<d?y:-y)}return p}function ar(t,e,i,n,a,o,r,s){if(e<s&&n<s&&o<s||s<e&&s<n&&s<o)return 0;var l=function(t,e,i,n,a){var o=t-2*e+i,r=2*(e-t),s=t-n,l=0;if(ro(o)){if(so(r))0<=(h=-s/r)&&h<=1&&(a[l++]=h)}else{var u=r*r-4*o*s;if(ro(u))0<=(h=-r/(2*o))&&h<=1&&(a[l++]=h);else if(0<u){var h,c=Ja(u),d=(-r-c)/(2*o);0<=(h=(-r+c)/(2*o))&&h<=1&&(a[l++]=h),0<=d&&d<=1&&(a[l++]=d)}}return l}(e,n,o,s,er);if(0===l)return 0;var u=go(e,n,o);if(0<=u&&u<=1){for(var h=0,c=fo(e,n,o,u),d=0;d<l;d++){var f=0===er[d]||1===er[d]?.5:1;fo(t,i,a,er[d])<r||(er[d]<u?h+=c<e?f:-f:h+=o<c?f:-f)}return h}f=0===er[0]||1===er[0]?.5:1;return fo(t,i,a,er[0])<r?0:o<e?f:-f}function or(t,e,i,n,a,o,r,s){if(i<(s-=e)||s<-i)return 0;var l=Math.sqrt(i*i-s*s);er[0]=-l,er[1]=l;var u=Math.abs(n-a);if(u<1e-4)return 0;if(u%Qo<1e-4){a=Qo;var h=o?1:-1;return r>=er[n=0]+t&&r<=er[1]+t?h:0}if(o){l=n;n=jo(a),a=jo(l)}else n=jo(n),a=jo(a);a<n&&(a+=Qo);for(var c=0,d=0;d<2;d++){var f=er[d];if(r<f+t){var p=Math.atan2(s,f);h=o?1:-1;p<0&&(p=Qo+p),(n<=p&&p<=a||n<=p+Qo&&p+Qo<=a)&&(p>Math.PI/2&&p<1.5*Math.PI&&(h=-h),c+=h)}}return c}function rr(t,e,i,n,a){for(var o=0,r=0,s=0,l=0,u=0,h=0;h<t.length;){var c=t[h++];switch(c===Jo.M&&1<h&&(i||(o+=$o(r,s,l,u,n,a))),1===h&&(l=r=t[h],u=s=t[h+1]),c){case Jo.M:r=l=t[h++],s=u=t[h++];break;case Jo.L:if(i){if(Zo(r,s,t[h],t[h+1],e,n,a))return!0}else o+=$o(r,s,t[h],t[h+1],n,a)||0;r=t[h++],s=t[h++];break;case Jo.C:if(i){if(Uo(r,s,t[h++],t[h++],t[h++],t[h++],t[h],t[h+1],e,n,a))return!0}else o+=nr(r,s,t[h++],t[h++],t[h++],t[h++],t[h],t[h+1],n,a)||0;r=t[h++],s=t[h++];break;case Jo.Q:if(i){if(Xo(r,s,t[h++],t[h++],t[h],t[h+1],e,n,a))return!0}else o+=ar(r,s,t[h++],t[h++],t[h],t[h+1],n,a)||0;r=t[h++],s=t[h++];break;case Jo.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;1<h?o+=$o(r,s,x,_,n,a):(l=x,u=_);var w=(n-d)*g/p+d;if(i){if(Ko(d,f,g,m,m+v,y,e,w,a))return!0}else o+=or(d,f,g,m,m+v,y,w,a);r=Math.cos(m+v)*p+d,s=Math.sin(m+v)*g+f;break;case Jo.R:l=r=t[h++],u=s=t[h++];x=l+t[h++],_=u+t[h++];if(i){if(Zo(l,u,x,u,e,n,a)||Zo(x,u,x,_,e,n,a)||Zo(x,_,l,_,e,n,a)||Zo(l,_,l,u,e,n,a))return!0}else o+=$o(x,u,x,_,n,a),o+=$o(l,_,l,u,n,a);break;case Jo.Z:if(i){if(Zo(r,s,l,u,e,n,a))return!0}else o+=$o(r,s,l,u,n,a);r=l,s=u}}return i||function(t,e){return Math.abs(t-e)<tr}(s,u)||(o+=$o(r,s,l,u,n,a)||0),0!==o}var sr=Ui.prototype.getCanvasPattern,lr=Math.abs,ur=new Ho(!0);function hr(t){Xn.call(this,t),this.path=null}hr.prototype={constructor:hr,type:"path",__dirtyPath:!0,strokeContainThreshold:5,segmentIgnoreThreshold:0,subPixelOptimize:!1,brush:function(t,e){var i,n=this.style,a=this.path||ur,o=n.hasStroke(),r=n.hasFill(),s=n.fill,l=n.stroke,u=r&&!!s.colorStops,h=o&&!!l.colorStops,c=r&&!!s.image,d=o&&!!l.image;n.bind(t,this,e),this.setTransform(t),this.__dirty&&(u&&(i=i||this.getBoundingRect(),this._fillGradient=n.getGradient(t,s,i)),h&&(i=i||this.getBoundingRect(),this._strokeGradient=n.getGradient(t,l,i)));u?t.fillStyle=this._fillGradient:c&&(t.fillStyle=sr.call(s,t)),h?t.strokeStyle=this._strokeGradient:d&&(t.strokeStyle=sr.call(l,t));var f=n.lineDash,p=n.lineDashOffset,g=!!t.setLineDash,m=this.getGlobalScale();if(a.setScale(m[0],m[1],this.segmentIgnoreThreshold),this.__dirtyPath||f&&!g&&o?(a.beginPath(t),f&&!g&&(a.setLineDash(f),a.setLineDashOffset(p)),this.buildPath(a,this.shape,!1),this.path&&(this.__dirtyPath=!1)):(t.beginPath(),this.path.rebuildPath(t)),r)if(null!=n.fillOpacity){var v=t.globalAlpha;t.globalAlpha=n.fillOpacity*n.opacity,a.fill(t),t.globalAlpha=v}else a.fill(t);if(f&&g&&(t.setLineDash(f),t.lineDashOffset=p),o)if(null!=n.strokeOpacity){v=t.globalAlpha;t.globalAlpha=n.strokeOpacity*n.opacity,a.stroke(t),t.globalAlpha=v}else a.stroke(t);f&&g&&t.setLineDash([]),null!=n.text&&(this.restoreTransform(t),this.drawRectText(t,this.getBoundingRect()))},buildPath:function(t,e,i){},createPathProxy:function(){this.path=new Ho},getBoundingRect:function(){var t=this._rect,e=this.style,i=!t;if(i){var n=this.path;n=n||(this.path=new Ho),this.__dirtyPath&&(n.beginPath(),this.buildPath(n,this.shape,!1)),t=n.getBoundingRect()}if(this._rect=t,e.hasStroke()){var a=this._rectWithStroke||(this._rectWithStroke=t.clone());if(this.__dirty||i){a.copy(t);var o=e.lineWidth,r=e.strokeNoScale?this.getLineScale():1;e.hasFill()||(o=Math.max(o,this.strokeContainThreshold||4)),1e-10<r&&(a.width+=o/r,a.height+=o/r,a.x-=o/r/2,a.y-=o/r/2)}return a}return t},contain:function(t,e){var i=this.transformCoordToLocal(t,e),n=this.getBoundingRect(),a=this.style;if(t=i[0],e=i[1],n.contain(t,e)){var o=this.path.data;if(a.hasStroke()){var r=a.lineWidth,s=a.strokeNoScale?this.getLineScale():1;if(1e-10<s&&(a.hasFill()||(r=Math.max(r,this.strokeContainThreshold)),function(t,e,i,n){return rr(t,e,!0,i,n)}(o,r/s,t,e)))return!0}if(a.hasFill())return function(t,e,i){return rr(t,0,!1,e,i)}(o,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):Xn.prototype.attrKV.call(this,t,e)},setShape:function(t,e){var i=this.shape;if(i){if(z(t))for(var n in t)t.hasOwnProperty(n)&&(i[n]=t[n]);else i[t]=e;this.dirty(!0)}return this},getLineScale:function(){var t=this.transform;return t&&1e-10<lr(t[0]-1)&&1e-10<lr(t[3]-1)?Math.sqrt(lr(t[0]*t[3]-t[2]*t[1])):1}},hr.extend=function(a){function t(t){hr.call(this,t),a.style&&this.style.extendFrom(a.style,!1);var e=a.shape;if(e){this.shape=this.shape||{};var i=this.shape;for(var n in e)!i.hasOwnProperty(n)&&e.hasOwnProperty(n)&&(i[n]=e[n])}a.init&&a.init.call(this,t)}for(var e in w(t,hr),a)"style"!==e&&"shape"!==e&&(t.prototype[e]=a[e]);return t},w(hr,Xn);function cr(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}var dr=Ho.CMD,fr=[[],[],[]],pr=Math.sqrt,gr=Math.atan2,mr=function(t,e){var i,n,a,o,r,s=t.data,l=dr.M,u=dr.C,h=dr.L,c=dr.R,d=dr.A,f=dr.Q;for(o=a=0;a<s.length;){switch(i=s[a++],o=a,n=0,i){case l:case h:n=1;break;case u:n=3;break;case f:n=2;break;case d:var p=e[4],g=e[5],m=pr(e[0]*e[0]+e[1]*e[1]),v=pr(e[2]*e[2]+e[3]*e[3]),y=gr(-e[1]/v,e[0]/m);s[a]*=m,s[a++]+=p,s[a]*=v,s[a++]+=g,s[a++]*=m,s[a++]*=v,s[a++]+=y,s[a++]+=y,o=a+=2;break;case c:x[0]=s[a++],x[1]=s[a++],bt(x,x,e),s[o++]=x[0],s[o++]=x[1],x[0]+=s[a++],x[1]+=s[a++],bt(x,x,e),s[o++]=x[0],s[o++]=x[1]}for(r=0;r<n;r++){var x;(x=fr[r])[0]=s[a++],x[1]=s[a++],bt(x,x,e),s[o++]=x[0],s[o++]=x[1]}}},vr=Math.sqrt,yr=Math.sin,xr=Math.cos,_r=Math.PI,wr=function(t,e){return(t[0]*e[0]+t[1]*e[1])/(cr(t)*cr(e))},br=function(t,e){return(t[0]*e[1]<t[1]*e[0]?-1:1)*Math.acos(wr(t,e))};function Sr(t,e,i,n,a,o,r,s,l,u,h){var c=l*(_r/180),d=xr(c)*(t-i)/2+yr(c)*(e-n)/2,f=-1*yr(c)*(t-i)/2+xr(c)*(e-n)/2,p=d*d/(r*r)+f*f/(s*s);1<p&&(r*=vr(p),s*=vr(p));var g=(a===o?-1:1)*vr((r*r*(s*s)-r*r*(f*f)-s*s*(d*d))/(r*r*(f*f)+s*s*(d*d)))||0,m=g*r*f/s,v=g*-s*d/r,y=(t+i)/2+xr(c)*m-yr(c)*v,x=(e+n)/2+yr(c)*m+xr(c)*v,_=br([1,0],[(d-m)/r,(f-v)/s]),w=[(d-m)/r,(f-v)/s],b=[(-1*d-m)/r,(-1*f-v)/s],S=br(w,b);wr(w,b)<=-1&&(S=_r),1<=wr(w,b)&&(S=0),0===o&&0<S&&(S-=2*_r),1===o&&S<0&&(S+=2*_r),h.addData(u,y,x,r,s,_,S,c,o)}var Mr=/([mlvhzcqtsa])([^mlvhzcqtsa]*)/gi,Ir=/-?([0-9]*\.)?[0-9]+([eE]-?[0-9]+)?/g;function Ar(t,e){var i=function(t){if(!t)return new Ho;for(var e,i=0,n=0,a=i,o=n,r=new Ho,s=Ho.CMD,l=t.match(Mr),u=0;u<l.length;u++){for(var h,c=l[u],d=c.charAt(0),f=c.match(Ir)||[],p=f.length,g=0;g<p;g++)f[g]=parseFloat(f[g]);for(var m=0;m<p;){var v,y,x,_,w,b,S,M=i,I=n;switch(d){case"l":i+=f[m++],n+=f[m++],h=s.L,r.addData(h,i,n);break;case"L":i=f[m++],n=f[m++],h=s.L,r.addData(h,i,n);break;case"m":i+=f[m++],n+=f[m++],h=s.M,r.addData(h,i,n),a=i,o=n,d="l";break;case"M":i=f[m++],n=f[m++],h=s.M,r.addData(h,i,n),a=i,o=n,d="L";break;case"h":i+=f[m++],h=s.L,r.addData(h,i,n);break;case"H":i=f[m++],h=s.L,r.addData(h,i,n);break;case"v":n+=f[m++],h=s.L,r.addData(h,i,n);break;case"V":n=f[m++],h=s.L,r.addData(h,i,n);break;case"C":h=s.C,r.addData(h,f[m++],f[m++],f[m++],f[m++],f[m++],f[m++]),i=f[m-2],n=f[m-1];break;case"c":h=s.C,r.addData(h,f[m++]+i,f[m++]+n,f[m++]+i,f[m++]+n,f[m++]+i,f[m++]+n),i+=f[m-2],n+=f[m-1];break;case"S":v=i,y=n;var A=r.len(),T=r.data;e===s.C&&(v+=i-T[A-4],y+=n-T[A-3]),h=s.C,M=f[m++],I=f[m++],i=f[m++],n=f[m++],r.addData(h,v,y,M,I,i,n);break;case"s":v=i,y=n;A=r.len(),T=r.data;e===s.C&&(v+=i-T[A-4],y+=n-T[A-3]),h=s.C,M=i+f[m++],I=n+f[m++],i+=f[m++],n+=f[m++],r.addData(h,v,y,M,I,i,n);break;case"Q":M=f[m++],I=f[m++],i=f[m++],n=f[m++],h=s.Q,r.addData(h,M,I,i,n);break;case"q":M=f[m++]+i,I=f[m++]+n,i+=f[m++],n+=f[m++],h=s.Q,r.addData(h,M,I,i,n);break;case"T":v=i,y=n;A=r.len(),T=r.data;e===s.Q&&(v+=i-T[A-4],y+=n-T[A-3]),i=f[m++],n=f[m++],h=s.Q,r.addData(h,v,y,i,n);break;case"t":v=i,y=n;A=r.len(),T=r.data;e===s.Q&&(v+=i-T[A-4],y+=n-T[A-3]),i+=f[m++],n+=f[m++],h=s.Q,r.addData(h,v,y,i,n);break;case"A":x=f[m++],_=f[m++],w=f[m++],b=f[m++],S=f[m++],Sr(M=i,I=n,i=f[m++],n=f[m++],b,S,x,_,w,h=s.A,r);break;case"a":x=f[m++],_=f[m++],w=f[m++],b=f[m++],S=f[m++],Sr(M=i,I=n,i+=f[m++],n+=f[m++],b,S,x,_,w,h=s.A,r)}}"z"!==d&&"Z"!==d||(h=s.Z,r.addData(h),i=a,n=o),e=h}return r.toStatic(),r}(t);return(e=e||{}).buildPath=function(t){if(t.setData){t.setData(i.data),(e=t.getContext())&&t.rebuildPath(e)}else{var e=t;i.rebuildPath(e)}},e.applyTransform=function(t){mr(i,t),this.dirty(!0)},e}function Tr(t,e){return new hr(Ar(t,e))}var Dr=function(t){Xn.call(this,t)};Dr.prototype={constructor:Dr,type:"text",brush:function(t,e){var i=this.style;this.__dirty&&Cn(i),i.fill=i.stroke=i.shadowBlur=i.shadowColor=i.shadowOffsetX=i.shadowOffsetY=null;var n=i.text;null!=n&&(n+=""),Hn(n,i)?(this.setTransform(t),kn(this,t,n,i,null,e),this.restoreTransform(t)):t.__attrCachedBy=Ri.NONE},getBoundingRect:function(){var t=this.style;if(this.__dirty&&Cn(t),!this._rect){var e=t.text;null!=e?e+="":e="";var i=un(t.text+"",t.font,t.textAlign,t.textVerticalAlign,t.textPadding,t.textLineHeight,t.rich);if(i.x+=t.x||0,i.y+=t.y||0,Vn(t.textStroke,t.textStrokeWidth)){var n=t.textStrokeWidth;i.x-=n/2,i.y-=n/2,i.width+=n,i.height+=n}this._rect=i}return this._rect}},w(Dr,Xn);function Cr(l){return v.browser.ie&&11<=v.browser.version?function(){var t,e=this.__clipPaths,i=this.style;if(e)for(var n=0;n<e.length;n++){var a=e[n],o=a&&a.shape,r=a&&a.type;if(o&&("sector"===r&&o.startAngle===o.endAngle||"rect"===r&&(!o.width||!o.height))){for(var s=0;s<kr.length;s++)kr[s][2]=i[kr[s][0]],i[kr[s][0]]=kr[s][1];t=!0;break}}if(l.apply(this,arguments),t)for(s=0;s<kr.length;s++)i[kr[s][0]]=kr[s][2]}:l}var Lr=hr.extend({type:"circle",shape:{cx:0,cy:0,r:0},buildPath:function(t,e,i){i&&t.moveTo(e.cx+e.r,e.cy),t.arc(e.cx,e.cy,e.r,0,2*Math.PI,!0)}}),kr=[["shadowBlur",0],["shadowColor","#000"],["shadowOffsetX",0],["shadowOffsetY",0]],Pr=hr.extend({type:"sector",shape:{cx:0,cy:0,r0:0,r:0,startAngle:0,endAngle:2*Math.PI,clockwise:!0},brush:Cr(hr.prototype.brush),buildPath:function(t,e){var i=e.cx,n=e.cy,a=Math.max(e.r0||0,0),o=Math.max(e.r,0),r=e.startAngle,s=e.endAngle,l=e.clockwise,u=Math.cos(r),h=Math.sin(r);t.moveTo(u*a+i,h*a+n),t.lineTo(u*o+i,h*o+n),t.arc(i,n,o,r,s,!l),t.lineTo(Math.cos(s)*a+i,Math.sin(s)*a+n),0!==a&&t.arc(i,n,a,s,r,l),t.closePath()}}),Nr=hr.extend({type:"ring",shape:{cx:0,cy:0,r:0,r0:0},buildPath:function(t,e){var i=e.cx,n=e.cy,a=2*Math.PI;t.moveTo(i+e.r,n),t.arc(i,n,e.r,0,a,!1),t.moveTo(i+e.r0,n),t.arc(i,n,e.r0,0,a,!0)}});function Or(t,e,i,n,a,o,r){var s=.5*(i-t),l=.5*(n-e);return(2*(e-i)+s+l)*r+(-3*(e-i)-2*s-l)*o+s*a+e}function Er(t,e,i){var n=e.points,a=e.smooth;if(n&&2<=n.length){if(a&&"spline"!==a){var o=function(t,e,i,n){var a,o,r,s,l=[],u=[],h=[],c=[];if(n){r=[1/0,1/0],s=[-1/0,-1/0];for(var d=0,f=t.length;d<f;d++)St(r,r,t[d]),Mt(s,s,t[d]);St(r,r,n[0]),Mt(s,s,n[1])}for(d=0,f=t.length;d<f;d++){var p=t[d];if(i)a=t[d?d-1:f-1],o=t[(d+1)%f];else{if(0===d||d===f-1){l.push(rt(t[d]));continue}a=t[d-1],o=t[d+1]}ht(u,o,a),gt(u,u,e);var g=vt(p,a),m=vt(p,o),v=g+m;0!==v&&(g/=v,m/=v),gt(h,u,-g),gt(c,u,m);var y=lt([],p,h),x=lt([],p,c);n&&(Mt(y,y,r),St(y,y,s),Mt(x,x,r),St(x,x,s)),l.push(y),l.push(x)}return i&&l.push(l.shift()),l}(n,a,i,e.smoothConstraint);t.moveTo(n[0][0],n[0][1]);for(var r=n.length,s=0;s<(i?r:r-1);s++){var l=o[2*s],u=o[2*s+1],h=n[(s+1)%r];t.bezierCurveTo(l[0],l[1],u[0],u[1],h[0],h[1])}}else{"spline"===a&&(n=function(t,e){for(var i=t.length,n=[],a=0,o=1;o<i;o++)a+=vt(t[o-1],t[o]);var r=a/2;r=r<i?i:r;for(o=0;o<r;o++){var s,l,u,h=o/(r-1)*(e?i:i-1),c=Math.floor(h),d=h-c,f=t[c%i];u=e?(s=t[(c-1+i)%i],l=t[(c+1)%i],t[(c+2)%i]):(s=t[0===c?c:c-1],l=t[i-2<c?i-1:c+1],t[i-3<c?i-1:c+2]);var p=d*d,g=d*p;n.push([Or(s[0],f[0],l[0],u[0],d,p,g),Or(s[1],f[1],l[1],u[1],d,p,g)])}return n}(n,i)),t.moveTo(n[0][0],n[0][1]);s=1;for(var c=n.length;s<c;s++)t.lineTo(n[s][0],n[s][1])}i&&t.closePath()}}var Rr=hr.extend({type:"polygon",shape:{points:null,smooth:!1,smoothConstraint:null},buildPath:function(t,e){Er(t,e,!0)}}),zr=hr.extend({type:"polyline",shape:{points:null,smooth:!1,smoothConstraint:null},style:{stroke:"#000",fill:null},buildPath:function(t,e){Er(t,e,!1)}}),Br=Math.round;function Vr(t,e,i){var n=i&&i.lineWidth;if(e&&n){var a=e.x1,o=e.x2,r=e.y1,s=e.y2;Br(2*a)===Br(2*o)?t.x1=t.x2=Fr(a,n,!0):(t.x1=a,t.x2=o),Br(2*r)===Br(2*s)?t.y1=t.y2=Fr(r,n,!0):(t.y1=r,t.y2=s)}}function Gr(t,e,i){var n=i&&i.lineWidth;if(e&&n){var a=e.x,o=e.y,r=e.width,s=e.height;t.x=Fr(a,n,!0),t.y=Fr(o,n,!0),t.width=Math.max(Fr(a+r,n,!1)-t.x,0===r?0:1),t.height=Math.max(Fr(o+s,n,!1)-t.y,0===s?0:1)}}function Fr(t,e,i){var n=Br(2*t);return(n+Br(e))%2==0?n/2:(n+(i?1:-1))/2}var Wr={},Hr=hr.extend({type:"rect",shape:{r:0,x:0,y:0,width:0,height:0},buildPath:function(t,e){var i,n,a,o;this.subPixelOptimize?(Gr(Wr,e,this.style),i=Wr.x,n=Wr.y,a=Wr.width,o=Wr.height,Wr.r=e.r,e=Wr):(i=e.x,n=e.y,a=e.width,o=e.height),e.r?bn(t,e):t.rect(i,n,a,o),t.closePath()}}),Zr={},Ur=hr.extend({type:"line",shape:{x1:0,y1:0,x2:0,y2:0,percent:1},style:{stroke:"#000",fill:null},buildPath:function(t,e){var i,n,a,o;o=this.subPixelOptimize?(Vr(Zr,e,this.style),i=Zr.x1,n=Zr.y1,a=Zr.x2,Zr.y2):(i=e.x1,n=e.y1,a=e.x2,e.y2);var r=e.percent;0!==r&&(t.moveTo(i,n),r<1&&(a=i*(1-r)+a*r,o=n*(1-r)+o*r),t.lineTo(a,o))},pointAt:function(t){var e=this.shape;return[e.x1*(1-t)+e.x2*t,e.y1*(1-t)+e.y2*t]}}),Xr=[];function Yr(t,e,i){var n=t.cpx2,a=t.cpy2;return null===n||null===a?[(i?uo:lo)(t.x1,t.cpx1,t.cpx2,t.x2,e),(i?uo:lo)(t.y1,t.cpy1,t.cpy2,t.y2,e)]:[(i?po:fo)(t.x1,t.cpx1,t.x2,e),(i?po:fo)(t.y1,t.cpy1,t.y2,e)]}function jr(t){this.colorStops=t||[]}var qr=hr.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 i=e.x1,n=e.y1,a=e.x2,o=e.y2,r=e.cpx1,s=e.cpy1,l=e.cpx2,u=e.cpy2,h=e.percent;0!==h&&(t.moveTo(i,n),null==l||null==u?(h<1&&(mo(i,r,a,h,Xr),r=Xr[1],a=Xr[2],mo(n,s,o,h,Xr),s=Xr[1],o=Xr[2]),t.quadraticCurveTo(r,s,a,o)):(h<1&&(co(i,r,l,a,h,Xr),r=Xr[1],l=Xr[2],a=Xr[3],co(n,s,u,o,h,Xr),s=Xr[1],u=Xr[2],o=Xr[3]),t.bezierCurveTo(r,s,l,u,a,o)))},pointAt:function(t){return Yr(this.shape,t,!1)},tangentAt:function(t){var e=Yr(this.shape,t,!0);return mt(e,e)}}),Kr=hr.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 i=e.cx,n=e.cy,a=Math.max(e.r,0),o=e.startAngle,r=e.endAngle,s=e.clockwise,l=Math.cos(o),u=Math.sin(o);t.moveTo(l*a+i,u*a+n),t.arc(i,n,a,o,r,!s)}}),$r=hr.extend({type:"compound",shape:{paths:null},_updatePathDirty:function(){for(var t=this.__dirtyPath,e=this.shape.paths,i=0;i<e.length;i++)t=t||e[i].__dirtyPath;this.__dirtyPath=t,this.__dirty=this.__dirty||t},beforeBrush:function(){this._updatePathDirty();for(var t=this.shape.paths||[],e=this.getGlobalScale(),i=0;i<t.length;i++)t[i].path||t[i].createPathProxy(),t[i].path.setScale(e[0],e[1],t[i].segmentIgnoreThreshold)},buildPath:function(t,e){for(var i=e.paths||[],n=0;n<i.length;n++)i[n].buildPath(t,i[n].shape,!0)},afterBrush:function(){for(var t=this.shape.paths||[],e=0;e<t.length;e++)t[e].__dirtyPath=!1},getBoundingRect:function(){return this._updatePathDirty(),hr.prototype.getBoundingRect.call(this)}});jr.prototype={constructor:jr,addColorStop:function(t,e){this.colorStops.push({offset:t,color:e})}};function Jr(t,e,i,n,a,o){this.x=null==t?0:t,this.y=null==e?0:e,this.x2=null==i?1:i,this.y2=null==n?0:n,this.type="linear",this.global=o||!1,jr.call(this,a)}Jr.prototype={constructor:Jr},w(Jr,jr);function Qr(t,e,i,n,a){this.x=null==t?.5:t,this.y=null==e?.5:e,this.r=null==i?.5:i,this.type="radial",this.global=a||!1,jr.call(this,n)}function ts(t){Xn.call(this,t),this._displayables=[],this._temporaryDisplayables=[],this._cursor=0,this.notClear=!0}Qr.prototype={constructor:Qr},w(Qr,jr),ts.prototype.incremental=!0,ts.prototype.clearDisplaybles=function(){this._displayables=[],this._temporaryDisplayables=[],this._cursor=0,this.dirty(),this.notClear=!1},ts.prototype.addDisplayable=function(t,e){e?this._temporaryDisplayables.push(t):this._displayables.push(t),this.dirty()},ts.prototype.addDisplayables=function(t,e){e=e||!1;for(var i=0;i<t.length;i++)this.addDisplayable(t[i],e)},ts.prototype.eachPendingDisplayable=function(t){for(var e=this._cursor;e<this._displayables.length;e++)t&&t(this._displayables[e]);for(e=0;e<this._temporaryDisplayables.length;e++)t&&t(this._temporaryDisplayables[e])},ts.prototype.update=function(){this.updateTransform();for(var t=this._cursor;t<this._displayables.length;t++){(e=this._displayables[t]).parent=this,e.update(),e.parent=null}for(t=0;t<this._temporaryDisplayables.length;t++){var e;(e=this._temporaryDisplayables[t]).parent=this,e.update(),e.parent=null}},ts.prototype.brush=function(t,e){for(var i=this._cursor;i<this._displayables.length;i++){(n=this._displayables[i]).beforeBrush&&n.beforeBrush(t),n.brush(t,i===this._cursor?null:this._displayables[i-1]),n.afterBrush&&n.afterBrush(t)}this._cursor=i;for(i=0;i<this._temporaryDisplayables.length;i++){var n;(n=this._temporaryDisplayables[i]).beforeBrush&&n.beforeBrush(t),n.brush(t,0===i?null:this._temporaryDisplayables[i-1]),n.afterBrush&&n.afterBrush(t)}this._temporaryDisplayables=[],this.notClear=!0};var es=[];ts.prototype.getBoundingRect=function(){if(!this._rect){for(var t=new bi(1/0,1/0,-1/0,-1/0),e=0;e<this._displayables.length;e++){var i=this._displayables[e],n=i.getBoundingRect().clone();i.needLocalTransform()&&n.applyTransform(i.getLocalTransform(es)),t.union(n)}this._rect=t}return this._rect},ts.prototype.contain=function(t,e){var i=this.transformCoordToLocal(t,e);if(this.getBoundingRect().contain(i[0],i[1]))for(var n=0;n<this._displayables.length;n++){if(this._displayables[n].contain(t,e))return!0}return!1},w(ts,Xn);var is=Math.max,ns=Math.min,as={},os=1,rs={color:"textFill",textBorderColor:"textStroke",textBorderWidth:"textStrokeWidth"},ss="emphasis",ls="normal",us=1,hs={},cs={};function ds(t){return hr.extend(t)}function fs(t,e){cs[t]=e}function ps(t){if(cs.hasOwnProperty(t))return cs[t]}function gs(t,e,i,n){var a=Tr(t,e);return i&&("center"===n&&(i=vs(i,a.getBoundingRect())),xs(a,i)),a}function ms(t,i,n){var a=new Yn({style:{image:t,x:i.x,y:i.y,width:i.width,height:i.height},onload:function(t){if("center"===n){var e={width:t.width,height:t.height};a.setStyle(vs(i,e))}}});return a}function vs(t,e){var i,n=e.width/e.height,a=t.height*n;return i=a<=t.width?t.height:(a=t.width)/n,{x:t.x+t.width/2-a/2,y:t.y+t.height/2-i/2,width:a,height:i}}var ys=function(t,e){for(var i=[],n=t.length,a=0;a<n;a++){var o=t[a];o.path||o.createPathProxy(),o.__dirtyPath&&o.buildPath(o.path,o.shape,!0),i.push(o.path)}var r=new hr(e);return r.createPathProxy(),r.buildPath=function(t){t.appendPath(i);var e=t.getContext();e&&t.rebuildPath(e)},r};function xs(t,e){if(t.applyTransform){var i=t.getBoundingRect().calculateTransform(e);t.applyTransform(i)}}var _s=Fr;function ws(t){return null!=t&&"none"!==t}var bs=Q(),Ss=0;function Ms(t){var e=t.__hoverStl;if(e&&!t.__highlighted){var i=t.__zr,n=t.useHoverLayer&&i&&"canvas"===i.painter.type;if(t.__highlighted=n?"layer":"plain",!(t.isGroup||!i&&t.useHoverLayer)){var a=t,o=t.style;n&&(o=(a=i.addHover(t)).style),Us(o),n||function(t){if(t.__hoverStlDirty){t.__hoverStlDirty=!1;var e=t.__hoverStl;if(e){var i=t.__cachedNormalStl={};t.__cachedNormalZ2=t.z2;var n=t.style;for(var a in e)null!=e[a]&&(i[a]=n[a]);i.fill=n.fill,i.stroke=n.stroke}else t.__cachedNormalStl=t.__cachedNormalZ2=null}}(a),o.extendFrom(e),Is(o,e,"fill"),Is(o,e,"stroke"),Zs(o),n||(t.dirty(!1),t.z2+=os)}}}function Is(t,e,i){!ws(e[i])&&ws(t[i])&&(t[i]=function(t){if("string"!=typeof t)return t;var e=bs.get(t);return e||(e=ze(t,-.1),Ss<1e4&&(bs.set(t,e),Ss++)),e}(t[i]))}function As(t){var e=t.__highlighted;if(e&&(t.__highlighted=!1,!t.isGroup))if("layer"===e)t.__zr&&t.__zr.removeHover(t);else{var i=t.style,n=t.__cachedNormalStl;n&&(Us(i),t.setStyle(n),Zs(i));var a=t.__cachedNormalZ2;null!=a&&t.z2-a===os&&(t.z2=a)}}function Ts(t,e,i){var n,a=ls,o=ls;t.__highlighted&&(a=ss,n=!0),e(t,i),t.__highlighted&&(o=ss,n=!0),t.isGroup&&t.traverse(function(t){t.isGroup||e(t,i)}),n&&t.__highDownOnUpdate&&t.__highDownOnUpdate(a,o)}function Ds(t,e){e=t.__hoverStl=!1!==e&&(t.hoverStyle||e||{}),t.__hoverStlDirty=!0,t.__highlighted&&(t.__cachedNormalStl=null,As(t),Ms(t))}function Cs(t){Ns(this,t)||this.__highByOuter||Ts(this,Ms)}function Ls(t){Ns(this,t)||this.__highByOuter||Ts(this,As)}function ks(t){this.__highByOuter|=1<<(t||0),Ts(this,Ms)}function Ps(t){(this.__highByOuter&=~(1<<(t||0)))||Ts(this,As)}function Ns(t,e){return t.__highDownSilentOnTouch&&e.zrByTouch}function Os(t,e){Es(t,!0),Ts(t,Ds,e)}function Es(t,e){var i=!1===e;if(t.__highDownSilentOnTouch=t.highDownSilentOnTouch,t.__highDownOnUpdate=t.highDownOnUpdate,!i||t.__highDownDispatcher){var n=i?"off":"on";t[n]("mouseover",Cs)[n]("mouseout",Ls),t[n]("emphasis",ks)[n]("normal",Ps),t.__highByOuter=t.__highByOuter||0,t.__highDownDispatcher=!i}}function Rs(t){return!(!t||!t.__highDownDispatcher)}function zs(t){var e=hs[t];return null==e&&us<=32&&(e=hs[t]=us++),e}function Bs(t,e,i,n,a,o,r){var s,l=(a=a||as).labelFetcher,u=a.labelDataIndex,h=a.labelDimIndex,c=i.getShallow("show"),d=n.getShallow("show");(c||d)&&(l&&(s=l.getFormattedLabel(u,"normal",null,h)),null==s&&(s=O(a.defaultText)?a.defaultText(u,a):a.defaultText));var f=c?s:null,p=d?H(l?l.getFormattedLabel(u,"emphasis",null,h):null,s):null;null==f&&null==p||(Gs(t,i,o,a),Gs(e,n,r,a,!0)),t.text=f,e.text=p}function Vs(t,e,i){var n=t.style;e&&(Us(n),t.setStyle(e),Zs(n)),n=t.__hoverStl,i&&n&&(Us(n),L(n,i),Zs(n))}function Gs(t,e,i,n,a){return Fs(t,e,n,a),i&&L(t,i),t}function Fs(t,e,i,n){if((i=i||as).isRectText){var a;i.getTextPosition?a=i.getTextPosition(e,n):"outside"===(a=e.getShallow("position")||(n?null:"inside"))&&(a="top"),t.textPosition=a,t.textOffset=e.getShallow("offset");var o=e.getShallow("rotate");null!=o&&(o*=Math.PI/180),t.textRotation=o,t.textDistance=H(e.getShallow("distance"),n?null:5)}var r,s=e.ecModel,l=s&&s.option.textStyle,u=function(t){var e;for(;t&&t!==t.ecModel;){var i=(t.option||as).rich;if(i)for(var n in e=e||{},i)i.hasOwnProperty(n)&&(e[n]=1);t=t.parentModel}return e}(e);if(u)for(var h in r={},u)if(u.hasOwnProperty(h)){var c=e.getModel(["rich",h]);Ws(r[h]={},c,l,i,n)}return t.rich=r,Ws(t,e,l,i,n,!0),i.forceRich&&!i.textStyle&&(i.textStyle={}),t}function Ws(t,e,i,n,a,o){i=!a&&i||as,t.textFill=Hs(e.getShallow("color"),n)||i.color,t.textStroke=Hs(e.getShallow("textBorderColor"),n)||i.textBorderColor,t.textStrokeWidth=H(e.getShallow("textBorderWidth"),i.textBorderWidth),a||(o&&(t.insideRollbackOpt=n,Zs(t)),null==t.textFill&&(t.textFill=n.autoColor)),t.fontStyle=e.getShallow("fontStyle")||i.fontStyle,t.fontWeight=e.getShallow("fontWeight")||i.fontWeight,t.fontSize=e.getShallow("fontSize")||i.fontSize,t.fontFamily=e.getShallow("fontFamily")||i.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"),o&&n.disableBox||(t.textBackgroundColor=Hs(e.getShallow("backgroundColor"),n),t.textPadding=e.getShallow("padding"),t.textBorderColor=Hs(e.getShallow("borderColor"),n),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")||i.textShadowColor,t.textShadowBlur=e.getShallow("textShadowBlur")||i.textShadowBlur,t.textShadowOffsetX=e.getShallow("textShadowOffsetX")||i.textShadowOffsetX,t.textShadowOffsetY=e.getShallow("textShadowOffsetY")||i.textShadowOffsetY}function Hs(t,e){return"auto"!==t?t:e&&e.autoColor?e.autoColor:null}function Zs(t){var e,i=t.textPosition,n=t.insideRollbackOpt;if(n&&null==t.textFill){var a=n.autoColor,o=n.isRectText,r=n.useInsideStyle,s=!1!==r&&(!0===r||o&&i&&"string"==typeof i&&0<=i.indexOf("inside")),l=!s&&null!=a;(s||l)&&(e={textFill:t.textFill,textStroke:t.textStroke,textStrokeWidth:t.textStrokeWidth}),s&&(t.textFill="#fff",null==t.textStroke&&(t.textStroke=a,null==t.textStrokeWidth&&(t.textStrokeWidth=2))),l&&(t.textFill=a)}t.insideRollback=e}function Us(t){var e=t.insideRollback;e&&(t.textFill=e.textFill,t.textStroke=e.textStroke,t.textStrokeWidth=e.textStrokeWidth,t.insideRollback=null)}function Xs(t,e){var i=e||e.getModel("textStyle");return j([t.fontStyle||i&&i.getShallow("fontStyle")||"",t.fontWeight||i&&i.getShallow("fontWeight")||"",(t.fontSize||i&&i.getShallow("fontSize")||12)+"px",t.fontFamily||i&&i.getShallow("fontFamily")||"sans-serif"].join(" "))}function Ys(t,e,i,n,a,o){if("function"==typeof a&&(o=a,a=null),n&&n.isAnimationEnabled()){var r=t?"Update":"",s=n.getShallow("animationDuration"+r),l=n.getShallow("animationEasing"+r),u=n.getShallow("animationDelay"+r);"function"==typeof u&&(u=u(a,n.getAnimationDelayParams?n.getAnimationDelayParams(e,a):null)),"function"==typeof s&&(s=s(a)),0<s?e.animateTo(i,s,u||0,l,o,!!o):(e.stopAnimation(),e.attr(i),o&&o())}else e.stopAnimation(),e.attr(i),o&&o()}function js(t,e,i,n,a){Ys(!0,t,e,i,n,a)}function qs(t,e,i,n,a){Ys(!1,t,e,i,n,a)}function Ks(t,e){for(var i=te([]);t&&t!==e;)ie(i,t.getLocalTransform(),i),t=t.parent;return i}function $s(t,e,i){return e&&!P(e)&&(e=ce.getLocalTransform(e)),i&&(e=re([],e)),bt([],t,e)}function Js(t,e,i){var n=0===e[4]||0===e[5]||0===e[0]?1:Math.abs(2*e[4]/e[0]),a=0===e[4]||0===e[5]||0===e[2]?1:Math.abs(2*e[4]/e[2]),o=["left"===t?-n:"right"===t?n:0,"top"===t?-a:"bottom"===t?a:0];return o=$s(o,e,i),Math.abs(o[0])>Math.abs(o[1])?0<o[0]?"right":"left":0<o[1]?"bottom":"top"}function Qs(t,e,n,i){if(t&&e){var a,o=(a={},t.traverse(function(t){!t.isGroup&&t.anid&&(a[t.anid]=t)}),a);e.traverse(function(t){if(!t.isGroup&&t.anid){var e=o[t.anid];if(e){var i=r(t);t.attr(r(e)),js(t,i,n,t.dataIndex)}}})}function r(t){var e={position:rt(t.position),rotation:t.rotation};return t.shape&&(e.shape=L({},t.shape)),e}}function tl(t,n){return N(t,function(t){var e=t[0];e=is(e,n.x),e=ns(e,n.x+n.width);var i=t[1];return i=is(i,n.y),[e,i=ns(i,n.y+n.height)]})}function el(t,e,i){var n=(e=L({rectHover:!0},e)).style={strokeNoScale:!0};if(i=i||{x:-1,y:-1,width:2,height:2},t)return 0===t.indexOf("image://")?(n.image=t.slice(8),C(n,i),new Yn(e)):gs(t.replace("path://",""),e,i,"center")}function il(t,e,i,n,a){for(var o=0,r=a[a.length-1];o<a.length;o++){var s=a[o];if(nl(t,e,i,n,s[0],s[1],r[0],r[1]))return!0;r=s}}function nl(t,e,i,n,a,o,r,s){var l=i-t,u=n-e,h=r-a,c=s-o,d=al(h,c,l,u);if(function(t){return t<=1e-6&&-1e-6<=t}(d))return!1;var f=t-a,p=e-o,g=al(f,p,l,u)/d;if(g<0||1<g)return!1;var m=al(f,p,h,c)/d;return!(m<0||1<m)}function al(t,e,i,n){return t*n-i*e}fs("circle",Lr),fs("sector",Pr),fs("ring",Nr),fs("polygon",Rr),fs("polyline",zr),fs("rect",Hr),fs("line",Ur),fs("bezierCurve",qr),fs("arc",Kr);var ol=(Object.freeze||Object)({Z2_EMPHASIS_LIFT:os,CACHED_LABEL_STYLE_PROPERTIES:rs,extendShape:ds,extendPath:function(t,e){return function(t,e){return hr.extend(Ar(t,e))}(t,e)},registerShape:fs,getShapeClass:ps,makePath:gs,makeImage:ms,mergePath:ys,resizePath:xs,subPixelOptimizeLine:function(t){return Vr(t.shape,t.shape,t.style),t},subPixelOptimizeRect:function(t){return Gr(t.shape,t.shape,t.style),t},subPixelOptimize:_s,setElementHoverStyle:Ds,setHoverStyle:Os,setAsHighDownDispatcher:Es,isHighDownDispatcher:Rs,getHighlightDigit:zs,setLabelStyle:Bs,modifyLabelStyle:Vs,setTextStyle:Gs,setText:function(t,e,i){var n,a={isRectText:!0};!1===i?n=!0:a.autoColor=i,Fs(t,e,a,n)},getFont:Xs,updateProps:js,initProps:qs,getTransform:Ks,applyTransform:$s,transformDirection:Js,groupTransition:Qs,clipPointsByRect:tl,clipRectByRect:function(t,e){var i=is(t.x,e.x),n=ns(t.x+t.width,e.x+e.width),a=is(t.y,e.y),o=ns(t.y+t.height,e.y+e.height);if(i<=n&&a<=o)return{x:i,y:a,width:n-i,height:o-a}},createIcon:el,linePolygonIntersect:il,lineLineIntersect:nl,Group:Si,Image:Yn,Text:Dr,Circle:Lr,Sector:Pr,Ring:Nr,Polygon:Rr,Polyline:zr,Rect:Hr,Line:Ur,BezierCurve:qr,Arc:Kr,IncrementalDisplayable:ts,CompoundPath:$r,LinearGradient:Jr,RadialGradient:Qr,BoundingRect:bi}),rl=["textStyle","color"],sl={getTextColor:function(t){var e=this.ecModel;return this.getShallow("color")||(!t&&e?e.get(rl):null)},getFont:function(){return Xs({fontStyle:this.getShallow("fontStyle"),fontWeight:this.getShallow("fontWeight"),fontSize:this.getShallow("fontSize"),fontFamily:this.getShallow("fontFamily")},this.ecModel)},getTextRect:function(t){return un(t,this.getFont(),this.getShallow("align"),this.getShallow("verticalAlign")||this.getShallow("baseline"),this.getShallow("padding"),this.getShallow("lineHeight"),this.getShallow("rich"),this.getShallow("truncateText"))}},ll=Xa([["fill","color"],["stroke","borderColor"],["lineWidth","borderWidth"],["opacity"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"],["textPosition"],["textAlign"]]),ul={getItemStyle:function(t,e){var i=ll(this,t,e),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]}},hl=b,cl=La();function dl(t,e,i){this.parentModel=e,this.ecModel=i,this.option=t}function fl(t,e,i){for(var n=0;n<e.length&&(!e[n]||null!=(t=t&&"object"==typeof t?t[e[n]]:null));n++);return null==t&&i&&(t=i.get(e)),t}function pl(t,e){var i=cl(t).getParent;return i?i.call(t,e):t.parentModel}dl.prototype={constructor:dl,init:null,mergeOption:function(t){m(this.option,t,!0)},get:function(t,e){return null==t?this.option:fl(this.option,this.parsePath(t),!e&&pl(this,t))},getShallow:function(t,e){var i=this.option,n=null==i?i:i[t],a=!e&&pl(this,t);return null==n&&a&&(n=a.getShallow(t)),n},getModel:function(t,e){var i;return new dl(null==t?this.option:fl(this.option,t=this.parsePath(t)),e=e||(i=pl(this,t))&&i.getModel(t),this.ecModel)},isEmpty:function(){return null==this.option},restoreData:function(){},clone:function(){return new this.constructor(D(this.option))},setReadOnly:function(t){},parsePath:function(t){return"string"==typeof t&&(t=t.split(".")),t},customizeGetParent:function(t){cl(this).getParent=t},isAnimationEnabled:function(){if(!v.node){if(null!=this.option.animation)return!!this.option.animation;if(this.parentModel)return this.parentModel.isAnimationEnabled()}}},Ga(dl),Wa(dl),hl(dl,ja),hl(dl,Ka),hl(dl,sl),hl(dl,ul);var gl=0;function ml(t){return[t||"",gl++,Math.random().toFixed(5)].join("_")}var vl=1e-4;function yl(t,e,i,n){var a=e[1]-e[0],o=i[1]-i[0];if(0==a)return 0==o?i[0]:(i[0]+i[1])/2;if(n)if(0<a){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])/a*o+i[0]}function xl(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?function(t){return t.replace(/^\s+|\s+$/g,"")}(t).match(/%$/)?parseFloat(t)/100*e:parseFloat(t):null==t?NaN:+t}function _l(t,e,i){return null==e&&(e=10),e=Math.min(Math.max(0,e),20),t=(+t).toFixed(e),i?t:+t}function wl(t){return t.sort(function(t,e){return t-e}),t}function bl(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}function Sl(t){var e=t.toString(),i=e.indexOf("e");if(0<i){var n=+e.slice(i+1);return n<0?-n:0}var a=e.indexOf(".");return a<0?0:e.length-1-a}function Ml(t,e){var i=Math.log,n=Math.LN10,a=Math.floor(i(t[1]-t[0])/n),o=Math.round(i(Math.abs(e[1]-e[0]))/n),r=Math.min(Math.max(-a+o,0),20);return isFinite(r)?r:20}function Il(t,e,i){if(!t[e])return 0;var n=S(t,function(t,e){return t+(isNaN(e)?0:e)},0);if(0===n)return 0;for(var a=Math.pow(10,i),o=N(t,function(t){return(isNaN(t)?0:t)/n*a*100}),r=100*a,s=N(o,function(t){return Math.floor(t)}),l=S(s,function(t,e){return t+e},0),u=N(o,function(t,e){return t-s[e]});l<r;){for(var h=Number.NEGATIVE_INFINITY,c=null,d=0,f=u.length;d<f;++d)u[d]>h&&(h=u[d],c=d);++s[c],u[c]=0,++l}return s[e]/a}var Al=9007199254740991;function Tl(t){var e=2*Math.PI;return(t%e+e)%e}function Dl(t){return-vl<t&&t<vl}var Cl=/^(?:(\d{4})(?:[-\/](\d{1,2})(?:[-\/](\d{1,2})(?:[T ](\d{1,2})(?::(\d\d)(?::(\d\d)(?:[.,](\d+))?)?)?(Z|[\+\-]\d\d:?\d\d)?)?)?)?)?$/;function Ll(t){if(t instanceof Date)return t;if("string"!=typeof t)return null==t?new Date(NaN):new Date(Math.round(t));var e=Cl.exec(t);if(!e)return new Date(NaN);if(e[8]){var i=+e[4]||0;return"Z"!==e[8].toUpperCase()&&(i-=e[8].slice(0,3)),new Date(Date.UTC(+e[1],+(e[2]||1)-1,+e[3]||1,i,+(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)}function kl(t){return Math.pow(10,Pl(t))}function Pl(t){if(0===t)return 0;var e=Math.floor(Math.log(t)/Math.LN10);return 10<=t/Math.pow(10,e)&&e++,e}function Nl(t,e){var i=Pl(t),n=Math.pow(10,i),a=t/n;return t=(e?a<1.5?1:a<2.5?2:a<4?3:a<7?5:10:a<1?1:a<2?2:a<3?3:a<5?5:10)*n,-20<=i?+t.toFixed(i<0?-i:0):t}function Ol(t){t.sort(function(t,e){return function t(e,i,n){return e.interval[n]<i.interval[n]||e.interval[n]===i.interval[n]&&(e.close[n]-i.close[n]==(n?-1:1)||!n&&t(e,i,1))}(t,e,0)?-1:1});for(var e=-1/0,i=1,n=0;n<t.length;){for(var a=t[n].interval,o=t[n].close,r=0;r<2;r++)a[r]<=e&&(a[r]=e,o[r]=r?1:1-i),e=a[r],i=o[r];a[0]===a[1]&&o[0]*o[1]!=1?t.splice(n,1):n++}return t}function El(t){return 0<=t-parseFloat(t)}var Rl=(Object.freeze||Object)({linearMap:yl,parsePercent:xl,round:_l,asc:wl,getPrecision:bl,getPrecisionSafe:Sl,getPixelPrecision:Ml,getPercentWithPrecision:Il,MAX_SAFE_INTEGER:Al,remRadian:Tl,isRadianAroundZero:Dl,parseDate:Ll,quantity:kl,quantityExponent:Pl,nice:Nl,quantile:function(t,e){var i=(t.length-1)*e+1,n=Math.floor(i),a=+t[n-1],o=i-n;return o?a+o*(t[n]-a):a},reformIntervals:Ol,isNumeric:El});function zl(t){return isNaN(t)?"-":(t=(t+"").split("."))[0].replace(/(\d{1,3})(?=(?:\d{3})+(?!\d))/g,"$1,")+(1<t.length?"."+t[1]:"")}function Bl(t,e){return t=(t||"").toLowerCase().replace(/-(.)/g,function(t,e){return e.toUpperCase()}),e&&t&&(t=t.charAt(0).toUpperCase()+t.slice(1)),t}var Vl=X,Gl=/([&<>"'])/g,Fl={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"};function Wl(t){return null==t?"":(t+"").replace(Gl,function(t,e){return Fl[e]})}function Hl(t,e){return"{"+t+(null==e?"":e)+"}"}var Zl=["a","b","c","d","e","f","g"];function Ul(t,e,i){k(e)||(e=[e]);var n=e.length;if(!n)return"";for(var a=e[0].$vars||[],o=0;o<a.length;o++){var r=Zl[o];t=t.replace(Hl(r),Hl(r,0))}for(var s=0;s<n;s++)for(var l=0;l<a.length;l++){var u=e[s][a[l]];t=t.replace(Hl(Zl[l],s),i?Wl(u):u)}return t}function Xl(i,t,n){return E(t,function(t,e){i=i.replace("{"+e+"}",n?Wl(t):t)}),i}function Yl(t,e){var i=(t=R(t)?{color:t,extraCssText:e}:t||{}).color,n=t.type,a=(e=t.extraCssText,t.renderMode||"html"),o=t.markerId||"X";return i?"html"===a?"subItem"===n?'<span style="display:inline-block;vertical-align:middle;margin-right:8px;margin-left:3px;border-radius:4px;width:4px;height:4px;background-color:'+Wl(i)+";"+(e||"")+'"></span>':'<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:'+Wl(i)+";"+(e||"")+'"></span>':{renderMode:a,content:"{marker"+o+"|}  ",style:{color:i}}:""}function jl(t,e){return"0000".substr(0,e-(t+="").length)+t}function ql(t,e,i){"week"!==t&&"month"!==t&&"quarter"!==t&&"half-year"!==t&&"year"!==t||(t="MM-dd\nyyyy");var n=Ll(e),a=i?"UTC":"",o=n["get"+a+"FullYear"](),r=n["get"+a+"Month"]()+1,s=n["get"+a+"Date"](),l=n["get"+a+"Hours"](),u=n["get"+a+"Minutes"](),h=n["get"+a+"Seconds"](),c=n["get"+a+"Milliseconds"]();return t=t.replace("MM",jl(r,2)).replace("M",r).replace("yyyy",o).replace("yy",o%100).replace("dd",jl(s,2)).replace("d",s).replace("hh",jl(l,2)).replace("h",l).replace("mm",jl(u,2)).replace("m",u).replace("ss",jl(h,2)).replace("s",h).replace("SSS",jl(c,3))}function Kl(t){return t?t.charAt(0).toUpperCase()+t.substr(1):t}var $l=fn;var Jl=(Object.freeze||Object)({addCommas:zl,toCamelCase:Bl,normalizeCssArray:Vl,encodeHTML:Wl,formatTpl:Ul,formatTplSimple:Xl,getTooltipMarker:Yl,formatTime:ql,capitalFirst:Kl,truncateText:$l,getTextBoundingRect:function(t){return un(t.text,t.font,t.textAlign,t.textVerticalAlign,t.textPadding,t.textLineHeight,t.rich,t.truncate)},getTextRect:function(t,e,i,n,a,o,r,s){return un(t,e,i,n,a,s,o,r)}}),Ql=E,tu=["left","right","top","bottom","width","height"],eu=[["width","left","right"],["height","top","bottom"]];function iu(h,c,d,f,p){var g=0,m=0;null==f&&(f=1/0),null==p&&(p=1/0);var v=0;c.eachChild(function(t,e){var i,n,a=t.position,o=t.getBoundingRect(),r=c.childAt(e+1),s=r&&r.getBoundingRect();if("horizontal"===h){var l=o.width+(s?-s.x+o.x:0);v=f<(i=g+l)||t.newline?(g=0,i=l,m+=v+d,o.height):Math.max(v,o.height)}else{var u=o.height+(s?-s.y+o.y:0);v=p<(n=m+u)||t.newline?(g+=v+d,m=0,n=u,o.width):Math.max(v,o.width)}t.newline||(a[0]=g,a[1]=m,"horizontal"===h?g=i+d:m=n+d)})}var nu=iu;A(iu,"vertical"),A(iu,"horizontal");function au(t,e,i){i=Vl(i||0);var n=e.width,a=e.height,o=xl(t.left,n),r=xl(t.top,a),s=xl(t.right,n),l=xl(t.bottom,a),u=xl(t.width,n),h=xl(t.height,a),c=i[2]+i[0],d=i[1]+i[3],f=t.aspect;switch(isNaN(u)&&(u=n-s-d-o),isNaN(h)&&(h=a-l-c-r),null!=f&&(isNaN(u)&&isNaN(h)&&(n/a<f?u=.8*n:h=.8*a),isNaN(u)&&(u=f*h),isNaN(h)&&(h=u/f)),isNaN(o)&&(o=n-s-u-d),isNaN(r)&&(r=a-l-h-c),t.left||t.right){case"center":o=n/2-u/2-i[3];break;case"right":o=n-u-d}switch(t.top||t.bottom){case"middle":case"center":r=a/2-h/2-i[0];break;case"bottom":r=a-h-c}o=o||0,r=r||0,isNaN(u)&&(u=n-d-o-(s||0)),isNaN(h)&&(h=a-c-r-(l||0));var p=new bi(o+i[3],r+i[0],u,h);return p.margin=i,p}function ou(t,e,i,n,a){var o=!a||!a.hv||a.hv[0],r=!a||!a.hv||a.hv[1],s=a&&a.boundingMode||"all";if(o||r){var l;if("raw"===s)l="group"===t.type?new bi(0,0,+e.width||0,+e.height||0):t.getBoundingRect();else if(l=t.getBoundingRect(),t.needLocalTransform()){var u=t.getLocalTransform();(l=l.clone()).applyTransform(u)}e=au(C({width:l.width,height:l.height},e),i,n);var h=t.position,c=o?e.x-l.x:0,d=r?e.y-l.y:0;t.attr("position","raw"===s?[c,d]:[h[0]+c,h[1]+d])}}function ru(l,u,t){z(t)||(t={});var h=t.ignoreSize;k(h)||(h=[h,h]);var e=n(eu[0],0),i=n(eu[1],1);function n(t,e){var i={},n=0,a={},o=0;if(Ql(t,function(t){a[t]=l[t]}),Ql(t,function(t){c(u,t)&&(i[t]=a[t]=u[t]),d(i,t)&&n++,d(a,t)&&o++}),h[e])return d(u,t[1])?a[t[2]]=null:d(u,t[2])&&(a[t[1]]=null),a;if(2!==o&&n){if(2<=n)return i;for(var r=0;r<t.length;r++){var s=t[r];if(!c(i,s)&&c(l,s)){i[s]=l[s];break}}return i}return a}function c(t,e){return t.hasOwnProperty(e)}function d(t,e){return null!=t[e]&&"auto"!==t[e]}function a(t,e,i){Ql(t,function(t){e[t]=i[t]})}a(eu[0],l,e),a(eu[1],l,i)}function su(t){return lu({},t)}function lu(e,i){return i&&e&&Ql(tu,function(t){i.hasOwnProperty(t)&&(e[t]=i[t])}),e}var uu,hu,cu,du=La(),fu=dl.extend({type:"component",id:"",name:"",mainType:"",subType:"",componentIndex:0,defaultOption:null,ecModel:null,dependentModels:[],uid:null,layoutMode:null,$constructor:function(t,e,i,n){dl.call(this,t,e,i,n),this.uid=ml("ec_cpt_model")},init:function(t,e,i,n){this.mergeDefaultAndTheme(t,i)},mergeDefaultAndTheme:function(t,e){var i=this.layoutMode,n=i?su(t):{};m(t,e.getTheme().get(this.mainType)),m(t,this.getDefaultOption()),i&&ru(t,n,i)},mergeOption:function(t,e){m(this.option,t,!0);var i=this.layoutMode;i&&ru(this.option,t,i)},optionUpdated:function(t,e){},getDefaultOption:function(){var t=du(this);if(!t.defaultOption){for(var e=[],i=this.constructor;i;){var n=i.prototype.defaultOption;n&&e.push(n),i=i.superClass}for(var a={},o=e.length-1;0<=o;o--)a=m(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)})}});function pu(t,e){return t[e]||(t[e]={predecessor:[],successor:[]}),t[e]}Ua(fu,{registerWhenExtend:!0}),hu={},(uu=fu).registerSubTypeDefaulter=function(t,e){t=Va(t),hu[t.main]=e},uu.determineSubType=function(t,e){var i=e.type;if(!i){var n=Va(t).main;uu.hasSubTypes(t)&&hu[n]&&(i=hu[n](e))}return i},cu=function(t){var e=[];E(fu.getClassesByMainType(t),function(t){e=e.concat(t.prototype.dependencies||[])}),e=N(e,function(t){return Va(t).main}),"dataset"!==t&&_(e,"dataset")<=0&&e.unshift("dataset");return e},fu.topologicalTravel=function(t,e,i,n){if(t.length){var a=function(e){var a={},o=[];return E(e,function(i){var n=pu(a,i),t=function(t,e){var i=[];return E(t,function(t){0<=_(e,t)&&i.push(t)}),i}(n.originalDeps=cu(i),e);n.entryCount=t.length,0===n.entryCount&&o.push(i),E(t,function(t){_(n.predecessor,t)<0&&n.predecessor.push(t);var e=pu(a,t);_(e.successor,t)<0&&e.successor.push(i)})}),{graph:a,noEntryList:o}}(e),o=a.graph,r=a.noEntryList,s={};for(E(t,function(t){s[t]=!0});r.length;){var l=r.pop(),u=o[l],h=!!s[l];h&&(i.call(n,l,u.originalDeps.slice()),delete s[l]),E(u.successor,h?d:c)}E(s,function(){throw new Error("Circle dependency may exists")})}function c(t){o[t].entryCount--,0===o[t].entryCount&&r.push(t)}function d(t){s[t]=!0,c(t)}},b(fu,{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")}}});var gu="";"undefined"!=typeof navigator&&(gu=navigator.platform||"");var mu={color:["#c23531","#2f4554","#61a0a8","#d48265","#91c7ae","#749f83","#ca8622","#bda29a","#6e7074","#546570","#c4ccd3"],gradientColor:["#f6efa6","#d88273","#bf444c"],textStyle:{fontFamily:gu.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},vu=La();var yu={clearColorPalette:function(){vu(this).colorIdx=0,vu(this).colorNameMap={}},getColorFromPalette:function(t,e,i){var n=vu(e=e||this),a=n.colorIdx||0,o=n.colorNameMap=n.colorNameMap||{};if(o.hasOwnProperty(t))return o[t];var r=wa(this.get("color",!0)),s=this.get("colorLayer",!0),l=null!=i&&s?function(t,e){for(var i=t.length,n=0;n<i;n++)if(t[n].length>e)return t[n];return t[i-1]}(s,i):r;if((l=l||r)&&l.length){var u=l[a];return t&&(o[t]=u),n.colorIdx=(a+1)%l.length,u}}};function xu(t){var e=t.get("coordinateSystem"),i={coordSysName:e,coordSysDims:[],axisMap:Q(),categoryAxisMap:Q()},n=_u[e];if(n)return n(t,i,i.axisMap,i.categoryAxisMap),i}var _u={cartesian2d:function(t,e,i,n){var a=t.getReferringComponents("xAxis")[0],o=t.getReferringComponents("yAxis")[0];e.coordSysDims=["x","y"],i.set("x",a),i.set("y",o),wu(a)&&(n.set("x",a),e.firstCategoryDimIndex=0),wu(o)&&(n.set("y",o),e.firstCategoryDimIndex=1)},singleAxis:function(t,e,i,n){var a=t.getReferringComponents("singleAxis")[0];e.coordSysDims=["single"],i.set("single",a),wu(a)&&(n.set("single",a),e.firstCategoryDimIndex=0)},polar:function(t,e,i,n){var a=t.getReferringComponents("polar")[0],o=a.findAxisModel("radiusAxis"),r=a.findAxisModel("angleAxis");e.coordSysDims=["radius","angle"],i.set("radius",o),i.set("angle",r),wu(o)&&(n.set("radius",o),e.firstCategoryDimIndex=0),wu(r)&&(n.set("angle",r),e.firstCategoryDimIndex=1)},geo:function(t,e,i,n){e.coordSysDims=["lng","lat"]},parallel:function(t,a,o,r){var s=t.ecModel,e=s.getComponent("parallel",t.get("parallelIndex")),l=a.coordSysDims=e.dimensions.slice();E(e.parallelAxisIndex,function(t,e){var i=s.getComponent("parallelAxis",t),n=l[e];o.set(n,i),wu(i)&&null==a.firstCategoryDimIndex&&(r.set(n,i),a.firstCategoryDimIndex=e)})}};function wu(t){return"category"===t.get("type")}var bu="original",Su="arrayRows",Mu="objectRows",Iu="keyedColumns",Au="unknown",Tu="typedArray",Du="column",Cu="row";function Lu(t){this.fromDataset=t.fromDataset,this.data=t.data||(t.sourceFormat===Iu?{}:[]),this.sourceFormat=t.sourceFormat||Au,this.seriesLayoutBy=t.seriesLayoutBy||Du,this.dimensionsDefine=t.dimensionsDefine,this.encodeDefine=t.encodeDefine&&Q(t.encodeDefine),this.startIndex=t.startIndex||0,this.dimensionsDetectCount=t.dimensionsDetectCount}Lu.seriesDataToSource=function(t){return new Lu({data:t,sourceFormat:V(t)?Tu:bu,fromDataset:!1})},Wa(Lu);var ku=La();function Pu(t){var e=t.option,i=e.data,n=V(i)?Tu:bu,a=!1,o=e.seriesLayoutBy,r=e.sourceHeader,s=e.dimensions,l=function(t){var e=t.option;if(!e.data)return t.ecModel.getComponent("dataset",e.datasetIndex||0)}(t);if(l){var u=l.option;i=u.source,n=ku(l).sourceFormat,a=!0,o=o||u.seriesLayoutBy,null==r&&(r=u.sourceHeader),s=s||u.dimensions}var h=function(t,e,i,n,a){if(!t)return{dimensionsDefine:Nu(a)};var o,r,s,l;if(e===Su)"auto"===n||null==n?Ou(function(t){null!=t&&"-"!==t&&(R(t)?null==r&&(r=1):r=0)},i,t,10):r=n?1:0,a||1!==r||(a=[],Ou(function(t,e){a[e]=null!=t?t:""},i,t)),o=a?a.length:i===Cu?t.length:t[0]?t[0].length:null;else if(e===Mu)a||(a=function(t){var e,i=0;for(;i<t.length&&!(e=t[i++]););if(e){var n=[];return E(e,function(t,e){n.push(e)}),n}}(t),s=!0);else if(e===Iu)a||(a=[],s=!0,E(t,function(t,e){a.push(e)}));else if(e===bu){var u=Ma(t[0]);o=k(u)&&u.length||1}s&&E(a,function(t,e){"name"===(z(t)?t.name:t)&&(l=e)});return{startIndex:r,dimensionsDefine:Nu(a),dimensionsDetectCount:o,potentialNameDimIndex:l}}(i,n,o,r,s),c=e.encode;!c&&l&&(c=function(t,e,i,n,a,o){var r=xu(t),s={},l=[],u=[],h=t.subType,c=Q(["pie","map","funnel"]),d=Q(["line","bar","pictorialBar","scatter","effectScatter","candlestick","boxplot"]);if(r&&null!=d.get(h)){var f=t.ecModel,p=ku(f).datasetMap,g=e.uid+"_"+a,m=p.get(g)||p.set(g,{categoryWayDim:1,valueWayDim:0});E(r.coordSysDims,function(t){if(null==r.firstCategoryDimIndex){var e=m.valueWayDim++;s[t]=e,u.push(e)}else if(r.categoryAxisMap.get(t))s[t]=0,l.push(0);else{e=m.categoryWayDim++;s[t]=e,u.push(e)}})}else if(null!=c.get(h)){for(var v,y=0;y<5&&null==v;y++)Eu(i,n,a,o.dimensionsDefine,o.startIndex,y)||(v=y);if(null!=v){s.value=v;var x=o.potentialNameDimIndex||Math.max(v-1,0);u.push(x),l.push(x)}}return l.length&&(s.itemName=l),u.length&&(s.seriesName=u),s}(t,l,i,n,o,h)),ku(t).source=new Lu({data:i,fromDataset:a,seriesLayoutBy:o,sourceFormat:n,dimensionsDefine:h.dimensionsDefine,startIndex:h.startIndex,dimensionsDetectCount:h.dimensionsDetectCount,encodeDefine:c})}function Nu(t){if(t){var n=Q();return N(t,function(t,e){if(null==(t=L({},z(t)?t:{name:t})).name)return t;t.name+="",null==t.displayName&&(t.displayName=t.name);var i=n.get(t.name);return i?t.name+="-"+i.count++:n.set(t.name,{count:1}),t})}}function Ou(t,e,i,n){if(null==n&&(n=1/0),e===Cu)for(var a=0;a<i.length&&a<n;a++)t(i[a]?i[a][0]:null,a);else{var o=i[0]||[];for(a=0;a<o.length&&a<n;a++)t(o[a],a)}}function Eu(t,e,i,n,a,o){var r,s;if(V(t))return!1;if(n&&(s=z(s=n[o])?s.name:s),e===Su)if(i===Cu){for(var l=t[o],u=0;u<(l||[]).length&&u<5;u++)if(null!=(r=f(l[a+u])))return r}else for(u=0;u<t.length&&u<5;u++){var h=t[a+u];if(h&&null!=(r=f(h[o])))return r}else if(e===Mu){if(!s)return;for(u=0;u<t.length&&u<5;u++){if((c=t[u])&&null!=(r=f(c[s])))return r}}else if(e===Iu){if(!s)return;if(!(l=t[s])||V(l))return!1;for(u=0;u<l.length&&u<5;u++)if(null!=(r=f(l[u])))return r}else if(e===bu)for(u=0;u<t.length&&u<5;u++){var c,d=Ma(c=t[u]);if(!k(d))return!1;if(null!=(r=f(d[o])))return r}function f(t){return(null==t||!isFinite(t)||""===t)&&(!(!R(t)||"-"===t)||void 0)}return!1}var Ru="\0_ec_inner",zu=dl.extend({init:function(t,e,i,n){i=i||{},this.option=null,this._theme=new dl(i),this._optionManager=n},setOption:function(t,e){Y(!(Ru in t),"please use chart.getOption()"),this._optionManager.setOption(t,e),this.resetOption(null)},resetOption:function(t){var e=!1,i=this._optionManager;if(!t||"recreate"===t){var n=i.mountOption("recreate"===t);this.option&&"recreate"!==t?(this.restoreData(),this.mergeOption(n)):function(t){t=t,this.option={},this.option[Ru]=1,this._componentsMap=Q({series:[]}),this._seriesIndices,this._seriesIndicesMap,function(i,t){var n=i.color&&!i.colorLayer;E(t,function(t,e){"colorLayer"===e&&n||fu.hasClass(e)||("object"==typeof t?i[e]=i[e]?m(i[e],t,!1):D(t):null==i[e]&&(i[e]=t))})}(t,this._theme.option),m(t,mu,!1),this.mergeOption(t)}.call(this,n),e=!0}if("timeline"!==t&&"media"!==t||this.restoreData(),!t||"recreate"===t||"timeline"===t){var a=i.getTimelineOption(this);a&&(this.mergeOption(a),e=!0)}if(!t||"recreate"===t||"media"===t){var o=i.getMediaOption(this,this._api);o.length&&E(o,function(t){this.mergeOption(t,e=!0)},this)}return e},mergeOption:function(n){var l=this.option,u=this._componentsMap,i=[];!function(t){ku(t).datasetMap=Q()}(this),E(n,function(t,e){null!=t&&(fu.hasClass(e)?e&&i.push(e):l[e]=null==l[e]?D(t):m(l[e],t,!0))}),fu.topologicalTravel(i,fu.getAllClassMainTypes(),function(r,t){var e=wa(n[r]),i=Ia(u.get(r),e);Aa(i),E(i,function(t,e){var i=t.option;z(i)&&(t.keyInfo.mainType=r,t.keyInfo.subType=function(t,e,i){return e.type?e.type:i?i.subType:fu.determineSubType(t,e)}(r,i,t.exist))});var s=function(e,t){k(t)||(t=t?[t]:[]);var i={};return E(t,function(t){i[t]=(e.get(t)||[]).slice()}),i}(u,t);l[r]=[],u.set(r,[]),E(i,function(t,e){var i=t.exist,n=t.option;if(Y(z(n)||i,"Empty component definition"),n){var a=fu.getClass(r,t.keyInfo.subType,!0);if(i&&i.constructor===a)i.name=t.keyInfo.name,i.mergeOption(n,this),i.optionUpdated(n,!1);else{var o=L({dependentModels:s,componentIndex:e},t.keyInfo);L(i=new a(n,this,this,o),o),i.init(n,this,this,o),i.optionUpdated(null,!0)}}else i.mergeOption({},this),i.optionUpdated({},!1);u.get(r)[e]=i,l[r][e]=i.option},this),"series"===r&&Bu(this,u.get("series"))},this),this._seriesIndicesMap=Q(this._seriesIndices=this._seriesIndices||[])},getOption:function(){var n=D(this.option);return E(n,function(t,e){if(fu.hasClass(e)){for(var i=(t=wa(t)).length-1;0<=i;i--)Da(t[i])&&t.splice(i,1);n[e]=t}}),delete n[Ru],n},getTheme:function(){return this._theme},getComponent:function(t,e){var i=this._componentsMap.get(t);if(i)return i[e||0]},queryComponents:function(t){var e=t.mainType;if(!e)return[];var i,n=t.index,a=t.id,o=t.name,r=this._componentsMap.get(e);if(!r||!r.length)return[];if(null!=n)k(n)||(n=[n]),i=M(N(n,function(t){return r[t]}),function(t){return!!t});else if(null!=a){var s=k(a);i=M(r,function(t){return s&&0<=_(a,t.id)||!s&&t.id===a})}else if(null!=o){var l=k(o);i=M(r,function(t){return l&&0<=_(o,t.name)||!l&&t.name===o})}else i=r.slice();return Vu(i,t)},findComponents:function(t){var e,i,n,a,o,r=t.query,s=t.mainType,l=(i=s+"Index",n=s+"Id",a=s+"Name",!(e=r)||null==e[i]&&null==e[n]&&null==e[a]?null:{mainType:s,index:e[i],id:e[n],name:e[a]}),u=l?this.queryComponents(l):this._componentsMap.get(s);return o=Vu(u,t),t.filter?M(o,t.filter):o},eachComponent:function(t,n,a){var e=this._componentsMap;if("function"==typeof t)a=n,n=t,e.each(function(t,i){E(t,function(t,e){n.call(a,i,t,e)})});else if(R(t))E(e.get(t),n,a);else if(z(t)){E(this.findComponents(t),n,a)}},getSeriesByName:function(e){return M(this._componentsMap.get("series"),function(t){return t.name===e})},getSeriesByIndex:function(t){return this._componentsMap.get("series")[t]},getSeriesByType:function(e){return M(this._componentsMap.get("series"),function(t){return t.subType===e})},getSeries:function(){return this._componentsMap.get("series").slice()},getSeriesCount:function(){return this._componentsMap.get("series").length},eachSeries:function(i,n){E(this._seriesIndices,function(t){var e=this._componentsMap.get("series")[t];i.call(n,e,t)},this)},eachRawSeries:function(t,e){E(this._componentsMap.get("series"),t,e)},eachSeriesByType:function(i,n,a){E(this._seriesIndices,function(t){var e=this._componentsMap.get("series")[t];e.subType===i&&n.call(a,e,t)},this)},eachRawSeriesByType:function(t,e,i){return E(this.getSeriesByType(t),e,i)},isSeriesFiltered:function(t){return null==this._seriesIndicesMap.get(t.componentIndex)},getCurrentSeriesIndices:function(){return(this._seriesIndices||[]).slice()},filterSeries:function(t,e){var i=M(this._componentsMap.get("series"),t,e);Bu(this,i)},restoreData:function(i){var n=this._componentsMap;Bu(this,n.get("series"));var a=[];n.each(function(t,e){a.push(e)}),fu.topologicalTravel(a,fu.getAllClassMainTypes(),function(e,t){E(n.get(e),function(t){"series"===e&&function(t,e){if(e){var i=e.seiresIndex,n=e.seriesId,a=e.seriesName;return null!=i&&t.componentIndex!==i||null!=n&&t.id!==n||null!=a&&t.name!==a}}(t,i)||t.restoreData()})})}});function Bu(t,e){t._seriesIndicesMap=Q(t._seriesIndices=N(e,function(t){return t.componentIndex})||[])}function Vu(t,e){return e.hasOwnProperty("subType")?M(t,function(t){return t.subType===e.subType}):t}b(zu,yu);var Gu=["getDom","getZr","getWidth","getHeight","getDevicePixelRatio","dispatchAction","isDisposed","on","off","getDataURL","getConnectedDataURL","getModel","getOption","getViewOfComponentModel","getViewOfSeriesModel"];function Fu(e){E(Gu,function(t){this[t]=T(e[t],e)},this)}var Wu={};function Hu(){this._coordinateSystems=[]}Hu.prototype={constructor:Hu,create:function(n,a){var o=[];E(Wu,function(t,e){var i=t.create(n,a);o=o.concat(i||[])}),this._coordinateSystems=o},update:function(e,i){E(this._coordinateSystems,function(t){t.update&&t.update(e,i)})},getCoordinateSystems:function(){return this._coordinateSystems.slice()}},Hu.register=function(t,e){Wu[t]=e},Hu.get=function(t){return Wu[t]};var Zu=E,Uu=D,Xu=N,Yu=m,ju=/^(min|max)?(.+)$/;function qu(t){this._api=t,this._timelineOptions=[],this._mediaList=[],this._mediaDefault,this._currentMediaIndices=[],this._optionBackup,this._newBaseOption}function Ku(t,e,i){var o={width:e,height:i,aspectratio:e/i},r=!0;return E(t,function(t,e){var i=e.match(ju);if(i&&i[1]&&i[2]){var n=i[1],a=i[2].toLowerCase();!function(t,e,i){return"min"===i?e<=t:"max"===i?t<=e:t===e}(o[a],t,n)&&(r=!1)}}),r}qu.prototype={constructor:qu,setOption:function(t,e){t&&E(wa(t.series),function(t){t&&t.data&&V(t.data)&&K(t.data)}),t=Uu(t);var i=this._optionBackup,n=function(t,i,n){var e,a,o=[],r=[],s=t.timeline;t.baseOption&&(a=t.baseOption);(s||t.options)&&(a=a||{},o=(t.options||[]).slice());if(t.media){a=a||{};var l=t.media;Zu(l,function(t){t&&t.option&&(t.query?r.push(t):e=e||t)})}a=a||t;a.timeline||(a.timeline=s);return Zu([a].concat(o).concat(N(r,function(t){return t.option})),function(e){Zu(i,function(t){t(e,n)})}),{baseOption:a,timelineOptions:o,mediaDefault:e,mediaList:r}}.call(this,t,e,!i);this._newBaseOption=n.baseOption,i?(function(a,t){Zu(t=t||{},function(t,e){if(null!=t){var i=a[e];if(fu.hasClass(e)){t=wa(t);var n=Ia(i=wa(i),t);a[e]=Xu(n,function(t){return t.option&&t.exist?Yu(t.exist,t.option,!0):t.exist||t.option})}else a[e]=Yu(i,t,!0)}})}(i.baseOption,n.baseOption),n.timelineOptions.length&&(i.timelineOptions=n.timelineOptions),n.mediaList.length&&(i.mediaList=n.mediaList),n.mediaDefault&&(i.mediaDefault=n.mediaDefault)):this._optionBackup=n},mountOption:function(t){var e=this._optionBackup;return this._timelineOptions=Xu(e.timelineOptions,Uu),this._mediaList=Xu(e.mediaList,Uu),this._mediaDefault=Uu(e.mediaDefault),this._currentMediaIndices=[],Uu(t?e.baseOption:this._newBaseOption)},getTimelineOption:function(t){var e,i=this._timelineOptions;if(i.length){var n=t.getComponent("timeline");n&&(e=Uu(i[n.getCurrentIndex()],!0))}return e},getMediaOption:function(t){var e=this._api.getWidth(),i=this._api.getHeight(),n=this._mediaList,a=this._mediaDefault,o=[],r=[];if(!n.length&&!a)return r;for(var s=0,l=n.length;s<l;s++)Ku(n[s].query,e,i)&&o.push(s);return!o.length&&a&&(o=[-1]),o.length&&!function(t,e){return t.join(",")===e.join(",")}(o,this._currentMediaIndices)&&(r=Xu(o,function(t){return Uu(-1===t?a.option:n[t].option)})),this._currentMediaIndices=o,r}};var $u=E,Ju=z,Qu=["areaStyle","lineStyle","nodeStyle","linkStyle","chordStyle","label","labelLine"];function th(t){var e=t&&t.itemStyle;if(e)for(var i=0,n=Qu.length;i<n;i++){var a=Qu[i],o=e.normal,r=e.emphasis;o&&o[a]&&(t[a]=t[a]||{},t[a].normal?m(t[a].normal,o[a]):t[a].normal=o[a],o[a]=null),r&&r[a]&&(t[a]=t[a]||{},t[a].emphasis?m(t[a].emphasis,r[a]):t[a].emphasis=r[a],r[a]=null)}}function eh(t,e,i){if(t&&t[e]&&(t[e].normal||t[e].emphasis)){var n=t[e].normal,a=t[e].emphasis;n&&(i?(t[e].normal=t[e].emphasis=null,C(t[e],n)):t[e]=n),a&&(t.emphasis=t.emphasis||{},t.emphasis[e]=a)}}function ih(t){eh(t,"itemStyle"),eh(t,"lineStyle"),eh(t,"areaStyle"),eh(t,"label"),eh(t,"labelLine"),eh(t,"upperLabel"),eh(t,"edgeLabel")}function nh(t,e){var i=Ju(t)&&t[e],n=Ju(i)&&i.textStyle;if(n)for(var a=0,o=Sa.length;a<o;a++){e=Sa[a];n.hasOwnProperty(e)&&(i[e]=n[e])}}function ah(t){t&&(ih(t),nh(t,"label"),t.emphasis&&nh(t.emphasis,"label"))}function oh(t){return k(t)?t:t?[t]:[]}function rh(t){return(k(t)?t[0]:t)||{}}function sh(e,t){$u(oh(e.series),function(t){Ju(t)&&function(t){if(Ju(t)){th(t),ih(t),nh(t,"label"),nh(t,"upperLabel"),nh(t,"edgeLabel"),t.emphasis&&(nh(t.emphasis,"label"),nh(t.emphasis,"upperLabel"),nh(t.emphasis,"edgeLabel")),(i=t.markPoint)&&(th(i),ah(i)),(n=t.markLine)&&(th(n),ah(n));var e=t.markArea;e&&ah(e);var i,n,a=t.data;if("graph"===t.type){a=a||t.nodes;var o=t.links||t.edges;if(o&&!V(o))for(var r=0;r<o.length;r++)ah(o[r]);E(t.categories,function(t){ih(t)})}if(a&&!V(a))for(r=0;r<a.length;r++)ah(a[r]);if((i=t.markPoint)&&i.data){var s=i.data;for(r=0;r<s.length;r++)ah(s[r])}if((n=t.markLine)&&n.data){var l=n.data;for(r=0;r<l.length;r++)k(l[r])?(ah(l[r][0]),ah(l[r][1])):ah(l[r])}"gauge"===t.type?(nh(t,"axisLabel"),nh(t,"title"),nh(t,"detail")):"treemap"===t.type?(eh(t.breadcrumb,"itemStyle"),E(t.levels,function(t){ih(t)})):"tree"===t.type&&ih(t.leaves)}}(t)});var i=["xAxis","yAxis","radiusAxis","angleAxis","singleAxis","parallelAxis","radar"];t&&i.push("valueAxis","categoryAxis","logAxis","timeAxis"),$u(i,function(t){$u(oh(e[t]),function(t){t&&(nh(t,"axisLabel"),nh(t.axisPointer,"label"))})}),$u(oh(e.parallel),function(t){var e=t&&t.parallelAxisDefault;nh(e,"axisLabel"),nh(e&&e.axisPointer,"label")}),$u(oh(e.calendar),function(t){eh(t,"itemStyle"),nh(t,"dayLabel"),nh(t,"monthLabel"),nh(t,"yearLabel")}),$u(oh(e.radar),function(t){nh(t,"name")}),$u(oh(e.geo),function(t){Ju(t)&&(ah(t),$u(oh(t.regions),function(t){ah(t)}))}),$u(oh(e.timeline),function(t){ah(t),eh(t,"label"),eh(t,"itemStyle"),eh(t,"controlStyle",!0);var e=t.data;k(e)&&E(e,function(t){z(t)&&(eh(t,"label"),eh(t,"itemStyle"))})}),$u(oh(e.toolbox),function(t){eh(t,"iconStyle"),$u(t.feature,function(t){eh(t,"iconStyle")})}),nh(rh(e.axisPointer),"label"),nh(rh(e.tooltip).axisPointer,"label")}function lh(e){E(uh,function(t){t[0]in e&&!(t[1]in e)&&(e[t[1]]=e[t[0]])})}var uh=[["x","left"],["y","top"],["x2","right"],["y2","bottom"]],hh=["grid","geo","parallel","legend","toolbox","title","visualMap","dataZoom","timeline"],ch=function(i,t){sh(i,t),i.series=wa(i.series),E(i.series,function(t){if(z(t)){var e=t.type;if("line"===e)null!=t.clipOverflow&&(t.clip=t.clipOverflow);else if("pie"===e||"gauge"===e)null!=t.clockWise&&(t.clockwise=t.clockWise);else if("gauge"===e){var i=function(t,e){e=e.split(",");for(var i=t,n=0;n<e.length&&null!=(i=i&&i[e[n]]);n++);return i}(t,"pointer.color");null!=i&&function(t,e,i,n){e=e.split(",");for(var a,o=t,r=0;r<e.length-1;r++)null==o[a=e[r]]&&(o[a]={}),o=o[a];!n&&null!=o[e[r]]||(o[e[r]]=i)}(t,"itemStyle.color",i)}lh(t)}}),i.dataRange&&(i.visualMap=i.dataRange),E(hh,function(t){var e=i[t];e&&(k(e)||(e=[e]),E(e,function(t){lh(t)}))})};function dh(m){E(m,function(h,c){var d=[],f=[NaN,NaN],t=[h.stackResultDimension,h.stackedOverDimension],p=h.data,g=h.isStackedByIndex,e=p.map(t,function(t,e,i){var n,a,o=p.get(h.stackedDimension,i);if(isNaN(o))return f;g?a=p.getRawIndex(i):n=p.get(h.stackedByDimension,i);for(var r=NaN,s=c-1;0<=s;s--){var l=m[s];if(g||(a=l.data.rawIndexOf(l.stackedByDimension,n)),0<=a){var u=l.data.getByRawIndex(l.stackResultDimension,a);if(0<=o&&0<u||o<=0&&u<0){o+=u,r=u;break}}}return d[0]=o,d[1]=r,d});p.hostModel.setData(e),h.data=e})}function fh(t,e){Lu.isInstance(t)||(t=Lu.seriesDataToSource(t)),this._source=t;var i=this._data=t.data,n=t.sourceFormat;n===Tu&&(this._offset=0,this._dimSize=e,this._data=i),L(this,gh[n===Su?n+"_"+t.seriesLayoutBy:n])}var ph=fh.prototype;ph.pure=!1;var gh={arrayRows_column:{pure:ph.persistent=!0,count:function(){return Math.max(0,this._data.length-this._source.startIndex)},getItem:function(t){return this._data[t+this._source.startIndex]},appendData:yh},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=[],i=this._data,n=0;n<i.length;n++){var a=i[n];e.push(a?a[t]:null)}return e},appendData:function(){throw new Error('Do not support appendData when set seriesLayoutBy: "row".')}},objectRows:{pure:!0,count:mh,getItem:vh,appendData:yh},keyedColumns:{pure:!0,count:function(){var t=this._source.dimensionsDefine[0].name,e=this._data[t];return e?e.length:0},getItem:function(t){for(var e=[],i=this._source.dimensionsDefine,n=0;n<i.length;n++){var a=this._data[i[n].name];e.push(a?a[t]:null)}return e},appendData:function(t){var a=this._data;E(t,function(t,e){for(var i=a[e]||(a[e]=[]),n=0;n<(t||[]).length;n++)i.push(t[n])})}},original:{count:mh,getItem:vh,appendData:yh},typedArray:{persistent:!(ph.getSource=function(){return this._source}),pure:!0,count:function(){return this._data?this._data.length/this._dimSize:0},getItem:function(t,e){t-=this._offset,e=e||[];for(var i=this._dimSize*t,n=0;n<this._dimSize;n++)e[n]=this._data[i+n];return e},appendData:function(t){this._data=t},clean:function(){this._offset+=this.count(),this._data=null}}};function mh(){return this._data.length}function vh(t){return this._data[t]}function yh(t){for(var e=0;e<t.length;e++)this._data.push(t[e])}var xh={arrayRows:_h,objectRows:function(t,e,i,n){return null!=i?t[n]:t},keyedColumns:_h,original:function(t,e,i,n){var a=Ma(t);return null!=i&&a instanceof Array?a[i]:a},typedArray:_h};function _h(t,e,i,n){return null!=i?t[i]:t}var wh={arrayRows:bh,objectRows:function(t,e,i,n){return Sh(t[e],this._dimensionInfos[e])},keyedColumns:bh,original:function(t,e,i,n){var a=t&&(null==t.value?t:t.value);return!this._rawData.pure&&function(t){return ya(t)&&!(t instanceof Array)}(t)&&(this.hasItemOption=!0),Sh(a instanceof Array?a[n]:a,this._dimensionInfos[e])},typedArray:function(t,e,i,n){return t[n]}};function bh(t,e,i,n){return Sh(t[n],this._dimensionInfos[e])}function Sh(t,e){var i=e&&e.type;if("ordinal"!==i)return"time"===i&&"number"!=typeof t&&null!=t&&"-"!==t&&(t=+Ll(t)),null==t||""===t?NaN:+t;var n=e&&e.ordinalMeta;return n?n.parseAndCollect(t):t}function Mh(t,e,i){if(t){var n=t.getRawDataItem(e);if(null!=n){var a,o,r=t.getProvider().getSource().sourceFormat,s=t.getDimensionInfo(i);return s&&(a=s.name,o=s.index),xh[r](n,e,o,a)}}}function Ih(t,e,i){if(t){var n=t.getProvider().getSource().sourceFormat;if(n===bu||n===Mu){var a=t.getRawDataItem(e);return n!==bu||z(a)||(a=null),a?a[i]:void 0}}}var Ah=/\{@(.+?)\}/g,Th={getDataParams:function(t,e){var i=this.getData(e),n=this.getRawValue(t,e),a=i.getRawIndex(t),o=i.getName(t),r=i.getRawDataItem(t),s=i.getItemVisual(t,"color"),l=i.getItemVisual(t,"borderColor"),u=this.ecModel.getComponent("tooltip"),h=Ea(u&&u.get("renderMode")),c=this.mainType,d="series"===c,f=i.userOutput;return{componentType:c,componentSubType:this.subType,componentIndex:this.componentIndex,seriesType:d?this.subType:null,seriesIndex:this.seriesIndex,seriesId:d?this.id:null,seriesName:d?this.name:null,name:o,dataIndex:a,data:r,dataType:e,value:n,color:s,borderColor:l,dimensionNames:f?f.dimensionNames:null,encode:f?f.encode:null,marker:Yl({color:s,renderMode:h}),$vars:["seriesName","name","value"]}},getFormattedLabel:function(n,t,e,i,a){t=t||"normal";var o=this.getData(e),r=o.getItemModel(n),s=this.getDataParams(n,e);null!=i&&s.value instanceof Array&&(s.value=s.value[i]);var l=r.get("normal"===t?[a||"label","formatter"]:[t,a||"label","formatter"]);return"function"==typeof l?(s.status=t,s.dimensionIndex=i,l(s)):"string"==typeof l?Ul(l,s).replace(Ah,function(t,e){var i=e.length;return"["===e.charAt(0)&&"]"===e.charAt(i-1)&&(e=+e.slice(1,i-1)),Mh(o,n,e)}):void 0},getRawValue:function(t,e){return Mh(this.getData(e),t)},formatTooltip:function(){}};function Dh(t){return new Ch(t)}function Ch(t){t=t||{},this._reset=t.reset,this._plan=t.plan,this._count=t.count,this._onDirty=t.onDirty,this._dirty=!0,this.context}var Lh=Ch.prototype;Lh.perform=function(t){var e,i=this._upstream,n=t&&t.skip;if(this._dirty&&i){var a=this.context;a.data=a.outputData=i.context.outputData}this.__pipeline&&(this.__pipeline.currentTask=this),this._plan&&!n&&(e=this._plan(this.context));var o,r=h(this._modBy),s=this._modDataCount||0,l=h(t&&t.modBy),u=t&&t.modDataCount||0;function h(t){return 1<=t||(t=1),t}r===l&&s===u||(e="reset"),!this._dirty&&"reset"!==e||(this._dirty=!1,o=function(t,e){var i,n;t._dueIndex=t._outputDueEnd=t._dueEnd=0,t._settedOutputEnd=null,!e&&t._reset&&((i=t._reset(t.context))&&i.progress&&(n=i.forceFirstProgress,i=i.progress),k(i)&&!i.length&&(i=null));t._progress=i,t._modBy=t._modDataCount=null;var a=t._downstream;return a&&a.dirty(),n}(this,n)),this._modBy=l,this._modDataCount=u;var c=t&&t.step;if(this._dueEnd=i?i._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(!n&&(o||d<f)){var p=this._progress;if(k(p))for(var g=0;g<p.length;g++)Gh(this,p[g],d,f,l,u);else Gh(this,p,d,f,l,u)}this._dueIndex=f;var m=null!=this._settedOutputEnd?this._settedOutputEnd:f;this._outputDueEnd=m}else this._dueIndex=this._outputDueEnd=null!=this._settedOutputEnd?this._settedOutputEnd:this._dueEnd;return this.unfinished()};var kh,Ph,Nh,Oh,Eh,Rh,zh=Rh={reset:function(t,e,i,n){Ph=t,kh=e,Nh=i,Oh=n,Eh=Math.ceil(Oh/Nh),Rh.next=1<Nh&&0<Oh?Vh:Bh}};function Bh(){return Ph<kh?Ph++:null}function Vh(){var t=Ph%Eh*Nh+Math.ceil(Ph/Eh),e=kh<=Ph?null:t<Oh?t:Ph;return Ph++,e}function Gh(t,e,i,n,a,o){zh.reset(i,n,a,o),t._callingProgress=e,t._callingProgress({start:i,end:n,count:n-i,next:zh.next},t.context)}Lh.dirty=function(){this._dirty=!0,this._onDirty&&this._onDirty(this.context)},Lh.unfinished=function(){return this._progress&&this._dueIndex<this._dueEnd},Lh.pipe=function(t){this._downstream===t&&!this._dirty||((this._downstream=t)._upstream=this,t.dirty())},Lh.dispose=function(){this._disposed||(this._upstream&&(this._upstream._downstream=null),this._downstream&&(this._downstream._upstream=null),this._dirty=!1,this._disposed=!0)},Lh.getUpstream=function(){return this._upstream},Lh.getDownstream=function(){return this._downstream},Lh.setOutputEnd=function(t){this._outputDueEnd=this._settedOutputEnd=t};var Fh=La(),Wh=fu.extend({type:"series.__base__",seriesIndex:0,coordinateSystem:null,defaultOption:null,legendDataProvider:null,visualColorAccessPath:"itemStyle.color",visualBorderColorAccessPath:"itemStyle.borderColor",layoutMode:null,init:function(t,e,i,n){this.seriesIndex=this.componentIndex,this.dataTask=Dh({count:Zh,reset:Uh}),this.dataTask.context={model:this},this.mergeDefaultAndTheme(t,i),Pu(this);var a=this.getInitialData(t,i);Yh(a,this),this.dataTask.context.data=a,Fh(this).dataBeforeProcessed=a,Hh(this)},mergeDefaultAndTheme:function(t,e){var i=this.layoutMode,n=i?su(t):{},a=this.subType;fu.hasClass(a)&&(a+="Series"),m(t,e.getTheme().get(this.subType)),m(t,this.getDefaultOption()),ba(t,"label",["show"]),this.fillDataTextStyle(t.data),i&&ru(t,n,i)},mergeOption:function(t,e){t=m(this.option,t,!0),this.fillDataTextStyle(t.data);var i=this.layoutMode;i&&ru(this.option,t,i),Pu(this);var n=this.getInitialData(t,e);Yh(n,this),this.dataTask.dirty(),this.dataTask.context.data=n,Fh(this).dataBeforeProcessed=n,Hh(this)},fillDataTextStyle:function(t){if(t&&!V(t))for(var e=["show"],i=0;i<t.length;i++)t[i]&&t[i].label&&ba(t[i],"label",e)},getInitialData:function(){},appendData:function(t){this.getRawData().appendData(t.data)},getData:function(t){var e=qh(this);if(e){var i=e.context.data;return null==t?i:i.getLinkedData(t)}return Fh(this).data},setData:function(t){var e=qh(this);if(e){var i=e.context;i.data!==t&&e.modifyOutputEnd&&e.setOutputEnd(t.count()),i.outputData=t,e!==this.dataTask&&(i.data=t)}Fh(this).data=t},getSource:function(){return function(t){return ku(t).source}(this)},getRawData:function(){return Fh(this).dataBeforeProcessed},getBaseAxis:function(){var t=this.coordinateSystem;return t&&t.getBaseAxis&&t.getBaseAxis()},formatTooltip:function(a,h,t,c){var d=this,e="html"===(c=c||"html")?"<br/>":"\n",f="richText"===c,p={},g=0;function i(t){return{renderMode:c,content:Wl(zl(t)),style:p}}var m=this.getData(),o=m.mapDimension("defaultedTooltip",!0),n=o.length,r=this.getRawValue(a),s=k(r),v=m.getItemVisual(a,"color");z(v)&&v.colorStops&&(v=(v.colorStops[0]||{}).color),v=v||"transparent";var l=(1<n||s&&!n?function(t){var l=S(t,function(t,e,i){var n=m.getDimensionInfo(i);return t|(n&&!1!==n.tooltip&&null!=n.displayName)},0),u=[];function e(t,e){var i=m.getDimensionInfo(e);if(i&&!1!==i.otherDims.tooltip){var n=i.type,a="sub"+d.seriesIndex+"at"+g,o=Yl({color:v,type:"subItem",renderMode:c,markerId:a}),r="string"==typeof o?o:o.content,s=(l?r+Wl(i.displayName||"-")+": ":"")+Wl("ordinal"===n?t+"":"time"===n?h?"":ql("yyyy/MM/dd hh:mm:ss",t):zl(t));s&&u.push(s),f&&(p[a]=v,++g)}}o.length?E(o,function(t){e(Mh(m,a,t),t)}):E(t,e);var i=l?f?"\n":"<br/>":"",n=i+u.join(i||", ");return{renderMode:c,content:n,style:p}}(r):i(n?Mh(m,a,o[0]):s?r[0]:r)).content,u=d.seriesIndex+"at"+g,y=Yl({color:v,type:"item",renderMode:c,markerId:u});p[u]=v,++g;var x=m.getName(a),_=this.name;Ta(this)||(_=""),_=_?Wl(_)+(h?": ":e):"";var w="string"==typeof y?y:y.content;return{html:h?w+_+l:_+w+(x?Wl(x)+": "+l:l),markers:p}},isAnimationEnabled:function(){if(v.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,i){var n=this.ecModel,a=yu.getColorFromPalette.call(this,t,e,i);return a=a||n.getColorFromPalette(t,e,i)},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});function Hh(t){var e=t.name;Ta(t)||(t.name=function(t){var i=t.getRawData(),e=i.mapDimension("seriesName",!0),n=[];return E(e,function(t){var e=i.getDimensionInfo(t);e.displayName&&n.push(e.displayName)}),n.join(" ")}(t)||e)}function Zh(t){return t.model.getRawData().count()}function Uh(t){var e=t.model;return e.setData(e.getRawData().cloneShallow()),Xh}function Xh(t,e){t.end>e.outputData.count()&&e.model.getRawData().cloneShallow(e.outputData)}function Yh(e,i){E(e.CHANGABLE_METHODS,function(t){e.wrapMethod(t,A(jh,i))})}function jh(t){var e=qh(t);e&&e.setOutputEnd(this.count())}function qh(t){var e=(t.ecModel||{}).scheduler,i=e&&e.getPipeline(t.uid);if(i){var n=i.currentTask;if(n){var a=n.agentStubMap;a&&(n=a.get(t.uid))}return n}}b(Wh,Th),b(Wh,yu);var Kh=function(){this.group=new Si,this.uid=ml("viewComponent")};Kh.prototype={constructor:Kh,init:function(t,e){},render:function(t,e,i,n){},dispose:function(){},filterForExposedEvent:null};var $h=Kh.prototype;$h.updateView=$h.updateLayout=$h.updateVisual=function(t,e,i,n){},Ga(Kh),Ua(Kh,{registerWhenExtend:!0});function Jh(){var s=La();return function(t){var e=s(t),i=t.pipelineContext,n=e.large,a=e.progressiveRender,o=e.large=i.large,r=e.progressiveRender=i.progressiveRender;return!!(n^o||a^r)&&"reset"}}var Qh=La(),tc=Jh();function ec(){this.group=new Si,this.uid=ml("viewChart"),this.renderTask=Dh({plan:oc,reset:rc}),this.renderTask.context={view:this}}var ic=ec.prototype={type:"chart",init:function(t,e){},render:function(t,e,i,n){},highlight:function(t,e,i,n){ac(t.getData(),n,"emphasis")},downplay:function(t,e,i,n){ac(t.getData(),n,"normal")},remove:function(t,e){this.group.removeAll()},dispose:function(){},incrementalPrepareRender:null,incrementalRender:null,updateTransform:null,filterForExposedEvent:null};function nc(t,e,i){if(t&&(t.trigger(e,i),t.isGroup&&!Rs(t)))for(var n=0,a=t.childCount();n<a;n++)nc(t.childAt(n),e,i)}function ac(e,t,i){var n=Ca(e,t),a=t&&null!=t.highlightKey?zs(t.highlightKey):null;null!=n?E(wa(n),function(t){nc(e.getItemGraphicEl(t),i,a)}):e.eachItemGraphicEl(function(t){nc(t,i,a)})}function oc(t){return tc(t.model)}function rc(t){var e=t.model,i=t.ecModel,n=t.api,a=t.payload,o=e.pipelineContext.progressiveRender,r=t.view,s=a&&Qh(a).updateMethod,l=o?"incrementalPrepareRender":s&&r[s]?s:"render";return"render"!==l&&r[l](e,i,n,a),sc[l]}ic.updateView=ic.updateLayout=ic.updateVisual=function(t,e,i,n){this.render(t,e,i,n)},Ga(ec),Ua(ec,{registerWhenExtend:!0}),ec.markUpdateMethod=function(t,e){Qh(t).updateMethod=e};var sc={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)}}},lc="\0__throttleOriginMethod",uc="\0__throttleRate",hc="\0__throttleType";function cc(t,i,n){var a,o,r,s,l,u=0,h=0,c=null;function d(){h=(new Date).getTime(),c=null,t.apply(r,s||[])}i=i||0;function e(){a=(new Date).getTime(),r=this,s=arguments;var t=l||i,e=l||n;l=null,o=a-(e?u:h)-t,clearTimeout(c),e?c=setTimeout(d,t):0<=o?d():c=setTimeout(d,-o),u=a}return e.clear=function(){c&&(clearTimeout(c),c=null)},e.debounceNextCall=function(t){l=t},e}function dc(t,e,i,n){var a=t[e];if(a){var o=a[lc]||a,r=a[hc];if(a[uc]!==i||r!==n){if(null==i||!n)return t[e]=o;(a=t[e]=cc(o,i,"debounce"===n))[lc]=o,a[hc]=n,a[uc]=i}return a}}function fc(t,e){var i=t[e];i&&i[lc]&&(t[e]=i[lc])}var pc={createOnAllSeries:!0,performRawSeries:!0,reset:function(e,t){var i=e.getData(),o=(e.visualColorAccessPath||"itemStyle.color").split("."),n=e.get(o)||e.getColorFromPalette(e.name,null,t.getSeriesCount());i.setVisual("color",n);var r=(e.visualBorderColorAccessPath||"itemStyle.borderColor").split("."),a=e.get(r);if(i.setVisual("borderColor",a),!t.isSeriesFiltered(e)){"function"!=typeof n||n instanceof jr||i.each(function(t){i.setItemVisual(t,"color",n(e.getDataParams(t)))});return{dataEach:i.hasItemOption?function(t,e){var i=t.getItemModel(e),n=i.get(o,!0),a=i.get(r,!0);null!=n&&t.setItemVisual(e,"color",n),null!=a&&t.setItemVisual(e,"borderColor",a)}:null}}}},gc={legend:{selector:{all:"鍏ㄩ��",inverse:"鍙嶉��"}},toolbox:{brush:{title:{rect:"鐭╁舰閫夋嫨",polygon:"鍦堥��",lineX:"妯悜閫夋嫨",lineY:"绾靛悜閫夋嫨",keep:"淇濇寔閫夋嫨",clear:"娓呴櫎閫夋嫨"}},dataView:{title:"鏁版嵁瑙嗗浘",lang:["鏁版嵁瑙嗗浘","鍏抽棴","鍒锋柊"]},dataZoom:{title:{zoom:"鍖哄煙缂╂斁",back:"鍖哄煙缂╂斁杩樺師"}},magicType:{title:{line:"鍒囨崲涓烘姌绾垮浘",bar:"鍒囨崲涓烘煴鐘跺浘",stack:"鍒囨崲涓哄爢鍙�",tiled:"鍒囨崲涓哄钩閾�"}},restore:{title:"杩樺師"},saveAsImage:{title:"淇濆瓨涓哄浘鐗�",lang:["鍙抽敭鍙﹀瓨涓哄浘鐗�"]}},series:{typeNames:{pie:"楗煎浘",bar:"鏌辩姸鍥�",line:"鎶樼嚎鍥�",scatter:"鏁g偣鍥�",effectScatter:"娑熸吉鏁g偣鍥�",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:""}}}},mc=function(t,e){var o=e.getModel("aria");if(o.get("show"))if(o.get("description"))t.setAttribute("aria-label",o.get("description"));else{var h=0;e.eachSeries(function(t,e){++h},this);var i,c=o.get("data.maxCount")||10,n=o.get("series.maxCount")||10,d=Math.min(h,n);if(!(h<1)){var a=function(){var t=e.getModel("title").option;t&&t.length&&(t=t[0]);return t&&t.text}();i=a?p(g("general.withTitle"),{title:a}):g("general.withoutTitle");var f=[];i+=p(g(1<h?"series.multiple.prefix":"series.single.prefix"),{seriesCount:h}),e.eachSeries(function(t,e){if(e<d){var i,n=t.get("name"),a="series."+(1<h?"multiple":"single")+".";i=p(i=g(n?a+"withName":a+"withoutName"),{seriesId:t.seriesIndex,seriesName:t.get("name"),seriesType:function(t){return gc.series.typeNames[t]||"鑷畾涔夊浘"}(t.subType)});var o=t.getData();(window.data=o).count()>c?i+=p(g("data.partialData"),{displayCnt:c}):i+=g("data.allData");for(var r=[],s=0;s<o.count();s++)if(s<c){var l=o.getName(s),u=Mh(o,s);r.push(p(g(l?"data.withName":"data.withoutName"),{name:l,value:u}))}i+=r.join(g("data.separator.middle"))+g("data.separator.end"),f.push(i)}}),i+=f.join(g("series.multiple.separator.middle"))+g("series.multiple.separator.end"),t.setAttribute("aria-label",i)}}function p(t,e){if("string"!=typeof t)return t;var i=t;return E(e,function(t,e){i=i.replace(new RegExp("\\{\\s*"+e+"\\s*\\}","g"),t)}),i}function g(t){var e=o.get(t);if(null!=e)return e;for(var i=t.split("."),n=gc.aria,a=0;a<i.length;++a)n=n[i[a]];return n}},vc=Math.PI;function yc(t,e,i,n){this.ecInstance=t,this.api=e,this.unfinished;i=this._dataProcessorHandlers=i.slice(),n=this._visualHandlers=n.slice();this._allHandlers=i.concat(n),this._stageTaskMap=Q()}var xc=yc.prototype;function _c(l,t,u,h,c){var d;function f(t,e){return t.setDirty&&(!t.dirtyMap||t.dirtyMap.get(e.__pipeline.id))}c=c||{},E(t,function(n,t){if(!c.visualType||c.visualType===n.visualType){var e=l._stageTaskMap.get(n.uid),i=e.seriesTaskMap,a=e.overallTask;if(a){var o,r=a.agentStubMap;r.each(function(t){f(c,t)&&(t.dirty(),o=!0)}),o&&a.dirty(),wc(a,h);var s=l.getPerformArgs(a,c.block);r.each(function(t){t.perform(s)}),d|=a.perform(s)}else i&&i.each(function(t,e){f(c,t)&&t.dirty();var i=l.getPerformArgs(t,c.block);i.skip=!n.performRawSeries&&u.isSeriesFiltered(t.context.model),wc(t,h),d|=t.perform(i)})}}),l.unfinished|=d}xc.restoreData=function(t,e){t.restoreData(e),this._stageTaskMap.each(function(t){var e=t.overallTask;e&&e.dirty()})},xc.getPerformArgs=function(t,e){if(t.__pipeline){var i=this._pipelineMap.get(t.__pipeline.id),n=i.context,a=!e&&i.progressiveEnabled&&(!n||n.progressiveRender)&&t.__idxInPipeline>i.blockIndex?i.step:null,o=n&&n.modDataCount;return{step:a,modBy:null!=o?Math.ceil(o/a):null,modDataCount:o}}},xc.getPipeline=function(t){return this._pipelineMap.get(t)},xc.updateStreamModes=function(t,e){var i=this._pipelineMap.get(t.uid),n=t.getData().count(),a=i.progressiveEnabled&&e.incrementalPrepareRender&&n>=i.threshold,o=t.get("large")&&n>=t.get("largeThreshold"),r="mod"===t.get("progressiveChunkMode")?n:null;t.pipelineContext=i.context={progressiveRender:a,modDataCount:r,large:o}},xc.restorePipelines=function(t){var n=this,a=n._pipelineMap=Q();t.eachSeries(function(t){var e=t.getProgressive(),i=t.uid;a.set(i,{id:i,head:null,tail:null,threshold:t.getProgressiveThreshold(),progressiveEnabled:e&&!(t.preventIncremental&&t.preventIncremental()),blockIndex:-1,step:Math.round(e||700),count:0}),kc(n,t,t.dataTask)})},xc.prepareStageTasks=function(){var i=this._stageTaskMap,n=this.ecInstance.getModel(),a=this.api;E(this._allHandlers,function(t){var e=i.get(t.uid)||i.set(t.uid,[]);t.reset&&function(n,a,t,o,r){var s=t.seriesTaskMap||(t.seriesTaskMap=Q()),e=a.seriesType,i=a.getTargetSeries;a.createOnAllSeries?o.eachRawSeries(l):e?o.eachRawSeriesByType(e,l):i&&i(o,r).each(l);function l(t){var e=t.uid,i=s.get(e)||s.set(e,Dh({plan:Ac,reset:Tc,count:Lc}));i.context={model:t,ecModel:o,api:r,useClearVisual:a.isVisual&&!a.isLayout,plan:a.plan,reset:a.reset,scheduler:n},kc(n,t,i)}var u=n._pipelineMap;s.each(function(t,e){u.get(e)||(t.dispose(),s.removeKey(e))})}(this,t,e,n,a),t.overallReset&&function(n,t,e,i,a){var o=e.overallTask=e.overallTask||Dh({reset:bc});o.context={ecModel:i,api:a,overallReset:t.overallReset,scheduler:n};var r=o.agentStubMap=o.agentStubMap||Q(),s=t.seriesType,l=t.getTargetSeries,u=!0,h=t.modifyOutputEnd;s?i.eachRawSeriesByType(s,c):l?l(i,a).each(c):(u=!1,E(i.getSeries(),c));function c(t){var e=t.uid,i=r.get(e);i||(i=r.set(e,Dh({reset:Sc,onDirty:Ic})),o.dirty()),i.context={model:t,overallProgress:u,modifyOutputEnd:h},i.agent=o,i.__block=u,kc(n,t,i)}var d=n._pipelineMap;r.each(function(t,e){d.get(e)||(t.dispose(),o.dirty(),r.removeKey(e))})}(this,t,e,n,a)},this)},xc.prepareView=function(t,e,i,n){var a=t.renderTask,o=a.context;o.model=e,o.ecModel=i,o.api=n,a.__block=!t.incrementalPrepareRender,kc(this,e,a)},xc.performDataProcessorTasks=function(t,e){_c(this,this._dataProcessorHandlers,t,e,{block:!0})},xc.performVisualTasks=function(t,e,i){_c(this,this._visualHandlers,t,e,i)},xc.performSeriesTasks=function(t){var e;t.eachSeries(function(t){e|=t.dataTask.perform()}),this.unfinished|=e},xc.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 wc=xc.updatePayload=function(t,e){"remain"!==e&&(t.context.payload=e)};function bc(t){t.overallReset(t.ecModel,t.api,t.payload)}function Sc(t,e){return t.overallProgress&&Mc}function Mc(){this.agent.dirty(),this.getDownstream().dirty()}function Ic(){this.agent&&this.agent.dirty()}function Ac(t){return t.plan&&t.plan(t.model,t.ecModel,t.api,t.payload)}function Tc(t){t.useClearVisual&&t.data.clearAllVisual();var e=t.resetDefines=wa(t.reset(t.model,t.ecModel,t.api,t.payload));return 1<e.length?N(e,function(t,e){return Cc(e)}):Dc}var Dc=Cc(0);function Cc(o){return function(t,e){var i=e.data,n=e.resetDefines[o];if(n&&n.dataEach)for(var a=t.start;a<t.end;a++)n.dataEach(i,a);else n&&n.progress&&n.progress(t,i)}}function Lc(t){return t.data.count()}function kc(t,e,i){var n=e.uid,a=t._pipelineMap.get(n);a.head||(a.head=i),a.tail&&a.tail.pipe(i),(a.tail=i).__idxInPipeline=a.count++,i.__pipeline=a}yc.wrapStageHandler=function(t,e){return O(t)&&(t={overallReset:t,seriesType:function(t){Pc=null;try{t(Nc,Oc)}catch(t){}return Pc}(t)}),t.uid=ml("stageHandler"),e&&(t.visualType=e),t};var Pc,Nc={},Oc={};function Ec(t,e){for(var i in e.prototype)t[i]=et}Ec(Nc,zu),Ec(Oc,Fu),Nc.eachSeriesByType=Nc.eachRawSeriesByType=function(t){Pc=t},Nc.eachComponent=function(t){"series"===t.mainType&&t.subType&&(Pc=t.subType)};function Rc(){return{axisLine:{lineStyle:{color:Vc}},axisTick:{lineStyle:{color:Vc}},axisLabel:{textStyle:{color:Vc}},splitLine:{lineStyle:{type:"dashed",color:"#aaa"}},splitArea:{areaStyle:{color:Vc}}}}var zc=["#37A2DA","#32C5E9","#67E0E3","#9FE6B8","#FFDB5C","#ff9f7f","#fb7293","#E062AE","#E690D1","#e7bcf3","#9d96f5","#8378EA","#96BFFF"],Bc={color:zc,colorLayer:[["#37A2DA","#ffd85c","#fd7b5f"],["#37A2DA","#67E0E3","#FFDB5C","#ff9f7f","#E062AE","#9d96f5"],["#37A2DA","#32C5E9","#9FE6B8","#FFDB5C","#ff9f7f","#fb7293","#e7bcf3","#8378EA","#96BFFF"],zc]},Vc="#eee",Gc=["#dd6b66","#759aa0","#e69d87","#8dc1a9","#ea7e53","#eedd78","#73a373","#73b9bc","#7289ab","#91ca8c","#f49f42"],Fc={color:Gc,backgroundColor:"#333",tooltip:{axisPointer:{lineStyle:{color:Vc},crossStyle:{color:Vc}}},legend:{textStyle:{color:Vc}},textStyle:{color:Vc},title:{textStyle:{color:Vc}},toolbox:{iconStyle:{normal:{borderColor:Vc}}},dataZoom:{textStyle:{color:Vc}},visualMap:{textStyle:{color:Vc}},timeline:{lineStyle:{color:Vc},itemStyle:{normal:{color:Gc[1]}},label:{normal:{textStyle:{color:Vc}}},controlStyle:{normal:{color:Vc,borderColor:Vc}}},timeAxis:Rc(),logAxis:Rc(),valueAxis:Rc(),categoryAxis:Rc(),line:{symbol:"circle"},graph:{color:Gc},gauge:{title:{textStyle:{color:Vc}}},candlestick:{itemStyle:{normal:{color:"#FD1050",color0:"#0CF49B",borderColor:"#FD1050",borderColor0:"#0CF49B"}}}};Fc.categoryAxis.splitLine.show=!1,fu.extend({type:"dataset",defaultOption:{seriesLayoutBy:Du,sourceHeader:null,dimensions:null,source:null},optionUpdated:function(){!function(t){var e=t.option.source,i=Au;if(V(e))i=Tu;else if(k(e)){0===e.length&&(i=Su);for(var n=0,a=e.length;n<a;n++){var o=e[n];if(null!=o){if(k(o)){i=Su;break}if(z(o)){i=Mu;break}}}}else if(z(e)){for(var r in e)if(e.hasOwnProperty(r)&&P(e[r])){i=Iu;break}}else if(null!=e)throw new Error("Invalid data");ku(t).sourceFormat=i}(this)}}),Kh.extend({type:"dataset"});var Wc=hr.extend({type:"ellipse",shape:{cx:0,cy:0,rx:0,ry:0},buildPath:function(t,e){var i=e.cx,n=e.cy,a=e.rx,o=e.ry,r=.5522848*a,s=.5522848*o;t.moveTo(i-a,n),t.bezierCurveTo(i-a,n-s,i-r,n-o,i,n-o),t.bezierCurveTo(i+r,n-o,i+a,n-s,i+a,n),t.bezierCurveTo(i+a,n+s,i+r,n+o,i,n+o),t.bezierCurveTo(i-r,n+o,i-a,n+s,i-a,n),t.closePath()}}),Hc=/[\s,]+/;function Zc(t){R(t)&&(t=(new DOMParser).parseFromString(t,"text/xml"));for(9===t.nodeType&&(t=t.firstChild);"svg"!==t.nodeName.toLowerCase()||1!==t.nodeType;)t=t.nextSibling;return t}function Uc(){this._defs={},this._root=null,this._isDefine=!1,this._isText=!1}Uc.prototype.parse=function(t,e){e=e||{};var i=Zc(t);if(!i)throw new Error("Illegal svg");var n=new Si;this._root=n;var a=i.getAttribute("viewBox")||"",o=parseFloat(i.getAttribute("width")||e.width),r=parseFloat(i.getAttribute("height")||e.height);isNaN(o)&&(o=null),isNaN(r)&&(r=null),$c(i,n,null,!0);for(var s,l,u=i.firstChild;u;)this._parseNode(u,n),u=u.nextSibling;if(a){var h=j(a).split(Hc);4<=h.length&&(s={x:parseFloat(h[0]||0),y:parseFloat(h[1]||0),width:parseFloat(h[2]),height:parseFloat(h[3])})}if(s&&null!=o&&null!=r&&(l=id(s,o,r),!e.ignoreViewBox)){var c=n;(n=new Si).add(c),c.scale=l.scale.slice(),c.position=l.position.slice()}return e.ignoreRootClip||null==o||null==r||n.setClipPath(new Hr({shape:{x:0,y:0,width:o,height:r}})),{root:n,width:o,height:r,viewBoxRect:s,viewBoxTransform:l}},Uc.prototype._parseNode=function(t,e){var i,n,a=t.nodeName.toLowerCase();if("defs"===a?this._isDefine=!0:"text"===a&&(this._isText=!0),this._isDefine){if(n=Yc[a]){var o=n.call(this,t),r=t.getAttribute("id");r&&(this._defs[r]=o)}}else(n=Xc[a])&&(i=n.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"===a?this._isDefine=!1:"text"===a&&(this._isText=!1)},Uc.prototype._parseText=function(t,e){if(1===t.nodeType){var i=t.getAttribute("dx")||0,n=t.getAttribute("dy")||0;this._textX+=parseFloat(i),this._textY+=parseFloat(n)}var a=new Dr({style:{text:t.textContent,transformText:!0},position:[this._textX||0,this._textY||0]});jc(e,a),$c(t,a,this._defs);var o=a.style.fontSize;o&&o<9&&(a.style.fontSize=9,a.scale=a.scale||[1,1],a.scale[0]*=o/9,a.scale[1]*=o/9);var r=a.getBoundingRect();return this._textX+=r.width,e.add(a),a};var Xc={g:function(t,e){var i=new Si;return jc(e,i),$c(t,i,this._defs),i},rect:function(t,e){var i=new Hr;return jc(e,i),$c(t,i,this._defs),i.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)}),i},circle:function(t,e){var i=new Lr;return jc(e,i),$c(t,i,this._defs),i.setShape({cx:parseFloat(t.getAttribute("cx")||0),cy:parseFloat(t.getAttribute("cy")||0),r:parseFloat(t.getAttribute("r")||0)}),i},line:function(t,e){var i=new Ur;return jc(e,i),$c(t,i,this._defs),i.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)}),i},ellipse:function(t,e){var i=new Wc;return jc(e,i),$c(t,i,this._defs),i.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)}),i},polygon:function(t,e){var i=t.getAttribute("points");i=i&&qc(i);var n=new Rr({shape:{points:i||[]}});return jc(e,n),$c(t,n,this._defs),n},polyline:function(t,e){var i=new hr;jc(e,i),$c(t,i,this._defs);var n=t.getAttribute("points");return n=n&&qc(n),new zr({shape:{points:n||[]}})},image:function(t,e){var i=new Yn;return jc(e,i),$c(t,i,this._defs),i.setStyle({image:t.getAttribute("xlink:href"),x:t.getAttribute("x"),y:t.getAttribute("y"),width:t.getAttribute("width"),height:t.getAttribute("height")}),i},text:function(t,e){var i=t.getAttribute("x")||0,n=t.getAttribute("y")||0,a=t.getAttribute("dx")||0,o=t.getAttribute("dy")||0;this._textX=parseFloat(i)+parseFloat(a),this._textY=parseFloat(n)+parseFloat(o);var r=new Si;return jc(e,r),$c(t,r,this._defs),r},tspan:function(t,e){var i=t.getAttribute("x"),n=t.getAttribute("y");null!=i&&(this._textX=parseFloat(i)),null!=n&&(this._textY=parseFloat(n));var a=t.getAttribute("dx")||0,o=t.getAttribute("dy")||0,r=new Si;return jc(e,r),$c(t,r,this._defs),this._textX+=a,this._textY+=o,r},path:function(t,e){var i=Tr(t.getAttribute("d")||"");return jc(e,i),$c(t,i,this._defs),i}},Yc={lineargradient:function(t){var e=parseInt(t.getAttribute("x1")||0,10),i=parseInt(t.getAttribute("y1")||0,10),n=parseInt(t.getAttribute("x2")||10,10),a=parseInt(t.getAttribute("y2")||0,10),o=new Jr(e,i,n,a);return function(t,e){var i=t.firstChild;for(;i;){if(1===i.nodeType){var n=i.getAttribute("offset");n=0<n.indexOf("%")?parseInt(n,10)/100:n?parseFloat(n):0;var a=i.getAttribute("stop-color")||"#000000";e.addColorStop(n,a)}i=i.nextSibling}}(t,o),o},radialgradient:function(t){}};function jc(t,e){t&&t.__inheritedStyle&&(e.__inheritedStyle||(e.__inheritedStyle={}),C(e.__inheritedStyle,t.__inheritedStyle))}function qc(t){for(var e=j(t).split(Hc),i=[],n=0;n<e.length;n+=2){var a=parseFloat(e[n]),o=parseFloat(e[n+1]);i.push([a,o])}return i}var Kc={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"};function $c(t,e,i,n){var a=e.__inheritedStyle||{},o="text"===e.type;if(1===t.nodeType&&(function(t,e){var i=t.getAttribute("transform");if(i){i=i.replace(/,/g," ");var n=null,a=[];i.replace(td,function(t,e,i){a.push(e,i)});for(var o=a.length-1;0<o;o-=2){var r=a[o],s=a[o-1];switch(n=n||Qt(),s){case"translate":r=j(r).split(Hc),ne(n,n,[parseFloat(r[0]),parseFloat(r[1]||0)]);break;case"scale":r=j(r).split(Hc),oe(n,n,[parseFloat(r[0]),parseFloat(r[1]||r[0])]);break;case"rotate":r=j(r).split(Hc),ae(n,n,parseFloat(r[0]));break;case"skew":r=j(r).split(Hc),console.warn("Skew transform is not supported yet");break;case"matrix":r=j(r).split(Hc);n[0]=parseFloat(r[0]),n[1]=parseFloat(r[1]),n[2]=parseFloat(r[2]),n[3]=parseFloat(r[3]),n[4]=parseFloat(r[4]),n[5]=parseFloat(r[5])}}e.setLocalTransform(n)}}(t,e),L(a,function(t){var e=t.getAttribute("style"),i={};if(!e)return i;var n,a={};ed.lastIndex=0;for(;null!=(n=ed.exec(e));)a[n[1]]=n[2];for(var o in Kc)Kc.hasOwnProperty(o)&&null!=a[o]&&(i[Kc[o]]=a[o]);return i}(t)),!n))for(var r in Kc)if(Kc.hasOwnProperty(r)){var s=t.getAttribute(r);null!=s&&(a[Kc[r]]=s)}var l=o?"textFill":"fill",u=o?"textStroke":"stroke";e.style=e.style||new Vi;var h=e.style;null!=a.fill&&h.set(l,Qc(a.fill,i)),null!=a.stroke&&h.set(u,Qc(a.stroke,i)),E(["lineWidth","opacity","fillOpacity","strokeOpacity","miterLimit","fontSize"],function(t){var e="lineWidth"===t&&o?"textStrokeWidth":t;null!=a[t]&&h.set(e,parseFloat(a[t]))}),a.textBaseline&&"auto"!==a.textBaseline||(a.textBaseline="alphabetic"),"alphabetic"===a.textBaseline&&(a.textBaseline="bottom"),"start"===a.textAlign&&(a.textAlign="left"),"end"===a.textAlign&&(a.textAlign="right"),E(["lineDashOffset","lineCap","lineJoin","fontWeight","fontFamily","fontStyle","textAlign","textBaseline"],function(t){null!=a[t]&&h.set(t,a[t])}),a.lineDash&&(e.style.lineDash=j(a.lineDash).split(Hc)),h[u]&&"none"!==h[u]&&(e[u]=!0),e.__inheritedStyle=a}var Jc=/url\(\s*#(.*?)\)/;function Qc(t,e){var i=e&&t&&t.match(Jc);return i?e[j(i[1])]:t}var td=/(translate|scale|rotate|skewX|skewY|matrix)\(([\-\s0-9\.e,]*)\)/g;var ed=/([^\s:;]+)\s*:\s*([^:;]+)/g;function id(t,e,i){var n=e/t.width,a=i/t.height,o=Math.min(n,a);return{scale:[o,o],position:[-(t.x+t.width/2)*o+e/2,-(t.y+t.height/2)*o+i/2]}}var nd=Q(),ad={registerMap:function(t,e,i){var n;return E(n=k(e)?e:e.svg?[{type:"svg",source:e.svg,specialAreas:e.specialAreas}]:(e.geoJson&&!e.features&&(i=e.specialAreas,e=e.geoJson),[{type:"geoJSON",source:e,specialAreas:i}]),function(t){var e=t.type;"geoJson"===e&&(e=t.type="geoJSON"),(0,od[e])(t)}),nd.set(t,n)},retrieveMap:function(t){return nd.get(t)}},od={geoJSON:function(t){var e=t.source;t.geoJSON=R(e)?"undefined"!=typeof JSON&&JSON.parse?JSON.parse(e):new Function("return ("+e+");")():e},svg:function(t){t.svgXML=Zc(t.source)}},rd=Y,sd=E,ld=O,ud=z,hd=fu.parseClassType,cd={PROCESSOR:{FILTER:1e3,SERIES_FILTER:800,STATISTIC:5e3},VISUAL:{LAYOUT:1e3,PROGRESSIVE_LAYOUT:1100,GLOBAL:2e3,CHART:3e3,POST_CHART_LAYOUT:3500,COMPONENT:4e3,BRUSH:5e3}},dd="__flagInMainProcess",fd="__optionUpdated",pd=/^[a-zA-Z0-9_]+$/;function gd(n,a){return function(t,e,i){!a&&this._disposed||(t=t&&t.toLowerCase(),Ct.prototype[n].call(this,t,e,i))}}function md(){Ct.call(this)}function vd(t,e,i){i=i||{},"string"==typeof e&&(e=Fd[e]),this.id,this.group,this._dom=t;var n=this._zr=fa(t,{renderer:i.renderer||"canvas",devicePixelRatio:i.devicePixelRatio,width:i.width,height:i.height});this._throttledZrFlush=cc(T(n.flush,n),17),(e=D(e))&&ch(e,!0),this._theme=e,this._chartsViews=[],this._chartsMap={},this._componentsViews=[],this._componentsMap={},this._coordSysMgr=new Hu;var a=this._api=function(i){var t=i._coordSysMgr;return L(new Fu(i),{getCoordinateSystems:T(t.getCoordinateSystems,t),getComponentByElement:function(t){for(;t;){var e=t.__ecComponentInfo;if(null!=e)return i._model.getComponent(e.mainType,e.index);t=t.parent}}})}(this);function o(t,e){return t.__prio-e.__prio}ki(Gd,o),ki(zd,o),this._scheduler=new yc(this,a,zd,Gd),Ct.call(this,this._ecEventProcessor=new Od),this._messageCenter=new md,this._initEvents(),this.resize=T(this.resize,this),this._pendingActions=[],n.animation.on("frame",this._onframe,this),function(t,e){t.on("rendered",function(){e.trigger("rendered"),!t.animation.isFinished()||e[fd]||e._scheduler.unfinished||e._pendingActions.length||e.trigger("finished")})}(n,this),K(this)}md.prototype.on=gd("on",!0),md.prototype.off=gd("off",!0),md.prototype.one=gd("one",!0),b(md,Ct);var yd=vd.prototype;function xd(t,e,i){if(!this._disposed){var n,a=this._model,o=this._coordSysMgr.getCoordinateSystems();e=Pa(a,e);for(var r=0;r<o.length;r++){var s=o[r];if(s[t]&&null!=(n=s[t](a,e,i)))return n}}}yd._onframe=function(){if(!this._disposed){var t=this._scheduler;if(this[fd]){var e=this[fd].silent;this[dd]=!0,wd(this),_d.update.call(this),this[dd]=!1,this[fd]=!1,Id.call(this,e),Ad.call(this,e)}else if(t.unfinished){var i=1,n=this._model,a=this._api;t.unfinished=!1;do{var o=+new Date;t.performSeriesTasks(n),t.performDataProcessorTasks(n),Sd(this,n),t.performVisualTasks(n),Ld(this,this._model,a,"remain"),i-=+new Date-o}while(0<i&&t.unfinished);t.unfinished||this._zr.flush()}}},yd.getDom=function(){return this._dom},yd.getZr=function(){return this._zr},yd.setOption=function(t,e,i){if(!this._disposed){var n;if(ud(e)&&(i=e.lazyUpdate,n=e.silent,e=e.notMerge),this[dd]=!0,!this._model||e){var a=new qu(this._api),o=this._theme,r=this._model=new zu;r.scheduler=this._scheduler,r.init(null,null,o,a)}this._model.setOption(t,Bd),i?(this[fd]={silent:n},this[dd]=!1):(wd(this),_d.update.call(this),this._zr.flush(),this[fd]=!1,this[dd]=!1,Id.call(this,n),Ad.call(this,n))}},yd.setTheme=function(){console.error("ECharts#setTheme() is DEPRECATED in ECharts 3.0")},yd.getModel=function(){return this._model},yd.getOption=function(){return this._model&&this._model.getOption()},yd.getWidth=function(){return this._zr.getWidth()},yd.getHeight=function(){return this._zr.getHeight()},yd.getDevicePixelRatio=function(){return this._zr.painter.dpr||window.devicePixelRatio||1},yd.getRenderedCanvas=function(t){if(v.canvasSupported)return(t=t||{}).pixelRatio=t.pixelRatio||1,t.backgroundColor=t.backgroundColor||this._model.get("backgroundColor"),this._zr.painter.getRenderedCanvas(t)},yd.getSvgDataUrl=function(){if(v.svgSupported){var t=this._zr;return E(t.storage.getDisplayList(),function(t){t.stopAnimation(!0)}),t.painter.pathToDataUrl()}},yd.getDataURL=function(t){if(!this._disposed){var e=(t=t||{}).excludeComponents,i=this._model,n=[],a=this;sd(e,function(t){i.eachComponent({mainType:t},function(t){var e=a._componentsMap[t.__viewId];e.group.ignore||(n.push(e),e.group.ignore=!0)})});var o="svg"===this._zr.painter.getType()?this.getSvgDataUrl():this.getRenderedCanvas(t).toDataURL("image/"+(t&&t.type||"png"));return sd(n,function(t){t.group.ignore=!1}),o}},yd.getConnectedDataURL=function(a){if(!this._disposed&&v.canvasSupported){var o=this.group,r=Math.min,s=Math.max;if(Zd[o]){var l=1/0,u=1/0,h=-1/0,c=-1/0,d=[],i=a&&a.pixelRatio||1;E(Hd,function(t,e){if(t.group===o){var i=t.getRenderedCanvas(D(a)),n=t.getDom().getBoundingClientRect();l=r(n.left,l),u=r(n.top,u),h=s(n.right,h),c=s(n.bottom,c),d.push({dom:i,left:n.left,top:n.top})}});var t=(h*=i)-(l*=i),e=(c*=i)-(u*=i),n=g();n.width=t,n.height=e;var f=fa(n);return a.connectedBackgroundColor&&f.add(new Hr({shape:{x:0,y:0,width:t,height:e},style:{fill:a.connectedBackgroundColor}})),sd(d,function(t){var e=new Yn({style:{x:t.left*i-l,y:t.top*i-u,image:t.dom}});f.add(e)}),f.refreshImmediately(),n.toDataURL("image/"+(a&&a.type||"png"))}return this.getDataURL(a)}},yd.convertToPixel=A(xd,"convertToPixel"),yd.convertFromPixel=A(xd,"convertFromPixel"),yd.containPixel=function(t,a){var o;if(!this._disposed)return E(t=Pa(this._model,t),function(t,n){0<=n.indexOf("Models")&&E(t,function(t){var e=t.coordinateSystem;if(e&&e.containPoint)o|=!!e.containPoint(a);else if("seriesModels"===n){var i=this._chartsMap[t.__viewId];i&&i.containPoint&&(o|=i.containPoint(a,t))}},this)},this),!!o},yd.getVisual=function(t,e){var i=(t=Pa(this._model,t,{defaultMainType:"series"})).seriesModel.getData(),n=t.hasOwnProperty("dataIndexInside")?t.dataIndexInside:t.hasOwnProperty("dataIndex")?i.indexOfRawIndex(t.dataIndex):null;return null!=n?i.getItemVisual(n,e):i.getVisual(e)},yd.getViewOfComponentModel=function(t){return this._componentsMap[t.__viewId]},yd.getViewOfSeriesModel=function(t){return this._chartsMap[t.__viewId]};var _d={prepareAndUpdate:function(t){wd(this),_d.update.call(this,t)},update:function(t){var e=this._model,i=this._api,n=this._zr,a=this._coordSysMgr,o=this._scheduler;if(e){o.restoreData(e,t),o.performSeriesTasks(e),a.create(e,i),o.performDataProcessorTasks(e,t),Sd(this,e),a.update(e,i),Dd(e),o.performVisualTasks(e,t),Cd(this,e,i,t);var r=e.get("backgroundColor")||"transparent";if(v.canvasSupported)n.setBackgroundColor(r);else{var s=Ee(r);r=Ue(s,"rgb"),0===s[3]&&(r="transparent")}kd(e,i)}},updateTransform:function(a){var o=this._model,r=this,s=this._api;if(o){var l=[];o.eachComponent(function(t,e){var i=r.getViewOfComponentModel(e);if(i&&i.__alive)if(i.updateTransform){var n=i.updateTransform(e,o,s,a);n&&n.update&&l.push(i)}else l.push(i)});var n=Q();o.eachSeries(function(t){var e=r._chartsMap[t.__viewId];if(e.updateTransform){var i=e.updateTransform(t,o,s,a);i&&i.update&&n.set(t.uid,1)}else n.set(t.uid,1)}),Dd(o),this._scheduler.performVisualTasks(o,a,{setDirty:!0,dirtyMap:n}),Ld(r,o,s,a,n),kd(o,this._api)}},updateView:function(t){var e=this._model;e&&(ec.markUpdateMethod(t,"updateView"),Dd(e),this._scheduler.performVisualTasks(e,t,{setDirty:!0}),Cd(this,this._model,this._api,t),kd(e,this._api))},updateVisual:function(t){_d.update.call(this,t)},updateLayout:function(t){_d.update.call(this,t)}};function wd(t){var e=t._model,i=t._scheduler;i.restorePipelines(e),i.prepareStageTasks(),Td(t,"component",e,i),Td(t,"chart",e,i),i.plan()}function bd(e,i,n,a,t){var o=e._model;if(a){var r={};r[a+"Id"]=n[a+"Id"],r[a+"Index"]=n[a+"Index"],r[a+"Name"]=n[a+"Name"];var s={mainType:a,query:r};t&&(s.subType=t);var l=n.excludeSeriesId;null!=l&&(l=Q(wa(l))),o&&o.eachComponent(s,function(t){l&&null!=l.get(t.id)||u(e["series"===a?"_chartsMap":"_componentsMap"][t.__viewId])},e)}else sd(e._componentsViews.concat(e._chartsViews),u);function u(t){t&&t.__alive&&t[i]&&t[i](t.__model,o,e._api,n)}}function Sd(t,e){var i=t._chartsMap,n=t._scheduler;e.eachSeries(function(t){n.updateStreamModes(t,i[t.__viewId])})}function Md(e,t){var i=e.type,n=e.escapeConnect,a=Ed[i],o=a.actionInfo,r=(o.update||"update").split(":"),s=r.pop();r=null!=r[0]&&hd(r[0]),this[dd]=!0;var l=[e],u=!1;e.batch&&(u=!0,l=N(e.batch,function(t){return(t=C(L({},t),e)).batch=null,t}));var h,c=[],d="highlight"===i||"downplay"===i;sd(l,function(t){(h=(h=a.action(t,this._model,this._api))||L({},t)).type=o.event||h.type,c.push(h),d?bd(this,s,t,"series"):r&&bd(this,s,t,r.main,r.sub)},this),"none"===s||d||r||(this[fd]?(wd(this),_d.update.call(this,e),this[fd]=!1):_d[s].call(this,e)),h=u?{type:o.event||i,escapeConnect:n,batch:c}:c[0],this[dd]=!1,t||this._messageCenter.trigger(h.type,h)}function Id(t){for(var e=this._pendingActions;e.length;){var i=e.shift();Md.call(this,i,t)}}function Ad(t){t||this.trigger("updated")}function Td(t,e,a,o){for(var r="component"===e,s=r?t._componentsViews:t._chartsViews,l=r?t._componentsMap:t._chartsMap,u=t._zr,h=t._api,i=0;i<s.length;i++)s[i].__alive=!1;function n(t){var e="_ec_"+t.id+"_"+t.type,i=l[e];if(!i){var n=hd(t.type);(i=new(r?Kh.getClass(n.main,n.sub):ec.getClass(n.sub))).init(a,h),l[e]=i,s.push(i),u.add(i.group)}t.__viewId=i.__id=e,i.__alive=!0,i.__model=t,i.group.__ecComponentInfo={mainType:t.mainType,index:t.componentIndex},r||o.prepareView(i,t,a,h)}r?a.eachComponent(function(t,e){"series"!==t&&n(e)}):a.eachSeries(n);for(i=0;i<s.length;){var c=s[i];c.__alive?i++:(r||c.renderTask.dispose(),u.remove(c.group),c.dispose(a,h),s.splice(i,1),delete l[c.__id],c.__id=c.group.__ecComponentInfo=null)}}function Dd(t){t.clearColorPalette(),t.eachSeries(function(t){t.clearColorPalette()})}function Cd(t,e,i,n){!function(t,i,n,a,e){sd(e||t._componentsViews,function(t){var e=t.__model;t.render(e,i,n,a),Nd(e,t)})}(t,e,i,n),sd(t._chartsViews,function(t){t.__alive=!1}),Ld(t,e,i,n),sd(t._chartsViews,function(t){t.__alive||t.remove(e,i)})}function Ld(n,t,e,a,o){var r,s=n._scheduler;t.eachSeries(function(t){var e=n._chartsMap[t.__viewId];e.__alive=!0;var i=e.renderTask;s.updatePayload(i,a),o&&o.get(t.uid)&&i.dirty(),r|=i.perform(s.getPerformArgs(i)),e.group.silent=!!t.get("silent"),Nd(t,e),function(t,e){var i=t.get("blendMode")||null;e.group.traverse(function(t){t.isGroup||t.style.blend!==i&&t.setStyle("blend",i),t.eachPendingDisplayable&&t.eachPendingDisplayable(function(t){t.setStyle("blend",i)})})}(t,e)}),s.unfinished|=r,function(i,t){var e=i._zr.storage,n=0;e.traverse(function(t){n++}),n>t.get("hoverLayerThreshold")&&!v.node&&t.eachSeries(function(t){if(!t.preventUsingHoverLayer){var e=i._chartsMap[t.__viewId];e.__alive&&e.group.traverse(function(t){t.useHoverLayer=!0})}})}(n,t),mc(n._zr.dom,t)}function kd(e,i){sd(Vd,function(t){t(e,i)})}yd.resize=function(t){if(!this._disposed){this._zr.resize(t);var e=this._model;if(this._loadingFX&&this._loadingFX.resize(),e){var i=e.resetOption("media"),n=t&&t.silent;this[dd]=!0,i&&wd(this),_d.update.call(this),this[dd]=!1,Id.call(this,n),Ad.call(this,n)}}},yd.showLoading=function(t,e){if(!this._disposed&&(ud(t)&&(e=t,t=""),t=t||"default",this.hideLoading(),Wd[t])){var i=Wd[t](this._api,e),n=this._zr;this._loadingFX=i,n.add(i)}},yd.hideLoading=function(){this._disposed||(this._loadingFX&&this._zr.remove(this._loadingFX),this._loadingFX=null)},yd.makeActionFromEvent=function(t){var e=L({},t);return e.type=Rd[t.type],e},yd.dispatchAction=function(t,e){this._disposed||(ud(e)||(e={silent:!!e}),Ed[t.type]&&this._model&&(this[dd]?this._pendingActions.push(t):(Md.call(this,t,e.silent),e.flush?this._zr.flush(!0):!1!==e.flush&&v.browser.weChat&&this._throttledZrFlush(),Id.call(this,e.silent),Ad.call(this,e.silent))))},yd.appendData=function(t){if(!this._disposed){var e=t.seriesIndex;this.getModel().getSeriesByIndex(e).appendData(t),this._scheduler.unfinished=!0}},yd.on=gd("on",!1),yd.off=gd("off",!1),yd.one=gd("one",!1);var Pd=["click","dblclick","mouseover","mouseout","mousemove","mousedown","mouseup","globalout","contextmenu"];function Nd(t,e){var i=t.get("z"),n=t.get("zlevel");e.group.traverse(function(t){"group"!==t.type&&(null!=i&&(t.z=i),null!=n&&(t.zlevel=n))})}function Od(){this.eventInfo}yd._initEvents=function(){sd(Pd,function(u){function t(t){var e,i=this.getModel(),n=t.target;if("globalout"===u)e={};else if(n&&null!=n.dataIndex){var a=n.dataModel||i.getSeriesByIndex(n.seriesIndex);e=a&&a.getDataParams(n.dataIndex,n.dataType,n)||{}}else n&&n.eventData&&(e=L({},n.eventData));if(e){var o=e.componentType,r=e.componentIndex;"markLine"!==o&&"markPoint"!==o&&"markArea"!==o||(o="series",r=e.seriesIndex);var s=o&&null!=r&&i.getComponent(o,r),l=s&&this["series"===s.mainType?"_chartsMap":"_componentsMap"][s.__viewId];e.event=t,e.type=u,this._ecEventProcessor.eventInfo={targetEl:n,packedEvent:e,model:s,view:l},this.trigger(u,e)}}t.zrEventfulCallAtLast=!0,this._zr.on(u,t,this)},this),sd(Rd,function(t,e){this._messageCenter.on(e,function(t){this.trigger(e,t)},this)},this)},yd.isDisposed=function(){return this._disposed},yd.clear=function(){this._disposed||this.setOption({series:[]},!0)},yd.dispose=function(){if(!this._disposed){this._disposed=!0,Oa(this.getDom(),Yd,"");var e=this._api,i=this._model;sd(this._componentsViews,function(t){t.dispose(i,e)}),sd(this._chartsViews,function(t){t.dispose(i,e)}),this._zr.dispose(),delete Hd[this.id]}},b(vd,Ct),Od.prototype={constructor:Od,normalizeQuery:function(t){var s={},l={},u={};if(R(t)){var e=hd(t);s.mainType=e.main||null,s.subType=e.sub||null}else{var h=["Index","Name","Id"],c={name:1,dataIndex:1,dataType:1};E(t,function(t,e){for(var i=!1,n=0;n<h.length;n++){var a=h[n],o=e.lastIndexOf(a);if(0<o&&o===e.length-a.length){var r=e.slice(0,o);"data"!==r&&(s.mainType=r,s[a.toLowerCase()]=t,i=!0)}}c.hasOwnProperty(e)&&(l[e]=t,i=!0),i||(u[e]=t)})}return{cptQuery:s,dataQuery:l,otherQuery:u}},filter:function(t,e,i){var n=this.eventInfo;if(!n)return!0;var a=n.targetEl,o=n.packedEvent,r=n.model,s=n.view;if(!r||!s)return!0;var l=e.cptQuery,u=e.dataQuery;return h(l,r,"mainType")&&h(l,r,"subType")&&h(l,r,"index","componentIndex")&&h(l,r,"name")&&h(l,r,"id")&&h(u,o,"name")&&h(u,o,"dataIndex")&&h(u,o,"dataType")&&(!s.filterForExposedEvent||s.filterForExposedEvent(t,e.otherQuery,a,o));function h(t,e,i,n){return null==t[i]||e[n||i]===t[i]}},afterTrigger:function(){this.eventInfo=null}};var Ed={},Rd={},zd=[],Bd=[],Vd=[],Gd=[],Fd={},Wd={},Hd={},Zd={},Ud=new Date-0,Xd=new Date-0,Yd="_echarts_instance_";function jd(t){Zd[t]=!1}var qd=jd;function Kd(t){return Hd[function(t,e){return t.getAttribute?t.getAttribute(e):t[e]}(t,Yd)]}function $d(t,e){Fd[t]=e}function Jd(t){Bd.push(t)}function Qd(t,e){of(zd,t,e,1e3)}function tf(t,e,i){"function"==typeof e&&(i=e,e="");var n=ud(t)?t.type:[t,t={event:e}][0];t.event=(t.event||n).toLowerCase(),e=t.event,rd(pd.test(n)&&pd.test(e)),Ed[n]||(Ed[n]={action:i,actionInfo:t}),Rd[e]=n}function ef(t,e){Hu.register(t,e)}function nf(t,e){of(Gd,t,e,1e3,"layout")}function af(t,e){of(Gd,t,e,3e3,"visual")}function of(t,e,i,n,a){(ld(e)||ud(e))&&(i=e,e=n);var o=yc.wrapStageHandler(i,a);return o.__prio=e,o.__raw=i,t.push(o),o}function rf(t,e){Wd[t]=e}function sf(t){return fu.extend(t)}function lf(t){return Kh.extend(t)}function uf(t){return Wh.extend(t)}function hf(t){return ec.extend(t)}af(2e3,pc),Jd(ch),Qd(900,function(t){var o=Q();t.eachSeries(function(t){var e=t.get("stack");if(e){var i=o.get(e)||o.set(e,[]),n=t.getData(),a={stackResultDimension:n.getCalculationInfo("stackResultDimension"),stackedOverDimension:n.getCalculationInfo("stackedOverDimension"),stackedDimension:n.getCalculationInfo("stackedDimension"),stackedByDimension:n.getCalculationInfo("stackedByDimension"),isStackedByIndex:n.getCalculationInfo("isStackedByIndex"),data:n,seriesModel:t};if(!a.stackedDimension||!a.isStackedByIndex&&!a.stackedByDimension)return;i.length&&n.setCalculationInfo("stackedOnSeries",i[i.length-1].seriesModel),i.push(a)}}),o.each(dh)}),rf("default",function(n,t){C(t=t||{},{text:"loading",color:"#c23531",textColor:"#000",maskColor:"rgba(255, 255, 255, 0.8)",zlevel:0});var a=new Hr({style:{fill:t.maskColor},zlevel:t.zlevel,z:1e4}),o=new Kr({shape:{startAngle:-vc/2,endAngle:-vc/2+.1,r:10},style:{stroke:t.color,lineCap:"round",lineWidth:5},zlevel:t.zlevel,z:10001}),r=new Hr({style:{fill:"none",text:t.text,textPosition:"right",textDistance:10,textFill:t.textColor},zlevel:t.zlevel,z:10001});o.animateShape(!0).when(1e3,{endAngle:3*vc/2}).start("circularInOut"),o.animateShape(!0).when(1e3,{startAngle:3*vc/2}).delay(300).start("circularInOut");var e=new Si;return e.add(o),e.add(r),e.add(a),e.resize=function(){var t=n.getWidth()/2,e=n.getHeight()/2;o.setShape({cx:t,cy:e});var i=o.shape.r;r.setShape({x:t-i,y:e-i,width:2*i,height:2*i}),a.setShape({x:0,y:0,width:n.getWidth(),height:n.getHeight()})},e.resize(),e}),tf({type:"highlight",event:"highlight",update:"highlight"},et),tf({type:"downplay",event:"downplay",update:"downplay"},et),$d("light",Bc),$d("dark",Fc);function cf(t){return t}function df(t,e,i,n,a){this._old=t,this._new=e,this._oldKeyGetter=i||cf,this._newKeyGetter=n||cf,this.context=a}function ff(t,e,i,n,a){for(var o=0;o<t.length;o++){var r="_ec_"+a[n](t[o],o),s=e[r];null==s?(i.push(r),e[r]=o):(s.length||(e[r]=s=[s]),s.push(o))}}df.prototype={constructor:df,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=this._old,e=this._new,i={},n=[],a=[];for(ff(t,{},n,"_oldKeyGetter",this),ff(e,i,a,"_newKeyGetter",this),o=0;o<t.length;o++){if(null!=(s=i[r=n[o]]))(u=s.length)?(1===u&&(i[r]=null),s=s.shift()):i[r]=null,this._update&&this._update(s,o);else this._remove&&this._remove(o)}for(var o=0;o<a.length;o++){var r=a[o];if(i.hasOwnProperty(r)){var s;if(null==(s=i[r]))continue;if(s.length)for(var l=0,u=s.length;l<u;l++)this._add&&this._add(s[l]);else this._add&&this._add(s)}}}};var pf=Q(["tooltip","label","itemName","itemId","seriesName"]);function gf(t,e){return t.hasOwnProperty(e)||(t[e]=[]),t[e]}function mf(t){return"category"===t?"ordinal":"time"===t?"time":"float"}var vf=z,yf="undefined",xf={float:typeof Float64Array==yf?Array:Float64Array,int:typeof Int32Array==yf?Array:Int32Array,ordinal:Array,number:Array,time:Array},_f=typeof Uint32Array==yf?Array:Uint32Array,wf=typeof Int32Array==yf?Array:Int32Array,bf=typeof Uint16Array==yf?Array:Uint16Array;function Sf(t){return 65535<t._rawCount?_f:bf}var Mf=["hasItemOption","_nameList","_idList","_invertedIndicesMap","_rawData","_chunkSize","_chunkCount","_dimValueGetter","_count","_rawCount","_nameDimIdx","_idDimIdx"],If=["_extent","_approximateExtent","_rawExtent"];function Af(e,i){E(Mf.concat(i.__wrappedMethods||[]),function(t){i.hasOwnProperty(t)&&(e[t]=i[t])}),e.__wrappedMethods=i.__wrappedMethods,E(If,function(t){e[t]=D(i[t])}),e._calculationInfo=L(i._calculationInfo)}var Tf=function(t,e){t=t||["x","y"];for(var i={},n=[],a={},o=0;o<t.length;o++){var r=t[o];R(r)&&(r={name:r});var s=r.name;r.type=r.type||"float",r.coordDim||(r.coordDim=s,r.coordDimIndex=0),r.otherDims=r.otherDims||{},n.push(s),(i[s]=r).index=o,r.createInvertedIndices&&(a[s]=[])}this.dimensions=n,this._dimensionInfos=i,this.hostModel=e,this.dataType,this._indices=null,this._count=0,this._rawCount=0,this._storage={},this._nameList=[],this._idList=[],this._optionModels=[],this._visual={},this._layout={},this._itemVisuals=[],this.hasItemVisual={},this._itemLayouts=[],this._graphicEls=[],this._chunkSize=1e5,this._chunkCount=0,this._rawData,this._rawExtent={},this._extent={},this._approximateExtent={},this._dimensionsSummary=function(n){var t={},o=t.encode={},r=Q(),s=[],l=[],u=t.userOutput={dimensionNames:n.dimensions.slice(),encode:{}};E(n.dimensions,function(t){var a=n.getDimensionInfo(t),e=a.coordDim;if(e){var i=a.coordDimIndex;gf(o,e)[i]=t,a.isExtraCoord||(r.set(e,1),function(t){return!("ordinal"===t||"time"===t)}(a.type)&&(s[0]=t),gf(u.encode,e)[i]=a.index),a.defaultTooltip&&l.push(t)}pf.each(function(t,e){var i=gf(o,e),n=a.otherDims[e];null!=n&&!1!==n&&(i[n]=a.name)})});var a=[],h={};r.each(function(t,e){var i=o[e];h[e]=i[0],a=a.concat(i)}),t.dataDimsOnCoord=a,t.encodeFirstDimNotExtra=h;var e=o.label;e&&e.length&&(s=e.slice());var i=o.tooltip;return i&&i.length?l=i.slice():l.length||(l=s.slice()),o.defaultedLabel=s,o.defaultedTooltip=l,t}(this),this._invertedIndicesMap=a,this._calculationInfo={},this.userOutput=this._dimensionsSummary.userOutput},Df=Tf.prototype;function Cf(t,e,i,n,a){var o=xf[e.type],r=n-1,s=e.name,l=t[s][r];if(l&&l.length<i){for(var u=new o(Math.min(a-r*i,i)),h=0;h<l.length;h++)u[h]=l[h];t[s][r]=u}for(var c=n*i;c<a;c+=i)t[s].push(new o(Math.min(a-c,i)))}function Lf(a){var o=a._invertedIndicesMap;E(o,function(t,e){var i=a._dimensionInfos[e].ordinalMeta;if(i){t=o[e]=new wf(i.categories.length);for(var n=0;n<t.length;n++)t[n]=-1;for(n=0;n<a._count;n++)t[a.get(e,n)]=n}})}function kf(t,e,i){var n;if(null!=e){var a=t._chunkSize,o=Math.floor(i/a),r=i%a,s=t.dimensions[e],l=t._storage[s][o];if(l){n=l[r];var u=t._dimensionInfos[s].ordinalMeta;u&&u.categories.length&&(n=u.categories[n])}}return n}function Pf(t){return t}function Nf(t){return t<this._count&&0<=t?this._indices[t]:-1}function Of(t,e){var i=t._idList[e];return null==i&&(i=kf(t,t._idDimIdx,e)),null==i&&(i="e\0\0"+e),i}function Ef(t){return k(t)||(t=[t]),t}function Rf(t,e){var i=t.dimensions,n=new Tf(N(i,t.getDimensionInfo,t),t.hostModel);Af(n,t);for(var a=n._storage={},o=t._storage,r=0;r<i.length;r++){var s=i[r];o[s]&&(0<=_(e,s)?(a[s]=zf(o[s]),n._rawExtent[s]=Bf(),n._extent[s]=null):a[s]=o[s])}return n}function zf(t){for(var e,i,n=new Array(t.length),a=0;a<t.length;a++)n[a]=(e=t[a],i=void 0,(i=e.constructor)===Array?e.slice():new i(e));return n}function Bf(){return[1/0,-1/0]}Df.type="list",Df.hasItemOption=!0,Df.getDimension=function(t){return"number"!=typeof t&&(isNaN(t)||this._dimensionInfos.hasOwnProperty(t))||(t=this.dimensions[t]),t},Df.getDimensionInfo=function(t){return this._dimensionInfos[this.getDimension(t)]},Df.getDimensionsOnCoord=function(){return this._dimensionsSummary.dataDimsOnCoord.slice()},Df.mapDimension=function(t,e){var i=this._dimensionsSummary;if(null==e)return i.encodeFirstDimNotExtra[t];var n=i.encode[t];return!0===e?(n||[]).slice():n&&n[e]},Df.initData=function(t,e,i){(Lu.isInstance(t)||P(t))&&(t=new fh(t,this.dimensions.length)),this._rawData=t,this._storage={},this._indices=null,this._nameList=e||[],this._idList=[],this._nameRepeatCount={},i||(this.hasItemOption=!1),this.defaultDimValueGetter=wh[this._rawData.getSource().sourceFormat],this._dimValueGetter=i=i||this.defaultDimValueGetter,this._dimValueGetterArrayRows=wh.arrayRows,this._rawExtent={},this._initDataFromProvider(0,t.count()),t.pure&&(this.hasItemOption=!1)},Df.getProvider=function(){return this._rawData},Df.appendData=function(t){var e=this._rawData,i=this.count();e.appendData(t);var n=e.count();e.persistent||(n+=i),this._initDataFromProvider(i,n)},Df.appendValues=function(t,e){for(var i=this._chunkSize,n=this._storage,a=this.dimensions,o=a.length,r=this._rawExtent,s=this.count(),l=s+Math.max(t.length,e?e.length:0),u=this._chunkCount,h=0;h<o;h++){r[v=a[h]]||(r[v]=Bf()),n[v]||(n[v]=[]),Cf(n,this._dimensionInfos[v],i,u,l),this._chunkCount=n[v].length}for(var c=new Array(o),d=s;d<l;d++){for(var f=d-s,p=Math.floor(d/i),g=d%i,m=0;m<o;m++){var v=a[m],y=this._dimValueGetterArrayRows(t[f]||c,v,f,m);n[v][p][g]=y;var x=r[v];y<x[0]&&(x[0]=y),y>x[1]&&(x[1]=y)}e&&(this._nameList[d]=e[f])}this._rawCount=this._count=l,this._extent={},Lf(this)},Df._initDataFromProvider=function(t,e){if(!(e<=t)){for(var i,n=this._chunkSize,a=this._rawData,o=this._storage,r=this.dimensions,s=r.length,l=this._dimensionInfos,u=this._nameList,h=this._idList,c=this._rawExtent,d=this._nameRepeatCount={},f=this._chunkCount,p=0;p<s;p++){c[w=r[p]]||(c[w]=Bf());var g=l[w];0===g.otherDims.itemName&&(i=this._nameDimIdx=p),0===g.otherDims.itemId&&(this._idDimIdx=p),o[w]||(o[w]=[]),Cf(o,g,n,f,e),this._chunkCount=o[w].length}for(var m=new Array(s),v=t;v<e;v++){m=a.getItem(v,m);for(var y=Math.floor(v/n),x=v%n,_=0;_<s;_++){var w,b=o[w=r[_]][y],S=this._dimValueGetter(m,w,v,_);b[x]=S;var M=c[w];S<M[0]&&(M[0]=S),S>M[1]&&(M[1]=S)}if(!a.pure){var I=u[v];if(m&&null==I)if(null!=m.name)u[v]=I=m.name;else if(null!=i){var A=r[i],T=o[A][y];if(T){I=T[x];var D=l[A].ordinalMeta;D&&D.categories.length&&(I=D.categories[I])}}var C=null==m?null:m.id;null==C&&null!=I&&(d[I]=d[I]||0,0<d[C=I]&&(C+="__ec__"+d[I]),d[I]++),null!=C&&(h[v]=C)}}!a.persistent&&a.clean&&a.clean(),this._rawCount=this._count=e,this._extent={},Lf(this)}},Df.count=function(){return this._count},Df.getIndices=function(){var t=this._indices;if(t){var e=t.constructor,i=this._count;if(e===Array){a=new e(i);for(var n=0;n<i;n++)a[n]=t[n]}else a=new e(t.buffer,0,i)}else{var a=new(e=Sf(this))(this.count());for(n=0;n<a.length;n++)a[n]=n}return a},Df.get=function(t,e){if(!(0<=e&&e<this._count))return NaN;var i=this._storage;if(!i[t])return NaN;e=this.getRawIndex(e);var n=Math.floor(e/this._chunkSize),a=e%this._chunkSize;return i[t][n][a]},Df.getByRawIndex=function(t,e){if(!(0<=e&&e<this._rawCount))return NaN;var i=this._storage[t];if(!i)return NaN;var n=Math.floor(e/this._chunkSize),a=e%this._chunkSize;return i[n][a]},Df._getFast=function(t,e){var i=Math.floor(e/this._chunkSize),n=e%this._chunkSize;return this._storage[t][i][n]},Df.getValues=function(t,e){var i=[];k(t)||(e=t,t=this.dimensions);for(var n=0,a=t.length;n<a;n++)i.push(this.get(t[n],e));return i},Df.hasValue=function(t){for(var e=this._dimensionsSummary.dataDimsOnCoord,i=0,n=e.length;i<n;i++)if(isNaN(this.get(e[i],t)))return!1;return!0},Df.getDataExtent=function(t){t=this.getDimension(t);var e=this._storage[t],i=Bf();if(!e)return i;var n,a=this.count();if(!this._indices)return this._rawExtent[t].slice();if(n=this._extent[t])return n.slice();for(var o=(n=i)[0],r=n[1],s=0;s<a;s++){var l=this._getFast(t,this.getRawIndex(s));l<o&&(o=l),r<l&&(r=l)}return n=[o,r],this._extent[t]=n},Df.getApproximateExtent=function(t){return t=this.getDimension(t),this._approximateExtent[t]||this.getDataExtent(t)},Df.setApproximateExtent=function(t,e){e=this.getDimension(e),this._approximateExtent[e]=t.slice()},Df.getCalculationInfo=function(t){return this._calculationInfo[t]},Df.setCalculationInfo=function(t,e){vf(t)?L(this._calculationInfo,t):this._calculationInfo[t]=e},Df.getSum=function(t){var e=0;if(this._storage[t])for(var i=0,n=this.count();i<n;i++){var a=this.get(t,i);isNaN(a)||(e+=a)}return e},Df.getMedian=function(t){var i=[];this.each(t,function(t,e){isNaN(t)||i.push(t)});var e=[].concat(i).sort(function(t,e){return t-e}),n=this.count();return 0===n?0:n%2==1?e[(n-1)/2]:(e[n/2]+e[n/2-1])/2},Df.rawIndexOf=function(t,e){var i=(t&&this._invertedIndicesMap[t])[e];return null==i||isNaN(i)?-1:i},Df.indexOfName=function(t){for(var e=0,i=this.count();e<i;e++)if(this.getName(e)===t)return e;return-1},Df.indexOfRawIndex=function(t){if(t>=this._rawCount||t<0)return-1;if(!this._indices)return t;var e=this._indices,i=e[t];if(null!=i&&i<this._count&&i===t)return t;for(var n=0,a=this._count-1;n<=a;){var o=(n+a)/2|0;if(e[o]<t)n=1+o;else{if(!(e[o]>t))return o;a=o-1}}return-1},Df.indicesOfNearest=function(t,e,i){var n=[];if(!this._storage[t])return n;null==i&&(i=1/0);for(var a=Number.MAX_VALUE,o=-1,r=0,s=this.count();r<s;r++){var l=e-this.get(t,r),u=Math.abs(l);l<=i&&u<=a&&((u<a||0<=l&&o<0)&&(a=u,o=l,n.length=0),n.push(r))}return n},Df.getRawIndex=Pf,Df.getRawDataItem=function(t){if(this._rawData.persistent)return this._rawData.getItem(this.getRawIndex(t));for(var e=[],i=0;i<this.dimensions.length;i++){var n=this.dimensions[i];e.push(this.get(n,t))}return e},Df.getName=function(t){var e=this.getRawIndex(t);return this._nameList[e]||kf(this,this._nameDimIdx,e)||""},Df.getId=function(t){return Of(this,this.getRawIndex(t))},Df.each=function(t,e,i,n){if(this._count){"function"==typeof t&&(n=i,i=e,e=t,t=[]),i=i||n||this;for(var a=(t=N(Ef(t),this.getDimension,this)).length,o=0;o<this.count();o++)switch(a){case 0:e.call(i,o);break;case 1:e.call(i,this.get(t[0],o),o);break;case 2:e.call(i,this.get(t[0],o),this.get(t[1],o),o);break;default:for(var r=0,s=[];r<a;r++)s[r]=this.get(t[r],o);s[r]=o,e.apply(i,s)}}},Df.filterSelf=function(t,e,i,n){if(this._count){"function"==typeof t&&(n=i,i=e,e=t,t=[]),i=i||n||this,t=N(Ef(t),this.getDimension,this);for(var a=this.count(),o=new(Sf(this))(a),r=[],s=t.length,l=0,u=t[0],h=0;h<a;h++){var c,d=this.getRawIndex(h);if(0===s)c=e.call(i,h);else if(1===s){var f=this._getFast(u,d);c=e.call(i,f,h)}else{for(var p=0;p<s;p++)r[p]=this._getFast(u,d);r[p]=h,c=e.apply(i,r)}c&&(o[l++]=d)}return l<a&&(this._indices=o),this._count=l,this._extent={},this.getRawIndex=this._indices?Nf:Pf,this}},Df.selectRange=function(t){if(this._count){var e=[];for(var i in t)t.hasOwnProperty(i)&&e.push(i);var n=e.length;if(n){var a=this.count(),o=new(Sf(this))(a),r=0,s=e[0],l=t[s][0],u=t[s][1],h=!1;if(!this._indices){var c=0;if(1===n){for(var d=this._storage[e[0]],f=0;f<this._chunkCount;f++)for(var p=d[f],g=Math.min(this._count-f*this._chunkSize,this._chunkSize),m=0;m<g;m++){(l<=(w=p[m])&&w<=u||isNaN(w))&&(o[r++]=c),c++}h=!0}else if(2===n){d=this._storage[s];var v=this._storage[e[1]],y=t[e[1]][0],x=t[e[1]][1];for(f=0;f<this._chunkCount;f++){p=d[f];var _=v[f];for(g=Math.min(this._count-f*this._chunkSize,this._chunkSize),m=0;m<g;m++){var w=p[m],b=_[m];(l<=w&&w<=u||isNaN(w))&&(y<=b&&b<=x||isNaN(b))&&(o[r++]=c),c++}}h=!0}}if(!h)if(1===n)for(m=0;m<a;m++){var S=this.getRawIndex(m);(l<=(w=this._getFast(s,S))&&w<=u||isNaN(w))&&(o[r++]=S)}else for(m=0;m<a;m++){var M=!0;for(S=this.getRawIndex(m),f=0;f<n;f++){var I=e[f];((w=this._getFast(i,S))<t[I][0]||w>t[I][1])&&(M=!1)}M&&(o[r++]=this.getRawIndex(m))}return r<a&&(this._indices=o),this._count=r,this._extent={},this.getRawIndex=this._indices?Nf:Pf,this}}},Df.mapArray=function(t,e,i,n){"function"==typeof t&&(n=i,i=e,e=t,t=[]),i=i||n||this;var a=[];return this.each(t,function(){a.push(e&&e.apply(this,arguments))},i),a},Df.map=function(t,e,i,n){i=i||n||this;var a=Rf(this,t=N(Ef(t),this.getDimension,this));a._indices=this._indices,a.getRawIndex=a._indices?Nf:Pf;for(var o=a._storage,r=[],s=this._chunkSize,l=t.length,u=this.count(),h=[],c=a._rawExtent,d=0;d<u;d++){for(var f=0;f<l;f++)h[f]=this.get(t[f],d);h[l]=d;var p=e&&e.apply(i,h);if(null!=p){"object"!=typeof p&&(r[0]=p,p=r);for(var g=this.getRawIndex(d),m=Math.floor(g/s),v=g%s,y=0;y<p.length;y++){var x=t[y],_=p[y],w=c[x],b=o[x];b&&(b[m][v]=_),_<w[0]&&(w[0]=_),_>w[1]&&(w[1]=_)}}}return a},Df.downSample=function(t,e,i,n){for(var a=Rf(this,[t]),o=a._storage,r=[],s=Math.floor(1/e),l=o[t],u=this.count(),h=this._chunkSize,c=a._rawExtent[t],d=new(Sf(this))(u),f=0,p=0;p<u;p+=s){u-p<s&&(s=u-p,r.length=s);for(var g=0;g<s;g++){var m=this.getRawIndex(p+g),v=Math.floor(m/h),y=m%h;r[g]=l[v][y]}var x=i(r),_=this.getRawIndex(Math.min(p+n(r,x)||0,u-1)),w=_%h;(l[Math.floor(_/h)][w]=x)<c[0]&&(c[0]=x),x>c[1]&&(c[1]=x),d[f++]=_}return a._count=f,a._indices=d,a.getRawIndex=Nf,a},Df.getItemModel=function(t){var e=this.hostModel;return new dl(this.getRawDataItem(t),e,e&&e.ecModel)},Df.diff=function(e){var i=this;return new df(e?e.getIndices():[],this.getIndices(),function(t){return Of(e,t)},function(t){return Of(i,t)})},Df.getVisual=function(t){var e=this._visual;return e&&e[t]},Df.setVisual=function(t,e){if(vf(t))for(var i in t)t.hasOwnProperty(i)&&this.setVisual(i,t[i]);else this._visual=this._visual||{},this._visual[t]=e},Df.setLayout=function(t,e){if(vf(t))for(var i in t)t.hasOwnProperty(i)&&this.setLayout(i,t[i]);else this._layout[t]=e},Df.getLayout=function(t){return this._layout[t]},Df.getItemLayout=function(t){return this._itemLayouts[t]},Df.setItemLayout=function(t,e,i){this._itemLayouts[t]=i?L(this._itemLayouts[t]||{},e):e},Df.clearItemLayouts=function(){this._itemLayouts.length=0},Df.getItemVisual=function(t,e,i){var n=this._itemVisuals[t],a=n&&n[e];return null!=a||i?a:this.getVisual(e)},Df.setItemVisual=function(t,e,i){var n=this._itemVisuals[t]||{},a=this.hasItemVisual;if(this._itemVisuals[t]=n,vf(e))for(var o in e)e.hasOwnProperty(o)&&(n[o]=e[o],a[o]=!0);else n[e]=i,a[e]=!0},Df.clearAllVisual=function(){this._visual={},this._itemVisuals=[],this.hasItemVisual={}};function Vf(t){t.seriesIndex=this.seriesIndex,t.dataIndex=this.dataIndex,t.dataType=this.dataType}function Gf(t,e,i){Lu.isInstance(e)||(e=Lu.seriesDataToSource(e)),i=i||{},t=(t||[]).slice();for(var n=(i.dimsDef||[]).slice(),l=Q(i.encodeDef),a=Q(),o=Q(),u=[],r=function(t,e,i,n){var a=Math.max(t.dimensionsDetectCount||1,e.length,i.length,n||0);return E(e,function(t){var e=t.dimsDef;e&&(a=Math.max(a,e.length))}),a}(e,t,n,i.dimCount),s=0;s<r;s++){var h=n[s]=L({},z(n[s])?n[s]:{name:n[s]}),c=h.name,d=u[s]={otherDims:{}};null!=c&&null==a.get(c)&&(d.name=d.displayName=c,a.set(c,s)),null!=h.type&&(d.type=h.type),null!=h.displayName&&(d.displayName=h.displayName)}l.each(function(t,i){if(1===(t=wa(t).slice()).length&&!R(t[0])&&t[0]<0)l.set(i,!1);else{var n=l.set(i,[]);E(t,function(t,e){R(t)&&(t=a.get(t)),null!=t&&t<r&&(n[e]=t,p(u[t],i,e))})}});var f=0;function p(t,e,i){null!=pf.get(e)?t.otherDims[e]=i:(t.coordDim=e,t.coordDimIndex=i,o.set(e,!0))}E(t,function(a,t){var o,r,s;if(R(a))o=a,a={};else{o=a.name;var e=a.ordinalMeta;a.ordinalMeta=null,(a=D(a)).ordinalMeta=e,r=a.dimsDef,s=a.otherDims,a.name=a.coordDim=a.coordDimIndex=a.dimsDef=a.otherDims=null}if(!1!==(i=l.get(o))){var i;if(!(i=wa(i)).length)for(var n=0;n<(r&&r.length||1);n++){for(;f<u.length&&null!=u[f].coordDim;)f++;f<u.length&&i.push(f++)}E(i,function(t,e){var i=u[t];if(p(C(i,a),o,e),null==i.name&&r){var n=r[e];z(n)||(n={name:n}),i.name=i.displayName=n.name,i.defaultTooltip=n.defaultTooltip}s&&C(i.otherDims,s)})}});var g=i.generateCoord,m=i.generateCoordCount,v=null!=m;m=g?m||1:0;for(var y,x,_=g||"value",w=0;w<r;w++){null==(d=u[w]=u[w]||{}).coordDim&&(d.coordDim=Ff(_,o,v),d.coordDimIndex=0,(!g||m<=0)&&(d.isExtraCoord=!0),m--),null==d.name&&(d.name=Ff(d.coordDim,a)),null==d.type&&(y=e,x=w,d.name,Eu(y.data,y.sourceFormat,y.seriesLayoutBy,y.dimensionsDefine,y.startIndex,x))&&(d.type="ordinal")}return u}function Ff(t,e,i){if(i||null!=e.get(t)){for(var n=0;null!=e.get(t+n);)n++;t+=n}return e.set(t,!0),t}Df.setItemGraphicEl=function(t,e){var i=this.hostModel;e&&(e.dataIndex=t,e.dataType=this.dataType,e.seriesIndex=i&&i.seriesIndex,"group"===e.type&&e.traverse(Vf,e)),this._graphicEls[t]=e},Df.getItemGraphicEl=function(t){return this._graphicEls[t]},Df.eachItemGraphicEl=function(i,n){E(this._graphicEls,function(t,e){t&&i&&i.call(n,t,e)})},Df.cloneShallow=function(t){if(!t){var e=N(this.dimensions,this.getDimensionInfo,this);t=new Tf(e,this.hostModel)}if(t._storage=this._storage,Af(t,this),this._indices){var i=this._indices.constructor;t._indices=new i(this._indices)}else t._indices=null;return t.getRawIndex=t._indices?Nf:Pf,t},Df.wrapMethod=function(t,e){var i=this[t];"function"==typeof i&&(this.__wrappedMethods=this.__wrappedMethods||[],this.__wrappedMethods.push(t),this[t]=function(){var t=i.apply(this,arguments);return e.apply(this,[t].concat(U(arguments)))})},Df.TRANSFERABLE_METHODS=["cloneShallow","downSample","map"],Df.CHANGABLE_METHODS=["filterSelf","selectRange"];var Wf=function(t,e){return Gf((e=e||{}).coordDimensions||[],t,{dimsDef:e.dimensionsDefine||t.dimensionsDefine,encodeDef:e.encodeDefine||t.encodeDefine,dimCount:e.dimensionsCount,generateCoord:e.generateCoord,generateCoordCount:e.generateCoordCount})};function Hf(t,i,e){var n,a,o,r,s=(e=e||{}).byIndex,l=e.stackedCoordDimension,u=!(!t||!t.get("stack"));if(E(i,function(t,e){R(t)&&(i[e]=t={name:t}),u&&!t.isExtraCoord&&(s||n||!t.ordinalMeta||(n=t),a||"ordinal"===t.type||"time"===t.type||l&&l!==t.coordDim||(a=t))}),!a||s||n||(s=!0),a){o="__\0ecstackresult",r="__\0ecstackedover",n&&(n.createInvertedIndices=!0);var h=a.coordDim,c=a.type,d=0;E(i,function(t){t.coordDim===h&&d++}),i.push({name:o,coordDim:h,coordDimIndex:d,type:c,isExtraCoord:!0,isCalculationCoord:!0}),d++,i.push({name:r,coordDim:r,coordDimIndex:d,type:c,isExtraCoord:!0,isCalculationCoord:!0})}return{stackedDimension:a&&a.name,stackedByDimension:n&&n.name,isStackedByIndex:s,stackedOverDimension:r,stackResultDimension:o}}function Zf(t,e){return!!e&&e===t.getCalculationInfo("stackedDimension")}function Uf(t,e){return Zf(t,e)?t.getCalculationInfo("stackResultDimension"):e}function Xf(t,e,i){i=i||{},Lu.isInstance(t)||(t=Lu.seriesDataToSource(t));var n,a=e.get("coordinateSystem"),o=Hu.get(a),r=xu(e);r&&(n=N(r.coordSysDims,function(t){var e={name:t},i=r.axisMap.get(t);if(i){var n=i.get("type");e.type=mf(n)}return e})),n=n||(o&&(o.getDimensionsInfo?o.getDimensionsInfo():o.dimensions.slice())||["x","y"]);var s,l,u=Wf(t,{coordDimensions:n,generateCoord:i.generateCoord});r&&E(u,function(t,e){var i=t.coordDim,n=r.categoryAxisMap.get(i);n&&(null==s&&(s=e),t.ordinalMeta=n.getOrdinalMeta()),null!=t.otherDims.itemName&&(l=!0)}),l||null==s||(u[s].otherDims.itemName=0);var h=Hf(e,u),c=new Tf(u,e);c.setCalculationInfo(h);var d=null!=s&&function(t){if(t.sourceFormat===bu){var e=function(t){var e=0;for(;e<t.length&&null==t[e];)e++;return t[e]}(t.data||[]);return null!=e&&!k(Ma(e))}}(t)?function(t,e,i,n){return n===s?i:this.defaultDimValueGetter(t,e,i,n)}:null;return c.hasItemOption=!1,c.initData(t,null,d),c}function Yf(t){this._setting=t||{},this._extent=[1/0,-1/0],this._interval=0,this.init&&this.init.apply(this,arguments)}function jf(t){this.categories=t.categories||[],this._needCollect=t.needCollect,this._deduplication=t.deduplication,this._map}Yf.prototype.parse=function(t){return t},Yf.prototype.getSetting=function(t){return this._setting[t]},Yf.prototype.contain=function(t){var e=this._extent;return t>=e[0]&&t<=e[1]},Yf.prototype.normalize=function(t){var e=this._extent;return e[1]===e[0]?.5:(t-e[0])/(e[1]-e[0])},Yf.prototype.scale=function(t){var e=this._extent;return t*(e[1]-e[0])+e[0]},Yf.prototype.unionExtent=function(t){var e=this._extent;t[0]<e[0]&&(e[0]=t[0]),t[1]>e[1]&&(e[1]=t[1])},Yf.prototype.unionExtentFromData=function(t,e){this.unionExtent(t.getApproximateExtent(e))},Yf.prototype.getExtent=function(){return this._extent.slice()},Yf.prototype.setExtent=function(t,e){var i=this._extent;isNaN(t)||(i[0]=t),isNaN(e)||(i[1]=e)},Yf.prototype.isBlank=function(){return this._isBlank},Yf.prototype.setBlank=function(t){this._isBlank=t},Yf.prototype.getLabel=null,Ga(Yf),Ua(Yf,{registerWhenExtend:!0}),jf.createByAxisModel=function(t){var e=t.option,i=e.data,n=i&&N(i,$f);return new jf({categories:n,needCollect:!n,deduplication:!1!==e.dedplication})};var qf=jf.prototype;function Kf(t){return t._map||(t._map=Q(t.categories))}function $f(t){return z(t)&&null!=t.value?t.value:t+""}qf.getOrdinal=function(t){return Kf(this).get(t)},qf.parseAndCollect=function(t){var e,i=this._needCollect;if("string"!=typeof t&&!i)return t;if(i&&!this._deduplication)return e=this.categories.length,this.categories[e]=t,e;var n=Kf(this);return null==(e=n.get(t))&&(i?(e=this.categories.length,this.categories[e]=t,n.set(t,e)):e=NaN),e};var Jf=Yf.prototype,Qf=Yf.extend({type:"ordinal",init:function(t,e){t&&!k(t)||(t=new jf({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),Jf.contain.call(this,t)&&null!=this._ordinalMeta.categories[t]},normalize:function(t){return Jf.normalize.call(this,this.parse(t))},scale:function(t){return Math.round(Jf.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){if(!this.isBlank())return 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:et,niceExtent:et});Qf.create=function(){return new Qf};var tp=_l;function ep(t){return Sl(t)+2}function ip(t,e,i){t[e]=Math.max(Math.min(t[e],i[1]),i[0])}function np(t,e){isFinite(t[0])||(t[0]=e[0]),isFinite(t[1])||(t[1]=e[1]),ip(t,0,e),ip(t,1,e),t[0]>t[1]&&(t[0]=t[1])}var ap=_l,op=Yf.extend({type:"interval",_interval:0,_intervalPrecision:2,setExtent:function(t,e){var i=this._extent;isNaN(t)||(i[0]=parseFloat(t)),isNaN(e)||(i[1]=parseFloat(e))},unionExtent:function(t){var e=this._extent;t[0]<e[0]&&(e[0]=t[0]),t[1]>e[1]&&(e[1]=t[1]),op.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=ep(t)},getTicks:function(){return function(t,e,i,n){var a=[];if(!t)return a;e[0]<i[0]&&a.push(e[0]);for(var o=i[0];o<=i[1]&&(a.push(o),(o=tp(o+t,n))!==a[a.length-1]);)if(1e4<a.length)return[];return e[1]>(a.length?a[a.length-1]:i[1])&&a.push(e[1]),a}(this._interval,this._extent,this._niceExtent,this._intervalPrecision)},getLabel:function(t,e){if(null==t)return"";var i=e&&e.precision;return null==i?i=Sl(t)||0:"auto"===i&&(i=this._intervalPrecision),zl(t=ap(t,i,!0))},niceTicks:function(t,e,i){t=t||5;var n=this._extent,a=n[1]-n[0];if(isFinite(a)){a<0&&(a=-a,n.reverse());var o=function(t,e,i,n){var a={},o=t[1]-t[0],r=a.interval=Nl(o/e,!0);null!=i&&r<i&&(r=a.interval=i),null!=n&&n<r&&(r=a.interval=n);var s=a.intervalPrecision=ep(r);return np(a.niceTickExtent=[tp(Math.ceil(t[0]/r)*r,s),tp(Math.floor(t[1]/r)*r,s)],t),a}(n,t,e,i);this._intervalPrecision=o.intervalPrecision,this._interval=o.interval,this._niceExtent=o.niceTickExtent}},niceExtent:function(t){var e=this._extent;if(e[0]===e[1])if(0!==e[0]){var i=e[0];t.fixMax||(e[1]+=i/2),e[0]-=i/2}else e[1]=1;var n=e[1]-e[0];isFinite(n)||(e[0]=0,e[1]=1),this.niceTicks(t.splitNumber,t.minInterval,t.maxInterval);var a=this._interval;t.fixMin||(e[0]=ap(Math.floor(e[0]/a)*a)),t.fixMax||(e[1]=ap(Math.ceil(e[1]/a)*a))}});op.create=function(){return new op};var rp="__ec_stack_",sp="undefined"!=typeof Float32Array?Float32Array:Array;function lp(t){return t.get("stack")||rp+t.seriesIndex}function up(t){return t.dim+t.index}function hp(t,e){var i=[];return e.eachSeriesByType(t,function(t){mp(t)&&!vp(t)&&i.push(t)}),i}function cp(t){var g=function(t){var l={};E(t,function(t){var e=t.coordinateSystem.getBaseAxis();if("time"===e.type||"value"===e.type)for(var i=t.getData(),n=e.dim+"_"+e.index,a=i.mapDimension(e.dim),o=0,r=i.count();o<r;++o){var s=i.get(a,o);l[n]?l[n].push(s):l[n]=[s]}});var e=[];for(var i in l)if(l.hasOwnProperty(i)){var n=l[i];if(n){n.sort(function(t,e){return t-e});for(var a=null,o=1;o<n.length;++o){var r=n[o]-n[o-1];0<r&&(a=null===a?r:Math.min(a,r))}e[i]=a}}return e}(t),m=[];return E(t,function(t){var e,i=t.coordinateSystem.getBaseAxis(),n=i.getExtent();if("category"===i.type)e=i.getBandWidth();else if("value"===i.type||"time"===i.type){var a=i.dim+"_"+i.index,o=g[a],r=Math.abs(n[1]-n[0]),s=i.scale.getExtent(),l=Math.abs(s[1]-s[0]);e=o?r/l*o:r}else{var u=t.getData();e=Math.abs(n[1]-n[0])/u.count()}var h=xl(t.get("barWidth"),e),c=xl(t.get("barMaxWidth"),e),d=xl(t.get("barMinWidth")||1,e),f=t.get("barGap"),p=t.get("barCategoryGap");m.push({bandWidth:e,barWidth:h,barMaxWidth:c,barMinWidth:d,barGap:f,barCategoryGap:p,axisKey:up(i),stackId:lp(t)})}),dp(m)}function dp(t){var d={};E(t,function(t,e){var i=t.axisKey,n=t.bandWidth,a=d[i]||{bandWidth:n,remainedWidth:n,autoWidthCount:0,categoryGap:"20%",gap:"30%",stacks:{}},o=a.stacks;d[i]=a;var r=t.stackId;o[r]||a.autoWidthCount++,o[r]=o[r]||{width:0,maxWidth:0};var s=t.barWidth;s&&!o[r].width&&(o[r].width=s,s=Math.min(a.remainedWidth,s),a.remainedWidth-=s);var l=t.barMaxWidth;l&&(o[r].maxWidth=l);var u=t.barMinWidth;u&&(o[r].minWidth=u);var h=t.barGap;null!=h&&(a.gap=h);var c=t.barCategoryGap;null!=c&&(a.categoryGap=c)});var f={};return E(d,function(t,i){f[i]={};var e=t.stacks,n=t.bandWidth,a=xl(t.categoryGap,n),o=xl(t.gap,1),r=t.remainedWidth,s=t.autoWidthCount,l=(r-a)/(s+(s-1)*o);l=Math.max(l,0),E(e,function(t){var e=t.maxWidth,i=t.minWidth;if(t.width){n=t.width;e&&(n=Math.min(n,e)),i&&(n=Math.max(n,i)),t.width=n,r-=n,s--}else{var n=l;e&&e<n&&(n=Math.min(e,r)),i&&n<i&&(n=i),n!==l&&(t.width=n,r-=n,s--)}}),l=(r-a)/(s+(s-1)*o),l=Math.max(l,0);var u,h=0;E(e,function(t,e){t.width||(t.width=l),h+=(u=t).width*(1+o)}),u&&(h-=u.width*o);var c=-h/2;E(e,function(t,e){f[i][e]=f[i][e]||{bandWidth:n,offset:c,width:t.width},c+=t.width*(1+o)})}),f}function fp(t,e,i){if(t&&e){var n=t[up(e)];return null!=n&&null!=i&&(n=n[lp(i)]),n}}function pp(t,e){var i=hp(t,e),A=cp(i),T={};E(i,function(t){var e=t.getData(),i=t.coordinateSystem,n=i.getBaseAxis(),a=lp(t),o=A[up(n)][a],r=o.offset,s=o.width,l=i.getOtherAxis(n),u=t.get("barMinHeight")||0;T[a]=T[a]||[],e.setLayout({bandWidth:o.bandWidth,offset:r,size:s});for(var h=e.mapDimension(l.dim),c=e.mapDimension(n.dim),d=Zf(e,h),f=l.isHorizontal(),p=yp(n,l,d),g=0,m=e.count();g<m;g++){var v=e.get(h,g),y=e.get(c,g);if(!isNaN(v)&&!isNaN(y)){var x,_,w,b,S,M=0<=v?"p":"n",I=p;if(d&&(T[a][y]||(T[a][y]={p:p,n:p}),I=T[a][y][M]),f)x=I,_=(S=i.dataToPoint([v,y]))[1]+r,w=S[0]-p,b=s,Math.abs(w)<u&&(w=(w<0?-1:1)*u),d&&(T[a][y][M]+=w);else x=(S=i.dataToPoint([y,v]))[0]+r,_=I,w=s,b=S[1]-p,Math.abs(b)<u&&(b=(b<=0?-1:1)*u),d&&(T[a][y][M]+=b);e.setItemLayout(g,{x:x,y:_,width:w,height:b})}}},this)}var gp={seriesType:"bar",plan:Jh(),reset:function(t){if(mp(t)&&vp(t)){var e=t.getData(),h=t.coordinateSystem,c=h.getBaseAxis(),d=h.getOtherAxis(c),f=e.mapDimension(d.dim),p=e.mapDimension(c.dim),g=d.isHorizontal(),m=g?0:1,v=fp(cp([t]),c,t).width;return.5<v||(v=.5),{progress:function(t,e){var i,n=t.count,a=new sp(2*n),o=new sp(n),r=[],s=[],l=0,u=0;for(;null!=(i=t.next());)s[m]=e.get(f,i),s[1-m]=e.get(p,i),r=h.dataToPoint(s,null,r),a[l++]=r[0],a[l++]=r[1],o[u++]=i;e.setLayout({largePoints:a,largeDataIndices:o,barWidth:v,valueAxisStart:yp(c,d,!1),valueAxisHorizontal:g})}}}}};function mp(t){return t.coordinateSystem&&"cartesian2d"===t.coordinateSystem.type}function vp(t){return t.pipelineContext&&t.pipelineContext.large}function yp(t,e){return e.toGlobalCoord(e.dataToCoord("log"===e.type?1:0))}var xp=op.prototype,_p=Math.ceil,wp=Math.floor,bp=36e5,Sp=864e5,Mp=op.extend({type:"time",getLabel:function(t){var e=this._stepLvl,i=new Date(t);return ql(e[0],i,this.getSetting("useUTC"))},niceExtent:function(t){var e=this._extent;if(e[0]===e[1]&&(e[0]-=Sp,e[1]+=Sp),e[1]===-1/0&&e[0]===1/0){var i=new Date;e[1]=+new Date(i.getFullYear(),i.getMonth(),i.getDate()),e[0]=e[1]-Sp}this.niceTicks(t.splitNumber,t.minInterval,t.maxInterval);var n=this._interval;t.fixMin||(e[0]=_l(wp(e[0]/n)*n)),t.fixMax||(e[1]=_l(_p(e[1]/n)*n))},niceTicks:function(t,e,i){t=t||10;var n=this._extent,a=n[1]-n[0],o=a/t;null!=e&&o<e&&(o=e),null!=i&&i<o&&(o=i);var r=Ip.length,s=function(t,e,i,n){for(;i<n;){var a=i+n>>>1;t[a][1]<e?i=1+a:n=a}return i}(Ip,o,0,r),l=Ip[Math.min(s,r-1)],u=l[1];"year"===l[0]&&(u*=Nl(a/u/t,!0));var h=this.getSetting("useUTC")?0:60*new Date(+n[0]||+n[1]).getTimezoneOffset()*1e3,c=[Math.round(_p((n[0]-h)/u)*u+h),Math.round(wp((n[1]-h)/u)*u+h)];np(c,n),this._stepLvl=l,this._interval=u,this._niceExtent=c},parse:function(t){return+Ll(t)}});E(["contain","normalize"],function(e){Mp.prototype[e]=function(t){return xp[e].call(this,this.parse(t))}});var Ip=[["hh:mm:ss",1e3],["hh:mm:ss",5e3],["hh:mm:ss",1e4],["hh:mm:ss",15e3],["hh:mm:ss",3e4],["hh:mm\nMM-dd",6e4],["hh:mm\nMM-dd",3e5],["hh:mm\nMM-dd",6e5],["hh:mm\nMM-dd",9e5],["hh:mm\nMM-dd",18e5],["hh:mm\nMM-dd",bp],["hh:mm\nMM-dd",72e5],["hh:mm\nMM-dd",6*bp],["hh:mm\nMM-dd",432e5],["MM-dd\nyyyy",Sp],["MM-dd\nyyyy",2*Sp],["MM-dd\nyyyy",3*Sp],["MM-dd\nyyyy",4*Sp],["MM-dd\nyyyy",5*Sp],["MM-dd\nyyyy",6*Sp],["week",7*Sp],["MM-dd\nyyyy",864e6],["week",14*Sp],["week",21*Sp],["month",31*Sp],["week",42*Sp],["month",62*Sp],["week",70*Sp],["quarter",95*Sp],["month",31*Sp*4],["month",13392e6],["half-year",16416e6],["month",31*Sp*8],["month",26784e6],["year",380*Sp]];Mp.create=function(t){return new Mp({useUTC:t.ecModel.get("useUTC")})};var Ap=Yf.prototype,Tp=op.prototype,Dp=Sl,Cp=_l,Lp=Math.floor,kp=Math.ceil,Pp=Math.pow,Np=Math.log,Op=Yf.extend({type:"log",base:10,$constructor:function(){Yf.apply(this,arguments),this._originalScale=new op},getTicks:function(){var i=this._originalScale,n=this._extent,a=i.getExtent();return N(Tp.getTicks.call(this),function(t){var e=_l(Pp(this.base,t));return e=t===n[0]&&i.__fixMin?Ep(e,a[0]):e,e=t===n[1]&&i.__fixMax?Ep(e,a[1]):e},this)},getLabel:Tp.getLabel,scale:function(t){return t=Ap.scale.call(this,t),Pp(this.base,t)},setExtent:function(t,e){var i=this.base;t=Np(t)/Np(i),e=Np(e)/Np(i),Tp.setExtent.call(this,t,e)},getExtent:function(){var t=this.base,e=Ap.getExtent.call(this);e[0]=Pp(t,e[0]),e[1]=Pp(t,e[1]);var i=this._originalScale,n=i.getExtent();return i.__fixMin&&(e[0]=Ep(e[0],n[0])),i.__fixMax&&(e[1]=Ep(e[1],n[1])),e},unionExtent:function(t){this._originalScale.unionExtent(t);var e=this.base;t[0]=Np(t[0])/Np(e),t[1]=Np(t[1])/Np(e),Ap.unionExtent.call(this,t)},unionExtentFromData:function(t,e){this.unionExtent(t.getApproximateExtent(e))},niceTicks:function(t){t=t||10;var e=this._extent,i=e[1]-e[0];if(!(i==1/0||i<=0)){var n=kl(i);for(t/i*n<=.5&&(n*=10);!isNaN(n)&&Math.abs(n)<1&&0<Math.abs(n);)n*=10;var a=[_l(kp(e[0]/n)*n),_l(Lp(e[1]/n)*n)];this._interval=n,this._niceExtent=a}},niceExtent:function(t){Tp.niceExtent.call(this,t);var e=this._originalScale;e.__fixMin=t.fixMin,e.__fixMax=t.fixMax}});function Ep(t,e){return Cp(t,Dp(e))}function Rp(t,e){var i,n,a,o=t.type,r=e.getMin(),s=e.getMax(),l=null!=r,u=null!=s,h=t.getExtent();"ordinal"===o?i=e.getCategories().length:(k(n=e.get("boundaryGap"))||(n=[n||0,n||0]),"boolean"==typeof n[0]&&(n=[0,0]),n[0]=xl(n[0],1),n[1]=xl(n[1],1),a=h[1]-h[0]||Math.abs(h[0])),null==r&&(r="ordinal"===o?i?0:NaN:h[0]-n[0]*a),null==s&&(s="ordinal"===o?i?i-1:NaN:h[1]+n[1]*a),"dataMin"===r?r=h[0]:"function"==typeof r&&(r=r({min:h[0],max:h[1]})),"dataMax"===s?s=h[1]:"function"==typeof s&&(s=s({min:h[0],max:h[1]})),null!=r&&isFinite(r)||(r=NaN),null!=s&&isFinite(s)||(s=NaN),t.setBlank(F(r)||F(s)||"ordinal"===o&&!t.getOrdinalMeta().categories.length),e.getNeedCrossZero()&&(0<r&&0<s&&!l&&(r=0),r<0&&s<0&&!u&&(s=0));var c=e.ecModel;if(c&&"time"===o){var d,f=hp("bar",c);if(E(f,function(t){d|=t.getBaseAxis()===e.axis}),d){var p=cp(f),g=function(t,e,i,n){var a=i.axis.getExtent(),o=a[1]-a[0],r=fp(n,i.axis);if(void 0===r)return{min:t,max:e};var s=1/0;E(r,function(t){s=Math.min(t.offset,s)});var l=-1/0;E(r,function(t){l=Math.max(t.offset+t.width,l)}),s=Math.abs(s),l=Math.abs(l);var u=s+l,h=e-t,c=h/(1-(s+l)/o)-h;return{min:t-=s/u*c,max:e+=l/u*c}}(r,s,e,p);r=g.min,s=g.max}}return[r,s]}function zp(t,e){var i=Rp(t,e),n=null!=e.getMin(),a=null!=e.getMax(),o=e.get("splitNumber");"log"===t.type&&(t.base=e.get("logBase"));var r=t.type;t.setExtent(i[0],i[1]),t.niceExtent({splitNumber:o,fixMin:n,fixMax:a,minInterval:"interval"===r||"time"===r?e.get("minInterval"):null,maxInterval:"interval"===r||"time"===r?e.get("maxInterval"):null});var s=e.get("interval");null!=s&&t.setInterval&&t.setInterval(s)}function Bp(t,e){if(e=e||t.get("type"))switch(e){case"category":return new Qf(t.getOrdinalMeta?t.getOrdinalMeta():t.getCategories(),[1/0,-1/0]);case"value":return new op;default:return(Yf.getClass(e)||op).create(t)}}function Vp(i){var e,n=i.getLabelModel().get("formatter"),a="category"===i.type?i.scale.getExtent()[0]:null;return"string"==typeof n?(e=n,n=function(t){return t=i.scale.getLabel(t),e.replace("{value}",null!=t?t:"")}):"function"==typeof n?function(t,e){return null!=a&&(e=t-a),n(Gp(i,t),e)}:function(t){return i.scale.getLabel(t)}}function Gp(t,e){return"category"===t.type?t.scale.getLabel(e):e}function Fp(t){var e=t.get("interval");return null==e?"auto":e}function Wp(t){return"category"===t.type&&0===Fp(t.getLabelModel())}E(["contain","normalize"],function(e){Op.prototype[e]=function(t){return t=Np(t)/Np(this.base),Ap[e].call(this,t)}}),Op.create=function(){return new Op};var Hp={getMin:function(t){var e=this.option,i=t||null==e.rangeStart?e.min:e.rangeStart;return this.axis&&null!=i&&"dataMin"!==i&&"function"!=typeof i&&!F(i)&&(i=this.axis.scale.parse(i)),i},getMax:function(t){var e=this.option,i=t||null==e.rangeEnd?e.max:e.rangeEnd;return this.axis&&null!=i&&"dataMax"!==i&&"function"!=typeof i&&!F(i)&&(i=this.axis.scale.parse(i)),i},getNeedCrossZero:function(){var t=this.option;return null==t.rangeStart&&null==t.rangeEnd&&!t.scale},getCoordSysModel:et,setRange:function(t,e){this.option.rangeStart=t,this.option.rangeEnd=e},resetRange:function(){this.option.rangeStart=this.option.rangeEnd=null}},Zp=ds({type:"triangle",shape:{cx:0,cy:0,width:0,height:0},buildPath:function(t,e){var i=e.cx,n=e.cy,a=e.width/2,o=e.height/2;t.moveTo(i,n-o),t.lineTo(i+a,n+o),t.lineTo(i-a,n+o),t.closePath()}}),Up=ds({type:"diamond",shape:{cx:0,cy:0,width:0,height:0},buildPath:function(t,e){var i=e.cx,n=e.cy,a=e.width/2,o=e.height/2;t.moveTo(i,n-o),t.lineTo(i+a,n),t.lineTo(i,n+o),t.lineTo(i-a,n),t.closePath()}}),Xp=ds({type:"pin",shape:{x:0,y:0,width:0,height:0},buildPath:function(t,e){var i=e.x,n=e.y,a=e.width/5*3,o=Math.max(a,e.height),r=a/2,s=r*r/(o-r),l=n-o+r+s,u=Math.asin(s/r),h=Math.cos(u)*r,c=Math.sin(u),d=Math.cos(u),f=.6*r,p=.7*r;t.moveTo(i-h,l+s),t.arc(i,l,r,Math.PI-u,2*Math.PI+u),t.bezierCurveTo(i+h-c*f,l+s+d*f,i,n-p,i,n),t.bezierCurveTo(i,n-p,i-h+c*f,l+s+d*f,i-h,l+s),t.closePath()}}),Yp=ds({type:"arrow",shape:{x:0,y:0,width:0,height:0},buildPath:function(t,e){var i=e.height,n=e.width,a=e.x,o=e.y,r=n/3*2;t.moveTo(a,o),t.lineTo(a+r,o+i),t.lineTo(a,o+i/4*3),t.lineTo(a-r,o+i),t.lineTo(a,o),t.closePath()}}),jp={line:function(t,e,i,n,a){a.x1=t,a.y1=e+n/2,a.x2=t+i,a.y2=e+n/2},rect:function(t,e,i,n,a){a.x=t,a.y=e,a.width=i,a.height=n},roundRect:function(t,e,i,n,a){a.x=t,a.y=e,a.width=i,a.height=n,a.r=Math.min(i,n)/4},square:function(t,e,i,n,a){var o=Math.min(i,n);a.x=t,a.y=e,a.width=o,a.height=o},circle:function(t,e,i,n,a){a.cx=t+i/2,a.cy=e+n/2,a.r=Math.min(i,n)/2},diamond:function(t,e,i,n,a){a.cx=t+i/2,a.cy=e+n/2,a.width=i,a.height=n},pin:function(t,e,i,n,a){a.x=t+i/2,a.y=e+n/2,a.width=i,a.height=n},arrow:function(t,e,i,n,a){a.x=t+i/2,a.y=e+n/2,a.width=i,a.height=n},triangle:function(t,e,i,n,a){a.cx=t+i/2,a.cy=e+n/2,a.width=i,a.height=n}},qp={};E({line:Ur,rect:Hr,roundRect:Hr,square:Hr,circle:Lr,diamond:Up,pin:Xp,arrow:Yp,triangle:Zp},function(t,e){qp[e]=new t});var Kp=ds({type:"symbol",shape:{symbolType:"",x:0,y:0,width:0,height:0},calculateTextPosition:function(t,e,i){var n=dn(t,e,i),a=this.shape;return a&&"pin"===a.symbolType&&"inside"===e.textPosition&&(n.y=i.y+.4*i.height),n},buildPath:function(t,e,i){var n=e.symbolType;if("none"!==n){var a=qp[n];a=a||qp[n="rect"],jp[n](e.x,e.y,e.width,e.height,a.shape),a.buildPath(t,a.shape,i)}}});function $p(t,e){if("image"!==this.type){var i=this.style,n=this.shape;n&&"line"===n.symbolType?i.stroke=t:this.__isEmptyBrush?(i.stroke=t,i.fill=e||"#fff"):(i.fill&&(i.fill=t),i.stroke&&(i.stroke=t)),this.dirty(!1)}}function Jp(t,e,i,n,a,o,r){var s,l=0===t.indexOf("empty");return l&&(t=t.substr(5,1).toLowerCase()+t.substr(6)),(s=0===t.indexOf("image://")?ms(t.slice(8),new bi(e,i,n,a),r?"center":"cover"):0===t.indexOf("path://")?gs(t.slice(7),{},new bi(e,i,n,a),r?"center":"cover"):new Kp({shape:{symbolType:t,x:e,y:i,width:n,height:a}})).__isEmptyBrush=l,s.setColor=$p,s.setColor(o),s}var Qp={isDimensionStacked:Zf,enableDataStack:Hf,getStackedDimension:Uf};var tg=(Object.freeze||Object)({createList:function(t){return Xf(t.getSource(),t)},getLayoutRect:au,dataStack:Qp,createScale:function(t,e){var i=e;dl.isInstance(e)||b(i=new dl(e),Hp);var n=Bp(i);return n.setExtent(t[0],t[1]),zp(n,i),n},mixinAxisModelCommonMethods:function(t){b(t,Hp)},completeDimensions:Gf,createDimensions:Wf,createSymbol:Jp}),eg=1e-8;function ig(t,e){return Math.abs(t-e)<eg}function ng(t,e,i){var n=0,a=t[0];if(!a)return!1;for(var o=1;o<t.length;o++){var r=t[o];n+=$o(a[0],a[1],r[0],r[1],e,i),a=r}var s=t[0];return ig(a[0],s[0])&&ig(a[1],s[1])||(n+=$o(a[0],a[1],s[0],s[1],e,i)),0!==n}function ag(t,e,i){if(this.name=t,this.geometries=e,i)i=[i[0],i[1]];else{var n=this.getBoundingRect();i=[n.x+n.width/2,n.y+n.height/2]}this.center=i}function og(t,e,i){for(var n=[],a=e[0],o=e[1],r=0;r<t.length;r+=2){var s=t.charCodeAt(r)-64,l=t.charCodeAt(r+1)-64;s=s>>1^-(1&s),l=l>>1^-(1&l),a=s+=a,o=l+=o,n.push([s/i,l/i])}return n}ag.prototype={constructor:ag,properties:null,getBoundingRect:function(){var t=this._rect;if(t)return t;for(var e=Number.MAX_VALUE,i=[e,e],n=[-e,-e],a=[],o=[],r=this.geometries,s=0;s<r.length;s++){if("polygon"===r[s].type)Io(r[s].exterior,a,o),St(i,i,a),Mt(n,n,o)}return 0===s&&(i[0]=i[1]=n[0]=n[1]=0),this._rect=new bi(i[0],i[1],n[0]-i[0],n[1]-i[1])},contain:function(t){var e=this.getBoundingRect(),i=this.geometries;if(!e.contain(t[0],t[1]))return!1;t:for(var n=0,a=i.length;n<a;n++)if("polygon"===i[n].type){var o=i[n].exterior,r=i[n].interiors;if(ng(o,t[0],t[1])){for(var s=0;s<(r?r.length:0);s++)if(ng(r[s]))continue t;return!0}}return!1},transformTo:function(t,e,i,n){var a=this.getBoundingRect(),o=a.width/a.height;i?n=n||i/o:i=o*n;for(var r=new bi(t,e,i,n),s=a.calculateTransform(r),l=this.geometries,u=0;u<l.length;u++)if("polygon"===l[u].type){for(var h=l[u].exterior,c=l[u].interiors,d=0;d<h.length;d++)bt(h[d],h[d],s);for(var f=0;f<(c?c.length:0);f++)for(d=0;d<c[f].length;d++)bt(c[f][d],c[f][d],s)}(a=this._rect).copy(r),this.center=[a.x+a.width/2,a.y+a.height/2]},cloneShallow:function(t){null==t&&(t=this.name);var e=new ag(t,this.geometries,this.center);return e._rect=this._rect,e.transformTo=null,e}};function rg(t){return function(t){if(!t.UTF8Encoding)return;var e=t.UTF8Scale;null==e&&(e=1024);for(var i=t.features,n=0;n<i.length;n++)for(var a=i[n].geometry,o=a.coordinates,r=a.encodeOffsets,s=0;s<o.length;s++){var l=o[s];if("Polygon"===a.type)o[s]=og(l,r[s],e);else if("MultiPolygon"===a.type)for(var u=0;u<l.length;u++){var h=l[u];l[u]=og(h,r[s][u],e)}}t.UTF8Encoding=!1}(t),N(M(t.features,function(t){return t.geometry&&t.properties&&0<t.geometry.coordinates.length}),function(t){var e=t.properties,i=t.geometry,n=i.coordinates,a=[];"Polygon"===i.type&&a.push({type:"polygon",exterior:n[0],interiors:n.slice(1)}),"MultiPolygon"===i.type&&E(n,function(t){t[0]&&a.push({type:"polygon",exterior:t[0],interiors:t.slice(1)})});var o=new ag(e.name,a,e.cp);return o.properties=e,o})}var sg=La();function lg(t){return"category"===t.type?function(t){var e=t.getLabelModel(),i=hg(t,e);return!e.get("show")||t.scale.isBlank()?{labels:[],labelCategoryInterval:i.labelCategoryInterval}:i}(t):function(i){var t=i.scale.getTicks(),n=Vp(i);return{labels:N(t,function(t,e){return{formattedLabel:n(t,e),rawLabel:i.scale.getLabel(t),tickValue:t}})}}(t)}function ug(t,e){return"category"===t.type?function(t,e){var i,n,a=cg(t,"ticks"),o=Fp(e),r=dg(a,o);if(r)return r;e.get("show")&&!t.scale.isBlank()||(i=[]);if(O(o))i=gg(t,o,!0);else if("auto"===o){var s=hg(t,t.getLabelModel());n=s.labelCategoryInterval,i=N(s.labels,function(t){return t.tickValue})}else i=pg(t,n=o,!0);return fg(a,o,{ticks:i,tickCategoryInterval:n})}(t,e):{ticks:t.scale.getTicks()}}function hg(t,e){var i,n=cg(t,"labels"),a=Fp(e),o=dg(n,a);return o||fg(n,a,{labels:O(a)?gg(t,a):pg(t,i="auto"===a?function(t){var e=sg(t).autoInterval;return null!=e?e:sg(t).autoInterval=t.calculateCategoryInterval()}(t):a),labelCategoryInterval:i})}function cg(t,e){return sg(t)[e]||(sg(t)[e]=[])}function dg(t,e){for(var i=0;i<t.length;i++)if(t[i].key===e)return t[i].value}function fg(t,e,i){return t.push({key:e,value:i}),i}function pg(t,e,i){var n=Vp(t),a=t.scale,o=a.getExtent(),r=t.getLabelModel(),s=[],l=Math.max((e||0)+1,1),u=o[0],h=a.count();0!==u&&1<l&&2<h/l&&(u=Math.round(Math.ceil(u/l)*l));var c=Wp(t),d=r.get("showMinLabel")||c,f=r.get("showMaxLabel")||c;d&&u!==o[0]&&g(o[0]);for(var p=u;p<=o[1];p+=l)g(p);function g(t){s.push(i?t:{formattedLabel:n(t),rawLabel:a.getLabel(t),tickValue:t})}return f&&p-l!==o[1]&&g(o[1]),s}function gg(t,i,n){var a=t.scale,o=Vp(t),r=[];return E(a.getTicks(),function(t){var e=a.getLabel(t);i(t,e)&&r.push(n?t:{formattedLabel:o(t),rawLabel:e,tickValue:t})}),r}var mg=[0,1],vg=function(t,e,i){this.dim=t,this.scale=e,this._extent=i||[0,0],this.inverse=!1,this.onBand=!1};function yg(t,e){var i=(t[1]-t[0])/e/2;t[0]+=i,t[1]-=i}vg.prototype={constructor:vg,contain:function(t){var e=this._extent,i=Math.min(e[0],e[1]),n=Math.max(e[0],e[1]);return i<=t&&t<=n},containData:function(t){return this.contain(this.dataToCoord(t))},getExtent:function(){return this._extent.slice()},getPixelPrecision:function(t){return Ml(t||this.scale.getExtent(),this._extent)},setExtent:function(t,e){var i=this._extent;i[0]=t,i[1]=e},dataToCoord:function(t,e){var i=this._extent,n=this.scale;return t=n.normalize(t),this.onBand&&"ordinal"===n.type&&yg(i=i.slice(),n.count()),yl(t,mg,i,e)},coordToData:function(t,e){var i=this._extent,n=this.scale;this.onBand&&"ordinal"===n.type&&yg(i=i.slice(),n.count());var a=yl(t,i,mg,e);return this.scale.scale(a)},pointToData:function(t,e){},getTicksCoords:function(t){var e=(t=t||{}).tickModel||this.getTickModel(),i=N(ug(this,e).ticks,function(t){return{coord:this.dataToCoord(t),tickValue:t}},this);return function(t,e,i,n){var a=e.length;if(!t.onBand||i||!a)return;var o,r,s=t.getExtent();if(1===a)e[0].coord=s[0],o=e[1]={coord:s[0]};else{var l=e[a-1].tickValue-e[0].tickValue,u=(e[a-1].coord-e[0].coord)/l;E(e,function(t){t.coord-=u/2});var h=t.scale.getExtent();r=1+h[1]-e[a-1].tickValue,o={coord:e[a-1].coord+u*r},e.push(o)}var c=s[0]>s[1];d(e[0].coord,s[0])&&(n?e[0].coord=s[0]:e.shift());n&&d(s[0],e[0].coord)&&e.unshift({coord:s[0]});d(s[1],o.coord)&&(n?o.coord=s[1]:e.pop());n&&d(o.coord,s[1])&&e.push({coord:s[1]});function d(t,e){return t=_l(t),e=_l(e),c?e<t:t<e}}(this,i,e.get("alignWithLabel"),t.clamp),i},getViewLabels:function(){return lg(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(),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},isHorizontal:null,getRotate:null,calculateCategoryInterval:function(){return function(t){var e=function(t){var e=t.getLabelModel();return{axisRotate:t.getRotate?t.getRotate():t.isHorizontal&&!t.isHorizontal()?90:0,labelRotate:e.get("rotate")||0,font:e.getFont()}}(t),i=Vp(t),n=(e.axisRotate-e.labelRotate)/180*Math.PI,a=t.scale,o=a.getExtent(),r=a.count();if(o[1]-o[0]<1)return 0;var s=1;40<r&&(s=Math.max(1,Math.floor(r/40)));for(var l=o[0],u=t.dataToCoord(l+1)-t.dataToCoord(l),h=Math.abs(u*Math.cos(n)),c=Math.abs(u*Math.sin(n)),d=0,f=0;l<=o[1];l+=s){var p,g,m=un(i(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))),_=sg(t.model),w=t.getExtent(),b=_.lastAutoInterval,S=_.lastTickCount;return null!=b&&null!=S&&Math.abs(b-x)<=1&&Math.abs(S-r)<=1&&x<b&&_.axisExtend0===w[0]&&_.axisExtend1===w[1]?x=b:(_.lastTickCount=r,_.lastAutoInterval=x,_.axisExtend0=w[0],_.axisExtend1=w[1]),x}(this)}};var xg=rg,_g={};E(["map","each","filter","indexOf","inherits","reduce","filter","bind","curry","isArray","isString","isObject","isFunction","extend","defaults","clone","merge"],function(t){_g[t]=it[t]});var wg={};function bg(t,e){var i=t.mapDimension("defaultedLabel",!0),n=i.length;if(1===n)return Mh(t,e,i[0]);if(n){for(var a=[],o=0;o<i.length;o++){var r=Mh(t,e,i[o]);a.push(r)}return a.join(" ")}}function Sg(t,e,i){Si.call(this),this.updateData(t,e,i)}E(["extendShape","extendPath","makePath","makeImage","mergePath","resizePath","createIcon","setHoverStyle","setLabelStyle","setTextStyle","setText","getFont","updateProps","initProps","getTransform","clipPointsByRect","clipRectByRect","registerShape","getShapeClass","Group","Image","Text","Circle","Sector","Ring","Polygon","Polyline","Rect","Line","BezierCurve","Arc","IncrementalDisplayable","CompoundPath","LinearGradient","RadialGradient","BoundingRect"],function(t){wg[t]=ol[t]}),Wh.extend({type:"series.line",dependencies:["grid","polar"],getInitialData:function(t,e){return Xf(this.getSource(),this)},defaultOption:{zlevel:0,z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,hoverAnimation:!0,clip:!0,label:{position:"top"},lineStyle:{width:2,type:"solid"},step:!1,smooth:!1,smoothMonotone:null,symbol:"emptyCircle",symbolSize:4,symbolRotate:null,showSymbol:!0,showAllSymbol:"auto",connectNulls:!1,sampling:"none",animationEasing:"linear",progressive:0,hoverLayerThreshold:1/0}});var Mg=Sg.prototype,Ig=Sg.getSymbolSize=function(t,e){var i=t.getItemVisual(e,"symbolSize");return i instanceof Array?i.slice():[+i,+i]};function Ag(t){return[t[0]/2,t[1]/2]}function Tg(t,e){this.parent.drift(t,e)}Mg._createSymbol=function(t,e,i,n,a){this.removeAll();var o=Jp(t,-1,-1,2,2,e.getItemVisual(i,"color"),a);o.attr({z2:100,culling:!0,scale:Ag(n)}),o.drift=Tg,this._symbolType=t,this.add(o)},Mg.stopSymbolAnimation=function(t){this.childAt(0).stopAnimation(t)},Mg.getSymbolPath=function(){return this.childAt(0)},Mg.getScale=function(){return this.childAt(0).scale},Mg.highlight=function(){this.childAt(0).trigger("emphasis")},Mg.downplay=function(){this.childAt(0).trigger("normal")},Mg.setZ=function(t,e){var i=this.childAt(0);i.zlevel=t,i.z=e},Mg.setDraggable=function(t){var e=this.childAt(0);e.draggable=t,e.cursor=t?"move":e.cursor},Mg.updateData=function(t,e,i){this.silent=!1;var n=t.getItemVisual(e,"symbol")||"circle",a=t.hostModel,o=Ig(t,e),r=n!==this._symbolType;if(r){var s=t.getItemVisual(e,"symbolKeepAspect");this._createSymbol(n,t,e,o,s)}else{(l=this.childAt(0)).silent=!1,js(l,{scale:Ag(o)},a,e)}if(this._updateCommon(t,e,o,i),r){var l=this.childAt(0),u=i&&i.fadeIn,h={scale:l.scale.slice()};u&&(h.style={opacity:l.style.opacity}),l.scale=[0,0],u&&(l.style.opacity=0),qs(l,h,a,e)}this._seriesModel=a};var Dg=["itemStyle"],Cg=["emphasis","itemStyle"],Lg=["label"],kg=["emphasis","label"];function Pg(t,e){if(!this.incremental&&!this.useHoverLayer)if("emphasis"===e){var i=this.__symbolOriginalScale,n=i[1]/i[0],a={scale:[Math.max(1.1*i[0],i[0]+3),Math.max(1.1*i[1],i[1]+3*n)]};this.animateTo(a,400,"elasticOut")}else"normal"===e&&this.animateTo({scale:this.__symbolOriginalScale},400,"elasticOut")}function Ng(t){this.group=new Si,this._symbolCtor=t||Sg}Mg._updateCommon=function(i,t,e,n){var a=this.childAt(0),o=i.hostModel,r=i.getItemVisual(t,"color");"image"!==a.type?a.useStyle({strokeNoScale:!0}):a.setStyle({opacity:null,shadowBlur:null,shadowOffsetX:null,shadowOffsetY:null,shadowColor:null});var s=n&&n.itemStyle,l=n&&n.hoverItemStyle,u=n&&n.symbolRotate,h=n&&n.symbolOffset,c=n&&n.labelModel,d=n&&n.hoverLabelModel,f=n&&n.hoverAnimation,p=n&&n.cursorStyle;if(!n||i.hasItemOption){var g=n&&n.itemModel?n.itemModel:i.getItemModel(t);s=g.getModel(Dg).getItemStyle(["color"]),l=g.getModel(Cg).getItemStyle(),u=g.getShallow("symbolRotate"),h=g.getShallow("symbolOffset"),c=g.getModel(Lg),d=g.getModel(kg),f=g.getShallow("hoverAnimation"),p=g.getShallow("cursor")}else l=L({},l);var m=a.style;a.attr("rotation",(u||0)*Math.PI/180||0),h&&a.attr("position",[xl(h[0],e[0]),xl(h[1],e[1])]),p&&a.attr("cursor",p),a.setColor(r,n&&n.symbolInnerColor),a.setStyle(s);var v=i.getItemVisual(t,"opacity");null!=v&&(m.opacity=v);var y=i.getItemVisual(t,"liftZ"),x=a.__z2Origin;null!=y?null==x&&(a.__z2Origin=a.z2,a.z2+=y):null!=x&&(a.z2=x,a.__z2Origin=null);var _=n&&n.useNameLabel;Bs(m,l,c,d,{labelFetcher:o,labelDataIndex:t,defaultText:function(t,e){return _?i.getName(t):bg(i,t)},isRectText:!0,autoColor:r}),a.__symbolOriginalScale=Ag(e),a.hoverStyle=l,a.highDownOnUpdate=f&&o.isAnimationEnabled()?Pg:null,Os(a)},Mg.fadeOut=function(t,e){var i=this.childAt(0);this.silent=i.silent=!0,e&&e.keepLabel||(i.style.text=null),js(i,{style:{opacity:0},scale:[0,0]},this._seriesModel,this.dataIndex,t)},w(Sg,Si);var Og=Ng.prototype;function Eg(t,e,i,n){return e&&!isNaN(e[0])&&!isNaN(e[1])&&!(n.isIgnore&&n.isIgnore(i))&&!(n.clipShape&&!n.clipShape.contain(e[0],e[1]))&&"none"!==t.getItemVisual(i,"symbol")}function Rg(t){return null==t||z(t)||(t={isIgnore:t}),t||{}}function zg(t){var e=t.hostModel;return{itemStyle:e.getModel("itemStyle").getItemStyle(["color"]),hoverItemStyle:e.getModel("emphasis.itemStyle").getItemStyle(),symbolRotate:e.get("symbolRotate"),symbolOffset:e.get("symbolOffset"),hoverAnimation:e.get("hoverAnimation"),labelModel:e.getModel("label"),hoverLabelModel:e.getModel("emphasis.label"),cursorStyle:e.get("cursor")}}function Bg(t,e,i){var n,a=t.getBaseAxis(),o=t.getOtherAxis(a),r=function(t,e){var i=0,n=t.scale.getExtent();"start"===e?i=n[0]:"end"===e?i=n[1]:0<n[0]?i=n[0]:n[1]<0&&(i=n[1]);return i}(o,i),s=a.dim,l=o.dim,u=e.mapDimension(l),h=e.mapDimension(s),c="x"===l||"radius"===l?1:0,d=N(t.dimensions,function(t){return e.mapDimension(t)}),f=e.getCalculationInfo("stackResultDimension");return(n|=Zf(e,d[0]))&&(d[0]=f),(n|=Zf(e,d[1]))&&(d[1]=f),{dataDimsForPoint:d,valueStart:r,valueAxisDim:l,baseAxisDim:s,stacked:!!n,valueDim:u,baseDim:h,baseDataOffset:c,stackedOverDimension:e.getCalculationInfo("stackedOverDimension")}}function Vg(t,e,i,n){var a=NaN;t.stacked&&(a=i.get(i.getCalculationInfo("stackedOverDimension"),n)),isNaN(a)&&(a=t.valueStart);var o=t.baseDataOffset,r=[];return r[o]=i.get(t.baseDim,n),r[1-o]=a,e.dataToPoint(r)}Og.updateData=function(a,o){o=Rg(o);var r=this.group,s=a.hostModel,l=this._data,u=this._symbolCtor,h=zg(a);l||r.removeAll(),a.diff(l).add(function(t){var e=a.getItemLayout(t);if(Eg(a,e,t,o)){var i=new u(a,t,h);i.attr("position",e),a.setItemGraphicEl(t,i),r.add(i)}}).update(function(t,e){var i=l.getItemGraphicEl(e),n=a.getItemLayout(t);Eg(a,n,t,o)?(i?(i.updateData(a,t,h),js(i,{position:n},s)):(i=new u(a,t)).attr("position",n),r.add(i),a.setItemGraphicEl(t,i)):r.remove(i)}).remove(function(t){var e=l.getItemGraphicEl(t);e&&e.fadeOut(function(){r.remove(e)})}).execute(),this._data=a},Og.isPersistent=function(){return!0},Og.updateLayout=function(){var n=this._data;n&&n.eachItemGraphicEl(function(t,e){var i=n.getItemLayout(e);t.attr("position",i)})},Og.incrementalPrepareUpdate=function(t){this._seriesScope=zg(t),this._data=null,this.group.removeAll()},Og.incrementalUpdate=function(t,e,i){function n(t){t.isGroup||(t.incremental=t.useHoverLayer=!0)}i=Rg(i);for(var a=t.start;a<t.end;a++){var o=e.getItemLayout(a);if(Eg(e,o,a,i)){var r=new this._symbolCtor(e,a,this._seriesScope);r.traverse(n),r.attr("position",o),this.group.add(r),e.setItemGraphicEl(a,r)}}},Og.remove=function(t){var e=this.group,i=this._data;i&&t?i.eachItemGraphicEl(function(t){t.fadeOut(function(){e.remove(t)})}):e.removeAll()};var Gg=St,Fg=Mt,Wg=ut,Hg=ot,Zg=[],Ug=[],Xg=[];function Yg(t){return isNaN(t[0])||isNaN(t[1])}function jg(t,e,i,n,a,o,r,s,l,u){return"none"!==u&&u?function(t,e,i,n,a,o,r,s,l,u,h){for(var c=0,d=i,f=0;f<n;f++){var p=e[d];if(a<=d||d<0)break;if(Yg(p)){if(h){d+=o;continue}break}if(d===i)t[0<o?"moveTo":"lineTo"](p[0],p[1]);else if(0<l){var g=e[c],m="y"===u?1:0,v=(p[m]-g[m])*l;Hg(Ug,g),Ug[m]=g[m]+v,Hg(Xg,p),Xg[m]=p[m]-v,t.bezierCurveTo(Ug[0],Ug[1],Xg[0],Xg[1],p[0],p[1])}else t.lineTo(p[0],p[1]);c=d,d+=o}return f}.apply(this,arguments):function(t,e,i,n,a,o,r,s,l,u,h){for(var c=0,d=i,f=0;f<n;f++){var p=e[d];if(a<=d||d<0)break;if(Yg(p)){if(h){d+=o;continue}break}if(d===i)t[0<o?"moveTo":"lineTo"](p[0],p[1]),Hg(Ug,p);else if(0<l){var g=d+o,m=e[g];if(h)for(;m&&Yg(e[g]);)m=e[g+=o];var v=.5,y=e[c];if(!(m=e[g])||Yg(m))Hg(Xg,p);else{var x,_;if(Yg(m)&&!h&&(m=p),ht(Zg,m,y),"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=yt(p,y),_=yt(p,m);Wg(Xg,p,Zg,-l*(1-(v=_/(_+x))))}Gg(Ug,Ug,s),Fg(Ug,Ug,r),Gg(Xg,Xg,s),Fg(Xg,Xg,r),t.bezierCurveTo(Ug[0],Ug[1],Xg[0],Xg[1],p[0],p[1]),Wg(Ug,p,Zg,l*v)}else t.lineTo(p[0],p[1]);c=d,d+=o}return f}.apply(this,arguments)}function qg(t,e){var i=[1/0,1/0],n=[-1/0,-1/0];if(e)for(var a=0;a<t.length;a++){var o=t[a];o[0]<i[0]&&(i[0]=o[0]),o[1]<i[1]&&(i[1]=o[1]),o[0]>n[0]&&(n[0]=o[0]),o[1]>n[1]&&(n[1]=o[1])}return{min:e?i:n,max:e?n:i}}var Kg=hr.extend({type:"ec-polyline",shape:{points:[],smooth:0,smoothConstraint:!0,smoothMonotone:null,connectNulls:!1},style:{fill:null,stroke:"#000"},brush:Cr(hr.prototype.brush),buildPath:function(t,e){var i=e.points,n=0,a=i.length,o=qg(i,e.smoothConstraint);if(e.connectNulls){for(;0<a&&Yg(i[a-1]);a--);for(;n<a&&Yg(i[n]);n++);}for(;n<a;)n+=jg(t,i,n,a,a,1,o.min,o.max,e.smooth,e.smoothMonotone,e.connectNulls)+1}}),$g=hr.extend({type:"ec-polygon",shape:{points:[],stackedOnPoints:[],smooth:0,stackedOnSmooth:0,smoothConstraint:!0,smoothMonotone:null,connectNulls:!1},brush:Cr(hr.prototype.brush),buildPath:function(t,e){var i=e.points,n=e.stackedOnPoints,a=0,o=i.length,r=e.smoothMonotone,s=qg(i,e.smoothConstraint),l=qg(n,e.smoothConstraint);if(e.connectNulls){for(;0<o&&Yg(i[o-1]);o--);for(;a<o&&Yg(i[a]);a++);}for(;a<o;){var u=jg(t,i,a,o,o,1,s.min,s.max,e.smooth,r,e.connectNulls);jg(t,n,a+u-1,u,o,-1,l.min,l.max,e.stackedOnSmooth,r,e.connectNulls),a+=u+1,t.closePath()}}});function Jg(t,e,i){var n=t.getArea(),a=t.getBaseAxis().isHorizontal(),o=n.x,r=n.y,s=n.width,l=n.height,u=i.get("lineStyle.width")||2,h=new Hr({shape:{x:o-=u/2,y:r-=u/2,width:s+=u,height:l+=u}});return e&&(h.shape[a?"width":"height"]=0,qs(h,{shape:{width:s,height:l}},i)),h}function Qg(t,e,i){var n=t.getArea(),a=new Pr({shape:{cx:_l(t.cx,1),cy:_l(t.cy,1),r0:_l(n.r0,1),r:_l(n.r,1),startAngle:n.startAngle,endAngle:n.endAngle,clockwise:n.clockwise}});return e&&(a.shape.endAngle=n.startAngle,qs(a,{shape:{endAngle:n.endAngle}},i)),a}function tm(t,e,i){return t?"polar"===t.type?Qg(t,e,i):"cartesian2d"===t.type?Jg(t,e,i):null:null}function em(t,e){if(t.length===e.length){for(var i=0;i<t.length;i++){var n=t[i],a=e[i];if(n[0]!==a[0]||n[1]!==a[1])return}return!0}}function im(t){return"number"==typeof t?t:t?.5:0}function nm(t,e,i){for(var n=e.getBaseAxis(),a="x"===n.dim||"radius"===n.dim?0:1,o=[],r=0;r<t.length-1;r++){var s=t[r+1],l=t[r];o.push(l);var u=[];switch(i){case"end":u[a]=s[a],u[1-a]=l[1-a],o.push(u);break;case"middle":var h=(l[a]+s[a])/2,c=[];u[a]=c[a]=h,u[1-a]=l[1-a],c[1-a]=s[1-a],o.push(u),o.push(c);break;default:u[a]=l[a],u[1-a]=s[1-a],o.push(u)}}return t[r]&&o.push(t[r]),o}function am(t,e,i){var n=t.get("showAllSymbol"),a="auto"===n;if(!n||a){var o=i.getAxesByScale("ordinal")[0];if(o&&(!a||!function(t,e){var i=t.getExtent(),n=Math.abs(i[1]-i[0])/t.scale.count();isNaN(n)&&(n=0);for(var a=e.count(),o=Math.max(1,Math.round(a/5)),r=0;r<a;r+=o)if(1.5*Sg.getSymbolSize(e,r)[t.isHorizontal()?1:0]>n)return!1;return!0}(o,e))){var r=e.mapDimension(o.dim),s={};return E(o.getViewLabels(),function(t){s[t.tickValue]=1}),function(t){return!s.hasOwnProperty(e.get(r,t))}}}}function om(t,e,i){if("cartesian2d"!==t.type)return Qg(t,e,i);var n=t.getBaseAxis().isHorizontal(),a=Jg(t,e,i);if(!i.get("clip",!0)){var o=a.shape,r=Math.max(o.width,o.height);n?(o.y-=r,o.height+=2*r):(o.x-=r,o.width+=2*r)}return a}ec.extend({type:"line",init:function(){var t=new Si,e=new Ng;this.group.add(e.group),this._symbolDraw=e,this._lineGroup=t},render:function(t,e,i){var n=t.coordinateSystem,a=this.group,o=t.getData(),r=t.getModel("lineStyle"),s=t.getModel("areaStyle"),l=o.mapArray(o.getItemLayout),u="polar"===n.type,h=this._coordSys,c=this._symbolDraw,d=this._polyline,f=this._polygon,p=this._lineGroup,g=t.get("animation"),m=!s.isEmpty(),v=s.get("origin"),y=function(t,e,i){if(!i.valueDim)return[];for(var n=[],a=0,o=e.count();a<o;a++)n.push(Vg(i,t,e,a));return n}(n,o,Bg(n,o,v)),x=t.get("showSymbol"),_=x&&!u&&am(t,o,n),w=this._data;w&&w.eachItemGraphicEl(function(t,e){t.__temp&&(a.remove(t),w.setItemGraphicEl(e,null))}),x||c.remove(),a.add(p);var b,S=!u&&t.get("step");n&&n.getArea&&(null!=(b=n.getArea()).width?(b.x-=.1,b.y-=.1,b.width+=.2,b.height+=.2):b.r0&&(b.r0-=.5,b.r1+=.5)),d&&h.type===n.type&&S===this._step?(m&&!f?f=this._newPolygon(l,y,n,g):f&&!m&&(p.remove(f),f=this._polygon=null),p.setClipPath(om(n,!1,t)),x&&c.updateData(o,{isIgnore:_,clipShape:b}),o.eachItemGraphicEl(function(t){t.stopAnimation(!0)}),em(this._stackedOnPoints,y)&&em(this._points,l)||(g?this._updateAnimation(o,y,n,i,S,v):(S&&(l=nm(l,n,S),y=nm(y,n,S)),d.setShape({points:l}),f&&f.setShape({points:l,stackedOnPoints:y})))):(x&&c.updateData(o,{isIgnore:_,clipShape:b}),S&&(l=nm(l,n,S),y=nm(y,n,S)),d=this._newPolyline(l,n,g),m&&(f=this._newPolygon(l,y,n,g)),p.setClipPath(om(n,!0,t)));var M=function(t,e){var i=t.getVisual("visualMeta");if(i&&i.length&&t.count()&&"cartesian2d"===e.type){for(var n,a,o=i.length-1;0<=o;o--){var r=i[o].dimension,s=t.dimensions[r],l=t.getDimensionInfo(s);if("x"===(n=l&&l.coordDim)||"y"===n){a=i[o];break}}if(a){var u=e.getAxis(n),h=N(a.stops,function(t){return{coord:u.toGlobalCoord(u.dataToCoord(t.value)),color:t.color}}),c=h.length,d=a.outerColors.slice();c&&h[0].coord>h[c-1].coord&&(h.reverse(),d.reverse());var f=h[0].coord-10,p=h[c-1].coord+10,g=p-f;if(g<.001)return"transparent";E(h,function(t){t.offset=(t.coord-f)/g}),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 m=new Jr(0,0,0,0,h,!0);return m[n]=f,m[n+"2"]=p,m}}}(o,n)||o.getVisual("color");d.useStyle(C(r.getLineStyle(),{fill:"none",stroke:M,lineJoin:"bevel"}));var I=t.get("smooth");if(I=im(t.get("smooth")),d.setShape({smooth:I,smoothMonotone:t.get("smoothMonotone"),connectNulls:t.get("connectNulls")}),f){var A=o.getCalculationInfo("stackedOnSeries"),T=0;f.useStyle(C(s.getAreaStyle(),{fill:M,opacity:.7,lineJoin:"bevel"})),A&&(T=im(A.get("smooth"))),f.setShape({smooth:I,stackedOnSmooth:T,smoothMonotone:t.get("smoothMonotone"),connectNulls:t.get("connectNulls")})}this._data=o,this._coordSys=n,this._stackedOnPoints=y,this._points=l,this._step=S,this._valueOrigin=v},dispose:function(){},highlight:function(t,e,i,n){var a=t.getData(),o=Ca(a,n);if(!(o instanceof Array)&&null!=o&&0<=o){var r=a.getItemGraphicEl(o);if(!r){var s=a.getItemLayout(o);if(!s)return;(r=new Sg(a,o)).position=s,r.setZ(t.get("zlevel"),t.get("z")),r.ignore=isNaN(s[0])||isNaN(s[1]),r.__temp=!0,a.setItemGraphicEl(o,r),r.stopSymbolAnimation(!0),this.group.add(r)}r.highlight()}else ec.prototype.highlight.call(this,t,e,i,n)},downplay:function(t,e,i,n){var a=t.getData(),o=Ca(a,n);if(null!=o&&0<=o){var r=a.getItemGraphicEl(o);r&&(r.__temp?(a.setItemGraphicEl(o,null),this.group.remove(r)):r.downplay())}else ec.prototype.downplay.call(this,t,e,i,n)},_newPolyline:function(t){var e=this._polyline;return e&&this._lineGroup.remove(e),e=new Kg({shape:{points:t},silent:!0,z2:10}),this._lineGroup.add(e),this._polyline=e},_newPolygon:function(t,e){var i=this._polygon;return i&&this._lineGroup.remove(i),i=new $g({shape:{points:t,stackedOnPoints:e},silent:!0}),this._lineGroup.add(i),this._polygon=i},_updateAnimation:function(t,e,i,n,a,o){var r=this._polyline,s=this._polygon,l=t.hostModel,u=function(t,e,i,n,a,o,r,s){for(var l=function(t,e){var i=[];return e.diff(t).add(function(t){i.push({cmd:"+",idx:t})}).update(function(t,e){i.push({cmd:"=",idx:e,idx1:t})}).remove(function(t){i.push({cmd:"-",idx:t})}).execute(),i}(t,e),u=[],h=[],c=[],d=[],f=[],p=[],g=[],m=Bg(a,e,r),v=Bg(o,t,s),y=0;y<l.length;y++){var x=l[y],_=!0;switch(x.cmd){case"=":var w=t.getItemLayout(x.idx),b=e.getItemLayout(x.idx1);(isNaN(w[0])||isNaN(w[1]))&&(w=b.slice()),u.push(w),h.push(b),c.push(i[x.idx]),d.push(n[x.idx1]),g.push(e.getRawIndex(x.idx1));break;case"+":var S=x.idx;u.push(a.dataToPoint([e.get(m.dataDimsForPoint[0],S),e.get(m.dataDimsForPoint[1],S)])),h.push(e.getItemLayout(S).slice()),c.push(Vg(m,a,e,S)),d.push(n[S]),g.push(e.getRawIndex(S));break;case"-":S=x.idx;var M=t.getRawIndex(S);M!==S?(u.push(t.getItemLayout(S)),h.push(o.dataToPoint([t.get(v.dataDimsForPoint[0],S),t.get(v.dataDimsForPoint[1],S)])),c.push(i[S]),d.push(Vg(v,o,t,S)),g.push(M)):_=!1}_&&(f.push(x),p.push(p.length))}p.sort(function(t,e){return g[t]-g[e]});var I=[],A=[],T=[],D=[],C=[];for(y=0;y<p.length;y++){S=p[y];I[y]=u[S],A[y]=h[S],T[y]=c[S],D[y]=d[S],C[y]=f[S]}return{current:I,next:A,stackedOnCurrent:T,stackedOnNext:D,status:C}}(this._data,t,this._stackedOnPoints,e,this._coordSys,i,this._valueOrigin,o),h=u.current,c=u.stackedOnCurrent,d=u.next,f=u.stackedOnNext;a&&(h=nm(u.current,i,a),c=nm(u.stackedOnCurrent,i,a),d=nm(u.next,i,a),f=nm(u.stackedOnNext,i,a)),r.shape.__points=u.current,r.shape.points=h,js(r,{shape:{points:d}},l),s&&(s.setShape({points:h,stackedOnPoints:c}),js(s,{shape:{points:d,stackedOnPoints:f}},l));for(var p=[],g=u.status,m=0;m<g.length;m++){if("="===g[m].cmd){var v=t.getItemGraphicEl(g[m].idx1);v&&p.push({el:v,ptIdx:m})}}r.animators&&r.animators.length&&r.animators[0].during(function(){for(var t=0;t<p.length;t++){p[t].el.attr("position",r.shape.__points[p[t].ptIdx])}})},remove:function(t){var i=this.group,n=this._data;this._lineGroup.removeAll(),this._symbolDraw.remove(!0),n&&n.eachItemGraphicEl(function(t,e){t.__temp&&(i.remove(t),n.setItemGraphicEl(e,null))}),this._polyline=this._polygon=this._coordSys=this._points=this._stackedOnPoints=this._data=null}});function rm(t,r,s){return{seriesType:t,performRawSeries:!0,reset:function(l,t,e){var i=l.getData(),u=l.get("symbol"),h=l.get("symbolSize"),n=l.get("symbolKeepAspect"),c=O(u),d=O(h),f=c||d,a=!c&&u?u:r,o=d?null:h;if(i.setVisual({legendSymbol:s||a,symbol:a,symbolSize:o,symbolKeepAspect:n}),!t.isSeriesFiltered(l))return{dataEach:i.hasItemOption||f?function(t,e){if(f){var i=l.getRawValue(e),n=l.getDataParams(e);c&&t.setItemVisual(e,"symbol",u(i,n)),d&&t.setItemVisual(e,"symbolSize",h(i,n))}if(t.hasItemOption){var a=t.getItemModel(e),o=a.getShallow("symbol",!0),r=a.getShallow("symbolSize",!0),s=a.getShallow("symbolKeepAspect",!0);null!=o&&t.setItemVisual(e,"symbol",o),null!=r&&t.setItemVisual(e,"symbolSize",r),null!=s&&t.setItemVisual(e,"symbolKeepAspect",s)}}:null}}}}function sm(t){return{seriesType:t,plan:Jh(),reset:function(t){var e=t.getData(),c=t.coordinateSystem,d=t.pipelineContext.large;if(c){var f=N(c.dimensions,function(t){return e.mapDimension(t)}).slice(0,2),p=f.length,i=e.getCalculationInfo("stackResultDimension");return Zf(e,f[0])&&(f[0]=i),Zf(e,f[1])&&(f[1]=i),p&&{progress:function(t,e){for(var i=t.end-t.start,n=d&&new Float32Array(i*p),a=t.start,o=0,r=[],s=[];a<t.end;a++){var l;if(1===p){var u=e.get(f[0],a);l=!isNaN(u)&&c.dataToPoint(u,null,s)}else{u=r[0]=e.get(f[0],a);var h=r[1]=e.get(f[1],a);l=!isNaN(u)&&!isNaN(h)&&c.dataToPoint(r,null,s)}d?(n[o++]=l?l[0]:NaN,n[o++]=l?l[1]:NaN):e.setItemLayout(a,l&&l.slice()||[NaN,NaN])}d&&e.setLayout("symbolPoints",n)}}}}}}function lm(t,e){return Math.round(t.length/2)}var um={average:function(t){for(var e=0,i=0,n=0;n<t.length;n++)isNaN(t[n])||(e+=t[n],i++);return 0===i?NaN:e/i},sum:function(t){for(var e=0,i=0;i<t.length;i++)e+=t[i]||0;return e},max:function(t){for(var e=-1/0,i=0;i<t.length;i++)t[i]>e&&(e=t[i]);return isFinite(e)?e:NaN},min:function(t){for(var e=1/0,i=0;i<t.length;i++)t[i]<e&&(e=t[i]);return isFinite(e)?e:NaN},nearest:function(t){return t[0]}};function hm(t){return this._axes[t]}function cm(t){this._axes={},this._dimList=[],this.name=t||""}function dm(t){cm.call(this,t)}cm.prototype={constructor:cm,type:"cartesian",getAxis:function(t){return this._axes[t]},getAxes:function(){return N(this._dimList,hm,this)},getAxesByScale:function(e){return e=e.toLowerCase(),M(this.getAxes(),function(t){return t.scale.type===e})},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 i=this._dimList,n=t instanceof Array?[]:{},a=0;a<i.length;a++){var o=i[a],r=this._axes[o];n[o]=r[e](t[o])}return n}},dm.prototype={constructor:dm,type:"cartesian2d",dimensions:["x","y"],getBaseAxis:function(){return this.getAxesByScale("ordinal")[0]||this.getAxesByScale("time")[0]||this.getAxis("x")},containPoint:function(t){var e=this.getAxis("x"),i=this.getAxis("y");return e.contain(e.toLocalCoord(t[0]))&&i.contain(i.toLocalCoord(t[1]))},containData:function(t){return this.getAxis("x").containData(t[0])&&this.getAxis("y").containData(t[1])},dataToPoint:function(t,e,i){var n=this.getAxis("x"),a=this.getAxis("y");return(i=i||[])[0]=n.toGlobalCoord(n.dataToCoord(t[0])),i[1]=a.toGlobalCoord(a.dataToCoord(t[1])),i},clampData:function(t,e){var i=this.getAxis("x").scale,n=this.getAxis("y").scale,a=i.getExtent(),o=n.getExtent(),r=i.parse(t[0]),s=n.parse(t[1]);return(e=e||[])[0]=Math.min(Math.max(Math.min(a[0],a[1]),r),Math.max(a[0],a[1])),e[1]=Math.min(Math.max(Math.min(o[0],o[1]),s),Math.max(o[0],o[1])),e},pointToData:function(t,e){var i=this.getAxis("x"),n=this.getAxis("y");return(e=e||[])[0]=i.coordToData(i.toLocalCoord(t[0])),e[1]=n.coordToData(n.toLocalCoord(t[1])),e},getOtherAxis:function(t){return this.getAxis("x"===t.dim?"y":"x")},getArea:function(){var t=this.getAxis("x").getGlobalExtent(),e=this.getAxis("y").getGlobalExtent(),i=Math.min(t[0],t[1]),n=Math.min(e[0],e[1]);return new bi(i,n,Math.max(t[0],t[1])-i,Math.max(e[0],e[1])-n)}},w(dm,cm);function fm(t,e,i,n,a){vg.call(this,t,e,i),this.type=n||"value",this.position=a||"bottom"}fm.prototype={constructor:fm,index:0,getAxesOnZeroOf:null,model:null,isHorizontal:function(){var t=this.position;return"top"===t||"bottom"===t},getGlobalExtent:function(t){var e=this.getExtent();return e[0]=this.toGlobalCoord(e[0]),e[1]=this.toGlobalCoord(e[1]),t&&e[0]>e[1]&&e.reverse(),e},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},w(fm,vg);var pm={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)"]}}},gm={};gm.categoryAxis=m({boundaryGap:!0,deduplication:null,splitLine:{show:!1},axisTick:{alignWithLabel:!1,interval:"auto"},axisLabel:{interval:"auto"}},pm),gm.valueAxis=m({boundaryGap:[0,0],splitNumber:5},pm),gm.timeAxis=C({scale:!0,min:"dataMin",max:"dataMax"},gm.valueAxis),gm.logAxis=C({scale:!0,logBase:10},gm.valueAxis);function mm(o,t,r,e){E(vm,function(a){t.extend({type:o+"Axis."+a,mergeDefaultAndTheme:function(t,e){var i=this.layoutMode,n=i?su(t):{};m(t,e.getTheme().get(a+"Axis")),m(t,this.getDefaultOption()),t.type=r(o,t),i&&ru(t,n,i)},optionUpdated:function(){"category"===this.option.type&&(this.__ordinalMeta=jf.createByAxisModel(this))},getCategories:function(t){var e=this.option;if("category"===e.type)return t?e.data:this.__ordinalMeta.categories},getOrdinalMeta:function(){return this.__ordinalMeta},defaultOption:p([{},gm[a+"Axis"],e],!0)})}),fu.registerSubTypeDefaulter(o+"Axis",A(r,o))}var vm=["value","category","time","log"],ym=fu.extend({type:"cartesian2dAxis",axis:null,init:function(){ym.superApply(this,"init",arguments),this.resetRange()},mergeOption:function(){ym.superApply(this,"mergeOption",arguments),this.resetRange()},restoreData:function(){ym.superApply(this,"restoreData",arguments),this.resetRange()},getCoordSysModel:function(){return this.ecModel.queryComponents({mainType:"grid",index:this.option.gridIndex,id:this.option.gridId})[0]}});function xm(t,e){return e.type||(e.data?"category":"value")}m(ym.prototype,Hp);var _m={offset:0};function wm(t,e){return t.getCoordSysModel()===e}function bm(t,e,i){this._coordsMap={},this._coordsList=[],this._axesMap={},this._axesList=[],this._initCartesian(t,e,i),this.model=t}mm("x",ym,xm,_m),mm("y",ym,xm,_m),fu.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 Sm=bm.prototype;function Mm(t,e,i,n){i.getAxesOnZeroOf=function(){return a?[a]:[]};var a,o=t[e],r=i.model,s=r.get("axisLine.onZero"),l=r.get("axisLine.onZeroAxisIndex");if(s){if(null!=l)Im(o[l])&&(a=o[l]);else for(var u in o)if(o.hasOwnProperty(u)&&Im(o[u])&&!n[h(o[u])]){a=o[u];break}a&&(n[h(a)]=!0)}function h(t){return t.dim+"_"+t.index}}function Im(t){return t&&"category"!==t.type&&"time"!==t.type&&function(t){var e=t.scale.getExtent(),i=e[0],n=e[1];return!(0<i&&0<n||i<0&&n<0)}(t)}Sm.type="grid",Sm.axisPointerEnabled=!0,Sm.getRect=function(){return this._rect},Sm.update=function(t,e){var i=this._axesMap;this._updateScale(t,this.model),E(i.x,function(t){zp(t.scale,t.model)}),E(i.y,function(t){zp(t.scale,t.model)});var n={};E(i.x,function(t){Mm(i,"y",t,n)}),E(i.y,function(t){Mm(i,"x",t,n)}),this.resize(this.model,e)},Sm.resize=function(t,e,i){var a=au(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()});this._rect=a;var n=this._axesList;function o(){E(n,function(t){var e=t.isHorizontal(),i=e?[0,a.width]:[0,a.height],n=t.inverse?1:0;t.setExtent(i[n],i[1-n]),function(t,e){var i=t.getExtent(),n=i[0]+i[1];t.toGlobalCoord="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}}(t,e?a.x:a.y)})}o(),!i&&t.get("containLabel")&&(E(n,function(t){if(!t.model.get("axisLabel.inside")){var e=function(t){var e=t.model,i=t.scale;if(e.get("axisLabel.show")&&!i.isBlank()){var n,a,o="category"===t.type,r=i.getExtent();a=o?i.count():(n=i.getTicks()).length;var s,l,u,h,c,d,f,p,g,m=t.getLabelModel(),v=Vp(t),y=1;40<a&&(y=Math.ceil(a/40));for(var x=0;x<a;x+=y){var _=v(n?n[x]:r[0]+x),w=m.getTextRect(_),b=(l=w,u=m.get("rotate")||0,void 0,h=u*Math.PI/180,c=l.plain(),d=c.width,f=c.height,p=d*Math.cos(h)+f*Math.sin(h),g=d*Math.sin(h)+f*Math.cos(h),new bi(c.x,c.y,p,g));s?s.union(b):s=b}return s}}(t);if(e){var i=t.isHorizontal()?"height":"width",n=t.model.get("axisLabel.margin");a[i]-=e[i]+n,"top"===t.position?a.y+=e.height+n:"left"===t.position&&(a.x+=e.width+n)}}}),o())},Sm.getAxis=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]}},Sm.getAxes=function(){return this._axesList.slice()},Sm.getCartesian=function(t,e){if(null!=t&&null!=e){var i="x"+t+"y"+e;return this._coordsMap[i]}z(t)&&(e=t.yAxisIndex,t=t.xAxisIndex);for(var n=0,a=this._coordsList;n<a.length;n++)if(a[n].getAxis("x").index===t||a[n].getAxis("y").index===e)return a[n]},Sm.getCartesians=function(){return this._coordsList.slice()},Sm.convertToPixel=function(t,e,i){var n=this._findConvertTarget(t,e);return n.cartesian?n.cartesian.dataToPoint(i):n.axis?n.axis.toGlobalCoord(n.axis.dataToCoord(i)):null},Sm.convertFromPixel=function(t,e,i){var n=this._findConvertTarget(t,e);return n.cartesian?n.cartesian.pointToData(i):n.axis?n.axis.coordToData(n.axis.toLocalCoord(i)):null},Sm._findConvertTarget=function(t,e){var i,n,a=e.seriesModel,o=e.xAxisModel||a&&a.getReferringComponents("xAxis")[0],r=e.yAxisModel||a&&a.getReferringComponents("yAxis")[0],s=e.gridModel,l=this._coordsList;if(a)_(l,i=a.coordinateSystem)<0&&(i=null);else if(o&&r)i=this.getCartesian(o.componentIndex,r.componentIndex);else if(o)n=this.getAxis("x",o.componentIndex);else if(r)n=this.getAxis("y",r.componentIndex);else if(s){s.coordinateSystem===this&&(i=this._coordsList[0])}return{cartesian:i,axis:n}},Sm.containPoint=function(t){var e=this._coordsList[0];if(e)return e.containPoint(t)},Sm._initCartesian=function(r,t,e){var s={left:!1,right:!1,top:!1,bottom:!1},l={x:{},y:{}},u={x:0,y:0};if(t.eachComponent("xAxis",i("x"),this),t.eachComponent("yAxis",i("y"),this),!u.x||!u.y)return this._axesMap={},void(this._axesList=[]);function i(o){return function(t,e){if(wm(t,r)){var i=t.get("position");"x"===o?"top"!==i&&"bottom"!==i&&(i=s.bottom?"top":"bottom"):"left"!==i&&"right"!==i&&(i=s.left?"right":"left"),s[i]=!0;var n=new fm(o,Bp(t),[0,0],t.get("type"),i),a="category"===n.type;n.onBand=a&&t.get("boundaryGap"),n.inverse=t.get("inverse"),(t.axis=n).model=t,n.grid=this,n.index=e,this._axesList.push(n),l[o][e]=n,u[o]++}}}E((this._axesMap=l).x,function(a,o){E(l.y,function(t,e){var i="x"+o+"y"+e,n=new dm(i);n.grid=this,n.model=r,this._coordsMap[i]=n,this._coordsList.push(n),n.addAxis(a),n.addAxis(t)},this)},this)},Sm._updateScale=function(l,u){function h(e,i){E(e.mapDimension(i.dim,!0),function(t){i.scale.unionExtentFromData(e,Uf(e,t))})}E(this._axesList,function(t){t.scale.setExtent(1/0,-1/0)}),l.eachSeries(function(t){if(Dm(t)){var e=Tm(t,l),i=e[0],n=e[1];if(!wm(i,u)||!wm(n,u))return;var a=this.getCartesian(i.componentIndex,n.componentIndex),o=t.getData(),r=a.getAxis("x"),s=a.getAxis("y");"list"===o.type&&(h(o,r,t),h(o,s,t))}},this)},Sm.getTooltipAxes=function(n){var a=[],o=[];return E(this.getCartesians(),function(t){var e=null!=n&&"auto"!==n?t.getAxis(n):t.getBaseAxis(),i=t.getOtherAxis(e);_(a,e)<0&&a.push(e),_(o,i)<0&&o.push(i)}),{baseAxes:a,otherAxes:o}};var Am=["xAxis","yAxis"];function Tm(e){return N(Am,function(t){return e.getReferringComponents(t)[0]})}function Dm(t){return"cartesian2d"===t.get("coordinateSystem")}bm.create=function(n,a){var o=[];return n.eachComponent("grid",function(t,e){var i=new bm(t,n,a);i.name="grid_"+e,i.resize(t,a,!0),t.coordinateSystem=i,o.push(i)}),n.eachSeries(function(t){if(Dm(t)){var e=Tm(t),i=e[0],n=e[1],a=i.getCoordSysModel().coordinateSystem;t.coordinateSystem=a.getCartesian(i.componentIndex,n.componentIndex)}}),o},bm.dimensions=bm.prototype.dimensions=dm.prototype.dimensions,Hu.register("cartesian2d",bm);function Cm(t,e){this.opt=e,this.axisModel=t,C(e,{labelOffset:0,nameDirection:1,tickDirection:1,labelDirection:1,silent:!0}),this.group=new Si;var i=new Si({position:e.position.slice(),rotation:e.rotation});i.updateTransform(),this._transform=i.transform,this._dumbGroup=i}var Lm=Math.PI;Cm.prototype={constructor:Cm,hasBuilder:function(t){return!!km[t]},add:function(t){km[t].call(this)},getGroup:function(){return this.group}};var km={axisLine:function(){var o=this.opt,t=this.axisModel;if(t.get("axisLine.show")){var e=this.axisModel.axis.getExtent(),i=this._transform,r=[e[0],0],n=[e[1],0];i&&(bt(r,r,i),bt(n,n,i));var s=L({lineCap:"round"},t.getModel("axisLine.lineStyle").getLineStyle());this.group.add(new Ur({anid:"line",subPixelOptimize:!0,shape:{x1:r[0],y1:r[1],x2:n[0],y2:n[1]},style:s,strokeContainThreshold:o.strokeContainThreshold||5,silent:!0,z2:1}));var l=t.get("axisLine.symbol"),a=t.get("axisLine.symbolSize"),u=t.get("axisLine.symbolOffset")||0;if("number"==typeof u&&(u=[u,u]),null!=l){"string"==typeof l&&(l=[l,l]),"string"!=typeof a&&"number"!=typeof a||(a=[a,a]);var h=a[0],c=a[1];E([{rotate:o.rotation+Math.PI/2,offset:u[0],r:0},{rotate:o.rotation-Math.PI/2,offset:u[1],r:Math.sqrt((r[0]-n[0])*(r[0]-n[0])+(r[1]-n[1])*(r[1]-n[1]))}],function(t,e){if("none"!==l[e]&&null!=l[e]){var i=Jp(l[e],-h/2,-c/2,h,c,s.stroke,!0),n=t.r+t.offset,a=[r[0]+n*Math.cos(o.rotation),r[1]-n*Math.sin(o.rotation)];i.attr({rotation:t.rotate,position:a,silent:!0,z2:11}),this.group.add(i)}},this)}}},axisTickLabel:function(){var t=this.axisModel,e=this.opt,i=function(t,e,i){var n=e.axis;if(!e.get("axisTick.show")||n.scale.isBlank())return;for(var a=e.getModel("axisTick"),o=a.getModel("lineStyle"),r=a.get("length"),s=n.getTicksCoords(),l=[],u=[],h=t._transform,c=[],d=0;d<s.length;d++){var f=s[d].coord;l[0]=f,l[1]=0,u[0]=f,u[1]=i.tickDirection*r,h&&(bt(l,l,h),bt(u,u,h));var p=new Ur({anid:"tick_"+s[d].tickValue,subPixelOptimize:!0,shape:{x1:l[0],y1:l[1],x2:u[0],y2:u[1]},style:C(o.getLineStyle(),{stroke:e.get("axisLine.lineStyle.color")}),z2:2,silent:!0});t.group.add(p),c.push(p)}return c}(this,t,e);!function(t,e,i){if(Wp(t.axis))return;var n=t.get("axisLabel.showMinLabel"),a=t.get("axisLabel.showMaxLabel");i=i||[];var o=(e=e||[])[0],r=e[1],s=e[e.length-1],l=e[e.length-2],u=i[0],h=i[1],c=i[i.length-1],d=i[i.length-2];!1===n?(Em(o),Em(u)):Rm(o,r)&&(n?(Em(r),Em(h)):(Em(o),Em(u)));!1===a?(Em(s),Em(c)):Rm(l,s)&&(a?(Em(l),Em(d)):(Em(s),Em(c)))}(t,function(u,h,c){var d=h.axis;if(!W(c.axisLabelShow,h.get("axisLabel.show"))||d.scale.isBlank())return;var f=h.getModel("axisLabel"),p=f.get("margin"),t=d.getViewLabels(),e=(W(c.labelRotate,f.get("rotate"))||0)*Lm/180,g=Nm(c.rotation,e,c.labelDirection),m=h.getCategories&&h.getCategories(!0),v=[],y=Om(h),x=h.get("triggerEvent");return E(t,function(t,e){var i=t.tickValue,n=t.formattedLabel,a=t.rawLabel,o=f;m&&m[i]&&m[i].textStyle&&(o=new dl(m[i].textStyle,f,h.ecModel));var r=o.getTextColor()||h.get("axisLine.lineStyle.color"),s=[d.dataToCoord(i),c.labelOffset+c.labelDirection*p],l=new Dr({anid:"label_"+i,position:s,rotation:g.rotation,silent:y,z2:10});Gs(l.style,o,{text:n,textAlign:o.getShallow("align",!0)||g.textAlign,textVerticalAlign:o.getShallow("verticalAlign",!0)||o.getShallow("baseline",!0)||g.textVerticalAlign,textFill:"function"==typeof r?r("category"===d.type?a:"value"===d.type?i+"":i,e):r}),x&&(l.eventData=Pm(h),l.eventData.targetType="axisLabel",l.eventData.value=a),u._dumbGroup.add(l),l.updateTransform(),v.push(l),u.group.add(l),l.decomposeTransform()}),v}(this,t,e),i)},axisName:function(){var t=this.opt,e=this.axisModel,i=W(t.axisName,e.get("name"));if(i){var n,a,o=e.get("nameLocation"),r=t.nameDirection,s=e.getModel("nameTextStyle"),l=e.get("nameGap")||0,u=this.axisModel.axis.getExtent(),h=u[0]>u[1]?-1:1,c=["start"===o?u[0]-h*l:"end"===o?u[1]+h*l:(u[0]+u[1])/2,zm(o)?t.labelOffset+r*l:0],d=e.get("nameRotate");null!=d&&(d=d*Lm/180),zm(o)?n=Nm(t.rotation,null!=d?d:t.rotation,r):(n=function(t,e,i,n){var a,o,r=Tl(i-t.rotation),s=n[0]>n[1],l="start"===e&&!s||"start"!==e&&s;a=Dl(r-Lm/2)?(o=l?"bottom":"top","center"):Dl(r-1.5*Lm)?(o=l?"top":"bottom","center"):(o="middle",r<1.5*Lm&&Lm/2<r?l?"left":"right":l?"right":"left");return{rotation:r,textAlign:a,textVerticalAlign:o}}(t,o,d||0,u),null!=(a=t.axisNameAvailableWidth)&&(a=Math.abs(a/Math.sin(n.rotation)),isFinite(a)||(a=null)));var f=s.getFont(),p=e.get("nameTruncate",!0)||{},g=p.ellipsis,m=W(t.nameTruncateMaxWidth,p.maxWidth,a),v=null!=g&&null!=m?$l(i,m,f,g,{minChar:2,placeholder:p.placeholder}):i,y=e.get("tooltip",!0),x=e.mainType,_={componentType:x,name:i,$vars:["name"]};_[x+"Index"]=e.componentIndex;var w=new Dr({anid:"name",__fullText:i,__truncatedText:v,position:c,rotation:n.rotation,silent:Om(e),z2:1,tooltip:y&&y.show?L({content:i,formatter:function(){return i},formatterParams:_},y):null});Gs(w.style,s,{text:v,textFont:f,textFill:s.getTextColor()||e.get("axisLine.lineStyle.color"),textAlign:s.get("align")||n.textAlign,textVerticalAlign:s.get("verticalAlign")||n.textVerticalAlign}),e.get("triggerEvent")&&(w.eventData=Pm(e),w.eventData.targetType="axisName",w.eventData.name=i),this._dumbGroup.add(w),w.updateTransform(),this.group.add(w),w.decomposeTransform()}}},Pm=Cm.makeAxisEventDataBase=function(t){var e={componentType:t.mainType,componentIndex:t.componentIndex};return e[t.mainType+"Index"]=t.componentIndex,e},Nm=Cm.innerTextLayout=function(t,e,i){var n,a=Tl(e-t);return{rotation:a,textAlign:Dl(a)?(n=0<i?"top":"bottom","center"):Dl(a-Lm)?(n=0<i?"bottom":"top","center"):(n="middle",0<a&&a<Lm?0<i?"right":"left":0<i?"left":"right"),textVerticalAlign:n}};var Om=Cm.isLabelSilent=function(t){var e=t.get("tooltip");return t.get("silent")||!(t.get("triggerEvent")||e&&e.show)};function Em(t){t&&(t.ignore=!0)}function Rm(t,e){var i=t&&t.getBoundingRect().clone(),n=e&&e.getBoundingRect().clone();if(i&&n){var a=te([]);return ae(a,a,-t.rotation),i.applyTransform(ie([],a,t.getLocalTransform())),n.applyTransform(ie([],a,e.getLocalTransform())),i.intersect(n)}}function zm(t){return"middle"===t||"center"===t}var Bm=E,Vm=A;function Gm(t,e){var i={axesInfo:{},seriesInvolved:!1,coordSysAxesInfo:{},coordSysMap:{}};return function(p,g,t){var o=g.getComponent("tooltip"),m=g.getComponent("axisPointer"),v=m.get("link",!0)||[],y=[];Bm(t.getCoordinateSystems(),function(c){if(c.axisPointerEnabled){var t=Zm(c.model),d=p.coordSysAxesInfo[t]={},f=(p.coordSysMap[t]=c).model.getModel("tooltip",o);if(Bm(c.getAxes(),Vm(a,!1,null)),c.getTooltipAxes&&o&&f.get("show")){var e="axis"===f.get("trigger"),i="cross"===f.get("axisPointer.type"),n=c.getTooltipAxes(f.get("axisPointer.axis"));(e||i)&&Bm(n.baseAxes,Vm(a,!i||"cross",e)),i&&Bm(n.otherAxes,Vm(a,"cross",!1))}}function a(t,e,i){var n=i.model.getModel("axisPointer",m),a=n.get("show");if(a&&("auto"!==a||t||Hm(n))){null==e&&(e=n.get("triggerTooltip"));var o=(n=t?function(t,e,i,n,a,o){var r=e.getModel("axisPointer"),s={};Bm(["type","snap","lineStyle","shadowStyle","label","animation","animationDurationUpdate","animationEasingUpdate","z"],function(t){s[t]=D(r.get(t))}),s.snap="category"!==t.type&&!!o,"cross"===r.get("type")&&(s.type="line");var l=s.label||(s.label={});if(null==l.show&&(l.show=!1),"cross"===a){var u=r.get("label.show");if(l.show=null==u||u,!o){var h=s.lineStyle=r.get("crossStyle");h&&C(l,h.textStyle)}}return t.model.getModel("axisPointer",new dl(s,i,n))}(i,f,m,g,t,e):n).get("snap"),r=Zm(i.model),s=e||o||"category"===i.type,l=p.axesInfo[r]={key:r,axis:i,coordSys:c,axisPointerModel:n,triggerTooltip:e,involveSeries:s,snap:o,useHandle:Hm(n),seriesModels:[]};d[r]=l,p.seriesInvolved|=s;var u=function(t,e){for(var i=e.model,n=e.dim,a=0;a<t.length;a++){var o=t[a]||{};if(Fm(o[n+"AxisId"],i.id)||Fm(o[n+"AxisIndex"],i.componentIndex)||Fm(o[n+"AxisName"],i.name))return a}}(v,i);if(null!=u){var h=y[u]||(y[u]={axesInfo:{}});h.axesInfo[r]=l,h.mapper=v[u].mapper,l.linkGroup=h}}}})}(i,t,e),i.seriesInvolved&&function(a,t){t.eachSeries(function(i){var n=i.coordinateSystem,t=i.get("tooltip.trigger",!0),e=i.get("tooltip.show",!0);n&&"none"!==t&&!1!==t&&"item"!==t&&!1!==e&&!1!==i.get("axisPointer.show",!0)&&Bm(a.coordSysAxesInfo[Zm(n.model)],function(t){var e=t.axis;n.getAxis(e.dim)===e&&(t.seriesModels.push(i),null==t.seriesDataCount&&(t.seriesDataCount=0),t.seriesDataCount+=i.getData().count())})},this)}(i,t),i}function Fm(t,e){return"all"===t||k(t)&&0<=_(t,e)||t===e}function Wm(t){var e=(t.ecModel.getComponent("axisPointer")||{}).coordSysAxesInfo;return e&&e.axesInfo[Zm(t)]}function Hm(t){return!!t.get("handle.show")}function Zm(t){return t.type+"||"+t.id}var Um=lf({type:"axis",_axisPointer:null,axisPointerClass:null,render:function(t,e,i,n){this.axisPointerClass&&function(t){var e=Wm(t);if(e){var i=e.axisPointerModel,n=e.axis.scale,a=i.option,o=i.get("status"),r=i.get("value");null!=r&&(r=n.parse(r));var s=Hm(i);null==o&&(a.status=s?"show":"hide");var l=n.getExtent().slice();l[0]>l[1]&&l.reverse(),(null==r||r>l[1])&&(r=l[1]),r<l[0]&&(r=l[0]),a.value=r,s&&(a.status=e.axis.scale.isBlank()?"hide":"show")}}(t),Um.superApply(this,"render",arguments),Xm(this,t,e,i,n,!0)},updateAxisPointer:function(t,e,i,n,a){Xm(this,t,e,i,n,!1)},remove:function(t,e){var i=this._axisPointer;i&&i.remove(e),Um.superApply(this,"remove",arguments)},dispose:function(t,e){Ym(this,e),Um.superApply(this,"dispose",arguments)}});function Xm(t,e,i,n,a,o){var r=Um.getAxisPointerClass(t.axisPointerClass);if(r){var s=function(t){var e=Wm(t);return e&&e.axisPointerModel}(e);s?(t._axisPointer||(t._axisPointer=new r)).render(e,s,n,o):Ym(t,n)}}function Ym(t,e,i){var n=t._axisPointer;n&&n.dispose(e,i),t._axisPointer=null}var jm=[];function qm(t,e,i){i=i||{};var n=t.coordinateSystem,a=e.axis,o={},r=a.getAxesOnZeroOf()[0],s=a.position,l=r?"onZero":s,u=a.dim,h=n.getRect(),c=[h.x,h.x+h.width,h.y,h.y+h.height],d={left:0,right:1,top:0,bottom:1,onZero:2},f=e.get("offset")||0,p="x"===u?[c[2]-f,c[3]+f]:[c[0]-f,c[1]+f];if(r){var g=r.toGlobalCoord(r.dataToCoord(0));p[d.onZero]=Math.max(Math.min(g,p[1]),p[0])}o.position=["y"===u?p[d[l]]:c[0],"x"===u?p[d[l]]:c[3]],o.rotation=Math.PI/2*("x"===u?0:1);o.labelDirection=o.tickDirection=o.nameDirection={top:-1,bottom:1,left:-1,right:1}[s],o.labelOffset=r?p[d[s]]-p[d.onZero]:0,e.get("axisTick.inside")&&(o.tickDirection=-o.tickDirection),W(i.labelInside,e.get("axisLabel.inside"))&&(o.labelDirection=-o.labelDirection);var m=e.get("axisLabel.rotate");return o.labelRotate="top"===l?-m:m,o.z2=1,o}Um.registerAxisPointerClass=function(t,e){jm[t]=e},Um.getAxisPointerClass=function(t){return t&&jm[t]};var Km=["axisLine","axisTickLabel","axisName"],$m=["splitArea","splitLine"],Jm=Um.extend({type:"cartesianAxis",axisPointerClass:"CartesianAxisPointer",render:function(e,t,i,n){this.group.removeAll();var a=this._axisGroup;if(this._axisGroup=new Si,this.group.add(this._axisGroup),e.get("show")){var o=e.getCoordSysModel(),r=qm(o,e),s=new Cm(e,r);E(Km,s.add,s),this._axisGroup.add(s.getGroup()),E($m,function(t){e.get(t+".show")&&this["_"+t](e,o)},this),Qs(a,this._axisGroup,e),Jm.superCall(this,"render",e,t,i,n)}},remove:function(){this._splitAreaColors=null},_splitLine:function(t,e){var i=t.axis;if(!i.scale.isBlank()){var n=t.getModel("splitLine"),a=n.getModel("lineStyle"),o=a.get("color");o=k(o)?o:[o];for(var r=e.coordinateSystem.getRect(),s=i.isHorizontal(),l=0,u=i.getTicksCoords({tickModel:n}),h=[],c=[],d=a.getLineStyle(),f=0;f<u.length;f++){var p=i.toGlobalCoord(u[f].coord);s?(h[0]=p,h[1]=r.y,c[0]=p,c[1]=r.y+r.height):(h[0]=r.x,h[1]=p,c[0]=r.x+r.width,c[1]=p);var g=l++%o.length,m=u[f].tickValue;this._axisGroup.add(new Ur({anid:null!=m?"line_"+u[f].tickValue:null,subPixelOptimize:!0,shape:{x1:h[0],y1:h[1],x2:c[0],y2:c[1]},style:C({stroke:o[g]},d),silent:!0}))}}},_splitArea:function(t,e){var i=t.axis;if(!i.scale.isBlank()){var n=t.getModel("splitArea"),a=n.getModel("areaStyle"),o=a.get("color"),r=e.coordinateSystem.getRect(),s=i.getTicksCoords({tickModel:n,clamp:!0});if(s.length){var l=o.length,u=this._splitAreaColors,h=Q(),c=0;if(u)for(var d=0;d<s.length;d++){var f=u.get(s[d].tickValue);if(null!=f){c=(f+(l-1)*d)%l;break}}var p=i.toGlobalCoord(s[0].coord),g=a.getAreaStyle();o=k(o)?o:[o];for(d=1;d<s.length;d++){var m,v,y,x,_=i.toGlobalCoord(s[d].coord);p=i.isHorizontal()?(m=p,v=r.y,y=_-m,x=r.height,m+y):(m=r.x,v=p,y=r.width,v+(x=_-v));var w=s[d-1].tickValue;null!=w&&h.set(w,c),this._axisGroup.add(new Hr({anid:null!=w?"area_"+w:null,shape:{x:m,y:v,width:y,height:x},style:C({fill:o[c]},g),silent:!0})),c=(c+1)%l}this._splitAreaColors=h}}}});Jm.extend({type:"xAxis"}),Jm.extend({type:"yAxis"}),lf({type:"grid",render:function(t,e){this.group.removeAll(),t.get("show")&&this.group.add(new Hr({shape:t.coordinateSystem.getRect(),style:C({fill:t.get("backgroundColor")},t.getItemStyle()),silent:!0,z2:-1}))}}),Jd(function(t){t.xAxis&&t.yAxis&&!t.grid&&(t.grid={})}),af(rm("line","circle","line")),nf(sm("line")),Qd(cd.PROCESSOR.STATISTIC,{seriesType:"line",modifyOutputEnd:!0,reset:function(t,e,i){var n=t.getData(),a=t.get("sampling"),o=t.coordinateSystem;if("cartesian2d"===o.type&&a){var r,s=o.getBaseAxis(),l=o.getOtherAxis(s),u=s.getExtent(),h=u[1]-u[0],c=Math.round(n.count()/h);1<c&&("string"==typeof a?r=um[a]:"function"==typeof a&&(r=a),r&&t.setData(n.downSample(n.mapDimension(l.dim),1/c,r,lm)))}}});var Qm=Wh.extend({type:"series.__base_bar__",getInitialData:function(t,e){return Xf(this.getSource(),this)},getMarkerPosition:function(t){var e=this.coordinateSystem;if(e){var i=e.dataToPoint(e.clampData(t)),n=this.getData(),a=n.getLayout("offset"),o=n.getLayout("size");return i[e.getBaseAxis().isHorizontal()?0:1]+=a+o/2,i}return[NaN,NaN]},defaultOption:{zlevel:0,z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,barMinHeight:0,barMinAngle:0,large:!1,largeThreshold:400,progressive:3e3,progressiveChunkMode:"mod",itemStyle:{},emphasis:{}}});function tv(t,e,i,n,a,o){Bs(t,e,i.getModel("label"),i.getModel("emphasis.label"),{labelFetcher:a,labelDataIndex:o,defaultText:bg(a.getData(),o),isRectText:!0,autoColor:n}),ev(t),ev(e)}function ev(t,e){"outside"===t.textPosition&&(t.textPosition=e)}Qm.extend({type:"series.bar",dependencies:["grid","polar"],brushSelector:"rect",getProgressive:function(){return!!this.get("large")&&this.get("progressive")},getProgressiveThreshold:function(){var t=this.get("progressiveThreshold"),e=this.get("largeThreshold");return t<e&&(t=e),t},defaultOption:{clip:!0,roundCap:!1}});var iv=Xa([["fill","color"],["stroke","borderColor"],["lineWidth","borderWidth"],["stroke","barBorderColor"],["lineWidth","barBorderWidth"],["opacity"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"]]),nv={getBarItemStyle:function(t){var e=iv(this,t);if(this.getBorderLineDash){var i=this.getBorderLineDash();i&&(e.lineDash=i)}return e}},av=ds({type:"sausage",shape:{cx:0,cy:0,r0:0,r:0,startAngle:0,endAngle:2*Math.PI,clockwise:!0},buildPath:function(t,e){var i=e.cx,n=e.cy,a=Math.max(e.r0||0,0),o=Math.max(e.r,0),r=.5*(o-a),s=a+r,l=e.startAngle,u=e.endAngle,h=e.clockwise,c=Math.cos(l),d=Math.sin(l),f=Math.cos(u),p=Math.sin(u);(h?u-l<2*Math.PI:l-u<2*Math.PI)&&(t.moveTo(c*a+i,d*a+n),t.arc(c*s+i,d*s+n,r,-Math.PI+l,l,!h)),t.arc(i,n,o,l,u,!h),t.moveTo(f*o+i,p*o+n),t.arc(f*s+i,p*s+n,r,u-2*Math.PI,u-Math.PI,!h),0!==a&&(t.arc(i,n,a,u,l,h),t.moveTo(c*a+i,p*a+n)),t.closePath()}}),ov=["itemStyle","barBorderWidth"],rv=[0,0];L(dl.prototype,nv),hf({type:"bar",render:function(t,e,i){this._updateDrawMode(t);var n=t.get("coordinateSystem");return"cartesian2d"!==n&&"polar"!==n||(this._isLargeDraw?this._renderLarge(t,e,i):this._renderNormal(t,e,i)),this.group},incrementalPrepareRender:function(t,e,i){this._clear(),this._updateDrawMode(t)},incrementalRender:function(t,e,i,n){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(o,t,e){var r,s=this.group,l=o.getData(),u=this._data,h=o.coordinateSystem,i=h.getBaseAxis();"cartesian2d"===h.type?r=i.isHorizontal():"polar"===h.type&&(r="angle"===i.dim);var c=o.isAnimationEnabled()?o:null,d=o.get("clip",!0),f=function(t,e){var i=t.getArea&&t.getArea();if("cartesian2d"===t.type){var n=t.getBaseAxis();if("category"!==n.type||!n.onBand){var a=e.getLayout("bandWidth");n.isHorizontal()?(i.x-=a,i.width+=2*a):(i.y-=a,i.height+=2*a)}}return i}(h,l);s.removeClipPath();var p=o.get("roundCap",!0);l.diff(u).add(function(t){if(l.hasValue(t)){var e=l.getItemModel(t),i=fv[h.type](l,t,e);if(d)if(uv[h.type](f,i))return void s.remove(n);var n=hv[h.type](t,i,r,c,!1,p);l.setItemGraphicEl(t,n),s.add(n),pv(n,l,t,e,i,o,r,"polar"===h.type)}}).update(function(t,e){var i=u.getItemGraphicEl(e);if(l.hasValue(t)){var n=l.getItemModel(t),a=fv[h.type](l,t,n);if(d)if(uv[h.type](f,a))return void s.remove(i);i?js(i,{shape:a},c,t):i=hv[h.type](t,a,r,c,!0,p),l.setItemGraphicEl(t,i),s.add(i),pv(i,l,t,n,a,o,r,"polar"===h.type)}else s.remove(i)}).remove(function(t){var e=u.getItemGraphicEl(t);"cartesian2d"===h.type?e&&cv(t,c,e):e&&dv(t,c,e)}).execute(),this._data=l},_renderLarge:function(t,e,i){this._clear(),mv(t,this.group);var n=t.get("clip",!0)?tm(t.coordinateSystem,!1,t):null;n?this.group.setClipPath(n):this.group.removeClipPath()},_incrementalRenderLarge:function(t,e){mv(e,this.group,!0)},dispose:et,remove:function(t){this._clear(t)},_clear:function(e){var t=this.group,i=this._data;e&&e.get("animation")&&i&&!this._isLargeDraw?i.eachItemGraphicEl(function(t){"sector"===t.type?dv(t.dataIndex,e,t):cv(t.dataIndex,e,t)}):t.removeAll(),this._data=null}});var sv=Math.max,lv=Math.min,uv={cartesian2d:function(t,e){var i=e.width<0?-1:1,n=e.height<0?-1:1;i<0&&(e.x+=e.width,e.width=-e.width),n<0&&(e.y+=e.height,e.height=-e.height);var a=sv(e.x,t.x),o=lv(e.x+e.width,t.x+t.width),r=sv(e.y,t.y),s=lv(e.y+e.height,t.y+t.height);e.x=a,e.y=r,e.width=o-a,e.height=s-r;var l=e.width<0||e.height<0;return i<0&&(e.x+=e.width,e.width=-e.width),n<0&&(e.y+=e.height,e.height=-e.height),l},polar:function(t){return!1}},hv={cartesian2d:function(t,e,i,n,a){var o=new Hr({shape:L({},e)});if(n){var r=i?"height":"width",s={};o.shape[r]=0,s[r]=e[r],ol[a?"updateProps":"initProps"](o,{shape:s},n,t)}return o},polar:function(t,e,i,n,a,o){var r=e.startAngle<e.endAngle,s=new(!i&&o?av:Pr)({shape:C({clockwise:r},e)});if(n){var l=i?"r":"endAngle",u={};s.shape[l]=i?0:e.startAngle,u[l]=e[l],ol[a?"updateProps":"initProps"](s,{shape:u},n,t)}return s}};function cv(t,e,i){i.style.text=null,js(i,{shape:{width:0}},e,t,function(){i.parent&&i.parent.remove(i)})}function dv(t,e,i){i.style.text=null,js(i,{shape:{r:i.shape.r0}},e,t,function(){i.parent&&i.parent.remove(i)})}var fv={cartesian2d:function(t,e,i){var n=t.getItemLayout(e),a=function(t,e){var i=t.get(ov)||0;return Math.min(i,Math.abs(e.width),Math.abs(e.height))}(i,n),o=0<n.width?1:-1,r=0<n.height?1:-1;return{x:n.x+o*a/2,y:n.y+r*a/2,width:n.width-o*a,height:n.height-r*a}},polar:function(t,e,i){var n=t.getItemLayout(e);return{cx:n.cx,cy:n.cy,r0:n.r0,r:n.r,startAngle:n.startAngle,endAngle:n.endAngle}}};function pv(t,e,i,n,a,o,r,s){var l=e.getItemVisual(i,"color"),u=e.getItemVisual(i,"opacity"),h=n.getModel("itemStyle"),c=n.getModel("emphasis.itemStyle").getBarItemStyle();s||t.setShape("r",h.get("barBorderRadius")||0),t.useStyle(C({fill:l,opacity:u},h.getBarItemStyle()));var d=n.getShallow("cursor");d&&t.attr("cursor",d);r?a.height:a.width;s||tv(t.style,c,n,l,o,i),Os(t,c)}var gv=hr.extend({type:"largeBar",shape:{points:[]},buildPath:function(t,e){for(var i=e.points,n=this.__startPoint,a=this.__baseDimIdx,o=0;o<i.length;o+=2)n[a]=i[o+a],t.moveTo(n[0],n[1]),t.lineTo(i[o],i[o+1])}});function mv(t,e,i){var n=t.getData(),a=[],o=n.getLayout("valueAxisHorizontal")?1:0;a[1-o]=n.getLayout("valueAxisStart");var r=new gv({shape:{points:n.getLayout("largePoints")},incremental:!!i,__startPoint:a,__baseDimIdx:o,__largeDataIndices:n.getLayout("largeDataIndices"),__barWidth:n.getLayout("barWidth")});e.add(r),function(t,e,i){var n=i.getVisual("borderColor")||i.getVisual("color"),a=e.getModel("itemStyle").getItemStyle(["color","borderColor"]);t.useStyle(a),t.style.fill=null,t.style.stroke=n,t.style.lineWidth=i.getLayout("barWidth")}(r,t,n),r.seriesIndex=t.seriesIndex,t.get("silent")||(r.on("mousedown",vv),r.on("mousemove",vv))}var vv=cc(function(t){var e=function(t,e,i){var n=t.__baseDimIdx,a=1-n,o=t.shape.points,r=t.__largeDataIndices,s=Math.abs(t.__barWidth/2),l=t.__startPoint[a];rv[0]=e,rv[1]=i;for(var u=rv[n],h=rv[1-n],c=u-s,d=u+s,f=0,p=o.length/2;f<p;f++){var g=2*f,m=o[g+n],v=o[g+a];if(c<=m&&m<=d&&(l<=v?l<=h&&h<=v:v<=h&&h<=l))return r[f]}return-1}(this,t.offsetX,t.offsetY);this.dataIndex=0<=e?e:null},30,!1);nf(cd.VISUAL.LAYOUT,A(pp,"bar")),nf(cd.VISUAL.PROGRESSIVE_LAYOUT,gp),af({seriesType:"bar",reset:function(t){t.getData().setVisual("legendSymbol","roundRect")}});function yv(t,e,i){e=k(e)&&{coordDimensions:e}||L({},e);var n=t.getSource(),a=Wf(n,e),o=new Tf(a,t);return o.initData(n,i),o}var xv={updateSelectedMap:function(t){this._targetList=k(t)?t.slice():[],this._selectTargetMap=S(t||[],function(t,e){return t.set(e.name,e),t},Q())},select:function(t,e){var i=null!=e?this._targetList[e]:this._selectTargetMap.get(t);"single"===this.get("selectedMode")&&this._selectTargetMap.each(function(t){t.selected=!1}),i&&(i.selected=!0)},unSelect:function(t,e){var i=null!=e?this._targetList[e]:this._selectTargetMap.get(t);i&&(i.selected=!1)},toggleSelected:function(t,e){var i=null!=e?this._targetList[e]:this._selectTargetMap.get(t);if(null!=i)return this[i.selected?"unSelect":"select"](t,e),i.selected},isSelected:function(t,e){var i=null!=e?this._targetList[e]:this._selectTargetMap.get(t);return i&&i.selected}},_v=uf({type:"series.pie",init:function(t){_v.superApply(this,"init",arguments),this.legendDataProvider=function(){return this.getRawData()},this.updateSelectedMap(this._createSelectableList()),this._defaultLabelLine(t)},mergeOption:function(t){_v.superCall(this,"mergeOption",t),this.updateSelectedMap(this._createSelectableList())},getInitialData:function(t,e){return yv(this,["value"])},_createSelectableList:function(){for(var t=this.getRawData(),e=t.mapDimension("value"),i=[],n=0,a=t.count();n<a;n++)i.push({name:t.getName(n),value:t.get(e,n),selected:Ih(t,n,"selected")});return i},getDataParams:function(t){var e=this.getData(),i=_v.superCall(this,"getDataParams",t),n=[];return e.each(e.mapDimension("value"),function(t){n.push(t)}),i.percent=Il(n,t,e.hostModel.get("percentPrecision")),i.$vars.push("percent"),i},_defaultLabelLine:function(t){ba(t,"labelLine",["show"]);var e=t.labelLine,i=t.emphasis.labelLine;e.show=e.show&&t.label.show,i.show=i.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,minShowLabelAngle: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",animationTypeUpdate:"transition",animationEasing:"cubicOut"}});function wv(t,e,i,n){var a=e.getData(),o=this.dataIndex,r=a.getName(o),s=e.get("selectedOffset");n.dispatchAction({type:"pieToggleSelect",from:t,name:r,seriesId:e.id}),a.each(function(t){bv(a.getItemGraphicEl(t),a.getItemLayout(t),e.isSelected(a.getName(t)),s,i)})}function bv(t,e,i,n,a){var o=(e.startAngle+e.endAngle)/2,r=i?n:0,s=[Math.cos(o)*r,Math.sin(o)*r];a?t.animate().when(200,{position:s}).start("bounceOut"):t.attr("position",s)}function Sv(t,e){Si.call(this);var i=new Pr({z2:2}),n=new zr,a=new Dr;this.add(i),this.add(n),this.add(a),this.updateData(t,e,!0)}b(_v,xv);var Mv=Sv.prototype;Mv.updateData=function(t,e,i){var n=this.childAt(0),a=this.childAt(1),o=this.childAt(2),r=t.hostModel,s=t.getItemModel(e),l=t.getItemLayout(e),u=L({},l);u.label=null;var h=r.getShallow("animationTypeUpdate");i?(n.setShape(u),"scale"===r.getShallow("animationType")?(n.shape.r=l.r0,qs(n,{shape:{r:l.r}},r,e)):(n.shape.endAngle=l.startAngle,js(n,{shape:{endAngle:l.endAngle}},r,e))):"expansion"===h?n.setShape(u):js(n,{shape:u},r,e);var c=t.getItemVisual(e,"color");n.useStyle(C({lineJoin:"bevel",fill:c},s.getModel("itemStyle").getItemStyle())),n.hoverStyle=s.getModel("emphasis.itemStyle").getItemStyle();var d=s.getShallow("cursor");d&&n.attr("cursor",d),bv(this,t.getItemLayout(e),r.isSelected(null,e),r.get("selectedOffset"),r.get("animation"));var f=!i&&"transition"===h;this._updateLabel(t,e,f),this.highDownOnUpdate=s.get("hoverAnimation")&&r.isAnimationEnabled()?function(t,e){"emphasis"===e?(a.ignore=a.hoverIgnore,o.ignore=o.hoverIgnore,n.stopAnimation(!0),n.animateTo({shape:{r:l.r+r.get("hoverOffset")}},300,"elasticOut")):(a.ignore=a.normalIgnore,o.ignore=o.normalIgnore,n.stopAnimation(!0),n.animateTo({shape:{r:l.r}},300,"elasticOut"))}:null,Os(this)},Mv._updateLabel=function(t,e,i){var n=this.childAt(1),a=this.childAt(2),o=t.hostModel,r=t.getItemModel(e),s=t.getItemLayout(e).label,l=t.getItemVisual(e,"color");if(!s||isNaN(s.x)||isNaN(s.y))a.ignore=a.normalIgnore=a.hoverIgnore=n.ignore=n.normalIgnore=n.hoverIgnore=!0;else{var u={points:s.linePoints||[[s.x,s.y],[s.x,s.y],[s.x,s.y]]},h={x:s.x,y:s.y};i?(js(n,{shape:u},o,e),js(a,{style:h},o,e)):(n.attr({shape:u}),a.attr({style:h})),a.attr({rotation:s.rotation,origin:[s.x,s.y],z2:10});var c=r.getModel("label"),d=r.getModel("emphasis.label"),f=r.getModel("labelLine"),p=r.getModel("emphasis.labelLine");l=t.getItemVisual(e,"color");Bs(a.style,a.hoverStyle={},c,d,{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")}),a.ignore=a.normalIgnore=!c.get("show"),a.hoverIgnore=!d.get("show"),n.ignore=n.normalIgnore=!f.get("show"),n.hoverIgnore=!p.get("show"),n.setStyle({stroke:l,opacity:t.getItemVisual(e,"opacity")}),n.setStyle(f.getModel("lineStyle").getLineStyle()),n.hoverStyle=p.getModel("lineStyle").getLineStyle();var g=f.get("smooth");g&&!0===g&&(g=.4),n.setShape({smooth:g})}},w(Sv,Si);function Iv(i,t){E(t,function(o){o.update="updateView",tf(o,function(t,e){var a={};return e.eachComponent({mainType:"series",subType:i,query:t},function(i){i[o.method]&&i[o.method](t.name,t.dataIndex);var n=i.getData();n.each(function(t){var e=n.getName(t);a[e]=i.isSelected(e)||!1})}),{name:t.name,selected:a,seriesId:t.seriesId}})})}function Av(n){return{getTargetSeries:function(t){var e={},i=Q();return t.eachSeriesByType(n,function(t){t.__paletteScope=e,i.set(t.uid,t)}),i},reset:function(s,t){var l=s.getRawData(),u={},h=s.getData();h.each(function(t){var e=h.getRawIndex(t);u[e]=t}),l.each(function(t){var e,i=u[t],n=null!=i&&h.getItemVisual(i,"color",!0),a=null!=i&&h.getItemVisual(i,"borderColor",!0);if(n&&a||(e=l.getItemModel(t)),n)l.setItemVisual(t,"color",n);else{var o=e.get("itemStyle.color")||s.getColorFromPalette(l.getName(t)||t+"",s.__paletteScope,l.count());l.setItemVisual(t,"color",o),null!=i&&h.setItemVisual(i,"color",o)}if(a)l.setItemVisual(t,"borderColor",a);else{var r=e.get("itemStyle.borderColor");l.setItemVisual(t,"borderColor",r),null!=i&&h.setItemVisual(i,"borderColor",r)}})}}}ec.extend({type:"pie",init:function(){var t=new Si;this._sectorGroup=t},render:function(t,e,i,n){if(!n||n.from!==this.uid){var a=t.getData(),o=this._data,r=this.group,s=e.get("animation"),l=!o,u=t.get("animationType"),h=t.get("animationTypeUpdate"),c=A(wv,this.uid,t,s,i),d=t.get("selectedMode");if(a.diff(o).add(function(t){var e=new Sv(a,t);l&&"scale"!==u&&e.eachChild(function(t){t.stopAnimation(!0)}),d&&e.on("click",c),a.setItemGraphicEl(t,e),r.add(e)}).update(function(t,e){var i=o.getItemGraphicEl(e);l||"transition"===h||i.eachChild(function(t){t.stopAnimation(!0)}),i.updateData(a,t),i.off("click"),d&&i.on("click",c),r.add(i),a.setItemGraphicEl(t,i)}).remove(function(t){var e=o.getItemGraphicEl(t);r.remove(e)}).execute(),s&&0<a.count()&&(l?"scale"!==u:"transition"!==h)){for(var f=a.getItemLayout(0),p=1;isNaN(f.startAngle)&&p<a.count();++p)f=a.getItemLayout(p);var g=Math.max(i.getWidth(),i.getHeight())/2,m=T(r.removeClipPath,r);r.setClipPath(this._createClipPath(f.cx,f.cy,g,f.startAngle,f.clockwise,m,t,l))}else r.removeClipPath();this._data=a}},dispose:function(){},_createClipPath:function(t,e,i,n,a,o,r,s){var l=new Pr({shape:{cx:t,cy:e,r0:0,r:i,startAngle:n,endAngle:n,clockwise:a}});return(s?qs:js)(l,{shape:{endAngle:n+(a?1:-1)*Math.PI*2}},r,o),l},containPoint:function(t,e){var i=e.getData().getItemLayout(0);if(i){var n=t[0]-i.cx,a=t[1]-i.cy,o=Math.sqrt(n*n+a*a);return o<=i.r&&o>=i.r0}}});var Tv=Math.PI/180;function Dv(a,t,e,i,n,o,r){function s(t,e,i){for(var n=t;n<e;n++)if(a[n].y+=i,t<n&&n+1<e&&a[n+1].y>a[n].y+a[n].height)return void l(n,i/2);l(e-1,i/2)}function l(t,e){for(var i=t;0<=i&&(a[i].y-=e,!(0<i&&a[i].y>a[i-1].y+a[i-1].height));i--);}function u(t,e,i,n,a,o){for(var r=e?Number.MAX_VALUE:0,s=0,l=t.length;s<l;s++){var u=Math.abs(t[s].y-n),h=t[s].len,c=t[s].len2,d=u<a+h?Math.sqrt((a+h+c)*(a+h+c)-u*u):Math.abs(t[s].x-i);e&&r<=d&&(d=r-10),!e&&d<=r&&(d=r+10),t[s].x=i+d*o,r=d}}a.sort(function(t,e){return t.y-e.y});for(var h,c=0,d=a.length,f=[],p=[],g=0;g<d;g++)(h=a[g].y-c)<0&&s(g,d,-h),c=a[g].y+a[g].height;r-c<0&&l(d-1,c-r);for(g=0;g<d;g++)a[g].y>=e?p.push(a[g]):f.push(a[g]);u(f,!1,t,e,i,n),u(p,!0,t,e,i,n)}function Cv(t){return"center"===t.position}function Lv(I,A,t,e,i){var T,D,C=I.getData(),L=[],k=!1,P=(I.get("minShowLabelAngle")||0)*Tv;C.each(function(t){var e=C.getItemLayout(t),i=C.getItemModel(t),n=i.getModel("label"),a=n.get("position")||i.get("emphasis.label.position"),o=i.getModel("labelLine"),r=o.get("length"),s=o.get("length2");if(!(e.angle<P)){var l,u,h,c,d=(e.startAngle+e.endAngle)/2,f=Math.cos(d),p=Math.sin(d);T=e.cx,D=e.cy;var g="inside"===a||"inner"===a;if("center"===a)l=e.cx,u=e.cy,c="center";else{var m=(g?(e.r+e.r0)/2*f:e.r*f)+T,v=(g?(e.r+e.r0)/2*p:e.r*p)+D;if(l=m+3*f,u=v+3*p,!g){var y=m+f*(r+A-e.r),x=v+p*(r+A-e.r),_=y+(f<0?-1:1)*s;l=_+(f<0?-5:5),h=[[m,v],[y,x],[_,u=x]]}c=g?"center":0<f?"left":"right"}var w,b=n.getFont(),S=n.get("rotate");w="number"==typeof S?S*(Math.PI/180):S?f<0?-d+Math.PI:-d:0;var M=un(I.getFormattedLabel(t,"normal")||C.getName(t),b,c,"top");k=!!w,e.label={x:l,y:u,position:a,height:M.height,len:r,len2:s,linePoints:h,textAlign:c,verticalAlign:"middle",rotation:w,inside:g},g||L.push(e.label)}}),!k&&I.get("avoidLabelOverlap")&&function(t,e,i,n,a,o){for(var r=[],s=[],l=0;l<t.length;l++)Cv(t[l])||(t[l].x<e?r.push(t[l]):s.push(t[l]));for(Dv(s,e,i,n,1,0,o),Dv(r,e,i,n,-1,0,o),l=0;l<t.length;l++)if(!Cv(t[l])){var u=t[l].linePoints;if(u){var h=u[1][0]-u[2][0];t[l].x<e?u[2][0]=t[l].x+3:u[2][0]=t[l].x-3,u[1][1]=u[2][1]=t[l].y,u[1][0]=u[2][0]+h}}}(L,T,D,A,0,e)}function kv(t){return{seriesType:t,reset:function(t,e){var n=e.findComponents({mainType:"legend"});if(n&&n.length){var a=t.getData();a.filterSelf(function(t){for(var e=a.getName(t),i=0;i<n.length;i++)if(!n[i].isSelected(e))return!1;return!0})}}}}var Pv=2*Math.PI,Nv=Math.PI/180;Iv("pie",[{type:"pieToggleSelect",event:"pieselectchanged",method:"toggleSelected"},{type:"pieSelect",event:"pieselected",method:"select"},{type:"pieUnSelect",event:"pieunselected",method:"unSelect"}]),af(Av("pie")),nf(A(function(t,e,A,i){e.eachSeriesByType(t,function(t){var a=t.getData(),e=a.mapDimension("value"),i=t.get("center"),n=t.get("radius");k(n)||(n=[0,n]),k(i)||(i=[i,i]);var o=A.getWidth(),r=A.getHeight(),s=Math.min(o,r),l=xl(i[0],o),u=xl(i[1],r),h=xl(n[0],s/2),c=xl(n[1],s/2),d=-t.get("startAngle")*Nv,f=t.get("minAngle")*Nv,p=0;a.each(e,function(t){isNaN(t)||p++});var g=a.getSum(e),m=Math.PI/(g||p)*2,v=t.get("clockwise"),y=t.get("roseType"),x=t.get("stillShowZeroSum"),_=a.getDataExtent(e);_[0]=0;var w=Pv,b=0,S=d,M=v?1:-1;if(a.each(e,function(t,e){var i;if(isNaN(t))a.setItemLayout(e,{angle:NaN,startAngle:NaN,endAngle:NaN,clockwise:v,cx:l,cy:u,r0:h,r:y?NaN:c});else{(i="area"!==y?0===g&&x?m:t*m:Pv/p)<f?w-=i=f:b+=t;var n=S+M*i;a.setItemLayout(e,{angle:i,startAngle:S,endAngle:n,clockwise:v,cx:l,cy:u,r0:h,r:y?yl(t,_,[h,c]):c}),S=n}}),w<Pv&&p)if(w<=.001){var I=Pv/p;a.each(e,function(t,e){if(!isNaN(t)){var i=a.getItemLayout(e);i.angle=I,i.startAngle=d+M*e*I,i.endAngle=d+M*(e+1)*I}})}else m=w/b,S=d,a.each(e,function(t,e){if(!isNaN(t)){var i=a.getItemLayout(e),n=i.angle===f?f:t*m;i.startAngle=S,i.endAngle=S+M*n,S+=M*n}});Lv(t,c,0,r)})},"pie")),Qd(kv("pie")),Wh.extend({type:"series.scatter",dependencies:["grid","polar","geo","singleAxis","calendar"],getInitialData:function(t,e){return Xf(this.getSource(),this)},brushSelector:"point",getProgressive:function(){var t=this.option.progressive;return null==t?this.option.large?5e3:this.get("progressive"):t},getProgressiveThreshold:function(){var t=this.option.progressiveThreshold;return null==t?this.option.large?1e4:this.get("progressiveThreshold"):t},defaultOption:{coordinateSystem:"cartesian2d",zlevel:0,z:2,legendHoverLink:!0,hoverAnimation:!0,symbolSize:10,large:!1,largeThreshold:2e3,itemStyle:{opacity:.8},clip:!0}});var Ov=ds({shape:{points:null},symbolProxy:null,softClipShape:null,buildPath:function(t,e){var i=e.points,n=e.size,a=this.symbolProxy,o=a.shape;if(!((t.getContext?t.getContext():t)&&n[0]<4))for(var r=0;r<i.length;){var s=i[r++],l=i[r++];isNaN(s)||isNaN(l)||this.softClipShape&&!this.softClipShape.contain(s,l)||(o.x=s-n[0]/2,o.y=l-n[1]/2,o.width=n[0],o.height=n[1],a.buildPath(t,o,!0))}},afterBrush:function(t){var e=this.shape,i=e.points,n=e.size;if(n[0]<4){this.setTransform(t);for(var a=0;a<i.length;){var o=i[a++],r=i[a++];isNaN(o)||isNaN(r)||this.softClipShape&&!this.softClipShape.contain(o,r)||t.fillRect(o-n[0]/2,r-n[1]/2,n[0],n[1])}this.restoreTransform(t)}},findDataIndex:function(t,e){for(var i=this.shape,n=i.points,a=i.size,o=Math.max(a[0],4),r=Math.max(a[1],4),s=n.length/2-1;0<=s;s--){var l=2*s,u=n[l]-o/2,h=n[1+l]-r/2;if(u<=t&&h<=e&&t<=u+o&&e<=h+r)return s}return-1}});function Ev(){this.group=new Si}var Rv=Ev.prototype;function zv(t,e,i){vg.call(this,t,e,i),this.type="value",this.angle=0,this.name="",this.model}function Bv(t,e,i){this._model=t,this.dimensions=[],this._indicatorAxes=N(t.getIndicatorModels(),function(t,e){var i="indicator_"+e,n=new zv(i,"log"===t.get("axisType")?new Op:new op);return n.name=t.get("name"),(n.model=t).axis=n,this.dimensions.push(i),n},this),this.resize(t,i),this.cx,this.cy,this.r,this.r0,this.startAngle}Rv.isPersistent=function(){return!this._incremental},Rv.updateData=function(t,e){this.group.removeAll();var i=new Ov({rectHover:!0,cursor:"default"});i.setShape({points:t.getLayout("symbolPoints")}),this._setCommon(i,t,!1,e),this.group.add(i),this._incremental=null},Rv.updateLayout=function(t){if(!this._incremental){var n=t.getLayout("symbolPoints");this.group.eachChild(function(t){if(null!=t.startIndex){var e=2*(t.endIndex-t.startIndex),i=4*t.startIndex*2;n=new Float32Array(n.buffer,i,e)}t.setShape("points",n)})}},Rv.incrementalPrepareUpdate=function(t){this.group.removeAll(),this._clearIncremental(),2e6<t.count()?(this._incremental||(this._incremental=new ts({silent:!0})),this.group.add(this._incremental)):this._incremental=null},Rv.incrementalUpdate=function(t,e,i){var n;this._incremental?(n=new Ov,this._incremental.addDisplayable(n,!0)):((n=new Ov({rectHover:!0,cursor:"default",startIndex:t.start,endIndex:t.end})).incremental=!0,this.group.add(n)),n.setShape({points:e.getLayout("symbolPoints")}),this._setCommon(n,e,!!this._incremental,i)},Rv._setCommon=function(i,t,e,n){var a=t.hostModel;n=n||{};var o=t.getVisual("symbolSize");i.setShape("size",o instanceof Array?o:[o,o]),i.softClipShape=n.clipShape||null,i.symbolProxy=Jp(t.getVisual("symbol"),0,0,0,0),i.setColor=i.symbolProxy.setColor;var r=i.shape.size[0]<4;i.useStyle(a.getModel("itemStyle").getItemStyle(r?["color","shadowBlur","shadowColor"]:["color"]));var s=t.getVisual("color");s&&i.setColor(s),e||(i.seriesIndex=a.seriesIndex,i.on("mousemove",function(t){i.dataIndex=null;var e=i.findDataIndex(t.offsetX,t.offsetY);0<=e&&(i.dataIndex=e+(i.startIndex||0))}))},Rv.remove=function(){this._clearIncremental(),this._incremental=null,this.group.removeAll()},Rv._clearIncremental=function(){var t=this._incremental;t&&t.clearDisplaybles()},hf({type:"scatter",render:function(t,e,i){var n=t.getData();this._updateSymbolDraw(n,t).updateData(n,{clipShape:this._getClipShape(t)}),this._finished=!0},incrementalPrepareRender:function(t,e,i){var n=t.getData();this._updateSymbolDraw(n,t).incrementalPrepareUpdate(n),this._finished=!1},incrementalRender:function(t,e,i){this._symbolDraw.incrementalUpdate(t,e.getData(),{clipShape:this._getClipShape(e)}),this._finished=t.end===e.getData().count()},updateTransform:function(t,e,i){var n=t.getData();if(this.group.dirty(),!this._finished||1e4<n.count()||!this._symbolDraw.isPersistent())return{update:!0};var a=sm().reset(t);a.progress&&a.progress({start:0,end:n.count()},n),this._symbolDraw.updateLayout(n)},_getClipShape:function(t){var e=t.coordinateSystem,i=e&&e.getArea&&e.getArea();return t.get("clip",!0)?i:null},_updateSymbolDraw:function(t,e){var i=this._symbolDraw,n=e.pipelineContext.large;return i&&n===this._isLargeDraw||(i&&i.remove(),i=this._symbolDraw=n?new Ev:new Ng,this._isLargeDraw=n,this.group.removeAll()),this.group.add(i.group),i},remove:function(t,e){this._symbolDraw&&this._symbolDraw.remove(!0),this._symbolDraw=null},dispose:function(){}}),af(rm("scatter","circle")),nf(sm("scatter")),w(zv,vg),Bv.prototype.getIndicatorAxes=function(){return this._indicatorAxes},Bv.prototype.dataToPoint=function(t,e){var i=this._indicatorAxes[e];return this.coordToPoint(i.dataToCoord(t),e)},Bv.prototype.coordToPoint=function(t,e){var i=this._indicatorAxes[e].angle;return[this.cx+t*Math.cos(i),this.cy-t*Math.sin(i)]},Bv.prototype.pointToData=function(t){var e=t[0]-this.cx,i=t[1]-this.cy,n=Math.sqrt(e*e+i*i);e/=n,i/=n;for(var a,o=Math.atan2(-i,e),r=1/0,s=-1,l=0;l<this._indicatorAxes.length;l++){var u=this._indicatorAxes[l],h=Math.abs(o-u.angle);h<r&&(a=u,s=l,r=h)}return[s,+(a&&a.coordToData(n))]},Bv.prototype.resize=function(t,e){var i=t.get("center"),n=e.getWidth(),a=e.getHeight(),o=Math.min(n,a)/2;this.cx=xl(i[0],n),this.cy=xl(i[1],a),this.startAngle=t.get("startAngle")*Math.PI/180;var r=t.get("radius");"string"!=typeof r&&"number"!=typeof r||(r=[0,r]),this.r0=xl(r[0],o),this.r=xl(r[1],o),E(this._indicatorAxes,function(t,e){t.setExtent(this.r0,this.r);var i=this.startAngle+e*Math.PI*2/this._indicatorAxes.length;i=Math.atan2(Math.sin(i),Math.cos(i)),t.angle=i},this)},Bv.prototype.update=function(n,t){var a=this._indicatorAxes,o=this._model;E(a,function(t){t.scale.setExtent(1/0,-1/0)}),n.eachSeriesByType("radar",function(t,e){if("radar"===t.get("coordinateSystem")&&n.getComponent("radar",t.get("radarIndex"))===o){var i=t.getData();E(a,function(t){t.scale.unionExtentFromData(i,i.mapDimension(t.dim))})}},this);var f=o.get("splitNumber");function p(t){var e=Math.pow(10,Math.floor(Math.log(t)/Math.LN10)),i=t/e;return 2===i?i=5:i*=2,i*e}E(a,function(t,e){var i=Rp(t.scale,t.model);zp(t.scale,t.model);var n=t.model,a=t.scale,o=n.getMin(),r=n.getMax(),s=a.getInterval();if(null!=o&&null!=r)a.setExtent(+o,+r),a.setInterval((r-o)/f);else if(null!=o)for(var l;l=o+s*f,a.setExtent(+o,l),a.setInterval(s),s=p(s),l<i[1]&&isFinite(l)&&isFinite(i[1]););else if(null!=r)for(var u;u=r-s*f,a.setExtent(u,+r),a.setInterval(s),s=p(s),u>i[0]&&isFinite(u)&&isFinite(i[0]););else{var h=a.getTicks().length-1;f<h&&(s=p(s));var c=Math.round((i[0]+i[1])/2/s)*s,d=Math.round(f/2);a.setExtent(_l(c-d*s),_l(c+(f-d)*s)),a.setInterval(s)}})},Bv.dimensions=[],Bv.create=function(i,n){var a=[];return i.eachComponent("radar",function(t){var e=new Bv(t,i,n);a.push(e),t.coordinateSystem=e}),i.eachSeriesByType("radar",function(t){"radar"===t.get("coordinateSystem")&&(t.coordinateSystem=a[t.get("radarIndex")||0])}),a},Hu.register("radar",Bv);var Vv=gm.valueAxis;function Gv(t,e){return C({show:e},t)}sf({type:"radar",optionUpdated:function(){var a=this.get("boundaryGap"),o=this.get("splitNumber"),r=this.get("scale"),s=this.get("axisLine"),l=this.get("axisTick"),u=this.get("axisType"),h=this.get("axisLabel"),c=this.get("name"),d=this.get("name.show"),f=this.get("name.formatter"),p=this.get("nameGap"),g=this.get("triggerEvent"),t=N(this.get("indicator")||[],function(t){null!=t.max&&0<t.max&&!t.min?t.min=0:null!=t.min&&t.min<0&&!t.max&&(t.max=0);var e=c;if(null!=t.color&&(e=C({color:t.color},c)),t=m(D(t),{boundaryGap:a,splitNumber:o,scale:r,axisLine:s,axisTick:l,axisType:u,axisLabel:h,name:t.text,nameLocation:"end",nameGap:p,nameTextStyle:e,triggerEvent:g},!1),d||(t.name=""),"string"==typeof f){var i=t.name;t.name=f.replace("{value}",null!=i?i:"")}else"function"==typeof f&&(t.name=f(t.name,t));var n=L(new dl(t,null,this.ecModel),Hp);return n.mainType="radar",n.componentIndex=this.componentIndex,n},this);this.getIndicatorModels=function(){return t}},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:m({lineStyle:{color:"#bbb"}},Vv.axisLine),axisLabel:Gv(Vv.axisLabel,!1),axisTick:Gv(Vv.axisTick,!1),axisType:"interval",splitLine:Gv(Vv.splitLine,!0),splitArea:Gv(Vv.splitArea,!0),indicator:[]}});var Fv=["axisLine","axisTickLabel","axisName"];lf({type:"radar",render:function(t,e,i){this.group.removeAll(),this._buildAxes(t),this._buildSplitLineAndArea(t)},_buildAxes:function(t){var e=t.coordinateSystem;E(N(e.getIndicatorAxes(),function(t){return new Cm(t.model,{position:[e.cx,e.cy],rotation:t.angle,labelDirection:-1,tickDirection:-1,nameDirection:1})}),function(t){E(Fv,t.add,t),this.group.add(t.getGroup())},this)},_buildSplitLineAndArea:function(t){var n=t.coordinateSystem,e=n.getIndicatorAxes();if(e.length){var i=t.get("shape"),a=t.getModel("splitLine"),o=t.getModel("splitArea"),r=a.getModel("lineStyle"),s=o.getModel("areaStyle"),l=a.get("show"),u=o.get("show"),h=r.get("color"),c=s.get("color");h=k(h)?h:[h],c=k(c)?c:[c];var d=[],f=[];if("circle"===i)for(var p=e[0].getTicksCoords(),g=n.cx,m=n.cy,v=0;v<p.length;v++){if(l)d[I(d,h,v)].push(new Lr({shape:{cx:g,cy:m,r:p[v].coord}}));if(u&&v<p.length-1)f[I(f,c,v)].push(new Nr({shape:{cx:g,cy:m,r0:p[v].coord,r:p[v+1].coord}}))}else{var y,x=N(e,function(t,e){var i=t.getTicksCoords();return y=null==y?i.length-1:Math.min(i.length-1,y),N(i,function(t){return n.coordToPoint(t.coord,e)})}),_=[];for(v=0;v<=y;v++){for(var w=[],b=0;b<e.length;b++)w.push(x[b][v]);if(w[0]&&w.push(w[0].slice()),l)d[I(d,h,v)].push(new zr({shape:{points:w}}));if(u&&_)f[I(f,c,v-1)].push(new Rr({shape:{points:w.concat(_)}}));_=w.slice().reverse()}}var S=r.getLineStyle(),M=s.getAreaStyle();E(f,function(t,e){this.group.add(ys(t,{style:C({stroke:"none",fill:c[e%c.length]},M),silent:!0}))},this),E(d,function(t,e){this.group.add(ys(t,{style:C({fill:"none",stroke:h[e%h.length]},S),silent:!0}))},this)}function I(t,e,i){var n=i%e.length;return t[n]=t[n]||[],n}}});var Wv=Wh.extend({type:"series.radar",dependencies:["radar"],init:function(t){Wv.superApply(this,"init",arguments),this.legendDataProvider=function(){return this.getRawData()}},getInitialData:function(t,e){return yv(this,{generateCoord:"indicator_",generateCoordCount:1/0})},formatTooltip:function(n){var a=this.getData(),t=this.coordinateSystem.getIndicatorAxes(),e=this.getData().getName(n);return Wl(""===e?this.name:e)+"<br/>"+N(t,function(t,e){var i=a.get(a.mapDimension(t.dim),n);return Wl(t.name+" : "+i)}).join("<br />")},defaultOption:{zlevel:0,z:2,coordinateSystem:"radar",legendHoverLink:!0,radarIndex:0,lineStyle:{width:2,type:"solid"},label:{position:"top"},symbol:"emptyCircle",symbolSize:4}});hf({type:"radar",render:function(l,t,e){var i=l.coordinateSystem,g=this.group,m=l.getData(),s=this._data;function u(t,e){var i=t.getItemVisual(e,"symbol")||"circle",n=t.getItemVisual(e,"color");if("none"!==i){var a=function(t){return k(t)||(t=[+t,+t]),t}(t.getItemVisual(e,"symbolSize")),o=Jp(i,-1,-1,2,2,n);return o.attr({style:{strokeNoScale:!0},z2:100,scale:[a[0]/2,a[1]/2]}),o}}function h(t,e,i,n,a,o){i.removeAll();for(var r=0;r<e.length-1;r++){var s=u(n,a);s&&(t[s.__dimIdx=r]?(s.attr("position",t[r]),ol[o?"initProps":"updateProps"](s,{position:e[r]},l,a)):s.attr("position",e[r]),i.add(s))}}function c(t){return N(t,function(t){return[i.cx,i.cy]})}m.diff(s).add(function(t){var e=m.getItemLayout(t);if(e){var i=new Rr,n=new zr,a={shape:{points:e}};i.shape.points=c(e),n.shape.points=c(e),qs(i,a,l,t),qs(n,a,l,t);var o=new Si,r=new Si;o.add(n),o.add(i),o.add(r),h(n.shape.points,e,r,m,t,!0),m.setItemGraphicEl(t,o)}}).update(function(t,e){var i=s.getItemGraphicEl(e),n=i.childAt(0),a=i.childAt(1),o=i.childAt(2),r={shape:{points:m.getItemLayout(t)}};r.shape.points&&(h(n.shape.points,r.shape.points,o,m,t,!1),js(n,r,l),js(a,r,l),m.setItemGraphicEl(t,i))}).remove(function(t){g.remove(s.getItemGraphicEl(t))}).execute(),m.eachItemGraphicEl(function(t,i){var e=m.getItemModel(i),n=t.childAt(0),a=t.childAt(1),o=t.childAt(2),r=m.getItemVisual(i,"color");g.add(t),n.useStyle(C(e.getModel("lineStyle").getLineStyle(),{fill:"none",stroke:r})),n.hoverStyle=e.getModel("emphasis.lineStyle").getLineStyle();var s=e.getModel("areaStyle"),l=e.getModel("emphasis.areaStyle"),u=s.isEmpty()&&s.parentModel.isEmpty(),h=l.isEmpty()&&l.parentModel.isEmpty();h=h&&u,a.ignore=u,a.useStyle(C(s.getAreaStyle(),{fill:r,opacity:.7})),a.hoverStyle=l.getAreaStyle();var c=e.getModel("itemStyle").getItemStyle(["color"]),d=e.getModel("emphasis.itemStyle").getItemStyle(),f=e.getModel("label"),p=e.getModel("emphasis.label");o.eachChild(function(t){t.setStyle(c),t.hoverStyle=D(d);var e=m.get(m.dimensions[t.__dimIdx],i);null!=e&&!isNaN(e)||(e=""),Bs(t.style,t.hoverStyle,f,p,{labelFetcher:m.hostModel,labelDataIndex:i,labelDimIndex:t.__dimIdx,defaultText:e,autoColor:r,isRectText:!0})}),t.highDownOnUpdate=function(t,e){a.attr("ignore","emphasis"===e?h:u)},Os(t)}),this._data=m},remove:function(){this.group.removeAll(),this._data=null},dispose:function(){}});function Hv(t){return!isNaN(t[0])&&!isNaN(t[1])}function Zv(t){return[t.cx,t.cy]}af(Av("radar")),af(rm("radar","circle")),nf(function(t){t.eachSeriesByType("radar",function(t){var i=t.getData(),a=[],o=t.coordinateSystem;if(o){var e=o.getIndicatorAxes();E(e,function(t,n){i.each(i.mapDimension(e[n].dim),function(t,e){a[e]=a[e]||[];var i=o.dataToPoint(t,n);a[e][n]=Hv(i)?i:Zv(o)})}),i.each(function(t){var e=I(a[t],function(t){return Hv(t)})||Zv(o);a[t].push(e.slice()),i.setItemLayout(t,a[t])})}})}),Qd(kv("radar")),Jd(function(i){var t=i.polar;if(t){k(t)||(t=[t]);var n=[];E(t,function(t,e){t.indicator?(t.type&&!t.shape&&(t.shape=t.type),i.radar=i.radar||[],k(i.radar)||(i.radar=[i.radar]),i.radar.push(t)):n.push(t)}),i.polar=n}E(i.series,function(t){t&&"radar"===t.type&&t.polarIndex&&(t.radarIndex=t.polarIndex)})});for(var Uv=[126,25],Xv=[[[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]]],Yv=0;Yv<Xv.length;Yv++)for(var jv=0;jv<Xv[Yv].length;jv++)Xv[Yv][jv][0]/=10.5,Xv[Yv][jv][1]/=-14,Xv[Yv][jv][0]+=Uv[0],Xv[Yv][jv][1]+=Uv[1];var qv={"鍗楁捣璇稿矝":[32,80],"骞夸笢":[0,-10],"棣欐腐":[10,5],"婢抽棬":[-10,10],"澶╂触":[5,5]},Kv={Russia:[100,60],"United States":[-99,38],"United States of America":[-99,38]},$v=[[[123.45165252685547,25.73527164402261],[123.49731445312499,25.73527164402261],[123.49731445312499,25.750734064600884],[123.45165252685547,25.750734064600884],[123.45165252685547,25.73527164402261]]],Jv=La(),Qv={load:function(n,t){var e=Jv(t).parsed;if(e)return e;var i,a=t.specialAreas||{},o=t.geoJSON;try{i=o?rg(o):[]}catch(t){throw new Error("Invalid geoJson format\n"+t.message)}return function(t,e){"china"===t&&e.push(new ag("鍗楁捣璇稿矝",N(Xv,function(t){return{type:"polygon",exterior:t}}),Uv))}(n,i),E(i,function(t){var e=t.name;!function(t,e){if("china"===t){var i=qv[e.name];if(i){var n=e.center;n[0]+=i[0]/10.5,n[1]+=-i[1]/14}}}(n,t),function(t,e){if("world"===t){var i=Kv[e.name];if(i){var n=e.center;n[0]=i[0],n[1]=i[1]}}}(n,t),function(t,e){"china"===t&&"鍙版咕"===e.name&&e.geometries.push({type:"polygon",exterior:$v[0]})}(n,t);var i=a[e];i&&t.transformTo(i.left,i.top,i.width,i.height)}),Jv(t).parsed={regions:i,boundingRect:function(t){for(var e,i=0;i<t.length;i++){var n=t[i].getBoundingRect();(e=e||n.clone()).union(n)}return e}(i)}}};var ty=La();function ey(t,e){var i,n,a=t.svgXML;try{Y(null!=(n=(i=a&&function(t,e){return(new Uc).parse(t,e)}(a,{ignoreViewBox:!0,ignoreRootClip:!0})||{}).root))}catch(t){throw new Error("Invalid svg format\n"+t.message)}var o=i.width,r=i.height,s=i.viewBoxRect;if(e||(e=null==o||null==r?n.getBoundingRect():new bi(0,0,0,0),null!=o&&(e.width=o),null!=r&&(e.height=r)),s){var l=id(s,e.width,e.height),u=n;(n=new Si).add(u),u.scale=l.scale,u.position=l.position}return n.setClipPath(new Hr({shape:e.plain()})),{root:n,boundingRect:e}}var iy={geoJSON:Qv,svg:{load:function(t,e){var i=ty(e).originRoot;if(i)return{root:i,boundingRect:ty(e).boundingRect};var n=ey(e);return ty(e).originRoot=n.root,ty(e).boundingRect=n.boundingRect,n},makeGraphic:function(t,e,i){var n=ty(e),a=n.rootMap||(n.rootMap=Q()),o=a.get(i);if(o)return o;var r=n.originRoot,s=n.boundingRect;return o=n.originRootHostKey?ey(e,s).root:(n.originRootHostKey=i,r),a.set(i,o)},removeGraphic:function(t,e,i){var n=ty(e),a=n.rootMap;a&&a.removeKey(i),i===n.originRootHostKey&&(n.originRootHostKey=null)}}},ny={load:function(n,a){var o,r=[],s=Q(),l=Q();return E(oy(n),function(t){var e=iy[t.type].load(n,t);E(e.regions,function(t){var e=t.name;a&&a.hasOwnProperty(e)&&(t=t.cloneShallow(e=a[e])),r.push(t),s.set(e,t),l.set(e,t.center)});var i=e.boundingRect;i&&(o?o.union(i):o=i.clone())}),{regions:r,regionsMap:s,nameCoordMap:l,boundingRect:o||new bi(0,0,0,0)}},makeGraphic:ay("makeGraphic"),removeGraphic:ay("removeGraphic")};function ay(o){return function(i,n){var t=oy(i),a=[];return E(t,function(t){var e=iy[t.type][o];e&&a.push(e(i,t,n))}),a}}function oy(t){return ad.retrieveMap(t)||[]}b(Wh.extend({type:"series.map",dependencies:["geo"],layoutMode:"box",needsDrawMap:!1,seriesGroup:[],getInitialData:function(t){for(var e=yv(this,["value"]),i=e.mapDimension("value"),n=Q(),a=[],o=[],r=0,s=e.count();r<s;r++){var l=e.getName(r);n.set(l,!0),a.push({name:l,value:e.get(i,r),selected:Ih(e,r,"selected")})}return E(ny.load(this.getMapType(),this.option.nameMap).regions,function(t){var e=t.name;n.get(e)||(a.push({name:e}),o.push(e))}),this.updateSelectedMap(a),e.appendValues([],o),e},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(),i=zl(this.getRawValue(t)),n=e.getName(t),a=this.seriesGroup,o=[],r=0;r<a.length;r++){var s=a[r].originalData.indexOfName(n),l=e.mapDimension("value");isNaN(a[r].originalData.get(l,s))||o.push(Wl(a[r].name))}return o.join(", ")+"<br />"+Wl(n+" : "+i)},getTooltipPosition:function(t){if(null!=t){var e=this.getData().getName(t),i=this.coordinateSystem,n=i.getRegion(e);return n&&i.dataToPoint(n.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)"}}}}),xv);var ry="\0_ec_interaction_mutex";function sy(t,e){return!!ly(t)[e]}function ly(t){return t[ry]||(t[ry]={})}function uy(i){this.pointerChecker,this._zr=i,this._opt={};var t=T,n=t(hy,this),a=t(cy,this),o=t(dy,this),r=t(fy,this),s=t(py,this);Ct.call(this),this.setPointerChecker=function(t){this.pointerChecker=t},this.enable=function(t,e){this.disable(),this._opt=C(D(e)||{},{zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!1,preventDefaultMouseMove:!0}),null==t&&(t=!0),!0!==t&&"move"!==t&&"pan"!==t||(i.on("mousedown",n),i.on("mousemove",a),i.on("mouseup",o)),!0!==t&&"scale"!==t&&"zoom"!==t||(i.on("mousewheel",r),i.on("pinch",s))},this.disable=function(){i.off("mousedown",n),i.off("mousemove",a),i.off("mouseup",o),i.off("mousewheel",r),i.off("pinch",s)},this.dispose=this.disable,this.isDragging=function(){return this._dragging},this.isPinching=function(){return this._pinching}}function hy(t){if(!(Wt(t)||t.target&&t.target.draggable)){var e=t.offsetX,i=t.offsetY;this.pointerChecker&&this.pointerChecker(t,e,i)&&(this._x=e,this._y=i,this._dragging=!0)}}function cy(t){if(this._dragging&&vy("moveOnMouseMove",t,this._opt)&&"pinch"!==t.gestureEvent&&!sy(this._zr,"globalPan")){var e=t.offsetX,i=t.offsetY,n=this._x,a=this._y,o=e-n,r=i-a;this._x=e,this._y=i,this._opt.preventDefaultMouseMove&&Ft(t.event),my(this,"pan","moveOnMouseMove",t,{dx:o,dy:r,oldX:n,oldY:a,newX:e,newY:i})}}function dy(t){Wt(t)||(this._dragging=!1)}function fy(t){var e=vy("zoomOnMouseWheel",t,this._opt),i=vy("moveOnMouseWheel",t,this._opt),n=t.wheelDelta,a=Math.abs(n),o=t.offsetX,r=t.offsetY;if(0!==n&&(e||i)){if(e){var s=3<a?1.4:1<a?1.2:1.1;gy(this,"zoom","zoomOnMouseWheel",t,{scale:0<n?s:1/s,originX:o,originY:r})}if(i){var l=Math.abs(n);gy(this,"scrollMove","moveOnMouseWheel",t,{scrollDelta:(0<n?1:-1)*(3<l?.4:1<l?.15:.05),originX:o,originY:r})}}}function py(t){sy(this._zr,"globalPan")||gy(this,"zoom",null,t,{scale:1<t.pinchScale?1.1:1/1.1,originX:t.pinchX,originY:t.pinchY})}function gy(t,e,i,n,a){t.pointerChecker&&t.pointerChecker(n,a.originX,a.originY)&&(Ft(n.event),my(t,e,i,n,a))}function my(t,e,i,n,a){a.isAvailableBehavior=T(vy,null,i,n),t.trigger(e,a)}function vy(t,e,i){var n=i[t];return!t||n&&(!R(n)||e.event[n+"Key"])}function yy(t,e,i){var n=t.target,a=n.position;a[0]+=e,a[1]+=i,n.dirty()}function xy(t,e,i,n){var a=t.target,o=t.zoomLimit,r=a.position,s=a.scale,l=t.zoom=t.zoom||1;if(l*=e,o){var u=o.min||0,h=o.max||1/0;l=Math.max(Math.min(h,l),u)}var c=l/t.zoom;t.zoom=l,r[0]-=(i-r[0])*(c-1),r[1]-=(n-r[1])*(c-1),s[0]*=c,s[1]*=c,a.dirty()}tf({type:"takeGlobalCursor",event:"globalCursorTaken",update:"update"},function(){}),b(uy,Ct);var _y={axisPointer:1,tooltip:1,brush:1};function wy(t,e,i){var n=e.getComponentByElement(t.topTarget),a=n&&n.coordinateSystem;return n&&n!==i&&!_y[n.mainType]&&a&&a.model!==i}function by(t){var e=t.getItemStyle(),i=t.get("areaColor");return null!=i&&(e.fill=i),e}function Sy(i,t){t.eachChild(function(e){E(e.__regions,function(t){e.trigger(i.isSelected(t.name)?"emphasis":"normal")})})}function My(t,e){var i=new Si;this.uid=ml("ec_map_draw"),this._controller=new uy(t.getZr()),this._controllerHost={target:e?i:null},this.group=i,this._updateGroup=e,this._mouseDownFlag,this._mapName,this._initialized,i.add(this._regionsGroup=new Si),i.add(this._backgroundGroup=new Si)}My.prototype={constructor:My,draw:function(_,t,e,i,n){var w="geo"===_.mainType,b=_.getData&&_.getData();w&&t.eachComponent({mainType:"series",subType:"map"},function(t){b||t.getHostGeoModel()!==_||(b=t.getData())});var a=_.coordinateSystem;this._updateBackground(a);var S=this._regionsGroup,M=this.group;a._roamTransformable.transform&&(M.transform=a._roamTransformable.transform.slice(),M.decomposeTransform());var I=a._rawTransformable.scale,A=a._rawTransformable.position;S.removeAll();var T=["itemStyle"],D=["emphasis","itemStyle"],C=["label"],L=["emphasis","label"],k=Q();E(a.regions,function(t){var e=k.get(t.name)||k.set(t.name,new Si),o=new $r({segmentIgnoreThreshold:1,shape:{paths:[]}});e.add(o);var i,n=(x=_.getRegionModel(t.name)||_).getModel(T),a=x.getModel(D),r=by(n),s=by(a),l=x.getModel(C),u=x.getModel(L);if(b){i=b.indexOfName(t.name);var h=b.getItemVisual(i,"color",!0);h&&(r.fill=h)}function c(t){return[t[0]*I[0]+A[0],t[1]*I[1]+A[1]]}E(t.geometries,function(t){if("polygon"===t.type){for(var e=[],i=0;i<t.exterior.length;++i)e.push(c(t.exterior[i]));o.shape.paths.push(new Rr({segmentIgnoreThreshold:1,shape:{points:e}}));for(i=0;i<(t.interiors?t.interiors.length:0);++i){for(var n=t.interiors[i],a=(e=[],0);a<n.length;++a)e.push(c(n[a]));o.shape.paths.push(new Rr({segmentIgnoreThreshold:1,shape:{points:e}}))}}}),o.setStyle(r),o.style.strokeNoScale=!0,o.culling=!0;var d=l.get("show"),f=u.get("show"),p=b&&isNaN(b.get(b.mapDimension("value"),i)),g=b&&b.getItemLayout(i);if(w||p&&(d||f)||g&&g.showLabel){var m,v=w?t.name:i;(!b||0<=i)&&(m=_);var y=new Dr({position:c(t.center.slice()),scale:[1/M.scale[0],1/M.scale[1]],z2:10,silent:!0});Bs(y.style,y.hoverStyle={},l,u,{labelFetcher:m,labelDataIndex:v,defaultText:t.name,useInsideStyle:!1},{textAlign:"center",textVerticalAlign:"middle"}),e.add(y)}if(b)b.setItemGraphicEl(i,e);else{var x=_.getRegionModel(t.name);o.eventData={componentType:"geo",componentIndex:_.componentIndex,geoIndex:_.componentIndex,name:t.name,region:x&&x.option||{}}}(e.__regions||(e.__regions=[])).push(t),e.highDownSilentOnTouch=!!_.get("selectedMode"),Os(e,s),S.add(e)}),this._updateController(_,t,e),function(n,a,o,r,s){o.off("click"),o.off("mousedown"),a.get("selectedMode")&&(o.on("mousedown",function(){n._mouseDownFlag=!0}),o.on("click",function(t){if(n._mouseDownFlag){n._mouseDownFlag=!1;for(var e=t.target;!e.__regions;)e=e.parent;if(e){var i={type:("geo"===a.mainType?"geo":"map")+"ToggleSelect",batch:N(e.__regions,function(t){return{name:t.name,from:s.uid}})};i[a.mainType+"Id"]=a.id,r.dispatchAction(i),Sy(a,o)}}}))}(this,_,S,e,i),Sy(_,S)},remove:function(){this._regionsGroup.removeAll(),this._backgroundGroup.removeAll(),this._controller.dispose(),this._mapName&&ny.removeGraphic(this._mapName,this.uid),this._mapName=null,this._controllerHost={}},_updateBackground:function(t){var e=t.map;this._mapName!==e&&E(ny.makeGraphic(e,this.uid),function(t){this._backgroundGroup.add(t)},this),this._mapName=e},_updateController:function(n,t,a){var o=n.coordinateSystem,e=this._controller,i=this._controllerHost;i.zoomLimit=n.get("scaleLimit"),i.zoom=o.getZoom(),e.enable(n.get("roam")||!1);var r=n.mainType;function s(){var t={type:"geoRoam",componentType:r};return t[r+"Id"]=n.id,t}e.off("pan").on("pan",function(t){this._mouseDownFlag=!1,yy(i,t.dx,t.dy),a.dispatchAction(L(s(),{dx:t.dx,dy:t.dy}))},this),e.off("zoom").on("zoom",function(t){if(this._mouseDownFlag=!1,xy(i,t.scale,t.originX,t.originY),a.dispatchAction(L(s(),{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),e.setPointerChecker(function(t,e,i){return o.getViewRectAfterRoam().contain(e,i)&&!wy(t,a,n)})}};var Iy="__seriesMapHighDown",Ay="__seriesMapCallKey";function Ty(t){var e=this[Iy];e&&e.recordVersion===this[Ay]&&Dy(e,t)}function Dy(t,e){var i=t.circle,n=t.labelModel,a=t.hoverLabelModel,o=t.emphasisText,r=t.normalText;e?(i.style.extendFrom(Gs({},a,{text:a.get("show")?o:null},{isRectText:!0,useInsideStyle:!1},!0)),i.__mapOriginalZ2=i.z2,i.z2+=os):(Gs(i.style,n,{text:n.get("show")?r:null,textPosition:n.getShallow("position")||"bottom"},{isRectText:!0,useInsideStyle:!1}),i.dirty(!1),null!=i.__mapOriginalZ2&&(i.z2=i.__mapOriginalZ2,i.__mapOriginalZ2=null))}function Cy(t,e,i){var n=t.getZoom(),a=t.getCenter(),o=e.zoom,r=t.dataToPoint(a);if(null!=e.dx&&null!=e.dy){r[0]-=e.dx,r[1]-=e.dy;a=t.pointToData(r);t.setCenter(a)}if(null!=o){if(i){var s=i.min||0,l=i.max||1/0;o=Math.max(Math.min(n*o,l),s)/n}t.scale[0]*=o,t.scale[1]*=o;var u=t.position,h=(e.originX-u[0])*(o-1),c=(e.originY-u[1])*(o-1);u[0]-=h,u[1]-=c,t.updateTransform();a=t.pointToData(r);t.setCenter(a),t.setZoom(o*n)}return{center:t.getCenter(),zoom:t.getZoom()}}hf({type:"map",render:function(t,e,i,n){if(!n||"mapToggleSelect"!==n.type||n.from!==this.uid){var a=this.group;if(a.removeAll(),!t.getHostGeoModel()){if(n&&"geoRoam"===n.type&&"series"===n.componentType&&n.seriesId===t.id)(o=this._mapDraw)&&a.add(o.group);else if(t.needsDrawMap){var o=this._mapDraw||new My(i,!0);a.add(o.group),o.draw(t,e,i,this,n),this._mapDraw=o}else this._mapDraw&&this._mapDraw.remove(),this._mapDraw=null;t.get("showLegendSymbol")&&e.getComponent("legend")&&this._renderSymbols(t,e,i)}}},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(x,t,e){var _=x.originalData,w=this.group;_.each(_.mapDimension("value"),function(t,e){if(!isNaN(t)){var i=_.getItemLayout(e);if(i&&i.point){var n=i.point,a=i.offset,o=new Lr({style:{fill:x.getData().getVisual("color")},shape:{cx:n[0]+9*a,cy:n[1],r:3},silent:!0,z2:8+(a?0:os+1)});if(!a){var r=x.mainSeries.getData(),s=_.getName(e),l=r.indexOfName(s),u=_.getItemModel(e),h=u.getModel("label"),c=u.getModel("emphasis.label"),d=r.getItemGraphicEl(l),f=H(x.getFormattedLabel(l,"normal"),s),p=H(x.getFormattedLabel(l,"emphasis"),f),g=d[Iy],m=Math.random();if(!g){g=d[Iy]={};var v=A(Ty,!0),y=A(Ty,!1);d.on("mouseover",v).on("mouseout",y).on("emphasis",v).on("normal",y)}L(g,{recordVersion:d[Ay]=m,circle:o,labelModel:h,hoverLabelModel:c,emphasisText:p,normalText:f}),Dy(g,!1)}w.add(o)}}})}}),tf({type:"geoRoam",event:"geoRoam",update:"updateTransform"},function(n,t){var a=n.componentType||"series";t.eachComponent({mainType:a,query:n},function(t){var e=t.coordinateSystem;if("geo"===e.type){var i=Cy(e,n,t.get("scaleLimit"));t.setCenter&&t.setCenter(i.center),t.setZoom&&t.setZoom(i.zoom),"series"===a&&E(t.seriesGroup,function(t){t.setCenter(i.center),t.setZoom(i.zoom)})}})});var Ly=bt;function ky(){ce.call(this)}function Py(t){this.name=t,this.zoomLimit,ce.call(this),this._roamTransformable=new ky,this._rawTransformable=new ky,this._center,this._zoom}function Ny(t,e,i,n){var a=i.seriesModel,o=a?a.coordinateSystem:null;return o===this?o[t](n):null}function Oy(t,e,i,n){Py.call(this,t),this.map=e;var a=ny.load(e,i);this._nameCoordMap=a.nameCoordMap,this._regionsMap=a.regionsMap,this._invertLongitute=null==n||n,this.regions=a.regions,this._rect=a.boundingRect}function Ey(t,e,i,n){var a=i.geoModel,o=i.seriesModel,r=a?a.coordinateSystem:o?o.coordinateSystem||(o.getReferringComponents("geo")[0]||{}).coordinateSystem:null;return r===this?r[t](n):null}function Ry(t,e){var i=t.get("boundingCoords");if(null!=i){var n=i[0],a=i[1];isNaN(n[0])||isNaN(n[1])||isNaN(a[0])||isNaN(a[1])||this.setBoundingRect(n[0],n[1],a[0]-n[0],a[1]-n[1])}var o,r=this.getBoundingRect(),s=t.get("layoutCenter"),l=t.get("layoutSize"),u=e.getWidth(),h=e.getHeight(),c=r.width/r.height*this.aspectScale,d=!1;if(s&&l&&(s=[xl(s[0],u),xl(s[1],h)],l=xl(l,Math.min(u,h)),isNaN(s[0])||isNaN(s[1])||isNaN(l)||(d=!0)),d){var f={};1<c?(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(o=t.getBoxLayoutParams()).aspect=c,f=au(o,{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 zy(i,t){E(t.get("geoCoord"),function(t,e){i.addGeoCoord(e,t)})}b(ky,ce),Py.prototype={constructor:Py,type:"view",dimensions:["x","y"],setBoundingRect:function(t,e,i,n){return this._rect=new bi(t,e,i,n),this._rect},getBoundingRect:function(){return this._rect},setViewRect:function(t,e,i,n){this.transformTo(t,e,i,n),this._viewRect=new bi(t,e,i,n)},transformTo:function(t,e,i,n){var a=this.getBoundingRect(),o=this._rawTransformable;o.transform=a.calculateTransform(new bi(t,e,i,n)),o.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();return[t.x+t.width/2,t.y+t.height/2]},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,i=this.getDefaultCenter(),n=this.getCenter(),a=this.getZoom();n=bt([],n,t),i=bt([],i,t),e.origin=n,e.position=[i[0]-n[0],i[1]-n[1]],e.scale=[a,a],this._updateTransform()},_updateTransform:function(){var t=this._roamTransformable,e=this._rawTransformable;(e.parent=t).updateTransform(),e.updateTransform(),ee(this.transform||(this.transform=[]),e.transform||Qt()),this._rawTransform=e.getLocalTransform(),this.invTransform=this.invTransform||[],re(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,i){var n=e?this._rawTransform:this.transform;return i=i||[],n?Ly(i,t,n):ot(i,t)},pointToData:function(t){var e=this.invTransform;return e?Ly([],t,e):[t[0],t[1]]},convertToPixel:A(Ny,"dataToPoint"),convertFromPixel:A(Ny,"pointToData"),containPoint:function(t){return this.getViewRectAfterRoam().contain(t[0],t[1])}},b(Py,ce),Oy.prototype={constructor:Oy,type:"geo",dimensions:["lng","lat"],containCoord:function(t){for(var e=this.regions,i=0;i<e.length;i++)if(e[i].contain(t))return!0;return!1},transformTo:function(t,e,i,n){var a=this.getBoundingRect(),o=this._invertLongitute;a=a.clone(),o&&(a.y=-a.y-a.height);var r=this._rawTransformable;if(r.transform=a.calculateTransform(new bi(t,e,i,n)),r.decomposeTransform(),o){var s=r.scale;s[1]=-s[1]}r.updateTransform(),this._updateTransform()},getRegion:function(t){return this._regionsMap.get(t)},getRegionByCoord:function(t){for(var e=this.regions,i=0;i<e.length;i++)if(e[i].contain(t))return e[i]},addGeoCoord:function(t,e){this._nameCoordMap.set(t,e)},getGeoCoord:function(t){return this._nameCoordMap.get(t)},getBoundingRect:function(){return this._rect},dataToPoint:function(t,e,i){if("string"==typeof t&&(t=this.getGeoCoord(t)),t)return Py.prototype.dataToPoint.call(this,t,e,i)},convertToPixel:A(Ey,"dataToPoint"),convertFromPixel:A(Ey,"pointToData")},b(Oy,Py);var By={dimensions:Oy.prototype.dimensions,create:function(t,s){var l=[];t.eachComponent("geo",function(t,e){var i=t.get("map"),n=t.get("aspectScale"),a=!0,o=ad.retrieveMap(i);o&&o[0]&&"svg"===o[0].type?(null==n&&(n=1),a=!1):null==n&&(n=.75);var r=new Oy(i+e,i,t.get("nameMap"),a);r.aspectScale=n,r.zoomLimit=t.get("scaleLimit"),l.push(r),zy(r,t),(t.coordinateSystem=r).model=t,r.resize=Ry,r.resize(t,s)}),t.eachSeries(function(t){if("geo"===t.get("coordinateSystem")){var e=t.get("geoIndex")||0;t.coordinateSystem=l[e]}});var i={};return t.eachSeriesByType("map",function(t){if(!t.getHostGeoModel()){var e=t.getMapType();i[e]=i[e]||[],i[e].push(t)}}),E(i,function(t,e){var i=new Oy(e,e,p(N(t,function(t){return t.get("nameMap")})));i.zoomLimit=W.apply(null,N(t,function(t){return t.get("scaleLimit")})),l.push(i),i.resize=Ry,i.aspectScale=t[0].get("aspectScale"),i.resize(t[0],s),E(t,function(t){zy(t.coordinateSystem=i,t)})}),l},getFilledRegions:function(t,e,i){for(var n=(t||[]).slice(),a=Q(),o=0;o<n.length;o++)a.set(n[o].name,n[o]);return E(ny.load(e,i).regions,function(t){var e=t.name;a.get(e)||n.push({name:e})}),n}};ef("geo",By);nf(function(i){var a={};i.eachSeriesByType("map",function(t){var e=t.getMapType();if(!t.getHostGeoModel()&&!a[e]){var l={};E(t.seriesGroup,function(t){var r=t.coordinateSystem,s=t.originalData;t.get("showLegendSymbol")&&i.getComponent("legend")&&s.each(s.mapDimension("value"),function(t,e){var i=s.getName(e),n=r.getRegion(i);if(n&&!isNaN(t)){var a=l[i]||0,o=r.dataToPoint(n.center);l[i]=a+1,s.setItemLayout(e,{point:o,offset:a})}})});var n=t.getData();n.each(function(t){var e=n.getName(t),i=n.getItemLayout(t)||{};i.showLabel=!l[e],n.setItemLayout(t,i)}),a[e]=!0}})}),af(function(t){t.eachSeriesByType("map",function(t){var e=t.get("color"),i=t.getModel("itemStyle"),n=i.get("areaColor"),a=i.get("color")||e[t.seriesIndex%e.length];t.getData().setVisual({areaColor:n,color:a})})}),Qd(cd.PROCESSOR.STATISTIC,function(t){var n={};t.eachSeriesByType("map",function(t){var e=t.getHostGeoModel(),i=e?"o"+e.id:"i"+t.getMapType();(n[i]=n[i]||[]).push(t)}),E(n,function(t,e){for(var i=function(u,h){var c={};return E(u,function(n){n.each(n.mapDimension("value"),function(t,e){var i="ec-"+n.getName(e);c[i]=c[i]||[],isNaN(t)||c[i].push(t)})}),u[0].map(u[0].mapDimension("value"),function(t,e){for(var i,n="ec-"+u[0].getName(e),a=0,o=1/0,r=-1/0,s=c[n].length,l=0;l<s;l++)o=Math.min(o,c[n][l]),r=Math.max(r,c[n][l]),a+=c[n][l];return i="min"===h?o:"max"===h?r:"average"===h?a/s:a,0===s?NaN:i})}(N(t,function(t){return t.getData()}),t[0].get("mapValueCalculation")),n=0;n<t.length;n++)t[n].originalData=t[n].getData();for(n=0;n<t.length;n++)(t[n].seriesGroup=t)[n].needsDrawMap=0===n&&!t[n].getHostGeoModel(),t[n].setData(i.cloneShallow()),t[n].mainSeries=t[0]})}),Jd(function(t){var e=[];E(t.series,function(t){t&&"map"===t.type&&(e.push(t),t.map=t.map||t.mapType,C(t,t.mapLocation))})}),Iv("map",[{type:"mapToggleSelect",event:"mapselectchanged",method:"toggleSelected"},{type:"mapSelect",event:"mapselected",method:"select"},{type:"mapUnSelect",event:"mapunselected",method:"unSelect"}]);var Vy=E,Gy="\0__link_datas",Fy="\0__link_mainData";function Wy(i){var n=i.mainData,t=i.datas;t||(t={main:n},i.datasAttr={main:"data"}),i.datas=i.mainData=null,Yy(n,t,i),Vy(t,function(e){Vy(n.TRANSFERABLE_METHODS,function(t){e.wrapMethod(t,A(Hy,i))})}),n.wrapMethod("cloneShallow",A(Uy,i)),Vy(n.CHANGABLE_METHODS,function(t){n.wrapMethod(t,A(Zy,i))}),Y(t[n.dataType]===n)}function Hy(t,e){if(function(t){return t[Fy]===t}(this)){var i=L({},this[Gy]);Yy(i[this.dataType]=e,i,t)}else jy(e,this.dataType,this[Fy],t);return e}function Zy(t,e){return t.struct&&t.struct.update(this),e}function Uy(i,n){return Vy(n[Gy],function(t,e){t!==n&&jy(t.cloneShallow(),e,n,i)}),n}function Xy(t){var e=this[Fy];return null==t||null==e?e:e[Gy][t]}function Yy(i,t,n){i[Gy]={},Vy(t,function(t,e){jy(t,e,i,n)})}function jy(t,e,i,n){(i[Gy][e]=t)[Fy]=i,t.dataType=e,n.struct&&(t[n.structAttr]=n.struct,n.struct[n.datasAttr[e]]=t),t.getLinkedData=Xy}function qy(t,e){this.name=t||"",this.depth=0,this.height=0,this.parentNode=null,this.dataIndex=-1,this.children=[],this.viewChildren=[],this.hostTree=e}function Ky(e,t,i){this.root,this.data,this._nodes=[],this.hostModel=e,this.levelModels=N(t||[],function(t){return new dl(t,e,e.ecModel)}),this.leavesModel=new dl(i||{},e,e.ecModel)}function $y(t,e){var i=e.children;t.parentNode!==e&&(i.push(t),t.parentNode=e)}function Jy(t,e){var i=t.isExpand?t.children:[],n=t.parentNode.children,a=t.hierNode.i?n[t.hierNode.i-1]:null;if(i.length){!function(t){var e=t.children,i=e.length,n=0,a=0;for(;0<=--i;){var o=e[i];o.hierNode.prelim+=n,o.hierNode.modifier+=n,a+=o.hierNode.change,n+=o.hierNode.shift+a}}(t);var o=(i[0].hierNode.prelim+i[i.length-1].hierNode.prelim)/2;a?(t.hierNode.prelim=a.hierNode.prelim+e(t,a),t.hierNode.modifier=t.hierNode.prelim-o):t.hierNode.prelim=o}else a&&(t.hierNode.prelim=a.hierNode.prelim+e(t,a));t.parentNode.hierNode.defaultAncestor=function(t,e,i,n){if(e){for(var a=t,o=t,r=o.parentNode.children[0],s=e,l=a.hierNode.modifier,u=o.hierNode.modifier,h=r.hierNode.modifier,c=s.hierNode.modifier;s=ix(s),o=nx(o),s&&o;){a=ix(a),r=nx(r),a.hierNode.ancestor=t;var d=s.hierNode.prelim+c-o.hierNode.prelim-u+n(s,o);0<d&&(ax((p=t,g=i,(f=s).hierNode.ancestor.parentNode===p.parentNode?f.hierNode.ancestor:g),t,d),u+=d,l+=d),c+=s.hierNode.modifier,u+=o.hierNode.modifier,l+=a.hierNode.modifier,h+=r.hierNode.modifier}s&&!ix(a)&&(a.hierNode.thread=s,a.hierNode.modifier+=c-l),o&&!nx(r)&&(r.hierNode.thread=o,r.hierNode.modifier+=u-h,i=t)}var f,p,g;return i}(t,a,t.parentNode.hierNode.defaultAncestor||n[0],e)}function Qy(t){var e=t.hierNode.prelim+t.parentNode.hierNode.modifier;t.setLayout({x:e},!0),t.hierNode.modifier+=t.parentNode.hierNode.modifier}function tx(t){return arguments.length?t:ox}function ex(t,e){var i={};return t-=Math.PI/2,i.x=e*Math.cos(t),i.y=e*Math.sin(t),i}function ix(t){var e=t.children;return e.length&&t.isExpand?e[e.length-1]:t.hierNode.thread}function nx(t){var e=t.children;return e.length&&t.isExpand?e[0]:t.hierNode.thread}function ax(t,e,i){var n=i/(e.hierNode.i-t.hierNode.i);e.hierNode.change-=n,e.hierNode.shift+=i,e.hierNode.modifier+=i,e.hierNode.prelim+=i,t.hierNode.change+=n}function ox(t,e){return t.parentNode===e.parentNode?1:2}function rx(t,e){var i=t.getItemLayout(e);return i&&!isNaN(i.x)&&!isNaN(i.y)&&"none"!==t.getItemVisual(e,"symbol")}function sx(t,e,i){return i.itemModel=e,i.itemStyle=e.getModel("itemStyle").getItemStyle(),i.hoverItemStyle=e.getModel("emphasis.itemStyle").getItemStyle(),i.lineStyle=e.getModel("lineStyle").getLineStyle(),i.labelModel=e.getModel("label"),i.hoverLabelModel=e.getModel("emphasis.label"),!1===t.isExpand&&0!==t.children.length?i.symbolInnerColor=i.itemStyle.fill:i.symbolInnerColor="#fff",i}function lx(t,e,i,n,a,o){var r=!i,s=t.tree.getNodeByDataIndex(e),l=s.getModel(),u=(o=sx(s,l,o),t.tree.root),h=s.parentNode===u?s:s.parentNode||s,c=t.getItemGraphicEl(h.dataIndex),d=h.getLayout(),f=c?{x:c.position[0],y:c.position[1],rawX:c.__radialOldRawX,rawY:c.__radialOldRawY}:d,p=s.getLayout();r?(i=new Sg(t,e,o)).attr("position",[f.x,f.y]):i.updateData(t,e,o),i.__radialOldRawX=i.__radialRawX,i.__radialOldRawY=i.__radialRawY,i.__radialRawX=p.rawX,i.__radialRawY=p.rawY,n.add(i),t.setItemGraphicEl(e,i),js(i,{position:[p.x,p.y]},a);var g=i.getSymbolPath();if("radial"===o.layout){var m,v,y=u.children[0],x=y.getLayout(),_=y.children.length;if(p.x===x.x&&!0===s.isExpand){var w={};w.x=(y.children[0].getLayout().x+y.children[_-1].getLayout().x)/2,w.y=(y.children[0].getLayout().y+y.children[_-1].getLayout().y)/2,(m=Math.atan2(w.y-x.y,w.x-x.x))<0&&(m=2*Math.PI+m),(v=w.x<x.x)&&(m-=Math.PI)}else(m=Math.atan2(p.y-x.y,p.x-x.x))<0&&(m=2*Math.PI+m),0===s.children.length||0!==s.children.length&&!1===s.isExpand?(v=p.x<x.x)&&(m-=Math.PI):(v=p.x>x.x)||(m-=Math.PI);var b=v?"left":"right",S=o.labelModel.get("rotate"),M=S*(Math.PI/180);g.setStyle({textPosition:o.labelModel.get("position")||b,textRotation:null==S?-m:M,textOrigin:"center",verticalAlign:"middle"})}if(s.parentNode&&s.parentNode!==u){var I=i.__edge;js(I=I||(i.__edge=new qr({shape:hx(o,f,f),style:C({opacity:0,strokeNoScale:!0},o.lineStyle)})),{shape:hx(o,d,p),style:{opacity:1}},a),n.add(I)}}function ux(t,e,i,n,a,o){for(var r,s=t.tree.getNodeByDataIndex(e),l=t.tree.root,u=s.getModel(),h=(o=sx(s,u,o),s.parentNode===l?s:s.parentNode||s);null==(r=h.getLayout());)h=h.parentNode===l?h:h.parentNode||h;js(i,{position:[r.x+1,r.y+1]},a,function(){n.remove(i),t.setItemGraphicEl(e,null)}),i.fadeOut(null,{keepLabel:!0});var c=i.__edge;c&&js(c,{shape:hx(o,r,r),style:{opacity:0}},a,function(){n.remove(c)})}function hx(t,e,i){var n,a,o,r,s,l,u,h,c=t.orient;if("radial"!==t.layout)return s=e.x,u=e.y,l=i.x,h=i.y,"LR"!==c&&"RL"!==c||(n=s+(l-s)*t.curvature,a=u,o=l+(s-l)*t.curvature,r=h),"TB"!==c&&"BT"!==c||(n=s,a=u+(h-u)*t.curvature,o=l,r=h+(u-h)*t.curvature),{x1:s,y1:u,x2:l,y2:h,cpx1:n,cpy1:a,cpx2:o,cpy2:r};s=e.rawX,u=e.rawY,l=i.rawX,h=i.rawY;var d=ex(s,u),f=ex(s,u+(h-u)*t.curvature),p=ex(l,h+(u-h)*t.curvature),g=ex(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}}function cx(t,e){for(var i,n=[t];i=n.pop();)if(e(i),i.isExpand){var a=i.children;if(a.length)for(var o=a.length-1;0<=o;o--)n.push(a[o])}}qy.prototype={constructor:qy,isRemoved:function(){return this.dataIndex<0},eachNode:function(t,e,i){"function"==typeof t&&(i=e,e=t,t=null),R(t=t||{})&&(t={order:t});var n,a=t.order||"preorder",o=this[t.attr||"children"];"preorder"===a&&(n=e.call(i,this));for(var r=0;!n&&r<o.length;r++)o[r].eachNode(t,e,i);"postorder"===a&&e.call(i,this)},updateDepthAndHeight:function(t){var e=0;this.depth=t;for(var i=0;i<this.children.length;i++){var n=this.children[i];n.updateDepthAndHeight(t+1),n.height>e&&(e=n.height)}this.height=e+1},getNodeById:function(t){if(this.getId()===t)return this;for(var e=0,i=this.children,n=i.length;e<n;e++){var a=i[e].getNodeById(t);if(a)return a}},contains:function(t){if(t===this)return!0;for(var e=0,i=this.children,n=i.length;e<n;e++){var a=i[e].contains(t);if(a)return a}},getAncestors:function(t){for(var e=[],i=t?this:this.parentNode;i;)e.push(i),i=i.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){0<=this.dataIndex&&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,i=this.hostTree,n=i.data.getItemModel(this.dataIndex),a=this.getLevelModel();return a||0!==this.children.length&&(0===this.children.length||!1!==this.isExpand)||(e=this.getLeavesModel()),n.getModel(t,(a||e||i.hostModel).getModel(t))}},getLevelModel:function(){return(this.hostTree.levelModels||[])[this.depth]},getLeavesModel:function(){return this.hostTree.leavesModel},setVisual:function(t,e){0<=this.dataIndex&&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)}},Ky.prototype={constructor:Ky,type:"tree",eachNode:function(t,e,i){this.root.eachNode(t,e,i)},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,i=0,n=e.length;i<n;i++)e[i].dataIndex=-1;for(i=0,n=t.count();i<n;i++)e[t.getRawIndex(i)].dataIndex=i},clearLayouts:function(){this.data.clearItemLayouts()}},Ky.createTree=function(t,e,i){var s=new Ky(e,i.levels,i.leaves),l=[],u=1;!function t(e,i){var n=e.value;u=Math.max(u,k(n)?n.length:1);l.push(e);var a=new qy(e.name,s);i?$y(a,i):s.root=a;s._nodes.push(a);var o=e.children;if(o)for(var r=0;r<o.length;r++)t(o[r],a)}(t),s.root.updateDepthAndHeight(0);var n=Wf(l,{coordDimensions:["value"],dimensionsCount:u}),a=new Tf(n,e);return a.initData(l),Wy({mainData:a,struct:s,structAttr:"tree"}),s.update(),s},Wh.extend({type:"series.tree",layoutInfo:null,layoutMode:"box",getInitialData:function(t){var e={name:t.name,children:t.data},i=t.leaves||{},n={};n.leaves=i;var a=Ky.createTree(e,this,n),o=0;a.eachNode("preorder",function(t){t.depth>o&&(o=t.depth)});var r=t.expandAndCollapse&&0<=t.initialTreeDepth?t.initialTreeDepth:o;return a.root.eachNode("preorder",function(t){var e=t.hostTree.data.getRawDataItem(t.dataIndex);t.isExpand=e&&null!=e.collapsed?!e.collapsed:t.depth<=r}),a.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,i=e.root.children[0],n=e.getNodeByDataIndex(t),a=n.getValue(),o=n.name;n&&n!==i;)o=n.parentNode.name+"."+o,n=n.parentNode;return Wl(o+(isNaN(a)||null==a?"":" : "+a))},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}}),hf({type:"tree",init:function(t,e){this._oldTree,this._mainGroup=new Si,this._controller=new uy(e.getZr()),this._controllerHost={target:this.group},this.group.add(this._mainGroup)},render:function(n,t,i,e){var a=n.getData(),o=n.layoutInfo,r=this._mainGroup,s=n.get("layout");"radial"===s?r.attr("position",[o.x+o.width/2,o.y+o.height/2]):r.attr("position",[o.x,o.y]),this._updateViewCoordSys(n,o,s),this._updateController(n,t,i);var l=this._data,u={expandAndCollapse:n.get("expandAndCollapse"),layout:s,orient:n.getOrient(),curvature:n.get("lineStyle.curveness"),symbolRotate:n.get("symbolRotate"),symbolOffset:n.get("symbolOffset"),hoverAnimation:n.get("hoverAnimation"),useNameLabel:!0,fadeIn:!0};a.diff(l).add(function(t){rx(a,t)&&lx(a,t,null,r,n,u)}).update(function(t,e){var i=l.getItemGraphicEl(e);rx(a,t)?lx(a,t,i,r,n,u):i&&ux(l,e,i,r,n,u)}).remove(function(t){var e=l.getItemGraphicEl(t);e&&ux(l,t,e,r,n,u)}).execute(),this._nodeScaleRatio=n.get("nodeScaleRatio"),this._updateNodeAndLinkScale(n),!0===u.expandAndCollapse&&a.eachItemGraphicEl(function(t,e){t.off("click").on("click",function(){i.dispatchAction({type:"treeExpandAndCollapse",seriesId:n.id,dataIndex:e})})}),this._data=a},_updateViewCoordSys:function(t){var i=t.getData(),n=[];i.each(function(t){var e=i.getItemLayout(t);!e||isNaN(e.x)||isNaN(e.y)||n.push([+e.x,+e.y])});var e=[],a=[];Io(n,e,a);var o=this._min,r=this._max;a[0]-e[0]==0&&(e[0]=o?o[0]:e[0]-1,a[0]=r?r[0]:a[0]+1),a[1]-e[1]==0&&(e[1]=o?o[1]:e[1]-1,a[1]=r?r[1]:a[1]+1);var s=t.coordinateSystem=new Py;s.zoomLimit=t.get("scaleLimit"),s.setBoundingRect(e[0],e[1],a[0]-e[0],a[1]-e[1]),s.setCenter(t.get("center")),s.setZoom(t.get("zoom")),this.group.attr({position:s.position,scale:s.scale}),this._viewCoordSys=s,this._min=e,this._max=a},_updateController:function(a,t,o){var e=this._controller,i=this._controllerHost,r=this.group;e.setPointerChecker(function(t,e,i){var n=r.getBoundingRect();return n.applyTransform(r.transform),n.contain(e,i)&&!wy(t,o,a)}),e.enable(a.get("roam")),i.zoomLimit=a.get("scaleLimit"),i.zoom=a.coordinateSystem.getZoom(),e.off("pan").off("zoom").on("pan",function(t){yy(i,t.dx,t.dy),o.dispatchAction({seriesId:a.id,type:"treeRoam",dx:t.dx,dy:t.dy})},this).on("zoom",function(t){xy(i,t.scale,t.originX,t.originY),o.dispatchAction({seriesId:a.id,type:"treeRoam",zoom:t.scale,originX:t.originX,originY:t.originY}),this._updateNodeAndLinkScale(a)},this)},_updateNodeAndLinkScale:function(t){var e=t.getData(),i=this._getNodeGlobalScale(t),n=[i,i];e.eachItemGraphicEl(function(t,e){t.attr("scale",n)})},_getNodeGlobalScale:function(t){var e=t.coordinateSystem;if("view"!==e.type)return 1;var i=this._nodeScaleRatio,n=e.scale,a=n&&n[0]||1;return((e.getZoom()-1)*i+1)/a},dispose:function(){this._controller&&this._controller.dispose(),this._controllerHost={}},remove:function(){this._mainGroup.removeAll(),this._data=null}}),tf({type:"treeExpandAndCollapse",event:"treeExpandAndCollapse",update:"update"},function(n,t){t.eachComponent({mainType:"series",subType:"tree",query:n},function(t){var e=n.dataIndex,i=t.getData().tree.getNodeByDataIndex(e);i.isExpand=!i.isExpand})}),tf({type:"treeRoam",event:"treeRoam",update:"none"},function(i,t){t.eachComponent({mainType:"series",subType:"tree",query:i},function(t){var e=Cy(t.coordinateSystem,i);t.setCenter&&t.setCenter(e.center),t.setZoom&&t.setZoom(e.zoom)})});function dx(t,e,i){if(t&&0<=_(e,t.type)){var n=i.getData().tree.root,a=t.targetNode;if("string"==typeof a&&(a=n.getNodeById(a)),a&&n.contains(a))return{node:a};var o=t.targetNodeId;if(null!=o&&(a=n.getNodeById(o)))return{node:a}}}function fx(t){for(var e=[];t;)(t=t.parentNode)&&e.push(t);return e.reverse()}function px(t,e){return 0<=_(fx(t),e)}function gx(t,e){for(var i=[];t;){var n=t.dataIndex;i.push({name:t.name,dataIndex:n,value:e.getRawValue(n)}),t=t.parentNode}return i.reverse(),i}af(rm("tree","circle")),nf(function(t,e){t.eachSeriesByType("tree",function(t){!function(t,e){var i=function(t,e){return au(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()})}(t,e);t.layoutInfo=i;var n=t.get("layout"),a=0,o=0,r=null;r="radial"===n?(a=2*Math.PI,o=Math.min(i.height,i.width)/2,tx(function(t,e){return(t.parentNode===e.parentNode?1:2)/t.depth})):(a=i.width,o=i.height,tx());var s=t.getData().tree.root,l=s.children[0];if(l){!function(t){t.hierNode={defaultAncestor:null,ancestor:t,prelim:0,modifier:0,change:0,shift:0,i:0,thread:null};for(var e,i,n=[t];e=n.pop();)if(i=e.children,e.isExpand&&i.length)for(var a=i.length-1;0<=a;a--){var o=i[a];o.hierNode={defaultAncestor:null,ancestor:o,prelim:0,modifier:0,change:0,shift:0,i:a,thread:null},n.push(o)}}(s),function(t,e,i){for(var n,a=[t],o=[];n=a.pop();)if(o.push(n),n.isExpand){var r=n.children;if(r.length)for(var s=0;s<r.length;s++)a.push(r[s])}for(;n=o.pop();)e(n,i)}(l,Jy,r),s.hierNode.modifier=-l.hierNode.prelim,cx(l,Qy);var u=l,h=l,c=l;cx(l,function(t){var e=t.getLayout().x;e<u.getLayout().x&&(u=t),e>h.getLayout().x&&(h=t),t.depth>c.depth&&(c=t)});var d=u===h?1:r(u,h)/2,f=d-u.getLayout().x,p=0,g=0,m=0,v=0;if("radial"===n)p=a/(h.getLayout().x+d+f),g=o/(c.depth-1||1),cx(l,function(t){m=(t.getLayout().x+f)*p,v=(t.depth-1)*g;var e=ex(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=o/(h.getLayout().x+d+f),p=a/(c.depth-1||1),cx(l,function(t){v=(t.getLayout().x+f)*g,m="LR"===y?(t.depth-1)*p:a-(t.depth-1)*p,t.setLayout({x:m,y:v},!0)})):"TB"!==y&&"BT"!==y||(p=a/(h.getLayout().x+d+f),g=o/(c.depth-1||1),cx(l,function(t){m=(t.getLayout().x+f)*p,v="TB"===y?(t.depth-1)*g:o-(t.depth-1)*g,t.setLayout({x:m,y:v},!0)}))}}}(t,e)})}),Wh.extend({type:"series.treemap",layoutMode:"box",dependencies:["grid","polar"],preventUsingHoverLayer:!0,_viewRoot:null,defaultOption:{progressive: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 i={name:t.name,children:t.data};!function i(t){var n=0;E(t.children,function(t){i(t);var e=t.value;k(e)&&(e=e[0]),n+=e});var e=t.value;k(e)&&(e=e[0]);null!=e&&!isNaN(e)||(e=n);e<0&&(e=0);k(t.value)?t.value[0]=e:t.value=e}(i);var n=t.levels||[];n=t.levels=function(t,e){var n,i=e.get("color");if(!i)return;if(E(t=t||[],function(t){var e=new dl(t),i=e.get("color");(e.get("itemStyle.color")||i&&"none"!==i)&&(n=!0)}),!n){(t[0]||(t[0]={})).color=i.slice()}return t}(n,e);var a={};return a.levels=n,Ky.createTree(i,this,a).data},optionUpdated:function(){this.resetViewRoot()},formatTooltip:function(t){var e=this.getData(),i=this.getRawValue(t),n=k(i)?zl(i[0]):zl(i);return Wl(e.getName(t)+": "+n)},getDataParams:function(t){var e=Wh.prototype.getDataParams.apply(this,arguments),i=this.getData().tree.getNodeByDataIndex(t);return e.treePathInfo=gx(i,this),e},setLayoutInfo:function(t){this.layoutInfo=this.layoutInfo||{},L(this.layoutInfo,t)},mapIdToIndex:function(t){var e=this._idIndexMap;e||(e=this._idIndexMap=Q(),this._idIndexMapCount=0);var i=e.get(t);return null==i&&e.set(t,i=this._idIndexMapCount++),i},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 mx=5;function vx(t){this.group=new Si,t.add(this.group)}function yx(t,e,i,n,a,o){var r=[[a?t:t-mx,e],[t+i,e],[t+i,e+n],[a?t:t-mx,e+n]];return o||r.splice(2,0,[t+i+mx,e+n/2]),a||r.push([t,e+n/2]),r}vx.prototype={constructor:vx,render:function(t,e,i,n){var a=t.getModel("breadcrumb"),o=this.group;if(o.removeAll(),a.get("show")&&i){var r=a.getModel("itemStyle"),s=r.getModel("textStyle"),l={pos:{left:a.get("left"),right:a.get("right"),top:a.get("top"),bottom:a.get("bottom")},box:{width:e.getWidth(),height:e.getHeight()},emptyItemWidth:a.get("emptyItemWidth"),totalWidth:0,renderList:[]};this._prepare(i,l,s),this._renderContent(t,l,r,s,n),ou(o,l.pos,l.box)}},_prepare:function(t,e,i){for(var n=t;n;n=n.parentNode){var a=n.getModel().get("name"),o=i.getTextRect(a),r=Math.max(o.width+16,e.emptyItemWidth);e.totalWidth+=r+8,e.renderList.push({node:n,text:a,width:r})}},_renderContent:function(t,e,i,n,a){for(var o,r,s=0,l=e.emptyItemWidth,u=t.get("breadcrumb.height"),h=function(t,e,i){var n=e.width,a=e.height,o=xl(t.x,n),r=xl(t.y,a),s=xl(t.x2,n),l=xl(t.y2,a);return(isNaN(o)||isNaN(parseFloat(t.x)))&&(o=0),(isNaN(s)||isNaN(parseFloat(t.x2)))&&(s=n),(isNaN(r)||isNaN(parseFloat(t.y)))&&(r=0),(isNaN(l)||isNaN(parseFloat(t.y2)))&&(l=a),i=Vl(i||0),{width:Math.max(s-o-i[1]-i[3],0),height:Math.max(l-r-i[0]-i[2],0)}}(e.pos,e.box),c=e.totalWidth,d=e.renderList,f=d.length-1;0<=f;f--){var p=d[f],g=p.node,m=p.width,v=p.text;c>h.width&&(c-=m-l,m=l,v=null);var y=new Rr({shape:{points:yx(s,0,m,u,f===d.length-1,0===f)},style:C(i.getItemStyle(),{lineJoin:"bevel",text:v,textFill:n.getTextColor(),textFont:n.getFont()}),z:10,onclick:A(a,g)});this.group.add(y),o=t,r=g,y.eventData={componentType:"series",componentSubType:"treemap",componentIndex:o.componentIndex,seriesIndex:o.componentIndex,seriesName:o.name,seriesType:"treemap",selfType:"breadcrumb",nodeData:{dataIndex:r&&r.dataIndex,name:r&&r.name},treePathInfo:r&&gx(r,o)},s+=m+8}},remove:function(){this.group.removeAll()}};function xx(t){var e=Lx(t);return e.stroke=e.fill=e.lineWidth=null,e}var _x=T,bx=Si,Sx=Hr,Mx=E,Ix=["label"],Ax=["emphasis","label"],Tx=["upperLabel"],Dx=["emphasis","upperLabel"],Cx=10,Lx=Xa([["fill","color"],["stroke","strokeColor"],["lineWidth","strokeWidth"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"]]);function kx(d,r,s,l,u,i,f,t,e,n){if(f){var p=f.getLayout();if(p&&p.isInView){var h=p.width,c=p.height,g=p.borderWidth,m=p.invisible,v=f.getRawIndex(),y=t&&t.getRawIndex(),a=f.viewChildren,x=p.upperHeight,o=a&&a.length,_=f.getModel("itemStyle"),w=f.getModel("emphasis.itemStyle"),b=T("nodeGroup",bx);if(b){if(e.add(b),b.attr("position",[p.x||0,p.y||0]),b.__tmNodeWidth=h,b.__tmNodeHeight=c,p.isAboveViewRoot)return b;var S=T("background",Sx,n,1);if(S&&function(t,n,a){n.dataIndex=f.dataIndex,n.seriesIndex=d.seriesIndex,n.setShape({x:0,y:0,width:h,height:c});var o=f.getVisual("borderColor",!0),r=w.get("borderColor");I(n,function(){var t=xx(_);t.fill=o;var e=Lx(w);if(e.fill=r,a){var i=h-2*g;A(t,e,o,i,x,{x:g,y:0,width:i,height:x})}else t.text=e.text=null;n.setStyle(t),Os(n,e)}),t.add(n)}(b,S,o&&p.upperHeight),!o){var M=T("content",Sx,n,2);M&&function(t,i){i.dataIndex=f.dataIndex,i.seriesIndex=d.seriesIndex;var n=Math.max(h-2*g,0),a=Math.max(c-2*g,0);i.culling=!0,i.setShape({x:g,y:g,width:n,height:a});var o=f.getVisual("color",!0);I(i,function(){var t=xx(_);t.fill=o;var e=Lx(w);A(t,e,o,n,a),i.setStyle(t),Os(i,e)}),t.add(i)}(b,M)}return b}}}function I(t,e){m?t.invisible||i.push(t):(e(),t.__tmWillVisible||(t.invisible=!1))}function A(t,e,i,n,a,o){var r=f.getModel(),s=W(d.getFormattedLabel(f.dataIndex,"normal",null,null,o?"upperLabel":"label"),r.get("name"));if(!o&&p.isLeafRoot){var l=d.get("drillDownIcon",!0);s=l?l+" "+s:s}var u=r.getModel(o?Tx:Ix),h=r.getModel(o?Dx:Ax),c=u.getShallow("show");Bs(t,e,u,h,{defaultText:c?s:null,autoColor:i,isRectText:!0}),o&&(t.textRect=D(o)),t.truncate=c&&u.get("ellipsis")?{outerWidth:n,outerHeight:a,minChar:2}:null}function T(t,e,i,n){var a=null!=y&&s[t][y],o=u[t];return a?(s[t][y]=null,function(t,e,i){(t[v]={}).old="nodeGroup"===i?e.position.slice():L({},e.shape)}(o,a,t)):m||((a=new e({z:function(t,e){var i=t*Cx+e;return(i-1)/i}(i,n)})).__tmDepth=i,function(t,e,i){var n=t[v]={},a=f.parentNode;if(a&&(!l||"drillDown"===l.direction)){var o=0,r=0,s=u.background[a.getRawIndex()];!l&&s&&s.old&&(o=s.old.width,r=s.old.height),n.old="nodeGroup"===i?[0,r]:{x:o,y:r,width:0,height:0}}n.fadein="nodeGroup"!==i}(o,0,a.__tmStorageName=t)),r[t][v]=a}}hf({type:"treemap",init:function(t,e){this._containerGroup,this._storage={nodeGroup:[],background:[],content:[]},this._oldTree,this._breadcrumb,this._controller,this._state="ready"},render:function(t,e,i,n){if(!(_(e.findComponents({mainType:"series",subType:"treemap",query:n}),t)<0)){this.seriesModel=t,this.api=i,this.ecModel=e;var a=dx(n,["treemapZoomToNode","treemapRootToNode"],t),o=n&&n.type,r=t.layoutInfo,s=!this._oldTree,l=this._storage,u="treemapRootToNode"===o&&a&&l?{rootNodeGroup:l.nodeGroup[a.node.getRawIndex()],direction:n.direction}:null,h=this._giveContainerGroup(r),c=this._doRender(h,t,u);s||o&&"treemapZoomToNode"!==o&&"treemapRootToNode"!==o?c.renderFinally():this._doAnimation(h,c,t,u),this._resetController(i),this._renderBreadcrumb(t,i,a)}},_giveContainerGroup:function(t){var e=this._containerGroup;return e||(e=this._containerGroup=new bx,this._initEvents(e),this.group.add(e)),e.attr("position",[t.x,t.y]),e},_doRender:function(t,e,i){var n=e.getData().tree,a=this._oldTree,o={nodeGroup:[],background:[],content:[]},r={nodeGroup:[],background:[],content:[]},s=this._storage,l=[],c=A(kx,e,r,s,i,o,l);!function o(r,s,l,u,h){u?Mx(s=r,function(t,e){t.isRemoved()||i(e,e)}):new df(s,r,t,t).add(i).update(i).remove(A(i,null)).execute();function t(t){return t.getId()}function i(t,e){var i=null!=t?r[t]:null,n=null!=e?s[e]:null,a=c(i,n,l,h);a&&o(i&&i.viewChildren||[],n&&n.viewChildren||[],a,u,h+1)}}(n.root?[n.root]:[],a&&a.root?[a.root]:[],t,n===a||!a,0);var u,h,d=(h={nodeGroup:[],background:[],content:[]},(u=s)&&Mx(u,function(t,e){var i=h[e];Mx(t,function(t){t&&(i.push(t),t.__tmWillDelete=1)})}),h);return this._oldTree=n,this._storage=r,{lastsForAnimation:o,willDeleteEls:d,renderFinally:function(){Mx(d,function(t){Mx(t,function(t){t.parent&&t.parent.remove(t)})}),Mx(l,function(t){t.invisible=!0,t.dirty()})}}},_doAnimation:function(t,o,e,s){if(e.get("animation")){var l=e.get("animationDurationUpdate"),u=e.get("animationEasing"),h=function(){var o,r=[],s={};return{add:function(t,e,i,n,a){return R(n)&&(a=n,n=0),!s[t.id]&&(s[t.id]=1,r.push({el:t,target:e,time:i,delay:n,easing:a}),!0)},done:function(t){return o=t,this},start:function(){for(var t=r.length,e=0,i=r.length;e<i;e++){var n=r[e];n.el.animateTo(n.target,n.time,n.delay,n.easing,a)}return this;function a(){--t||(r.length=0,s={},o&&o())}}}}();Mx(o.willDeleteEls,function(t,r){Mx(t,function(t,e){if(!t.invisible){var i,n=t.parent;if(s&&"drillDown"===s.direction)i=n===s.rootNodeGroup?{shape:{x:0,y:0,width:n.__tmNodeWidth,height:n.__tmNodeHeight},style:{opacity:0}}:{style:{opacity:0}};else{var a=0,o=0;n.__tmWillDelete||(a=n.__tmNodeWidth/2,o=n.__tmNodeHeight/2),i="nodeGroup"===r?{position:[a,o],style:{opacity:0}}:{shape:{x:a,y:o,width:0,height:0},style:{opacity:0}}}i&&h.add(t,i,l,u)}})}),Mx(this._storage,function(t,a){Mx(t,function(t,e){var i=o.lastsForAnimation[a][e],n={};i&&("nodeGroup"===a?i.old&&(n.position=t.position.slice(),t.attr("position",i.old)):(i.old&&(n.shape=L({},t.shape),t.setShape(i.old)),i.fadein?(t.setStyle("opacity",0),n.style={opacity:1}):1!==t.style.opacity&&(n.style={opacity:1})),h.add(t,n,l,u))})},this),this._state="animating",h.done(_x(function(){this._state="ready",o.renderFinally()},this)).start()}},_resetController:function(t){var e=this._controller;e||((e=this._controller=new uy(t.getZr())).enable(this.seriesModel.get("roam")),e.on("pan",_x(this._onPan,this)),e.on("zoom",_x(this._onZoom,this)));var n=new bi(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&&(3<Math.abs(t.dx)||3<Math.abs(t.dy))){var e=this.seriesModel.getData().tree.root;if(!e)return;var i=e.getLayout();if(!i)return;this.api.dispatchAction({type:"treemapMove",from:this.uid,seriesId:this.seriesModel.id,rootRect:{x:i.x+t.dx,y:i.y+t.dy,width:i.width,height:i.height}})}},_onZoom:function(t){var e=t.originX,i=t.originY;if("animating"!==this._state){var n=this.seriesModel.getData().tree.root;if(!n)return;var a=n.getLayout();if(!a)return;var o=new bi(a.x,a.y,a.width,a.height),r=this.seriesModel.layoutInfo;e-=r.x,i-=r.y;var s=Qt();ne(s,s,[-e,-i]),oe(s,s,[t.scale,t.scale]),ne(s,s,[e,i]),o.applyTransform(s),this.api.dispatchAction({type:"treemapRender",from:this.uid,seriesId:this.seriesModel.id,rootRect:{x:o.x,y:o.y,width:o.width,height:o.height}})}},_initEvents:function(t){t.on("click",function(t){if("ready"===this._state){var e=this.seriesModel.get("nodeClick",!0);if(e){var i=this.findTarget(t.offsetX,t.offsetY);if(i){var n=i.node;if(n.getLayout().isLeafRoot)this._rootToNode(i);else if("zoomToNode"===e)this._zoomToNode(i);else if("link"===e){var a=n.hostTree.data.getItemModel(n.dataIndex),o=a.get("link",!0),r=a.get("target",!0)||"blank";o&&window.open(o,r)}}}}},this)},_renderBreadcrumb:function(e,t,i){i=i||((i=null!=e.get("leafDepth",!0)?{node:e.getViewRoot()}:this.findTarget(t.getWidth()/2,t.getHeight()/2))||{node:e.getData().tree.root}),(this._breadcrumb||(this._breadcrumb=new vx(this.group))).render(e,t,i.node,_x(function(t){"animating"!==this._state&&(px(e.getViewRoot(),t)?this._rootToNode({node:t}):this._zoomToNode({node:t}))},this))},remove:function(){this._clearController(),this._containerGroup&&this._containerGroup.removeAll(),this._storage={nodeGroup:[],background:[],content:[]},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(a,o){var r;return this.seriesModel.getViewRoot().eachNode({attr:"viewChildren",order:"preorder"},function(t){var e=this._storage.background[t.getRawIndex()];if(e){var i=e.transformCoordToLocal(a,o),n=e.shape;if(!(n.x<=i[0]&&i[0]<=n.x+n.width&&n.y<=i[1]&&i[1]<=n.y+n.height))return!1;r={node:t,offsetX:i[0],offsetY:i[1]}}},this),r}});for(var Px=function(){},Nx=["treemapZoomToNode","treemapRender","treemapMove"],Ox=0;Ox<Nx.length;Ox++)tf({type:Nx[Ox],update:"updateView"},Px);tf({type:"treemapRootToNode",update:"updateView"},function(a,t){t.eachComponent({mainType:"series",subType:"treemap",query:a},function(t,e){var i=dx(a,["treemapZoomToNode","treemapRootToNode"],t);if(i){var n=t.getViewRoot();n&&(a.direction=px(n,i.node)?"rollUp":"drillDown"),t.resetViewRoot(i.node)}})});var Ex=E,Rx=z,zx=-1,Bx=function(t){var e=t.mappingMethod,i=t.type,n=this.option=D(t);this.type=i,this.mappingMethod=e,this._normalizeData=qx[e];var a=Vx[i];this.applyVisual=a.applyVisual,this.getColorMapper=a.getColorMapper,this._doMap=a._doMap[e],"piecewise"===e?(Gx(n),function(i){var t=i.pieceList;i.hasSpecialVisual=!1,E(t,function(t,e){t.originIndex=e,null!=t.visual&&(i.hasSpecialVisual=!0)})}(n)):"category"===e?n.categories?function(t){var e=t.categories,i=t.visual,n=t.categoryMap={};if(Ex(e,function(t,e){n[t]=e}),!k(i)){var a=[];z(i)?Ex(i,function(t,e){var i=n[e];a[null!=i?i:zx]=t}):a[zx]=i,i=jx(t,a)}for(var o=e.length-1;0<=o;o--)null==i[o]&&(delete n[e[o]],e.pop())}(n):Gx(n,!0):(Y("linear"!==e||n.dataExtent),Gx(n))};Bx.prototype={constructor:Bx,mapValueToVisual:function(t){var e=this._normalizeData(t);return this._doMap(e,t)},getNormalizer:function(){return T(this._normalizeData,this)}};var Vx=Bx.visualHandlers={color:{applyVisual:Hx("color"),getColorMapper:function(){var a=this.option;return T("category"===a.mappingMethod?function(t,e){return e||(t=this._normalizeData(t)),Zx.call(this,t)}:function(t,e,i){var n=!!i;return e||(t=this._normalizeData(t)),i=Ve(t,a.parsedVisual,i),n?i:Ue(i,"rgba")},this)},_doMap:{linear:function(t){return Ue(Ve(t,this.option.parsedVisual),"rgba")},category:Zx,piecewise:function(t,e){var i=Yx.call(this,e);return null==i&&(i=Ue(Ve(t,this.option.parsedVisual),"rgba")),i},fixed:Ux}},colorHue:Fx(function(t,e){return He(t,e)}),colorSaturation:Fx(function(t,e){return He(t,null,e)}),colorLightness:Fx(function(t,e){return He(t,null,null,e)}),colorAlpha:Fx(function(t,e){return Ze(t,e)}),opacity:{applyVisual:Hx("opacity"),_doMap:Xx([0,1])},liftZ:{applyVisual:Hx("liftZ"),_doMap:{linear:Ux,category:Ux,piecewise:Ux,fixed:Ux}},symbol:{applyVisual:function(t,e,i){var n=this.mapValueToVisual(t);if(R(n))i("symbol",n);else if(Rx(n))for(var a in n)n.hasOwnProperty(a)&&i(a,n[a])},_doMap:{linear:Wx,category:Zx,piecewise:function(t,e){var i=Yx.call(this,e);return null==i&&(i=Wx.call(this,t)),i},fixed:Ux}},symbolSize:{applyVisual:Hx("symbolSize"),_doMap:Xx([0,1])}};function Gx(t,e){var i=t.visual,n=[];z(i)?Ex(i,function(t){n.push(t)}):null!=i&&n.push(i);e||1!==n.length||{color:1,symbol:1}.hasOwnProperty(t.type)||(n[1]=n[0]),jx(t,n)}function Fx(n){return{applyVisual:function(t,e,i){t=this.mapValueToVisual(t),i("color",n(e("color"),t))},_doMap:Xx([0,1])}}function Wx(t){var e=this.option.visual;return e[Math.round(yl(t,[0,1],[0,e.length-1],!0))]||{}}function Hx(n){return function(t,e,i){i(n,this.mapValueToVisual(t))}}function Zx(t){var e=this.option.visual;return e[this.option.loop&&t!==zx?t%e.length:t]}function Ux(){return this.option.visual[0]}function Xx(n){return{linear:function(t){return yl(t,n,this.option.visual,!0)},category:Zx,piecewise:function(t,e){var i=Yx.call(this,e);return null==i&&(i=yl(t,n,this.option.visual,!0)),i},fixed:Ux}}function Yx(t){var e=this.option,i=e.pieceList;if(e.hasSpecialVisual){var n=i[Bx.findPieceIndex(t,i)];if(n&&n.visual)return n.visual[this.type]}}function jx(t,e){return t.visual=e,"color"===t.type&&(t.parsedVisual=N(e,function(t){return Ee(t)})),e}var qx={linear:function(t){return yl(t,this.option.dataExtent,[0,1],!0)},piecewise:function(t){var e=this.option.pieceList,i=Bx.findPieceIndex(t,e,!0);if(null!=i)return yl(i,[0,e.length-1],[0,1],!0)},category:function(t){var e=this.option.categories?this.option.categoryMap[t]:t;return null==e?zx:e},fixed:et};function Kx(t,e,i){return t?e<=i:e<i}Bx.listVisualTypes=function(){var i=[];return E(Vx,function(t,e){i.push(e)}),i},Bx.addVisualHandler=function(t,e){Vx[t]=e},Bx.isValidType=function(t){return Vx.hasOwnProperty(t)},Bx.eachVisual=function(t,e,i){z(t)?E(t,e,i):e.call(i,t)},Bx.mapVisual=function(t,n,a){var o,r=k(t)?[]:z(t)?{}:(o=!0,null);return Bx.eachVisual(t,function(t,e){var i=n.call(a,t,e);o?r=i:r[e]=i}),r},Bx.retrieveVisuals=function(i){var n,a={};return i&&Ex(Vx,function(t,e){i.hasOwnProperty(e)&&(a[e]=i[e],n=!0)}),n?a:null},Bx.prepareVisualTypes=function(t){if(Rx(t)){var i=[];Ex(t,function(t,e){i.push(e)}),t=i}else{if(!k(t))return[];t=t.slice()}return t.sort(function(t,e){return"color"===e&&"color"!==t&&0===t.indexOf("color")?1:-1}),t},Bx.dependsOn=function(t,e){return"color"===e?!(!t||0!==t.indexOf(e)):t===e},Bx.findPieceIndex=function(n,t,e){for(var a,o=1/0,i=0,r=t.length;i<r;i++){var s=t[i].value;if(null!=s){if(s===n||"string"==typeof s&&s===n+"")return i;e&&c(s,i)}}for(i=0,r=t.length;i<r;i++){var l=t[i],u=l.interval,h=l.close;if(u){if(u[0]===-1/0){if(Kx(h[1],n,u[1]))return i}else if(u[1]===1/0){if(Kx(h[0],u[0],n))return i}else if(Kx(h[0],u[0],n)&&Kx(h[1],n,u[1]))return i;e&&c(u[0],i),e&&c(u[1],i)}}if(e)return n===1/0?t.length-1:n===-1/0?0:a;function c(t,e){var i=Math.abs(t-n);i<o&&(o=i,a=e)}};var $x=k,Jx="itemStyle",Qx={seriesType:"treemap",reset:function(t,e,i,n){var a=t.getData().tree,o=a.root,r=t.getModel(Jx);o.isRemoved()||!function n(t,e,a,o,r,s){var l=t.getModel();var i=t.getLayout();if(!i||i.invisible||!i.isInView)return;var u=t.getModel(Jx);var h=a[t.depth];var c=t_(u,e,h,o);var d=u.get("borderColor");var f=u.get("borderColorSaturation");var p;null!=f&&(p=e_(c),g=f,d=null!=(m=p)?He(m,null,null,g):null);var g,m;t.setVisual("borderColor",d);var v=t.viewChildren;if(v&&v.length){var y=n_(t,l,i,u,c,v);E(v,function(t,e){if(t.depth>=r.length||t===r[t.depth]){var i=o_(l,c,t,e,y,s);n(t,i,a,o,r,s)}})}else p=e_(c),t.setVisual("color",p)}(o,{},N(a.levelModels,function(t){return t?t.get(Jx):null}),r,t.getViewRoot().getAncestors(),t)}};function t_(i,n,a,o){var r=L({},n);return E(["color","colorAlpha","colorSaturation"],function(t){var e=i.get(t,!0);null==e&&a&&(e=a[t]),null==e&&(e=n[t]),null==e&&(e=o.get(t)),null!=e&&(r[t]=e)}),r}function e_(t){var e=i_(t,"color");if(e){var i=i_(t,"colorAlpha"),n=i_(t,"colorSaturation");return n&&(e=He(e,null,null,n)),i&&(e=Ze(e,i)),e}}function i_(t,e){var i=t[e];if(null!=i&&"none"!==i)return i}function n_(t,e,i,n,a,o){if(o&&o.length){var r=a_(e,"color")||null!=a.color&&"none"!==a.color&&(a_(e,"colorAlpha")||a_(e,"colorSaturation"));if(r){var s=e.get("visualMin"),l=e.get("visualMax"),u=i.dataExtent.slice();null!=s&&s<u[0]&&(u[0]=s),null!=l&&l>u[1]&&(u[1]=l);var h=e.get("colorMappingBy"),c={type:r.name,dataExtent:u,visual:r.range};"color"!==c.type||"index"!==h&&"id"!==h?c.mappingMethod="linear":(c.mappingMethod="category",c.loop=!0);var d=new Bx(c);return d.__drColorMappingBy=h,d}}}function a_(t,e){var i=t.get(e);return $x(i)&&i.length?{name:e,range:i}:null}function o_(t,e,i,n,a,o){var r=L({},e);if(a){var s=a.type,l="color"===s&&a.__drColorMappingBy,u="index"===l?n:"id"===l?o.mapIdToIndex(i.getId()):i.getValue(t.get("visualDimension"));r[s]=a.mapValueToVisual(u)}return r}var r_=Math.max,s_=Math.min,l_=W,u_=E,h_=["itemStyle","borderWidth"],c_=["itemStyle","gapWidth"],d_=["upperLabel","show"],f_=["upperLabel","height"],p_={seriesType:"treemap",reset:function(t,e,i,n){var a=i.getWidth(),o=i.getHeight(),r=t.option,s=au(t.getBoxLayoutParams(),{width:i.getWidth(),height:i.getHeight()}),l=r.size||[],u=xl(l_(s.width,l[0]),a),h=xl(l_(s.height,l[1]),o),c=n&&n.type,d=dx(n,["treemapZoomToNode","treemapRootToNode"],t),f="treemapRender"===c||"treemapMove"===c?n.rootRect:null,p=t.getViewRoot(),g=fx(p);if("treemapMove"!==c){var m="treemapZoomToNode"===c?function(t,e,i,n,a){var o,r=(e||{}).node,s=[n,a];if(!r||r===i)return s;var l=n*a,u=l*t.option.zoomToNodeRatio;for(;o=r.parentNode;){for(var h=0,c=o.children,d=0,f=c.length;d<f;d++)h+=c[d].getValue();var p=r.getValue();if(0===p)return s;u*=h/p;var g=o.getModel(),m=g.get(h_),v=Math.max(m,y_(g));u+=4*m*m+(3*m+v)*Math.pow(u,.5),Al<u&&(u=Al),r=o}u<l&&(u=l);var y=Math.pow(u/l,.5);return[n*y,a*y]}(t,d,p,u,h):f?[f.width,f.height]:[u,h],v=r.sort;v&&"asc"!==v&&"desc"!==v&&(v="desc");var y={squareRatio:r.squareRatio,sort:v,leafDepth:r.leafDepth};p.hostTree.clearLayouts();var x={x:0,y:0,width:m[0],height:m[1],area:m[0]*m[1]};p.setLayout(x),function t(e,i,n,a){var o;var r;if(e.isRemoved())return;var s=e.getLayout();o=s.width;r=s.height;var l=e.getModel();var u=l.get(h_);var h=l.get(c_)/2;var c=y_(l);var d=Math.max(u,c);var f=u-h;var p=d-h;var l=e.getModel();e.setLayout({borderWidth:u,upperHeight:d,upperLabelHeight:c},!0);o=r_(o-2*f,0);r=r_(r-f-p,0);var g=o*r;var m=g_(e,l,g,i,n,a);if(!m.length)return;var v={x:f,y:p,width:o,height:r};var y=s_(o,r);var x=1/0;var _=[];_.area=0;for(var w=0,b=m.length;w<b;){var S=m[w];_.push(S),_.area+=S.getLayout().area;var M=m_(_,y,i.squareRatio);x=M<=x?(w++,M):(_.area-=_.pop().getLayout().area,v_(_,y,v,h,!1),y=s_(v.width,v.height),_.length=_.area=0,1/0)}_.length&&v_(_,y,v,h,!0);if(!n){var I=l.get("childrenVisibleMin");null!=I&&g<I&&(n=!0)}for(var w=0,b=m.length;w<b;w++)t(m[w],i,n,a+1)}(p,y,!1,0);x=p.getLayout();u_(g,function(t,e){var i=(g[e+1]||p).getValue();t.setLayout(L({dataExtent:[i,i],borderWidth:0,upperHeight:0},x))})}var _=t.getData().tree.root;_.setLayout(function(t,e,i){if(e)return{x:e.x,y:e.y};var n={x:0,y:0};if(!i)return n;var a=i.node,o=a.getLayout();if(!o)return n;var r=[o.width/2,o.height/2],s=a;for(;s;){var l=s.getLayout();r[0]+=l.x,r[1]+=l.y,s=s.parentNode}return{x:t.width/2-r[0],y:t.height/2-r[1]}}(s,f,d),!0),t.setLayoutInfo(s),function e(t,i,n,a,o){var r=t.getLayout();var s=n[o];var l=s&&s===t;if(s&&!l||o===n.length&&t!==a)return;t.setLayout({isInView:!0,invisible:!l&&!i.intersect(r),isAboveViewRoot:l},!0);var u=new bi(i.x-r.x,i.y-r.y,i.width,i.height);u_(t.viewChildren||[],function(t){e(t,u,n,a,o+1)})}(_,new bi(-s.x,-s.y,a,o),g,p,0)}};function g_(t,e,i,n,a,o){var r=t.children||[],s=n.sort;"asc"!==s&&"desc"!==s&&(s=null);var l=null!=n.leafDepth&&n.leafDepth<=o;if(a&&!l)return t.viewChildren=[];!function(t,n){n&&t.sort(function(t,e){var i="asc"===n?t.getValue()-e.getValue():e.getValue()-t.getValue();return 0==i?"asc"===n?t.dataIndex-e.dataIndex:e.dataIndex-t.dataIndex:i})}(r=M(r,function(t){return!t.isRemoved()}),s);var u=function(t,e,i){for(var n=0,a=0,o=e.length;a<o;a++)n+=e[a].getValue();var r=t.get("visualDimension");if(e&&e.length)if("value"===r&&i)s=[e[e.length-1].getValue(),e[0].getValue()],"asc"===i&&s.reverse();else{var s=[1/0,-1/0];u_(e,function(t){var e=t.getValue(r);e<s[0]&&(s[0]=e),e>s[1]&&(s[1]=e)})}else s=[NaN,NaN];return{sum:n,dataExtent:s}}(e,r,s);if(0===u.sum)return t.viewChildren=[];if(u.sum=function(t,e,i,n,a){if(!n)return i;for(var o=t.get("visibleMin"),r=a.length,s=r,l=r-1;0<=l;l--){var u=a["asc"===n?r-l-1:l].getValue();u/i*e<o&&(s=l,i-=u)}return"asc"===n?a.splice(0,r-s):a.splice(s,r-s),i}(e,i,u.sum,s,r),0===u.sum)return t.viewChildren=[];for(var h=0,c=r.length;h<c;h++){var d=r[h].getValue()/u.sum*i;r[h].setLayout({area:d})}return l&&(r.length&&t.setLayout({isLeafRoot:!0},!0),r.length=0),t.viewChildren=r,t.setLayout({dataExtent:u.dataExtent},!0),r}function m_(t,e,i){for(var n,a=0,o=1/0,r=0,s=t.length;r<s;r++)(n=t[r].getLayout().area)&&(n<o&&(o=n),a<n&&(a=n));var l=t.area*t.area,u=e*e*i;return l?r_(u*a/l,l/(u*o)):1/0}function v_(t,e,i,n,a){var o=e===i.width?0:1,r=1-o,s=["x","y"],l=["width","height"],u=i[s[o]],h=e?t.area/e:0;(a||h>i[l[r]])&&(h=i[l[r]]);for(var c=0,d=t.length;c<d;c++){var f=t[c],p={},g=h?f.getLayout().area/h:0,m=p[l[r]]=r_(h-2*n,0),v=i[s[o]]+i[l[o]]-u,y=c===d-1||v<g?v:g,x=p[l[o]]=r_(y-2*n,0);p[s[r]]=i[s[r]]+s_(n,m/2),p[s[o]]=u+s_(n,x/2),u+=y,f.setLayout(p,!0)}i[s[r]]+=h,i[l[r]]-=h}function y_(t){return t.get(d_)?t.get(f_):0}function x_(t){return"_EC_"+t}af(Qx),nf(p_);function __(t){this._directed=t||!1,this.nodes=[],this.edges=[],this._nodesMap={},this._edgesMap={},this.data,this.edgeData}var w_=__.prototype;function b_(t,e){this.id=null==t?"":t,this.inEdges=[],this.outEdges=[],this.edges=[],this.hostGraph,this.dataIndex=null==e?-1:e}function S_(t,e,i){this.node1=t,this.node2=e,this.dataIndex=null==i?-1:i}w_.type="graph",w_.isDirected=function(){return this._directed},w_.addNode=function(t,e){t=null==t?""+e:""+t;var i=this._nodesMap;if(!i[x_(t)]){var n=new b_(t,e);return(n.hostGraph=this).nodes.push(n),i[x_(t)]=n}},w_.getNodeByIndex=function(t){var e=this.data.getRawIndex(t);return this.nodes[e]},w_.getNodeById=function(t){return this._nodesMap[x_(t)]},w_.addEdge=function(t,e,i){var n=this._nodesMap,a=this._edgesMap;if("number"==typeof t&&(t=this.nodes[t]),"number"==typeof e&&(e=this.nodes[e]),b_.isInstance(t)||(t=n[x_(t)]),b_.isInstance(e)||(e=n[x_(e)]),t&&e){var o=t.id+"-"+e.id;if(!a[o]){var r=new S_(t,e,i);return(r.hostGraph=this)._directed&&(t.outEdges.push(r),e.inEdges.push(r)),t.edges.push(r),t!==e&&e.edges.push(r),this.edges.push(r),a[o]=r}}},w_.getEdgeByIndex=function(t){var e=this.edgeData.getRawIndex(t);return this.edges[e]},w_.getEdge=function(t,e){b_.isInstance(t)&&(t=t.id),b_.isInstance(e)&&(e=e.id);var i=this._edgesMap;return this._directed?i[t+"-"+e]:i[t+"-"+e]||i[e+"-"+t]},w_.eachNode=function(t,e){for(var i=this.nodes,n=i.length,a=0;a<n;a++)0<=i[a].dataIndex&&t.call(e,i[a],a)},w_.eachEdge=function(t,e){for(var i=this.edges,n=i.length,a=0;a<n;a++)0<=i[a].dataIndex&&0<=i[a].node1.dataIndex&&0<=i[a].node2.dataIndex&&t.call(e,i[a],a)},w_.breadthFirstTraverse=function(t,e,i,n){if(b_.isInstance(e)||(e=this._nodesMap[x_(e)]),e){for(var a="out"===i?"outEdges":"in"===i?"inEdges":"edges",o=0;o<this.nodes.length;o++)this.nodes[o].__visited=!1;if(!t.call(n,e,null))for(var r=[e];r.length;){var s=r.shift(),l=s[a];for(o=0;o<l.length;o++){var u=l[o],h=u.node1===s?u.node2:u.node1;if(!h.__visited){if(t.call(n,h,s))return;r.push(h),h.__visited=!0}}}}},w_.update=function(){for(var t=this.data,i=this.edgeData,e=this.nodes,n=this.edges,a=0,o=e.length;a<o;a++)e[a].dataIndex=-1;for(a=0,o=t.count();a<o;a++)e[t.getRawIndex(a)].dataIndex=a;i.filterSelf(function(t){var e=n[i.getRawIndex(t)];return 0<=e.node1.dataIndex&&0<=e.node2.dataIndex});for(a=0,o=n.length;a<o;a++)n[a].dataIndex=-1;for(a=0,o=i.count();a<o;a++)n[i.getRawIndex(a)].dataIndex=a},w_.clone=function(){for(var t=new __(this._directed),e=this.nodes,i=this.edges,n=0;n<e.length;n++)t.addNode(e[n].id,e[n].dataIndex);for(n=0;n<i.length;n++){var a=i[n];t.addEdge(a.node1.id,a.node2.id,a.dataIndex)}return t},b_.prototype={constructor:b_,degree:function(){return this.edges.length},inDegree:function(){return this.inEdges.length},outDegree:function(){return this.outEdges.length},getModel:function(t){if(!(this.dataIndex<0))return this.hostGraph.data.getItemModel(this.dataIndex).getModel(t)}},S_.prototype.getModel=function(t){if(!(this.dataIndex<0))return this.hostGraph.edgeData.getItemModel(this.dataIndex).getModel(t)};function M_(i,n){return{getValue:function(t){var e=this[i][n];return e.get(e.getDimension(t||"value"),this.dataIndex)},setVisual:function(t,e){0<=this.dataIndex&&this[i][n].setItemVisual(this.dataIndex,t,e)},getVisual:function(t,e){return this[i][n].getItemVisual(this.dataIndex,t,e)},setLayout:function(t,e){0<=this.dataIndex&&this[i][n].setItemLayout(this.dataIndex,t,e)},getLayout:function(){return this[i][n].getItemLayout(this.dataIndex)},getGraphicEl:function(){return this[i][n].getItemGraphicEl(this.dataIndex)},getRawIndex:function(){return this[i][n].getRawIndex(this.dataIndex)}}}b(b_,M_("hostGraph","data")),b(S_,M_("hostGraph","edgeData")),__.Node=b_,__.Edge=S_,Wa(b_),Wa(S_);function I_(t,e,i,n,a){for(var o=new __(n),r=0;r<t.length;r++)o.addNode(W(t[r].id,t[r].name,r),r);var s=[],l=[],u=0;for(r=0;r<e.length;r++){var h=e[r],c=h.source,d=h.target;o.addEdge(c,d,u)&&(l.push(h),s.push(W(h.id,c+" > "+d)),u++)}var f,p=i.get("coordinateSystem");if("cartesian2d"===p||"polar"===p)f=Xf(t,i);else{var g=Hu.get(p),m=g&&"view"!==g.type&&g.dimensions||[];_(m,"value")<0&&m.concat(["value"]);var v=Wf(t,{coordDimensions:m});(f=new Tf(v,i)).initData(t)}var y=new Tf(["value"],i);return y.initData(l,s),a&&a(f,y),Wy({mainData:f,struct:o,structAttr:"graph",datas:{node:f,edge:y},datasAttr:{node:"data",edge:"edgeData"}}),o.update(),o}var A_=uf({type:"series.graph",init:function(t){A_.superApply(this,"init",arguments),this.legendDataProvider=function(){return this._categoriesData},this.fillDataTextStyle(t.edges||t.links),this._updateCategoriesData()},mergeOption:function(t){A_.superApply(this,"mergeOption",arguments),this.fillDataTextStyle(t.edges||t.links),this._updateCategoriesData()},mergeDefaultAndTheme:function(t){A_.superApply(this,"mergeDefaultAndTheme",arguments),ba(t,["edgeLabel"],["show"])},getInitialData:function(t,s){var e=t.edges||t.links||[],i=t.data||t.nodes||[],l=this;if(i&&e)return I_(i,e,this,!0,function(t,e){t.wrapMethod("getItemModel",function(t){var e=l._categoriesModels[t.getShallow("category")];return e&&(e.parentModel=t.parentModel,t.parentModel=e),t});var i=l.getModel("edgeLabel"),n=new dl({label:i.option},i.parentModel,s),a=l.getModel("emphasis.edgeLabel"),o=new dl({emphasis:{label:a.option}},a.parentModel,s);function r(t){return(t=this.parsePath(t))&&"label"===t[0]?n:t&&"emphasis"===t[0]&&"label"===t[1]?o:this.parentModel}e.wrapMethod("getItemModel",function(t){return t.customizeGetParent(r),t})}).data},getGraph:function(){return this.getData().graph},getEdgeData:function(){return this.getGraph().edgeData},getCategoriesData:function(){return this._categoriesData},formatTooltip:function(t,e,i){if("edge"!==i)return A_.superApply(this,"formatTooltip",arguments);var n=this.getData(),a=this.getDataParams(t,i),o=n.graph.getEdgeByIndex(t),r=n.getName(o.node1.dataIndex),s=n.getName(o.node2.dataIndex),l=[];return null!=r&&l.push(r),null!=s&&l.push(s),l=Wl(l.join(" > ")),a.value&&(l+=" : "+Wl(a.value)),l},_updateCategoriesData:function(){var t=N(this.option.categories||[],function(t){return null!=t.value?t:L({value:0},t)}),e=new Tf(["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 A_.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,friction:.6,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}}}}),T_=Ur.prototype,D_=qr.prototype;function C_(t){return isNaN(+t.cpx1)||isNaN(+t.cpy1)}var L_=ds({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){this[C_(e)?"_buildPathLine":"_buildPathCurve"](t,e)},_buildPathLine:T_.buildPath,_buildPathCurve:D_.buildPath,pointAt:function(t){return this[C_(this.shape)?"_pointAtLine":"_pointAtCurve"](t)},_pointAtLine:T_.pointAt,_pointAtCurve:D_.pointAt,tangentAt:function(t){var e=this.shape,i=C_(e)?[e.x2-e.x1,e.y2-e.y1]:this._tangentAtCurve(t);return mt(i,i)},_tangentAtCurve:D_.tangentAt}),k_=["fromSymbol","toSymbol"];function P_(t){return"_"+t+"Type"}function N_(t,e,i){var n=e.getItemVisual(i,"color"),a=e.getItemVisual(i,t),o=e.getItemVisual(i,t+"Size");if(a&&"none"!==a){k(o)||(o=[o,o]);var r=Jp(a,-o[0]/2,-o[1]/2,o[0],o[1],n);return r.name=t,r}}function O_(t,e){t.x1=e[0][0],t.y1=e[0][1],t.x2=e[1][0],t.y2=e[1][1],t.percent=1;var i=e[2];i?(t.cpx1=i[0],t.cpy1=i[1]):(t.cpx1=NaN,t.cpy1=NaN)}function E_(t,e,i){Si.call(this),this._createLine(t,e,i)}var R_=E_.prototype;function z_(t){this._ctor=t||E_,this.group=new Si}R_.beforeUpdate=function(){var t=this.childOfName("fromSymbol"),e=this.childOfName("toSymbol"),i=this.childOfName("label");if(t||e||!i.ignore){for(var n=1,a=this.parent;a;)a.scale&&(n/=a.scale[0]),a=a.parent;var o=this.childOfName("line");if(this.__dirty||o.__dirty){var r=o.shape.percent,s=o.pointAt(0),l=o.pointAt(r),u=ht([],l,s);if(mt(u,u),t){t.attr("position",s);var h=o.tangentAt(0);t.attr("rotation",Math.PI/2-Math.atan2(h[1],h[0])),t.attr("scale",[n*r,n*r])}if(e){e.attr("position",l);h=o.tangentAt(1);e.attr("rotation",-Math.PI/2-Math.atan2(h[1],h[0])),e.attr("scale",[n*r,n*r])}if(!i.ignore){var c,d,f;i.attr("position",l);var p=5*n;if("end"===i.__position)c=[u[0]*p+l[0],u[1]*p+l[1]],d=.8<u[0]?"left":u[0]<-.8?"right":"center",f=.8<u[1]?"top":u[1]<-.8?"bottom":"middle";else if("middle"===i.__position){var g=r/2,m=[(h=o.tangentAt(g))[1],-h[0]],v=o.pointAt(g);0<m[1]&&(m[0]=-m[0],m[1]=-m[1]),c=[v[0]+m[0]*p,v[1]+m[1]*p],d="center",f="bottom";var y=-Math.atan2(h[1],h[0]);l[0]<s[0]&&(y=Math.PI+y),i.attr("rotation",y)}else c=[-u[0]*p+s[0],-u[1]*p+s[1]],d=.8<u[0]?"right":u[0]<-.8?"left":"center",f=.8<u[1]?"bottom":u[1]<-.8?"top":"middle";i.attr({style:{textVerticalAlign:i.__verticalAlign||f,textAlign:i.__textAlign||d},position:c,scale:[n,n]})}}}},R_._createLine=function(i,n,t){var e=i.hostModel,a=function(t){var e=new L_({name:"line",subPixelOptimize:!0});return O_(e.shape,t),e}(i.getItemLayout(n));a.shape.percent=0,qs(a,{shape:{percent:1}},e,n),this.add(a);var o=new Dr({name:"label",lineLabelOriginalOpacity:1});this.add(o),E(k_,function(t){var e=N_(t,i,n);this.add(e),this[P_(t)]=i.getItemVisual(n,t)},this),this._updateCommonStl(i,n,t)},R_.updateData=function(a,o,t){var e=a.hostModel,i=this.childOfName("line"),n=a.getItemLayout(o),r={shape:{}};O_(r.shape,n),js(i,r,e,o),E(k_,function(t){var e=a.getItemVisual(o,t),i=P_(t);if(this[i]!==e){this.remove(this.childOfName(t));var n=N_(t,a,o);this.add(n)}this[i]=e},this),this._updateCommonStl(a,o,t)},R_._updateCommonStl=function(t,e,i){var n=t.hostModel,a=this.childOfName("line"),o=i&&i.lineStyle,r=i&&i.hoverLineStyle,s=i&&i.labelModel,l=i&&i.hoverLabelModel;if(!i||t.hasItemOption){var u=t.getItemModel(e);o=u.getModel("lineStyle").getLineStyle(),r=u.getModel("emphasis.lineStyle").getLineStyle(),s=u.getModel("label"),l=u.getModel("emphasis.label")}var h=t.getItemVisual(e,"color"),c=Z(t.getItemVisual(e,"opacity"),o.opacity,1);a.useStyle(C({strokeNoScale:!0,fill:"none",stroke:h,opacity:c},o)),a.hoverStyle=r,E(k_,function(t){var e=this.childOfName(t);e&&(e.setColor(h),e.setStyle({opacity:c}))},this);var d,f,p=s.getShallow("show"),g=l.getShallow("show"),m=this.childOfName("label");if((p||g)&&(d=h||"#000",null==(f=n.getFormattedLabel(e,"normal",t.dataType)))){var v=n.getRawValue(e);f=null==v?t.getName(e):isFinite(v)?_l(v):v}var y=p?f:null,x=g?H(n.getFormattedLabel(e,"emphasis",t.dataType),f):null,_=m.style;null==y&&null==x||(Gs(m.style,s,{text:y},{autoColor:d}),m.__textAlign=_.textAlign,m.__verticalAlign=_.textVerticalAlign,m.__position=s.get("position")||"middle"),m.hoverStyle=null!=x?{text:x,textFill:l.getTextColor(!0),fontStyle:l.getShallow("fontStyle"),fontWeight:l.getShallow("fontWeight"),fontSize:l.getShallow("fontSize"),fontFamily:l.getShallow("fontFamily")}:{text:null},m.ignore=!p&&!g,Os(this)},R_.highlight=function(){this.trigger("emphasis")},R_.downplay=function(){this.trigger("normal")},R_.updateLayout=function(t,e){this.setLinePoints(t.getItemLayout(e))},R_.setLinePoints=function(t){var e=this.childOfName("line");O_(e.shape,t),e.dirty()},w(E_,Si);var B_=z_.prototype;function V_(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 G_(t){return isNaN(t[0])||isNaN(t[1])}function F_(t){return!G_(t[0])&&!G_(t[1])}function W_(t){var e=t.coordinateSystem;if("view"!==e.type)return 1;var i=t.option.nodeScaleRatio,n=e.scale,a=n&&n[0]||1;return((e.getZoom()-1)*i+1)/a}function H_(t){var e=t.getVisual("symbolSize");return e instanceof Array&&(e=(e[0]+e[1])/2),+e}B_.isPersistent=function(){return!0},B_.updateData=function(i){var n=this,e=n.group,a=n._lineData;n._lineData=i,a||e.removeAll();var o=V_(i);i.diff(a).add(function(t){!function(t,e,i,n){if(!F_(e.getItemLayout(i)))return;var a=new t._ctor(e,i,n);e.setItemGraphicEl(i,a),t.group.add(a)}(n,i,t,o)}).update(function(t,e){!function(t,e,i,n,a,o){var r=e.getItemGraphicEl(n);if(!F_(i.getItemLayout(a)))return t.group.remove(r);r?r.updateData(i,a,o):r=new t._ctor(i,a,o);i.setItemGraphicEl(a,r),t.group.add(r)}(n,a,i,e,t,o)}).remove(function(t){e.remove(a.getItemGraphicEl(t))}).execute()},B_.updateLayout=function(){var i=this._lineData;i&&i.eachItemGraphicEl(function(t,e){t.updateLayout(i,e)},this)},B_.incrementalPrepareUpdate=function(t){this._seriesScope=V_(t),this._lineData=null,this.group.removeAll()},B_.incrementalUpdate=function(t,e){function i(t){t.isGroup||(t.incremental=t.useHoverLayer=!0)}for(var n=t.start;n<t.end;n++){if(F_(e.getItemLayout(n))){var a=new this._ctor(e,n,this._seriesScope);a.traverse(i),this.group.add(a),e.setItemGraphicEl(n,a)}}},B_.remove=function(){this._clearIncremental(),this._incremental=null,this.group.removeAll()},B_._clearIncremental=function(){var t=this._incremental;t&&t.clearDisplaybles()};var Z_=[],U_=[],X_=[],Y_=fo,j_=_t,q_=Math.abs;function K_(t,e,i){for(var n,a=t[0],o=t[1],r=t[2],s=1/0,l=i*i,u=.1,h=.1;h<=.9;h+=.1){Z_[0]=Y_(a[0],o[0],r[0],h),Z_[1]=Y_(a[1],o[1],r[1],h),(f=q_(j_(Z_,e)-l))<s&&(s=f,n=h)}for(var c=0;c<32;c++){var d=n+u;U_[0]=Y_(a[0],o[0],r[0],n),U_[1]=Y_(a[1],o[1],r[1],n),X_[0]=Y_(a[0],o[0],r[0],d),X_[1]=Y_(a[1],o[1],r[1],d);var f=j_(U_,e)-l;if(q_(f)<.01)break;var p=j_(X_,e)-l;u/=2,f<0?0<=p?n+=u:n-=u:0<=p?n-=u:n+=u}return n}function $_(t,l){var u=[],h=mo,c=[[],[],[]],d=[[],[]],f=[];l/=2,t.eachEdge(function(t,e){var i=t.getLayout(),n=t.getVisual("fromSymbol"),a=t.getVisual("toSymbol");i.__original||(i.__original=[rt(i[0]),rt(i[1])],i[2]&&i.__original.push(rt(i[2])));var o=i.__original;if(null!=i[2]){if(ot(c[0],o[0]),ot(c[1],o[2]),ot(c[2],o[1]),n&&"none"!==n){var r=H_(t.node1),s=K_(c,o[0],r*l);h(c[0][0],c[1][0],c[2][0],s,u),c[0][0]=u[3],c[1][0]=u[4],h(c[0][1],c[1][1],c[2][1],s,u),c[0][1]=u[3],c[1][1]=u[4]}if(a&&"none"!==a){r=H_(t.node2),s=K_(c,o[1],r*l);h(c[0][0],c[1][0],c[2][0],s,u),c[1][0]=u[1],c[2][0]=u[2],h(c[0][1],c[1][1],c[2][1],s,u),c[1][1]=u[1],c[2][1]=u[2]}ot(i[0],c[0]),ot(i[1],c[2]),ot(i[2],c[1])}else{if(ot(d[0],o[0]),ot(d[1],o[1]),ht(f,d[1],d[0]),mt(f,f),n&&"none"!==n){r=H_(t.node1);ut(d[0],d[0],f,r*l)}if(a&&"none"!==a){r=H_(t.node2);ut(d[1],d[1],f,-r*l)}ot(i[0],d[0]),ot(i[1],d[1])}})}var J_="__focusNodeAdjacency",Q_="__unfocusNodeAdjacency",tw=["itemStyle","opacity"],ew=["lineStyle","opacity"];function iw(t,e){var i=t.getVisual("opacity");return null!=i?i:t.getModel().get(e)}function nw(t,e,i){var n=t.getGraphicEl(),a=iw(t,e);null!=i&&(null==a&&(a=1),a*=i),n.downplay&&n.downplay(),n.traverse(function(t){if(!t.isGroup){var e=t.lineLabelOriginalOpacity;null!=e&&null==i||(e=a),t.setStyle("opacity",e)}})}function aw(t,e){var i=iw(t,e),n=t.getGraphicEl();n.traverse(function(t){t.isGroup||t.setStyle("opacity",i)}),n.highlight&&n.highlight()}hf({type:"graph",init:function(t,e){var i=new Ng,n=new z_,a=this.group;this._controller=new uy(e.getZr()),this._controllerHost={target:a},a.add(i.group),a.add(n.group),this._symbolDraw=i,this._lineDraw=n,this._firstRender=!0},render:function(a,t,o){var e=a.coordinateSystem;this._model=a;var i=this._symbolDraw,n=this._lineDraw,r=this.group;if("view"===e.type){var s={position:e.position,scale:e.scale};this._firstRender?r.attr(s):js(r,s,a)}$_(a.getGraph(),W_(a));var l=a.getData();i.updateData(l);var u=a.getEdgeData();n.updateData(u),this._updateNodeAndLinkScale(),this._updateController(a,t,o),clearTimeout(this._layoutTimeout);var h=a.forceLayout,c=a.get("force.layoutAnimation");h&&this._startForceLayoutIteration(h,c),l.eachItemGraphicEl(function(t,e){var i=l.getItemModel(e);t.off("drag").off("dragend");var n=i.get("draggable");n&&t.on("drag",function(){h&&(h.warmUp(),this._layouting||this._startForceLayoutIteration(h,c),h.setFixed(e),l.setItemLayout(e,t.position))},this).on("dragend",function(){h&&h.setUnfixed(e)},this),t.setDraggable(n&&h),t[J_]&&t.off("mouseover",t[J_]),t[Q_]&&t.off("mouseout",t[Q_]),i.get("focusNodeAdjacency")&&(t.on("mouseover",t[J_]=function(){o.dispatchAction({type:"focusNodeAdjacency",seriesId:a.id,dataIndex:t.dataIndex})}),t.on("mouseout",t[Q_]=function(){o.dispatchAction({type:"unfocusNodeAdjacency",seriesId:a.id})}))},this),l.graph.eachEdge(function(t){var e=t.getGraphicEl();e[J_]&&e.off("mouseover",e[J_]),e[Q_]&&e.off("mouseout",e[Q_]),t.getModel().get("focusNodeAdjacency")&&(e.on("mouseover",e[J_]=function(){o.dispatchAction({type:"focusNodeAdjacency",seriesId:a.id,edgeDataIndex:t.dataIndex})}),e.on("mouseout",e[Q_]=function(){o.dispatchAction({type:"unfocusNodeAdjacency",seriesId:a.id})}))});var d="circular"===a.get("layout")&&a.get("circular.rotateLabel"),f=l.getLayout("cx"),p=l.getLayout("cy");l.eachItemGraphicEl(function(t,e){var i=l.getItemModel(e).get("label.rotate")||0,n=t.getSymbolPath();if(d){var a=l.getItemLayout(e),o=Math.atan2(a[1]-p,a[0]-f);o<0&&(o=2*Math.PI+o);var r=a[0]<f;r&&(o-=Math.PI);var s=r?"left":"right";Vs(n,{textRotation:-o,textPosition:s,textOrigin:"center"},{textPosition:s})}else Vs(n,{textRotation:i*=Math.PI/180})}),this._firstRender=!1},dispose:function(){this._controller&&this._controller.dispose(),this._controllerHost={}},focusNodeAdjacency:function(t,e,i,n){var a=this._model.getData().graph,o=n.dataIndex,r=n.edgeDataIndex,s=a.getNodeByIndex(o),l=a.getEdgeByIndex(r);(s||l)&&(a.eachNode(function(t){nw(t,tw,.1)}),a.eachEdge(function(t){nw(t,ew,.1)}),s&&(aw(s,tw),E(s.edges,function(t){t.dataIndex<0||(aw(t,ew),aw(t.node1,tw),aw(t.node2,tw))})),l&&(aw(l,ew),aw(l.node1,tw),aw(l.node2,tw)))},unfocusNodeAdjacency:function(t,e,i,n){var a=this._model.getData().graph;a.eachNode(function(t){nw(t,tw)}),a.eachEdge(function(t){nw(t,ew)})},_startForceLayoutIteration:function(t,i){var n=this;!function e(){t.step(function(t){n.updateLayout(n._model),(n._layouting=!t)&&(i?n._layoutTimeout=setTimeout(e,16):e())})}()},_updateController:function(a,t,o){var e=this._controller,i=this._controllerHost,r=this.group;e.setPointerChecker(function(t,e,i){var n=r.getBoundingRect();return n.applyTransform(r.transform),n.contain(e,i)&&!wy(t,o,a)}),"view"===a.coordinateSystem.type?(e.enable(a.get("roam")),i.zoomLimit=a.get("scaleLimit"),i.zoom=a.coordinateSystem.getZoom(),e.off("pan").off("zoom").on("pan",function(t){yy(i,t.dx,t.dy),o.dispatchAction({seriesId:a.id,type:"graphRoam",dx:t.dx,dy:t.dy})}).on("zoom",function(t){xy(i,t.scale,t.originX,t.originY),o.dispatchAction({seriesId:a.id,type:"graphRoam",zoom:t.scale,originX:t.originX,originY:t.originY}),this._updateNodeAndLinkScale(),$_(a.getGraph(),W_(a)),this._lineDraw.updateLayout()},this)):e.disable()},_updateNodeAndLinkScale:function(){var t=this._model,e=t.getData(),i=W_(t),n=[i,i];e.eachItemGraphicEl(function(t,e){t.attr("scale",n)})},updateLayout:function(t){$_(t.getGraph(),W_(t)),this._symbolDraw.updateLayout(),this._lineDraw.updateLayout()},remove:function(t,e){this._symbolDraw&&this._symbolDraw.remove(),this._lineDraw&&this._lineDraw.remove()}}),tf({type:"focusNodeAdjacency",event:"focusNodeAdjacency",update:"series:focusNodeAdjacency"},function(){}),tf({type:"unfocusNodeAdjacency",event:"unfocusNodeAdjacency",update:"series:unfocusNodeAdjacency"},function(){});tf({type:"graphRoam",event:"graphRoam",update:"none"},function(i,t){t.eachComponent({mainType:"series",query:i},function(t){var e=Cy(t.coordinateSystem,i);t.setCenter&&t.setCenter(e.center),t.setZoom&&t.setZoom(e.zoom)})});function ow(t){return t instanceof Array||(t=[t,t]),t}function rw(t){var e=t.coordinateSystem;if(!e||"view"===e.type){var i=t.getGraph();i.eachNode(function(t){var e=t.getModel();t.setLayout([+e.get("x"),+e.get("y")])}),sw(i)}}function sw(t){t.eachEdge(function(t){var e=t.getModel().get("lineStyle.curveness")||0,i=rt(t.node1.getLayout()),n=rt(t.node2.getLayout()),a=[i,n];+e&&a.push([(i[0]+n[0])/2-(i[1]-n[1])*e,(i[1]+n[1])/2-(n[0]-i[0])*e]),t.setLayout(a)})}var lw=Math.PI,uw=[];function hw(t,e){var i=t.coordinateSystem;if(!i||"view"===i.type){var n=i.getBoundingRect(),a=t.getData(),o=a.graph,s=n.width/2+n.x,l=n.height/2+n.y,r=Math.min(n.width,n.height)/2,u=a.count();a.setLayout({cx:s,cy:l}),u&&(cw[e](t,i,o,a,r,s,l,u),o.eachEdge(function(t){var e,i=t.getModel().get("lineStyle.curveness")||0,n=rt(t.node1.getLayout()),a=rt(t.node2.getLayout()),o=(n[0]+a[0])/2,r=(n[1]+a[1])/2;+i&&(e=[s*(i*=3)+o*(1-i),l*i+r*(1-i)]),t.setLayout([n,a,e])}))}}var cw={value:function(t,e,i,n,a,o,r,s){var l=0,u=n.getSum("value"),h=2*Math.PI/(u||s);i.eachNode(function(t){var e=t.getValue("value"),i=h*(u?e:1)/2;l+=i,t.setLayout([a*Math.cos(l)+o,a*Math.sin(l)+r]),l+=i})},symbolSize:function(t,e,i,n,a,o,r,s){var l=0;uw.length=s;var u=W_(t);i.eachNode(function(t){var e=H_(t);isNaN(e)&&(e=2),e<0&&(e=0),e*=u;var i=Math.asin(e/2/a);isNaN(i)&&(i=lw/2),uw[t.dataIndex]=i,l+=2*i});var h=(2*lw-l)/s/2,c=0;i.eachNode(function(t){var e=h+uw[t.dataIndex];c+=e,t.setLayout([a*Math.cos(c)+o,a*Math.sin(c)+r]),c+=e})}},dw=ut;Qd(function(t){var o=t.findComponents({mainType:"legend"});o&&o.length&&t.eachSeriesByType("graph",function(t){var e=t.getCategoriesData(),n=t.getGraph().data,a=e.mapArray(e.getName);n.filterSelf(function(t){var e=n.getItemModel(t).getShallow("category");if(null!=e){"number"==typeof e&&(e=a[e]);for(var i=0;i<o.length;i++)if(!o[i].isSelected(e))return!1}return!0})},this)}),af(rm("graph","circle",null)),af(function(t){var h={};t.eachSeriesByType("graph",function(s){var l=s.getCategoriesData(),a=s.getData(),u={};l.each(function(t){var e=l.getName(t);u["ec-"+e]=t;var i=l.getItemModel(t),n=i.get("itemStyle.color")||s.getColorFromPalette(e,h);l.setItemVisual(t,"color",n);for(var a=["opacity","symbol","symbolSize","symbolKeepAspect"],o=0;o<a.length;o++){var r=i.getShallow(a[o],!0);null!=r&&l.setItemVisual(t,a[o],r)}}),l.count()&&a.each(function(t){var e=a.getItemModel(t).getShallow("category");if(null!=e){"string"==typeof e&&(e=u["ec-"+e]);for(var i=["color","opacity","symbol","symbolSize","symbolKeepAspect"],n=0;n<i.length;n++)null==a.getItemVisual(t,i[n],!0)&&a.setItemVisual(t,i[n],l.getItemVisual(e,i[n]))}})})}),af(function(t){t.eachSeriesByType("graph",function(t){var s=t.getGraph(),l=t.getEdgeData(),e=ow(t.get("edgeSymbol")),i=ow(t.get("edgeSymbolSize")),u="lineStyle.color".split("."),h="lineStyle.opacity".split(".");l.setVisual("fromSymbol",e&&e[0]),l.setVisual("toSymbol",e&&e[1]),l.setVisual("fromSymbolSize",i&&i[0]),l.setVisual("toSymbolSize",i&&i[1]),l.setVisual("color",t.get(u)),l.setVisual("opacity",t.get(h)),l.each(function(t){var e=l.getItemModel(t),i=s.getEdgeByIndex(t),n=ow(e.getShallow("symbol",!0)),a=ow(e.getShallow("symbolSize",!0)),o=e.get(u),r=e.get(h);switch(o){case"source":o=i.node1.getVisual("color");break;case"target":o=i.node2.getVisual("color")}n[0]&&i.setVisual("fromSymbol",n[0]),n[1]&&i.setVisual("toSymbol",n[1]),a[0]&&i.setVisual("fromSymbolSize",a[0]),a[1]&&i.setVisual("toSymbolSize",a[1]),i.setVisual("color",o),i.setVisual("opacity",r)})})}),nf(function(t,e){t.eachSeriesByType("graph",function(t){var e=t.get("layout"),i=t.coordinateSystem;if(i&&"view"!==i.type){var n=t.getData(),a=[];E(i.dimensions,function(t){a=a.concat(n.mapDimension(t,!0))});for(var o=0;o<n.count();o++){for(var r=[],s=!1,l=0;l<a.length;l++){var u=n.get(a[l],o);isNaN(u)||(s=!0),r.push(u)}s?n.setItemLayout(o,i.dataToPoint(r)):n.setItemLayout(o,[NaN,NaN])}sw(n.graph)}else e&&"none"!==e||rw(t)})}),nf(cd.VISUAL.POST_CHART_LAYOUT,function(t){t.eachSeriesByType("graph",function(t){"circular"===t.get("layout")&&hw(t,"symbolSize")})}),nf(function(t){t.eachSeriesByType("graph",function(t){if(!(l=t.coordinateSystem)||"view"===l.type)if("force"===t.get("layout")){var c=t.preservedPoints||{},d=t.getGraph(),f=d.data,e=d.edgeData,i=t.getModel("force"),n=i.get("initLayout");t.preservedPoints?f.each(function(t){var e=f.getId(t);f.setItemLayout(t,c[e]||[NaN,NaN])}):n&&"none"!==n?"circular"===n&&hw(t,"value"):rw(t);var a=f.getDataExtent("value"),o=e.getDataExtent("value"),r=i.get("repulsion"),s=i.get("edgeLength");k(r)||(r=[r,r]),k(s)||(s=[s,s]),s=[s[1],s[0]];var l,u=f.mapArray("value",function(t,e){var i=f.getItemLayout(e),n=yl(t,a,r);return isNaN(n)&&(n=(r[0]+r[1])/2),{w:n,rep:n,fixed:f.getItemModel(e).get("fixed"),p:!i||isNaN(i[0])||isNaN(i[1])?null:i}}),h=e.mapArray("value",function(t,e){var i=d.getEdgeByIndex(e),n=yl(t,o,s);isNaN(n)&&(n=(s[0]+s[1])/2);var a=i.getModel();return{n1:u[i.node1.dataIndex],n2:u[i.node2.dataIndex],d:n,curveness:a.get("lineStyle.curveness")||0,ignoreForceLayout:a.get("ignoreForceLayout")}}),p=(l=t.coordinateSystem).getBoundingRect(),g=function(f,p,t){for(var e=t.rect,i=e.width,n=e.height,g=[e.x+i/2,e.y+n/2],m=null==t.gravity?.1:t.gravity,a=0;a<f.length;a++){var o=f[a];o.p||(o.p=at(i*(Math.random()-.5)+g[0],n*(Math.random()-.5)+g[1])),o.pp=rt(o.p),o.edges=null}var r=null==t.friction?.6:t.friction,v=r;return{warmUp:function(){v=.8*r},setFixed:function(t){f[t].fixed=!0},setUnfixed:function(t){f[t].fixed=!1},step:function(t){for(var e=[],i=f.length,n=0;n<p.length;n++){var a=p[n];if(!a.ignoreForceLayout){var o=a.n1;ht(e,(u=a.n2).p,o.p);var r=ct(e)-a.d,s=u.w/(o.w+u.w);isNaN(s)&&(s=0),mt(e,e),o.fixed||dw(o.p,o.p,e,s*r*v),u.fixed||dw(u.p,u.p,e,-(1-s)*r*v)}}for(n=0;n<i;n++){(d=f[n]).fixed||(ht(e,g,d.p),dw(d.p,d.p,e,m*v))}for(n=0;n<i;n++){o=f[n];for(var l=n+1;l<i;l++){var u;ht(e,(u=f[l]).p,o.p),0===(r=ct(e))&&(st(e,Math.random()-.5,Math.random()-.5),r=1);var h=(o.rep+u.rep)/r/r;o.fixed||dw(o.pp,o.pp,e,h),u.fixed||dw(u.pp,u.pp,e,-h)}}var c=[];for(n=0;n<i;n++){var d;(d=f[n]).fixed||(ht(c,d.p,d.pp),dw(d.p,d.p,c,v),ot(d.pp,d.p))}v*=.992,t&&t(f,p,v<.01)}}}(u,h,{rect:p,gravity:i.get("gravity"),friction:i.get("friction")}),m=g.step;g.step=function(h){for(var t=0,e=u.length;t<e;t++)u[t].fixed&&ot(u[t].p,d.getNodeByIndex(t).getLayout());m(function(t,e,i){for(var n=0,a=t.length;n<a;n++)t[n].fixed||d.getNodeByIndex(n).setLayout(t[n].p),c[f.getId(n)]=t[n].p;for(n=0,a=e.length;n<a;n++){var o=e[n],r=d.getEdgeByIndex(n),s=o.n1.p,l=o.n2.p,u=r.getLayout();(u=u?u.slice():[])[0]=u[0]||[],u[1]=u[1]||[],ot(u[0],s),ot(u[1],l),+o.curveness&&(u[2]=[(s[0]+l[0])/2-(s[1]-l[1])*o.curveness,(s[1]+l[1])/2-(l[0]-s[0])*o.curveness]),r.setLayout(u)}h&&h(i)})},t.forceLayout=g,t.preservedPoints=c,g.step()}else t.forceLayout=null})}),ef("graphView",{create:function(t,d){var f=[];return t.eachSeriesByType("graph",function(t){var e=t.get("coordinateSystem");if(!e||"view"===e){var i=t.getData(),n=[],a=[];Io(i.mapArray(function(t){var e=i.getItemModel(t);return[+e.get("x"),+e.get("y")]}),n,a),a[0]-n[0]==0&&(a[0]+=1,n[0]-=1),a[1]-n[1]==0&&(a[1]+=1,n[1]-=1);var o=(a[0]-n[0])/(a[1]-n[1]),r=function(t,e,i){var n=t.getBoxLayoutParams();return n.aspect=i,au(n,{width:e.getWidth(),height:e.getHeight()})}(t,d,o);isNaN(o)&&(n=[r.x,r.y],a=[r.x+r.width,r.y+r.height]);var s=a[0]-n[0],l=a[1]-n[1],u=r.width,h=r.height,c=t.coordinateSystem=new Py;c.zoomLimit=t.get("scaleLimit"),c.setBoundingRect(n[0],n[1],s,l),c.setViewRect(r.x,r.y,u,h),c.setCenter(t.get("center")),c.setZoom(t.get("zoom")),f.push(c)}}),f}});Wh.extend({type:"series.gauge",getInitialData:function(t,e){return yv(this,["value"])},defaultOption:{zlevel:0,z:2,center:["50%","50%"],legendHoverLink:!0,radius:"75%",startAngle:225,endAngle:-45,clockwise:!0,min:0,max:100,splitNumber:10,axisLine:{show:!0,lineStyle:{color:[[.2,"#91c7ae"],[.8,"#63869e"],[1,"#c23531"]],width:30}},splitLine:{show:!0,length:30,lineStyle:{color:"#eee",width:2,type:"solid"}},axisTick:{show:!0,splitNumber:5,length:8,lineStyle:{color:"#eee",width:1,type:"solid"}},axisLabel:{show:!0,distance:5,color:"auto"},pointer:{show:!0,length:"80%",width:8},itemStyle:{color:"auto"},title:{show:!0,offsetCenter:[0,"-40%"],color:"#333",fontSize:15},detail:{show:!0,backgroundColor:"rgba(0,0,0,0)",borderWidth:0,borderColor:"#ccc",width:100,height:null,padding:[5,10],offsetCenter:[0,"40%"],color:"auto",fontSize:30}}});var fw=hr.extend({type:"echartsGaugePointer",shape:{angle:0,width:10,r:10,x:0,y:0},buildPath:function(t,e){var i=Math.cos,n=Math.sin,a=e.r,o=e.width,r=e.angle,s=e.x-i(r)*o*(a/3<=o?1:2),l=e.y-n(r)*o*(a/3<=o?1:2);r=e.angle-Math.PI/2,t.moveTo(s,l),t.lineTo(e.x+i(r)*o,e.y+n(r)*o),t.lineTo(e.x+i(e.angle)*a,e.y+n(e.angle)*a),t.lineTo(e.x-i(r)*o,e.y-n(r)*o),t.lineTo(s,l)}});function pw(t,e){return e&&("string"==typeof e?t=e.replace("{value}",null!=t?t:""):"function"==typeof e&&(t=e(t))),t}var gw=2*Math.PI,mw=(ec.extend({type:"gauge",render:function(t,e,i){this.group.removeAll();var n=t.get("axisLine.lineStyle.color"),a=function(t,e){var i=t.get("center"),n=e.getWidth(),a=e.getHeight(),o=Math.min(n,a);return{cx:xl(i[0],e.getWidth()),cy:xl(i[1],e.getHeight()),r:xl(t.get("radius"),o/2)}}(t,i);this._renderMain(t,e,i,n,a)},dispose:function(){},_renderMain:function(t,e,i,n,a){for(var o=this.group,r=t.getModel("axisLine"),s=r.getModel("lineStyle"),l=t.get("clockwise"),u=-t.get("startAngle")/180*Math.PI,h=((g=-t.get("endAngle")/180*Math.PI)-u)%gw,c=u,d=s.get("width"),f=r.get("show"),p=0;f&&p<n.length;p++){var g,m=Math.min(Math.max(n[p][0],0),1),v=new Pr({shape:{startAngle:c,endAngle:g=u+h*m,cx:a.cx,cy:a.cy,clockwise:l,r0:a.r-d,r:a.r},silent:!0});v.setStyle({fill:n[p][1]}),v.setStyle(s.getLineStyle(["color","borderWidth","borderColor"])),o.add(v),c=g}function y(t){if(t<=0)return n[0][1];for(var e=0;e<n.length;e++)if(n[e][0]>=t&&(0===e?0:n[e-1][0])<t)return n[e][1];return n[e-1][1]}if(!l){var x=u;u=g,g=x}this._renderTicks(t,e,i,y,a,u,g,l),this._renderPointer(t,e,i,y,a,u,g,l),this._renderTitle(t,e,i,y,a),this._renderDetail(t,e,i,y,a)},_renderTicks:function(t,e,i,n,a,o,r,s){for(var l=this.group,u=a.cx,h=a.cy,c=a.r,d=+t.get("min"),f=+t.get("max"),p=t.getModel("splitLine"),g=t.getModel("axisTick"),m=t.getModel("axisLabel"),v=t.get("splitNumber"),y=g.get("splitNumber"),x=xl(p.get("length"),c),_=xl(g.get("length"),c),w=o,b=(r-o)/v,S=b/y,M=p.getModel("lineStyle").getLineStyle(),I=g.getModel("lineStyle").getLineStyle(),A=0;A<=v;A++){var T=Math.cos(w),D=Math.sin(w);if(p.get("show")){var C=new Ur({shape:{x1:T*c+u,y1:D*c+h,x2:T*(c-x)+u,y2:D*(c-x)+h},style:M,silent:!0});"auto"===M.stroke&&C.setStyle({stroke:n(A/v)}),l.add(C)}if(m.get("show")){var L=pw(_l(A/v*(f-d)+d),m.get("formatter")),k=m.get("distance"),P=n(A/v);l.add(new Dr({style:Gs({},m,{text:L,x:T*(c-x-k)+u,y:D*(c-x-k)+h,textVerticalAlign:D<-.4?"top":.4<D?"bottom":"middle",textAlign:T<-.4?"left":.4<T?"right":"center"},{autoColor:P}),silent:!0}))}if(g.get("show")&&A!==v){for(var N=0;N<=y;N++){T=Math.cos(w),D=Math.sin(w);var O=new Ur({shape:{x1:T*c+u,y1:D*c+h,x2:T*(c-_)+u,y2:D*(c-_)+h},silent:!0,style:I});"auto"===I.stroke&&O.setStyle({stroke:n((A+N/y)/v)}),l.add(O),w+=S}w-=S}else w+=b}},_renderPointer:function(n,t,e,a,o,i,r,s){var l=this.group,u=this._data;if(n.get("pointer.show")){var h=[+n.get("min"),+n.get("max")],c=[i,r],d=n.getData(),f=d.mapDimension("value");d.diff(u).add(function(t){var e=new fw({shape:{angle:i}});qs(e,{shape:{angle:yl(d.get(f,t),h,c,!0)}},n),l.add(e),d.setItemGraphicEl(t,e)}).update(function(t,e){var i=u.getItemGraphicEl(e);js(i,{shape:{angle:yl(d.get(f,t),h,c,!0)}},n),l.add(i),d.setItemGraphicEl(t,i)}).remove(function(t){var e=u.getItemGraphicEl(t);l.remove(e)}).execute(),d.eachItemGraphicEl(function(t,e){var i=d.getItemModel(e),n=i.getModel("pointer");t.setShape({x:o.cx,y:o.cy,width:xl(n.get("width"),o.r),r:xl(n.get("length"),o.r)}),t.useStyle(i.getModel("itemStyle").getItemStyle()),"auto"===t.style.fill&&t.setStyle("fill",a(yl(d.get(f,e),h,[0,1],!0))),Os(t,i.getModel("emphasis.itemStyle").getItemStyle())}),this._data=d}else u&&u.eachItemGraphicEl(function(t){l.remove(t)})},_renderTitle:function(t,e,i,n,a){var o=t.getData(),r=o.mapDimension("value"),s=t.getModel("title");if(s.get("show")){var l=s.get("offsetCenter"),u=a.cx+xl(l[0],a.r),h=a.cy+xl(l[1],a.r),c=+t.get("min"),d=+t.get("max"),f=n(yl(t.getData().get(r,0),[c,d],[0,1],!0));this.group.add(new Dr({silent:!0,style:Gs({},s,{x:u,y:h,text:o.getName(0),textAlign:"center",textVerticalAlign:"middle"},{autoColor:f,forceRich:!0})}))}},_renderDetail:function(t,e,i,n,a){var o=t.getModel("detail"),r=+t.get("min"),s=+t.get("max");if(o.get("show")){var l=o.get("offsetCenter"),u=a.cx+xl(l[0],a.r),h=a.cy+xl(l[1],a.r),c=xl(o.get("width"),a.r),d=xl(o.get("height"),a.r),f=t.getData(),p=f.get(f.mapDimension("value"),0),g=n(yl(p,[r,s],[0,1],!0));this.group.add(new Dr({silent:!0,style:Gs({},o,{x:u,y:h,text:pw(p,o.get("formatter")),textWidth:isNaN(c)?null:c,textHeight:isNaN(d)?null:d,textAlign:"center",textVerticalAlign:"middle"},{autoColor:g,forceRich:!0})}))}}}),uf({type:"series.funnel",init:function(t){mw.superApply(this,"init",arguments),this.legendDataProvider=function(){return this.getRawData()},this._defaultLabelLine(t)},getInitialData:function(t,e){return yv(this,["value"])},_defaultLabelLine:function(t){ba(t,"labelLine",["show"]);var e=t.labelLine,i=t.emphasis.labelLine;e.show=e.show&&t.label.show,i.show=i.show&&t.emphasis.label.show},getDataParams:function(t){var e=this.getData(),i=mw.superCall(this,"getDataParams",t),n=e.mapDimension("value"),a=e.getSum(n);return i.percent=a?+(e.get(n,t)/a*100).toFixed(2):0,i.$vars.push("percent"),i},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}}}}));function vw(t,e){Si.call(this);var i=new Rr,n=new zr,a=new Dr;this.add(i),this.add(n),this.add(a),this.highDownOnUpdate=function(t,e){"emphasis"===e?(n.ignore=n.hoverIgnore,a.ignore=a.hoverIgnore):(n.ignore=n.normalIgnore,a.ignore=a.normalIgnore)},this.updateData(t,e,!0)}var yw=vw.prototype,xw=["itemStyle","opacity"];yw.updateData=function(t,e,i){var n=this.childAt(0),a=t.hostModel,o=t.getItemModel(e),r=t.getItemLayout(e),s=t.getItemModel(e).get(xw);s=null==s?1:s,n.useStyle({}),i?(n.setShape({points:r.points}),n.setStyle({opacity:0}),qs(n,{style:{opacity:s}},a,e)):js(n,{style:{opacity:s},shape:{points:r.points}},a,e);var l=o.getModel("itemStyle"),u=t.getItemVisual(e,"color");n.setStyle(C({lineJoin:"round",fill:u},l.getItemStyle(["opacity"]))),n.hoverStyle=l.getModel("emphasis").getItemStyle(),this._updateLabel(t,e),Os(this)},yw._updateLabel=function(t,e){var i=this.childAt(1),n=this.childAt(2),a=t.hostModel,o=t.getItemModel(e),r=t.getItemLayout(e).label,s=t.getItemVisual(e,"color");js(i,{shape:{points:r.linePoints||r.linePoints}},a,e),js(n,{style:{x:r.x,y:r.y}},a,e),n.attr({rotation:r.rotation,origin:[r.x,r.y],z2:10});var l=o.getModel("label"),u=o.getModel("emphasis.label"),h=o.getModel("labelLine"),c=o.getModel("emphasis.labelLine");s=t.getItemVisual(e,"color");Bs(n.style,n.hoverStyle={},l,u,{labelFetcher:t.hostModel,labelDataIndex:e,defaultText:t.getName(e),autoColor:s,useInsideStyle:!!r.inside},{textAlign:r.textAlign,textVerticalAlign:r.verticalAlign}),n.ignore=n.normalIgnore=!l.get("show"),n.hoverIgnore=!u.get("show"),i.ignore=i.normalIgnore=!h.get("show"),i.hoverIgnore=!c.get("show"),i.setStyle({stroke:s}),i.setStyle(h.getModel("lineStyle").getLineStyle()),i.hoverStyle=c.getModel("lineStyle").getLineStyle()},w(vw,Si);ec.extend({type:"funnel",render:function(t,e,i){var n=t.getData(),a=this._data,o=this.group;n.diff(a).add(function(t){var e=new vw(n,t);n.setItemGraphicEl(t,e),o.add(e)}).update(function(t,e){var i=a.getItemGraphicEl(e);i.updateData(n,t),o.add(i),n.setItemGraphicEl(t,i)}).remove(function(t){var e=a.getItemGraphicEl(t);o.remove(e)}).execute(),this._data=n},remove:function(){this.group.removeAll(),this._data=null},dispose:function(){}});af(Av("funnel")),nf(function(t,w,e){t.eachSeriesByType("funnel",function(t){var a=t.getData(),o=a.mapDimension("value"),e=t.get("sort"),r=function(t,e){return au(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()})}(t,w),i=function(t,e){for(var i=t.mapDimension("value"),n=t.mapArray(i,function(t){return t}),a=[],o="ascending"===e,r=0,s=t.count();r<s;r++)a[r]=r;return"function"==typeof e?a.sort(e):"none"!==e&&a.sort(function(t,e){return o?n[t]-n[e]:n[e]-n[t]}),a}(a,e),s=[xl(t.get("minSize"),r.width),xl(t.get("maxSize"),r.width)],n=a.getDataExtent(o),l=t.get("min"),u=t.get("max");null==l&&(l=Math.min(n[0],0)),null==u&&(u=n[1]);function h(t,e){var i,n=yl(a.get(o,t)||0,[l,u],s,!0);switch(c){case"left":i=r.x;break;case"center":i=r.x+(r.width-n)/2;break;case"right":i=r.x+r.width-n}return[[i,e],[i+n,e]]}var c=t.get("funnelAlign"),d=t.get("gap"),f=(r.height-d*(a.count()-1))/a.count(),p=r.y;"ascending"===e&&(f=-f,d=-d,p+=r.height,i=i.reverse());for(var g=0;g<i.length;g++){var m=i[g],v=i[g+1],y=a.getItemModel(m).get("itemStyle.height");null==y?y=f:(y=xl(y,r.height),"ascending"===e&&(y=-y));var x=h(m,p),_=h(v,p+y);p+=y+d,a.setItemLayout(m,{points:x.concat(_.slice().reverse())})}!function(g){g.each(function(t){var e,i,n,a,o=g.getItemModel(t),r=o.getModel("label").get("position"),s=o.getModel("labelLine"),l=g.getItemLayout(t),u=l.points,h="inner"===r||"inside"===r||"center"===r||"insideLeft"===r||"insideRight"===r;if(h)e="insideLeft"===r?(i=(u[0][0]+u[3][0])/2+5,n=(u[0][1]+u[3][1])/2,"left"):"insideRight"===r?(i=(u[1][0]+u[2][0])/2-5,n=(u[1][1]+u[2][1])/2,"right"):(i=(u[0][0]+u[1][0]+u[2][0]+u[3][0])/4,n=(u[0][1]+u[1][1]+u[2][1]+u[3][1])/4,"center"),a=[[i,n],[i,n]];else{var c,d,f,p=s.get("length");e="left"===r?(c=(u[3][0]+u[0][0])/2,d=(u[3][1]+u[0][1])/2,i=(f=c-p)-5,"right"):"right"===r?(c=(u[1][0]+u[2][0])/2,d=(u[1][1]+u[2][1])/2,i=(f=c+p)+5,"left"):"rightTop"===r?(c=u[1][0],d=u[1][1],i=(f=c+p)+5,"top"):"rightBottom"===r?(c=u[2][0],d=u[2][1],i=(f=c+p)+5,"bottom"):"leftTop"===r?(c=u[0][0],d=u[1][1],i=(f=c-p)-5,"right"):"leftBottom"===r?(c=u[3][0],d=u[2][1],i=(f=c-p)-5,"right"):(c=(u[1][0]+u[2][0])/2,d=(u[1][1]+u[2][1])/2,i=(f=c+p)+5,"left");a=[[c,d],[f,d]],n=d}l.label={linePoints:a,x:i,y:n,verticalAlign:"middle",textAlign:e,inside:h}})}(a)})}),Qd(kv("funnel"));function _w(t,e,i,n,a){vg.call(this,t,e,i),this.type=n||"value",this.axisIndex=a}_w.prototype={constructor:_w,model:null,isHorizontal:function(){return"horizontal"!==this.coordinateSystem.getModel().get("layout")}},w(_w,vg);function ww(t,e,i,n,a,o){t=t||0;var r=i[1]-i[0];if(null!=a&&(a=Sw(a,[0,r])),null!=o&&(o=Math.max(o,null!=a?a:0)),"all"===n){var s=Math.abs(e[1]-e[0]);a=o=Sw(s=Sw(s,[0,r]),[a,o]),n=0}e[0]=Sw(e[0],i),e[1]=Sw(e[1],i);var l=bw(e,n);e[n]+=t;var u=a||0,h=i.slice();l.sign<0?h[0]+=u:h[1]-=u,e[n]=Sw(e[n],h);var c=bw(e,n);return null!=a&&(c.sign!==l.sign||c.span<a)&&(e[1-n]=e[n]+l.sign*a),c=bw(e,n),null!=o&&c.span>o&&(e[1-n]=e[n]+c.sign*o),e}function bw(t,e){var i=t[e]-t[1-e];return{span:Math.abs(i),sign:0<i?-1:i<0?1:e?-1:1}}function Sw(t,e){return Math.min(null!=e[1]?e[1]:1/0,Math.max(null!=e[0]?e[0]:-1/0,t))}var Mw=E,Iw=Math.min,Aw=Math.max,Tw=Math.floor,Dw=Math.ceil,Cw=_l,Lw=Math.PI;function kw(t,e,i){this._axesMap=Q(),this._axesLayout={},this.dimensions=t.dimensions,this._rect,this._model=t,this._init(t,e,i)}function Pw(t,e){return Iw(Aw(t,e[0]),e[1])}kw.prototype={type:"parallel",constructor:kw,_init:function(t,r,e){var i=t.dimensions,s=t.parallelAxisIndex;Mw(i,function(t,e){var i=s[e],n=r.getComponent("parallelAxis",i),a=this._axesMap.set(t,new _w(t,Bp(n),[0,0],n.get("type"),i)),o="category"===a.type;a.onBand=o&&n.get("boundaryGap"),a.inverse=n.get("inverse"),(n.axis=a).model=n,a.coordinateSystem=n.coordinateSystem=this},this)},update:function(t,e){this._updateAxesFromSeries(this._model,t)},containPoint:function(t){var e=this._makeLayoutInfo(),i=e.axisBase,n=e.layoutBase,a=e.pixelDimIndex,o=t[1-a],r=t[a];return i<=o&&o<=i+e.axisLength&&n<=r&&r<=n+e.layoutLength},getModel:function(){return this._model},_updateAxesFromSeries:function(e,n){n.eachSeries(function(t){if(e.contains(t,n)){var i=t.getData();Mw(this.dimensions,function(t){var e=this._axesMap.get(t);e.scale.unionExtentFromData(i,i.mapDimension(t)),zp(e.scale,e.model)},this)}},this)},resize:function(t,e){this._rect=au(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()}),this._layoutAxes()},getRect:function(){return this._rect},_makeLayoutInfo:function(){var t,e=this._model,i=this._rect,n=["x","y"],a=["width","height"],o=e.get("layout"),r="horizontal"===o?0:1,s=i[a[r]],l=[0,s],u=this.dimensions.length,h=Pw(e.get("axisExpandWidth"),l),c=Pw(e.get("axisExpandCount")||0,[0,u]),d=e.get("axisExpandable")&&3<u&&c<u&&1<c&&0<h&&0<s,f=e.get("axisExpandWindow");f?(t=Pw(f[1]-f[0],l),f[1]=f[0]+t):(t=Pw(h*(c-1),l),(f=[h*(e.get("axisExpandCenter")||Tw(u/2))-t/2])[1]=f[0]+t);var p=(s-t)/(u-c);p<3&&(p=0);var g=[Tw(Cw(f[0]/h,1))+1,Dw(Cw(f[1]/h,1))-1],m=p/h*f[0];return{layout:o,pixelDimIndex:r,layoutBase:i[n[r]],layoutLength:s,axisBase:i[n[1-r]],axisLength:i[a[1-r]],axisExpandable:d,axisExpandWidth:h,axisCollapseWidth:p,axisExpandWindow:f,axisCount:u,winInnerIndices:g,axisExpandWindow0Pos:m}},_layoutAxes:function(){var l=this._rect,t=this._axesMap,e=this.dimensions,u=this._makeLayoutInfo(),h=u.layout;t.each(function(t){var e=[0,u.axisLength],i=t.inverse?1:0;t.setExtent(e[i],e[1-i])}),Mw(e,function(t,e){var i=(u.axisExpandable?function(t,e){var i,n,a=e.layoutLength,o=e.axisExpandWidth,r=e.axisCount,s=e.axisCollapseWidth,l=e.winInnerIndices,u=s,h=!1;t<l[0]?(i=t*s,n=s):t<=l[1]?(i=e.axisExpandWindow0Pos+t*o-e.axisExpandWindow[0],u=o,h=!0):(i=a-(r-1-t)*s,n=s);return{position:i,axisNameAvailableWidth:u,axisLabelShow:h,nameTruncateMaxWidth:n}}:function(t,e){var i=e.layoutLength/(e.axisCount-1);return{position:i*t,axisNameAvailableWidth:i,axisLabelShow:!0}})(e,u),n={horizontal:{x:i.position,y:u.axisLength},vertical:{x:0,y:i.position}},a={horizontal:Lw/2,vertical:0},o=[n[h].x+l.x,n[h].y+l.y],r=a[h],s=Qt();ae(s,s,r),ne(s,s,o),this._axesLayout[t]={position:o,rotation:r,transform:s,axisNameAvailableWidth:i.axisNameAvailableWidth,axisLabelShow:i.axisLabelShow,nameTruncateMaxWidth:i.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(e,t,i,n){null==i&&(i=0),null==n&&(n=e.count());var a=this._axesMap,o=this.dimensions,r=[],s=[];E(o,function(t){r.push(e.mapDimension(t)),s.push(a.get(t).model)});for(var l=this.hasAxisBrushed(),u=i;u<n;u++){var h;if(l){h="active";for(var c=e.getValues(r,u),d=0,f=o.length;d<f;d++){if("inactive"===s[d].getActiveState(c[d])){h="inactive";break}}}else h="normal";t(h,u)}},hasAxisBrushed:function(){for(var t=this.dimensions,e=this._axesMap,i=!1,n=0,a=t.length;n<a;n++)"normal"!==e.get(t[n]).model.getActiveState()&&(i=!0);return i},axisCoordToPoint:function(t,e){return $s([t,0],this._axesLayout[e].transform)},getAxisLayout:function(t){return D(this._axesLayout[t])},getSlidedAxisExpandWindow:function(t){var e=this._makeLayoutInfo(),i=e.pixelDimIndex,n=e.axisExpandWindow.slice(),a=n[1]-n[0],o=[0,e.axisExpandWidth*(e.axisCount-1)];if(!this.containPoint(t))return{behavior:"none",axisExpandWindow:n};var r,s=t[i]-e.layoutBase-e.axisExpandWindow0Pos,l="slide",u=e.axisCollapseWidth,h=this._model.get("axisExpandSlideTriggerArea"),c=null!=h[0];if(u)c&&u&&s<a*h[0]?(l="jump",r=s-a*h[2]):c&&u&&s>a*(1-h[0])?(l="jump",r=s-a*(1-h[2])):0<=(r=s-a*h[1])&&(r=s-a*(1-h[1]))<=0&&(r=0),(r*=e.axisExpandWidth/u)?ww(r,n,o,"all"):l="none";else{a=n[1]-n[0];(n=[Aw(0,o[1]*s/a-a/2)])[1]=Iw(o[1],n[0]+a),n[0]=n[1]-a}return{axisExpandWindow:n,behavior:l}}},Hu.register("parallel",{create:function(n,a){var o=[];return n.eachComponent("parallel",function(t,e){var i=new kw(t,n,a);i.name="parallel_"+e,i.resize(t,a),(t.coordinateSystem=i).model=t,o.push(i)}),n.eachSeries(function(t){if("parallel"===t.get("coordinateSystem")){var e=n.queryComponents({mainType:"parallel",index:t.get("parallelIndex"),id:t.get("parallelId")})[0];t.coordinateSystem=e.coordinateSystem}}),o}});var Nw=fu.extend({type:"baseParallelAxis",axis:null,activeIntervals:[],getAreaSelectStyle:function(){return Xa([["fill","color"],["lineWidth","borderWidth"],["stroke","borderColor"],["width","width"],["opacity","opacity"]])(this.getModel("areaSelectStyle"))},setActiveIntervals:function(t){var e=this.activeIntervals=D(t);if(e)for(var i=e.length-1;0<=i;i--)wl(e[i])},getActiveState:function(t){var e=this.activeIntervals;if(!e.length)return"normal";if(null==t||isNaN(t))return"inactive";if(1===e.length){var i=e[0];if(i[0]<=t&&t<=i[1])return"active"}else for(var n=0,a=e.length;n<a;n++)if(e[n][0]<=t&&t<=e[n][1])return"active";return"inactive"}});m(Nw.prototype,Hp),mm("parallel",Nw,function(t,e){return e.type||(e.data?"category":"value")},{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}),fu.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(){fu.prototype.init.apply(this,arguments),this.mergeOption({})},mergeOption:function(t){var e=this.option;t&&m(e,t,!0),this._initDimensions()},contains:function(t,e){var i=t.get("parallelIndex");return null!=i&&e.getComponent("parallel",i)===this},setAxisExpand:function(e){E(["axisExpandable","axisExpandCenter","axisExpandCount","axisExpandWidth","axisExpandWindow"],function(t){e.hasOwnProperty(t)&&(this.option[t]=e[t])},this)},_initDimensions:function(){var e=this.dimensions=[],i=this.parallelAxisIndex=[];E(M(this.dependentModels.parallelAxis,function(t){return(t.get("parallelIndex")||0)===this.componentIndex},this),function(t){e.push("dim"+t.get("dim")),i.push(t.componentIndex)})}});tf({type:"axisAreaSelect",event:"axisAreaSelected"},function(e,t){t.eachComponent({mainType:"parallelAxis",query:e},function(t){t.axis.model.setActiveIntervals(e.intervals)})}),tf("parallelAxisExpand",function(e,t){t.eachComponent({mainType:"parallel",query:e},function(t){t.setAxisExpand(e)})});var Ow=A,Ew=E,Rw=N,zw=Math.min,Bw=Math.max,Vw=Math.pow,Gw=1e4,Fw=6,Ww=6,Hw="globalPan",Zw={w:[0,0],e:[0,1],n:[1,0],s:[1,1]},Uw={w:"ew",e:"ew",n:"ns",s:"ns",ne:"nesw",sw:"nesw",nw:"nwse",se:"nwse"},Xw={brushStyle:{lineWidth:2,stroke:"rgba(0,0,0,0.3)",fill:"rgba(0,0,0,0.1)"},transformable:!0,brushMode:"single",removeOnClick:!1},Yw=0;function jw(t){Ct.call(this),this._zr=t,this.group=new Si,this._brushType,this._brushOption,this._panels,this._track=[],this._dragging,this._lastMouseMovePoint={},this._covers=[],this._creatingCover,this._creatingPanel,this._enableGlobalPan,this._uid="brushController_"+Yw++,this._handlers={},Ew(_b,function(t,e){this._handlers[e]=T(t,this)},this)}function qw(t,e){var i=bb[e.brushType].createCover(t,e);return i.__brushOption=e,Jw(i,e),t.group.add(i),i}function Kw(t,e){var i=tb(e);return i.endCreating&&(i.endCreating(t,e),Jw(e,e.__brushOption)),e}function $w(t,e){var i=e.__brushOption;tb(e).updateCoverShape(t,e,i.range,i)}function Jw(t,e){var i=e.z;null==i&&(i=Gw),t.traverse(function(t){t.z=i,t.z2=i})}function Qw(t,e){tb(e).updateCommon(t,e),$w(t,e)}function tb(t){return bb[t.__brushOption.brushType]}function eb(t,e,i){var n,a=t._panels;if(!a)return!0;var o=t._transform;return Ew(a,function(t){t.isTargetByCursor(e,i,o)&&(n=t)}),n}function ib(t,e){var i=t._panels;if(!i)return!0;var n=e.__brushOption.panelId;return null==n||i[n]}function nb(e){var t=e._covers,i=t.length;return Ew(t,function(t){e.group.remove(t)},e),t.length=0,!!i}function ab(t,e){var i=Rw(t._covers,function(t){var e=t.__brushOption,i=D(e.range);return{brushType:e.brushType,panelId:e.panelId,range:i}});t.trigger("brush",i,{isEnd:!!e.isEnd,removeOnClick:!!e.removeOnClick})}function ob(t){var e=t.length-1;return e<0&&(e=0),[t[0],t[e]]}function rb(e,i,t,n){var a=new Si;return a.add(new Hr({name:"main",style:hb(t),silent:!0,draggable:!0,cursor:"move",drift:Ow(e,i,a,"nswe"),ondragend:Ow(ab,i,{isEnd:!0})})),Ew(n,function(t){a.add(new Hr({name:t,style:{opacity:0},draggable:!0,silent:!0,invisible:!0,drift:Ow(e,i,a,t),ondragend:Ow(ab,i,{isEnd:!0})}))}),a}function sb(t,e,i,n){var a=n.brushStyle.lineWidth||0,o=Bw(a,Ww),r=i[0][0],s=i[1][0],l=r-a/2,u=s-a/2,h=i[0][1],c=i[1][1],d=h-o+a/2,f=c-o+a/2,p=h-r,g=c-s,m=p+a,v=g+a;ub(t,e,"main",r,s,p,g),n.transformable&&(ub(t,e,"w",l,u,o,v),ub(t,e,"e",d,u,o,v),ub(t,e,"n",l,u,m,o),ub(t,e,"s",l,f,m,o),ub(t,e,"nw",l,u,o,o),ub(t,e,"ne",d,u,o,o),ub(t,e,"sw",l,f,o,o),ub(t,e,"se",d,f,o,o))}function lb(n,a){var t=a.__brushOption,o=t.transformable,e=a.childAt(0);e.useStyle(hb(t)),e.attr({silent:!o,cursor:o?"move":"default"}),Ew(["w","e","n","s","se","sw","ne","nw"],function(t){var e=a.childOfName(t),i=function t(e,i){{if(1<i.length){i=i.split("");var n=[t(e,i[0]),t(e,i[1])];return"e"!==n[0]&&"w"!==n[0]||n.reverse(),n.join("")}var a={w:"left",e:"right",n:"top",s:"bottom"},o={left:"w",right:"e",top:"n",bottom:"s"},n=Js(a[i],Ks(e.group));return o[n]}}(n,t);e&&e.attr({silent:!o,invisible:!o,cursor:o?Uw[i]+"-resize":null})})}function ub(t,e,i,n,a,o,r){var s=e.childOfName(i);s&&s.setShape(function(t){var e=zw(t[0][0],t[1][0]),i=zw(t[0][1],t[1][1]),n=Bw(t[0][0],t[1][0]),a=Bw(t[0][1],t[1][1]);return{x:e,y:i,width:n-e,height:a-i}}(gb(t,e,[[n,a],[n+o,a+r]])))}function hb(t){return C({strokeNoScale:!0},t.brushStyle)}function cb(t,e,i,n){var a=[zw(t,i),zw(e,n)],o=[Bw(t,i),Bw(e,n)];return[[a[0],o[0]],[a[1],o[1]]]}function db(t,e,i,n,a,o,r,s){var l=n.__brushOption,u=t(l.range),h=pb(i,o,r);Ew(a.split(""),function(t){var e=Zw[t];u[e[0]][e[1]]+=h[e[0]]}),l.range=e(cb(u[0][0],u[1][0],u[0][1],u[1][1])),Qw(i,n),ab(i,{isEnd:!1})}function fb(t,e,i,n,a){var o=e.__brushOption.range,r=pb(t,i,n);Ew(o,function(t){t[0]+=r[0],t[1]+=r[1]}),Qw(t,e),ab(t,{isEnd:!1})}function pb(t,e,i){var n=t.group,a=n.transformCoordToLocal(e,i),o=n.transformCoordToLocal(0,0);return[a[0]-o[0],a[1]-o[1]]}function gb(t,e,i){var n=ib(t,e);return n&&!0!==n?n.clipPath(i,t._transform):D(i)}function mb(t){var e=t.event;e.preventDefault&&e.preventDefault()}function vb(t,e,i){return t.childOfName("main").contain(e,i)}function yb(t,e,i,n){var a,o=t._creatingCover,r=t._creatingPanel,s=t._brushOption;if(t._track.push(i.slice()),function(t){var e=t._track;if(!e.length)return!1;var i=e[e.length-1],n=e[0],a=i[0]-n[0],o=i[1]-n[1],r=Vw(a*a+o*o,.5);return Fw<r}(t)||o){if(r&&!o){"single"===s.brushMode&&nb(t);var l=D(s);l.brushType=xb(l.brushType,r),l.panelId=!0===r?null:r.panelId,o=t._creatingCover=qw(t,l),t._covers.push(o)}if(o){var u=bb[xb(t._brushType,r)];o.__brushOption.range=u.getCreatingRange(gb(t,o,t._track)),n&&(Kw(t,o),u.updateCommon(t,o)),$w(t,o),a={isEnd:n}}}else n&&"single"===s.brushMode&&s.removeOnClick&&eb(t,e,i)&&nb(t)&&(a={isEnd:n,removeOnClick:!0});return a}function xb(t,e){return"auto"===t?e.defaultBrushType:t}jw.prototype={constructor:jw,enableBrush:function(t){return this._brushType&&function(t){var i=t._zr;(function(t,e,i){var n=ly(t);n[e]===i&&(n[e]=null)})(i,Hw,t._uid),Ew(t._handlers,function(t,e){i.off(e,t)}),t._brushType=t._brushOption=null}(this),t.brushType&&function(t,e){var i=t._zr;t._enableGlobalPan||function(t,e,i){ly(t)[e]=i}(i,Hw,t._uid);Ew(t._handlers,function(t,e){i.on(e,t)}),t._brushType=e.brushType,t._brushOption=m(D(Xw),e,!0)}(this,t),this},setPanels:function(t){if(t&&t.length){var e=this._panels={};E(t,function(t){e[t.panelId]=D(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){Ew(this._covers,t,e)},updateCovers:function(a){a=N(a,function(t){return m(D(Xw),t,!0)});var i="\0-brush-index-",o=this._covers,r=this._covers=[],s=this,l=this._creatingCover;return new df(o,a,function(t,e){return n(t.__brushOption,e)},n).add(t).update(t).remove(function(t){o[t]!==l&&s.group.remove(o[t])}).execute(),this;function n(t,e){return(null!=t.id?t.id:i+e)+"-"+t.brushType}function t(t,e){var i=a[t];if(null!=e&&o[e]===l)r[t]=o[e];else{var n=r[t]=null!=e?(o[e].__brushOption=i,o[e]):Kw(s,qw(s,i));Qw(s,n)}}},unmount:function(){return this.enableBrush(!1),nb(this),this._zr.remove(this.group),this},dispose:function(){this.unmount(),this.off()}},b(jw,Ct);var _b={mousedown:function(t){if(this._dragging)wb(this,t);else if(!t.target||!t.target.draggable){mb(t);var e=this.group.transformCoordToLocal(t.offsetX,t.offsetY);this._creatingCover=null,(this._creatingPanel=eb(this,t,e))&&(this._dragging=!0,this._track=[e.slice()])}},mousemove:function(t){var e=this._lastMouseMovePoint;e.x=t.offsetX,e.y=t.offsetY;var i=this.group.transformCoordToLocal(e.x,e.y);if(function(t,e,i){if(t._brushType){var n=t._zr,a=t._covers,o=eb(t,e,i);if(!t._dragging)for(var r=0;r<a.length;r++){var s=a[r].__brushOption;if(o&&(!0===o||s.panelId===o.panelId)&&bb[s.brushType].contain(a[r],i[0],i[1]))return}o&&n.setCursorStyle("crosshair")}}(this,t,i),this._dragging){mb(t);var n=yb(this,t,i,!1);n&&ab(this,n)}},mouseup:function(t){wb(this,t)},globalout:function(t){wb(this,t,!0)}};function wb(t,e,i){if(t._dragging){i||mb(e);var n=e.offsetX,a=e.offsetY,o=t._lastMouseMovePoint;i&&(n=o.x,a=o.y);var r=t.group.transformCoordToLocal(n,a),s=yb(t,e,r,!0);t._dragging=!1,t._track=[],t._creatingCover=null,s&&ab(t,s)}}var bb={lineX:Sb(0),lineY:Sb(1),rect:{createCover:function(t,e){return rb(Ow(db,function(t){return t},function(t){return t}),t,e,["w","e","n","s","se","sw","ne","nw"])},getCreatingRange:function(t){var e=ob(t);return cb(e[1][0],e[1][1],e[0][0],e[0][1])},updateCoverShape:function(t,e,i,n){sb(t,e,i,n)},updateCommon:lb,contain:vb},polygon:{createCover:function(t,e){var i=new Si;return i.add(new zr({name:"main",style:hb(e),silent:!0})),i},getCreatingRange:function(t){return t},endCreating:function(t,e){e.remove(e.childAt(0)),e.add(new Rr({name:"main",draggable:!0,drift:Ow(fb,t,e),ondragend:Ow(ab,t,{isEnd:!0})}))},updateCoverShape:function(t,e,i,n){e.childAt(0).setShape({points:gb(t,e,i)})},updateCommon:lb,contain:vb}};function Sb(l){return{createCover:function(t,e){return rb(Ow(db,function(t){var e=[t,[0,100]];return l&&e.reverse(),e},function(t){return t[l]}),t,e,[["w","e"],["n","s"]][l])},getCreatingRange:function(t){var e=ob(t);return[zw(e[0][l],e[1][l]),Bw(e[0][l],e[1][l])]},updateCoverShape:function(t,e,i,n){var a,o=ib(t,e);if(!0!==o&&o.getLinearBrushOtherExtent)a=o.getLinearBrushOtherExtent(l,t._transform);else{var r=t._zr;a=[0,[r.getWidth(),r.getHeight()][1-l]]}var s=[i,a];l&&s.reverse(),sb(t,e,s,n)},updateCommon:lb,contain:vb}}function Mb(i){return i=Tb(i),function(t,e){return tl(t,i)}}function Ib(a,o){return a=Tb(a),function(t){var e=null!=o?o:t,i=e?a.width:a.height,n=e?a.x:a.y;return[n,n+(i||0)]}}function Ab(n,a,o){return n=Tb(n),function(t,e,i){return n.contain(e[0],e[1])&&!wy(t,a,o)}}function Tb(t){return bi.create(t)}var Db=["axisLine","axisTickLabel","axisName"],Cb=lf({type:"parallelAxis",init:function(t,e){Cb.superApply(this,"init",arguments),(this._brushController=new jw(e.getZr())).on("brush",T(this._onBrush,this))},render:function(t,e,i,n){if(!function(t,e,i){return i&&"axisAreaSelect"===i.type&&e.findComponents({mainType:"parallelAxis",query:i})[0]===t}(t,e,n)){this.axisModel=t,this.api=i,this.group.removeAll();var a=this._axisGroup;if(this._axisGroup=new Si,this.group.add(this._axisGroup),t.get("show")){var o=function(t,e){return e.getComponent("parallel",t.get("parallelIndex"))}(t,e),r=o.coordinateSystem,s=t.getAreaSelectStyle(),l=s.width,u=t.axis.dim,h=L({strokeContainThreshold:l},r.getAxisLayout(u)),c=new Cm(t,h);E(Db,c.add,c),this._axisGroup.add(c.getGroup()),this._refreshBrushController(h,s,t,o,l,i);var d=n&&!1===n.animation?null:t;Qs(a,this._axisGroup,d)}}},_refreshBrushController:function(t,e,i,n,a,o){var r=i.axis.getExtent(),s=r[1]-r[0],l=Math.min(30,.1*Math.abs(s)),u=bi.create({x:r[0],y:-a/2,width:s,height:a});u.x-=l,u.width+=2*l,this._brushController.mount({enableGlobalPan:!0,rotation:t.rotation,position:t.position}).setPanels([{panelId:"pl",clipPath:Mb(u),isTargetByCursor:Ab(u,o,n),getLinearBrushOtherExtent:Ib(u,0)}]).enableBrush({brushType:"lineX",brushStyle:e,removeOnClick:!0}).updateCovers(function(t){var e=t.axis;return N(t.activeIntervals,function(t){return{brushType:"lineX",panelId:"pl",range:[e.dataToCoord(t[0],!0),e.dataToCoord(t[1],!0)]}})}(i))},_onBrush:function(t,e){var i=this.axisModel,n=i.axis,a=N(t,function(t){return[n.coordToData(t.range[0],!0),n.coordToData(t.range[1],!0)]});!i.option.realtime!==e.isEnd&&!e.removeOnClick||this.api.dispatchAction({type:"axisAreaSelect",parallelAxisId:i.id,intervals:a})},dispose:function(){this._brushController.dispose()}});lf({type:"parallel",render:function(t,e,i){this._model=t,this._api=i,this._handlers||(this._handlers={},E(Lb,function(t,e){i.getZr().on(e,this._handlers[e]=T(t,this))},this)),dc(this,"_throttledDispatchExpand",t.get("axisExpandRate"),"fixRate")},dispose:function(t,i){E(this._handlers,function(t,e){i.getZr().off(e,t)}),this._handlers=null},_throttledDispatchExpand:function(t){this._dispatchExpand(t)},_dispatchExpand:function(t){t&&this._api.dispatchAction(L({type:"parallelAxisExpand"},t))}});var Lb={mousedown:function(t){kb(this,"click")&&(this._mouseDownPoint=[t.offsetX,t.offsetY])},mouseup:function(t){var e=this._mouseDownPoint;if(kb(this,"click")&&e){var i=[t.offsetX,t.offsetY];if(5<Math.pow(e[0]-i[0],2)+Math.pow(e[1]-i[1],2))return;var n=this._model.coordinateSystem.getSlidedAxisExpandWindow([t.offsetX,t.offsetY]);"none"!==n.behavior&&this._dispatchExpand({axisExpandWindow:n.axisExpandWindow})}this._mouseDownPoint=null},mousemove:function(t){if(!this._mouseDownPoint&&kb(this,"mousemove")){var e=this._model,i=e.coordinateSystem.getSlidedAxisExpandWindow([t.offsetX,t.offsetY]),n=i.behavior;"jump"===n&&this._throttledDispatchExpand.debounceNextCall(e.get("axisExpandDebounce")),this._throttledDispatchExpand("none"===n?null:{axisExpandWindow:i.axisExpandWindow,animation:"jump"===n&&null})}}};function kb(t,e){var i=t._model;return i.get("axisExpandable")&&i.get("axisExpandTriggerOn")===e}Jd(function(t){!function(t){if(t.parallel)return;var e=!1;E(t.series,function(t){t&&"parallel"===t.type&&(e=!0)}),e&&(t.parallel=[{}])}(t),function(n){E(wa(n.parallelAxis),function(t){if(z(t)){var e=t.parallelIndex||0,i=wa(n.parallel)[e];i&&i.parallelAxisDefault&&m(t,i.parallelAxisDefault,!1)}})}(t)}),Wh.extend({type:"series.parallel",dependencies:["parallel"],visualColorAccessPath:"lineStyle.color",getInitialData:function(t,e){var i=this.getSource();return function(t,e){if(t.encodeDefine)return;var i=e.ecModel.getComponent("parallel",e.get("parallelIndex"));if(!i)return;var n=t.encodeDefine=Q();E(i.dimensions,function(t){var e=function(t){return+t.replace("dim","")}(t);n.set(t,e)})}(i,this),Xf(i,this)},getRawIndicesByActiveState:function(i){var t=this.coordinateSystem,n=this.getData(),a=[];return t.eachActiveState(n,function(t,e){i===t&&a.push(n.getRawIndex(e))}),a},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"}});ec.extend({type:"parallel",init:function(){this._dataGroup=new Si,this.group.add(this._dataGroup),this._data,this._initialized},render:function(o,t,e,r){var i=this._dataGroup,s=o.getData(),l=this._data,u=o.coordinateSystem,h=u.dimensions,c=Ob(o);if(s.diff(l).add(function(t){Eb(Nb(s,i,t,h,u),s,t,c)}).update(function(t,e){var i=l.getItemGraphicEl(e),n=Pb(s,t,h,u);s.setItemGraphicEl(t,i);var a=r&&!1===r.animation?null:o;js(i,{shape:{points:n}},a,t),Eb(i,s,t,c)}).remove(function(t){var e=l.getItemGraphicEl(t);i.remove(e)}).execute(),!this._initialized){this._initialized=!0;var n=function(t,e,i){var n=t.model,a=t.getRect(),o=new Hr({shape:{x:a.x,y:a.y,width:a.width,height:a.height}}),r="horizontal"===n.get("layout")?"width":"height";return o.setShape(r,0),qs(o,{shape:{width:a.width,height:a.height}},e,i),o}(u,o,function(){setTimeout(function(){i.removeClipPath()})});i.setClipPath(n)}this._data=s},incrementalPrepareRender:function(t,e,i){this._initialized=!0,this._data=null,this._dataGroup.removeAll()},incrementalRender:function(t,e,i){for(var n=e.getData(),a=e.coordinateSystem,o=a.dimensions,r=Ob(e),s=t.start;s<t.end;s++){var l=Nb(n,this._dataGroup,s,o,a);l.incremental=!0,Eb(l,n,s,r)}},dispose:function(){},remove:function(){this._dataGroup&&this._dataGroup.removeAll(),this._data=null}});function Pb(t,e,i,n){for(var a,o=[],r=0;r<i.length;r++){var s=i[r],l=t.get(t.mapDimension(s),e);a=l,("category"===n.getAxis(s).type?null==a:null==a||isNaN(a))||o.push(n.dataToPoint(l,s))}return o}function Nb(t,e,i,n,a){var o=Pb(t,i,n,a),r=new zr({shape:{points:o},silent:!0,z2:10});return e.add(r),t.setItemGraphicEl(i,r),r}function Ob(t){var e=t.get("smooth",!0);return!0===e&&(e=.3),{lineStyle:t.getModel("lineStyle").getLineStyle(),smooth:null!=e?e:.3}}function Eb(t,e,i,n){var a=n.lineStyle;e.hasItemOption&&(a=e.getItemModel(i).getModel("lineStyle").getLineStyle());t.useStyle(a);var o=t.style;o.fill=null,o.stroke=e.getItemVisual(i,"color"),o.opacity=e.getItemVisual(i,"opacity"),n.smooth&&(t.shape.smooth=n.smooth)}var Rb=["lineStyle","normal","opacity"];af({seriesType:"parallel",reset:function(t,e,i){var n=t.getModel("itemStyle"),a=t.getModel("lineStyle"),o=e.get("color"),r=a.get("color")||n.get("color")||o[t.seriesIndex%o.length],s=t.get("inactiveOpacity"),l=t.get("activeOpacity"),u=t.getModel("lineStyle").getLineStyle(),h=t.coordinateSystem,c=t.getData(),d={normal:u.opacity,active:l,inactive:s};return c.setVisual("color",r),{progress:function(t,a){h.eachActiveState(a,function(t,e){var i=d[t];if("normal"===t&&a.hasItemOption){var n=a.getItemModel(e).get(Rb,!0);null!=n&&(i=n)}a.setItemVisual(e,"opacity",i)},t.start,t.end)}}}});var zb=Wh.extend({type:"series.sankey",layoutInfo:null,levelModels:null,getInitialData:function(t,e){for(var i=t.edges||t.links,n=t.data||t.nodes,a=t.levels,o=this.levelModels={},r=0;r<a.length;r++)null!=a[r].depth&&0<=a[r].depth&&(o[a[r].depth]=new dl(a[r],this,e));if(n&&i)return I_(n,i,this,!0,function(t,e){t.wrapMethod("getItemModel",function(t,n){return t.customizeGetParent(function(t){var e=this.parentModel,i=e.getData().getItemLayout(n).depth;return e.levelModels[i]||this.parentModel}),t}),e.wrapMethod("getItemModel",function(t,n){return t.customizeGetParent(function(t){var e=this.parentModel,i=e.getGraph().getEdgeByIndex(n).node1.getLayout().depth;return e.levelModels[i]||this.parentModel}),t})}).data},setNodePosition:function(t,e){var i=this.option.data[t];i.localX=e[0],i.localY=e[1]},getGraph:function(){return this.getData().graph},getEdgeData:function(){return this.getGraph().edgeData},formatTooltip:function(t,e,i){if("edge"===i){var n=this.getDataParams(t,i),a=n.data,o=a.source+" -- "+a.target;return n.value&&(o+=" : "+n.value),Wl(o)}if("node"!==i)return zb.superCall(this,"formatTooltip",t,e);var r=this.getGraph().getNodeByIndex(t).getLayout().value,s=this.getDataParams(t,i).data.name;if(r)o=s+" : "+r;return Wl(o)},optionUpdated:function(){var t=this.option;!0===t.focusNodeAdjacency&&(t.focusNodeAdjacency="allEdges")},defaultOption:{zlevel:0,z:2,coordinateSystem:"view",layout:null,left:"5%",top:"5%",right:"20%",bottom:"5%",orient:"horizontal",nodeWidth:20,nodeGap:8,draggable:!0,focusNodeAdjacency:!1,layoutIterations:32,label:{show:!0,position:"right",color:"#000",fontSize:12},levels:[],nodeAlign:"justify",itemStyle:{borderWidth:1,borderColor:"#333"},lineStyle:{color:"#314656",opacity:.2,curveness:.5},emphasis:{label:{show:!0},lineStyle:{opacity:.6}},animationEasing:"linear",animationDuration:1e3}}),Bb=["itemStyle","opacity"],Vb=["lineStyle","opacity"];function Gb(t,e){return t.getVisual("opacity")||t.getModel().get(e)}function Fb(t,e,i){var n=t.getGraphicEl(),a=Gb(t,e);null!=i&&(null==a&&(a=1),a*=i),n.downplay&&n.downplay(),n.traverse(function(t){"group"!==t.type&&t.setStyle("opacity",a)})}function Wb(t,e){var i=Gb(t,e),n=t.getGraphicEl();n.highlight&&n.highlight(),n.traverse(function(t){"group"!==t.type&&t.setStyle("opacity",i)})}var Hb=ds({shape:{x1:0,y1:0,x2:0,y2:0,cpx1:0,cpy1:0,cpx2:0,cpy2:0,extent:0,orient:""},buildPath:function(t,e){var i=e.extent;t.moveTo(e.x1,e.y1),t.bezierCurveTo(e.cpx1,e.cpy1,e.cpx2,e.cpy2,e.x2,e.y2),"vertical"===e.orient?(t.lineTo(e.x2+i,e.y2),t.bezierCurveTo(e.cpx2+i,e.cpy2,e.cpx1+i,e.cpy1,e.x1+i,e.y1)):(t.lineTo(e.x2,e.y2+i),t.bezierCurveTo(e.cpx2,e.cpy2+i,e.cpx1,e.cpy1+i,e.x1,e.y1+i)),t.closePath()}});hf({type:"sankey",_model:null,_focusAdjacencyDisabled:!1,render:function(w,t,n){var a=this,e=w.getGraph(),b=this.group,i=w.layoutInfo,S=i.width,M=i.height,u=w.getData(),I=w.getData("edge"),A=w.get("orient");this._model=w,b.removeAll(),b.attr("position",[i.x,i.y]),e.eachEdge(function(t){var e=new Hb;e.dataIndex=t.dataIndex,e.seriesIndex=w.seriesIndex,e.dataType="edge";var i,n,a,o,r,s,l,u,h=t.getModel("lineStyle"),c=h.get("curveness"),d=t.node1.getLayout(),f=t.node1.getModel(),p=f.get("localX"),g=f.get("localY"),m=t.node2.getLayout(),v=t.node2.getModel(),y=v.get("localX"),x=v.get("localY"),_=t.getLayout();switch(e.shape.extent=Math.max(1,_.dy),u="vertical"===(e.shape.orient=A)?(i=(null!=p?p*S:d.x)+_.sy,n=(null!=g?g*M:d.y)+d.dy,a=(null!=y?y*S:m.x)+_.ty,r=i,s=n*(1-c)+(o=null!=x?x*M:m.y)*c,l=a,n*c+o*(1-c)):(i=(null!=p?p*S:d.x)+d.dx,n=(null!=g?g*M:d.y)+_.sy,r=i*(1-c)+(a=null!=y?y*S:m.x)*c,s=n,l=i*c+a*(1-c),o=(null!=x?x*M:m.y)+_.ty),e.setShape({x1:i,y1:n,x2:a,y2:o,cpx1:r,cpy1:s,cpx2:l,cpy2:u}),e.setStyle(h.getItemStyle()),e.style.fill){case"source":e.style.fill=t.node1.getVisual("color");break;case"target":e.style.fill=t.node2.getVisual("color")}Os(e,t.getModel("emphasis.lineStyle").getItemStyle()),b.add(e),I.setItemGraphicEl(t.dataIndex,e)}),e.eachNode(function(t){var e=t.getLayout(),i=t.getModel(),n=i.get("localX"),a=i.get("localY"),o=i.getModel("label"),r=i.getModel("emphasis.label"),s=new Hr({shape:{x:null!=n?n*S:e.x,y:null!=a?a*M:e.y,width:e.dx,height:e.dy},style:i.getModel("itemStyle").getItemStyle()}),l=t.getModel("emphasis.itemStyle").getItemStyle();Bs(s.style,l,o,r,{labelFetcher:w,labelDataIndex:t.dataIndex,defaultText:t.id,isRectText:!0}),s.setStyle("fill",t.getVisual("color")),Os(s,l),b.add(s),u.setItemGraphicEl(t.dataIndex,s),s.dataType="node"}),u.eachItemGraphicEl(function(t,i){var e=u.getItemModel(i);e.get("draggable")&&(t.drift=function(t,e){a._focusAdjacencyDisabled=!0,this.shape.x+=t,this.shape.y+=e,this.dirty(),n.dispatchAction({type:"dragNode",seriesId:w.id,dataIndex:u.getRawIndex(i),localX:this.shape.x/S,localY:this.shape.y/M})},t.ondragend=function(){a._focusAdjacencyDisabled=!1},t.draggable=!0,t.cursor="move"),e.get("focusNodeAdjacency")&&(t.off("mouseover").on("mouseover",function(){a._focusAdjacencyDisabled||n.dispatchAction({type:"focusNodeAdjacency",seriesId:w.id,dataIndex:t.dataIndex})}),t.off("mouseout").on("mouseout",function(){a._focusAdjacencyDisabled||n.dispatchAction({type:"unfocusNodeAdjacency",seriesId:w.id})}))}),I.eachItemGraphicEl(function(t,e){I.getItemModel(e).get("focusNodeAdjacency")&&(t.off("mouseover").on("mouseover",function(){a._focusAdjacencyDisabled||n.dispatchAction({type:"focusNodeAdjacency",seriesId:w.id,edgeDataIndex:t.dataIndex})}),t.off("mouseout").on("mouseout",function(){a._focusAdjacencyDisabled||n.dispatchAction({type:"unfocusNodeAdjacency",seriesId:w.id})}))}),!this._data&&w.get("animation")&&b.setClipPath(function(t,e,i){var n=new Hr({shape:{x:t.x-10,y:t.y-10,width:0,height:t.height+20}});return qs(n,{shape:{width:t.width+20,height:t.height+20}},e,i),n}(b.getBoundingRect(),w,function(){b.removeClipPath()})),this._data=w.getData()},dispose:function(){},focusNodeAdjacency:function(t,e,i,n){var a=this._model.getData(),o=a.graph,r=n.dataIndex,s=a.getItemModel(r),l=n.edgeDataIndex;if(null!=r||null!=l){var u=o.getNodeByIndex(r),h=o.getEdgeByIndex(l);if(o.eachNode(function(t){Fb(t,Bb,.1)}),o.eachEdge(function(t){Fb(t,Vb,.1)}),u){Wb(u,Bb);var c=s.get("focusNodeAdjacency");"outEdges"===c?E(u.outEdges,function(t){t.dataIndex<0||(Wb(t,Vb),Wb(t.node2,Bb))}):"inEdges"===c?E(u.inEdges,function(t){t.dataIndex<0||(Wb(t,Vb),Wb(t.node1,Bb))}):"allEdges"===c&&E(u.edges,function(t){t.dataIndex<0||(Wb(t,Vb),Wb(t.node1,Bb),Wb(t.node2,Bb))})}h&&(Wb(h,Vb),Wb(h.node1,Bb),Wb(h.node2,Bb))}},unfocusNodeAdjacency:function(t,e,i,n){var a=this._model.getGraph();a.eachNode(function(t){Fb(t,Bb)}),a.eachEdge(function(t){Fb(t,Vb)})}}),tf({type:"dragNode",event:"dragnode",update:"update"},function(e,t){t.eachComponent({mainType:"series",subType:"sankey",query:e},function(t){t.setNodePosition(e.dataIndex,[e.localX,e.localY])})});function Zb(t){var e=t.hostGraph.data.getRawDataItem(t.dataIndex);return null!=e.depth&&0<=e.depth}function Ub(t,l,u,h,c){var d="vertical"===c?"x":"y";E(t,function(t){var e,i,n;t.sort(function(t,e){return t.getLayout()[d]-e.getLayout()[d]});for(var a=0,o=t.length,r="vertical"===c?"dx":"dy",s=0;s<o;s++)0<(n=a-(i=t[s]).getLayout()[d])&&(e=i.getLayout()[d]+n,"vertical"===c?i.setLayout({x:e},!0):i.setLayout({y:e},!0)),a=i.getLayout()[d]+i.getLayout()[r]+l;if(0<(n=a-l-("vertical"===c?h:u)))for(e=i.getLayout()[d]-n,"vertical"===c?i.setLayout({x:e},!0):i.setLayout({y:e},!0),a=e,s=o-2;0<=s;--s)0<(n=(i=t[s]).getLayout()[d]+i.getLayout()[r]+l-a)&&(e=i.getLayout()[d]-n,"vertical"===c?i.setLayout({x:e},!0):i.setLayout({y:e},!0)),a=i.getLayout()[d]})}function Xb(t,a,o){E(t.slice().reverse(),function(t){E(t,function(t){if(t.outEdges.length){var e=$b(t.outEdges,Yb,o)/$b(t.outEdges,Kb,o);if("vertical"===o){var i=t.getLayout().x+(e-qb(t,o))*a;t.setLayout({x:i},!0)}else{var n=t.getLayout().y+(e-qb(t,o))*a;t.setLayout({y:n},!0)}}})})}function Yb(t,e){return qb(t.node2,e)*t.getValue()}function jb(t,e){return qb(t.node1,e)*t.getValue()}function qb(t,e){return"vertical"===e?t.getLayout().x+t.getLayout().dx/2:t.getLayout().y+t.getLayout().dy/2}function Kb(t){return t.getValue()}function $b(t,e,i){for(var n=0,a=t.length,o=-1;++o<a;){var r=+e.call(t,t[o],i);isNaN(r)||(n+=r)}return n}function Jb(t,a,o){E(t,function(t){E(t,function(t){if(t.inEdges.length){var e=$b(t.inEdges,jb,o)/$b(t.inEdges,Kb,o);if("vertical"===o){var i=t.getLayout().x+(e-qb(t,o))*a;t.setLayout({x:i},!0)}else{var n=t.getLayout().y+(e-qb(t,o))*a;t.setLayout({y:n},!0)}}})})}nf(function(t,u,e){t.eachSeriesByType("sankey",function(t){var e=t.get("nodeWidth"),i=t.get("nodeGap"),n=function(t,e){return au(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()})}(t,u),a=(t.layoutInfo=n).width,o=n.height,r=t.getGraph(),s=r.nodes,l=r.edges;!function(t){E(t,function(t){var e=$b(t.outEdges,Kb),i=$b(t.inEdges,Kb),n=Math.max(e,i);t.setLayout({value:n},!0)})}(s),function(t,e,i,n,a,o,r,s,l){(function(t,e,i,n,a,o,r){for(var s=[],l=[],u=[],h=[],c=0,d=0;d<e.length;d++)s[d]=1;for(d=0;d<t.length;d++)l[d]=t[d].inEdges.length,0===l[d]&&u.push(t[d]);var f=-1;for(;u.length;){for(var p=0;p<u.length;p++){var g=u[p],m=g.hostGraph.data.getRawDataItem(g.dataIndex),v=null!=m.depth&&0<=m.depth;v&&m.depth>f&&(f=m.depth),g.setLayout({depth:v?m.depth:c},!0),"vertical"===o?g.setLayout({dy:i},!0):g.setLayout({dx:i},!0);for(var y=0;y<g.outEdges.length;y++){var x=g.outEdges[y],_=e.indexOf(x);s[_]=0;var w=x.node2,b=t.indexOf(w);0==--l[b]&&h.indexOf(w)<0&&h.push(w)}}++c,u=h,h=[]}for(d=0;d<s.length;d++)if(1===s[d])throw new Error("Sankey is a DAG, the original data has cycle!");var S=c-1<f?f:c-1;r&&"left"!==r&&function(t,e,i,n){if("right"===e){for(var a=[],o=t,r=0;o.length;){for(var s=0;s<o.length;s++){var l=o[s];l.setLayout({skNodeHeight:r},!0);for(var u=0;u<l.inEdges.length;u++){var h=l.inEdges[u];a.indexOf(h.node1)<0&&a.push(h.node1)}}o=a,a=[],++r}E(t,function(t){Zb(t)||t.setLayout({depth:Math.max(0,n-t.getLayout().skNodeHeight)},!0)})}else"justify"===e&&function(t,e){E(t,function(t){Zb(t)||t.outEdges.length||t.setLayout({depth:e},!0)})}(t,n)}(t,r,0,S);!function(t,i,n){E(t,function(t){var e=t.getLayout().depth*i;"vertical"===n?t.setLayout({y:e},!0):t.setLayout({x:e},!0)})}(t,"vertical"===o?(a-i)/S:(n-i)/S,o)})(t,e,i,a,o,s,l),function(t,e,i,n,a,o,r){var s=function(t,e){var i=[],n="vertical"===e?"y":"x",a=Ra(t,function(t){return t.getLayout()[n]});return a.keys.sort(function(t,e){return t-e}),E(a.keys,function(t){i.push(a.buckets.get(t))}),i}(t,r);(function(t,e,a,o,r,s){var l=1/0;E(t,function(t){var e=t.length,i=0;E(t,function(t){i+=t.getLayout().value});var n="vertical"===s?(o-(e-1)*r)/i:(a-(e-1)*r)/i;n<l&&(l=n)}),E(t,function(t){E(t,function(t,e){var i=t.getLayout().value*l;"vertical"===s?(t.setLayout({x:e},!0),t.setLayout({dx:i},!0)):(t.setLayout({y:e},!0),t.setLayout({dy:i},!0))})}),E(e,function(t){var e=+t.getValue()*l;t.setLayout({dy:e},!0)})})(s,e,i,n,a,r),Ub(s,a,i,n,r);for(var l=1;0<o;o--)Xb(s,l*=.99,r),Ub(s,a,i,n,r),Jb(s,l,r),Ub(s,a,i,n,r)}(t,e,o,a,n,r,s),function(t,e){var i="vertical"===e?"x":"y";E(t,function(t){t.outEdges.sort(function(t,e){return t.node2.getLayout()[i]-e.node2.getLayout()[i]}),t.inEdges.sort(function(t,e){return t.node1.getLayout()[i]-e.node1.getLayout()[i]})}),E(t,function(t){var e=0,i=0;E(t.outEdges,function(t){t.setLayout({sy:e},!0),e+=t.getLayout().dy}),E(t.inEdges,function(t){t.setLayout({ty:i},!0),i+=t.getLayout().dy})})}(t,s)}(s,l,e,i,a,o,0!==M(s,function(t){return 0===t.getLayout().value}).length?0:t.get("layoutIterations"),t.get("orient"),t.get("nodeAlign"))})}),af(function(t,e){t.eachSeriesByType("sankey",function(n){var t=n.getGraph().nodes;if(t.length){var a=1/0,o=-1/0;E(t,function(t){var e=t.getLayout().value;e<a&&(a=e),o<e&&(o=e)}),E(t,function(t){var e=new Bx({type:"color",mappingMethod:"linear",dataExtent:[a,o],visual:n.get("color")}).mapValueToVisual(t.getLayout().value),i=t.getModel().get("itemStyle.color");null!=i?t.setVisual("color",i):t.setVisual("color",e)})}})});var Qb={_baseAxisDim:null,getInitialData:function(t,e){var i,n,a=e.getComponent("xAxis",this.get("xAxisIndex")),o=e.getComponent("yAxis",this.get("yAxisIndex")),r=a.get("type"),s=o.get("type");"category"===r?(t.layout="horizontal",i=a.getOrdinalMeta(),n=!0):"category"===s?(t.layout="vertical",i=o.getOrdinalMeta(),n=!0):t.layout=t.layout||"horizontal";var l=["x","y"],u="horizontal"===t.layout?0:1,h=this._baseAxisDim=l[u],c=l[1-u],d=[a,o],f=d[u].get("type"),p=d[1-u].get("type"),g=t.data;if(g&&n){var m=[];E(g,function(t,e){var i;t.value&&k(t.value)?(i=t.value.slice(),t.value.unshift(e)):k(t)?(i=t.slice(),t.unshift(e)):i=t,m.push(i)}),t.data=m}var v=this.defaultValueDimensions;return yv(this,{coordDimensions:[{name:h,type:mf(f),ordinalMeta:i,otherDims:{tooltip:!1,itemName:0},dimsDef:["base"]},{name:c,type:mf(p),dimsDef:v.slice()}],dimensionsCount:v.length+1})},getBaseAxis:function(){var t=this._baseAxisDim;return this.ecModel.getComponent(t+"Axis",this.get(t+"AxisIndex")).axis}};b(Wh.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}}),Qb,!0);var tS=["itemStyle"],eS=["emphasis","itemStyle"],iS=(ec.extend({type:"boxplot",render:function(t,e,i){var a=t.getData(),o=this.group,r=this._data;this._data||o.removeAll();var s="horizontal"===t.get("layout")?1:0;a.diff(r).add(function(t){if(a.hasValue(t)){var e=nS(a.getItemLayout(t),a,t,s,!0);a.setItemGraphicEl(t,e),o.add(e)}}).update(function(t,e){var i=r.getItemGraphicEl(e);if(a.hasValue(t)){var n=a.getItemLayout(t);i?aS(n,i,a,t):i=nS(n,a,t,s),o.add(i),a.setItemGraphicEl(t,i)}else o.remove(i)}).remove(function(t){var e=r.getItemGraphicEl(t);e&&o.remove(e)}).execute(),this._data=a},remove:function(t){var e=this.group,i=this._data;this._data=null,i&&i.eachItemGraphicEl(function(t){t&&e.remove(t)})},dispose:et}),hr.extend({type:"boxplotBoxPath",shape:{},buildPath:function(t,e){var i=e.points,n=0;for(t.moveTo(i[n][0],i[n][1]),n++;n<4;n++)t.lineTo(i[n][0],i[n][1]);for(t.closePath();n<i.length;n++)t.moveTo(i[n][0],i[n][1]),n++,t.lineTo(i[n][0],i[n][1])}}));function nS(t,e,i,n,a){var o=t.ends,r=new iS({shape:{points:a?function(t,e,i){return N(t,function(t){return(t=t.slice())[e]=i.initBaseline,t})}(o,n,t):o}});return aS(t,r,e,i,a),r}function aS(t,e,i,n,a){var o=i.hostModel;(0,ol[a?"initProps":"updateProps"])(e,{shape:{points:t.ends}},o,n);var r=i.getItemModel(n),s=r.getModel(tS),l=i.getItemVisual(n,"color"),u=s.getItemStyle(["borderColor"]);u.stroke=l,u.strokeNoScale=!0,e.useStyle(u),e.z2=100,Os(e,r.getModel(eS).getItemStyle())}var oS=["itemStyle","borderColor"],rS=E;af(function(n,t){var a=n.get("color");n.eachRawSeriesByType("boxplot",function(t){var e=a[t.seriesIndex%a.length],i=t.getData();i.setVisual({legendSymbol:"roundRect",color:t.get(oS)||e}),n.isSeriesFiltered(t)||i.each(function(t){var e=i.getItemModel(t);i.setItemVisual(t,{color:e.get(oS,!0)})})})}),nf(function(t){var e=function(t){var n=[],a=[];return t.eachSeriesByType("boxplot",function(t){var e=t.getBaseAxis(),i=_(a,e);i<0&&(i=a.length,a[i]=e,n[i]={axis:e,seriesModels:[]}),n[i].seriesModels.push(t)}),n}(t);rS(e,function(i){var t=i.seriesModels;t.length&&(function(t){var e,i,n=t.axis,a=t.seriesModels,o=a.length,r=t.boxWidthList=[],s=t.boxOffsetList=[],l=[];if("category"===n.type)i=n.getBandWidth();else{var u=0;rS(a,function(t){u=Math.max(u,t.getData().count())}),e=n.getExtent(),Math.abs(e[1]-e[0])}rS(a,function(t){var e=t.get("boxWidth");k(e)||(e=[e,e]),l.push([xl(e[0],i)||0,xl(e[1],i)||0])});var h=.8*i-2,c=h/o*.3,d=(h-c*(o-1))/o,f=d/2-h/2;rS(a,function(t,e){s.push(f),f+=c+d,r.push(Math.min(Math.max(d,l[e][0]),l[e][1]))})}(i),rS(t,function(t,e){!function(t,r,e){var s=t.coordinateSystem,l=t.getData(),o=e/2,u="horizontal"===t.get("layout")?0:1,h=1-u,i=["x","y"],n=l.mapDimension(i[u]),a=l.mapDimension(i[h],!0);if(null==n||a.length<5)return;for(var c=0;c<l.count();c++){var d=l.get(n,c),f=x(d,a[2],c),p=x(d,a[0],c),g=x(d,a[1],c),m=x(d,a[3],c),v=x(d,a[4],c),y=[];_(y,g,0),_(y,m,1),y.push(p,g,v,m),w(y,p),w(y,v),w(y,f),l.setItemLayout(c,{initBaseline:f[h],ends:y})}function x(t,e,i){var n,a=l.get(e,i),o=[];return o[u]=t,o[h]=a,isNaN(t)||isNaN(a)?n=[NaN,NaN]:(n=s.dataToPoint(o))[u]+=r,n}function _(t,e,i){var n=e.slice(),a=e.slice();n[u]+=o,a[u]-=o,i?t.push(n,a):t.push(a,n)}function w(t,e){var i=e.slice(),n=e.slice();i[u]-=o,n[u]+=o,t.push(i,n)}}(t,i.boxOffsetList[e],i.boxWidthList[e])}))})}),b(Wh.extend({type:"series.candlestick",dependencies:["xAxis","yAxis","grid"],defaultValueDimensions:[{name:"open",defaultTooltip:!0},{name:"close",defaultTooltip:!0},{name:"lowest",defaultTooltip:!0},{name:"highest",defaultTooltip:!0}],dimensions:null,defaultOption:{zlevel:0,z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,hoverAnimation:!0,layout:null,clip:!0,itemStyle:{color:"#c23531",color0:"#314656",borderWidth:1,borderColor:"#c23531",borderColor0:"#314656"},emphasis:{itemStyle:{borderWidth:2}},barMaxWidth:null,barMinWidth:null,barWidth:null,large:!0,largeThreshold:600,progressive:3e3,progressiveThreshold:1e4,progressiveChunkMode:"mod",animationUpdate:!1,animationEasing:"linear",animationDuration:300},getShadowDim:function(){return"open"},brushSelector:function(t,e,i){var n=e.getItemLayout(t);return n&&i.rect(n.brushRect)}}),Qb,!0);var sS=["itemStyle"],lS=["emphasis","itemStyle"],uS=["color","color0","borderColor","borderColor0"],hS=(ec.extend({type:"candlestick",render:function(t,e,i){this.group.removeClipPath(),this._updateDrawMode(t),this._isLargeDraw?this._renderLarge(t):this._renderNormal(t)},incrementalPrepareRender:function(t,e,i){this._clear(),this._updateDrawMode(t)},incrementalRender:function(t,e,i,n){this._isLargeDraw?this._incrementalRenderLarge(t,e):this._incrementalRenderNormal(t,e)},_updateDrawMode:function(t){var e=t.pipelineContext.large;(null==this._isLargeDraw||e^this._isLargeDraw)&&(this._isLargeDraw=e,this._clear())},_renderNormal:function(a){var o=a.getData(),r=this._data,s=this.group,l=o.getLayout("isSimpleBox"),u=a.get("clip",!0),t=a.coordinateSystem,h=t.getArea&&t.getArea();this._data||s.removeAll(),o.diff(r).add(function(t){if(o.hasValue(t)){var e,i=o.getItemLayout(t);if(u&&dS(h,i))return;qs(e=cS(i,t,!0),{shape:{points:i.ends}},a,t),fS(e,o,t,l),s.add(e),o.setItemGraphicEl(t,e)}}).update(function(t,e){var i=r.getItemGraphicEl(e);if(o.hasValue(t)){var n=o.getItemLayout(t);u&&dS(h,n)?s.remove(i):(i?js(i,{shape:{points:n.ends}},a,t):i=cS(n,t),fS(i,o,t,l),s.add(i),o.setItemGraphicEl(t,i))}else s.remove(i)}).remove(function(t){var e=r.getItemGraphicEl(t);e&&s.remove(e)}).execute(),this._data=o},_renderLarge:function(t){this._clear(),gS(t,this.group);var e=t.get("clip",!0)?tm(t.coordinateSystem,!1,t):null;e?this.group.setClipPath(e):this.group.removeClipPath()},_incrementalRenderNormal:function(t,e){for(var i,n=e.getData(),a=n.getLayout("isSimpleBox");null!=(i=t.next());){var o;fS(o=cS(n.getItemLayout(i),i),n,i,a),o.incremental=!0,this.group.add(o)}},_incrementalRenderLarge:function(t,e){gS(e,this.group,!0)},remove:function(t){this._clear()},_clear:function(){this.group.removeAll(),this._data=null},dispose:et}),hr.extend({type:"normalCandlestickBox",shape:{},buildPath:function(t,e){var i=e.points;this.__simpleBox?(t.moveTo(i[4][0],i[4][1]),t.lineTo(i[6][0],i[6][1])):(t.moveTo(i[0][0],i[0][1]),t.lineTo(i[1][0],i[1][1]),t.lineTo(i[2][0],i[2][1]),t.lineTo(i[3][0],i[3][1]),t.closePath(),t.moveTo(i[4][0],i[4][1]),t.lineTo(i[5][0],i[5][1]),t.moveTo(i[6][0],i[6][1]),t.lineTo(i[7][0],i[7][1]))}}));function cS(t,e,i){var n=t.ends;return new hS({shape:{points:i?function(t,e){return N(t,function(t){return(t=t.slice())[1]=e.initBaseline,t})}(n,t):n},z2:100})}function dS(t,e){for(var i=!0,n=0;n<e.ends.length;n++)if(t.contain(e.ends[n][0],e.ends[n][1])){i=!1;break}return i}function fS(t,e,i,n){var a=e.getItemModel(i),o=a.getModel(sS),r=e.getItemVisual(i,"color"),s=e.getItemVisual(i,"borderColor")||r,l=o.getItemStyle(uS);t.useStyle(l),t.style.strokeNoScale=!0,t.style.fill=r,t.style.stroke=s,t.__simpleBox=n,Os(t,a.getModel(lS).getItemStyle())}var pS=hr.extend({type:"largeCandlestickBox",shape:{},buildPath:function(t,e){for(var i=e.points,n=0;n<i.length;)if(this.__sign===i[n++]){var a=i[n++];t.moveTo(a,i[n++]),t.lineTo(a,i[n++])}else n+=3}});function gS(t,e,i){var n=t.getData(),a=n.getLayout("largePoints"),o=new pS({shape:{points:a},__sign:1});e.add(o);var r=new pS({shape:{points:a},__sign:-1});e.add(r),mS(1,o,t,n),mS(-1,r,t,n),i&&(o.incremental=!0,r.incremental=!0)}function mS(t,e,i,n){var a=0<t?"P":"N",o=n.getVisual("borderColor"+a)||n.getVisual("color"+a),r=i.getModel(sS).getItemStyle(uS);e.useStyle(r),e.style.fill=null,e.style.stroke=o}var vS=["itemStyle","borderColor"],yS=["itemStyle","borderColor0"],xS=["itemStyle","color"],_S=["itemStyle","color0"],wS={seriesType:"candlestick",plan:Jh(),performRawSeries:!0,reset:function(t,e){var i=t.getData(),n=t.pipelineContext.large;if(i.setVisual({legendSymbol:"roundRect",colorP:o(1,t),colorN:o(-1,t),borderColorP:r(1,t),borderColorN:r(-1,t)}),!e.isSeriesFiltered(t))return!n&&{progress:function(t,e){var i;for(;null!=(i=t.next());){var n=e.getItemModel(i),a=e.getItemLayout(i).sign;e.setItemVisual(i,{color:o(a,n),borderColor:r(a,n)})}}};function o(t,e){return e.get(0<t?xS:_S)}function r(t,e){return e.get(0<t?vS:yS)}}},bS="undefined"!=typeof Float32Array?Float32Array:Array,SS={seriesType:"candlestick",plan:Jh(),reset:function(t){var x=t.coordinateSystem,e=t.getData(),_=function(t,e){var i,n=t.getBaseAxis(),a="category"===n.type?n.getBandWidth():(i=n.getExtent(),Math.abs(i[1]-i[0])/e.count()),o=xl(H(t.get("barMaxWidth"),a),a),r=xl(H(t.get("barMinWidth"),1),a),s=t.get("barWidth");return null!=s?xl(s,a):Math.max(Math.min(a/2,o),r)}(t,e),i=["x","y"],w=e.mapDimension(i[0]),n=e.mapDimension(i[1],!0),b=n[0],S=n[1],M=n[2],I=n[3];if(e.setLayout({candleWidth:_,isSimpleBox:_<=1.3}),!(null==w||n.length<4))return{progress:t.pipelineContext.large?function(t,e){var i,n,a=new bS(4*t.count),o=0,r=[],s=[];for(;null!=(n=t.next());){var l=e.get(w,n),u=e.get(b,n),h=e.get(S,n),c=e.get(M,n),d=e.get(I,n);isNaN(l)||isNaN(c)||isNaN(d)?(a[o++]=NaN,o+=3):(a[o++]=MS(e,n,u,h,S),r[0]=l,r[1]=c,i=x.dataToPoint(r,null,s),a[o++]=i?i[0]:NaN,a[o++]=i?i[1]:NaN,r[1]=d,i=x.dataToPoint(r,null,s),a[o++]=i?i[1]:NaN)}e.setLayout("largePoints",a)}:function(t,e){var i;for(;null!=(i=t.next());){var n=e.get(w,i),a=e.get(b,i),o=e.get(S,i),r=e.get(M,i),s=e.get(I,i),l=Math.min(a,o),u=Math.max(a,o),h=g(l,n),c=g(u,n),d=g(r,n),f=g(s,n),p=[];m(p,c,0),m(p,h,1),p.push(y(f),y(c),y(d),y(h)),e.setItemLayout(i,{sign:MS(e,i,a,o,S),initBaseline:o<a?c[1]:h[1],ends:p,brushRect:v(r,s,n)})}function g(t,e){var i=[];return i[0]=e,i[1]=t,isNaN(e)||isNaN(t)?[NaN,NaN]:x.dataToPoint(i)}function m(t,e,i){var n=e.slice(),a=e.slice();n[0]=_s(n[0]+_/2,1,!1),a[0]=_s(a[0]-_/2,1,!0),i?t.push(n,a):t.push(a,n)}function v(t,e,i){var n=g(t,i),a=g(e,i);return n[0]-=_/2,a[0]-=_/2,{x:n[0],y:n[1],width:_,height:a[1]-n[1]}}function y(t){return t[0]=_s(t[0],1),t}}}}};function MS(t,e,i,n,a){return n<i?-1:i<n?1:0<e?t.get(a,e-1)<=n?1:-1:1}Jd(function(t){t&&k(t.series)&&E(t.series,function(t){z(t)&&"k"===t.type&&(t.type="candlestick")})}),af(wS),nf(SS),Wh.extend({type:"series.effectScatter",dependencies:["grid","polar"],getInitialData:function(t,e){return Xf(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}});function IS(t,e){var i=e.rippleEffectColor||e.color;t.eachChild(function(t){t.attr({z:e.z,zlevel:e.zlevel,style:{stroke:"stroke"===e.brushType?i:null,fill:"fill"===e.brushType?i:null}})})}function AS(t,e){Si.call(this);var i=new Sg(t,e),n=new Si;this.add(i),this.add(n),n.beforeUpdate=function(){this.attr(i.getScale())},this.updateData(t,e)}var TS=AS.prototype;TS.stopEffectAnimation=function(){this.childAt(1).removeAll()},TS.startEffectAnimation=function(t){for(var e=t.symbolType,i=t.color,n=this.childAt(1),a=0;a<3;a++){var o=Jp(e,-1,-1,2,2,i);o.attr({style:{strokeNoScale:!0},z2:99,silent:!0,scale:[.5,.5]});var r=-a/3*t.period+t.effectOffset;o.animate("",!0).when(t.period,{scale:[t.rippleScale/2,t.rippleScale/2]}).delay(r).start(),o.animateStyle(!0).when(t.period,{opacity:0}).delay(r).start(),n.add(o)}IS(n,t)},TS.updateEffectAnimation=function(t){for(var e=this._effectCfg,i=this.childAt(1),n=["symbolType","period","rippleScale"],a=0;a<n.length;a++){var o=n[a];if(e[o]!==t[o])return this.stopEffectAnimation(),void this.startEffectAnimation(t)}IS(i,t)},TS.highlight=function(){this.trigger("emphasis")},TS.downplay=function(){this.trigger("normal")},TS.updateData=function(t,e){var i=t.hostModel;this.childAt(0).updateData(t,e);var n=this.childAt(1),a=t.getItemModel(e),o=t.getItemVisual(e,"symbol"),r=function(t){return k(t)||(t=[+t,+t]),t}(t.getItemVisual(e,"symbolSize")),s=t.getItemVisual(e,"color");n.attr("scale",r),n.traverse(function(t){t.attr({fill:s})});var l=a.getShallow("symbolOffset");if(l){var u=n.position;u[0]=xl(l[0],r[0]),u[1]=xl(l[1],r[1])}n.rotation=(a.getShallow("symbolRotate")||0)*Math.PI/180||0;var h={};if(h.showEffectOn=i.get("showEffectOn"),h.rippleScale=a.get("rippleEffect.scale"),h.brushType=a.get("rippleEffect.brushType"),h.period=1e3*a.get("rippleEffect.period"),h.effectOffset=e/t.count(),h.z=a.getShallow("z")||0,h.zlevel=a.getShallow("zlevel")||0,h.symbolType=o,h.color=s,h.rippleEffectColor=a.get("rippleEffect.color"),this.off("mouseover").off("mouseout").off("emphasis").off("normal"),"render"===h.showEffectOn)this._effectCfg?this.updateEffectAnimation(h):this.startEffectAnimation(h),this._effectCfg=h;else{this._effectCfg=null,this.stopEffectAnimation();var c=this.childAt(0),d=function(){c.highlight(),"render"!==h.showEffectOn&&this.startEffectAnimation(h)},f=function(){c.downplay(),"render"!==h.showEffectOn&&this.stopEffectAnimation()};this.on("mouseover",d,this).on("mouseout",f,this).on("emphasis",d,this).on("normal",f,this)}this._effectCfg=h},TS.fadeOut=function(t){this.off("mouseover").off("mouseout").off("emphasis").off("normal"),t&&t()},w(AS,Si),hf({type:"effectScatter",init:function(){this._symbolDraw=new Ng(AS)},render:function(t,e,i){var n=t.getData(),a=this._symbolDraw;a.updateData(n),this.group.add(a.group)},updateTransform:function(t,e,i){var n=t.getData();this.group.dirty();var a=sm().reset(t);a.progress&&a.progress({start:0,end:n.count()},n),this._symbolDraw.updateLayout(n)},_updateGroupTransform:function(t){var e=t.coordinateSystem;e&&e.getRoamTransform&&(this.group.transform=se(e.getRoamTransform()),this.group.decomposeTransform())},remove:function(t,e){this._symbolDraw&&this._symbolDraw.remove(e)},dispose:function(){}}),af(rm("effectScatter","circle")),nf(sm("effectScatter"));var DS="undefined"==typeof Uint32Array?Array:Uint32Array,CS="undefined"==typeof Float64Array?Array:Float64Array;function LS(t){var e=t.data;e&&e[0]&&e[0][0]&&e[0][0].coord&&(t.data=N(e,function(t){var e={coords:[t[0].coord,t[1].coord]};return t[0].name&&(e.fromName=t[0].name),t[1].name&&(e.toName=t[1].name),p([e,t[0],t[1]])}))}var kS=Wh.extend({type:"series.lines",dependencies:["grid","polar"],visualColorAccessPath:"lineStyle.color",init:function(t){t.data=t.data||[],LS(t);var e=this._processFlatCoordsArray(t.data);this._flatCoords=e.flatCoords,this._flatCoordsOffset=e.flatCoordsOffset,e.flatCoords&&(t.data=new Float32Array(e.count)),kS.superApply(this,"init",arguments)},mergeOption:function(t){if(t.data=t.data||[],LS(t),t.data){var e=this._processFlatCoordsArray(t.data);this._flatCoords=e.flatCoords,this._flatCoordsOffset=e.flatCoordsOffset,e.flatCoords&&(t.data=new Float32Array(e.count))}kS.superApply(this,"mergeOption",arguments)},appendData:function(t){var e=this._processFlatCoordsArray(t.data);e.flatCoords&&(this._flatCoords?(this._flatCoords=tt(this._flatCoords,e.flatCoords),this._flatCoordsOffset=tt(this._flatCoordsOffset,e.flatCoordsOffset)):(this._flatCoords=e.flatCoords,this._flatCoordsOffset=e.flatCoordsOffset),t.data=new Float32Array(e.count)),this.getRawData().appendData(t.data)},_getCoordsFromItemModel:function(t){var e=this.getData().getItemModel(t);return e.option instanceof Array?e.option:e.getShallow("coords")},getLineCoordsCount:function(t){return this._flatCoordsOffset?this._flatCoordsOffset[2*t+1]:this._getCoordsFromItemModel(t).length},getLineCoords:function(t,e){if(this._flatCoordsOffset){for(var i=this._flatCoordsOffset[2*t],n=this._flatCoordsOffset[2*t+1],a=0;a<n;a++)e[a]=e[a]||[],e[a][0]=this._flatCoords[i+2*a],e[a][1]=this._flatCoords[i+2*a+1];return n}var o=this._getCoordsFromItemModel(t);for(a=0;a<o.length;a++)e[a]=e[a]||[],e[a][0]=o[a][0],e[a][1]=o[a][1];return o.length},_processFlatCoordsArray:function(t){var e=0;if(this._flatCoords&&(e=this._flatCoords.length),"number"!=typeof t[0])return{flatCoordsOffset:null,flatCoords:null,count:t.length};for(var i=t.length,n=new DS(i),a=new CS(i),o=0,r=0,s=0,l=0;l<i;){s++;var u=t[l++];n[r++]=o+e,n[r++]=u;for(var h=0;h<u;h++){var c=t[l++],d=t[l++];a[o++]=c,a[o++]=d}}return{flatCoordsOffset:new Uint32Array(n.buffer,0,r),flatCoords:a,count:s}},getInitialData:function(t,e){var o=new Tf(["value"],this);return o.hasItemOption=!1,o.initData(t.data,[],function(t,e,i,n){if(t instanceof Array)return NaN;o.hasItemOption=!0;var a=t.value;return null!=a?a instanceof Array?a[n]:a:void 0}),o},formatTooltip:function(t){var e=this.getData().getItemModel(t),i=e.get("name");if(i)return i;var n=e.get("fromName"),a=e.get("toName"),o=[];return null!=n&&o.push(n),null!=a&&o.push(a),Wl(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,clip:!0,label:{show:!1,position:"end"},lineStyle:{opacity:.5}}});function PS(t,e,i){Si.call(this),this.add(this.createLine(t,e,i)),this._updateEffectSymbol(t,e)}var NS=PS.prototype;function OS(t,e,i){Si.call(this),this._createPolyline(t,e,i)}NS.createLine=function(t,e,i){return new E_(t,e,i)},NS._updateEffectSymbol=function(t,e){var i=t.getItemModel(e).getModel("effect"),n=i.get("symbolSize"),a=i.get("symbol");k(n)||(n=[n,n]);var o=i.get("color")||t.getItemVisual(e,"color"),r=this.childAt(1);this._symbolType!==a&&(this.remove(r),(r=Jp(a,-.5,-.5,1,1,o)).z2=100,r.culling=!0,this.add(r)),r&&(r.setStyle("shadowColor",o),r.setStyle(i.getItemStyle(["color"])),r.attr("scale",n),r.setColor(o),r.attr("scale",n),this._symbolType=a,this._updateEffectAnimation(t,i,e))},NS._updateEffectAnimation=function(e,t,i){var n=this.childAt(1);if(n){var a=this,o=e.getItemLayout(i),r=1e3*t.get("period"),s=t.get("loop"),l=t.get("constantSpeed"),u=W(t.get("delay"),function(t){return t/e.count()*r/3}),h="function"==typeof u;if(n.ignore=!0,this.updateAnimationPoints(n,o),0<l&&(r=this.getLineLength(n)/l*1e3),r!==this._period||s!==this._loop){n.stopAnimation();var c=u;h&&(c=u(i)),0<n.__t&&(c=-r*n.__t),n.__t=0;var d=n.animate("",s).when(r,{__t:1}).delay(c).during(function(){a.updateSymbolPosition(n)});s||d.done(function(){a.remove(n)}),d.start()}this._period=r,this._loop=s}},NS.getLineLength=function(t){return yt(t.__p1,t.__cp1)+yt(t.__cp1,t.__p2)},NS.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]},NS.updateData=function(t,e,i){this.childAt(0).updateData(t,e,i),this._updateEffectSymbol(t,e)},NS.updateSymbolPosition=function(t){var e=t.__p1,i=t.__p2,n=t.__cp1,a=t.__t,o=t.position,r=fo,s=po;o[0]=r(e[0],n[0],i[0],a),o[1]=r(e[1],n[1],i[1],a);var l=s(e[0],n[0],i[0],a),u=s(e[1],n[1],i[1],a);t.rotation=-Math.atan2(u,l)-Math.PI/2,t.ignore=!1},NS.updateLayout=function(t,e){this.childAt(0).updateLayout(t,e);var i=t.getItemModel(e).getModel("effect");this._updateEffectAnimation(t,i,e)},w(PS,Si);var ES=OS.prototype;function RS(t,e,i){PS.call(this,t,e,i),this._lastFrame=0,this._lastFramePercent=0}ES._createPolyline=function(t,e,i){var n=t.getItemLayout(e),a=new zr({shape:{points:n}});this.add(a),this._updateCommonStl(t,e,i)},ES.updateData=function(t,e,i){var n=t.hostModel;js(this.childAt(0),{shape:{points:t.getItemLayout(e)}},n,e),this._updateCommonStl(t,e,i)},ES._updateCommonStl=function(t,e,i){var n=this.childAt(0),a=t.getItemModel(e),o=t.getItemVisual(e,"color"),r=i&&i.lineStyle,s=i&&i.hoverLineStyle;i&&!t.hasItemOption||(r=a.getModel("lineStyle").getLineStyle(),s=a.getModel("emphasis.lineStyle").getLineStyle()),n.useStyle(C({strokeNoScale:!0,fill:"none",stroke:o},r)),n.hoverStyle=s,Os(this)},ES.updateLayout=function(t,e){this.childAt(0).setShape("points",t.getItemLayout(e))},w(OS,Si);var zS=RS.prototype;zS.createLine=function(t,e,i){return new OS(t,e,i)},zS.updateAnimationPoints=function(t,e){this._points=e;for(var i=[0],n=0,a=1;a<e.length;a++){var o=e[a-1],r=e[a];n+=yt(o,r),i.push(n)}if(0!==n){for(a=0;a<i.length;a++)i[a]/=n;this._offsets=i,this._length=n}},zS.getLineLength=function(t){return this._length},zS.updateSymbolPosition=function(t){var e=t.__t,i=this._points,n=this._offsets,a=i.length;if(n){var o=this._lastFrame;if(e<this._lastFramePercent){for(r=Math.min(o+1,a-1);0<=r&&!(n[r]<=e);r--);r=Math.min(r,a-2)}else{for(var r=o;r<a&&!(n[r]>e);r++);r=Math.min(r-1,a-2)}wt(t.position,i[r],i[r+1],(e-n[r])/(n[r+1]-n[r]));var s=i[r+1][0]-i[r][0],l=i[r+1][1]-i[r][1];t.rotation=-Math.atan2(l,s)-Math.PI/2,this._lastFrame=r,this._lastFramePercent=e,t.ignore=!1}},w(RS,PS);var BS=ds({shape:{polyline:!1,curveness:0,segs:[]},buildPath:function(t,e){var i=e.segs,n=e.curveness;if(e.polyline)for(var a=0;a<i.length;){var o=i[a++];if(0<o){t.moveTo(i[a++],i[a++]);for(var r=1;r<o;r++)t.lineTo(i[a++],i[a++])}}else for(a=0;a<i.length;){var s=i[a++],l=i[a++],u=i[a++],h=i[a++];if(t.moveTo(s,l),0<n){var c=(s+u)/2-(l-h)*n,d=(l+h)/2-(u-s)*n;t.quadraticCurveTo(c,d,u,h)}else t.lineTo(u,h)}},findDataIndex:function(t,e){var i=this.shape,n=i.segs,a=i.curveness;if(i.polyline)for(var o=0,r=0;r<n.length;){var s=n[r++];if(0<s)for(var l=n[r++],u=n[r++],h=1;h<s;h++){if(Zo(l,u,c=n[r++],d=n[r++]))return o}o++}else for(o=0,r=0;r<n.length;){l=n[r++],u=n[r++];var c=n[r++],d=n[r++];if(0<a){if(Xo(l,u,(l+c)/2-(u-d)*a,(u+d)/2-(c-l)*a,c,d))return o}else if(Zo(l,u,c,d))return o;o++}return-1}});function VS(){this.group=new Si}var GS=VS.prototype;GS.isPersistent=function(){return!this._incremental},GS.updateData=function(t){this.group.removeAll();var e=new BS({rectHover:!0,cursor:"default"});e.setShape({segs:t.getLayout("linesPoints")}),this._setCommon(e,t),this.group.add(e),this._incremental=null},GS.incrementalPrepareUpdate=function(t){this.group.removeAll(),this._clearIncremental(),5e5<t.count()?(this._incremental||(this._incremental=new ts({silent:!0})),this.group.add(this._incremental)):this._incremental=null},GS.incrementalUpdate=function(t,e){var i=new BS;i.setShape({segs:e.getLayout("linesPoints")}),this._setCommon(i,e,!!this._incremental),this._incremental?this._incremental.addDisplayable(i,!0):(i.rectHover=!0,i.cursor="default",i.__startIndex=t.start,this.group.add(i))},GS.remove=function(){this._clearIncremental(),this._incremental=null,this.group.removeAll()},GS._setCommon=function(i,t,e){var n=t.hostModel;i.setShape({polyline:n.get("polyline"),curveness:n.get("lineStyle.curveness")}),i.useStyle(n.getModel("lineStyle").getLineStyle()),i.style.strokeNoScale=!0;var a=t.getVisual("color");a&&i.setStyle("stroke",a),i.setStyle("fill"),e||(i.seriesIndex=n.seriesIndex,i.on("mousemove",function(t){i.dataIndex=null;var e=i.findDataIndex(t.offsetX,t.offsetY);0<e&&(i.dataIndex=e+i.__startIndex)}))},GS._clearIncremental=function(){var t=this._incremental;t&&t.clearDisplaybles()};var FS={seriesType:"lines",plan:Jh(),reset:function(g){var m=g.coordinateSystem,v=g.get("polyline"),y=g.pipelineContext.large;return{progress:function(t,e){var i=[];if(y){var n,a=t.end-t.start;if(v){for(var o=0,r=t.start;r<t.end;r++)o+=g.getLineCoordsCount(r);n=new Float32Array(a+2*o)}else n=new Float32Array(4*a);var s=0,l=[];for(r=t.start;r<t.end;r++){var u=g.getLineCoords(r,i);v&&(n[s++]=u);for(var h=0;h<u;h++)l=m.dataToPoint(i[h],!1,l),n[s++]=l[0],n[s++]=l[1]}e.setLayout("linesPoints",n)}else for(r=t.start;r<t.end;r++){var c=e.getItemModel(r),d=(u=g.getLineCoords(r,i),[]);if(v)for(var f=0;f<u;f++)d.push(m.dataToPoint(i[f]));else{d[0]=m.dataToPoint(i[0]),d[1]=m.dataToPoint(i[1]);var p=c.get("lineStyle.curveness");+p&&(d[2]=[(d[0][0]+d[1][0])/2-(d[0][1]-d[1][1])*p,(d[0][1]+d[1][1])/2-(d[1][0]-d[0][0])*p])}e.setItemLayout(r,d)}}}}};function WS(t){return t instanceof Array||(t=[t,t]),t}hf({type:"lines",init:function(){},render:function(t,e,i){var n=t.getData(),a=this._updateLineDraw(n,t),o=t.get("zlevel"),r=t.get("effect.trailLength"),s=i.getZr(),l="svg"===s.painter.getType();l||s.painter.getLayer(o).clear(!0),null==this._lastZlevel||l||s.configLayer(this._lastZlevel,{motionBlur:!1}),this._showEffect(t)&&r&&(l||s.configLayer(o,{motionBlur:!0,lastFrameAlpha:Math.max(Math.min(r/10+.9,1),0)})),a.updateData(n);var u=t.get("clip",!0)&&tm(t.coordinateSystem,!1,t);u?this.group.setClipPath(u):this.group.removeClipPath(),this._lastZlevel=o,this._finished=!0},incrementalPrepareRender:function(t,e,i){var n=t.getData();this._updateLineDraw(n,t).incrementalPrepareUpdate(n),this._clearLayer(i),this._finished=!1},incrementalRender:function(t,e,i){this._lineDraw.incrementalUpdate(t,e.getData()),this._finished=t.end===e.getData().count()},updateTransform:function(t,e,i){var n=t.getData(),a=t.pipelineContext;if(!this._finished||a.large||a.progressiveRender)return{update:!0};var o=FS.reset(t);o.progress&&o.progress({start:0,end:n.count()},n),this._lineDraw.updateLayout(),this._clearLayer(i)},_updateLineDraw:function(t,e){var i=this._lineDraw,n=this._showEffect(e),a=!!e.get("polyline"),o=e.pipelineContext.large;return i&&n===this._hasEffet&&a===this._isPolyline&&o===this._isLargeDraw||(i&&i.remove(),i=this._lineDraw=o?new VS:new z_(a?n?RS:OS:n?PS:E_),this._hasEffet=n,this._isPolyline=a,this._isLargeDraw=o,this.group.removeAll()),this.group.add(i.group),i},_showEffect:function(t){return!!t.get("effect.show")},_clearLayer:function(t){var e=t.getZr();"svg"===e.painter.getType()||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 HS="lineStyle.opacity".split("."),ZS={seriesType:"lines",reset:function(t,e,i){var n=WS(t.get("symbol")),a=WS(t.get("symbolSize")),o=t.getData();return o.setVisual("fromSymbol",n&&n[0]),o.setVisual("toSymbol",n&&n[1]),o.setVisual("fromSymbolSize",a&&a[0]),o.setVisual("toSymbolSize",a&&a[1]),o.setVisual("opacity",t.get(HS)),{dataEach:o.hasItemOption?function(t,e){var i=t.getItemModel(e),n=WS(i.getShallow("symbol",!0)),a=WS(i.getShallow("symbolSize",!0)),o=i.get(HS);n[0]&&t.setItemVisual(e,"fromSymbol",n[0]),n[1]&&t.setItemVisual(e,"toSymbol",n[1]),a[0]&&t.setItemVisual(e,"fromSymbolSize",a[0]),a[1]&&t.setItemVisual(e,"toSymbolSize",a[1]),t.setItemVisual(e,"opacity",o)}:null}}};nf(FS),af(ZS),Wh.extend({type:"series.heatmap",getInitialData:function(t,e){return Xf(this.getSource(),this,{generateCoord:"value"})},preventIncremental:function(){var t=Hu.get(this.get("coordinateSystem"));if(t&&t.dimensions)return"lng"===t.dimensions[0]&&"lat"===t.dimensions[1]},defaultOption:{coordinateSystem:"cartesian2d",zlevel:0,z:2,geoIndex:0,blurSize:30,pointSize:20,maxOpacity:1,minOpacity:0}});function US(){var t=g();this.canvas=t,this.blurSize=30,this.pointSize=20,this.maxOpacity=1,this.minOpacity=0,this._gradientPixels={}}US.prototype={update:function(t,e,i,n,a,o){var r=this._getBrush(),s=this._getGradient(t,a,"inRange"),l=this._getGradient(t,a,"outOfRange"),u=this.pointSize+this.blurSize,h=this.canvas,c=h.getContext("2d"),d=t.length;h.width=e,h.height=i;for(var f=0;f<d;++f){var p=t[f],g=p[0],m=p[1],v=n(p[2]);c.globalAlpha=v,c.drawImage(r,g-u,m-u)}if(!h.width||!h.height)return h;for(var y=c.getImageData(0,0,h.width,h.height),x=y.data,_=0,w=x.length,b=this.minOpacity,S=this.maxOpacity-b;_<w;){v=x[_+3]/256;var M=4*Math.floor(255*v);if(0<v){var I=o(v)?s:l;0<v&&(v=v*S+b),x[_++]=I[M],x[_++]=I[1+M],x[_++]=I[2+M],x[_++]=I[3+M]*v*256}else _+=4}return c.putImageData(y,0,0),h},_getBrush:function(){var t=this._brushCanvas||(this._brushCanvas=g()),e=this.pointSize+this.blurSize,i=2*e;t.width=i,t.height=i;var n=t.getContext("2d");return n.clearRect(0,0,i,i),n.shadowOffsetX=i,n.shadowBlur=this.blurSize,n.shadowColor="#000",n.beginPath(),n.arc(-e,e,this.pointSize,0,2*Math.PI,!0),n.closePath(),n.fill(),t},_getGradient:function(t,e,i){for(var n=this._gradientPixels,a=n[i]||(n[i]=new Uint8ClampedArray(1024)),o=[0,0,0,0],r=0,s=0;s<256;s++)e[i](s/255,!0,o),a[r++]=o[0],a[r++]=o[1],a[r++]=o[2],a[r++]=o[3];return a}},hf({type:"heatmap",render:function(i,t,e){var n;t.eachComponent("visualMap",function(e){e.eachTargetSeries(function(t){t===i&&(n=e)})}),this.group.removeAll(),this._incrementalDisplayable=null;var a=i.coordinateSystem;"cartesian2d"===a.type||"calendar"===a.type?this._renderOnCartesianAndCalendar(i,e,0,i.getData().count()):function(t){var e=t.dimensions;return"lng"===e[0]&&"lat"===e[1]}(a)&&this._renderOnGeo(a,i,n,e)},incrementalPrepareRender:function(t,e,i){this.group.removeAll()},incrementalRender:function(t,e,i,n){e.coordinateSystem&&this._renderOnCartesianAndCalendar(e,n,t.start,t.end,!0)},_renderOnCartesianAndCalendar:function(t,e,i,n,a){var o,r,s=t.coordinateSystem;if("cartesian2d"===s.type){var l=s.getAxis("x"),u=s.getAxis("y");o=l.getBandWidth(),r=u.getBandWidth()}for(var h=this.group,c=t.getData(),d="emphasis.itemStyle",f="emphasis.label",p=t.getModel("itemStyle").getItemStyle(["color"]),g=t.getModel(d).getItemStyle(),m=t.getModel("label"),v=t.getModel(f),y=s.type,x="cartesian2d"===y?[c.mapDimension("x"),c.mapDimension("y"),c.mapDimension("value")]:[c.mapDimension("time"),c.mapDimension("value")],_=i;_<n;_++){var w;if("cartesian2d"===y){if(isNaN(c.get(x[2],_)))continue;var b=s.dataToPoint([c.get(x[0],_),c.get(x[1],_)]);w=new Hr({shape:{x:b[0]-o/2,y:b[1]-r/2,width:o,height:r},style:{fill:c.getItemVisual(_,"color"),opacity:c.getItemVisual(_,"opacity")}})}else{if(isNaN(c.get(x[1],_)))continue;w=new Hr({z2:1,shape:s.dataToRect([c.get(x[0],_)]).contentShape,style:{fill:c.getItemVisual(_,"color"),opacity:c.getItemVisual(_,"opacity")}})}var S=c.getItemModel(_);c.hasItemOption&&(p=S.getModel("itemStyle").getItemStyle(["color"]),g=S.getModel(d).getItemStyle(),m=S.getModel("label"),v=S.getModel(f));var M=t.getRawValue(_),I="-";M&&null!=M[2]&&(I=M[2]),Bs(p,g,m,v,{labelFetcher:t,labelDataIndex:_,defaultText:I,isRectText:!0}),w.setStyle(p),Os(w,c.hasItemOption?g:L({},g)),(w.incremental=a)&&(w.useHoverLayer=!0),h.add(w),c.setItemGraphicEl(_,w)}},_renderOnGeo:function(a,t,e,i){var n=e.targetVisuals.inRange,o=e.targetVisuals.outOfRange,r=t.getData(),s=this._hmLayer||this._hmLayer||new US;s.blurSize=t.get("blurSize"),s.pointSize=t.get("pointSize"),s.minOpacity=t.get("minOpacity"),s.maxOpacity=t.get("maxOpacity");var l=a.getViewRect().clone(),u=a.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=[r.mapDimension("lng"),r.mapDimension("lat"),r.mapDimension("value")],v=r.mapArray(m,function(t,e,i){var n=a.dataToPoint([t,e]);return n[0]-=h,n[1]-=c,n.push(i),n}),y=e.getExtent(),x="visualMap.continuous"===e.type?function(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]}}(y,e.option.range):function(e,n,a){var i=e[1]-e[0],o=(n=N(n,function(t){return{interval:[(t.interval[0]-e[0])/i,(t.interval[1]-e[0])/i]}})).length,r=0;return function(t){for(var e=r;e<o;e++){if((i=n[e].interval)[0]<=t&&t<=i[1]){r=e;break}}if(e===o)for(e=r-1;0<=e;e--){var i;if((i=n[e].interval)[0]<=t&&t<=i[1]){r=e;break}}return 0<=e&&e<o&&a[e]}}(y,e.getPieceList(),e.option.selected);s.update(v,p,g,n.color.getNormalizer(),{inRange:n.color.getColorMapper(),outOfRange:o.color.getColorMapper()},x);var _=new Yn({style:{width:p,height:g,x:h,y:c,image:s.canvas},silent:!0});this.group.add(_)},dispose:function(){}});var XS=Qm.extend({type:"series.pictorialBar",dependencies:["grid"],defaultOption:{symbol:"circle",symbolSize:null,symbolRotate:null,symbolPosition:null,symbolOffset:null,symbolMargin:null,symbolRepeat:!1,symbolRepeatDirection:"end",symbolClip:!1,symbolBoundingData:null,symbolPatternSize:400,barGap:"-100%",progressive:0,hoverAnimation:!1},getInitialData:function(t){return t.stack=null,XS.superApply(this,"getInitialData",arguments)}}),YS=["itemStyle","borderWidth"],jS=[{xy:"x",wh:"width",index:0,posDesc:["left","right"]},{xy:"y",wh:"height",index:1,posDesc:["top","bottom"]}],qS=new Lr;hf({type:"pictorialBar",render:function(t,e,i){var r=this.group,s=t.getData(),l=this._data,n=t.coordinateSystem,a=!!n.getBaseAxis().isHorizontal(),o=n.grid.getRect(),u={ecSize:{width:i.getWidth(),height:i.getHeight()},seriesModel:t,coordSys:n,coordSysExtent:[[o.x,o.x+o.width],[o.y,o.y+o.height]],isHorizontal:a,valueDim:jS[+a],categoryDim:jS[1-a]};return s.diff(l).add(function(t){if(s.hasValue(t)){var e=nM(s,t),i=KS(s,t,e,u),n=sM(s,u,i);s.setItemGraphicEl(t,n),r.add(n),dM(n,u,i)}}).update(function(t,e){var i=l.getItemGraphicEl(e);if(s.hasValue(t)){var n=nM(s,t),a=KS(s,t,n,u),o=uM(s,a);i&&o!==i.__pictorialShapeStr&&(r.remove(i),s.setItemGraphicEl(t,null),i=null),i?function(t,e,i){var n=i.animationModel,a=i.dataIndex;js(t.__pictorialBundle,{position:i.bundlePosition.slice()},n,a),i.symbolRepeat?QS(t,e,i,!0):tM(t,e,i,!0);eM(t,i,!0),iM(t,e,i,!0)}(i,u,a):i=sM(s,u,a,!0),s.setItemGraphicEl(t,i),i.__pictorialSymbolMeta=a,r.add(i),dM(i,u,a)}else r.remove(i)}).remove(function(t){var e=l.getItemGraphicEl(t);e&&lM(l,t,e.__pictorialSymbolMeta.animationModel,e)}).execute(),this._data=s,this.group},dispose:et,remove:function(e,t){var i=this.group,n=this._data;e.get("animation")?n&&n.eachItemGraphicEl(function(t){lM(n,t.dataIndex,e,t)}):i.removeAll()}});function KS(t,e,i,n){var a=t.getItemLayout(e),o=i.get("symbolRepeat"),r=i.get("symbolClip"),s=i.get("symbolPosition")||"start",l=(i.get("symbolRotate")||0)*Math.PI/180||0,u=i.get("symbolPatternSize")||2,h=i.isAnimationEnabled(),c={dataIndex:e,layout:a,itemModel:i,symbolType:t.getItemVisual(e,"symbol")||"circle",color:t.getItemVisual(e,"color"),symbolClip:r,symbolRepeat:o,symbolRepeatDirection:i.get("symbolRepeatDirection"),symbolPatternSize:u,rotation:l,animationModel:h?i:null,hoverAnimation:h&&i.get("hoverAnimation"),z2:i.getShallow("z",!0)||0};!function(t,e,i,n,a){var o,r=n.valueDim,s=t.get("symbolBoundingData"),l=n.coordSys.getOtherAxis(n.coordSys.getBaseAxis()),u=l.toGlobalCoord(l.dataToCoord(0)),h=1-+(i[r.wh]<=0);if(k(s)){var c=[$S(l,s[0])-u,$S(l,s[1])-u];c[1]<c[0]&&c.reverse(),o=c[h]}else o=null!=s?$S(l,s)-u:e?n.coordSysExtent[r.index][h]-u:i[r.wh];a.boundingLength=o,e&&(a.repeatCutLength=i[r.wh]);a.pxSign=0<o?1:o<0?-1:0}(i,o,a,n,c),function(t,e,i,n,a,o,r,s,l,u){var h=l.valueDim,c=l.categoryDim,d=Math.abs(i[c.wh]),f=t.getItemVisual(e,"symbolSize");f=k(f)?f.slice():(null==f&&(f="100%"),[f,f]);f[c.index]=xl(f[c.index],d),f[h.index]=xl(f[h.index],n?d:Math.abs(o)),u.symbolSize=f,(u.symbolScale=[f[0]/s,f[1]/s])[h.index]*=(l.isHorizontal?-1:1)*r}(t,e,a,o,0,c.boundingLength,c.pxSign,u,n,c),function(t,e,i,n,a){var o=t.get(YS)||0;o&&(qS.attr({scale:e.slice(),rotation:i}),qS.updateTransform(),o/=qS.getLineScale(),o*=e[n.valueDim.index]);a.valueLineWidth=o}(i,c.symbolScale,l,n,c);var d=c.symbolSize,f=i.get("symbolOffset");return k(f)&&(f=[xl(f[0],d[0]),xl(f[1],d[1])]),function(t,e,i,n,a,o,r,s,l,u,h,c){var d=h.categoryDim,f=h.valueDim,p=c.pxSign,g=Math.max(e[f.index]+s,0),m=g;if(n){var v=Math.abs(l),y=W(t.get("symbolMargin"),"15%")+"",x=!1;y.lastIndexOf("!")===y.length-1&&(x=!0,y=y.slice(0,y.length-1)),y=xl(y,e[f.index]);var _=Math.max(g+2*y,0),w=x?0:2*y,b=El(n),S=b?n:fM((v+w)/_);_=g+2*(y=(v-S*g)/2/(x?S:S-1)),w=x?0:2*y,b||"fixed"===n||(S=u?fM((Math.abs(u)+w)/_):0),m=S*_-w,c.repeatTimes=S,c.symbolMargin=y}var M=p*(m/2),I=c.pathPosition=[];I[d.index]=i[d.wh]/2,I[f.index]="start"===r?M:"end"===r?l-M:l/2,o&&(I[0]+=o[0],I[1]+=o[1]);var A=c.bundlePosition=[];A[d.index]=i[d.xy],A[f.index]=i[f.xy];var T=c.barRectShape=L({},i);T[f.wh]=p*Math.max(Math.abs(i[f.wh]),Math.abs(I[f.index]+M)),T[d.wh]=i[d.wh];var D=c.clipShape={};D[d.xy]=-i[d.xy],D[d.wh]=h.ecSize[d.wh],D[f.xy]=0,D[f.wh]=i[f.wh]}(i,d,a,o,0,f,s,c.valueLineWidth,c.boundingLength,c.repeatCutLength,n,c),c}function $S(t,e){return t.toGlobalCoord(t.dataToCoord(t.scale.parse(e)))}function JS(t){var e=t.symbolPatternSize,i=Jp(t.symbolType,-e/2,-e/2,e,e,t.color);return i.attr({culling:!0}),"image"!==i.type&&i.setStyle({strokeNoScale:!0}),i}function QS(t,e,a,i){var n=t.__pictorialBundle,o=a.symbolSize,r=a.valueLineWidth,s=a.pathPosition,l=e.valueDim,u=a.repeatTimes||0,h=0,c=o[e.valueDim.index]+r+2*a.symbolMargin;for(hM(t,function(t){t.__pictorialAnimationIndex=h,t.__pictorialRepeatTimes=u,h<u?cM(t,null,p(h),a,i):cM(t,null,{scale:[0,0]},a,i,function(){n.remove(t)}),rM(t,a),h++});h<u;h++){var d=JS(a);d.__pictorialAnimationIndex=h,d.__pictorialRepeatTimes=u,n.add(d);var f=p(h);cM(d,{position:f.position,scale:[0,0]},{scale:f.scale,rotation:f.rotation},a,i),d.on("mouseover",g).on("mouseout",m),rM(d,a)}function p(t){var e=s.slice(),i=a.pxSign,n=t;return("start"===a.symbolRepeatDirection?0<i:i<0)&&(n=u-1-t),e[l.index]=c*(n-u/2+.5)+s[l.index],{position:e,scale:a.symbolScale.slice(),rotation:a.rotation}}function g(){hM(t,function(t){t.trigger("emphasis")})}function m(){hM(t,function(t){t.trigger("normal")})}}function tM(t,e,i,n){var a=t.__pictorialBundle,o=t.__pictorialMainPath;o?cM(o,null,{position:i.pathPosition.slice(),scale:i.symbolScale.slice(),rotation:i.rotation},i,n):(o=t.__pictorialMainPath=JS(i),a.add(o),cM(o,{position:i.pathPosition.slice(),scale:[0,0],rotation:i.rotation},{scale:i.symbolScale.slice()},i,n),o.on("mouseover",function(){this.trigger("emphasis")}).on("mouseout",function(){this.trigger("normal")})),rM(o,i)}function eM(t,e,i){var n=L({},e.barRectShape),a=t.__pictorialBarRect;a?cM(a,null,{shape:n},e,i):(a=t.__pictorialBarRect=new Hr({z2:2,shape:n,silent:!0,style:{stroke:"transparent",fill:"transparent",lineWidth:0}}),t.add(a))}function iM(t,e,i,n){if(i.symbolClip){var a=t.__pictorialClipPath,o=L({},i.clipShape),r=e.valueDim,s=i.animationModel,l=i.dataIndex;if(a)js(a,{shape:o},s,l);else{o[r.wh]=0,a=new Hr({shape:o}),t.__pictorialBundle.setClipPath(a),t.__pictorialClipPath=a;var u={};u[r.wh]=i.clipShape[r.wh],ol[n?"updateProps":"initProps"](a,{shape:u},s,l)}}}function nM(t,e){var i=t.getItemModel(e);return i.getAnimationDelayParams=aM,i.isAnimationEnabled=oM,i}function aM(t){return{index:t.__pictorialAnimationIndex,count:t.__pictorialRepeatTimes}}function oM(){return this.parentModel.isAnimationEnabled()&&!!this.getShallow("animation")}function rM(t,e){t.off("emphasis").off("normal");var i=e.symbolScale.slice();e.hoverAnimation&&t.on("emphasis",function(){this.animateTo({scale:[1.1*i[0],1.1*i[1]]},400,"elasticOut")}).on("normal",function(){this.animateTo({scale:i.slice()},400,"elasticOut")})}function sM(t,e,i,n){var a=new Si,o=new Si;return a.add(o),(a.__pictorialBundle=o).attr("position",i.bundlePosition.slice()),i.symbolRepeat?QS(a,e,i):tM(a,0,i),eM(a,i,n),iM(a,e,i,n),a.__pictorialShapeStr=uM(t,i),a.__pictorialSymbolMeta=i,a}function lM(t,e,i,n){var a=n.__pictorialBarRect;a&&(a.style.text=null);var o=[];hM(n,function(t){o.push(t)}),n.__pictorialMainPath&&o.push(n.__pictorialMainPath),n.__pictorialClipPath&&(i=null),E(o,function(t){js(t,{scale:[0,0]},i,e,function(){n.parent&&n.parent.remove(n)})}),t.setItemGraphicEl(e,null)}function uM(t,e){return[t.getItemVisual(e.dataIndex,"symbol")||"none",!!e.symbolRepeat,!!e.symbolClip].join(":")}function hM(e,i,n){E(e.__pictorialBundle.children(),function(t){t!==e.__pictorialBarRect&&i.call(n,t)})}function cM(t,e,i,n,a,o){e&&t.attr(e),n.symbolClip&&!a?i&&t.attr(i):i&&ol[a?"updateProps":"initProps"](t,i,n.animationModel,n.dataIndex,o)}function dM(t,e,i){var n=i.color,a=i.dataIndex,o=i.itemModel,r=o.getModel("itemStyle").getItemStyle(["color"]),s=o.getModel("emphasis.itemStyle").getItemStyle(),l=o.getShallow("cursor");hM(t,function(t){t.setColor(n),t.setStyle(C({fill:n,opacity:i.opacity},r)),Os(t,s),l&&(t.cursor=l),t.z2=i.z2});var u={},h=(e.valueDim.posDesc[+(0<i.boundingLength)],t.__pictorialBarRect);tv(h.style,u,o,n,e.seriesModel,a),Os(h,u)}function fM(t){var e=Math.round(t);return Math.abs(t-e)<1e-4?e:Math.ceil(t)}nf(A(pp,"pictorialBar")),af(rm("pictorialBar","roundRect"));function pM(t,e,i,n,a){vg.call(this,t,e,i),this.type=n||"value",this.position=a||"bottom",this.orient=null}function gM(t,e,i){this.dimension="single",this.dimensions=["single"],this._axis=null,this._rect,this._init(t,e,i),this.model=t}function mM(t,e){e=e||{};var i=t.coordinateSystem,n=t.axis,a={},o=n.position,r=n.orient,s=i.getRect(),l=[s.x,s.x+s.width,s.y,s.y+s.height],u={horizontal:{top:l[2],bottom:l[3]},vertical:{left:l[0],right:l[1]}};a.position=["vertical"===r?u.vertical[o]:l[0],"horizontal"===r?u.horizontal[o]:l[3]];a.rotation=Math.PI/2*{horizontal:0,vertical:1}[r];a.labelDirection=a.tickDirection=a.nameDirection={top:-1,bottom:1,right:1,left:-1}[o],t.get("axisTick.inside")&&(a.tickDirection=-a.tickDirection),W(e.labelInside,t.get("axisLabel.inside"))&&(a.labelDirection=-a.labelDirection);var h=e.rotate;return null==h&&(h=t.get("axisLabel.rotate")),a.labelRotation="top"===o?-h:h,a.z2=1,a}pM.prototype={constructor:pM,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},w(pM,vg),Hu.register("single",{create:function(n,a){var o=[];return n.eachComponent("singleAxis",function(t,e){var i=new gM(t,n,a);i.name="single_"+e,i.resize(t,a),t.coordinateSystem=i,o.push(i)}),n.eachSeries(function(t){if("singleAxis"===t.get("coordinateSystem")){var e=n.queryComponents({mainType:"singleAxis",index:t.get("singleAxisIndex"),id:t.get("singleAxisId")})[0];t.coordinateSystem=e&&e.coordinateSystem}}),o},dimensions:(gM.prototype={type:"singleAxis",axisPointerEnabled:!0,constructor:gM,_init:function(t,e,i){var n=this.dimension,a=new pM(n,Bp(t),[0,0],t.get("type"),t.get("position")),o="category"===a.type;a.onBand=o&&t.get("boundaryGap"),a.inverse=t.get("inverse"),a.orient=t.get("orient"),(t.axis=a).model=t,(a.coordinateSystem=this)._axis=a},update:function(t,e){t.eachSeries(function(t){if(t.coordinateSystem===this){var e=t.getData();E(e.mapDimension(this.dimension,!0),function(t){this._axis.scale.unionExtentFromData(e,t)},this),zp(this._axis.scale,this._axis.model)}},this)},resize:function(t,e){this._rect=au({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,i=e.isHorizontal(),n=i?[0,t.width]:[0,t.height],a=e.reverse?1:0;e.setExtent(n[a],n[1-a]),this._updateAxisTransform(e,i?t.x:t.y)},_updateAxisTransform:function(t,e){var i=t.getExtent(),n=i[0]+i[1],a=t.isHorizontal();t.toGlobalCoord=a?function(t){return t+e}:function(t){return n-t+e},t.toLocalCoord=a?function(t){return t-e}:function(t){return n-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(),i=this.getAxis();return"horizontal"===i.orient?i.contain(i.toLocalCoord(t[0]))&&t[1]>=e.y&&t[1]<=e.y+e.height:i.contain(i.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(),i=this.getRect(),n=[],a="horizontal"===e.orient?0:1;return t instanceof Array&&(t=t[0]),n[a]=e.toGlobalCoord(e.dataToCoord(+t)),n[1-a]=0==a?i.y+i.height/2:i.x+i.width/2,n}}).dimensions});var vM=["axisLine","axisTickLabel","axisName"],yM="splitLine",xM=Um.extend({type:"singleAxis",axisPointerClass:"SingleAxisPointer",render:function(t,e,i,n){var a=this.group;a.removeAll();var o=mM(t),r=new Cm(t,o);E(vM,r.add,r),a.add(r.getGroup()),t.get(yM+".show")&&this["_"+yM](t),xM.superCall(this,"render",t,e,i,n)},_splitLine:function(t){var e=t.axis;if(!e.scale.isBlank()){var i=t.getModel("splitLine"),n=i.getModel("lineStyle"),a=n.get("width"),o=n.get("color");o=o instanceof Array?o:[o];for(var r=t.coordinateSystem.getRect(),s=e.isHorizontal(),l=[],u=0,h=e.getTicksCoords({tickModel:i}),c=[],d=[],f=0;f<h.length;++f){var p=e.toGlobalCoord(h[f].coord);s?(c[0]=p,c[1]=r.y,d[0]=p,d[1]=r.y+r.height):(c[0]=r.x,c[1]=p,d[0]=r.x+r.width,d[1]=p);var g=u++%o.length;l[g]=l[g]||[],l[g].push(new Ur({subPixelOptimize:!0,shape:{x1:c[0],y1:c[1],x2:d[0],y2:d[1]},style:{lineWidth:a},silent:!0}))}for(f=0;f<l.length;++f)this.group.add(ys(l[f],{style:{stroke:o[f%o.length],lineDash:n.getLineDash(a),lineWidth:a},silent:!0}))}}}),_M=fu.extend({type:"singleAxis",layoutMode:"box",axis:null,coordinateSystem:null,getCoordSysModel:function(){return this}});m(_M.prototype,Hp),mm("single",_M,function(t,e){return e.type||(e.data?"category":"value")},{left:"5%",top:"5%",right:"5%",bottom:"5%",type:"value",position:"bottom",orient:"horizontal",axisLine:{show:!0,lineStyle:{width:1,type:"solid"}},tooltip:{show:!0},axisTick:{show:!0,length:6,lineStyle:{width:1}},axisLabel:{show:!0,interval:"auto"},splitLine:{show:!0,lineStyle:{type:"dashed",opacity:.2}}});function wM(t,e){var i,n=[],a=t.seriesIndex;if(null==a||!(i=e.getSeriesByIndex(a)))return{point:[]};var o=i.getData(),r=Ca(o,t);if(null==r||r<0||k(r))return{point:[]};var s=o.getItemGraphicEl(r),l=i.coordinateSystem;if(i.getTooltipPosition)n=i.getTooltipPosition(r)||[];else if(l&&l.dataToPoint)n=l.dataToPoint(o.getValues(N(l.dimensions,function(t){return o.mapDimension(t)}),r,!0))||[];else if(s){var u=s.getBoundingRect().clone();u.applyTransform(s.transform),n=[u.x+u.width/2,u.y+u.height/2]}return{point:n,el:s}}var bM=E,SM=A,MM=La();function IM(t,e,i,n,a){var o=t.axis;if(!o.scale.isBlank()&&o.containData(e))if(t.involveSeries){var r=function(l,t){var u=t.axis,h=u.dim,c=l,d=[],f=Number.MAX_VALUE,p=-1;return bM(t.seriesModels,function(e,t){var i,n,a=e.getData().mapDimension(h,!0);if(e.getAxisTooltipData){var o=e.getAxisTooltipData(a,l,u);n=o.dataIndices,i=o.nestestValue}else{if(!(n=e.getData().indicesOfNearest(a[0],l,"category"===u.type?.5:null)).length)return;i=e.getData().get(a[0],n[0])}if(null!=i&&isFinite(i)){var r=l-i,s=Math.abs(r);s<=f&&((s<f||0<=r&&p<0)&&(f=s,p=r,c=i,d.length=0),bM(n,function(t){d.push({seriesIndex:e.seriesIndex,dataIndexInside:t,dataIndex:e.getData().getRawIndex(t)})}))}}),{payloadBatch:d,snapToValue:c}}(e,t),s=r.payloadBatch,l=r.snapToValue;s[0]&&null==a.seriesIndex&&L(a,s[0]),!n&&t.snap&&o.containData(l)&&null!=l&&(e=l),i.showPointer(t,e,s,a),i.showTooltip(t,r,l)}else i.showPointer(t,e)}function AM(t,e,i,n){t[e.key]={value:i,payloadBatch:n}}function TM(t,e,i,n){var a=i.payloadBatch,o=e.axis,r=o.model,s=e.axisPointerModel;if(e.triggerTooltip&&a.length){var l=e.coordSys.model,u=Zm(l),h=t.map[u];h||(h=t.map[u]={coordSysId:l.id,coordSysIndex:l.componentIndex,coordSysType:l.type,coordSysMainType:l.mainType,dataByAxis:[]},t.list.push(h)),h.dataByAxis.push({axisDim:o.dim,axisIndex:r.componentIndex,axisType:r.type,axisId:r.id,value:n,valueLabelOpt:{precision:s.get("label.precision"),formatter:s.get("label.formatter")},seriesDataIndices:a.slice()})}}function DM(t){var e=t.axis.model,i={},n=i.axisDim=t.axis.dim;return i.axisIndex=i[n+"AxisIndex"]=e.componentIndex,i.axisName=i[n+"AxisName"]=e.name,i.axisId=i[n+"AxisId"]=e.id,i}function CM(t){return!t||null==t[0]||isNaN(t[0])||null==t[1]||isNaN(t[1])}sf({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}}});var LM=La(),kM=E;function PM(t,e,i){if(!v.node){var n=e.getZr();LM(n).records||(LM(n).records={}),function(a,o){if(LM(a).initialized)return;function t(t,n){a.on(t,function(e){var i=function(i){var n={showTip:[],hideTip:[]},a=function(t){var e=n[t.type];e?e.push(t):(t.dispatchAction=a,i.dispatchAction(t))};return{dispatchAction:a,pendings:n}}(o);kM(LM(a).records,function(t){t&&n(t,e,i.dispatchAction)}),function(t,e){var i,n=t.showTip.length,a=t.hideTip.length;n?i=t.showTip[n-1]:a&&(i=t.hideTip[a-1]);i&&(i.dispatchAction=null,e.dispatchAction(i))}(i.pendings,o)})}LM(a).initialized=!0,t("click",A(OM,"click")),t("mousemove",A(OM,"mousemove")),t("globalout",NM)}(n,e),(LM(n).records[t]||(LM(n).records[t]={})).handler=i}}function NM(t,e,i){t.handler("leave",null,i)}function OM(t,e,i,n){e.handler(t,i,n)}function EM(t,e){if(!v.node){var i=e.getZr();(LM(i).records||{})[t]&&(LM(i).records[t]=null)}}var RM=lf({type:"axisPointer",render:function(t,e,i){var n=e.getComponent("tooltip"),a=t.get("triggerOn")||n&&n.get("triggerOn")||"mousemove|click";PM("axisPointer",i,function(t,e,i){"none"!==a&&("leave"===t||0<=a.indexOf(t))&&i({type:"updateAxisPointer",currTrigger:t,x:e&&e.offsetX,y:e&&e.offsetY})})},remove:function(t,e){EM(e.getZr(),"axisPointer"),RM.superApply(this._model,"remove",arguments)},dispose:function(t,e){EM("axisPointer",e),RM.superApply(this._model,"dispose",arguments)}}),zM=La(),BM=D,VM=T;function GM(){}function FM(t,e,i,n){!function i(n,t){{if(z(n)&&z(t)){var a=!0;return E(t,function(t,e){a=a&&i(n[e],t)}),!!a}return n===t}}(zM(i).lastProp,n)&&(zM(i).lastProp=n,e?js(i,n,t):(i.stopAnimation(),i.attr(n)))}function WM(t,e){t[e.get("label.show")?"show":"hide"]()}function HM(t){return{position:t.position.slice(),rotation:t.rotation||0}}function ZM(t,e,i){var n=e.get("z"),a=e.get("zlevel");t&&t.traverse(function(t){"group"!==t.type&&(null!=n&&(t.z=n),null!=a&&(t.zlevel=a),t.silent=i)})}function UM(t){var e,i=t.get("type"),n=t.getModel(i+"Style");return"line"===i?(e=n.getLineStyle()).fill=null:"shadow"===i&&((e=n.getAreaStyle()).stroke=null),e}function XM(t,e,i,n,a){var o=YM(i.get("value"),e.axis,e.ecModel,i.get("seriesDataIndices"),{precision:i.get("label.precision"),formatter:i.get("label.formatter")}),r=i.getModel("label"),s=Vl(r.get("padding")||0),l=r.getFont(),u=un(o,l),h=a.position,c=u.width+s[1]+s[3],d=u.height+s[0]+s[2],f=a.align;"right"===f&&(h[0]-=c),"center"===f&&(h[0]-=c/2);var p=a.verticalAlign;"bottom"===p&&(h[1]-=d),"middle"===p&&(h[1]-=d/2),function(t,e,i,n){var a=n.getWidth(),o=n.getHeight();t[0]=Math.min(t[0]+e,a)-e,t[1]=Math.min(t[1]+i,o)-i,t[0]=Math.max(t[0],0),t[1]=Math.max(t[1],0)}(h,c,d,n);var g=r.get("backgroundColor");g&&"auto"!==g||(g=e.get("axisLine.lineStyle.color")),t.label={shape:{x:0,y:0,width:c,height:d,r:r.get("borderRadius")},position:h.slice(),style:{text:o,textFont:l,textFill:r.getTextColor(),textPosition:"inside",textPadding:s,fill:g,stroke:r.get("borderColor")||"transparent",lineWidth:r.get("borderWidth")||0,shadowBlur:r.get("shadowBlur"),shadowColor:r.get("shadowColor"),shadowOffsetX:r.get("shadowOffsetX"),shadowOffsetY:r.get("shadowOffsetY")},z2:10}}function YM(t,e,a,i,n){t=e.scale.parse(t);var o=e.scale.getLabel(t,{precision:n.precision}),r=n.formatter;if(r){var s={value:Gp(e,t),axisDimension:e.dim,axisIndex:e.index,seriesData:[]};E(i,function(t){var e=a.getSeriesByIndex(t.seriesIndex),i=t.dataIndexInside,n=e&&e.getDataParams(i);n&&s.seriesData.push(n)}),R(r)?o=r.replace("{value}",o):O(r)&&(o=r(s))}return o}function jM(t,e,i){var n=Qt();return ae(n,n,i.rotation),ne(n,n,i.position),$s([t.dataToCoord(e),(i.labelOffset||0)+(i.labelDirection||1)*(i.labelMargin||0)],n)}function qM(t,e,i,n,a,o){var r=Cm.innerTextLayout(i.rotation,0,i.labelDirection);i.labelMargin=a.get("label.margin"),XM(e,n,a,o,{position:jM(n.axis,t,i),align:r.textAlign,verticalAlign:r.textVerticalAlign})}function KM(t,e,i){return{x1:t[i=i||0],y1:t[1-i],x2:e[i],y2:e[1-i]}}function $M(t,e,i){return{x:t[i=i||0],y:t[1-i],width:e[i],height:e[1-i]}}function JM(t,e,i,n,a,o){return{cx:t,cy:e,r0:i,r:n,startAngle:a,endAngle:o,clockwise:!0}}Ga((GM.prototype={_group:null,_lastGraphicKey:null,_handle:null,_dragging:!1,_lastValue:null,_lastStatus:null,_payloadInfo:null,animationThreshold:15,render:function(t,e,i,n){var a=e.get("value"),o=e.get("status");if(this._axisModel=t,this._axisPointerModel=e,this._api=i,n||this._lastValue!==a||this._lastStatus!==o){this._lastValue=a,this._lastStatus=o;var r=this._group,s=this._handle;if(!o||"hide"===o)return r&&r.hide(),void(s&&s.hide());r&&r.show(),s&&s.show();var l={};this.makeElOption(l,a,t,e,i);var u=l.graphicKey;u!==this._lastGraphicKey&&this.clear(i),this._lastGraphicKey=u;var h=this._moveAnimation=this.determineAnimation(t,e);if(r){var c=A(FM,e,h);this.updatePointerEl(r,l,c,e),this.updateLabelEl(r,l,c,e)}else r=this._group=new Si,this.createPointerEl(r,l,t,e),this.createLabelEl(r,l,t,e),i.getZr().add(r);ZM(r,e,!0),this._renderHandle(a)}},remove:function(t){this.clear(t)},dispose:function(t){this.clear(t)},determineAnimation:function(t,e){var i=e.get("animation"),n=t.axis,a="category"===n.type,o=e.get("snap");if(!o&&!a)return!1;if("auto"!==i&&null!=i)return!0===i;var r=this.animationThreshold;if(a&&n.getBandWidth()>r)return!0;if(o){var s=Wm(t).seriesDataCount,l=n.getExtent();return Math.abs(l[0]-l[1])/s>r}return!1},makeElOption:function(t,e,i,n,a){},createPointerEl:function(t,e,i,n){var a=e.pointer;if(a){var o=zM(t).pointerEl=new ol[a.type](BM(e.pointer));t.add(o)}},createLabelEl:function(t,e,i,n){if(e.label){var a=zM(t).labelEl=new Hr(BM(e.label));t.add(a),WM(a,n)}},updatePointerEl:function(t,e,i){var n=zM(t).pointerEl;n&&e.pointer&&(n.setStyle(e.pointer.style),i(n,{shape:e.pointer.shape}))},updateLabelEl:function(t,e,i,n){var a=zM(t).labelEl;a&&(a.setStyle(e.label.style),i(a,{shape:e.label.shape,position:e.label.position}),WM(a,n))},_renderHandle:function(t){if(!this._dragging&&this.updateHandleTransform){var e,i=this._axisPointerModel,n=this._api.getZr(),a=this._handle,o=i.getModel("handle"),r=i.get("status");if(!o.get("show")||!r||"hide"===r)return a&&n.remove(a),void(this._handle=null);this._handle||(e=!0,a=this._handle=el(o.get("icon"),{cursor:"move",draggable:!0,onmousemove:function(t){Ft(t.event)},onmousedown:VM(this._onHandleDragMove,this,0,0),drift:VM(this._onHandleDragMove,this),ondragend:VM(this._onHandleDragEnd,this)}),n.add(a)),ZM(a,i,!1);a.setStyle(o.getItemStyle(null,["color","borderColor","borderWidth","opacity","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY"]));var s=o.get("size");k(s)||(s=[s,s]),a.attr("scale",[s[0]/2,s[1]/2]),dc(this,"_doDispatchAxisPointer",o.get("throttle")||0,"fixRate"),this._moveHandleToValue(t,e)}},_moveHandleToValue:function(t,e){FM(this._axisPointerModel,!e&&this._moveAnimation,this._handle,HM(this.getHandleTransform(t,this._axisModel,this._axisPointerModel)))},_onHandleDragMove:function(t,e){var i=this._handle;if(i){this._dragging=!0;var n=this.updateHandleTransform(HM(i),[t,e],this._axisModel,this._axisPointerModel);this._payloadInfo=n,i.stopAnimation(),i.attr(HM(n)),zM(i).lastProp=null,this._doDispatchAxisPointer()}},_doDispatchAxisPointer:function(){if(this._handle){var t=this._payloadInfo,e=this._axisModel;this._api.dispatchAction({type:"updateAxisPointer",x:t.cursorPoint[0],y:t.cursorPoint[1],tooltipOption:t.tooltipOption,axesInfo:[{axisDim:e.axis.dim,axisIndex:e.componentIndex}]})}},_onHandleDragEnd:function(t){if(this._dragging=!1,this._handle){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(),i=this._group,n=this._handle;e&&i&&(this._lastGraphicKey=null,i&&e.remove(i),n&&e.remove(n),this._group=null,this._handle=null,this._payloadInfo=null)},doClear:function(){},buildLabel:function(t,e,i){return{x:t[i=i||0],y:t[1-i],width:e[i],height:e[1-i]}}}).constructor=GM);var QM=GM.extend({makeElOption:function(t,e,i,n,a){var o=i.axis,r=o.grid,s=n.get("type"),l=tI(r,o).getOtherAxis(o).getGlobalExtent(),u=o.toGlobalCoord(o.dataToCoord(e,!0));if(s&&"none"!==s){var h=UM(n),c=eI[s](o,u,l);c.style=h,t.graphicKey=c.type,t.pointer=c}qM(e,t,qm(r.model,i),i,n,a)},getHandleTransform:function(t,e,i){var n=qm(e.axis.grid.model,e,{labelInside:!1});return n.labelMargin=i.get("handle.margin"),{position:jM(e.axis,t,n),rotation:n.rotation+(n.labelDirection<0?Math.PI:0)}},updateHandleTransform:function(t,e,i,n){var a=i.axis,o=a.grid,r=a.getGlobalExtent(!0),s=tI(o,a).getOtherAxis(a).getGlobalExtent(),l="x"===a.dim?0:1,u=t.position;u[l]+=e[l],u[l]=Math.min(r[1],u[l]),u[l]=Math.max(r[0],u[l]);var h=(s[1]+s[0])/2,c=[h,h];c[l]=u[l];return{position:u,rotation:t.rotation,cursorPoint:c,tooltipOption:[{verticalAlign:"middle"},{align:"center"}][l]}}});function tI(t,e){var i={};return i[e.dim+"AxisIndex"]=e.index,t.getCartesian(i)}var eI={line:function(t,e,i){return{type:"Line",subPixelOptimize:!0,shape:KM([e,i[0]],[e,i[1]],iI(t))}},shadow:function(t,e,i){var n=Math.max(1,t.getBandWidth()),a=i[1]-i[0];return{type:"Rect",shape:$M([e-n/2,i[0]],[n,a],iI(t))}}};function iI(t){return"x"===t.dim?0:1}Um.registerAxisPointerClass("CartesianAxisPointer",QM),Jd(function(t){if(t){t.axisPointer&&0!==t.axisPointer.length||(t.axisPointer={});var e=t.axisPointer.link;e&&!k(e)&&(t.axisPointer.link=[e])}}),Qd(cd.PROCESSOR.STATISTIC,function(t,e){t.getComponent("axisPointer").coordSysAxesInfo=Gm(t,e)}),tf({type:"updateAxisPointer",event:"updateAxisPointer",update:":updateAxisPointer"},function(t,e,i){var n=t.currTrigger,r=[t.x,t.y],a=t,o=t.dispatchAction||T(i.dispatchAction,i),s=e.getComponent("axisPointer").coordSysAxesInfo;if(s){CM(r)&&(r=wM({seriesIndex:a.seriesIndex,dataIndex:a.dataIndex},e).point);var l=CM(r),u=a.axesInfo,h=s.axesInfo,c="leave"===n||CM(r),d={},f={},p={list:[],map:{}},g={showPointer:SM(AM,f),showTooltip:SM(TM,p)};bM(s.coordSysMap,function(t,e){var o=l||t.containPoint(r);bM(s.coordSysAxesInfo[e],function(t,e){var i=t.axis,n=function(t,e){for(var i=0;i<(t||[]).length;i++){var n=t[i];if(e.axis.dim===n.axisDim&&e.axis.model.componentIndex===n.axisIndex)return n}}(u,t);if(!c&&o&&(!u||n)){var a=n&&n.value;null!=a||l||(a=i.pointToData(r)),null!=a&&IM(t,a,g,!1,d)}})});var m={};return bM(h,function(a,t){var o=a.linkGroup;o&&!f[t]&&bM(o.axesInfo,function(t,e){var i=f[e];if(t!==a&&i){var n=i.value;o.mapper&&(n=a.axis.scale.parse(o.mapper(n,DM(t),DM(a)))),m[a.key]=n}})}),bM(m,function(t,e){IM(h[e],t,g,!0,d)}),function(a,t,e){var o=e.axesInfo=[];bM(t,function(t,e){var i=t.axisPointerModel.option,n=a[e];n?(t.useHandle||(i.status="show"),i.value=n.value,i.seriesDataIndices=(n.payloadBatch||[]).slice()):t.useHandle||(i.status="hide"),"show"===i.status&&o.push({axisDim:t.axis.dim,axisIndex:t.axis.model.componentIndex,value:i.value})})}(f,h,d),function(t,e,i,n){if(CM(e)||!t.list.length)return n({type:"hideTip"});var a=((t.list[0].dataByAxis[0]||{}).seriesDataIndices||[])[0]||{};n({type:"showTip",escapeConnect:!0,x:e[0],y:e[1],tooltipOption:i.tooltipOption,position:i.position,dataIndexInside:a.dataIndexInside,dataIndex:a.dataIndex,seriesIndex:a.seriesIndex,dataByCoordSys:t.list})}(p,r,t,o),function(t,e,i){var n=i.getZr(),a="axisPointerLastHighlights",o=MM(n)[a]||{},r=MM(n)[a]={};bM(t,function(t,e){var i=t.axisPointerModel.option;"show"===i.status&&bM(i.seriesDataIndices,function(t){var e=t.seriesIndex+" | "+t.dataIndex;r[e]=t})});var s=[],l=[];E(o,function(t,e){r[e]||l.push(t)}),E(r,function(t,e){o[e]||s.push(t)}),l.length&&i.dispatchAction({type:"downplay",escapeConnect:!0,batch:l}),s.length&&i.dispatchAction({type:"highlight",escapeConnect:!0,batch:s})}(h,0,i),d}});var nI=["x","y"],aI=["width","height"],oI=GM.extend({makeElOption:function(t,e,i,n,a){var o=i.axis,r=o.coordinateSystem,s=lI(r,1-sI(o)),l=r.dataToPoint(e)[0],u=n.get("type");if(u&&"none"!==u){var h=UM(n),c=rI[u](o,l,s);c.style=h,t.graphicKey=c.type,t.pointer=c}qM(e,t,mM(i),i,n,a)},getHandleTransform:function(t,e,i){var n=mM(e,{labelInside:!1});return n.labelMargin=i.get("handle.margin"),{position:jM(e.axis,t,n),rotation:n.rotation+(n.labelDirection<0?Math.PI:0)}},updateHandleTransform:function(t,e,i,n){var a=i.axis,o=a.coordinateSystem,r=sI(a),s=lI(o,r),l=t.position;l[r]+=e[r],l[r]=Math.min(s[1],l[r]),l[r]=Math.max(s[0],l[r]);var u=lI(o,1-r),h=(u[1]+u[0])/2,c=[h,h];return c[r]=l[r],{position:l,rotation:t.rotation,cursorPoint:c,tooltipOption:{verticalAlign:"middle"}}}}),rI={line:function(t,e,i){return{type:"Line",subPixelOptimize:!0,shape:KM([e,i[0]],[e,i[1]],sI(t))}},shadow:function(t,e,i){var n=t.getBandWidth(),a=i[1]-i[0];return{type:"Rect",shape:$M([e-n/2,i[0]],[n,a],sI(t))}}};function sI(t){return t.isHorizontal()?0:1}function lI(t,e){var i=t.getRect();return[i[nI[e]],i[nI[e]]+i[aI[e]]]}Um.registerAxisPointerClass("SingleAxisPointer",oI),lf({type:"single"});var uI=Wh.extend({type:"series.themeRiver",dependencies:["singleAxis"],nameMap:null,init:function(t){uI.superApply(this,"init",arguments),this.legendDataProvider=function(){return this.getRawData()}},fixData:function(t){var e=t.length,i=Ra(t,function(t){return t[2]}),n=[];i.buckets.each(function(t,e){n.push({name:e,dataList:t})});for(var a=n.length,o=-1,r=-1,s=0;s<a;++s){var l=n[s].dataList.length;o<l&&(o=l,r=s)}for(var u=0;u<a;++u)if(u!==r)for(var h=n[u].name,c=0;c<o;++c){for(var d=n[r].dataList[c][0],f=n[u].dataList.length,p=-1,g=0;g<f;++g){if(n[u].dataList[g][0]===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 i=e.queryComponents({mainType:"singleAxis",index:this.get("singleAxisIndex"),id:this.get("singleAxisId")})[0].get("type"),n=M(t.data,function(t){return void 0!==t[2]}),a=this.fixData(n||[]),o=[],r=this.nameMap=Q(),s=0,l=0;l<a.length;++l)o.push(a[l][2]),r.get(a[l][2])||(r.set(a[l][2],s),s++);var u=Wf(a,{coordDimensions:["single"],dimensionsDefine:[{name:"time",type:mf(i)},{name:"value",type:"float"},{name:"name",type:"ordinal"}],encodeDefine:{single:0,value:1,itemName:2}}),h=new Tf(u,this);return h.initData(a),h},getLayerSeries:function(){for(var i=this.getData(),t=i.count(),e=[],n=0;n<t;++n)e[n]=n;var a=i.mapDimension("single"),o=Ra(e,function(t){return i.get("name",t)}),r=[];return o.buckets.each(function(t,e){t.sort(function(t,e){return i.get(a,t)-i.get(a,e)}),r.push({name:e,indices:t})}),r},getAxisTooltipData:function(t,e,i){k(t)||(t=t?[t]:[]);for(var n,a=this.getData(),o=this.getLayerSeries(),r=[],s=o.length,l=0;l<s;++l){for(var u=Number.MAX_VALUE,h=-1,c=o[l].indices.length,d=0;d<c;++d){var f=a.get(t[0],o[l].indices[d]),p=Math.abs(f-e);p<=u&&(n=f,u=p,h=o[l].indices[d])}r.push(h)}return{dataIndices:r,nestestValue:n}},formatTooltip:function(t){var e=this.getData(),i=e.getName(t),n=e.get(e.mapDimension("value"),t);return!isNaN(n)&&null!=n||(n="-"),Wl(i+" : "+n)},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}}}});hf({type:"themeRiver",init:function(){this._layers=[]},render:function(b,t,e){var S=b.getData(),M=this.group,I=b.getLayerSeries(),i=S.getLayout("layoutInfo"),n=i.rect,a=i.boundaryGap;function o(t){return t.name}M.attr("position",[0,n.y+a[0]]);var r=new df(this._layersSeries||[],I,o,o),A={};function s(t,e,i){var n=this._layers;if("remove"!==t){for(var a,o,r,s=[],l=[],u=I[e].indices,h=0;h<u.length;h++){var c=S.getItemLayout(u[h]),d=c.x,f=c.y0,p=c.y;s.push([d,f]),l.push([d,f+p]),a=S.getItemVisual(u[h],"color")}var g=S.getItemLayout(u[0]),m=S.getItemModel(u[h-1]),v=m.getModel("label"),y=v.get("margin");if("add"===t){var x=A[e]=new Si;o=new $g({shape:{points:s,stackedOnPoints:l,smooth:.4,stackedOnSmooth:.4,smoothConstraint:!1},z2:0}),r=new Dr({style:{x:g.x-y,y:g.y0+g.y/2}}),x.add(o),x.add(r),M.add(x),o.setClipPath(function(t,e,i){var n=new Hr({shape:{x:t.x-10,y:t.y-10,width:0,height:t.height+20}});return qs(n,{shape:{width:t.width+20,height:t.height+20}},e,i),n}(o.getBoundingRect(),b,function(){o.removeClipPath()}))}else{x=n[i];o=x.childAt(0),r=x.childAt(1),M.add(x),A[e]=x,js(o,{shape:{points:s,stackedOnPoints:l}},b),js(r,{style:{x:g.x-y,y:g.y0+g.y/2}},b)}var _=m.getModel("emphasis.itemStyle"),w=m.getModel("itemStyle");Gs(r.style,v,{text:v.get("show")?b.getFormattedLabel(u[h-1],"normal")||S.getName(u[h-1]):null,textVerticalAlign:"middle"}),o.setStyle(L({fill:a},w.getItemStyle(["color"]))),Os(o,_.getItemStyle())}else M.remove(n[e])}r.add(T(s,this,"add")).update(T(s,this,"update")).remove(T(s,this,"remove")).execute(),this._layersSeries=I,this._layers=A},dispose:function(){}});function hI(i,t,e){if(i.count())for(var n,a=t.coordinateSystem,o=t.getLayerSeries(),r=i.mapDimension("single"),s=i.mapDimension("value"),l=N(o,function(t){return N(t.indices,function(t){var e=a.dataToPoint(i.get(r,t));return e[1]=i.get(s,t),e})}),u=function(t){for(var e=t.length,i=t[0].length,n=[],a=[],o=0,r={},s=0;s<i;++s){for(var l=0,u=0;l<e;++l)u+=t[l][s][1];o<u&&(o=u),n.push(u)}for(var h=0;h<i;++h)a[h]=(o-n[h])/2;for(var c=o=0;c<i;++c){var d=n[c]+a[c];o<d&&(o=d)}return r.y0=a,r.max=o,r}(l),h=u.y0,c=e/u.max,d=o.length,f=o[0].indices.length,p=0;p<f;++p){n=h[p]*c,i.setItemLayout(o[0].indices[p],{layerIndex:0,x:l[0][p][0],y0:n,y:l[0][p][1]*c});for(var g=1;g<d;++g)n+=l[g-1][p][1]*c,i.setItemLayout(o[g].indices[p],{layerIndex:g,x:l[g][p][0],y0:n,y:l[g][p][1]*c})}}nf(function(t,e){t.eachSeriesByType("themeRiver",function(t){var e=t.getData(),i=t.coordinateSystem,n={},a=i.getRect();n.rect=a;var o=t.get("boundaryGap"),r=i.getAxis();(n.boundaryGap=o,"horizontal"===r.orient)?(o[0]=xl(o[0],a.height),o[1]=xl(o[1],a.height),hI(e,t,a.height-o[0]-o[1])):(o[0]=xl(o[0],a.width),o[1]=xl(o[1],a.width),hI(e,t,a.width-o[0]-o[1]));e.setLayout("layoutInfo",n)})}),af(function(t){t.eachSeriesByType("themeRiver",function(a){var o=a.getData(),r=a.getRawData(),s=a.get("color"),l=Q();o.each(function(t){l.set(o.getRawIndex(t),t)}),r.each(function(t){var e=r.getName(t),i=s[(a.nameMap.get(e)-1)%s.length];r.setItemVisual(t,"color",i);var n=l.get(t);null!=n&&o.setItemVisual(n,"color",i)})})}),Qd(kv("themeRiver")),Wh.extend({type:"series.sunburst",_viewRoot:null,getInitialData:function(t,e){var i={name:t.name,children:t.data};!function i(t){var n=0;E(t.children,function(t){i(t);var e=t.value;k(e)&&(e=e[0]),n+=e});var e=t.value;k(e)&&(e=e[0]);null!=e&&!isNaN(e)||(e=n);e<0&&(e=0);k(t.value)?t.value[0]=e:t.value=e}(i);var n=t.levels||[],a={};return a.levels=n,Ky.createTree(i,this,a).data},optionUpdated:function(){this.resetViewRoot()},getDataParams:function(t){var e=Wh.prototype.getDataParams.apply(this,arguments),i=this.getData().tree.getNodeByDataIndex(t);return e.treePathInfo=gx(i,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 cI="none",dI="ancestor",fI="self",pI=2,gI=4;function mI(t,e,i){Si.call(this);var n=new Pr({z2:pI});n.seriesIndex=e.seriesIndex;var a=new Dr({z2:gI,silent:t.getModel("label").get("silent")});function o(){a.ignore=a.hoverIgnore}function r(){a.ignore=a.normalIgnore}this.add(n),this.add(a),this.updateData(!0,t,"normal",e,i),this.on("emphasis",o).on("normal",r).on("mouseover",o).on("mouseout",r)}var vI=mI.prototype;vI.updateData=function(t,e,i,n,a){(this.node=e).piece=this,n=n||this._seriesModel,a=a||this._ecModel;var o=this.childAt(0);o.dataIndex=e.dataIndex;var r=e.getModel(),s=e.getLayout(),l=L({},s);l.label=null;var u=function(t,e,i){var n=t.getVisual("color"),a=t.getVisual("visualMeta");a&&0!==a.length||(n=null);var o=t.getModel("itemStyle").get("color");{if(o)return o;if(n)return n;if(0===t.depth)return i.option.color[0];var r=i.option.color.length;o=i.option.color[function(t){var e=t;for(;1<e.depth;)e=e.parentNode;return _(t.getAncestors()[0].children,e)}(t)%r]}return o}(e,0,a);!function(t,e,i){e.getData().setItemVisual(t.dataIndex,"color",i)}(e,n,u);var h,c=r.getModel("itemStyle").getItemStyle();"normal"===i?h=c:h=m(r.getModel(i+".itemStyle").getItemStyle(),c);h=C({lineJoin:"bevel",fill:h.fill||u},h),t?(o.setShape(l),o.shape.r=s.r0,js(o,{shape:{r:s.r}},n,e.dataIndex),o.useStyle(h)):"object"==typeof h.fill&&h.fill.type||"object"==typeof o.style.fill&&o.style.fill.type?(js(o,{shape:l},n),o.useStyle(h)):js(o,{shape:l,style:h},n),this._updateLabel(n,u,i);var d=r.getShallow("cursor");if(d&&o.attr("cursor",d),t){var f=n.getShallow("highlightPolicy");this._initEvents(o,e,n,f)}this._seriesModel=n||this._seriesModel,this._ecModel=a||this._ecModel},vI.onEmphasis=function(e){var i=this;this.node.hostTree.root.eachNode(function(t){t.piece&&(i.node===t?t.piece.updateData(!1,t,"emphasis"):!function(t,e,i){return i!==cI&&(i===fI?t===e:i===dI?t===e||t.isAncestorOf(e):t===e||t.isDescendantOf(e))}(t,i.node,e)?e!==cI&&t.piece.childAt(0).trigger("downplay"):t.piece.childAt(0).trigger("highlight"))})},vI.onNormal=function(){this.node.hostTree.root.eachNode(function(t){t.piece&&t.piece.updateData(!1,t,"normal")})},vI.onHighlight=function(){this.updateData(!1,this.node,"highlight")},vI.onDownplay=function(){this.updateData(!1,this.node,"downplay")},vI._updateLabel=function(t,e,i){var n=this.node.getModel(),a=n.getModel("label"),o="normal"===i||"emphasis"===i?a:n.getModel(i+".label"),r=n.getModel("emphasis.label"),s=W(t.getFormattedLabel(this.node.dataIndex,i,null,null,"label"),this.node.name);!1===S("show")&&(s="");var l=this.node.getLayout(),u=o.get("minAngle");null==u&&(u=a.get("minAngle")),u=u/180*Math.PI;var h=l.endAngle-l.startAngle;null!=u&&Math.abs(h)<u&&(s="");var c=this.childAt(1);Bs(c.style,c.hoverStyle||{},a,r,{defaultText:o.getShallow("show")?s:null,autoColor:e,useInsideStyle:!0});var d,f=(l.startAngle+l.endAngle)/2,p=Math.cos(f),g=Math.sin(f),m=S("position"),v=S("distance")||0,y=S("align");"outside"===m?(d=l.r+v,y=f>Math.PI/2?"right":"left"):y&&"center"!==y?"left"===y?(d=l.r0+v,f>Math.PI/2&&(y="right")):"right"===y&&(d=l.r-v,f>Math.PI/2&&(y="left")):(d=(l.r+l.r0)/2,y="center"),c.attr("style",{text:s,textAlign:y,textVerticalAlign:S("verticalAlign")||"middle",opacity:S("opacity")});var x=d*p+l.cx,_=d*g+l.cy;c.attr("position",[x,_]);var w=S("rotate"),b=0;function S(t){var e=o.get(t);return null==e?a.get(t):e}"radial"===w?(b=-f)<-Math.PI/2&&(b+=Math.PI):"tangential"===w?(b=Math.PI/2-f)>Math.PI/2?b-=Math.PI:b<-Math.PI/2&&(b+=Math.PI):"number"==typeof w&&(b=w*Math.PI/180),c.attr("rotation",b)},vI._initEvents=function(t,e,i,n){t.off("mouseover").off("mouseout").off("emphasis").off("normal");function a(){r.onEmphasis(n)}function o(){r.onNormal()}var r=this;i.isAnimationEnabled()&&t.on("mouseover",a).on("mouseout",o).on("emphasis",a).on("normal",o).on("downplay",function(){r.onDownplay()}).on("highlight",function(){r.onHighlight()})},w(mI,Si);ec.extend({type:"sunburst",init:function(){},render:function(a,o,t,e){var n=this;this.seriesModel=a,this.api=t,this.ecModel=o;var r=a.getData(),s=r.tree.root,i=a.getViewRoot(),l=this.group,u=a.get("renderLabelForZeroData"),h=[];i.eachNode(function(t){h.push(t)});var c=this._oldChildren||[];if(function(i,n){if(0===i.length&&0===n.length)return;function t(t){return t.getId()}function e(t,e){!function(t,e){u||!t||t.getValue()||(t=null);if(t!==s&&e!==s)if(e&&e.piece)t?(e.piece.updateData(!1,t,"normal",a,o),r.setItemGraphicEl(t.dataIndex,e.piece)):function(t){if(!t)return;t.piece&&(l.remove(t.piece),t.piece=null)}(e);else if(t){var i=new mI(t,a,o);l.add(i),r.setItemGraphicEl(t.dataIndex,i)}}(null==t?null:i[t],null==e?null:n[e])}new df(n,i,t,t).add(e).update(e).remove(A(e,null)).execute()}(h,c),function(t,e){if(0<e.depth){n.virtualPiece?n.virtualPiece.updateData(!1,t,"normal",a,o):(n.virtualPiece=new mI(t,a,o),l.add(n.virtualPiece)),e.piece._onclickEvent&&e.piece.off("click",e.piece._onclickEvent);var i=function(t){n._rootToNode(e.parentNode)};e.piece._onclickEvent=i,n.virtualPiece.on("click",i)}else n.virtualPiece&&(l.remove(n.virtualPiece),n.virtualPiece=null)}(s,i),e&&e.highlight&&e.highlight.piece){var d=a.getShallow("highlightPolicy");e.highlight.piece.onEmphasis(d)}else if(e&&e.unhighlight){var f=this.virtualPiece;!f&&s.children.length&&(f=s.children[0].piece),f&&f.onNormal()}this._initEvents(),this._oldChildren=h},dispose:function(){},_initEvents:function(){function t(o){var r=!1;s.seriesModel.getViewRoot().eachNode(function(t){if(!r&&t.piece&&t.piece.childAt(0)===o.target){var e=t.getModel().get("nodeClick");if("rootToNode"===e)s._rootToNode(t);else if("link"===e){var i=t.getModel(),n=i.get("link");if(n){var a=i.get("target",!0)||"_blank";window.open(n,a)}}r=!0}})}var s=this;this.group._onclickEvent&&this.group.off("click",this.group._onclickEvent),this.group.on("click",t),this.group._onclickEvent=t},_rootToNode:function(t){t!==this.seriesModel.getViewRoot()&&this.api.dispatchAction({type:"sunburstRootToNode",from:this.uid,seriesId:this.seriesModel.id,targetNode:t})},containPoint:function(t,e){var i=e.getData().getItemLayout(0);if(i){var n=t[0]-i.cx,a=t[1]-i.cy,o=Math.sqrt(n*n+a*a);return o<=i.r&&o>=i.r0}}});var yI="sunburstRootToNode";tf({type:yI,update:"updateView"},function(a,t){t.eachComponent({mainType:"series",subType:"sunburst",query:a},function(t,e){var i=dx(a,[yI],t);if(i){var n=t.getViewRoot();n&&(a.direction=px(n,i.node)?"rollUp":"drillDown"),t.resetViewRoot(i.node)}})});var xI="sunburstHighlight";tf({type:xI,update:"updateView"},function(n,t){t.eachComponent({mainType:"series",subType:"sunburst",query:n},function(t,e){var i=dx(n,[xI],t);i&&(n.highlight=i.node)})});tf({type:"sunburstUnhighlight",update:"updateView"},function(i,t){t.eachComponent({mainType:"series",subType:"sunburst",query:i},function(t,e){i.unhighlight=!0})});var _I=Math.PI/180;function wI(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 bI(o,r){return r=r||[0,0],N(["x","y"],function(t,e){var i=this.getAxis(t),n=r[e],a=o[e]/2;return"category"===i.type?i.getBandWidth():Math.abs(i.dataToCoord(n-a)-i.dataToCoord(n+a))},this)}af(A(Av,"sunburst")),nf(A(function(t,e,C,i){e.eachSeriesByType(t,function(t){var e=t.get("center"),i=t.get("radius");k(i)||(i=[0,i]),k(e)||(e=[e,e]);var n=C.getWidth(),a=C.getHeight(),h=Math.min(n,a),c=xl(e[0],n),d=xl(e[1],a),f=xl(i[0],h/2),o=xl(i[1],h/2),r=-t.get("startAngle")*_I,p=t.get("minAngle")*_I,g=t.getData().tree.root,s=t.getViewRoot(),m=s.depth,l=t.get("sort");null!=l&&!function e(t,i){var n=t.children||[];t.children=wI(n,i);n.length&&E(t.children,function(t){e(t,i)})}(s,l);var u=0;E(s.children,function(t){isNaN(t.getValue())||u++});var v=s.getValue(),y=Math.PI/(v||u)*2,x=0<s.depth,_=s.height-(x?-1:1),w=(o-f)/(_||1),b=t.get("clockwise"),S=t.get("stillShowZeroSum"),M=b?1:-1,I=function(t,e){if(t){var i=e;if(t!==g){var n=t.getValue(),a=0===v&&S?y:n*y;a<p&&(a=p),i=e+M*a;var o=t.depth-m-(x?-1:1),r=f+w*o,s=f+w*(1+o),l=t.getModel();null!=l.get("r0")&&(r=xl(l.get("r0"),h/2)),null!=l.get("r")&&(s=xl(l.get("r"),h/2)),t.setLayout({angle:a,startAngle:e,endAngle:i,clockwise:b,cx:c,cy:d,r0:r,r:s})}if(t.children&&t.children.length){var u=0;E(t.children,function(t){u+=I(t,e+u)})}return i-e}};if(x){var A=f,T=f+w,D=2*Math.PI;g.setLayout({angle:D,startAngle:r,endAngle:r+D,clockwise:b,cx:c,cy:d,r0:A,r:T})}I(s,r)})},"sunburst")),Qd(A(kv,"sunburst"));function SI(o,r){return r=r||[0,0],N([0,1],function(t){var e=r[t],i=o[t]/2,n=[],a=[];return n[t]=e-i,a[t]=e+i,n[1-t]=a[1-t]=r[1-t],Math.abs(this.dataToPoint(n)[t]-this.dataToPoint(a)[t])},this)}function MI(t,e){var i=this.getAxis(),n=e instanceof Array?e[0]:e,a=(t instanceof Array?t[0]:t)/2;return"category"===i.type?i.getBandWidth():Math.abs(i.dataToCoord(n-a)-i.dataToCoord(n+a))}function II(s,l){return N(["Radius","Angle"],function(t,e){var i=this["get"+t+"Axis"](),n=l[e],a=s[e]/2,o="dataTo"+t,r="category"===i.type?i.getBandWidth():Math.abs(i[o](n-a)-i[o](n+a));return"Angle"===t&&(r=r*Math.PI/180),r},this)}var AI=rs,TI=["itemStyle"],DI=["emphasis","itemStyle"],CI=["label"],LI=["emphasis","label"],kI="e\0\0",PI={cartesian2d:function(e){var t=e.grid.getRect();return{coordSys:{type:"cartesian2d",x:t.x,y:t.y,width:t.width,height:t.height},api:{coord:function(t){return e.dataToPoint(t)},size:T(bI,e)}}},geo:function(e){var t=e.getBoundingRect();return{coordSys:{type:"geo",x:t.x,y:t.y,width:t.width,height:t.height,zoom:e.getZoom()},api:{coord:function(t){return e.dataToPoint(t)},size:T(SI,e)}}},singleAxis:function(e){var t=e.getRect();return{coordSys:{type:"singleAxis",x:t.x,y:t.y,width:t.width,height:t.height},api:{coord:function(t){return e.dataToPoint(t)},size:T(MI,e)}}},polar:function(a){var o=a.getRadiusAxis(),r=a.getAngleAxis(),t=o.getExtent();return t[0]>t[1]&&t.reverse(),{coordSys:{type:"polar",cx:a.cx,cy:a.cy,r:t[1],r0:t[0]},api:{coord:T(function(t){var e=o.dataToRadius(t[0]),i=r.dataToAngle(t[1]),n=a.coordToPoint([e,i]);return n.push(e,i*Math.PI/180),n}),size:T(II,a)}}},calendar:function(i){var t=i.getRect(),e=i.getRangeInfo();return{coordSys:{type:"calendar",x:t.x,y:t.y,width:t.width,height:t.height,cellWidth:i.getCellWidth(),cellHeight:i.getCellHeight(),rangeInfo:{start:e.start,end:e.end,weeks:e.weeks,dayCount:e.allDay}},api:{coord:function(t,e){return i.dataToPoint(t,e)}}}}};function NI(t,e,i,n,a){null==i[t]||a||(e[t]=i[t],i[t]=n[t])}function OI(o,r,e,t){var i=o.get("renderItem"),n=o.coordinateSystem,a={};n&&(a=n.prepareCustoms?n.prepareCustoms():PI[n.type](n));var s,l,u,h,c,d=C({getWidth:t.getWidth,getHeight:t.getHeight,getZr:t.getZr,getDevicePixelRatio:t.getDevicePixelRatio,value:function(t,e){return null==e&&(e=s),r.get(r.getDimension(t||0),e)},style:function(t,e){null==e&&(e=s),g(e);var i=l.getModel(TI).getItemStyle();null!=c&&(i.fill=c);var n=r.getItemVisual(e,"opacity");null!=n&&(i.opacity=n);var a=t?VI(t,u):u;return Gs(i,a,null,{autoColor:c,isRectText:!0}),i.text=a.getShallow("show")?H(o.getFormattedLabel(e,"normal"),bg(r,e)):null,t&&GI(i,t),i},styleEmphasis:function(t,e){null==e&&(e=s),g(e);var i=l.getModel(DI).getItemStyle(),n=t?VI(t,h):h;return Gs(i,n,null,{isRectText:!0},!0),i.text=n.getShallow("show")?Z(o.getFormattedLabel(e,"emphasis"),o.getFormattedLabel(e,"normal"),bg(r,e)):null,t&&GI(i,t),i},visual:function(t,e){return null==e&&(e=s),r.getItemVisual(e,t)},barLayout:function(t){if(n.getBaseAxis){return function(t){var e=[],i=t.axis;if("category"===i.type){for(var n=i.getBandWidth(),a=0;a<t.count;a++)e.push(C({bandWidth:n,axisKey:"axis0",stackId:rp+a},t));var o=dp(e),r=[];for(a=0;a<t.count;a++){var s=o.axis0[rp+a];s.offsetCenter=s.offset+s.width/2,r.push(s)}return r}}(C({axis:n.getBaseAxis()},t))}},currentSeriesIndices:function(){return e.getCurrentSeriesIndices()},font:function(t){return Xs(t,e)}},a.api||{}),f={context:{},seriesId:o.id,seriesName:o.name,seriesIndex:o.seriesIndex,coordSys:a.coordSys,dataInsideLength:r.count(),encode:function(a){var o={};return E(a.dimensions,function(t,e){var i=a.getDimensionInfo(t);if(!i.isExtraCoord){var n=i.coordDim;(o[n]=o[n]||[])[i.coordDimIndex]=e}}),o}(o.getData())},p=!0;return function(t,e){return s=t,p=!0,i&&i(C({dataIndexInside:t,dataIndex:r.getRawIndex(t),actionType:e?e.type:null},f),d)};function g(t){null==t&&(t=s),p&&(l=r.getItemModel(t),u=l.getModel(CI),h=l.getModel(LI),c=r.getItemVisual(t,"color"),p=!1)}}function EI(t,e,i,n,a,o){return(t=RI(t,e,i,n,a,o,!0))&&o.setItemGraphicEl(e,t),t}function RI(t,e,i,n,a,o,r){var s=!i,l=(i=i||{}).type,u=i.shape,h=i.style;if(t&&(s||null!=l&&l!==t.__customGraphicType||"path"===l&&function(t){return t&&(t.hasOwnProperty("pathData")||t.hasOwnProperty("d"))}(u)&&WI(u)!==t.__customPathData||"image"===l&&HI(h,"image")&&h.image!==t.__customImagePath||"text"===l&&HI(u,"text")&&h.text!==t.__customText)&&(a.remove(t),t=null),!s){var c=!t;return function(e,t,i,n,a,o,r){var s={},l=i.style||{};if(i.shape&&(s.shape=D(i.shape)),i.position&&(s.position=i.position.slice()),i.scale&&(s.scale=i.scale.slice()),i.origin&&(s.origin=i.origin.slice()),i.rotation&&(s.rotation=i.rotation),"image"===e.type&&i.style){var u=s.style={};E(["x","y","width","height"],function(t){NI(t,u,l,e.style,o)})}if("text"===e.type&&i.style){u=s.style={};E(["x","y"],function(t){NI(t,u,l,e.style,o)}),!l.hasOwnProperty("textFill")&&l.fill&&(l.textFill=l.fill),!l.hasOwnProperty("textStroke")&&l.stroke&&(l.textStroke=l.stroke)}if("group"!==e.type&&(e.useStyle(l),o)){e.style.opacity=0;var h=l.opacity;null==h&&(h=1),qs(e,{style:{opacity:h}},n,t)}o?e.attr(s):js(e,s,n,t),i.hasOwnProperty("z2")&&e.attr("z2",i.z2||0),i.hasOwnProperty("silent")&&e.attr("silent",i.silent),i.hasOwnProperty("invisible")&&e.attr("invisible",i.invisible),i.hasOwnProperty("ignore")&&e.attr("ignore",i.ignore),i.hasOwnProperty("info")&&e.attr("info",i.info);var c=i.styleEmphasis;Ds(e,c),r&&Es(e,!1!==c)}(t=t||function(t){var e,i=t.type;if("path"===i){var n=t.shape,a=null!=n.width&&null!=n.height?{x:n.x||0,y:n.y||0,width:n.width,height:n.height}:null,o=WI(n);(e=gs(o,null,a,n.layout||"center")).__customPathData=o}else if("image"===i)(e=new Yn({})).__customImagePath=t.style.image;else if("text"===i)(e=new Dr({})).__customText=t.style.text;else if("group"===i)e=new Si;else{if("compoundPath"===i)throw new Error('"compoundPath" is not supported yet.');e=new(ps(i))}return e.__customGraphicType=i,e.name=t.name,e}(i),e,i,n,0,c,r),"group"===l&&function(t,e,i,n,a){var o=i.children,r=o?o.length:0,s=i.$mergeChildren,l="byName"===s||i.diffChildrenByName,u=!1===s;if(!r&&!l&&!u)return;if(l)return function(t){new df(t.oldChildren,t.newChildren,zI,zI,t).add(BI).update(BI).remove(FI).execute()}({oldChildren:t.children()||[],newChildren:o||[],dataIndex:e,animatableModel:n,group:t,data:a});u&&t.removeAll();for(var h=0;h<r;h++)o[h]&&RI(t.childAt(h),e,o[h],n,t,a)}(t,e,i,n,o),a.add(t),t}}function zI(t,e){var i=t&&t.name;return null!=i?i:kI+e}function BI(t,e){var i=this.context,n=null!=t?i.newChildren[t]:null;RI(null!=e?i.oldChildren[e]:null,i.dataIndex,n,i.animatableModel,i.group,i.data)}function VI(i,t){var n=new dl({},t);return E(AI,function(t,e){i.hasOwnProperty(t)&&(n.option[e]=i[t])}),n}function GI(t,e){for(var i in e)!e.hasOwnProperty(i)&&AI.hasOwnProperty(i)||(t[i]=e[i])}function FI(t){var e=this.context,i=e.oldChildren[t];i&&e.group.remove(i)}function WI(t){return t&&(t.pathData||t.d)}function HI(t,e){return t&&t.hasOwnProperty(e)}function ZI(t){return t.get("stack")||"__ec_stack_"+t.seriesIndex}function UI(t,e){return e.dim+t.model.componentIndex}function XI(t,e){vg.call(this,"radius",t,e),this.type="category"}Wh.extend({type:"series.custom",dependencies:["grid","polar","geo","singleAxis","calendar"],defaultOption:{coordinateSystem:"cartesian2d",zlevel:0,z:2,legendHoverLink:!0,useTransform:!0,clip:!1},getInitialData:function(t,e){return Xf(this.getSource(),this)},getDataParams:function(t,e,i){var n=Wh.prototype.getDataParams.apply(this,arguments);return i&&(n.info=i.info),n}}),ec.extend({type:"custom",_data:null,render:function(i,t,e,n){var a=this._data,o=i.getData(),r=this.group,s=OI(i,o,t,e);o.diff(a).add(function(t){EI(null,t,s(t,n),i,r,o)}).update(function(t,e){EI(a.getItemGraphicEl(e),t,s(t,n),i,r,o)}).remove(function(t){var e=a.getItemGraphicEl(t);e&&r.remove(e)}).execute();var l=i.get("clip",!0)?tm(i.coordinateSystem,!1,i):null;l?r.setClipPath(l):r.removeClipPath(),this._data=o},incrementalPrepareRender:function(t,e,i){this.group.removeAll(),this._data=null},incrementalRender:function(t,e,i,n,a){var o=e.getData(),r=OI(e,o,i,n);function s(t){t.isGroup||(t.incremental=!0,t.useHoverLayer=!0)}for(var l=t.start;l<t.end;l++){EI(null,l,r(l,a),e,this.group,o).traverse(s)}},dispose:et,filterForExposedEvent:function(t,e,i,n){var a=e.element;if(null==a||i.name===a)return!0;for(;(i=i.parent)&&i!==this.group;)if(i.name===a)return!0;return!1}}),XI.prototype={constructor:XI,pointToData:function(t,e){return this.polar.pointToData(t,e)["radius"===this.dim?0:1]},dataToRadius:vg.prototype.dataToCoord,radiusToData:vg.prototype.coordToData},w(XI,vg);var YI=La();function jI(t,e){e=e||[0,360],vg.call(this,"angle",t,e),this.type="category"}jI.prototype={constructor:jI,pointToData:function(t,e){return this.polar.pointToData(t,e)["radius"===this.dim?0:1]},dataToAngle:vg.prototype.dataToCoord,angleToData:vg.prototype.coordToData,calculateCategoryInterval:function(){var t=this.getLabelModel(),e=this.scale,i=e.getExtent(),n=e.count();if(i[1]-i[0]<1)return 0;var a=i[0],o=this.dataToCoord(a+1)-this.dataToCoord(a),r=Math.abs(o),s=un(a,t.getFont(),"center","top"),l=Math.max(s.height,7)/r;isNaN(l)&&(l=1/0);var u=Math.max(0,Math.floor(l)),h=YI(this.model),c=h.lastAutoInterval,d=h.lastTickCount;return null!=c&&null!=d&&Math.abs(c-u)<=1&&Math.abs(d-n)<=1&&u<c?u=c:(h.lastTickCount=n,h.lastAutoInterval=u),u}},w(jI,vg);function qI(t){this.name=t||"",this.cx=0,this.cy=0,this._radiusAxis=new XI,this._angleAxis=new jI,this._radiusAxis.polar=this._angleAxis.polar=this}qI.prototype={type:"polar",axisPointerEnabled:!0,constructor:qI,dimensions:["radius","angle"],model:null,containPoint:function(t){var e=this.pointToCoord(t);return this._radiusAxis.contain(e[0])&&this._angleAxis.contain(e[1])},containData:function(t){return this._radiusAxis.containData(t[0])&&this._angleAxis.containData(t[1])},getAxis:function(t){return this["_"+t+"Axis"]},getAxes:function(){return[this._radiusAxis,this._angleAxis]},getAxesByScale:function(t){var e=[],i=this._angleAxis,n=this._radiusAxis;return i.scale.type===t&&e.push(i),n.scale.type===t&&e.push(n),e},getAngleAxis:function(){return this._angleAxis},getRadiusAxis:function(){return this._radiusAxis},getOtherAxis:function(t){var e=this._angleAxis;return t===e?this._radiusAxis:e},getBaseAxis:function(){return this.getAxesByScale("ordinal")[0]||this.getAxesByScale("time")[0]||this.getAngleAxis()},getTooltipAxes:function(t){var e=null!=t&&"auto"!==t?this.getAxis(t):this.getBaseAxis();return{baseAxes:[e],otherAxes:[this.getOtherAxis(e)]}},dataToPoint:function(t,e){return this.coordToPoint([this._radiusAxis.dataToRadius(t[0],e),this._angleAxis.dataToAngle(t[1],e)])},pointToData:function(t,e){var i=this.pointToCoord(t);return[this._radiusAxis.radiusToData(i[0],e),this._angleAxis.angleToData(i[1],e)]},pointToCoord:function(t){var e=t[0]-this.cx,i=t[1]-this.cy,n=this.getAngleAxis(),a=n.getExtent(),o=Math.min(a[0],a[1]),r=Math.max(a[0],a[1]);n.inverse?o=r-360:r=o+360;var s=Math.sqrt(e*e+i*i);e/=s,i/=s;for(var l=Math.atan2(-i,e)/Math.PI*180,u=l<o?1:-1;l<o||r<l;)l+=360*u;return[s,l]},coordToPoint:function(t){var e=t[0],i=t[1]/180*Math.PI;return[Math.cos(i)*e+this.cx,-Math.sin(i)*e+this.cy]},getArea:function(){var t=this.getAngleAxis(),e=this.getRadiusAxis().getExtent().slice();e[0]>e[1]&&e.reverse();var i=t.getExtent(),n=Math.PI/180;return{cx:this.cx,cy:this.cy,r0:e[0],r:e[1],startAngle:-i[0]*n,endAngle:-i[1]*n,clockwise:t.inverse,contain:function(t,e){var i=t-this.cx,n=e-this.cy,a=i*i+n*n,o=this.r,r=this.r0;return a<=o*o&&r*r<=a}}}};var KI=fu.extend({type:"polarAxis",axis:null,getCoordSysModel:function(){return this.ecModel.queryComponents({mainType:"polar",index:this.option.polarIndex,id:this.option.polarId})[0]}});m(KI.prototype,Hp);var $I={splitNumber:5};function JI(t,e){return e.type||(e.data?"category":"value")}function QI(t,e){var i=this,n=i.getAngleAxis(),a=i.getRadiusAxis();if(n.scale.setExtent(1/0,-1/0),a.scale.setExtent(1/0,-1/0),t.eachSeries(function(t){if(t.coordinateSystem===i){var e=t.getData();E(e.mapDimension("radius",!0),function(t){a.scale.unionExtentFromData(e,Uf(e,t))}),E(e.mapDimension("angle",!0),function(t){n.scale.unionExtentFromData(e,Uf(e,t))})}}),zp(n.scale,n.model),zp(a.scale,a.model),"category"===n.type&&!n.onBand){var o=n.getExtent(),r=360/n.scale.count();n.inverse?o[1]+=r:o[1]-=r,n.setExtent(o[0],o[1])}}function tA(t,e){if(t.type=e.get("type"),t.scale=Bp(e),t.onBand=e.get("boundaryGap")&&"category"===t.type,t.inverse=e.get("inverse"),"angleAxis"===e.mainType){t.inverse^=e.get("clockwise");var i=e.get("startAngle");t.setExtent(i,i+(t.inverse?-360:360))}(e.axis=t).model=e}mm("angle",KI,JI,{startAngle:90,clockwise:!0,splitNumber:12,axisLabel:{rotate:!1}}),mm("radius",KI,JI,$I),sf({type:"polar",dependencies:["polarAxis","angleAxis"],coordinateSystem:null,findAxisModel:function(t){var e;return this.ecModel.eachComponent(t,function(t){t.getCoordSysModel()===this&&(e=t)},this),e},defaultOption:{zlevel:0,z:0,center:["50%","50%"],radius:"80%"}}),Hu.register("polar",{dimensions:qI.prototype.dimensions,create:function(i,s){var l=[];return i.eachComponent("polar",function(t,e){var i=new qI(e);i.update=QI;var n=i.getRadiusAxis(),a=i.getAngleAxis(),o=t.findAxisModel("radiusAxis"),r=t.findAxisModel("angleAxis");tA(n,o),tA(a,r),function(t,e,i){var n=e.get("center"),a=i.getWidth(),o=i.getHeight();t.cx=xl(n[0],a),t.cy=xl(n[1],o);var r=t.getRadiusAxis(),s=Math.min(a,o)/2,l=e.get("radius");null==l?l=[0,"100%"]:k(l)||(l=[0,l]),l=[xl(l[0],s),xl(l[1],s)],r.inverse?r.setExtent(l[1],l[0]):r.setExtent(l[0],l[1])}(i,t,s),l.push(i),(t.coordinateSystem=i).model=t}),i.eachSeries(function(t){if("polar"===t.get("coordinateSystem")){var e=i.queryComponents({mainType:"polar",index:t.get("polarIndex"),id:t.get("polarId")})[0];t.coordinateSystem=e.coordinateSystem}}),l}});var eA=["axisLine","axisLabel","axisTick","splitLine","splitArea"];function iA(t,e,i){e[1]>e[0]&&(e=e.slice().reverse());var n=t.coordToPoint([e[0],i]),a=t.coordToPoint([e[1],i]);return{x1:n[0],y1:n[1],x2:a[0],y2:a[1]}}function nA(t){return t.getRadiusAxis().inverse?0:1}function aA(t){var e=t[0],i=t[t.length-1];e&&i&&Math.abs(Math.abs(e.coord-i.coord)-360)<1e-4&&t.pop()}Um.extend({type:"angleAxis",axisPointerClass:"PolarAxisPointer",render:function(e,t){if(this.group.removeAll(),e.get("show")){var i=e.axis,n=i.polar,a=n.getRadiusAxis().getExtent(),o=i.getTicksCoords(),r=N(i.getViewLabels(),function(t){return(t=D(t)).coord=i.dataToCoord(t.tickValue),t});aA(r),aA(o),E(eA,function(t){!e.get(t+".show")||i.scale.isBlank()&&"axisLine"!==t||this["_"+t](e,n,o,a,r)},this)}},_axisLine:function(t,e,i,n){var a,o=t.getModel("axisLine.lineStyle"),r=nA(e),s=r?0:1;(a=0===n[s]?new Lr({shape:{cx:e.cx,cy:e.cy,r:n[r]},style:o.getLineStyle(),z2:1,silent:!0}):new Nr({shape:{cx:e.cx,cy:e.cy,r:n[r],r0:n[s]},style:o.getLineStyle(),z2:1,silent:!0})).style.fill=null,this.group.add(a)},_axisTick:function(t,e,i,n){var a=t.getModel("axisTick"),o=(a.get("inside")?-1:1)*a.get("length"),r=n[nA(e)],s=N(i,function(t){return new Ur({shape:iA(e,[r,r+o],t.coord)})});this.group.add(ys(s,{style:C(a.getModel("lineStyle").getLineStyle(),{stroke:t.get("axisLine.lineStyle.color")})}))},_axisLabel:function(c,d,t,f,e){var p=c.getCategories(!0),g=c.getModel("axisLabel"),m=g.get("margin"),v=c.get("triggerEvent");E(e,function(t,e){var i=g,n=t.tickValue,a=f[nA(d)],o=d.coordToPoint([a+m,t.coord]),r=d.cx,s=d.cy,l=Math.abs(o[0]-r)/a<.3?"center":o[0]>r?"left":"right",u=Math.abs(o[1]-s)/a<.3?"middle":o[1]>s?"top":"bottom";p&&p[n]&&p[n].textStyle&&(i=new dl(p[n].textStyle,g,g.ecModel));var h=new Dr({silent:Cm.isLabelSilent(c)});this.group.add(h),Gs(h.style,i,{x:o[0],y:o[1],textFill:i.getTextColor()||c.get("axisLine.lineStyle.color"),text:t.formattedLabel,textAlign:l,textVerticalAlign:u}),v&&(h.eventData=Cm.makeAxisEventDataBase(c),h.eventData.targetType="axisLabel",h.eventData.value=t.rawLabel)},this)},_splitLine:function(t,e,i,n){var a=t.getModel("splitLine").getModel("lineStyle"),o=a.get("color"),r=0;o=o instanceof Array?o:[o];for(var s=[],l=0;l<i.length;l++){var u=r++%o.length;s[u]=s[u]||[],s[u].push(new Ur({shape:iA(e,n,i[l].coord)}))}for(l=0;l<s.length;l++)this.group.add(ys(s[l],{style:C({stroke:o[l%o.length]},a.getLineStyle()),silent:!0,z:t.get("z")}))},_splitArea:function(t,e,i,n){if(i.length){var a=t.getModel("splitArea").getModel("areaStyle"),o=a.get("color"),r=0;o=o instanceof Array?o:[o];for(var s=[],l=Math.PI/180,u=-i[0].coord*l,h=Math.min(n[0],n[1]),c=Math.max(n[0],n[1]),d=t.get("clockwise"),f=1;f<i.length;f++){var p=r++%o.length;s[p]=s[p]||[],s[p].push(new Pr({shape:{cx:e.cx,cy:e.cy,r0:h,r:c,startAngle:u,endAngle:-i[f].coord*l,clockwise:d},silent:!0})),u=-i[f].coord*l}for(f=0;f<s.length;f++)this.group.add(ys(s[f],{style:C({fill:o[f%o.length]},a.getAreaStyle()),silent:!0}))}}});var oA=["axisLine","axisTickLabel","axisName"],rA=["splitLine","splitArea"];Um.extend({type:"radiusAxis",axisPointerClass:"PolarAxisPointer",render:function(e,t){if(this.group.removeAll(),e.get("show")){var i=e.axis,n=i.polar,a=n.getAngleAxis(),o=i.getTicksCoords(),r=a.getExtent()[0],s=i.getExtent(),l=function(t,e,i){return{position:[t.cx,t.cy],rotation:i/180*Math.PI,labelDirection:-1,tickDirection:-1,nameDirection:1,labelRotate:e.getModel("axisLabel").get("rotate"),z2:1}}(n,e,r),u=new Cm(e,l);E(oA,u.add,u),this.group.add(u.getGroup()),E(rA,function(t){e.get(t+".show")&&!i.scale.isBlank()&&this["_"+t](e,n,r,s,o)},this)}},_splitLine:function(t,e,i,n,a){var o=t.getModel("splitLine").getModel("lineStyle"),r=o.get("color"),s=0;r=r instanceof Array?r:[r];for(var l=[],u=0;u<a.length;u++){var h=s++%r.length;l[h]=l[h]||[],l[h].push(new Lr({shape:{cx:e.cx,cy:e.cy,r:a[u].coord},silent:!0}))}for(u=0;u<l.length;u++)this.group.add(ys(l[u],{style:C({stroke:r[u%r.length],fill:null},o.getLineStyle()),silent:!0}))},_splitArea:function(t,e,i,n,a){if(a.length){var o=t.getModel("splitArea").getModel("areaStyle"),r=o.get("color"),s=0;r=r instanceof Array?r:[r];for(var l=[],u=a[0].coord,h=1;h<a.length;h++){var c=s++%r.length;l[c]=l[c]||[],l[c].push(new Pr({shape:{cx:e.cx,cy:e.cy,r0:u,r:a[h].coord,startAngle:0,endAngle:2*Math.PI},silent:!0})),u=a[h].coord}for(h=0;h<l.length;h++)this.group.add(ys(l[h],{style:C({fill:r[h%r.length]},o.getAreaStyle()),silent:!0}))}}});var sA=GM.extend({makeElOption:function(t,e,i,n,a){var o=i.axis;"angle"===o.dim&&(this.animationThreshold=Math.PI/18);var r,s=o.polar,l=s.getOtherAxis(o).getExtent();r=o["dataTo"+Kl(o.dim)](e);var u=n.get("type");if(u&&"none"!==u){var h=UM(n),c=lA[u](o,s,r,l,h);c.style=h,t.graphicKey=c.type,t.pointer=c}var d=n.get("label.margin");XM(t,i,n,a,function(t,e,i,n,a){var o=e.axis,r=o.dataToCoord(t),s=n.getAngleAxis().getExtent()[0];s=s/180*Math.PI;var l,u,h,c=n.getRadiusAxis().getExtent();if("radius"===o.dim){var d=Qt();ae(d,d,s),ne(d,d,[n.cx,n.cy]),l=$s([r,-a],d);var f=e.getModel("axisLabel").get("rotate")||0,p=Cm.innerTextLayout(s,f*Math.PI/180,-1);u=p.textAlign,h=p.textVerticalAlign}else{var g=c[1];l=n.coordToPoint([g+a,r]);var m=n.cx,v=n.cy;u=Math.abs(l[0]-m)/g<.3?"center":l[0]>m?"left":"right",h=Math.abs(l[1]-v)/g<.3?"middle":l[1]>v?"top":"bottom"}return{position:l,align:u,verticalAlign:h}}(e,i,0,s,d))}});var lA={line:function(t,e,i,n,a){return"angle"===t.dim?{type:"Line",shape:KM(e.coordToPoint([n[0],i]),e.coordToPoint([n[1],i]))}:{type:"Circle",shape:{cx:e.cx,cy:e.cy,r:i}}},shadow:function(t,e,i,n,a){var o=Math.max(1,t.getBandWidth()),r=Math.PI/180;return"angle"===t.dim?{type:"Sector",shape:JM(e.cx,e.cy,n[0],n[1],(-i-o/2)*r,(o/2-i)*r)}:{type:"Sector",shape:JM(e.cx,e.cy,i-o/2,i+o/2,0,2*Math.PI)}}};function uA(n,t){t.update="updateView",tf(t,function(t,e){var i={};return e.eachComponent({mainType:"geo",query:t},function(e){e[n](t.name),E(e.coordinateSystem.regions,function(t){i[t.name]=e.isSelected(t.name)||!1})}),{selected:i,name:t.name}})}Um.registerAxisPointerClass("PolarAxisPointer",sA),nf(A(function(t,e,i){var N={},O=function(t){var g={};E(t,function(t,e){var i=t.getData(),n=t.coordinateSystem,a=n.getBaseAxis(),o=UI(n,a),r=a.getExtent(),s="category"===a.type?a.getBandWidth():Math.abs(r[1]-r[0])/i.count(),l=g[o]||{bandWidth:s,remainedWidth:s,autoWidthCount:0,categoryGap:"20%",gap:"30%",stacks:{}},u=l.stacks;g[o]=l;var h=ZI(t);u[h]||l.autoWidthCount++,u[h]=u[h]||{width:0,maxWidth:0};var c=xl(t.get("barWidth"),s),d=xl(t.get("barMaxWidth"),s),f=t.get("barGap"),p=t.get("barCategoryGap");c&&!u[h].width&&(c=Math.min(l.remainedWidth,c),u[h].width=c,l.remainedWidth-=c),d&&(u[h].maxWidth=d),null!=f&&(l.gap=f),null!=p&&(l.categoryGap=p)});var d={};return E(g,function(t,i){d[i]={};var e=t.stacks,n=t.bandWidth,a=xl(t.categoryGap,n),o=xl(t.gap,1),r=t.remainedWidth,s=t.autoWidthCount,l=(r-a)/(s+(s-1)*o);l=Math.max(l,0),E(e,function(t,e){var i=t.maxWidth;i&&i<l&&(i=Math.min(i,r),t.width&&(i=Math.min(i,t.width)),r-=i,t.width=i,s--)}),l=(r-a)/(s+(s-1)*o),l=Math.max(l,0);var u,h=0;E(e,function(t,e){t.width||(t.width=l),h+=(u=t).width*(1+o)}),u&&(h-=u.width*o);var c=-h/2;E(e,function(t,e){d[i][e]=d[i][e]||{offset:c,width:t.width},c+=t.width*(1+o)})}),d}(M(e.getSeriesByType(t),function(t){return!e.isSeriesFiltered(t)&&t.coordinateSystem&&"polar"===t.coordinateSystem.type}));e.eachSeriesByType(t,function(t){if("polar"===t.coordinateSystem.type){var e=t.getData(),i=t.coordinateSystem,n=i.getBaseAxis(),a=UI(i,n),o=ZI(t),r=O[a][o],s=r.offset,l=r.width,u=i.getOtherAxis(n),h=t.coordinateSystem.cx,c=t.coordinateSystem.cy,d=t.get("barMinHeight")||0,f=t.get("barMinAngle")||0;N[o]=N[o]||[];for(var p=e.mapDimension(u.dim),g=e.mapDimension(n.dim),m=Zf(e,p),v="radius"!==n.dim||!t.get("roundCap",!0),y=u.getExtent()[0],x=0,_=e.count();x<_;x++){var w=e.get(p,x),b=e.get(g,x);if(!isNaN(w)){var S,M,I,A,T=0<=w?"p":"n",D=y;if(m&&(N[o][b]||(N[o][b]={p:y,n:y}),D=N[o][b][T]),"radius"===u.dim){var C=u.dataToRadius(w)-y,L=n.dataToAngle(b);Math.abs(C)<d&&(C=(C<0?-1:1)*d),M=(S=D)+C,A=(I=L-s)-l,m&&(N[o][b][T]=M)}else{var k=u.dataToAngle(w,v)-y,P=n.dataToRadius(b);Math.abs(k)<f&&(k=(k<0?-1:1)*f),M=(S=P+s)+l,A=(I=D)+k,m&&(N[o][b][T]=A)}e.setItemLayout(x,{cx:h,cy:c,r0:S,r:M,startAngle:-I*Math.PI/180,endAngle:-A*Math.PI/180})}}}},this)},"bar")),lf({type:"polar"}),b(fu.extend({type:"geo",coordinateSystem:null,layoutMode:"box",init:function(t){fu.prototype.init.apply(this,arguments),ba(t,"label",["show"])},optionUpdated:function(){var t=this.option,i=this;t.regions=By.getFilledRegions(t.regions,t.map,t.nameMap),this._optionModelMap=S(t.regions||[],function(t,e){return e.name&&t.set(e.name,new dl(e,i)),t},Q()),this.updateSelectedMap(t.regions)},defaultOption:{zlevel:0,z:0,show:!0,left:"center",top:"center",aspectScale:null,silent:!1,map:"",boundingCoords:null,center:null,zoom:1,scaleLimit:null,label:{show:!1,color:"#000"},itemStyle:{borderWidth:.5,borderColor:"#444",color:"#eee"},emphasis:{label:{show:!0,color:"rgb(100,0,0)"},itemStyle:{color:"rgba(255,215,0,0.8)"}},regions:[]},getRegionModel:function(t){return this._optionModelMap.get(t)||new dl(null,this,this.ecModel)},getFormattedLabel:function(t,e){var i=this.getRegionModel(t).get("label"+("normal"===e?".":e+".")+"formatter"),n={name:t};return"function"==typeof i?(n.status=e,i(n)):"string"==typeof i?i.replace("{a}",null!=t?t:""):void 0},setZoom:function(t){this.option.zoom=t},setCenter:function(t){this.option.center=t}}),xv),lf({type:"geo",init:function(t,e){var i=new My(e,!0);this._mapDraw=i,this.group.add(i.group)},render:function(t,e,i,n){if(!n||"geoToggleSelect"!==n.type||n.from!==this.uid){var a=this._mapDraw;t.get("show")?a.draw(t,e,i,this,n):this._mapDraw.group.removeAll(),this.group.silent=t.get("silent")}},dispose:function(){this._mapDraw&&this._mapDraw.remove()}}),uA("toggleSelected",{type:"geoToggleSelect",event:"geoselectchanged"}),uA("select",{type:"geoSelect",event:"geoselected"}),uA("unSelect",{type:"geoUnSelect",event:"geounselected"});function hA(t,e,i){this._model=t}function cA(t,e,i,n){var a=i.calendarModel,o=i.seriesModel,r=a?a.coordinateSystem:o?o.coordinateSystem:null;return r===this?r[t](n):null}hA.prototype={constructor:hA,type:"calendar",dimensions:["time","value"],getDimensionsInfo:function(){return[{name:"time",type:"time"},"value"]},getRangeInfo:function(){return this._rangeInfo},getModel:function(){return this._model},getRect:function(){return this._rect},getCellWidth:function(){return this._sw},getCellHeight:function(){return this._sh},getOrient:function(){return this._orient},getFirstDayOfWeek:function(){return this._firstDayOfWeek},getDateInfo:function(t){var e=(t=Ll(t)).getFullYear(),i=t.getMonth()+1;i=i<10?"0"+i:i;var n=t.getDate();n=n<10?"0"+n:n;var a=t.getDay();return{y:e,m:i,d:n,day:a=Math.abs((a+7-this.getFirstDayOfWeek())%7),time:t.getTime(),formatedDate:e+"-"+i+"-"+n,date:t}},getNextNDay:function(t,e){return 0===(e=e||0)||(t=new Date(this.getDateInfo(t).time)).setDate(t.getDate()+e),this.getDateInfo(t)},update:function(t,e){this._firstDayOfWeek=+this._model.getModel("dayLabel").get("firstDay"),this._orient=this._model.get("orient"),this._lineWidth=this._model.getModel("itemStyle").getItemStyle().lineWidth||0,this._rangeInfo=this._getRangeInfo(this._initRangeOption());var i=this._rangeInfo.weeks||1,n=["width","height"],a=this._model.get("cellSize").slice(),o=this._model.getBoxLayoutParams(),r="horizontal"===this._orient?[i,7]:[7,i];E([0,1],function(t){u(a,t)&&(o[n[t]]=a[t]*r[t])});var s={width:e.getWidth(),height:e.getHeight()},l=this._rect=au(o,s);function u(t,e){return null!=t[e]&&"auto"!==t[e]}E([0,1],function(t){u(a,t)||(a[t]=l[n[t]]/r[t])}),this._sw=a[0],this._sh=a[1]},dataToPoint:function(t,e){k(t)&&(t=t[0]),null==e&&(e=!0);var i=this.getDateInfo(t),n=this._rangeInfo,a=i.formatedDate;if(e&&!(i.time>=n.start.time&&i.time<n.end.time+864e5))return[NaN,NaN];var o=i.day,r=this._getRangeInfo([n.start.time,a]).nthWeek;return"vertical"===this._orient?[this._rect.x+o*this._sw+this._sw/2,this._rect.y+r*this._sh+this._sh/2]:[this._rect.x+r*this._sw+this._sw/2,this._rect.y+o*this._sh+this._sh/2]},pointToData:function(t){var e=this.pointToDate(t);return e&&e.time},dataToRect:function(t,e){var i=this.dataToPoint(t,e);return{contentShape:{x:i[0]-(this._sw-this._lineWidth)/2,y:i[1]-(this._sh-this._lineWidth)/2,width:this._sw-this._lineWidth,height:this._sh-this._lineWidth},center:i,tl:[i[0]-this._sw/2,i[1]-this._sh/2],tr:[i[0]+this._sw/2,i[1]-this._sh/2],br:[i[0]+this._sw/2,i[1]+this._sh/2],bl:[i[0]-this._sw/2,i[1]+this._sh/2]}},pointToDate:function(t){var e=Math.floor((t[0]-this._rect.x)/this._sw)+1,i=Math.floor((t[1]-this._rect.y)/this._sh)+1,n=this._rangeInfo.range;return"vertical"===this._orient?this._getDateByWeeksAndDay(i,e-1,n):this._getDateByWeeksAndDay(e,i-1,n)},convertToPixel:A(cA,"dataToPoint"),convertFromPixel:A(cA,"pointToData"),_initRangeOption:function(){var t=this._model.get("range"),e=t;if(k(e)&&1===e.length&&(e=e[0]),/^\d{4}$/.test(e)&&(t=[e+"-01-01",e+"-12-31"]),/^\d{4}[\/|-]\d{1,2}$/.test(e)){var i=this.getDateInfo(e),n=i.date;n.setMonth(n.getMonth()+1);var a=this.getNextNDay(n,-1);t=[i.formatedDate,a.formatedDate]}/^\d{4}[\/|-]\d{1,2}[\/|-]\d{1,2}$/.test(e)&&(t=[e,e]);var o=this._getRangeInfo(t);return o.start.time>o.end.time&&t.reverse(),t},_getRangeInfo:function(t){var e;(t=[this.getDateInfo(t[0]),this.getDateInfo(t[1])])[0].time>t[1].time&&(e=!0,t.reverse());var i=Math.floor(t[1].time/864e5)-Math.floor(t[0].time/864e5)+1,n=new Date(t[0].time),a=n.getDate(),o=t[1].date.getDate();if(n.setDate(a+i-1),n.getDate()!==o)for(var r=0<n.getTime()-t[1].time?1:-1;n.getDate()!==o&&0<(n.getTime()-t[1].time)*r;)i-=r,n.setDate(a+i-1);var s=Math.floor((i+t[0].day+6)/7),l=e?1-s:s-1;return e&&t.reverse(),{range:[t[0].formatedDate,t[1].formatedDate],start:t[0],end:t[1],allDay:i,weeks:s,nthWeek:l,fweek:t[0].day,lweek:t[1].day}},_getDateByWeeksAndDay:function(t,e,i){var n=this._getRangeInfo(i);if(t>n.weeks||0===t&&e<n.fweek||t===n.weeks&&e>n.lweek)return!1;var a=7*(t-1)-n.fweek+e,o=new Date(n.start.time);return o.setDate(n.start.d+a),this.getDateInfo(o)}},hA.dimensions=hA.prototype.dimensions,hA.getDimensionsInfo=hA.prototype.getDimensionsInfo,hA.create=function(i,n){var a=[];return i.eachComponent("calendar",function(t){var e=new hA(t,i,n);a.push(e),t.coordinateSystem=e}),i.eachSeries(function(t){"calendar"===t.get("coordinateSystem")&&(t.coordinateSystem=a[t.get("calendarIndex")||0])}),a},Hu.register("calendar",hA);var dA=fu.extend({type:"calendar",coordinateSystem:null,defaultOption:{zlevel:0,z:2,left:80,top:60,cellSize:20,orient:"horizontal",splitLine:{show:!0,lineStyle:{color:"#000",width:1,type:"solid"}},itemStyle:{color:"#fff",borderWidth:1,borderColor:"#ccc"},dayLabel:{show:!0,firstDay:0,position:"start",margin:"50%",nameMap:"en",color:"#000"},monthLabel:{show:!0,position:"start",margin:5,align:"center",nameMap:"en",formatter:null,color:"#000"},yearLabel:{show:!0,position:null,margin:30,formatter:null,color:"#ccc",fontFamily:"sans-serif",fontWeight:"bolder",fontSize:20}},init:function(t,e,i,n){var a=su(t);dA.superApply(this,"init",arguments),fA(t,a)},mergeOption:function(t,e){dA.superApply(this,"mergeOption",arguments),fA(this.option,t)}});function fA(t,e){var i=t.cellSize;k(i)?1===i.length&&(i[1]=i[0]):i=t.cellSize=[i,i];var n=N([0,1],function(t){return function(t,e){return null!=t[eu[e][0]]||null!=t[eu[e][1]]&&null!=t[eu[e][2]]}(e,t)&&(i[t]="auto"),null!=i[t]&&"auto"!==i[t]});ru(t,e,{type:"box",ignoreSize:n})}var pA={EN:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],CN:["涓�鏈�","浜屾湀","涓夋湀","鍥涙湀","浜旀湀","鍏湀","涓冩湀","鍏湀","涔濇湀","鍗佹湀","鍗佷竴鏈�","鍗佷簩鏈�"]},gA={EN:["S","M","T","W","T","F","S"],CN:["鏃�","涓�","浜�","涓�","鍥�","浜�","鍏�"]};lf({type:"calendar",_tlpoints:null,_blpoints:null,_firstDayOfMonth:null,_firstDayPoints:null,render:function(t,e,i){var n=this.group;n.removeAll();var a=t.coordinateSystem,o=a.getRangeInfo(),r=a.getOrient();this._renderDayRect(t,o,n),this._renderLines(t,o,r,n),this._renderYearText(t,o,r,n),this._renderMonthText(t,r,n),this._renderWeekText(t,o,r,n)},_renderDayRect:function(t,e,i){for(var n=t.coordinateSystem,a=t.getModel("itemStyle").getItemStyle(),o=n.getCellWidth(),r=n.getCellHeight(),s=e.start.time;s<=e.end.time;s=n.getNextNDay(s,1).time){var l=n.dataToRect([s],!1).tl,u=new Hr({shape:{x:l[0],y:l[1],width:o,height:r},cursor:"default",style:a});i.add(u)}},_renderLines:function(i,t,n,a){var o=this,r=i.coordinateSystem,s=i.getModel("splitLine.lineStyle").getLineStyle(),l=i.get("splitLine.show"),e=s.lineWidth;this._tlpoints=[],this._blpoints=[],this._firstDayOfMonth=[],this._firstDayPoints=[];for(var u=t.start,h=0;u.time<=t.end.time;h++){d(u.formatedDate),0===h&&(u=r.getDateInfo(t.start.y+"-"+t.start.m));var c=u.date;c.setMonth(c.getMonth()+1),u=r.getDateInfo(c)}function d(t){o._firstDayOfMonth.push(r.getDateInfo(t)),o._firstDayPoints.push(r.dataToRect([t],!1).tl);var e=o._getLinePointsOfOneWeek(i,t,n);o._tlpoints.push(e[0]),o._blpoints.push(e[e.length-1]),l&&o._drawSplitline(e,s,a)}d(r.getNextNDay(t.end.time,1).formatedDate),l&&this._drawSplitline(o._getEdgesPoints(o._tlpoints,e,n),s,a),l&&this._drawSplitline(o._getEdgesPoints(o._blpoints,e,n),s,a)},_getEdgesPoints:function(t,e,i){var n=[t[0].slice(),t[t.length-1].slice()],a="horizontal"===i?0:1;return n[0][a]=n[0][a]-e/2,n[1][a]=n[1][a]+e/2,n},_drawSplitline:function(t,e,i){var n=new zr({z2:20,shape:{points:t},style:e});i.add(n)},_getLinePointsOfOneWeek:function(t,e,i){var n=t.coordinateSystem;e=n.getDateInfo(e);for(var a=[],o=0;o<7;o++){var r=n.getNextNDay(e.time,o),s=n.dataToRect([r.time],!1);a[2*r.day]=s.tl,a[2*r.day+1]=s["horizontal"===i?"bl":"tr"]}return a},_formatterLabel:function(t,e){return"string"==typeof t&&t?Xl(t,e):"function"==typeof t?t(e):e.nameMap},_yearTextPositionControl:function(t,e,i,n,a){e=e.slice();var o=["center","bottom"];"bottom"===n?(e[1]+=a,o=["center","top"]):"left"===n?e[0]-=a:"right"===n?(e[0]+=a,o=["center","top"]):e[1]-=a;var r=0;return"left"!==n&&"right"!==n||(r=Math.PI/2),{rotation:r,position:e,style:{textAlign:o[0],textVerticalAlign:o[1]}}},_renderYearText:function(t,e,i,n){var a=t.getModel("yearLabel");if(a.get("show")){var o=a.get("margin"),r=a.get("position");r=r||("horizontal"!==i?"top":"left");var s=[this._tlpoints[this._tlpoints.length-1],this._blpoints[0]],l=(s[0][0]+s[1][0])/2,u=(s[0][1]+s[1][1])/2,h="horizontal"===i?0:1,c={top:[l,s[h][1]],bottom:[l,s[1-h][1]],left:[s[1-h][0],u],right:[s[h][0],u]},d=e.start.y;+e.end.y>+e.start.y&&(d=d+"-"+e.end.y);var f=a.get("formatter"),p={start:e.start.y,end:e.end.y,nameMap:d},g=this._formatterLabel(f,p),m=new Dr({z2:30});Gs(m.style,a,{text:g}),m.attr(this._yearTextPositionControl(m,c[r],i,r,o)),n.add(m)}},_monthTextPositionControl:function(t,e,i,n,a){var o="left",r="top",s=t[0],l=t[1];return"horizontal"===i?(l+=a,e&&(o="center"),"start"===n&&(r="bottom")):(s+=a,e&&(r="middle"),"start"===n&&(o="right")),{x:s,y:l,textAlign:o,textVerticalAlign:r}},_renderMonthText:function(t,e,i){var n=t.getModel("monthLabel");if(n.get("show")){var a=n.get("nameMap"),o=n.get("margin"),r=n.get("position"),s=n.get("align"),l=[this._tlpoints,this._blpoints];R(a)&&(a=pA[a.toUpperCase()]||[]);var u="start"===r?0:1,h="horizontal"===e?0:1;o="start"===r?-o:o;for(var c="center"===s,d=0;d<l[u].length-1;d++){var f=l[u][d].slice(),p=this._firstDayOfMonth[d];if(c){var g=this._firstDayPoints[d];f[h]=(g[h]+l[0][d+1][h])/2}var m=n.get("formatter"),v=a[+p.m-1],y={yyyy:p.y,yy:(p.y+"").slice(2),MM:p.m,M:+p.m,nameMap:v},x=this._formatterLabel(m,y),_=new Dr({z2:30});L(Gs(_.style,n,{text:x}),this._monthTextPositionControl(f,c,e,r,o)),i.add(_)}}},_weekTextPositionControl:function(t,e,i,n,a){var o="center",r="middle",s=t[0],l=t[1],u="start"===i;return"horizontal"===e?(s=s+n+(u?1:-1)*a[0]/2,o=u?"right":"left"):(l=l+n+(u?1:-1)*a[1]/2,r=u?"bottom":"top"),{x:s,y:l,textAlign:o,textVerticalAlign:r}},_renderWeekText:function(t,e,i,n){var a=t.getModel("dayLabel");if(a.get("show")){var o=t.coordinateSystem,r=a.get("position"),s=a.get("nameMap"),l=a.get("margin"),u=o.getFirstDayOfWeek();R(s)&&(s=gA[s.toUpperCase()]||[]);var h=o.getNextNDay(e.end.time,7-e.lweek).time,c=[o.getCellWidth(),o.getCellHeight()];l=xl(l,c["horizontal"===i?0:1]),"start"===r&&(h=o.getNextNDay(e.start.time,-(7+e.fweek)).time,l=-l);for(var d=0;d<7;d++){var f,p=o.getNextNDay(h,d),g=o.dataToRect([p.time],!1).center;f=Math.abs((d+u)%7);var m=new Dr({z2:30});L(Gs(m.style,a,{text:s[f]}),this._weekTextPositionControl(g,i,r,l,c)),n.add(m)}}}});var mA={path:null,compoundPath:null,group:Si,image:Yn,text:Dr};Jd(function(t){var e=t.graphic;k(e)?e[0]&&e[0].elements?t.graphic=[t.graphic[0]]:t.graphic=[{elements:e}]:e&&!e.elements&&(t.graphic=[{elements:[e]}])});var vA=sf({type:"graphic",defaultOption:{elements:[],parentId:null},_elOptionsToUpdate:null,mergeOption:function(t){var e=this.option.elements;this.option.elements=null,vA.superApply(this,"mergeOption",arguments),this.option.elements=e},optionUpdated:function(t,e){var i=this.option,n=(e?i:t).elements,a=i.elements=e?[]:i.elements,o=[];this._flatten(n,o);var r=Ia(a,o);Aa(r);var s=this._elOptionsToUpdate=[];E(r,function(t,e){var i=t.option;i&&(s.push(i),function(t,e){var i=t.exist;if(e.id=t.keyInfo.id,!e.type&&i&&(e.type=i.type),null==e.parentId){var n=e.parentOption;n?e.parentId=n.id:i&&(e.parentId=i.parentId)}e.parentOption=null}(t,i),function(t,e,i){var n=L({},i),a=t[e],o=i.$action||"merge";"merge"===o?a?(m(a,n,!0),ru(a,n,{ignoreSize:!0}),lu(i,a)):t[e]=n:"replace"===o?t[e]=n:"remove"===o&&a&&(t[e]=null)}(a,e,i),function(t,e){if(!t)return;t.hv=e.hv=[_A(e,["left","right"]),_A(e,["top","bottom"])],"group"===t.type&&(null==t.width&&(t.width=e.width=0),null==t.height&&(t.height=e.height=0))}(a[e],i))},this);for(var l=a.length-1;0<=l;l--)null==a[l]?a.splice(l,1):delete a[l].$action},_flatten:function(t,i,n){E(t,function(t){if(t){n&&(t.parentOption=n),i.push(t);var e=t.children;"group"===t.type&&e&&this._flatten(e,i,t),delete t.children}},this)},useElOptionsToUpdate:function(){var t=this._elOptionsToUpdate;return this._elOptionsToUpdate=null,t}});function yA(t,e,i,n){var a=i.type,o=new(mA.hasOwnProperty(a)?mA[a]:ps(a))(i);e.add(o),n.set(t,o),o.__ecGraphicId=t}function xA(t,e){var i=t&&t.parent;i&&("group"===t.type&&t.traverse(function(t){xA(t,e)}),e.removeKey(t.__ecGraphicId),i.remove(t))}function _A(e,t){var i;return E(t,function(t){null!=e[t]&&"auto"!==e[t]&&(i=!0)}),i}lf({type:"graphic",init:function(t,e){this._elMap=Q(),this._lastGraphicModel},render:function(t,e,i){t!==this._lastGraphicModel&&this._clear(),this._lastGraphicModel=t,this._updateElements(t),this._relocate(t,i)},_updateElements:function(u){var t=u.useElOptionsToUpdate();if(t){var h=this._elMap,c=this.group;E(t,function(t){var e=t.$action,i=t.id,n=h.get(i),a=t.parentId,o=null!=a?h.get(a):c,r=t.style;"text"===t.type&&r&&(t.hv&&t.hv[1]&&(r.textVerticalAlign=r.textBaseline=null),!r.hasOwnProperty("textFill")&&r.fill&&(r.textFill=r.fill),!r.hasOwnProperty("textStroke")&&r.stroke&&(r.textStroke=r.stroke));var s=function(e){return e=L({},e),E(["id","parentId","$action","hv","bounding"].concat(tu),function(t){delete e[t]}),e}(t);e&&"merge"!==e?"replace"===e?(xA(n,h),yA(i,o,s,h)):"remove"===e&&xA(n,h):n?n.attr(s):yA(i,o,s,h);var l=h.get(i);l&&(l.__ecGraphicWidthOption=t.width,l.__ecGraphicHeightOption=t.height,function(t,e){var i=t.eventData;t.silent||t.ignore||i||(i=t.eventData={componentType:"graphic",componentIndex:e.componentIndex,name:t.name});i&&(i.info=t.info)}(l,u))})}},_relocate:function(t,e){for(var i=t.option.elements,n=this.group,a=this._elMap,o=e.getWidth(),r=e.getHeight(),s=0;s<i.length;s++){var l=i[s];if((h=a.get(l.id))&&h.isGroup){var u=(c=h.parent)===n;h.__ecGraphicWidth=xl(h.__ecGraphicWidthOption,u?o:c.__ecGraphicWidth)||0,h.__ecGraphicHeight=xl(h.__ecGraphicHeightOption,u?r:c.__ecGraphicHeight)||0}}for(s=i.length-1;0<=s;s--){var h,c;l=i[s];if(h=a.get(l.id))ou(h,l,(c=h.parent)===n?{width:o,height:r}:{width:c.__ecGraphicWidth,height:c.__ecGraphicHeight},null,{hv:l.hv,boundingMode:l.bounding})}},_clear:function(){var e=this._elMap;e.each(function(t){xA(t,e)}),this._elMap=Q()},dispose:function(){this._clear()}});var wA={};function bA(t,e){wA[t]=e}function SA(t){return wA[t]}var MA=sf({type:"toolbox",layoutMode:{type:"box",ignoreSize:!0},optionUpdated:function(){MA.superApply(this,"optionUpdated",arguments),E(this.option.feature,function(t,e){var i=SA(e);i&&m(t,i.defaultOption)})},defaultOption:{show:!0,z:6,zlevel:0,orient:"horizontal",left:"right",top:"top",backgroundColor:"transparent",borderColor:"#ccc",borderRadius:0,borderWidth:0,padding:5,itemSize:15,itemGap:8,showTitle:!0,iconStyle:{borderColor:"#666",color:"none"},emphasis:{iconStyle:{borderColor:"#3E98C5"}},tooltip:{show:!1}}});function IA(t,e){var i=Vl(e.get("padding")),n=e.getItemStyle(["color","opacity"]);return n.fill=e.get("backgroundColor"),t=new Hr({shape:{x:t.x-i[3],y:t.y-i[0],width:t.width+i[1]+i[3],height:t.height+i[0]+i[2],r:e.get("borderRadius")},style:n,silent:!0,z2:-1})}lf({type:"toolbox",render:function(h,c,d,s){var f=this.group;if(f.removeAll(),h.get("show")){var p=+h.get("itemSize"),l=h.get("feature")||{},u=this._features||(this._features={}),g=[];E(l,function(t,e){g.push(e)}),new df(this._featureNames||[],g).add(t).update(t).remove(A(t,null)).execute(),this._featureNames=g,function(t,e,i){var n=e.getBoxLayoutParams(),a=e.get("padding"),o={width:i.getWidth(),height:i.getHeight()},r=au(n,o,a);nu(e.get("orient"),t,e.get("itemGap"),r.width,r.height),ou(t,n,o,a)}(f,h,d),f.add(IA(f.getBoundingRect(),h)),f.eachChild(function(t){var e=t.__title,i=t.hoverStyle;if(i&&e){var n=un(e,wn(i)),a=t.position[0]+f.position[0],o=!1;t.position[1]+f.position[1]+p+n.height>d.getHeight()&&(i.textPosition="top",o=!0);var r=o?-5-n.height:p+8;a+n.width/2>d.getWidth()?(i.textPosition=["100%",r],i.textAlign="right"):a-n.width/2<0&&(i.textPosition=[0,r],i.textAlign="left")}})}function t(t,e){var i,n=g[t],a=g[e],o=new dl(l[n],h,h.ecModel);if(n&&!a){if(function(t){return 0===t.indexOf("my")}(n))i={model:o,onclick:o.option.onclick,featureName:n};else{var r=SA(n);if(!r)return;i=new r(o,c,d)}u[n]=i}else{if(!(i=u[a]))return;i.model=o,i.ecModel=c,i.api=d}n||!a?o.get("show")&&!i.unusable?(function(a,o,t){var r=a.getModel("iconStyle"),s=a.getModel("emphasis.iconStyle"),e=o.getIcons?o.getIcons():a.get("icon"),l=a.get("title")||{};if("string"==typeof e){var i=e,n=l;l={},(e={})[t]=i,l[t]=n}var u=a.iconPaths={};E(e,function(t,e){var i=el(t,{},{x:-p/2,y:-p/2,width:p,height:p});i.setStyle(r.getItemStyle()),i.hoverStyle=s.getItemStyle(),i.setStyle({text:l[e],textAlign:s.get("textAlign"),textBorderRadius:s.get("textBorderRadius"),textPadding:s.get("textPadding"),textFill:null});var n=h.getModel("tooltip");n&&n.get("show")&&i.attr("tooltip",L({content:l[e],formatter:n.get("formatter",!0)||function(){return l[e]},formatterParams:{componentType:"toolbox",name:e,title:l[e],$vars:["name","title"]},position:n.get("position",!0)||"bottom"},n.option)),Os(i),h.get("showTitle")&&(i.__title=l[e],i.on("mouseover",function(){var t=s.getItemStyle(),e="vertical"===h.get("orient")?null==h.get("right")?"right":"left":null==h.get("bottom")?"bottom":"top";i.setStyle({textFill:s.get("textFill")||t.fill||t.stroke||"#000",textBackgroundColor:s.get("textBackgroundColor"),textPosition:s.get("textPosition")||e})}).on("mouseout",function(){i.setStyle({textFill:null,textBackgroundColor:null})})),i.trigger(a.get("iconStatus."+e)||"normal"),f.add(i),i.on("click",T(o.onclick,o,c,d,e)),u[e]=i})}(o,i,n),o.setIconStatus=function(t,e){var i=this.option,n=this.iconPaths;i.iconStatus=i.iconStatus||{},i.iconStatus[t]=e,n[t]&&n[t].trigger(e)},i.render&&i.render(o,c,d,s)):i.remove&&i.remove(c,d):i.dispose&&i.dispose(c,d)}},updateView:function(t,e,i,n){E(this._features,function(t){t.updateView&&t.updateView(t.model,e,i,n)})},remove:function(e,i){E(this._features,function(t){t.remove&&t.remove(e,i)}),this.group.removeAll()},dispose:function(e,i){E(this._features,function(t){t.dispose&&t.dispose(e,i)})}});var AA=gc.toolbox.saveAsImage;function TA(t){this.model=t}TA.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:AA.title,type:"png",connectedBackgroundColor:"#fff",name:"",excludeComponents:["toolbox"],pixelRatio:1,lang:AA.lang.slice()},TA.prototype.unusable=!v.canvasSupported,TA.prototype.onclick=function(t,e){var i=this.model,n=i.get("name")||t.get("title.0.text")||"echarts",a=i.get("type",!0)||"png",o=e.getConnectedDataURL({type:a,backgroundColor:i.get("backgroundColor",!0)||t.get("backgroundColor")||"#fff",connectedBackgroundColor:i.get("connectedBackgroundColor"),excludeComponents:i.get("excludeComponents"),pixelRatio:i.get("pixelRatio")});if("function"!=typeof MouseEvent||v.browser.ie||v.browser.edge)if(window.navigator.msSaveOrOpenBlob){for(var r=atob(o.split(",")[1]),s=r.length,l=new Uint8Array(s);s--;)l[s]=r.charCodeAt(s);var u=new Blob([l]);window.navigator.msSaveOrOpenBlob(u,n+"."+a)}else{var h=i.get("lang"),c='<body style="margin:0;"><img src="'+o+'" style="max-width:100%;" title="'+(h&&h[0]||"")+'" /></body>';window.open().document.write(c)}else{var d=document.createElement("a");d.download=n+"."+a,d.target="_blank",d.href=o;var f=new MouseEvent("click",{view:window,bubbles:!0,cancelable:!1});d.dispatchEvent(f)}},bA("saveAsImage",TA);var DA=gc.toolbox.magicType;function CA(t){this.model=t}CA.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:D(DA.title),option:{},seriesIndex:{}};var LA=CA.prototype;LA.getIcons=function(){var t=this.model,e=t.get("icon"),i={};return E(t.get("type"),function(t){e[t]&&(i[t]=e[t])}),i};var kA={line:function(t,e,i,n){if("bar"===t)return m({id:e,type:"line",data:i.get("data"),stack:i.get("stack"),markPoint:i.get("markPoint"),markLine:i.get("markLine")},n.get("option.line")||{},!0)},bar:function(t,e,i,n){if("line"===t)return m({id:e,type:"bar",data:i.get("data"),stack:i.get("stack"),markPoint:i.get("markPoint"),markLine:i.get("markLine")},n.get("option.bar")||{},!0)},stack:function(t,e,i,n){if("line"===t||"bar"===t)return m({id:e,stack:"__ec_magicType_stack__"},n.get("option.stack")||{},!0)},tiled:function(t,e,i,n){if("line"===t||"bar"===t)return m({id:e,stack:""},n.get("option.tiled")||{},!0)}},PA=[["line","bar"],["stack","tiled"]];LA.onclick=function(u,t,h){var c=this.model,e=c.get("seriesIndex."+h);if(kA[h]){var d={series:[]};E(PA,function(t){0<=_(t,h)&&E(t,function(t){c.setIconStatus(t,"normal")})}),c.setIconStatus(h,"emphasis"),u.eachComponent({mainType:"series",query:null==e?null:{seriesIndex:e}},function(t){var e=t.subType,i=t.id,n=kA[h](e,i,t,c);n&&(C(n,t.option),d.series.push(n));var a=t.coordinateSystem;if(a&&"cartesian2d"===a.type&&("line"===h||"bar"===h)){var o=a.getAxesByScale("ordinal")[0];if(o){var r=o.dim+"Axis",s=u.queryComponents({mainType:r,index:t.get(name+"Index"),id:t.get(name+"Id")})[0].componentIndex;d[r]=d[r]||[];for(var l=0;l<=s;l++)d[r][s]=d[r][s]||{};d[r][s].boundaryGap="bar"===h}}}),t.dispatchAction({type:"changeMagicType",currentType:h,newOption:d})}},tf({type:"changeMagicType",event:"magicTypeChanged",update:"prepareAndUpdate"},function(t,e){e.mergeOption(t.newOption)}),bA("magicType",CA);var NA=gc.toolbox.dataView,OA=new Array(60).join("-"),EA="\t";function RA(t){var e=function(t){var a={},o=[],r=[];return t.eachRawSeries(function(t){var e=t.coordinateSystem;if(!e||"cartesian2d"!==e.type&&"polar"!==e.type)o.push(t);else{var i=e.getBaseAxis();if("category"===i.type){var n=i.dim+"_"+i.index;a[n]||(a[n]={categoryAxis:i,valueAxis:e.getOtherAxis(i),series:[]},r.push({axisDim:i.dim,axisIndex:i.index})),a[n].series.push(t)}else o.push(t)}}),{seriesGroupByCategoryAxis:a,other:o,meta:r}}(t);return{value:M([function(t){var h=[];return E(t,function(t,e){var i=t.categoryAxis,n=t.valueAxis.dim,a=[" "].concat(N(t.series,function(t){return t.name})),o=[i.model.getCategories()];E(t.series,function(t){o.push(t.getRawData().mapArray(n,function(t){return t}))});for(var r=[a.join(EA)],s=0;s<o[0].length;s++){for(var l=[],u=0;u<o.length;u++)l.push(o[u][s]);r.push(l.join(EA))}h.push(r.join("\n"))}),h.join("\n\n"+OA+"\n\n")}(e.seriesGroupByCategoryAxis),function(t){return N(t,function(t){var a=t.getRawData(),o=[t.name],r=[];return a.each(a.dimensions,function(){for(var t=arguments.length,e=arguments[t-1],i=a.getName(e),n=0;n<t-1;n++)r[n]=arguments[n];o.push((i?i+EA:"")+r.join(EA))}),o.join("\n")}).join("\n\n"+OA+"\n\n")}(e.other)],function(t){return t.replace(/[\n\t\s]/g,"")}).join("\n\n"+OA+"\n\n"),meta:e.meta}}function zA(t){return t.replace(/^\s\s*/,"").replace(/\s\s*$/,"")}var BA=new RegExp("["+EA+"]+","g");function VA(t,o){var e=t.split(new RegExp("\n*"+OA+"\n*","g")),r={series:[]};return E(e,function(t,e){if(function(t){if(0<=t.slice(0,t.indexOf("\n")).indexOf(EA))return!0}(t)){var i=function(t){for(var e=t.split(/\n+/g),i=[],n=N(zA(e.shift()).split(BA),function(t){return{name:t,data:[]}}),a=0;a<e.length;a++){var o=zA(e[a]).split(BA);i.push(o.shift());for(var r=0;r<o.length;r++)n[r]&&(n[r].data[a]=o[r])}return{series:n,categories:i}}(t),n=o[e],a=n.axisDim+"Axis";n&&(r[a]=r[a]||[],r[a][n.axisIndex]={data:i.categories},r.series=r.series.concat(i.series))}else{i=function(t){for(var e=t.split(/\n+/g),i=zA(e.shift()),n=[],a=0;a<e.length;a++){var o,r=zA(e[a]).split(BA),s="",l=!1;o=isNaN(r[0])?(l=!0,s=r[0],r=r.slice(1),n[a]={name:s,value:[]},n[a].value):n[a]=[];for(var u=0;u<r.length;u++)o.push(+r[u]);1===o.length&&(l?n[a].value=o[0]:n[a]=o[0])}return{name:i,data:n}}(t);r.series.push(i)}}),r}function GA(t){this._dom=null,this.model=t}GA.defaultOption={show:!0,readOnly:!1,optionToContent:null,contentToOption:null,icon:"M17.5,17.3H33 M17.5,17.3H33 M45.4,29.5h-28 M11.5,2v56H51V14.8L38.4,2H11.5z M38.4,2.2v12.7H51 M45.4,41.7h-28",title:D(NA.title),lang:D(NA.lang),backgroundColor:"#fff",textColor:"#000",textareaColor:"#fff",textareaBorderColor:"#333",buttonColor:"#c23531",buttonTextColor:"#fff"},GA.prototype.onclick=function(t,e){var i=e.getDom(),n=this.model;this._dom&&i.removeChild(this._dom);var a=document.createElement("div");a.style.cssText="position:absolute;left:5px;top:5px;bottom:5px;right:5px;",a.style.backgroundColor=n.get("backgroundColor")||"#fff";var o=document.createElement("h4"),r=n.get("lang")||[];o.innerHTML=r[0]||n.get("title"),o.style.cssText="margin: 10px 20px;",o.style.color=n.get("textColor");var s=document.createElement("div"),l=document.createElement("textarea");s.style.cssText="display:block;width:100%;overflow:auto;";var u=n.get("optionToContent"),h=n.get("contentToOption"),c=RA(t);if("function"==typeof u){var d=u(e.getOption());"string"==typeof d?s.innerHTML=d:G(d)&&s.appendChild(d)}else s.appendChild(l),l.readOnly=n.get("readOnly"),l.style.cssText="width:100%;height:100%;font-family:monospace;font-size:14px;line-height:1.6rem;",l.style.color=n.get("textColor"),l.style.borderColor=n.get("textareaBorderColor"),l.style.backgroundColor=n.get("textareaColor"),l.value=c.value;var f=c.meta,p=document.createElement("div");p.style.cssText="position:absolute;bottom:0;left:0;right:0;";var g="float:right;margin-right:20px;border:none;cursor:pointer;padding:2px 5px;font-size:12px;border-radius:3px",m=document.createElement("div"),v=document.createElement("div");g+=";background-color:"+n.get("buttonColor"),g+=";color:"+n.get("buttonTextColor");var y=this;function x(){i.removeChild(a),y._dom=null}Gt(m,"click",x),Gt(v,"click",function(){var t;try{t="function"==typeof h?h(s,e.getOption()):VA(l.value,f)}catch(t){throw x(),new Error("Data view format error "+t)}t&&e.dispatchAction({type:"changeDataView",newOption:t}),x()}),m.innerHTML=r[1],v.innerHTML=r[2],v.style.cssText=g,m.style.cssText=g,n.get("readOnly")||p.appendChild(v),p.appendChild(m),a.appendChild(o),a.appendChild(s),a.appendChild(p),s.style.height=i.clientHeight-80+"px",i.appendChild(a),this._dom=a},GA.prototype.remove=function(t,e){this._dom&&e.getDom().removeChild(this._dom)},GA.prototype.dispose=function(t,e){this.remove(t,e)},bA("dataView",GA),tf({type:"changeDataView",event:"dataViewChanged",update:"prepareAndUpdate"},function(t,n){var a=[];E(t.newOption.series,function(t){var e=n.getSeriesByName(t.name)[0];if(e){var i=e.get("data");a.push({name:t.name,data:function(t,n){return N(t,function(t,e){var i=n&&n[e];return z(i)&&!k(i)?(z(t)&&!k(t)&&(t=t.value),C({value:t},i)):t})}(t.data,i)})}else a.push(L({type:"scatter"},t))}),n.mergeOption(C({series:a},t.newOption))});var FA=E,WA=_,HA=A,ZA=["dataToPoint","pointToData"],UA=["grid","xAxis","yAxis","geo","graph","polar","radiusAxis","angleAxis","bmap"];function XA(t,e,i){var n=this._targetInfoList=[],a={},o=qA(e,t);FA(KA,function(t,e){i&&i.include&&!(0<=WA(i.include,e))||t(o,n,a)})}var YA=XA.prototype;function jA(t){return t[0]>t[1]&&t.reverse(),t}function qA(t,e){return Pa(t,e,{includeMainTypes:UA})}YA.setOutputRanges=function(t,e){this.matchOutputRanges(t,e,function(t,e,i){if((t.coordRanges||(t.coordRanges=[])).push(e),!t.coordRange){t.coordRange=e;var n=QA[t.brushType](0,i,e);t.__rangeOffset={offset:eT[t.brushType](n.values,t.range,[1,1]),xyMinMax:n.xyMinMax}}})},YA.matchOutputRanges=function(t,n,a){FA(t,function(i){var t=this.findTargetInfo(i,n);t&&!0!==t&&E(t.coordSyses,function(t){var e=QA[i.brushType](1,t,i.range);a(i,e.values,t,n)})},this)},YA.setInputRanges=function(t,a){FA(t,function(t){var e=this.findTargetInfo(t,a);if(t.range=t.range||[],e&&!0!==e){t.panelId=e.panelId;var i=QA[t.brushType](0,e.coordSys,t.coordRange),n=t.__rangeOffset;t.range=n?eT[t.brushType](i.values,n.offset,function(t,e){var i=nT(t),n=nT(e),a=[i[0]/n[0],i[1]/n[1]];return isNaN(a[0])&&(a[0]=1),isNaN(a[1])&&(a[1]=1),a}(i.xyMinMax,n.xyMinMax)):i.values}},this)},YA.makePanelOpts=function(i,n){return N(this._targetInfoList,function(t){var e=t.getPanelRect();return{panelId:t.panelId,defaultBrushType:n&&n(t),clipPath:Mb(e),isTargetByCursor:Ab(e,i,t.coordSysModel),getLinearBrushOtherExtent:Ib(e)}})},YA.controlSeries=function(t,e,i){var n=this.findTargetInfo(t,i);return!0===n||n&&0<=WA(n.coordSyses,e.coordinateSystem)},YA.findTargetInfo=function(t,e){for(var i=this._targetInfoList,n=qA(e,t),a=0;a<i.length;a++){var o=i[a],r=t.panelId;if(r){if(o.panelId===r)return o}else for(a=0;a<$A.length;a++)if($A[a](n,o))return o}return!0};var KA={grid:function(t,n){var a=t.xAxisModels,o=t.yAxisModels,e=t.gridModels,i=Q(),r={},s={};(a||o||e)&&(FA(a,function(t){var e=t.axis.grid.model;i.set(e.id,e),r[e.id]=!0}),FA(o,function(t){var e=t.axis.grid.model;i.set(e.id,e),s[e.id]=!0}),FA(e,function(t){i.set(t.id,t),r[t.id]=!0,s[t.id]=!0}),i.each(function(t){var e=t.coordinateSystem,i=[];FA(e.getCartesians(),function(t,e){(0<=WA(a,t.getAxis("x").model)||0<=WA(o,t.getAxis("y").model))&&i.push(t)}),n.push({panelId:"grid--"+t.id,gridModel:t,coordSysModel:t,coordSys:i[0],coordSyses:i,getPanelRect:JA.grid,xAxisDeclared:r[t.id],yAxisDeclared:s[t.id]})}))},geo:function(t,i){FA(t.geoModels,function(t){var e=t.coordinateSystem;i.push({panelId:"geo--"+t.id,geoModel:t,coordSysModel:t,coordSys:e,coordSyses:[e],getPanelRect:JA.geo})})}},$A=[function(t,e){var i=t.xAxisModel,n=t.yAxisModel,a=t.gridModel;return!a&&i&&(a=i.axis.grid.model),!a&&n&&(a=n.axis.grid.model),a&&a===e.gridModel},function(t,e){var i=t.geoModel;return i&&i===e.geoModel}],JA={grid:function(){return this.coordSys.grid.getRect().clone()},geo:function(){var t=this.coordSys,e=t.getBoundingRect().clone();return e.applyTransform(Ks(t)),e}},QA={lineX:HA(tT,0),lineY:HA(tT,1),rect:function(t,e,i){var n=e[ZA[t]]([i[0][0],i[1][0]]),a=e[ZA[t]]([i[0][1],i[1][1]]),o=[jA([n[0],a[0]]),jA([n[1],a[1]])];return{values:o,xyMinMax:o}},polygon:function(i,n,t){var a=[[1/0,-1/0],[1/0,-1/0]];return{values:N(t,function(t){var e=n[ZA[i]](t);return a[0][0]=Math.min(a[0][0],e[0]),a[1][0]=Math.min(a[1][0],e[1]),a[0][1]=Math.max(a[0][1],e[0]),a[1][1]=Math.max(a[1][1],e[1]),e}),xyMinMax:a}}};function tT(t,e,i,n){var a=i.getAxis(["x","y"][t]),o=jA(N([0,1],function(t){return e?a.coordToData(a.toLocalCoord(n[t])):a.toGlobalCoord(a.dataToCoord(n[t]))})),r=[];return r[t]=o,r[1-t]=[NaN,NaN],{values:o,xyMinMax:r}}var eT={lineX:HA(iT,0),lineY:HA(iT,1),rect:function(t,e,i){return[[t[0][0]-i[0]*e[0][0],t[0][1]-i[0]*e[0][1]],[t[1][0]-i[1]*e[1][0],t[1][1]-i[1]*e[1][1]]]},polygon:function(t,i,n){return N(t,function(t,e){return[t[0]-n[0]*i[e][0],t[1]-n[1]*i[e][1]]})}};function iT(t,e,i,n){return[e[0]-n[t]*i[0],e[1]-n[t]*i[1]]}function nT(t){return t?[t[0][1]-t[0][0],t[1][1]-t[1][0]]:[NaN,NaN]}var aT=E,oT="\0_ec_hist_store";function rT(t){var e=t[oT];return e=e||(t[oT]=[{}])}fu.registerSubTypeDefaulter("dataZoom",function(){return"slider"});var sT=["cartesian2d","polar","singleAxis"];var lT,uT,hT,cT,dT=(uT=["axisIndex","axis","index","id"],hT=N(lT=(lT=["x","y","z","radius","angle","single"]).slice(),Kl),cT=N(uT=(uT||[]).slice(),Kl),function(a,o){E(lT,function(t,e){for(var i={name:t,capital:hT[e]},n=0;n<uT.length;n++)i[uT[n]]=t+cT[n];a.call(o,i)})});function fT(a,o,r){return function(t){var e,i={nodes:[],records:{}};if(o(function(t){i.records[t.name]={}}),!t)return i;for(s(t,i);e=!1,a(n),e;);function n(t){!function(t,e){return 0<=_(e.nodes,t)}(t,i)&&function(t,i){var n=!1;return o(function(e){E(r(t,e)||[],function(t){i.records[e.name][t]&&(n=!0)})}),n}(t,i)&&(s(t,i),e=!0)}return i};function s(t,i){i.nodes.push(t),o(function(e){E(r(t,e)||[],function(t){i.records[e.name][t]=!0})})}}function pT(t,e,i,n){this._dimName=t,this._axisIndex=e,this._valueWindow,this._percentWindow,this._dataExtent,this._minMaxSpan,this.ecModel=n,this._dataZoomModel=i}var gT=E,mT=wl;function vT(t,e){var i=t.getAxisModel(),n=t._percentWindow,a=t._valueWindow;if(n){var o=Ml(a,[0,500]);o=Math.min(o,20);var r=e||0===n[0]&&100===n[1];i.setRange(r?null:+a[0].toFixed(o),r?null:+a[1].toFixed(o))}}pT.prototype={constructor:pT,hostedBy:function(t){return this._dataZoomModel===t},getDataValueWindow:function(){return this._valueWindow.slice()},getDataPercentWindow:function(){return this._percentWindow.slice()},getTargetSeriesModels:function(){var n=[],a=this.ecModel;return a.eachSeries(function(t){if(function(t){return 0<=_(sT,t)}(t.get("coordinateSystem"))){var e=this._dimName,i=a.queryComponents({mainType:e+"Axis",index:t.get(e+"AxisIndex"),id:t.get(e+"AxisId")})[0];this._axisIndex===(i&&i.componentIndex)&&n.push(t)}},this),n},getAxisModel:function(){return this.ecModel.getComponent(this._dimName+"Axis",this._axisIndex)},getOtherAxisModel:function(){var t,e,i,n=this._dimName,a=this.ecModel,o=this.getAxisModel();return t="x"===n||"y"===n?(e="gridIndex","x"===n?"y":"x"):(e="polarIndex","angle"===n?"radius":"angle"),a.eachComponent(t+"Axis",function(t){(t.get(e)||0)===(o.get(e)||0)&&(i=t)}),i},getMinMaxSpan:function(){return D(this._minMaxSpan)},calculateDataWindow:function(a){var o,r=this._dataExtent,s=this.getAxisModel().axis.scale,l=this._dataZoomModel.getRangePropMode(),u=[0,100],h=[],c=[];gT(["start","end"],function(t,e){var i=a[t],n=a[t+"Value"];"percent"===l[e]?(null==i&&(i=u[e]),n=s.parse(yl(i,u,r))):(o=!0,i=yl(n=null==n?r[e]:s.parse(n),r,u)),c[e]=n,h[e]=i}),mT(c),mT(h);var d=this._minMaxSpan;function t(t,e,i,n,a){var o=a?"Span":"ValueSpan";ww(0,t,i,"all",d["min"+o],d["max"+o]);for(var r=0;r<2;r++)e[r]=yl(t[r],i,n,!0),a&&(e[r]=s.parse(e[r]))}return o?t(c,h,r,u,!1):t(h,c,u,r,!0),{valueWindow:c,percentWindow:h}},reset:function(t){if(t===this._dataZoomModel){var e=this.getTargetSeriesModels();this._dataExtent=function(t,e,i){var n=[1/0,-1/0];gT(i,function(t){var i=t.getData();i&&gT(i.mapDimension(e,!0),function(t){var e=i.getApproximateExtent(t);e[0]<n[0]&&(n[0]=e[0]),e[1]>n[1]&&(n[1]=e[1])})}),n[1]<n[0]&&(n=[NaN,NaN]);return function(t,e){var i=t.getAxisModel(),n=i.getMin(!0),a="category"===i.get("type"),o=a&&i.getCategories().length;null!=n&&"dataMin"!==n&&"function"!=typeof n?e[0]=n:a&&(e[0]=0<o?0:NaN);var r=i.getMax(!0);null!=r&&"dataMax"!==r&&"function"!=typeof r?e[1]=r:a&&(e[1]=0<o?o-1:NaN);i.get("scale",!0)||(0<e[0]&&(e[0]=0),e[1]<0&&(e[1]=0))}(t,n),n}(this,this._dimName,e),function(n){var a=n._minMaxSpan={},o=n._dataZoomModel,r=n._dataExtent;gT(["min","max"],function(t){var e=o.get(t+"Span"),i=o.get(t+"ValueSpan");null!=i&&(i=n.getAxisModel().axis.scale.parse(i)),null!=i?e=yl(r[0]+i,r,[0,100],!0):null!=e&&(i=yl(e,[0,100],r,!0)-r[0]),a[t+"Span"]=e,a[t+"ValueSpan"]=i})}(this);var i=this.calculateDataWindow(t.settledOption);this._valueWindow=i.valueWindow,this._percentWindow=i.percentWindow,vT(this)}},restore:function(t){t===this._dataZoomModel&&(this._valueWindow=this._percentWindow=null,vT(this,!0))},filterData:function(t,e){if(t===this._dataZoomModel){var n=this._dimName,i=this.getTargetSeriesModels(),a=t.get("filterMode"),c=this._valueWindow;"none"!==a&&gT(i,function(i){var u=i.getData(),h=u.mapDimension(n,!0);h.length&&("weakFilter"===a?u.filterSelf(function(t){for(var e,i,n,a=0;a<h.length;a++){var o=u.get(h[a],t),r=!isNaN(o),s=o<c[0],l=o>c[1];if(r&&!s&&!l)return!0;r&&(n=!0),s&&(e=!0),l&&(i=!0)}return n&&e&&i}):gT(h,function(t){if("empty"===a)i.setData(u=u.map(t,function(t){return function(t){return t>=c[0]&&t<=c[1]}(t)?t:NaN}));else{var e={};e[t]=c,u.selectRange(e)}}),gT(h,function(t){u.setApproximateExtent(c,t)}))})}}};var yT=E,xT=dT,_T=sf({type:"dataZoom",dependencies:["xAxis","yAxis","zAxis","radiusAxis","angleAxis","singleAxis","series"],defaultOption:{zlevel:0,z:4,orient:null,xAxisIndex:null,yAxisIndex:null,filterMode:"filter",throttle:null,start:0,end:100,startValue:null,endValue:null,minSpan:null,maxSpan:null,minValueSpan:null,maxValueSpan:null,rangeMode:null},init:function(t,e,i){this._dataIntervalByAxis={},this._dataInfo={},this._axisProxies={},this.textStyleModel,this._autoThrottle=!0,this._rangePropMode=["percent","percent"];var n=wT(t);this.settledOption=n,this.mergeDefaultAndTheme(t,i),this.doInit(n)},mergeOption:function(t){var e=wT(t);m(this.option,t,!0),m(this.settledOption,e,!0),this.doInit(e)},doInit:function(t){var i=this.option;v.canvasSupported||(i.realtime=!1),this._setDefaultThrottle(t),bT(this,t);var n=this.settledOption;yT([["start","startValue"],["end","endValue"]],function(t,e){"value"===this._rangePropMode[e]&&(i[t[0]]=n[t[0]]=null)},this),this.textStyleModel=this.getModel("textStyle"),this._resetTarget(),this._giveAxisProxies()},_giveAxisProxies:function(){var r=this._axisProxies;this.eachTargetAxis(function(t,e,i,n){var a=this.dependentModels[t.axis][e],o=a.__dzAxisProxy||(a.__dzAxisProxy=new pT(t.name,e,this,n));r[t.name+"_"+e]=o},this)},_resetTarget:function(){var i=this.option,t=this._judgeAutoMode();xT(function(t){var e=t.axisIndex;i[e]=wa(i[e])},this),"axisIndex"===t?this._autoSetAxisIndex():"orient"===t&&this._autoSetOrient()},_judgeAutoMode:function(){var e=this.option,i=!1;xT(function(t){null!=e[t.axisIndex]&&(i=!0)},this);var t=e.orient;return null==t&&i?"orient":i?void 0:(null==t&&(e.orient="horizontal"),"axisIndex")},_autoSetAxisIndex:function(){var o=!0,e=this.get("orient",!0),r=this.option,t=this.dependentModels;if(o){var i="vertical"===e?"y":"x";t[i+"Axis"].length?(r[i+"AxisIndex"]=[0],o=!1):yT(t.singleAxis,function(t){o&&t.get("orient",!0)===e&&(r.singleAxisIndex=[t.componentIndex],o=!1)})}o&&xT(function(t){if(o){var e=[],i=this.dependentModels[t.axis];if(i.length&&!e.length)for(var n=0,a=i.length;n<a;n++)"category"===i[n].get("type")&&e.push(n);(r[t.axisIndex]=e).length&&(o=!1)}},this),o&&this.ecModel.eachSeries(function(a){this._isSeriesHasAllAxesTypeOf(a,"value")&&xT(function(t){var e=r[t.axisIndex],i=a.get(t.axisIndex),n=a.get(t.axisId);_(e,i=a.ecModel.queryComponents({mainType:t.axis,index:i,id:n})[0].componentIndex)<0&&e.push(i)})},this)},_autoSetOrient:function(){var e;this.eachTargetAxis(function(t){e=e||t.name},this),this.option.orient="y"===e?"vertical":"horizontal"},_isSeriesHasAllAxesTypeOf:function(n,a){var o=!0;return xT(function(t){var e=n.get(t.axisIndex),i=this.dependentModels[t.axis][e];i&&i.get("type")===a||(o=!1)},this),o},_setDefaultThrottle:function(t){if(t.hasOwnProperty("throttle")&&(this._autoThrottle=!1),this._autoThrottle){var e=this.ecModel.option;this.option.throttle=e.animation&&0<e.animationDurationUpdate?100:20}},getFirstTargetAxisModel:function(){var i;return xT(function(t){if(null==i){var e=this.get(t.axisIndex);e.length&&(i=this.dependentModels[t.axis][e[0]])}},this),i},eachTargetAxis:function(i,n){var a=this.ecModel;xT(function(e){yT(this.get(e.axisIndex),function(t){i.call(n,e,t,this,a)},this)},this)},getAxisProxy:function(t,e){return this._axisProxies[t+"_"+e]},getAxisModel:function(t,e){var i=this.getAxisProxy(t,e);return i&&i.getAxisModel()},setRawRange:function(e){var i=this.option,n=this.settledOption;yT([["start","startValue"],["end","endValue"]],function(t){null==e[t[0]]&&null==e[t[1]]||(i[t[0]]=n[t[0]]=e[t[0]],i[t[1]]=n[t[1]]=e[t[1]])},this),bT(this,e)},setCalculatedRange:function(e){var i=this.option;yT(["start","startValue","end","endValue"],function(t){i[t]=e[t]})},getPercentRange:function(){var t=this.findRepresentativeAxisProxy();if(t)return t.getDataPercentWindow()},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(t){if(t)return t.__dzAxisProxy;var e=this._axisProxies;for(var i in e)if(e.hasOwnProperty(i)&&e[i].hostedBy(this))return e[i];for(var i in e)if(e.hasOwnProperty(i)&&!e[i].hostedBy(this))return e[i]},getRangePropMode:function(){return this._rangePropMode.slice()}});function wT(e){var i={};return yT(["start","end","startValue","endValue","throttle"],function(t){e.hasOwnProperty(t)&&(i[t]=e[t])}),i}function bT(t,a){var o=t._rangePropMode,r=t.get("rangeMode");yT([["start","startValue"],["end","endValue"]],function(t,e){var i=null!=a[t[0]],n=null!=a[t[1]];i&&!n?o[e]="percent":!i&&n?o[e]="value":r?o[e]=r[e]:i&&(o[e]="percent")})}var ST=Kh.extend({type:"dataZoom",render:function(t,e,i,n){this.dataZoomModel=t,this.ecModel=e,this.api=i},getTargetCoordInfo:function(){var t=this.dataZoomModel,a=this.ecModel,o={};return t.eachTargetAxis(function(t,e){var i=a.getComponent(t.axis,e);if(i){var n=i.getCoordSysModel();n&&function(t,e,i,n){for(var a,o=0;o<i.length;o++)if(i[o].model===t){a=i[o];break}a||i.push(a={model:t,axisModels:[],coordIndex:n});a.axisModels.push(e)}(n,i,o[n.mainType]||(o[n.mainType]=[]),n.componentIndex)}},this),o}});_T.extend({type:"dataZoom.select"}),ST.extend({type:"dataZoom.select"}),Qd({getTargetSeries:function(t){var n=Q();return t.eachComponent("dataZoom",function(t){t.eachTargetAxis(function(t,e,i){E(i.getAxisProxy(t.name,e).getTargetSeriesModels(),function(t){n.set(t.uid,t)})})}),n},modifyOutputEnd:!0,overallReset:function(t,n){t.eachComponent("dataZoom",function(t){t.eachTargetAxis(function(t,e,i){i.getAxisProxy(t.name,e).reset(i,n)}),t.eachTargetAxis(function(t,e,i){i.getAxisProxy(t.name,e).filterData(i,n)})}),t.eachComponent("dataZoom",function(t){var e=t.findRepresentativeAxisProxy(),i=e.getDataPercentWindow(),n=e.getDataValueWindow();t.setCalculatedRange({start:i[0],end:i[1],startValue:n[0],endValue:n[1]})})}}),tf("dataZoom",function(i,t){var n=fT(T(t.eachComponent,t,"dataZoom"),dT,function(t,e){return t.get(e.axisIndex)}),a=[];t.eachComponent({mainType:"dataZoom",query:i},function(t,e){a.push.apply(a,n(t).nodes)}),E(a,function(t,e){t.setRawRange({start:i.start,end:i.end,startValue:i.startValue,endValue:i.endValue})})});var MT=gc.toolbox.dataZoom,IT=E;function AT(t,e,i){(this._brushController=new jw(i.getZr())).on("brush",T(this._onBrush,this)).mount(),this._isZoomActive}AT.defaultOption={show:!0,filterMode:"filter",icon:{zoom:"M0,13.5h26.9 M13.5,26.9V0 M32.1,13.5H58V58H13.5 V32.1",back:"M22,1.4L9.9,13.5l12.3,12.3 M10.3,13.5H54.9v44.6 H10.3v-26"},title:D(MT.title)};var TT=AT.prototype;TT.render=function(t,e,i,n){this.model=t,this.ecModel=e,this.api=i,function(t,e,i,n,a){var o=i._isZoomActive;n&&"takeGlobalCursor"===n.type&&(o="dataZoomSelect"===n.key&&n.dataZoomSelectActive);i._isZoomActive=o,t.setIconStatus("zoom",o?"emphasis":"normal");var r=new XA(CT(t.option),e,{include:["grid"]});i._brushController.setPanels(r.makePanelOpts(a,function(t){return t.xAxisDeclared&&!t.yAxisDeclared?"lineX":!t.xAxisDeclared&&t.yAxisDeclared?"lineY":"rect"})).enableBrush(!!o&&{brushType:"auto",brushStyle:{lineWidth:0,fill:"rgba(0,0,0,0.2)"}})}(t,e,this,n,i),function(t,e){t.setIconStatus("back",1<function(t){return rT(t).length}(e)?"emphasis":"normal")}(t,e)},TT.onclick=function(t,e,i){DT[i].call(this)},TT.remove=function(t,e){this._brushController.unmount()},TT.dispose=function(t,e){this._brushController.dispose()};var DT={zoom:function(){var t=!this._isZoomActive;this.api.dispatchAction({type:"takeGlobalCursor",key:"dataZoomSelect",dataZoomSelectActive:t})},back:function(){this._dispatchZoomAction(function(t){var n=rT(t),e=n[n.length-1];1<n.length&&n.pop();var a={};return aT(e,function(t,e){for(var i=n.length-1;0<=i;i--){if(t=n[i][e]){a[e]=t;break}}}),a}(this.ecModel))}};function CT(e){var i={};return E(["xAxisIndex","yAxisIndex"],function(t){i[t]=e[t],null==i[t]&&(i[t]="all"),!1!==i[t]&&"none"!==i[t]||(i[t]=[])}),i}TT._onBrush=function(t,e){if(e.isEnd&&t.length){var s={},l=this.ecModel;this._brushController.updateCovers([]),new XA(CT(this.model.option),l,{include:["grid"]}).matchOutputRanges(t,l,function(t,e,i){if("cartesian2d"===i.type){var n=t.brushType;"rect"===n?(a("x",i,e[0]),a("y",i,e[1])):a({lineX:"x",lineY:"y"}[n],i,e)}}),function(o,t){var r=rT(o);aT(t,function(t,e){for(var i=r.length-1;0<=i;i--){if(r[i][e])break}if(i<0){var n=o.queryComponents({mainType:"dataZoom",subType:"select",id:e})[0];if(n){var a=n.getPercentRange();r[0][e]={dataZoomId:e,start:a[0],end:a[1]}}}}),r.push(t)}(l,s),this._dispatchZoomAction(s)}function a(t,e,i){var n=e.getAxis(t),a=n.model,o=function(e,i,t){var n;return t.eachComponent({mainType:"dataZoom",subType:"select"},function(t){t.getAxisModel(e,i.componentIndex)&&(n=t)}),n}(t,a,l),r=o.findRepresentativeAxisProxy(a).getMinMaxSpan();null==r.minValueSpan&&null==r.maxValueSpan||(i=ww(0,i.slice(),n.scale.getExtent(),0,r.minValueSpan,r.maxValueSpan)),o&&(s[o.id]={dataZoomId:o.id,startValue:i[0],endValue:i[1]})}},TT._dispatchZoomAction=function(t){var i=[];IT(t,function(t,e){i.push(D(t))}),i.length&&this.api.dispatchAction({type:"dataZoom",from:this.uid,batch:i})},bA("dataZoom",AT),Jd(function(s){if(s){var l=s.dataZoom||(s.dataZoom=[]);k(l)||(s.dataZoom=l=[l]);var t=s.toolbox;if(t&&(k(t)&&(t=t[0]),t&&t.feature)){var e=t.feature.dataZoom;i("xAxis",e),i("yAxis",e)}}function i(n,a){if(a){var o=n+"Index",r=a[o];null==r||"all"===r||k(r)||(r=!1===r||"none"===r?[]:[r]),function(t,e){var i=s[t];k(i)||(i=i?[i]:[]);IT(i,e)}(n,function(t,e){if(null==r||"all"===r||-1!==_(r,e)){var i={type:"select",$fromToolbox:!0,filterMode:a.filterMode||"filter",id:"\0_ec_\0toolbox-dataZoom_"+n+e};i[o]=e,l.push(i)}})}}});var LT=gc.toolbox.restore;function kT(t){this.model=t}kT.defaultOption={show:!0,icon:"M3.8,33.4 M47,18.9h9.8V8.7 M56.3,20.1 C52.1,9,40.5,0.6,26.8,2.1C12.6,3.7,1.6,16.2,2.1,30.6 M13,41.1H3.1v10.2 M3.7,39.9c4.2,11.1,15.8,19.5,29.5,18 c14.2-1.6,25.2-14.1,24.7-28.5",title:LT.title},kT.prototype.onclick=function(t,e,i){!function(t){t[oT]=null}(t),e.dispatchAction({type:"restore",from:this.uid})},bA("restore",kT),tf({type:"restore",event:"restore",update:"prepareAndUpdate"},function(t,e){e.resetOption("recreate")}),sf({type:"tooltip",dependencies:["axisPointer"],defaultOption:{zlevel:0,z:60,show:!0,showContent:!0,trigger:"item",triggerOn:"mousemove|click",alwaysShowContent:!1,displayMode:"single",renderMode:"auto",confine:!1,showDelay:0,hideDelay:100,transitionDuration:.4,enterable:!1,backgroundColor:"rgba(50,50,50,0.7)",borderColor:"#333",borderRadius:4,borderWidth:0,padding:5,extraCssText:"",axisPointer:{type:"line",axis:"auto",animation:"auto",animationDurationUpdate:200,animationEasingUpdate:"exponentialOut",crossStyle:{color:"#999",width:1,type:"dashed",textStyle:{}}},textStyle:{color:"#fff",fontSize:14}}});var PT=E,NT=Bl,OT=["","-webkit-","-moz-","-o-"];function ET(a){var o=[],t=a.get("transitionDuration"),e=a.get("backgroundColor"),i=a.getModel("textStyle"),n=a.get("padding");return t&&o.push(function(t){var e="cubic-bezier(0.23, 1, 0.32, 1)",i="left "+t+"s "+e+",top "+t+"s "+e;return N(OT,function(t){return t+"transition:"+i}).join(";")}(t)),e&&(v.canvasSupported?o.push("background-Color:"+e):(o.push("background-Color:#"+Be(e)),o.push("filter:alpha(opacity=70)"))),PT(["width","color","radius"],function(t){var e="border-"+t,i=NT(e),n=a.get(i);null!=n&&o.push(e+":"+n+("color"===t?"":"px"))}),o.push(function(i){var n=[],t=i.get("fontSize"),e=i.getTextColor();return e&&n.push("color:"+e),n.push("font:"+i.getFont()),t&&n.push("line-height:"+Math.round(3*t/2)+"px"),PT(["decoration","align"],function(t){var e=i.get(t);e&&n.push("text-"+t+":"+e)}),n.join(";")}(i)),null!=n&&o.push("padding:"+Vl(n).join("px ")+"px"),o.join(";")+";"}function RT(i,t){if(v.wxa)return null;var e=document.createElement("div"),n=this._zr=t.getZr();this.el=e,this._x=t.getWidth()/2,this._y=t.getHeight()/2,i.appendChild(e),this._container=i,this._show=!1,this._hideTimeout;var a=this;e.onmouseenter=function(){a._enterable&&(clearTimeout(a._hideTimeout),a._show=!0),a._inContent=!0},e.onmousemove=function(t){if(t=t||window.event,!a._enterable){var e=n.handler;Vt(i,t,!0),e.dispatch("mousemove",t)}},e.onmouseleave=function(){a._enterable&&a._show&&a.hideLater(a._hideDelay),a._inContent=!1}}function zT(t){this._zr=t.getZr(),this._show=!1,this._hideTimeout}RT.prototype={constructor:RT,_enterable:!0,update:function(){var t=this._container,e=t.currentStyle||document.defaultView.getComputedStyle(t),i=t.style;"absolute"!==i.position&&"absolute"!==e.position&&(i.position="relative")},show:function(t){clearTimeout(this._hideTimeout);var e=this.el;e.style.cssText="position:absolute;display:block;border-style:solid;white-space:nowrap;z-index:9999999;"+ET(t)+";left:"+this._x+"px;top:"+this._y+"px;"+(t.get("extraCssText")||""),e.style.display=e.innerHTML?"block":"none",e.style.pointerEvents=this._enterable?"auto":"none",this._show=!0},setContent:function(t){this.el.innerHTML=null==t?"":t},setEnterable:function(t){this._enterable=t},getSize:function(){var t=this.el;return[t.clientWidth,t.clientHeight]},moveTo:function(t,e){var i,n=this._zr;n&&n.painter&&(i=n.painter.getViewportRootOffset())&&(t+=i.offsetLeft,e+=i.offsetTop);var a=this.el.style;a.left=t+"px",a.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(T(this.hide,this),t)):this.hide())},isShow:function(){return this._show},getOuterSize:function(){var t=this.el.clientWidth,e=this.el.clientHeight;if(document.defaultView&&document.defaultView.getComputedStyle){var i=document.defaultView.getComputedStyle(this.el);i&&(t+=parseInt(i.borderLeftWidth,10)+parseInt(i.borderRightWidth,10),e+=parseInt(i.borderTopWidth,10)+parseInt(i.borderBottomWidth,10))}return{width:t,height:e}}},zT.prototype={constructor:zT,_enterable:!0,update:function(){},show:function(t){this._hideTimeout&&clearTimeout(this._hideTimeout),this.el.attr("show",!0),this._show=!0},setContent:function(t,e,i){this.el&&this._zr.remove(this.el);for(var n={},a=t,o="{marker",r=a.indexOf(o);0<=r;){var s=a.indexOf("|}"),l=a.substr(r+o.length,s-r-o.length);-1<l.indexOf("sub")?n["marker"+l]={textWidth:4,textHeight:4,textBorderRadius:2,textBackgroundColor:e[l],textOffset:[3,0]}:n["marker"+l]={textWidth:10,textHeight:10,textBorderRadius:5,textBackgroundColor:e[l]},r=(a=a.substr(s+1)).indexOf("{marker")}this.el=new Dr({style:{rich:n,text:t,textLineHeight:20,textBackgroundColor:i.get("backgroundColor"),textBorderRadius:i.get("borderRadius"),textFill:i.get("textStyle.color"),textPadding:i.get("padding")},z:i.get("z")}),this._zr.add(this.el);var u=this;this.el.on("mouseover",function(){u._enterable&&(clearTimeout(u._hideTimeout),u._show=!0),u._inContent=!0}),this.el.on("mouseout",function(){u._enterable&&u._show&&u.hideLater(u._hideDelay),u._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&&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(T(this.hide,this),t)):this.hide())},isShow:function(){return this._show},getOuterSize:function(){var t=this.getSize();return{width:t[0],height:t[1]}}};var BT=T,VT=E,GT=xl,FT=new Hr({shape:{x:-1,y:-1,width:2,height:2}});function WT(t){for(var e=t.pop();t.length;){var i=t.pop();i&&(dl.isInstance(i)&&(i=i.get("tooltip",!0)),"string"==typeof i&&(i={formatter:i}),e=new dl(i,e,e.ecModel))}return e}function HT(t,e){return t.dispatchAction||T(e.dispatchAction,e)}function ZT(t){return"center"===t||"middle"===t}lf({type:"tooltip",init:function(t,e){if(!v.node){var i,n=t.getComponent("tooltip").get("renderMode");this._renderMode=Ea(n),"html"===this._renderMode?(i=new RT(e.getDom(),e),this._newLine="<br/>"):(i=new zT(e),this._newLine="\n"),this._tooltipContent=i}},render:function(t,e,i){if(!v.node){this.group.removeAll(),this._tooltipModel=t,this._ecModel=e,this._api=i,this._lastDataByCoordSys=null,this._alwaysShowContent=t.get("alwaysShowContent");var n=this._tooltipContent;n.update(),n.setEnterable(t.get("enterable")),this._initGlobalListener(),this._keepShow()}},_initGlobalListener:function(){var n=this._tooltipModel.get("triggerOn");PM("itemTooltip",this._api,BT(function(t,e,i){"none"!==n&&(0<=n.indexOf(t)?this._tryShow(e,i):"leave"===t&&this._hide(i))},this))},_keepShow:function(){var t=this._tooltipModel,e=this._ecModel,i=this._api;if(null!=this._lastX&&null!=this._lastY&&"none"!==t.get("triggerOn")){var n=this;clearTimeout(this._refreshUpdateTimeout),this._refreshUpdateTimeout=setTimeout(function(){i.isDisposed()||n.manuallyShowTip(t,e,i,{x:n._lastX,y:n._lastY})})}},manuallyShowTip:function(t,e,i,n){if(n.from!==this.uid&&!v.node){var a=HT(n,i);this._ticket="";var o=n.dataByCoordSys;if(n.tooltip&&null!=n.x&&null!=n.y){var r=FT;r.position=[n.x,n.y],r.update(),r.tooltip=n.tooltip,this._tryShow({offsetX:n.x,offsetY:n.y,target:r},a)}else if(o)this._tryShow({offsetX:n.x,offsetY:n.y,position:n.position,event:{},dataByCoordSys:n.dataByCoordSys,tooltipOption:n.tooltipOption},a);else if(null!=n.seriesIndex){if(this._manuallyAxisShowTip(t,e,i,n))return;var s=wM(n,e),l=s.point[0],u=s.point[1];null!=l&&null!=u&&this._tryShow({offsetX:l,offsetY:u,position:n.position,target:s.el,event:{}},a)}else null!=n.x&&null!=n.y&&(i.dispatchAction({type:"updateAxisPointer",x:n.x,y:n.y}),this._tryShow({offsetX:n.x,offsetY:n.y,position:n.position,target:i.getZr().findHover(n.x,n.y).target,event:{}},a))}},manuallyHideTip:function(t,e,i,n){var a=this._tooltipContent;!this._alwaysShowContent&&this._tooltipModel&&a.hideLater(this._tooltipModel.get("hideDelay")),this._lastX=this._lastY=null,n.from!==this.uid&&this._hide(HT(n,i))},_manuallyAxisShowTip:function(t,e,i,n){var a=n.seriesIndex,o=n.dataIndex,r=e.getComponent("axisPointer").coordSysAxesInfo;if(null!=a&&null!=o&&null!=r){var s=e.getSeriesByIndex(a);if(s)if("axis"===(t=WT([s.getData().getItemModel(o),s,(s.coordinateSystem||{}).model,t])).get("trigger"))return i.dispatchAction({type:"updateAxisPointer",seriesIndex:a,dataIndex:o,position:n.position}),!0}},_tryShow:function(t,e){var i=t.target;if(this._tooltipModel){this._lastX=t.offsetX,this._lastY=t.offsetY;var n=t.dataByCoordSys;n&&n.length?this._showAxisTooltip(n,t):i&&null!=i.dataIndex?(this._lastDataByCoordSys=null,this._showSeriesItemTooltip(t,i,e)):i&&i.tooltip?(this._lastDataByCoordSys=null,this._showComponentItemTooltip(t,i,e)):(this._lastDataByCoordSys=null,this._hide(e))}},_showOrMove:function(t,e){var i=t.get("showDelay");e=T(e,this),clearTimeout(this._showTimout),0<i?this._showTimout=setTimeout(e,i):e()},_showAxisTooltip:function(t,e){var d=this._ecModel,i=this._tooltipModel,n=[e.offsetX,e.offsetY],a=[],f=[],o=WT([e.tooltipOption,i]),p=this._renderMode,r=this._newLine,g={};VT(t,function(t){VT(t.dataByAxis,function(s){var l=d.getComponent(s.axisDim+"Axis",s.axisIndex),u=s.value,h=[];if(l&&null!=u){var c=YM(u,l.axis,d,s.seriesDataIndices,s.valueLabelOpt);E(s.seriesDataIndices,function(t){var e=d.getSeriesByIndex(t.seriesIndex),i=t.dataIndexInside,n=e&&e.getDataParams(i);if(n.axisDim=s.axisDim,n.axisIndex=s.axisIndex,n.axisType=s.axisType,n.axisId=s.axisId,n.axisValue=Gp(l.axis,u),n.axisValueLabel=c,n){f.push(n);var a,o=e.formatTooltip(i,!0,null,p);if(z(o)){a=o.html;var r=o.markers;m(g,r)}else a=o;h.push(a)}});var t=c;"html"!==p?a.push(h.join(r)):a.push((t?Wl(t)+r:"")+h.join(r))}})},this),a.reverse(),a=a.join(this._newLine+this._newLine);var s=e.position;this._showOrMove(o,function(){this._updateContentNotChangedOnAxis(t)?this._updatePosition(o,s,n[0],n[1],this._tooltipContent,f):this._showTooltipContent(o,a,f,Math.random(),n[0],n[1],s,void 0,g)})},_showSeriesItemTooltip:function(t,e,i){var n=this._ecModel,a=e.seriesIndex,o=n.getSeriesByIndex(a),r=e.dataModel||o,s=e.dataIndex,l=e.dataType,u=r.getData(),h=WT([u.getItemModel(s),r,o&&(o.coordinateSystem||{}).model,this._tooltipModel]),c=h.get("trigger");if(null==c||"item"===c){var d,f,p=r.getDataParams(s,l),g=r.formatTooltip(s,!1,l,this._renderMode);f=z(g)?(d=g.html,g.markers):(d=g,null);var m="item_"+r.name+"_"+s;this._showOrMove(h,function(){this._showTooltipContent(h,d,p,m,t.offsetX,t.offsetY,t.position,t.target,f)}),i({type:"showTip",dataIndexInside:s,dataIndex:u.getRawIndex(s),seriesIndex:a,from:this.uid})}},_showComponentItemTooltip:function(t,e,i){var n=e.tooltip;if("string"==typeof n){n={content:n,formatter:n}}var a=new dl(n,this._tooltipModel,this._ecModel),o=a.get("content"),r=Math.random();this._showOrMove(a,function(){this._showTooltipContent(a,o,a.get("formatterParams")||{},r,t.offsetX,t.offsetY,t.position,e)}),i({type:"showTip",from:this.uid})},_showTooltipContent:function(i,t,n,e,a,o,r,s,l){if(this._ticket="",i.get("showContent")&&i.get("show")){var u=this._tooltipContent,h=i.get("formatter");r=r||i.get("position");var c=t;if(h&&"string"==typeof h)c=Ul(h,n,!0);else if("function"==typeof h){var d=BT(function(t,e){t===this._ticket&&(u.setContent(e,l,i),this._updatePosition(i,r,a,o,u,n,s))},this);this._ticket=e,c=h(n,e,d)}u.setContent(c,l,i),u.show(i),this._updatePosition(i,r,a,o,u,n,s)}},_updatePosition:function(t,e,i,n,a,o,r){var s=this._api.getWidth(),l=this._api.getHeight();e=e||t.get("position");var u=a.getSize(),h=t.get("align"),c=t.get("verticalAlign"),d=r&&r.getBoundingRect().clone();if(r&&d.applyTransform(r.transform),"function"==typeof e&&(e=e([i,n],o,a.el,d,{viewSize:[s,l],contentSize:u.slice()})),k(e))i=GT(e[0],s),n=GT(e[1],l);else if(z(e)){e.width=u[0],e.height=u[1];var f=au(e,{width:s,height:l});i=f.x,n=f.y,c=h=null}else if("string"==typeof e&&r){i=(p=function(t,e,i){var n=i[0],a=i[1],o=0,r=0,s=e.width,l=e.height;switch(t){case"inside":o=e.x+s/2-n/2,r=e.y+l/2-a/2;break;case"top":o=e.x+s/2-n/2,r=e.y-a-5;break;case"bottom":o=e.x+s/2-n/2,r=e.y+l+5;break;case"left":o=e.x-n-5,r=e.y+l/2-a/2;break;case"right":o=e.x+s+5,r=e.y+l/2-a/2}return[o,r]}(e,d,u))[0],n=p[1]}else{var p;i=(p=function(t,e,i,n,a,o,r){var s=i.getOuterSize(),l=s.width,u=s.height;null!=o&&(n<t+l+o?t-=l+o:t+=o);null!=r&&(a<e+u+r?e-=u+r:e+=r);return[t,e]}(i,n,a,s,l,h?null:20,c?null:20))[0],n=p[1]}h&&(i-=ZT(h)?u[0]/2:"right"===h?u[0]:0),c&&(n-=ZT(c)?u[1]/2:"bottom"===c?u[1]:0),t.get("confine")&&(i=(p=function(t,e,i,n,a){var o=i.getOuterSize(),r=o.width,s=o.height;return t=Math.min(t+r,n)-r,e=Math.min(e+s,a)-s,t=Math.max(t,0),e=Math.max(e,0),[t,e]}(i,n,a,s,l))[0],n=p[1]);a.moveTo(i,n)},_updateContentNotChangedOnAxis:function(n){var t=this._lastDataByCoordSys,r=!!t&&t.length===n.length;return r&&VT(t,function(t,e){var i=t.dataByAxis||{},o=(n[e]||{}).dataByAxis||[];(r&=i.length===o.length)&&VT(i,function(t,e){var i=o[e]||{},n=t.seriesDataIndices||[],a=i.seriesDataIndices||[];(r&=t.value===i.value&&t.axisType===i.axisType&&t.axisId===i.axisId&&n.length===a.length)&&VT(n,function(t,e){var i=a[e];r&=t.seriesIndex===i.seriesIndex&&t.dataIndex===i.dataIndex})})}),this._lastDataByCoordSys=n,!!r},_hide:function(t){this._lastDataByCoordSys=null,t({type:"hideTip",from:this.uid})},dispose:function(t,e){v.node||(this._tooltipContent.hide(),EM("itemTooltip",e))}}),tf({type:"showTip",event:"showTip",update:"tooltip:manuallyShowTip"},function(){}),tf({type:"hideTip",event:"hideTip",update:"tooltip:manuallyHideTip"},function(){});var UT=["rect","polygon","keep","clear"];var XT=E;function YT(t){if(t)for(var e in t)if(t.hasOwnProperty(e))return!0}function jT(t,e,o){var i={};return XT(e,function(n){var a=i[n]=function(){function t(){}return t.prototype.__hidden=t.prototype,new t}();XT(t[n],function(t,e){if(Bx.isValidType(e)){var i={type:e,visual:t};o&&o(i,n),a[e]=new Bx(i),"opacity"===e&&((i=D(i)).type="colorAlpha",a.__hidden.__alphaForOpacity=new Bx(i))}})}),i}function qT(e,i,t){var n;E(t,function(t){i.hasOwnProperty(t)&&YT(i[t])&&(n=!0)}),n&&E(t,function(t){i.hasOwnProperty(t)&&YT(i[t])?e[t]=D(i[t]):delete e[t]})}var KT={lineX:$T(0),lineY:$T(1),rect:{point:function(t,e,i){return t&&i.boundingRect.contain(t[0],t[1])},rect:function(t,e,i){return t&&i.boundingRect.intersect(t)}},polygon:{point:function(t,e,i){return t&&i.boundingRect.contain(t[0],t[1])&&ng(i.range,t[0],t[1])},rect:function(t,e,i){var n=i.range;if(!t||n.length<=1)return!1;var a=t.x,o=t.y,r=t.width,s=t.height,l=n[0];return!!(ng(n,a,o)||ng(n,a+r,o)||ng(n,a,o+s)||ng(n,a+r,o+s)||bi.create(t).contain(l[0],l[1])||il(a,o,a+r,o,n)||il(a,o,a,o+s,n)||il(a+r,o,a+r,o+s,n)||il(a,o+s,a+r,o+s,n))||void 0}}};function $T(o){var r=["x","y"],s=["width","height"];return{point:function(t,e,i){if(t){var n=i.range;return JT(t[o],n)}},rect:function(t,e,i){if(t){var n=i.range,a=[t[r[o]],t[r[o]]+t[s[o]]];return a[1]<a[0]&&a.reverse(),JT(a[0],n)||JT(a[1],n)||JT(n[0],a)||JT(n[1],a)}}}}function JT(t,e){return e[0]<=t&&t<=e[1]}var QT=["inBrush","outOfBrush"],tD="__ecBrushSelect",eD="__ecInBrushSelectEvent",iD=cd.VISUAL.BRUSH;function nD(t,e){if(!t.isDisposed()){var i=t.getZr();i[eD]=!0,t.dispatchAction({type:"brushSelect",batch:e}),i[eD]=!1}}function aD(t,e,i,n){for(var a=0,o=e.length;a<o;a++){var r=e[a];if(t[r.brushType](n,i,r.selectors,r))return!0}}function oD(t){var r=t.brushSelector;if(R(r)){var e=[];return E(KT,function(o,t){e[t]=function(t,e,i,n){var a=e.getItemLayout(t);return o[r](a,i,n)}}),e}if(O(r)){var i={};return E(KT,function(t,e){i[e]=r}),i}return r}nf(iD,function(e,t,i){e.eachComponent({mainType:"brush"},function(t){i&&"takeGlobalCursor"===i.type&&t.setBrushOption("brush"===i.key?i.brushOption:{brushType:!1}),(t.brushTargetManager=new XA(t.option,e)).setInputRanges(t.areas,e)})}),af(iD,function(p,t,e){var a,g,m=[];p.eachComponent({mainType:"brush"},function(o,t){var s={brushId:o.id,brushIndex:t,brushName:o.name,areas:D(o.areas),selected:[]};m.push(s);var e=o.option,i=e.brushLink,n=[],l=[],u=[],h=0;t||(a=e.throttleType,g=e.throttleDelay);var r=N(o.areas,function(t){return function(i){var n=i.selectors={};return E(KT[i.brushType],function(e,t){n[t]=function(t){return e(t,n,i)}}),i}(C({boundingRect:rD[t.brushType](t)},t))}),c=jT(o.option,QT,function(t){t.mappingMethod="fixed"});function d(t){return"all"===i||n[t]}function f(t){return!!t.length}k(i)&&E(i,function(t){n[t]=1}),p.eachSeries(function(t,e){var i=u[e]=[];"parallel"===t.subType?function(t,e){var i=t.coordinateSystem;h|=i.hasAxisBrushed(),d(e)&&i.eachActiveState(t.getData(),function(t,e){"active"===t&&(l[e]=1)})}(t,e):function(e,t,i){var n=oD(e);if(!n||function(t,e){var i=t.option.seriesIndex;return null!=i&&"all"!==i&&(k(i)?_(i,e)<0:e!==i)}(o,t))return;if(E(r,function(t){n[t.brushType]&&o.brushTargetManager.controlSeries(t,e,p)&&i.push(t),h|=f(i)}),d(t)&&f(i)){var a=e.getData();a.each(function(t){aD(n,i,a,t)&&(l[t]=1)})}}(t,e,i)}),p.eachSeries(function(t,e){var i={seriesId:t.id,seriesIndex:e,seriesName:t.name,dataIndex:[]};s.selected.push(i);var n=oD(t),a=u[e],o=t.getData(),r=d(e)?function(t){return l[t]?(i.dataIndex.push(o.getRawIndex(t)),"inBrush"):"outOfBrush"}:function(t){return aD(n,a,o,t)?(i.dataIndex.push(o.getRawIndex(t)),"inBrush"):"outOfBrush"};(d(e)?h:f(a))&&function(t,u,h,c,d,f){var p,g={};function m(t){return h.getItemVisual(p,t)}function v(t,e){h.setItemVisual(p,t,e)}function e(t,e){p=null==f?t:e;var i=h.getRawDataItem(p);if(!i||!1!==i.visualMap)for(var n=c.call(d,t),a=u[n],o=g[n],r=0,s=o.length;r<s;r++){var l=o[r];a[l]&&a[l].applyVisual(t,m,v)}}E(t,function(t){var e=Bx.prepareVisualTypes(u[t]);g[t]=e}),null==f?h.each(e):h.each([f],e)}(QT,c,o,r)})}),function(t,e,i,n,a){if(!a)return;var o=t.getZr();if(o[eD])return;o[tD]||(o[tD]=nD);dc(o,tD,i,e)(t,n)}(t,a,g,m,e)});var rD={lineX:et,lineY:et,rect:function(t){return sD(t.range)},polygon:function(t){for(var e,i=t.range,n=0,a=i.length;n<a;n++){e=e||[[1/0,-1/0],[1/0,-1/0]];var o=i[n];o[0]<e[0][0]&&(e[0][0]=o[0]),o[0]>e[0][1]&&(e[0][1]=o[0]),o[1]<e[1][0]&&(e[1][0]=o[1]),o[1]>e[1][1]&&(e[1][1]=o[1])}return e&&sD(e)}};function sD(t){return new bi(t[0][0],t[1][0],t[0][1]-t[0][0],t[1][1]-t[1][0])}var lD=["#ddd"];sf({type:"brush",dependencies:["geo","grid","xAxis","yAxis","parallel","series"],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)"},throttleType:"fixRate",throttleDelay:0,removeOnClick:!0,z:1e4},areas:[],brushType:null,brushOption:{},coordInfoList:[],optionUpdated:function(t,e){var i=this.option;e||qT(i,t,["inBrush","outOfBrush"]);var n=i.inBrush=i.inBrush||{};i.outOfBrush=i.outOfBrush||{color:lD},n.hasOwnProperty("liftZ")||(n.liftZ=5)},setAreas:function(t){t&&(this.areas=N(t,function(t){return uD(this.option,t)},this))},setBrushOption:function(t){this.brushOption=uD(this.option,t),this.brushType=this.brushOption.brushType}});function uD(t,e){return m({brushType:t.brushType,brushMode:t.brushMode,transformable:t.transformable,brushStyle:new dl(t.brushStyle).getItemStyle(),removeOnClick:t.removeOnClick,z:t.z},e,!0)}function hD(t,e,i,n){n&&n.$from===t.id||this._brushController.setPanels(t.brushTargetManager.makePanelOpts(i)).enableBrush(t.brushOption).updateCovers(t.areas.slice())}lf({type:"brush",init:function(t,e){this.ecModel=t,this.api=e,this.model,(this._brushController=new jw(e.getZr())).on("brush",T(this._onBrush,this)).mount()},render:function(t){return this.model=t,hD.apply(this,arguments)},updateTransform:hD,updateView:hD,dispose:function(){this._brushController.dispose()},_onBrush:function(t,e){var i=this.model.id;this.model.brushTargetManager.setOutputRanges(t,this.ecModel),e.isEnd&&!e.removeOnClick||this.api.dispatchAction({type:"brush",brushId:i,areas:D(t),$from:i}),e.isEnd&&this.api.dispatchAction({type:"brushEnd",brushId:i,areas:D(t),$from:i})}}),tf({type:"brush",event:"brush"},function(e,t){t.eachComponent({mainType:"brush",query:e},function(t){t.setAreas(e.areas)})}),tf({type:"brushSelect",event:"brushSelected",update:"none"},function(){}),tf({type:"brushEnd",event:"brushEnd",update:"none"},function(){});var cD=gc.toolbox.brush;function dD(t,e,i){this.model=t,this.ecModel=e,this.api=i,this._brushType,this._brushMode}dD.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:D(cD.title)};var fD=dD.prototype;fD.render=fD.updateView=function(e,t,i){var n,a,o;t.eachComponent({mainType:"brush"},function(t){n=t.brushType,a=t.brushOption.brushMode||"single",o|=t.areas.length}),this._brushType=n,this._brushMode=a,E(e.get("type",!0),function(t){e.setIconStatus(t,("keep"===t?"multiple"===a:"clear"===t?o:t===n)?"emphasis":"normal")})},fD.getIcons=function(){var t=this.model,e=t.get("icon",!0),i={};return E(t.get("type",!0),function(t){e[t]&&(i[t]=e[t])}),i},fD.onclick=function(t,e,i){var n=this._brushType,a=this._brushMode;"clear"===i?(e.dispatchAction({type:"axisAreaSelect",intervals:[]}),e.dispatchAction({type:"brush",command:"clear",areas:[]})):e.dispatchAction({type:"takeGlobalCursor",key:"brush",brushOption:{brushType:"keep"===i?n:n!==i&&i,brushMode:"keep"===i?"multiple"===a?"single":"multiple":a}})},bA("brush",dD),Jd(function(t,e){var i=t&&t.brush;if(k(i)||(i=i?[i]:[]),i.length){var n=[];E(i,function(t){var e=t.hasOwnProperty("toolbox")?t.toolbox:[];e instanceof Array&&(n=n.concat(e))});var a=t&&t.toolbox;k(a)&&(a=a[0]),a||(a={feature:{}},t.toolbox=[a]);var o=a.feature||(a.feature={}),r=o.brush||(o.brush={}),s=r.type||(r.type=[]);s.push.apply(s,n),function(i){var e={};E(i,function(t){e[t]=1}),i.length=0,E(e,function(t,e){i.push(e)})}(s),e&&!s.length&&s.push.apply(s,UT)}}),sf({type:"title",layoutMode:{type:"box",ignoreSize:!0},defaultOption:{zlevel:0,z:6,show:!0,text:"",target:"blank",subtext:"",subtarget:"blank",left:0,top:0,backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderWidth:0,padding:5,itemGap:10,textStyle:{fontSize:18,fontWeight:"bolder",color:"#333"},subtextStyle:{color:"#aaa"}}}),lf({type:"title",render:function(t,e,i){if(this.group.removeAll(),t.get("show")){var n=this.group,a=t.getModel("textStyle"),o=t.getModel("subtextStyle"),r=t.get("textAlign"),s=H(t.get("textBaseline"),t.get("textVerticalAlign")),l=new Dr({style:Gs({},a,{text:t.get("text"),textFill:a.getTextColor()},{disableBox:!0}),z2:10}),u=l.getBoundingRect(),h=t.get("subtext"),c=new Dr({style:Gs({},o,{text:h,textFill:o.getTextColor(),y:u.height+t.get("itemGap"),textVerticalAlign:"top"},{disableBox:!0}),z2:10}),d=t.get("link"),f=t.get("sublink"),p=t.get("triggerEvent",!0);l.silent=!d&&!p,c.silent=!f&&!p,d&&l.on("click",function(){window.open(d,"_"+t.get("target"))}),f&&c.on("click",function(){window.open(f,"_"+t.get("subtarget"))}),l.eventData=c.eventData=p?{componentType:"title",componentIndex:t.componentIndex}:null,n.add(l),h&&n.add(c);var g=n.getBoundingRect(),m=t.getBoxLayoutParams();m.width=g.width,m.height=g.height;var v=au(m,{width:i.getWidth(),height:i.getHeight()},t.get("padding"));r||("middle"===(r=t.get("left")||t.get("right"))&&(r="center"),"right"===r?v.x+=v.width:"center"===r&&(v.x+=v.width/2)),s||("center"===(s=t.get("top")||t.get("bottom"))&&(s="middle"),"bottom"===s?v.y+=v.height:"middle"===s&&(v.y+=v.height/2),s=s||"top"),n.attr("position",[v.x,v.y]);var y={textAlign:r,textVerticalAlign:s};l.setStyle(y),c.setStyle(y),g=n.getBoundingRect();var x=v.margin,_=t.getItemStyle(["color","opacity"]);_.fill=t.get("backgroundColor");var w=new Hr({shape:{x:g.x-x[3],y:g.y-x[0],width:g.width+x[1]+x[3],height:g.height+x[0]+x[2],r:t.get("borderRadius")},style:_,subPixelOptimize:!0,silent:!0});n.add(w)}}});function pD(t){var e=t.itemStyle||(t.itemStyle={}),i=e.emphasis||(e.emphasis={}),n=t.label||t.label||{},a=n.normal||(n.normal={}),o={normal:1,emphasis:1};E(n,function(t,e){o[e]||gD(a,e)||(a[e]=t)}),i.label&&!gD(n,"emphasis")&&(n.emphasis=i.label,delete i.label)}function gD(t,e){return t.hasOwnProperty(e)}fu.registerSubTypeDefaulter("timeline",function(){return"slider"}),tf({type:"timelineChange",event:"timelineChanged",update:"prepareAndUpdate"},function(t,e){var i=e.getComponent("timeline");return i&&null!=t.currentIndex&&(i.setCurrentIndex(t.currentIndex),!i.get("loop",!0)&&i.isIndexMax()&&i.setPlayState(!1)),e.resetOption("timeline"),C({currentIndex:i.option.currentIndex},t)}),tf({type:"timelinePlayChange",event:"timelinePlayChanged",update:"update"},function(t,e){var i=e.getComponent("timeline");i&&null!=t.playState&&i.setPlayState(t.playState)});var mD=fu.extend({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:{},label:{color:"#000"},data:[]},init:function(t,e,i){this._data,this._names,this.mergeDefaultAndTheme(t,i),this._initData()},mergeOption:function(t){mD.superApply(this,"mergeOption",arguments),this._initData()},setCurrentIndex:function(t){null==t&&(t=this.option.currentIndex);var e=this._data.count();this.option.loop?t=(t%e+e)%e:(e<=t&&(t=e-1),t<0&&(t=0)),this.option.currentIndex=t},getCurrentIndex:function(){return this.option.currentIndex},isIndexMax:function(){return this.getCurrentIndex()>=this._data.count()-1},setPlayState:function(t){this.option.autoPlay=!!t},getPlayState:function(){return!!this.option.autoPlay},_initData:function(){var t=this.option,e=t.data||[],i=t.axisType,a=this._names=[];if("category"===i){var o=[];E(e,function(t,e){var i,n=Ma(t);z(t)?(i=D(t)).value=e:i=e,o.push(i),R(n)||null!=n&&!isNaN(n)||(n=""),a.push(n+"")}),e=o}var n={category:"ordinal",time:"time"}[i]||"number";(this._data=new Tf([{name:"value",type:n}],this)).initData(e,a)},getData:function(){return this._data},getCategories:function(){if("category"===this.get("axisType"))return this._names.slice()}});b(mD.extend({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",show:!0,interval:"auto",rotate:0,color:"#304654"},itemStyle:{color:"#304654",borderWidth:1},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",color:"#304654",borderColor:"#304654",borderWidth:1},emphasis:{label:{show:!0,color:"#c23531"},itemStyle:{color:"#c23531"},controlStyle:{color:"#c23531",borderColor:"#c23531",borderWidth:2}},data:[]}}),Th);function vD(t,e,i,n){vg.call(this,t,e,i),this.type=n||"value",this.model=null}var yD=Kh.extend({type:"timeline"});vD.prototype={constructor:vD,getLabelModel:function(){return this.model.getModel("label")},isHorizontal:function(){return"horizontal"===this.model.get("orient")}},w(vD,vg);var xD=T,_D=E,wD=Math.PI;function bD(t,e,i,n,a,o){var r=e.get("color");a?(a.setColor(r),i.add(a),o&&o.onUpdate(a)):((a=Jp(t.get("symbol"),-1,-1,2,2,r)).setStyle("strokeNoScale",!0),i.add(a),o&&o.onCreate(a));var s=e.getItemStyle(["color","symbol","symbolSize"]);a.setStyle(s),n=m({rectHover:!0,z2:100},n,!0);var l=t.get("symbolSize");(l=l instanceof Array?l.slice():[+l,+l])[0]/=2,l[1]/=2,n.scale=l;var u=t.get("symbolOffset");if(u){var h=n.position=n.position||[0,0];h[0]+=xl(u[0],l[0]),h[1]+=xl(u[1],l[1])}var c=t.get("symbolRotate");return n.rotation=(c||0)*Math.PI/180||0,a.attr(n),a.updateTransform(),a}function SD(t,e,i,n,a){if(!t.dragging){var o=n.getModel("checkpointStyle"),r=i.dataToCoord(n.getData().get(["value"],e));a||!o.get("animation",!0)?t.attr({position:[r,0]}):(t.stopAnimation(!0),t.animateTo({position:[r,0]},o.get("animationDuration",!0),o.get("animationEasing",!0)))}}yD.extend({type:"timeline.slider",init:function(t,e){this.api=e,this._axis,this._viewRect,this._timer,this._currentPointer,this._mainGroup,this._labelGroup},render:function(e,t,i,n){if(this.model=e,this.api=i,this.ecModel=t,this.group.removeAll(),e.get("show",!0)){var a=this._layout(e,i),o=this._createGroup("mainGroup"),r=this._createGroup("labelGroup"),s=this._axis=this._createAxis(a,e);e.formatTooltip=function(t){return Wl(s.scale.getLabel(t))},_D(["AxisLine","AxisTick","Control","CurrentPointer"],function(t){this["_render"+t](a,o,s,e)},this),this._renderAxisLabel(a,r,s,e),this._position(a,e)}this._doPlayStop()},remove:function(){this._clearTimer(),this.group.removeAll()},dispose:function(){this._clearTimer()},_layout:function(t,e){var i=t.get("label.position"),n=t.get("orient"),a=function(t,e){return au(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()},t.get("padding"))}(t,e);null==i||"auto"===i?i="horizontal"===n?a.y+a.height/2<e.getHeight()/2?"-":"+":a.x+a.width/2<e.getWidth()/2?"+":"-":isNaN(i)&&(i={horizontal:{top:"-",bottom:"+"},vertical:{left:"-",right:"+"}}[n][i]);var o,r,s,l,u={horizontal:"center",vertical:0<=i||"+"===i?"left":"right"},h={horizontal:0<=i||"+"===i?"top":"bottom",vertical:"middle"},c={horizontal:0,vertical:wD/2},d="vertical"===n?a.height:a.width,f=t.getModel("controlStyle"),p=f.get("show",!0),g=p?f.get("itemSize"):0,m=p?f.get("itemGap"):0,v=g+m,y=t.get("label.rotate")||0;y=y*wD/180;var x=f.get("position",!0),_=p&&f.get("showPlayBtn",!0),w=p&&f.get("showPrevBtn",!0),b=p&&f.get("showNextBtn",!0),S=0,M=d;return"left"===x||"bottom"===x?(_&&(o=[0,0],S+=v),w&&(r=[S,0],S+=v)):(_&&(o=[M-g,0],M-=v),w&&(r=[0,0],S+=v)),b&&(s=[M-g,0],M-=v),l=[S,M],t.get("inverse")&&l.reverse(),{viewRect:a,mainLength:d,orient:n,rotation:c[n],labelRotation:y,labelPosOpt:i,labelAlign:t.get("label.align")||u[n],labelBaseline:t.get("label.verticalAlign")||t.get("label.baseline")||h[n],playPosition:o,prevBtnPosition:r,nextBtnPosition:s,axisExtent:l,controlSize:g,controlGap:m}},_position:function(t,e){var i=this._mainGroup,n=this._labelGroup,a=t.viewRect;if("vertical"===t.orient){var o=Qt(),r=a.x,s=a.y+a.height;ne(o,o,[-r,-s]),ae(o,o,-wD/2),ne(o,o,[r,s]),(a=a.clone()).applyTransform(o)}var l=m(a),u=m(i.getBoundingRect()),h=m(n.getBoundingRect()),c=i.position,d=n.position;d[0]=c[0]=l[0][0];var f,p=t.labelPosOpt;isNaN(p)?(v(c,u,l,1,f="+"===p?0:1),v(d,h,l,1,1-f)):(v(c,u,l,1,f=0<=p?0:1),d[1]=c[1]+p);function g(t){var e=t.position;t.origin=[l[0][0]-e[0],l[1][0]-e[1]]}function m(t){return[[t.x,t.x+t.width],[t.y,t.y+t.height]]}function v(t,e,i,n,a){t[n]+=i[n][a]-e[n][a]}i.attr("position",c),n.attr("position",d),i.rotation=n.rotation=t.rotation,g(i),g(n)},_createAxis:function(t,e){var i=e.getData(),n=e.get("axisType"),a=Bp(e,n);a.getTicks=function(){return i.mapArray(["value"],function(t){return t})};var o=i.getDataExtent("value");a.setExtent(o[0],o[1]),a.niceTicks();var r=new vD("value",a,t.axisExtent,n);return r.model=e,r},_createGroup:function(t){var e=this["_"+t]=new Si;return this.group.add(e),e},_renderAxisLine:function(t,e,i,n){var a=i.getExtent();n.get("lineStyle.show")&&e.add(new Ur({shape:{x1:a[0],y1:0,x2:a[1],y2:0},style:L({lineCap:"round"},n.getModel("lineStyle").getLineStyle()),silent:!0,z2:1}))},_renderAxisTick:function(t,s,l,u){var h=u.getData(),e=l.scale.getTicks();_D(e,function(t){var e=l.dataToCoord(t),i=h.getItemModel(t),n=i.getModel("itemStyle"),a=i.getModel("emphasis.itemStyle"),o={position:[e,0],onclick:xD(this._changeTimeline,this,t)},r=bD(i,n,s,o);Os(r,a.getItemStyle()),i.get("tooltip")?(r.dataIndex=t,r.dataModel=u):r.dataIndex=r.dataModel=null},this)},_renderAxisLabel:function(s,l,u,t){if(u.getLabelModel().get("show")){var h=t.getData(),e=u.getViewLabels();_D(e,function(t){var e=t.tickValue,i=h.getItemModel(e),n=i.getModel("label"),a=i.getModel("emphasis.label"),o=u.dataToCoord(t.tickValue),r=new Dr({position:[o,0],rotation:s.labelRotation-s.rotation,onclick:xD(this._changeTimeline,this,e),silent:!1});Gs(r.style,n,{text:t.formattedLabel,textAlign:s.labelAlign,textVerticalAlign:s.labelBaseline}),l.add(r),Os(r,Gs({},a))},this)}},_renderControl:function(t,o,e,r){var s=t.controlSize,l=t.rotation,u=r.getModel("controlStyle").getItemStyle(),h=r.getModel("emphasis.controlStyle").getItemStyle(),c=[0,-s/2,s,s],i=r.getPlayState(),n=r.get("inverse",!0);function a(t,e,i,n){if(t){var a=function(t,e,i,n){return gs(t.get(e).replace(/^path:\/\//,""),D(n||{}),new bi(i[0],i[1],i[2],i[3]),"center")}(r,e,c,{position:t,origin:[s/2,0],rotation:n?-l:0,rectHover:!0,style:u,onclick:i});o.add(a),Os(a,h)}}a(t.nextBtnPosition,"controlStyle.nextIcon",xD(this._changeTimeline,this,n?"-":"+")),a(t.prevBtnPosition,"controlStyle.prevIcon",xD(this._changeTimeline,this,n?"+":"-")),a(t.playPosition,"controlStyle."+(i?"stopIcon":"playIcon"),xD(this._handlePlayClick,this,!i),!0)},_renderCurrentPointer:function(t,e,i,n){var a=n.getData(),o=n.getCurrentIndex(),r=a.getItemModel(o).getModel("checkpointStyle"),s=this,l={onCreate:function(t){t.draggable=!0,t.drift=xD(s._handlePointerDrag,s),t.ondragend=xD(s._handlePointerDragend,s),SD(t,o,i,n,!0)},onUpdate:function(t){SD(t,o,i,n)}};this._currentPointer=bD(r,r,this._mainGroup,{},this._currentPointer,l)},_handlePlayClick:function(t){this._clearTimer(),this.api.dispatchAction({type:"timelinePlayChange",playState:t,from:this.uid})},_handlePointerDrag:function(t,e,i){this._clearTimer(),this._pointerChangeTimeline([i.offsetX,i.offsetY])},_handlePointerDragend:function(t){this._pointerChangeTimeline([t.offsetX,t.offsetY],!0)},_pointerChangeTimeline:function(t,e){var i=this._toAxisCoord(t)[0],n=wl(this._axis.getExtent().slice());i>n[1]&&(i=n[1]),i<n[0]&&(i=n[0]),this._currentPointer.position[0]=i,this._currentPointer.dirty();var a=this._findNearestTick(i),o=this.model;(e||a!==o.getCurrentIndex()&&o.get("realtime"))&&this._changeTimeline(a)},_doPlayStop:function(){this._clearTimer(),this.model.getPlayState()&&(this._timer=setTimeout(xD(function(){var t=this.model;this._changeTimeline(t.getCurrentIndex()+(t.get("rewind",!0)?-1:1))},this),this.model.get("playInterval")))},_toAxisCoord:function(t){return $s(t,this._mainGroup.getLocalTransform(),!0)},_findNearestTick:function(a){var o,t=this.model.getData(),r=1/0,s=this._axis;return t.each(["value"],function(t,e){var i=s.dataToCoord(t),n=Math.abs(i-a);n<r&&(r=n,o=e)}),o},_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.dispatchAction({type:"timelineChange",currentIndex:t,from:this.uid})}}),Jd(function(t){var e=t&&t.timeline;k(e)||(e=e?[e]:[]),E(e,function(t){t&&function(t){var e=t.type,i={number:"value",time:"time"};i[e]&&(t.axisType=i[e],delete t.type);if(pD(t),gD(t,"controlPosition")){var n=t.controlStyle||(t.controlStyle={});gD(n,"position")||(n.position=t.controlPosition),"none"!==n.position||gD(n,"show")||(n.show=!1,delete n.position),delete t.controlPosition}E(t.data||[],function(t){z(t)&&!k(t)&&(!gD(t,"value")&&gD(t,"name")&&(t.value=t.name),pD(t))})}(t)})});var MD=zl,ID=Wl;function AD(t){ba(t,"label",["show"])}var TD=sf({type:"marker",dependencies:["series","grid","polar","geo"],init:function(t,e,i){this.mergeDefaultAndTheme(t,i),this._mergeOption(t,i,!1,!0)},isAnimationEnabled:function(){if(v.node)return!1;var t=this.__hostSeries;return this.getShallow("animation")&&t&&t.isAnimationEnabled()},mergeOption:function(t,e){this._mergeOption(t,e,!1,!1)},_mergeOption:function(t,n,e,a){var o=this.constructor,r=this.mainType+"Model";e||n.eachSeries(function(t){var e=t.get(this.mainType,!0),i=t[r];e&&e.data?(i?i._mergeOption(e,n,!0):(a&&AD(e),E(e.data,function(t){t instanceof Array?(AD(t[0]),AD(t[1])):AD(t)}),L(i=new o(e,this,n),{mainType:this.mainType,seriesIndex:t.seriesIndex,name:t.name,createdBySelf:!0}),i.__hostSeries=t),t[r]=i):t[r]=null},this)},formatTooltip:function(t){var e=this.getData(),i=this.getRawValue(t),n=k(i)?N(i,MD).join(", "):MD(i),a=e.getName(t),o=ID(this.name);return null==i&&!a||(o+="<br />"),a&&(o+=ID(a),null!=i&&(o+=" : ")),null!=i&&(o+=ID(n)),o},getData:function(){return this._data},setData:function(t){this._data=t}});b(TD,Th),TD.extend({type:"markPoint",defaultOption:{zlevel:0,z:5,symbol:"pin",symbolSize:50,tooltip:{trigger:"item"},label:{show:!0,position:"inside"},itemStyle:{borderWidth:2},emphasis:{label:{show:!0}}}});var DD=_;function CD(t,e,i,n,a,o){var r=[],s=Zf(e,n)?e.getCalculationInfo("stackResultDimension"):n,l=RD(e,s,t),u=e.indicesOfNearest(s,l)[0];r[a]=e.get(i,u),r[o]=e.get(n,u);var h=bl(e.get(n,u));return 0<=(h=Math.min(h,20))&&(r[o]=+r[o].toFixed(h)),r}var LD=A,kD={min:LD(CD,"min"),max:LD(CD,"max"),average:LD(CD,"average")};function PD(t,e){var i=t.getData(),n=t.coordinateSystem;if(e&&!function(t){return!isNaN(parseFloat(t.x))&&!isNaN(parseFloat(t.y))}(e)&&!k(e.coord)&&n){var a=n.dimensions,o=ND(e,i,n,t);if((e=D(e)).type&&kD[e.type]&&o.baseAxis&&o.valueAxis){var r=DD(a,o.baseAxis.dim),s=DD(a,o.valueAxis.dim);e.coord=kD[e.type](i,o.baseDataDim,o.valueDataDim,r,s),e.value=e.coord[s]}else{for(var l=[null!=e.xAxis?e.xAxis:e.radiusAxis,null!=e.yAxis?e.yAxis:e.angleAxis],u=0;u<2;u++)kD[l[u]]&&(l[u]=RD(i,i.mapDimension(a[u]),l[u]));e.coord=l}}return e}function ND(t,e,i,n){var a={};return null!=t.valueIndex||null!=t.valueDim?(a.valueDataDim=null!=t.valueIndex?e.getDimension(t.valueIndex):t.valueDim,a.valueAxis=i.getAxis(function(t,e){var i=t.getData(),n=i.dimensions;e=i.getDimension(e);for(var a=0;a<n.length;a++){var o=i.getDimensionInfo(n[a]);if(o.name===e)return o.coordDim}}(n,a.valueDataDim)),a.baseAxis=i.getOtherAxis(a.valueAxis),a.baseDataDim=e.mapDimension(a.baseAxis.dim)):(a.baseAxis=n.getBaseAxis(),a.valueAxis=i.getOtherAxis(a.baseAxis),a.baseDataDim=e.mapDimension(a.baseAxis.dim),a.valueDataDim=e.mapDimension(a.valueAxis.dim)),a}function OD(t,e){return!(t&&t.containData&&e.coord&&!function(t){return!(isNaN(parseFloat(t.x))&&isNaN(parseFloat(t.y)))}(e))||t.containData(e.coord)}function ED(t,e,i,n){return n<2?t.coord&&t.coord[n]:t.value}function RD(t,e,i){if("average"!==i)return"median"===i?t.getMedian(e):t.getDataExtent(e,!0)["max"===i?1:0];var n=0,a=0;return t.each(e,function(t,e){isNaN(t)||(n+=t,a++)}),n/a}var zD=lf({type:"marker",init:function(){this.markerGroupMap=Q()},render:function(t,i,n){var e=this.markerGroupMap;e.each(function(t){t.__keep=!1});var a=this.type+"Model";i.eachSeries(function(t){var e=t[a];e&&this.renderSeries(t,e,i,n)},this),e.each(function(t){t.__keep||this.group.remove(t.group)},this)},renderSeries:function(){}});function BD(s,l,u){var h=l.coordinateSystem;s.each(function(t){var e,i=s.getItemModel(t),n=xl(i.get("x"),u.getWidth()),a=xl(i.get("y"),u.getHeight());if(isNaN(n)||isNaN(a)){if(l.getMarkerPosition)e=l.getMarkerPosition(s.getValues(s.dimensions,t));else if(h){var o=s.get(h.dimensions[0],t),r=s.get(h.dimensions[1],t);e=h.dataToPoint([o,r])}}else e=[n,a];isNaN(n)||(e[0]=n),isNaN(a)||(e[1]=a),s.setItemLayout(t,e)})}zD.extend({type:"markPoint",updateTransform:function(t,e,i){e.eachSeries(function(t){var e=t.markPointModel;e&&(BD(e.getData(),t,i),this.markerGroupMap.get(t.id).updateLayout(e))},this)},renderSeries:function(t,l,e,i){var n=t.coordinateSystem,a=t.id,u=t.getData(),o=this.markerGroupMap,r=o.get(a)||o.set(a,new Ng),h=function(t,e,i){var n;n=t?N(t&&t.dimensions,function(t){return C({name:t},e.getData().getDimensionInfo(e.getData().mapDimension(t))||{})}):[{name:"value",type:"float"}];var a=new Tf(n,i),o=N(i.get("data"),A(PD,e));t&&(o=M(o,A(OD,t)));return a.initData(o,null,t?ED:function(t){return t.value}),a}(n,t,l);l.setData(h),BD(l.getData(),t,i),h.each(function(t){var e=h.getItemModel(t),i=e.getShallow("symbol"),n=e.getShallow("symbolSize"),a=O(i),o=O(n);if(a||o){var r=l.getRawValue(t),s=l.getDataParams(t);a&&(i=i(r,s)),o&&(n=n(r,s))}h.setItemVisual(t,{symbol:i,symbolSize:n,color:e.get("itemStyle.color")||u.getVisual("color")})}),r.updateData(h),this.group.add(r.group),h.eachItemGraphicEl(function(t){t.traverse(function(t){t.dataModel=l})}),r.__keep=!0,r.group.silent=l.get("silent")||t.get("silent")}}),Jd(function(t){t.markPoint=t.markPoint||{}}),TD.extend({type:"markLine",defaultOption:{zlevel:0,z:5,symbol:["circle","arrow"],symbolSize:[8,16],precision:2,tooltip:{trigger:"item"},label:{show:!0,position:"end"},lineStyle:{type:"dashed"},emphasis:{label:{show:!0},lineStyle:{width:3}},animationEasing:"linear"}});function VD(t,e,i,n){var a=t.getData(),o=n.type;if(!k(n)&&("min"===o||"max"===o||"average"===o||"median"===o||null!=n.xAxis||null!=n.yAxis)){var r,s;if(null!=n.yAxis||null!=n.xAxis)r=e.getAxis(null!=n.yAxis?"y":"x"),s=W(n.yAxis,n.xAxis);else{var l=ND(n,a,e,t);r=l.valueAxis,s=RD(a,Uf(a,l.valueDataDim),o)}var u="x"===r.dim?0:1,h=1-u,c=D(n),d={};c.type=null,c.coord=[],d.coord=[],c.coord[h]=-1/0,d.coord[h]=1/0;var f=i.get("precision");0<=f&&"number"==typeof s&&(s=+s.toFixed(Math.min(f,20))),c.coord[u]=d.coord[u]=s,n=[c,d,{type:o,valueIndex:n.valueIndex,value:s}]}return(n=[PD(t,n[0]),PD(t,n[1]),L({},n[2])])[2].type=n[2].type||"",m(n[2],n[0]),m(n[2],n[1]),n}function GD(t){return!isNaN(t)&&!isFinite(t)}function FD(t,e,i,n){var a=1-t,o=n.dimensions[t];return GD(e[a])&&GD(i[a])&&e[t]===i[t]&&n.getAxis(o).containData(e[t])}function WD(t,e){if("cartesian2d"===t.type){var i=e[0].coord,n=e[1].coord;if(i&&n&&(FD(1,i,n,t)||FD(0,i,n,t)))return!0}return OD(t,e[0])&&OD(t,e[1])}function HD(t,e,i,n,a){var o,r=n.coordinateSystem,s=t.getItemModel(e),l=xl(s.get("x"),a.getWidth()),u=xl(s.get("y"),a.getHeight());if(isNaN(l)||isNaN(u)){if(n.getMarkerPosition)o=n.getMarkerPosition(t.getValues(t.dimensions,e));else{var h=r.dimensions,c=t.get(h[0],e),d=t.get(h[1],e);o=r.dataToPoint([c,d])}if("cartesian2d"===r.type){var f=r.getAxis("x"),p=r.getAxis("y");h=r.dimensions;GD(t.get(h[0],e))?o[0]=f.toGlobalCoord(f.getExtent()[i?0:1]):GD(t.get(h[1],e))&&(o[1]=p.toGlobalCoord(p.getExtent()[i?0:1]))}isNaN(l)||(o[0]=l),isNaN(u)||(o[1]=u)}else o=[l,u];t.setItemLayout(e,o)}zD.extend({type:"markLine",updateTransform:function(t,e,o){e.eachSeries(function(e){var t=e.markLineModel;if(t){var i=t.getData(),n=t.__from,a=t.__to;n.each(function(t){HD(n,t,!0,e,o),HD(a,t,!1,e,o)}),i.each(function(t){i.setItemLayout(t,[n.getItemLayout(t),a.getItemLayout(t)])}),this.markerGroupMap.get(e.id).updateLayout()}},this)},renderSeries:function(a,i,t,o){var e=a.coordinateSystem,n=a.id,r=a.getData(),s=this.markerGroupMap,l=s.get(n)||s.set(n,new z_);this.group.add(l.group);var u=function(t,e,i){var n;n=t?N(t&&t.dimensions,function(t){return C({name:t},e.getData().getDimensionInfo(e.getData().mapDimension(t))||{})}):[{name:"value",type:"float"}];var a=new Tf(n,i),o=new Tf(n,i),r=new Tf([],i),s=N(i.get("data"),A(VD,e,t,i));t&&(s=M(s,A(WD,t)));var l=t?ED:function(t){return t.value};return a.initData(N(s,function(t){return t[0]}),null,l),o.initData(N(s,function(t){return t[1]}),null,l),r.initData(N(s,function(t){return t[2]})),r.hasItemOption=!0,{from:a,to:o,line:r}}(e,a,i),h=u.from,c=u.to,d=u.line;i.__from=h,i.__to=c,i.setData(d);var f=i.get("symbol"),p=i.get("symbolSize");function g(t,e,i){var n=t.getItemModel(e);HD(t,e,i,a,o),t.setItemVisual(e,{symbolSize:n.get("symbolSize")||p[i?0:1],symbol:n.get("symbol",!0)||f[i?0:1],color:n.get("itemStyle.color")||r.getVisual("color")})}k(f)||(f=[f,f]),"number"==typeof p&&(p=[p,p]),u.from.each(function(t){g(h,t,!0),g(c,t,!1)}),d.each(function(t){var e=d.getItemModel(t).get("lineStyle.color");d.setItemVisual(t,{color:e||h.getItemVisual(t,"color")}),d.setItemLayout(t,[h.getItemLayout(t),c.getItemLayout(t)]),d.setItemVisual(t,{fromSymbolSize:h.getItemVisual(t,"symbolSize"),fromSymbol:h.getItemVisual(t,"symbol"),toSymbolSize:c.getItemVisual(t,"symbolSize"),toSymbol:c.getItemVisual(t,"symbol")})}),l.updateData(d),u.line.eachItemGraphicEl(function(t,e){t.traverse(function(t){t.dataModel=i})}),l.__keep=!0,l.group.silent=i.get("silent")||a.get("silent")}}),Jd(function(t){t.markLine=t.markLine||{}}),TD.extend({type:"markArea",defaultOption:{zlevel:0,z:1,tooltip:{trigger:"item"},animation:!1,label:{show:!0,position:"top"},itemStyle:{borderWidth:0},emphasis:{label:{show:!0,position:"top"}}}});function ZD(t,e,i,n){var a=PD(t,n[0]),o=PD(t,n[1]),r=W,s=a.coord,l=o.coord;s[0]=r(s[0],-1/0),s[1]=r(s[1],-1/0),l[0]=r(l[0],1/0),l[1]=r(l[1],1/0);var u=p([{},a,o]);return u.coord=[a.coord,o.coord],u.x0=a.x,u.y0=a.y,u.x1=o.x,u.y1=o.y,u}function UD(t){return!isNaN(t)&&!isFinite(t)}function XD(t,e,i){var n=1-t;return UD(e[n])&&UD(i[n])}function YD(t,e){var i=e.coord[0],n=e.coord[1];return!("cartesian2d"!==t.type||!i||!n||!XD(1,i,n)&&!XD(0,i,n))||(OD(t,{coord:i,x:e.x0,y:e.y0})||OD(t,{coord:n,x:e.x1,y:e.y1}))}function jD(t,e,i,n,a){var o,r=n.coordinateSystem,s=t.getItemModel(e),l=xl(s.get(i[0]),a.getWidth()),u=xl(s.get(i[1]),a.getHeight());if(isNaN(l)||isNaN(u)){if(n.getMarkerPosition)o=n.getMarkerPosition(t.getValues(i,e));else{var h=[f=t.get(i[0],e),p=t.get(i[1],e)];r.clampData&&r.clampData(h,h),o=r.dataToPoint(h,!0)}if("cartesian2d"===r.type){var c=r.getAxis("x"),d=r.getAxis("y"),f=t.get(i[0],e),p=t.get(i[1],e);UD(f)?o[0]=c.toGlobalCoord(c.getExtent()["x0"===i[0]?0:1]):UD(p)&&(o[1]=d.toGlobalCoord(d.getExtent()["y0"===i[1]?0:1]))}isNaN(l)||(o[0]=l),isNaN(u)||(o[1]=u)}else o=[l,u];return o}var qD=[["x0","y0"],["x1","y0"],["x1","y1"],["x0","y1"]];zD.extend({type:"markArea",updateTransform:function(t,e,a){e.eachSeries(function(i){var t=i.markAreaModel;if(t){var n=t.getData();n.each(function(e){var t=N(qD,function(t){return jD(n,e,t,i,a)});n.setItemLayout(e,t),n.getItemGraphicEl(e).setShape("points",t)})}},this)},renderSeries:function(i,r,t,n){var e=i.coordinateSystem,a=i.id,o=i.getData(),s=this.markerGroupMap,l=s.get(a)||s.set(a,{group:new Si});this.group.add(l.group),l.__keep=!0;var u=function(t,i,e){var n,a;a=t?(n=N(t&&t.dimensions,function(t){var e=i.getData();return C({name:t},e.getDimensionInfo(e.mapDimension(t))||{})}),new Tf(N(["x0","y0","x1","y1"],function(t,e){return{name:t,type:n[e%2].type}}),e)):new Tf(n=[{name:"value",type:"float"}],e);var o=N(e.get("data"),A(ZD,i,t,e));t&&(o=M(o,A(YD,t)));var r=t?function(t,e,i,n){return t.coord[Math.floor(n/2)][n%2]}:function(t){return t.value};return a.initData(o,null,r),a.hasItemOption=!0,a}(e,i,r);r.setData(u),u.each(function(e){u.setItemLayout(e,N(qD,function(t){return jD(u,e,t,i,n)})),u.setItemVisual(e,{color:o.getVisual("color")})}),u.diff(l.__data).add(function(t){var e=new Rr({shape:{points:u.getItemLayout(t)}});u.setItemGraphicEl(t,e),l.group.add(e)}).update(function(t,e){var i=l.__data.getItemGraphicEl(e);js(i,{shape:{points:u.getItemLayout(t)}},r,t),l.group.add(i),u.setItemGraphicEl(t,i)}).remove(function(t){var e=l.__data.getItemGraphicEl(t);l.group.remove(e)}).execute(),u.eachItemGraphicEl(function(t,e){var i=u.getItemModel(e),n=i.getModel("label"),a=i.getModel("emphasis.label"),o=u.getItemVisual(e,"color");t.useStyle(C(i.getModel("itemStyle").getItemStyle(),{fill:Ze(o,.4),stroke:o})),t.hoverStyle=i.getModel("emphasis.itemStyle").getItemStyle(),Bs(t.style,t.hoverStyle,n,a,{labelFetcher:r,labelDataIndex:e,defaultText:u.getName(e)||"",isRectText:!0,autoColor:o}),Os(t,{}),t.dataModel=r}),l.__data=u,l.group.silent=r.get("silent")||i.get("silent")}}),Jd(function(t){t.markArea=t.markArea||{}});var KD=gc.legend.selector,$D={all:{type:"all",title:D(KD.all)},inverse:{type:"inverse",title:D(KD.inverse)}},JD=sf({type:"legend.plain",dependencies:["series"],layoutMode:{type:"box",ignoreSize:!0},init:function(t,e,i){this.mergeDefaultAndTheme(t,i),t.selected=t.selected||{},this._updateSelector(t)},mergeOption:function(t){JD.superCall(this,"mergeOption",t),this._updateSelector(t)},_updateSelector:function(t){var i=t.selector;!0===i&&(i=t.selector=["all","inverse"]),k(i)&&E(i,function(t,e){R(t)&&(t={type:t}),i[e]=m(t,$D[t.type])})},optionUpdated:function(){this._updateData(this.ecModel);var t=this._data;if(t[0]&&"single"===this.get("selectedMode")){for(var e=!1,i=0;i<t.length;i++){var n=t[i].get("name");if(this.isSelected(n)){this.select(n),e=!0;break}}e||this.select(t[0].get("name"))}},_updateData:function(o){var r=[],s=[];o.eachRawSeries(function(t){var e,i=t.name;if(s.push(i),t.legendDataProvider){var n=t.legendDataProvider(),a=n.mapArray(n.getName);o.isSeriesFiltered(t)||(s=s.concat(a)),a.length?r=r.concat(a):e=!0}else e=!0;e&&Ta(t)&&r.push(t.name)}),this._availableNames=s;var t=N(this.get("data")||r,function(t){return"string"!=typeof t&&"number"!=typeof t||(t={name:t}),new dl(t,this,this.ecModel)},this);this._data=t},getData:function(){return this._data},select:function(t){var e=this.option.selected;"single"===this.get("selectedMode")&&E(this._data,function(t){e[t.get("name")]=!1});e[t]=!0},unSelect:function(t){"single"!==this.get("selectedMode")&&(this.option.selected[t]=!1)},toggleSelected:function(t){var e=this.option.selected;e.hasOwnProperty(t)||(e[t]=!0),this[e[t]?"unSelect":"select"](t)},allSelect:function(){var t=this._data,e=this.option.selected;E(t,function(t){e[t.get("name",!0)]=!0})},inverseSelect:function(){var t=this._data,i=this.option.selected;E(t,function(t){var e=t.get("name",!0);i.hasOwnProperty(e)||(i[e]=!0),i[e]=!i[e]})},isSelected:function(t){var e=this.option.selected;return!(e.hasOwnProperty(t)&&!e[t])&&0<=_(this._availableNames,t)},getOrient:function(){return"vertical"===this.get("orient")?{index:1,name:"vertical"}:{index:0,name:"horizontal"}},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",inactiveBorderColor:"#ccc",itemStyle:{borderWidth:0},textStyle:{color:"#333"},selectedMode:!0,selector:!1,selectorLabel:{show:!0,borderRadius:10,padding:[3,5,3,5],fontSize:12,fontFamily:" sans-serif",color:"#666",borderWidth:1,borderColor:"#666"},emphasis:{selectorLabel:{show:!0,color:"#eee",backgroundColor:"#666"}},selectorPosition:"auto",selectorItemGap:7,selectorButtonGap:10,tooltip:{show:!1}}});function QD(t,e,i){var a,o={},r="toggleSelected"===t;return i.eachComponent("legend",function(n){r&&null!=a?n[a?"select":"unSelect"](e.name):"allSelect"===t||"inverseSelect"===t?n[t]():(n[t](e.name),a=n.isSelected(e.name)),E(n.getData(),function(t){var e=t.get("name");if("\n"!==e&&""!==e){var i=n.isSelected(e);o.hasOwnProperty(e)?o[e]=o[e]&&i:o[e]=i}})}),"allSelect"===t||"inverseSelect"===t?{selected:o}:{name:e.name,selected:o}}tf("legendToggleSelect","legendselectchanged",A(QD,"toggleSelected")),tf("legendAllSelect","legendselectall",A(QD,"allSelect")),tf("legendInverseSelect","legendinverseselect",A(QD,"inverseSelect")),tf("legendSelect","legendselected",A(QD,"select")),tf("legendUnSelect","legendunselected",A(QD,"unSelect"));var tC=A,eC=E,iC=Si,nC=lf({type:"legend.plain",newlineDisabled:!1,init:function(){this.group.add(this._contentGroup=new iC),this._backgroundEl,this.group.add(this._selectorGroup=new iC),this._isFirstRender=!0},getContentGroup:function(){return this._contentGroup},getSelectorGroup:function(){return this._selectorGroup},render:function(t,e,i){var n=this._isFirstRender;if(this._isFirstRender=!1,this.resetInner(),t.get("show",!0)){var a=t.get("align"),o=t.get("orient");a&&"auto"!==a||(a="right"===t.get("left")&&"vertical"===o?"right":"left");var r=t.get("selector",!0),s=t.get("selectorPosition",!0);!r||s&&"auto"!==s||(s="horizontal"===o?"end":"start"),this.renderInner(a,t,e,i,r,o,s);var l=t.getBoxLayoutParams(),u={width:i.getWidth(),height:i.getHeight()},h=t.get("padding"),c=au(l,u,h),d=this.layoutInner(t,a,c,n,r,s),f=au(C({width:d.width,height:d.height},l),u,h);this.group.attr("position",[f.x-d.x,f.y-d.y]),this.group.add(this._backgroundEl=IA(d,t))}},resetInner:function(){this.getContentGroup().removeAll(),this._backgroundEl&&this.group.remove(this._backgroundEl),this.getSelectorGroup().removeAll()},renderInner:function(u,h,c,d,t,e,i){var f=this.getContentGroup(),p=Q(),g=h.get("selectedMode"),m=[];c.eachRawSeries(function(t){t.get("legendHoverLink")||m.push(t.id)}),eC(h.getData(),function(o,r){var s=o.get("name");if(this.newlineDisabled||""!==s&&"\n"!==s){var t=c.getSeriesByName(s)[0];if(!p.get(s))if(t){var e=t.getData(),i=e.getVisual("color"),n=e.getVisual("borderColor");"function"==typeof i&&(i=i(t.getDataParams(0))),"function"==typeof n&&(n=n(t.getDataParams(0)));var a=e.getVisual("legendSymbol")||"roundRect",l=e.getVisual("symbol");this._createItem(s,r,o,h,a,l,u,i,n,g).on("click",tC(oC,s,d)).on("mouseover",tC(rC,t.name,null,d,m)).on("mouseout",tC(sC,t.name,null,d,m)),p.set(s,!0)}else c.eachRawSeries(function(t){if(!p.get(s)&&t.legendDataProvider){var e=t.legendDataProvider(),i=e.indexOfName(s);if(i<0)return;var n=e.getItemVisual(i,"color"),a=e.getItemVisual(i,"borderColor");this._createItem(s,r,o,h,"roundRect",null,u,n,a,g).on("click",tC(oC,s,d)).on("mouseover",tC(rC,null,s,d,m)).on("mouseout",tC(sC,null,s,d,m)),p.set(s,!0)}},this)}else f.add(new iC({newline:!0}))},this),t&&this._createSelector(t,h,d,e,i)},_createSelector:function(t,o,r,e,i){var s=this.getSelectorGroup();eC(t,function(t){!function(t){var e=t.type,i=new Dr({style:{x:0,y:0,align:"center",verticalAlign:"middle"},onclick:function(){r.dispatchAction({type:"all"===e?"legendAllSelect":"legendInverseSelect"})}});s.add(i);var n=o.getModel("selectorLabel"),a=o.getModel("emphasis.selectorLabel");Bs(i.style,i.hoverStyle={},n,a,{defaultText:t.title,isRectText:!1}),Os(i)}(t)})},_createItem:function(t,e,i,n,a,o,r,s,l,u){var h=n.get("itemWidth"),c=n.get("itemHeight"),d=n.get("inactiveColor"),f=n.get("inactiveBorderColor"),p=n.get("symbolKeepAspect"),g=n.getModel("itemStyle"),m=n.isSelected(t),v=new iC,y=i.getModel("textStyle"),x=i.get("icon"),_=i.getModel("tooltip"),w=_.parentModel,b=Jp(a=x||a,0,0,h,c,m?s:d,null==p||p);if(v.add(aC(b,a,g,l,f,m)),!x&&o&&(o!==a||"none"===o)){var S=.8*c;"none"===o&&(o="circle");var M=Jp(o,(h-S)/2,(c-S)/2,S,S,m?s:d,null==p||p);v.add(aC(M,o,g,l,f,m))}var I="left"===r?h+5:-5,A=r,T=n.get("formatter"),D=t;"string"==typeof T&&T?D=T.replace("{name}",null!=t?t:""):"function"==typeof T&&(D=T(t)),v.add(new Dr({style:Gs({},y,{text:D,x:I,y:c/2,textFill:m?y.getTextColor():d,textAlign:A,textVerticalAlign:"middle"})}));var C=new Hr({shape:v.getBoundingRect(),invisible:!0,tooltip:_.get("show")?L({content:t,formatter:w.get("formatter",!0)||function(){return t},formatterParams:{componentType:"legend",legendIndex:n.componentIndex,name:t,$vars:["name"]}},_.option):null});return v.add(C),v.eachChild(function(t){t.silent=!0}),C.silent=!u,this.getContentGroup().add(v),Os(v),v.__legendDataIndex=e,v},layoutInner:function(t,e,i,n,a,o){var r=this.getContentGroup(),s=this.getSelectorGroup();nu(t.get("orient"),r,t.get("itemGap"),i.width,i.height);var l=r.getBoundingRect(),u=[-l.x,-l.y];if(a){nu("horizontal",s,t.get("selectorItemGap",!0));var h=s.getBoundingRect(),c=[-h.x,-h.y],d=t.get("selectorButtonGap",!0),f=t.getOrient().index,p=0===f?"width":"height",g=0===f?"height":"width",m=0===f?"y":"x";"end"===o?c[f]+=l[p]+d:u[f]+=h[p]+d,c[1-f]+=l[g]/2-h[g]/2,s.attr("position",c),r.attr("position",u);var v={x:0,y:0};return v[p]=l[p]+d+h[p],v[g]=Math.max(l[g],h[g]),v[m]=Math.min(0,h[m]+c[1-f]),v}return r.attr("position",u),this.group.getBoundingRect()},remove:function(){this.getContentGroup().removeAll(),this._isFirstRender=!0}});function aC(t,e,i,n,a,o){var r;return"line"!==e&&e.indexOf("empty")<0?(r=i.getItemStyle(),t.style.stroke=n,o||(r.stroke=a)):r=i.getItemStyle(["borderWidth","borderColor"]),t.setStyle(r)}function oC(t,e){e.dispatchAction({type:"legendToggleSelect",name:t})}function rC(t,e,i,n){var a=i.getZr().storage.getDisplayList()[0];a&&a.useHoverLayer||i.dispatchAction({type:"highlight",seriesName:t,name:e,excludeSeriesId:n})}function sC(t,e,i,n){var a=i.getZr().storage.getDisplayList()[0];a&&a.useHoverLayer||i.dispatchAction({type:"downplay",seriesName:t,name:e,excludeSeriesId:n})}Qd(cd.PROCESSOR.SERIES_FILTER,function(t){var i=t.findComponents({mainType:"legend"});i&&i.length&&t.filterSeries(function(t){for(var e=0;e<i.length;e++)if(!i[e].isSelected(t.name))return!1;return!0})}),fu.registerSubTypeDefaulter("legend",function(){return"plain"});var lC=JD.extend({type:"legend.scroll",setScrollDataIndex:function(t){this.option.scrollDataIndex=t},defaultOption:{scrollDataIndex:0,pageButtonItemGap:5,pageButtonGap:null,pageButtonPosition:"end",pageFormatter:"{current}/{total}",pageIcons:{horizontal:["M0,0L12,-10L12,10z","M0,0L-12,-10L-12,10z"],vertical:["M0,0L20,0L10,-20z","M0,0L20,0L10,20z"]},pageIconColor:"#2f4554",pageIconInactiveColor:"#aaa",pageIconSize:15,pageTextStyle:{color:"#333"},animationDurationUpdate:800},init:function(t,e,i,n){var a=su(t);lC.superCall(this,"init",t,e,i,n),uC(this,t,a)},mergeOption:function(t,e){lC.superCall(this,"mergeOption",t,e),uC(this,this.option,t)}});function uC(t,e,i){var n=[1,1];n[t.getOrient().index]=0,ru(e,i,{type:"box",ignoreSize:n})}var hC=Si,cC=["width","height"],dC=["x","y"],fC=nC.extend({type:"legend.scroll",newlineDisabled:!0,init:function(){fC.superCall(this,"init"),this._currentIndex=0,this.group.add(this._containerGroup=new hC),this._containerGroup.add(this.getContentGroup()),this.group.add(this._controllerGroup=new hC),this._showController},resetInner:function(){fC.superCall(this,"resetInner"),this._controllerGroup.removeAll(),this._containerGroup.removeClipPath(),this._containerGroup.__rectSize=null},renderInner:function(t,a,e,o,i,n,r){var s=this;fC.superCall(this,"renderInner",t,a,e,o,i,n,r);var l=this._controllerGroup,u=a.get("pageIconSize",!0);k(u)||(u=[u,u]),c("pagePrev",0);var h=a.getModel("pageTextStyle");function c(t,e){var i=t+"DataIndex",n=el(a.get("pageIcons",!0)[a.getOrient().name][e],{onclick:T(s._pageGo,s,i,a,o)},{x:-u[0]/2,y:-u[1]/2,width:u[0],height:u[1]});n.name=t,l.add(n)}l.add(new Dr({name:"pageText",style:{textFill:h.getTextColor(),font:h.getFont(),textVerticalAlign:"middle",textAlign:"center"},silent:!0})),c("pageNext",1)},layoutInner:function(t,e,i,n,a,o){var r=this.getSelectorGroup(),s=t.getOrient().index,l=cC[s],u=dC[s],h=cC[1-s],c=dC[1-s];a&&nu("horizontal",r,t.get("selectorItemGap",!0));var d=t.get("selectorButtonGap",!0),f=r.getBoundingRect(),p=[-f.x,-f.y],g=D(i);a&&(g[l]=i[l]-f[l]-d);var m=this._layoutContentAndController(t,n,g,s,l,h,c);if(a){if("end"===o)p[s]+=m[l]+d;else{var v=f[l]+d;p[s]-=v,m[u]-=v}m[l]+=f[l]+d,p[1-s]+=m[c]+m[h]/2-f[h]/2,m[h]=Math.max(m[h],f[h]),m[c]=Math.min(m[c],f[c]+p[1-s]),r.attr("position",p)}return m},_layoutContentAndController:function(t,e,i,n,a,o,r){var s=this.getContentGroup(),l=this._containerGroup,u=this._controllerGroup;nu(t.get("orient"),s,t.get("itemGap"),n?i.width:null,n?null:i.height),nu("horizontal",u,t.get("pageButtonItemGap",!0));var h=s.getBoundingRect(),c=u.getBoundingRect(),d=this._showController=h[a]>i[a],f=[-h.x,-h.y];e||(f[n]=s.position[n]);var p=[0,0],g=[-c.x,-c.y],m=H(t.get("pageButtonGap",!0),t.get("itemGap",!0));d&&("end"===t.get("pageButtonPosition",!0)?g[n]+=i[a]-c[a]:p[n]+=c[a]+m);g[1-n]+=h[o]/2-c[o]/2,s.attr("position",f),l.attr("position",p),u.attr("position",g);var v={x:0,y:0};if(v[a]=d?i[a]:h[a],v[o]=Math.max(h[o],c[o]),v[r]=Math.min(0,c[r]+g[1-n]),l.__rectSize=i[a],d){var y={x:0,y:0};y[a]=Math.max(i[a]-c[a]-m,0),y[o]=v[o],l.setClipPath(new Hr({shape:y})),l.__rectSize=y[a]}else u.eachChild(function(t){t.attr({invisible:!0,silent:!0})});var x=this._getPageInfo(t);return null!=x.pageIndex&&js(s,{position:x.contentPosition},d&&t),this._updatePageInfoView(t,x),v},_pageGo:function(t,e,i){var n=this._getPageInfo(e)[t];null!=n&&i.dispatchAction({type:"legendScroll",scrollDataIndex:n,legendId:e.id})},_updatePageInfoView:function(n,a){var o=this._controllerGroup;E(["pagePrev","pageNext"],function(t){var e=null!=a[t+"DataIndex"],i=o.childOfName(t);i&&(i.setStyle("fill",e?n.get("pageIconColor",!0):n.get("pageIconInactiveColor",!0)),i.cursor=e?"pointer":"default")});var t=o.childOfName("pageText"),e=n.get("pageFormatter"),i=a.pageIndex,r=null!=i?i+1:0,s=a.pageCount;t&&e&&t.setStyle("text",R(e)?e.replace("{current}",r).replace("{total}",s):e({current:r,total:s}))},_getPageInfo:function(t){var e=t.get("scrollDataIndex",!0),i=this.getContentGroup(),n=this._containerGroup.__rectSize,a=t.getOrient().index,o=cC[a],r=dC[a],s=this._findTargetItemIndex(e),l=i.children(),u=l[s],h=l.length,c=h?1:0,d={contentPosition:i.position.slice(),pageCount:c,pageIndex:c-1,pagePrevDataIndex:null,pageNextDataIndex:null};if(!u)return d;var f=y(u);d.contentPosition[a]=-f.s;for(var p=s+1,g=f,m=f,v=null;p<=h;++p)(!(v=y(l[p]))&&m.e>g.s+n||v&&!x(v,g.s))&&(g=m.i>g.i?m:v)&&(null==d.pageNextDataIndex&&(d.pageNextDataIndex=g.i),++d.pageCount),m=v;for(p=s-1,g=f,m=f,v=null;-1<=p;--p)(v=y(l[p]))&&x(m,v.s)||!(g.i<m.i)||(m=g,null==d.pagePrevDataIndex&&(d.pagePrevDataIndex=g.i),++d.pageCount,++d.pageIndex),g=v;return d;function y(t){if(t){var e=t.getBoundingRect(),i=e[r]+t.position[a];return{s:i,e:i+e[o],i:t.__legendDataIndex}}}function x(t,e){return t.e>=e&&t.s<=e+n}},_findTargetItemIndex:function(n){var a,o,t=this.getContentGroup();return this._showController&&t.eachChild(function(t,e){var i=t.__legendDataIndex;null==o&&null!=i&&(o=e),i===n&&(a=e)}),null!=a?a:o}});tf("legendScroll","legendscroll",function(t,e){var i=t.scrollDataIndex;null!=i&&e.eachComponent({mainType:"legend",subType:"scroll",query:t},function(t){t.setScrollDataIndex(i)})});_T.extend({type:"dataZoom.slider",layoutMode:"box",defaultOption:{show:!0,right:"ph",top:"ph",width:"ph",height:"ph",left:null,bottom:null,backgroundColor:"rgba(47,69,84,0)",dataBackground:{lineStyle:{color:"#2f4554",width:.5,opacity:.3},areaStyle:{color:"rgba(47,69,84,0.3)",opacity:.3}},borderColor:"#ddd",fillerColor:"rgba(167,183,204,0.4)",handleIcon:"M8.2,13.6V3.9H6.3v9.7H3.1v14.9h3.3v9.7h1.8v-9.7h3.3V13.6H8.2z M9.7,24.4H4.8v-1.4h4.9V24.4z M9.7,19.1H4.8v-1.4h4.9V19.1z",handleSize:"100%",handleStyle:{color:"#a7b7cc"},labelPrecision:null,labelFormatter:null,showDetail:!0,showDataShadow:"auto",realtime:!0,zoomLock:!1,textStyle:{color:"#333"}}});var pC=Hr,gC=yl,mC=wl,vC=T,yC=E,xC="horizontal",_C="vertical",wC=["line","bar","candlestick","scatter"],bC=ST.extend({type:"dataZoom.slider",init:function(t,e){this._displayables={},this._orient,this._range,this._handleEnds,this._size,this._handleWidth,this._handleHeight,this._location,this._dragging,this._dataShadowInfo,this.api=e},render:function(t,e,i,n){bC.superApply(this,"render",arguments),dc(this,"_dispatchZoomAction",this.dataZoomModel.get("throttle"),"fixRate"),this._orient=t.get("orient"),!1!==this.dataZoomModel.get("show")?(n&&"dataZoom"===n.type&&n.from===this.uid||this._buildView(),this._updateView()):this.group.removeAll()},remove:function(){bC.superApply(this,"remove",arguments),fc(this,"_dispatchZoomAction")},dispose:function(){bC.superApply(this,"dispose",arguments),fc(this,"_dispatchZoomAction")},_buildView:function(){var t=this.group;t.removeAll(),this._resetLocation(),this._resetInterval();var e=this._displayables.barGroup=new Si;this._renderBackground(),this._renderHandle(),this._renderDataShadow(),t.add(e),this._positionGroup()},_resetLocation:function(){var t=this.dataZoomModel,e=this.api,i=this._findCoordRect(),n={width:e.getWidth(),height:e.getHeight()},a=this._orient===xC?{right:n.width-i.x-i.width,top:n.height-30-7,width:i.width,height:30}:{right:7,top:i.y,width:30,height:i.height},o=su(t.option);E(["right","top","width","height"],function(t){"ph"===o[t]&&(o[t]=a[t])});var r=au(o,n,t.padding);this._location={x:r.x,y:r.y},this._size=[r.width,r.height],this._orient===_C&&this._size.reverse()},_positionGroup:function(){var t=this.group,e=this._location,i=this._orient,n=this.dataZoomModel.getFirstTargetAxisModel(),a=n&&n.get("inverse"),o=this._displayables.barGroup,r=(this._dataShadowInfo||{}).otherAxisInverse;o.attr(i!==xC||a?i===xC&&a?{scale:r?[-1,1]:[-1,-1]}:i!==_C||a?{scale:r?[-1,-1]:[-1,1],rotation:Math.PI/2}:{scale:r?[1,-1]:[1,1],rotation:Math.PI/2}:{scale:r?[1,1]:[1,-1]});var s=t.getBoundingRect([o]);t.attr("position",[e.x-s.x,e.y-s.y])},_getViewExtent:function(){return[0,this._size[0]]},_renderBackground:function(){var t=this.dataZoomModel,e=this._size,i=this._displayables.barGroup;i.add(new pC({silent:!0,shape:{x:0,y:0,width:e[0],height:e[1]},style:{fill:t.get("backgroundColor")},z2:-40})),i.add(new pC({shape:{x:0,y:0,width:e[0],height:e[1]},style:{fill:"transparent"},z2:0,onclick:T(this._onClickPanelClick,this)}))},_renderDataShadow:function(){var t=this._dataShadowInfo=this._prepareDataShadowInfo();if(t){var e=this._size,i=t.series,n=i.getRawData(),a=i.getShadowDim?i.getShadowDim():t.otherDim;if(null!=a){var o=n.getDataExtent(a),r=.3*(o[1]-o[0]);o=[o[0]-r,o[1]+r];var s,l=[0,e[1]],u=[0,e[0]],h=[[e[0],0],[0,0]],c=[],d=u[1]/(n.count()-1),f=0,p=Math.round(n.count()/e[0]);n.each([a],function(t,e){if(0<p&&e%p)f+=d;else{var i=null==t||isNaN(t)||""===t,n=i?0:gC(t,o,l,!0);i&&!s&&e?(h.push([h[h.length-1][0],0]),c.push([c[c.length-1][0],0])):!i&&s&&(h.push([f,0]),c.push([f,0])),h.push([f,n]),c.push([f,n]),f+=d,s=i}});var g=this.dataZoomModel;this._displayables.barGroup.add(new Rr({shape:{points:h},style:C({fill:g.get("dataBackgroundColor")},g.getModel("dataBackground.areaStyle").getAreaStyle()),silent:!0,z2:-20})),this._displayables.barGroup.add(new zr({shape:{points:c},style:g.getModel("dataBackground.lineStyle").getLineStyle(),silent:!0,z2:-19}))}}},_prepareDataShadowInfo:function(){var t=this.dataZoomModel,s=t.get("showDataShadow");if(!1!==s){var l,u=this.ecModel;return t.eachTargetAxis(function(o,r){E(t.getAxisProxy(o.name,r).getTargetSeriesModels(),function(t){if(!(l||!0!==s&&_(wC,t.get("type"))<0)){var e,i=u.getComponent(o.axis,r).axis,n=function(t){return{x:"y",y:"x",radius:"angle",angle:"radius"}[t]}(o.name),a=t.coordinateSystem;null!=n&&a.getOtherAxis&&(e=a.getOtherAxis(i).inverse),n=t.getData().mapDimension(n),l={thisAxis:i,series:t,thisDim:o.name,otherDim:n,otherAxisInverse:e}}},this)},this),l}},_renderHandle:function(){var t=this._displayables,o=t.handles=[],r=t.handleLabels=[],s=this._displayables.barGroup,e=this._size,l=this.dataZoomModel;s.add(t.filler=new pC({draggable:!0,cursor:SC(this._orient),drift:vC(this._onDragMove,this,"all"),onmousemove:function(t){Ft(t.event)},ondragstart:vC(this._showDataInfo,this,!0),ondragend:vC(this._onDragEnd,this),onmouseover:vC(this._showDataInfo,this,!0),onmouseout:vC(this._showDataInfo,this,!1),style:{fill:l.get("fillerColor"),textPosition:"inside"}})),s.add(new pC({silent:!0,subPixelOptimize:!0,shape:{x:0,y:0,width:e[0],height:e[1]},style:{stroke:l.get("dataBackgroundColor")||l.get("borderColor"),lineWidth:1,fill:"rgba(0,0,0,0)"}})),yC([0,1],function(t){var e=el(l.get("handleIcon"),{cursor:SC(this._orient),draggable:!0,drift:vC(this._onDragMove,this,t),onmousemove:function(t){Ft(t.event)},ondragend:vC(this._onDragEnd,this),onmouseover:vC(this._showDataInfo,this,!0),onmouseout:vC(this._showDataInfo,this,!1)},{x:-1,y:0,width:2,height:2}),i=e.getBoundingRect();this._handleHeight=xl(l.get("handleSize"),this._size[1]),this._handleWidth=i.width/i.height*this._handleHeight,e.setStyle(l.getModel("handleStyle").getItemStyle());var n=l.get("handleColor");null!=n&&(e.style.fill=n),s.add(o[t]=e);var a=l.textStyleModel;this.group.add(r[t]=new Dr({silent:!0,invisible:!0,style:{x:0,y:0,text:"",textVerticalAlign:"middle",textAlign:"center",textFill:a.getTextColor(),textFont:a.getFont()},z2:10}))},this)},_resetInterval:function(){var t=this._range=this.dataZoomModel.getPercentRange(),e=this._getViewExtent();this._handleEnds=[gC(t[0],[0,100],e,!0),gC(t[1],[0,100],e,!0)]},_updateInterval:function(t,e){var i=this.dataZoomModel,n=this._handleEnds,a=this._getViewExtent(),o=i.findRepresentativeAxisProxy().getMinMaxSpan(),r=[0,100];ww(e,n,a,i.get("zoomLock")?"all":t,null!=o.minSpan?gC(o.minSpan,r,a,!0):null,null!=o.maxSpan?gC(o.maxSpan,r,a,!0):null);var s=this._range,l=this._range=mC([gC(n[0],a,r,!0),gC(n[1],a,r,!0)]);return!s||s[0]!==l[0]||s[1]!==l[1]},_updateView:function(t){var n=this._displayables,a=this._handleEnds,e=mC(a.slice()),o=this._size;yC([0,1],function(t){var e=n.handles[t],i=this._handleHeight;e.attr({scale:[i/2,i/2],position:[a[t],o[1]/2-i/2]})},this),n.filler.setShape({x:e[0],y:0,width:e[1]-e[0],height:o[1]}),this._updateDataInfo(t)},_updateDataInfo:function(t){var e=this.dataZoomModel,o=this._displayables,r=o.handleLabels,s=this._orient,l=["",""];if(e.get("showDetail")){var i=e.findRepresentativeAxisProxy();if(i){var n=i.getAxisModel().axis,a=this._range,u=t?i.calculateDataWindow({start:a[0],end:a[1]}).valueWindow:i.getDataValueWindow();l=[this._formatLabel(u[0],n),this._formatLabel(u[1],n)]}}var h=mC(this._handleEnds.slice());function c(t){var e=Ks(o.handles[t].parent,this.group),i=Js(0===t?"right":"left",e),n=this._handleWidth/2+5,a=$s([h[t]+(0===t?-n:n),this._size[1]/2],e);r[t].setStyle({x:a[0],y:a[1],textVerticalAlign:s===xC?"middle":i,textAlign:s===xC?i:"center",text:l[t]})}c.call(this,0),c.call(this,1)},_formatLabel:function(t,e){var i=this.dataZoomModel,n=i.get("labelFormatter"),a=i.get("labelPrecision");null!=a&&"auto"!==a||(a=e.getPixelPrecision());var o=null==t||isNaN(t)?"":"category"===e.type||"time"===e.type?e.scale.getLabel(Math.round(t)):t.toFixed(Math.min(a,20));return O(n)?n(t,o):R(n)?n.replace("{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=$s([e,i],this._displayables.barGroup.getLocalTransform(),!0),a=this._updateInterval(t,n[0]),o=this.dataZoomModel.get("realtime");this._updateView(!o),a&&o&&this._dispatchZoomAction()},_onDragEnd:function(){this._dragging=!1,this._showDataInfo(!1),this.dataZoomModel.get("realtime")||this._dispatchZoomAction()},_onClickPanelClick:function(t){var e=this._size,i=this._displayables.barGroup.transformCoordToLocal(t.offsetX,t.offsetY);if(!(i[0]<0||i[0]>e[0]||i[1]<0||i[1]>e[1])){var n=this._handleEnds,a=(n[0]+n[1])/2,o=this._updateInterval("all",i[0]-a);this._updateView(),o&&this._dispatchZoomAction()}},_dispatchZoomAction:function(){var t=this._range;this.api.dispatchAction({type:"dataZoom",from:this.uid,dataZoomId:this.dataZoomModel.id,start:t[0],end:t[1]})},_findCoordRect:function(){var i;if(yC(this.getTargetCoordInfo(),function(t){if(!i&&t.length){var e=t[0].model.coordinateSystem;i=e.getRect&&e.getRect()}}),!i){var t=this.api.getWidth(),e=this.api.getHeight();i={x:.2*t,y:.2*e,width:.6*t,height:.6*e}}return i}});function SC(t){return"vertical"===t?"ns-resize":"ew-resize"}_T.extend({type:"dataZoom.inside",defaultOption:{disabled:!1,zoomLock:!1,zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!1,preventDefaultMouseMove:!0}});var MC="\0_ec_dataZoom_roams";function IC(t,n){var e=TC(t),a=n.dataZoomId,o=n.coordId;E(e,function(t,e){var i=t.dataZoomInfos;i[a]&&_(n.allCoordIds,o)<0&&(delete i[a],t.count--)}),DC(e);var i=e[o];i||((i=e[o]={coordId:o,dataZoomInfos:{},count:0}).controller=function(t,r){var e=new uy(t.getZr());return E(["pan","zoom","scrollMove"],function(o){e.on(o,function(n){var a=[];E(r.dataZoomInfos,function(t){if(n.isAvailableBehavior(t.dataZoomModel.option)){var e=(t.getRange||{})[o],i=e&&e(r.controller,n);!t.dataZoomModel.get("disabled",!0)&&i&&a.push({dataZoomId:t.dataZoomId,start:i[0],end:i[1]})}}),a.length&&r.dispatchAction(a)})}),e}(t,i),i.dispatchAction=A(CC,t)),i.dataZoomInfos[a]||i.count++,i.dataZoomInfos[a]=n;var r=function(t){var n,a={type_true:2,type_move:1,type_false:0,type_undefined:-1},o=!0;return E(t,function(t){var e=t.dataZoomModel,i=!e.get("disabled",!0)&&(!e.get("zoomLock",!0)||"move");a["type_"+n]<a["type_"+i]&&(n=i),o&=e.get("preventDefaultMouseMove",!0)}),{controlType:n,opt:{zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!0,preventDefaultMouseMove:!!o}}}(i.dataZoomInfos);i.controller.enable(r.controlType,r.opt),i.controller.setPointerChecker(n.containsPoint),dc(i,"dispatchAction",n.dataZoomModel.get("throttle",!0),"fixRate")}function AC(t){return t.type+"\0_"+t.id}function TC(t){var e=t.getZr();return e[MC]||(e[MC]={})}function DC(i){E(i,function(t,e){t.count||(t.controller.dispose(),delete i[e])})}function CC(t,e){t.dispatchAction({type:"dataZoom",batch:e})}var LC=T,kC=ST.extend({type:"dataZoom.inside",init:function(t,e){this._range},render:function(r,t,s,e){kC.superApply(this,"render",arguments),this._range=r.getPercentRange(),E(this.getTargetCoordInfo(),function(t,a){var o=N(t,function(t){return AC(t.model)});E(t,function(e){var n=e.model,i={};E(["pan","zoom","scrollMove"],function(t){i[t]=LC(PC[t],this,e,a)},this),IC(s,{coordId:AC(n),allCoordIds:o,containsPoint:function(t,e,i){return n.coordinateSystem.containPoint([e,i])},dataZoomId:r.id,dataZoomModel:r,getRange:i})},this)},this)},dispose:function(){!function(t,i){var e=TC(t);E(e,function(t){t.controller.dispose();var e=t.dataZoomInfos;e[i]&&(delete e[i],t.count--)}),DC(e)}(this.api,this.dataZoomModel.id),kC.superApply(this,"dispose",arguments),this._range=null}}),PC={zoom:function(t,e,i,n){var a=this._range,o=a.slice(),r=t.axisModels[0];if(r){var s=EC[e](null,[n.originX,n.originY],r,i,t),l=(0<s.signal?s.pixelStart+s.pixelLength-s.pixel:s.pixel-s.pixelStart)/s.pixelLength*(o[1]-o[0])+o[0],u=Math.max(1/n.scale,0);o[0]=(o[0]-l)*u+l,o[1]=(o[1]-l)*u+l;var h=this.dataZoomModel.findRepresentativeAxisProxy().getMinMaxSpan();return ww(0,o,[0,100],0,h.minSpan,h.maxSpan),this._range=o,a[0]!==o[0]||a[1]!==o[1]?o:void 0}},pan:NC(function(t,e,i,n,a,o){var r=EC[n]([o.oldX,o.oldY],[o.newX,o.newY],e,a,i);return r.signal*(t[1]-t[0])*r.pixel/r.pixelLength}),scrollMove:NC(function(t,e,i,n,a,o){return EC[n]([0,0],[o.scrollDelta,o.scrollDelta],e,a,i).signal*(t[1]-t[0])*o.scrollDelta})};function NC(l){return function(t,e,i,n){var a=this._range,o=a.slice(),r=t.axisModels[0];if(r){var s=l(o,r,t,e,i,n);return ww(s,o,[0,100],"all"),this._range=o,a[0]!==o[0]||a[1]!==o[1]?o:void 0}}}function OC(t){var e=t&&t.visualMap;k(e)||(e=e?[e]:[]),RC(e,function(t){if(t){zC(t,"splitList")&&!zC(t,"pieces")&&(t.pieces=t.splitList,delete t.splitList);var e=t.pieces;e&&k(e)&&RC(e,function(t){z(t)&&(zC(t,"start")&&!zC(t,"min")&&(t.min=t.start),zC(t,"end")&&!zC(t,"max")&&(t.max=t.end))})}})}var EC={grid:function(t,e,i,n,a){var o=i.axis,r={},s=a.model.coordinateSystem.getRect();return t=t||[0,0],"x"===o.dim?(r.pixel=e[0]-t[0],r.pixelLength=s.width,r.pixelStart=s.x,r.signal=o.inverse?1:-1):(r.pixel=e[1]-t[1],r.pixelLength=s.height,r.pixelStart=s.y,r.signal=o.inverse?-1:1),r},polar:function(t,e,i,n,a){var o=i.axis,r={},s=a.model.coordinateSystem,l=s.getRadiusAxis().getExtent(),u=s.getAngleAxis().getExtent();return t=t?s.pointToCoord(t):[0,0],e=s.pointToCoord(e),"radiusAxis"===i.mainType?(r.pixel=e[0]-t[0],r.pixelLength=l[1]-l[0],r.pixelStart=l[0],r.signal=o.inverse?1:-1):(r.pixel=e[1]-t[1],r.pixelLength=u[1]-u[0],r.pixelStart=u[0],r.signal=o.inverse?-1:1),r},singleAxis:function(t,e,i,n,a){var o=i.axis,r=a.model.coordinateSystem.getRect(),s={};return t=t||[0,0],"horizontal"===o.orient?(s.pixel=e[0]-t[0],s.pixelLength=r.width,s.pixelStart=r.x,s.signal=o.inverse?1:-1):(s.pixel=e[1]-t[1],s.pixelLength=r.height,s.pixelStart=r.y,s.signal=o.inverse?-1:1),s}},RC=E;function zC(t,e){return t&&t.hasOwnProperty&&t.hasOwnProperty(e)}fu.registerSubTypeDefaulter("visualMap",function(t){return t.categories||(t.pieces?0<t.pieces.length:0<t.splitNumber)&&!t.calculable?"piecewise":"continuous"});var BC=cd.VISUAL.COMPONENT;function VC(t,e,i,n){for(var a=e.targetVisuals[n],o=Bx.prepareVisualTypes(a),r={color:t.getData().getVisual("color")},s=0,l=o.length;s<l;s++){var u=o[s],h=a["opacity"===u?"__alphaForOpacity":u];h&&h.applyVisual(i,c,d)}return r.color;function c(t){return r[t]}function d(t,e){r[t]=e}}af(BC,{createOnAllSeries:!0,reset:function(i,t){var n=[];return t.eachComponent("visualMap",function(t){var e=i.pipelineContext;!t.isTargetSeries(i)||e&&e.large||n.push(function(t,f,p,g){var m={};return E(t,function(t){var e=Bx.prepareVisualTypes(f[t]);m[t]=e}),{progress:function(t,i){function e(t){return i.getItemVisual(a,t)}function n(t,e){i.setItemVisual(a,t,e)}var a;for(null!=g&&(g=i.getDimension(g));null!=(a=t.next());){var o=i.getRawDataItem(a);if(!o||!1!==o.visualMap)for(var r=null!=g?i.get(g,a,!0):a,s=p(r),l=f[s],u=m[s],h=0,c=u.length;h<c;h++){var d=u[h];l[d]&&l[d].applyVisual(r,e,n)}}}}}(t.stateList,t.targetVisuals,T(t.getValueState,t),t.getDataDimension(i.getData())))}),n}}),af(BC,{createOnAllSeries:!0,reset:function(a,t){var o=a.getData(),r=[];t.eachComponent("visualMap",function(t){if(t.isTargetSeries(a)){var e=t.getVisualMeta(T(VC,null,a,t))||{stops:[],outerColors:[]},i=t.getDataDimension(o),n=o.getDimensionInfo(i);null!=n&&(e.dimension=n.index,r.push(e))}}),a.getData().setVisual("visualMeta",r)}});var GC=function(t,e,i){var n=D((FC[t]||{})[e]);return i&&k(n)?n[n.length-1]:n},FC={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]}},WC=Bx.mapVisual,HC=Bx.eachVisual,ZC=k,UC=E,XC=wl,YC=yl,jC=sf({type:"visualMap",dependencies:["series"],stateList:["inRange","outOfRange"],replacableOptionKeys:["inRange","outOfRange","target","controller","color"],dataBound:[-1/0,1/0],layoutMode:{type:"box",ignoreSize:!0},defaultOption:{show:!0,zlevel:0,z:4,seriesIndex:"all",min:0,max:200,dimension:null,inRange:null,outOfRange:null,left:0,right:null,top:null,bottom:0,itemWidth:null,itemHeight:null,inverse:!1,orient:"vertical",backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",contentColor:"#5793f3",inactiveColor:"#aaa",borderWidth:0,padding:5,textGap:10,precision:0,color:null,formatter:null,text:null,textStyle:{color:"#333"}},init:function(t,e,i){this._dataExtent,this.targetVisuals={},this.controllerVisuals={},this.textStyleModel,this.itemSize,this.mergeDefaultAndTheme(t,i)},optionUpdated:function(t,e){var i=this.option;v.canvasSupported||(i.realtime=!1),e||qT(i,t,this.replacableOptionKeys),this.textStyleModel=this.getModel("textStyle"),this.resetItemSize(),this.completeVisualOption()},resetVisual:function(t){var e=this.stateList;t=T(t,this),this.controllerVisuals=jT(this.option.controller,e,t),this.targetVisuals=jT(this.option.target,e,t)},getTargetSeriesIndices:function(){var t=this.option.seriesIndex,i=[];return null==t||"all"===t?this.ecModel.eachSeries(function(t,e){i.push(e)}):i=wa(t),i},eachTargetSeries:function(e,i){E(this.getTargetSeriesIndices(),function(t){e.call(i,this.ecModel.getSeriesByIndex(t))},this)},isTargetSeries:function(e){var i=!1;return this.eachTargetSeries(function(t){t===e&&(i=!0)}),i},formatValueText:function(t,e,i){var n,a,o=this.option,r=o.precision,s=this.dataBound,l=o.formatter;return i=i||["<",">"],k(t)&&(t=t.slice(),n=!0),a=e?t:n?[u(t[0]),u(t[1])]:u(t),R(l)?l.replace("{value}",n?a[0]:a).replace("{value2}",n?a[1]:a):O(l)?n?l(t[0],t[1]):l(t):n?t[0]===s[0]?i[0]+" "+a[1]:t[1]===s[1]?i[1]+" "+a[0]:a[0]+" - "+a[1]:a;function u(t){return t===s[0]?"min":t===s[1]?"max":(+t).toFixed(Math.min(r,20))}},resetExtent:function(){var t=this.option,e=XC([t.min,t.max]);this._dataExtent=e},getDataDimension:function(t){var e=this.option.dimension,i=t.dimensions;if(null!=e||i.length){if(null!=e)return t.getDimension(e);for(var n=t.dimensions,a=n.length-1;0<=a;a--){var o=n[a];if(!t.getDimensionInfo(o).isCalculationCoord)return o}}},getExtent:function(){return this._dataExtent.slice()},completeVisualOption:function(){var t=this.ecModel,e=this.option,i={inRange:e.inRange,outOfRange:e.outOfRange},n=e.target||(e.target={}),a=e.controller||(e.controller={});m(n,i),m(a,i);var u=this.isCategory();function o(n){ZC(e.color)&&!n.inRange&&(n.inRange={color:e.color.slice().reverse()}),n.inRange=n.inRange||{color:t.get("gradientColor")},UC(this.stateList,function(t){var e=n[t];if(R(e)){var i=GC(e,"active",u);i?(n[t]={},n[t][e]=i):delete n[t]}},this)}o.call(this,n),o.call(this,a),function(t,e,i){var n=t[e],a=t[i];n&&!a&&(a=t[i]={},UC(n,function(t,e){if(Bx.isValidType(e)){var i=GC(e,"inactive",u);null!=i&&(a[e]=i,"color"!==e||a.hasOwnProperty("opacity")||a.hasOwnProperty("colorAlpha")||(a.opacity=[0,0]))}}))}.call(this,n,"inRange","outOfRange"),function(o){var r=(o.inRange||{}).symbol||(o.outOfRange||{}).symbol,s=(o.inRange||{}).symbolSize||(o.outOfRange||{}).symbolSize,l=this.get("inactiveColor");UC(this.stateList,function(t){var e=this.itemSize,i=o[t];null==(i=i||(o[t]={color:u?l:[l]})).symbol&&(i.symbol=r&&D(r)||(u?"roundRect":["roundRect"])),null==i.symbolSize&&(i.symbolSize=s&&D(s)||(u?e[0]:[e[0],e[0]])),i.symbol=WC(i.symbol,function(t){return"none"===t||"square"===t?"roundRect":t});var n=i.symbolSize;if(null!=n){var a=-1/0;HC(n,function(t){a<t&&(a=t)}),i.symbolSize=WC(n,function(t){return YC(t,[0,a],[0,e[0]],!0)})}},this)}.call(this,a)},resetItemSize:function(){this.itemSize=[parseFloat(this.get("itemWidth")),parseFloat(this.get("itemHeight"))]},isCategory:function(){return!!this.option.categories},setSelected:et,getValueState:et,getVisualMeta:et}),qC=[20,140],KC=jC.extend({type:"visualMap.continuous",defaultOption:{align:"auto",calculable:!1,range:null,realtime:!0,itemHeight:null,itemWidth:null,hoverLink:!0,hoverLinkDataSize:null,hoverLinkOnHandle:null},optionUpdated:function(t,e){KC.superApply(this,"optionUpdated",arguments),this.resetExtent(),this.resetVisual(function(t){t.mappingMethod="linear",t.dataExtent=this.getExtent()}),this._resetRange()},resetItemSize:function(){KC.superApply(this,"resetItemSize",arguments);var t=this.itemSize;"horizontal"===this._orient&&t.reverse(),null!=t[0]&&!isNaN(t[0])||(t[0]=qC[0]),null!=t[1]&&!isNaN(t[1])||(t[1]=qC[1])},_resetRange:function(){var t=this.getExtent(),e=this.option.range;!e||e.auto?(t.auto=1,this.option.range=t):k(e)&&(e[0]>e[1]&&e.reverse(),e[0]=Math.max(e[0],t[0]),e[1]=Math.min(e[1],t[1]))},completeVisualOption:function(){jC.prototype.completeVisualOption.apply(this,arguments),E(this.stateList,function(t){var e=this.option.controller[t].symbolSize;e&&e[0]!==e[1]&&(e[0]=0)},this)},setSelected:function(t){this.option.range=t.slice(),this._resetRange()},getSelected:function(){var t=this.getExtent(),e=wl((this.get("range")||[]).slice());return e[0]>t[1]&&(e[0]=t[1]),e[1]>t[1]&&(e[1]=t[1]),e[0]<t[0]&&(e[0]=t[0]),e[1]<t[0]&&(e[1]=t[0]),e},getValueState:function(t){var e=this.option.range,i=this.getExtent();return(e[0]<=i[0]||e[0]<=t)&&(e[1]>=i[1]||t<=e[1])?"inRange":"outOfRange"},findTargetDataIndices:function(n){var a=[];return this.eachTargetSeries(function(t){var i=[],e=t.getData();e.each(this.getDataDimension(e),function(t,e){n[0]<=t&&t<=n[1]&&i.push(e)},this),a.push({seriesId:t.id,dataIndex:i})},this),a},getVisualMeta:function(i){var t=$C(this,"outOfRange",this.getExtent()),e=$C(this,"inRange",this.option.range.slice()),n=[];function a(t,e){n.push({value:t,color:i(t,e)})}for(var o=0,r=0,s=e.length,l=t.length;r<l&&(!e.length||t[r]<=e[0]);r++)t[r]<e[o]&&a(t[r],"outOfRange");for(var u=1;o<s;o++,u=0)u&&n.length&&a(e[o],"outOfRange"),a(e[o],"inRange");for(u=1;r<l;r++)(!e.length||e[e.length-1]<t[r])&&(u&&(n.length&&a(n[n.length-1].value,"outOfRange"),u=0),a(t[r],"outOfRange"));var h=n.length;return{stops:n,outerColors:[h?n[0].color:"transparent",h?n[h-1].color:"transparent"]}}});function $C(t,e,i){if(i[0]===i[1])return i.slice();for(var n=(i[1]-i[0])/200,a=i[0],o=[],r=0;r<=200&&a<i[1];r++)o.push(a),a+=n;return o.push(i[1]),o}var JC=lf({type:"visualMap",autoPositionValues:{left:1,right:1,top:1,bottom:1},init:function(t,e){this.ecModel=t,this.api=e,this.visualMapModel},render:function(t,e,i,n){!1!==(this.visualMapModel=t).get("show")?this.doRender.apply(this,arguments):this.group.removeAll()},renderBackground:function(t){var e=this.visualMapModel,i=Vl(e.get("padding")||0),n=t.getBoundingRect();t.add(new Hr({z2:-1,silent:!0,shape:{x:n.x-i[3],y:n.y-i[0],width:n.width+i[3]+i[1],height:n.height+i[0]+i[2]},style:{fill:e.get("backgroundColor"),stroke:e.get("borderColor"),lineWidth:e.get("borderWidth")}}))},getControllerVisual:function(i,n,a){var t=(a=a||{}).forceState,e=this.visualMapModel,o={};if("symbol"===n&&(o.symbol=e.get("itemSymbol")),"color"===n){var r=e.get("contentColor");o.color=r}function s(t){return o[t]}function l(t,e){o[t]=e}var u=e.controllerVisuals[t||e.getValueState(i)];return E(Bx.prepareVisualTypes(u),function(t){var e=u[t];a.convertOpacityToAlpha&&"opacity"===t&&(t="colorAlpha",e=u.__alphaForOpacity),Bx.dependsOn(t,n)&&e&&e.applyVisual(i,s,l)}),o[n]},positionGroup:function(t){var e=this.visualMapModel,i=this.api;ou(t,e.getBoxLayoutParams(),{width:i.getWidth(),height:i.getHeight()})},doRender:et});function QC(t,e,i){var n=t.option,a=n.align;if(null!=a&&"auto"!==a)return a;for(var o={width:e.getWidth(),height:e.getHeight()},r="horizontal"===n.orient?1:0,s=[["left","right","width"],["top","bottom","height"]],l=s[r],u=[0,null,10],h={},c=0;c<3;c++)h[s[1-r][c]]=u[c],h[l[c]]=2===c?i[0]:n[l[c]];var d=[["x","width",3],["y","height",0]][r],f=au(h,o,n.padding);return l[(f.margin[d[2]]||0)+f[d[0]]+.5*f[d[1]]<.5*o[d[1]]?0:1]}function tL(t,e){return E(t||[],function(t){null!=t.dataIndex&&(t.dataIndexInside=t.dataIndex,t.dataIndex=null),t.highlightKey="visualMap"+(e?e.componentIndex:"")}),t}var eL=yl,iL=E,nL=Math.min,aL=Math.max,oL=JC.extend({type:"visualMap.continuous",init:function(){oL.superApply(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.removeAll();var t=this.visualMapModel,e=this.group;this._orient=t.get("orient"),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 a=this.visualMapModel,o=a.get("textGap"),r=a.itemSize,s=this._shapes.barGroup,l=this._applyTransform([r[0]/2,0===i?-o:r[1]+o],s),u=this._applyTransform(0===i?"bottom":"top",s),h=this._orient,c=this.visualMapModel.textStyleModel;this.group.add(new Dr({style:{x:l[0],y:l[1],textVerticalAlign:"horizontal"===h?"middle":u,textAlign:"horizontal"===h?u:"center",text:n,textFont:c.getFont(),textFill:c.getTextColor()}}))}},_renderBar:function(t){var e=this.visualMapModel,i=this._shapes,n=e.itemSize,a=this._orient,o=this._useHandle,r=QC(e,this.api,n),s=i.barGroup=this._createBarGroup(r);s.add(i.outOfRange=rL()),s.add(i.inRange=rL(null,o?lL(this._orient):null,T(this._dragHandle,this,"all",!1),T(this._dragHandle,this,"all",!0)));var l=e.textStyleModel.getTextRect("鍥�"),u=aL(l.width,l.height);o&&(i.handleThumbs=[],i.handleLabels=[],i.handleLabelPoints=[],this._createHandle(s,0,n,u,a,r),this._createHandle(s,1,n,u,a,r)),this._createIndicator(s,n,u,a),t.add(s)},_createHandle:function(t,e,i,n,a){var o=T(this._dragHandle,this,e,!1),r=T(this._dragHandle,this,e,!0),s=rL(function(t,e){return 0===t?[[0,0],[e,0],[e,-e]]:[[0,0],[e,0],[e,e]]}(e,n),lL(this._orient),o,r);s.position[0]=i[0],t.add(s);var l=this.visualMapModel.textStyleModel,u=new Dr({draggable:!0,drift:o,onmousemove:function(t){Ft(t.event)},ondragend:r,style:{x:0,y:0,text:"",textFont:l.getFont(),textFill:l.getTextColor()}});this.group.add(u);var h=["horizontal"===a?n/2:1.5*n,"horizontal"===a?0===e?-1.5*n:1.5*n:0===e?-n/2:n/2],c=this._shapes;c.handleThumbs[e]=s,c.handleLabelPoints[e]=h,c.handleLabels[e]=u},_createIndicator:function(t,e,i,n){var a=rL([[0,0]],"move");a.position[0]=e[0],a.attr({invisible:!0,silent:!0}),t.add(a);var o=this.visualMapModel.textStyleModel,r=new Dr({silent:!0,invisible:!0,style:{x:0,y:0,text:"",textFont:o.getFont(),textFill:o.getTextColor()}});this.group.add(r);var s=["horizontal"===n?i/2:9,0],l=this._shapes;l.indicator=a,l.indicatorLabel=r,l.indicatorLabelPoint=s},_dragHandle:function(t,e,i,n){if(this._useHandle){if(this._dragging=!e,!e){var a=this._applyTransform([i,n],this._shapes.barGroup,!0);this._updateInterval(t,a[1]),this._updateView()}e===!this.visualMapModel.get("realtime")&&this.api.dispatchAction({type:"selectDataRange",from:this.uid,visualMapId:this.visualMapModel.id,selected:this._dataInterval.slice()}),e?this._hovering||this._clearHoverLinkToSeries():sL(this.visualMapModel)&&this._doHoverLinkToSeries(this._handleEnds[t],!1)}},_resetInterval:function(){var t=this.visualMapModel,e=this._dataInterval=t.getSelected(),i=t.getExtent(),n=[0,t.itemSize[1]];this._handleEnds=[eL(e[0],i,n,!0),eL(e[1],i,n,!0)]},_updateInterval:function(t,e){e=e||0;var i=this.visualMapModel,n=this._handleEnds,a=[0,i.itemSize[1]];ww(e,n,a,t,0);var o=i.getExtent();this._dataInterval=[eL(n[0],a,o,!0),eL(n[1],a,o,!0)]},_updateView:function(t){var e=this.visualMapModel,i=e.getExtent(),n=this._shapes,a=[0,e.itemSize[1]],o=t?a:this._handleEnds,r=this._createBarVisual(this._dataInterval,i,o,"inRange"),s=this._createBarVisual(i,i,a,"outOfRange");n.inRange.setStyle({fill:r.barColor,opacity:r.opacity}).setShape("points",r.barPoints),n.outOfRange.setStyle({fill:s.barColor,opacity:s.opacity}).setShape("points",s.barPoints),this._updateHandle(o,r)},_createBarVisual:function(t,e,i,n){var a={forceState:n,convertOpacityToAlpha:!0},o=this._makeColorGradient(t,a),r=[this.getControllerVisual(t[0],"symbolSize",a),this.getControllerVisual(t[1],"symbolSize",a)],s=this._createBarPoints(i,r);return{barColor:new Jr(0,0,0,1,o),barPoints:s,handlesColor:[o[0].color,o[o.length-1].color]}},_makeColorGradient:function(t,e){var i=[],n=(t[1]-t[0])/100;i.push({color:this.getControllerVisual(t[0],"color",e),offset:0});for(var a=1;a<100;a++){var o=t[0]+n*a;if(o>t[1])break;i.push({color:this.getControllerVisual(o,"color",e),offset:a/100})}return i.push({color:this.getControllerVisual(t[1],"color",e),offset:1}),i},_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("inverse");return new Si("horizontal"!==e||i?"horizontal"===e&&i?{scale:"bottom"===t?[-1,1]:[1,1],rotation:-Math.PI/2}:"vertical"!==e||i?{scale:"left"===t?[1,1]:[-1,1]}:{scale:"left"===t?[1,-1]:[-1,-1]}:{scale:"bottom"===t?[1,1]:[-1,1],rotation:Math.PI/2})},_updateHandle:function(n,a){if(this._useHandle){var o=this._shapes,r=this.visualMapModel,s=o.handleThumbs,l=o.handleLabels;iL([0,1],function(t){var e=s[t];e.setStyle("fill",a.handlesColor[t]),e.position[1]=n[t];var i=$s(o.handleLabelPoints[t],Ks(e,this.group));l[t].setStyle({x:i[0],y:i[1],text:r.formatValueText(this._dataInterval[t]),textVerticalAlign:"middle",textAlign:this._applyTransform("horizontal"===this._orient?0===t?"bottom":"top":"left",o.barGroup)})},this)}},_showIndicator:function(t,e,i,n){var a=this.visualMapModel,o=a.getExtent(),r=a.itemSize,s=[0,r[1]],l=eL(t,o,s,!0),u=this._shapes,h=u.indicator;if(h){h.position[1]=l,h.attr("invisible",!1),h.setShape("points",function(t,e,i,n){return t?[[0,-nL(e,aL(i,0))],[6,0],[0,nL(e,aL(n-i,0))]]:[[0,0],[5,-5],[5,5]]}(!!i,n,l,r[1]));var c=this.getControllerVisual(t,"color",{convertOpacityToAlpha:!0});h.setStyle("fill",c);var d=$s(u.indicatorLabelPoint,Ks(h,this.group)),f=u.indicatorLabel;f.attr("invisible",!1);var p=this._applyTransform("left",u.barGroup),g=this._orient;f.setStyle({text:(i||"")+a.formatValueText(e),textVerticalAlign:"horizontal"===g?p:"middle",textAlign:"horizontal"===g?"center":p,x:d[0],y:d[1]})}},_enableHoverLinkToSeries:function(){var n=this;this._shapes.barGroup.on("mousemove",function(t){if(n._hovering=!0,!n._dragging){var e=n.visualMapModel.itemSize,i=n._applyTransform([t.offsetX,t.offsetY],n._shapes.barGroup,!0,!0);i[1]=nL(aL(0,i[1]),e[1]),n._doHoverLinkToSeries(i[1],0<=i[0]&&i[0]<=e[0])}}).on("mouseout",function(){n._hovering=!1,n._dragging||n._clearHoverLinkToSeries()})},_enableHoverLinkFromSeries:function(){var t=this.api.getZr();this.visualMapModel.option.hoverLink?(t.on("mouseover",this._hoverLinkFromSeriesMouseOver,this),t.on("mouseout",this._hideIndicator,this)):this._clearHoverLinkFromSeries()},_doHoverLinkToSeries:function(t,e){var i=this.visualMapModel,n=i.itemSize;if(i.option.hoverLink){var a=[0,n[1]],o=i.getExtent();t=nL(aL(a[0],t),a[1]);var r=function(t,e,i){var n=6,a=t.get("hoverLinkDataSize");a&&(n=eL(a,e,i,!0)/2);return n}(i,o,a),s=[t-r,t+r],l=eL(t,a,o,!0),u=[eL(s[0],a,o,!0),eL(s[1],a,o,!0)];s[0]<a[0]&&(u[0]=-1/0),a[1]<s[1]&&(u[1]=1/0),e&&(u[0]===-1/0?this._showIndicator(l,u[1],"< ",r):u[1]===1/0?this._showIndicator(l,u[0],"> ",r):this._showIndicator(l,l,"鈮� ",r));var h=this._hoverLinkDataIndices,c=[];(e||sL(i))&&(c=this._hoverLinkDataIndices=i.findTargetDataIndices(u));var d=function(t,e){var i={},n={};return a(t||[],i),a(e||[],n,i),[o(i),o(n)];function a(t,e,i){for(var n=0,a=t.length;n<a;n++)for(var o=t[n].seriesId,r=wa(t[n].dataIndex),s=i&&i[o],l=0,u=r.length;l<u;l++){var h=r[l];s&&s[h]?s[h]=null:(e[o]||(e[o]={}))[h]=1}}function o(t,e){var i=[];for(var n in t)if(t.hasOwnProperty(n)&&null!=t[n])if(e)i.push(+n);else{var a=o(t[n],!0);a.length&&i.push({seriesId:n,dataIndex:a})}return i}}(h,c);this._dispatchHighDown("downplay",tL(d[0],i)),this._dispatchHighDown("highlight",tL(d[1],i))}},_hoverLinkFromSeriesMouseOver:function(t){var e=t.target,i=this.visualMapModel;if(e&&null!=e.dataIndex){var n=this.ecModel.getSeriesByIndex(e.seriesIndex);if(i.isTargetSeries(n)){var a=n.getData(e.dataType),o=a.get(i.getDataDimension(a),e.dataIndex,!0);isNaN(o)||this._showIndicator(o,o)}}},_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("downplay",tL(t,this.visualMapModel)),t.length=0},_clearHoverLinkFromSeries:function(){this._hideIndicator();var t=this.api.getZr();t.off("mouseover",this._hoverLinkFromSeriesMouseOver),t.off("mouseout",this._hideIndicator)},_applyTransform:function(t,e,i,n){var a=Ks(e,n?null:this.group);return ol[k(t)?"applyTransform":"transformDirection"](t,a,i)},_dispatchHighDown:function(t,e){e&&e.length&&this.api.dispatchAction({type:t,batch:e})},dispose:function(){this._clearHoverLinkFromSeries(),this._clearHoverLinkToSeries()},remove:function(){this._clearHoverLinkFromSeries(),this._clearHoverLinkToSeries()}});function rL(t,e,i,n){return new Rr({shape:{points:t},draggable:!!i,cursor:e,drift:i,onmousemove:function(t){Ft(t.event)},ondragend:n})}function sL(t){var e=t.get("hoverLinkOnHandle");return!!(null==e?t.get("realtime"):e)}function lL(t){return"vertical"===t?"ns-resize":"ew-resize"}tf({type:"selectDataRange",event:"dataRangeSelected",update:"update"},function(e,t){t.eachComponent({mainType:"visualMap",query:e},function(t){t.setSelected(e.selected)})}),Jd(OC);var uL=jC.extend({type:"visualMap.piecewise",defaultOption:{selected:null,minOpen:!1,maxOpen:!1,align:"auto",itemWidth:20,itemHeight:14,itemSymbol:"roundRect",pieceList:null,categories:null,splitNumber:5,selectedMode:"multiple",itemGap:10,hoverLink:!0,showLabel:null},optionUpdated:function(t,e){uL.superApply(this,"optionUpdated",arguments),this._pieceList=[],this.resetExtent();var i=this._mode=this._determineMode();hL[this._mode].call(this),this._resetSelected(t,e);var n=this.option.categories;this.resetVisual(function(t,e){"categories"===i?(t.mappingMethod="category",t.categories=D(n)):(t.dataExtent=this.getExtent(),t.mappingMethod="piecewise",t.pieceList=N(this._pieceList,function(t){t=D(t);return"inRange"!==e&&(t.visual=null),t}))})},completeVisualOption:function(){var n=this.option,i={},t=Bx.listVisualTypes(),a=this.isCategory();function o(t,e,i){return t&&t[e]&&(z(t[e])?t[e].hasOwnProperty(i):t[e]===i)}E(n.pieces,function(e){E(t,function(t){e.hasOwnProperty(t)&&(i[t]=1)})}),E(i,function(t,e){var i=0;E(this.stateList,function(t){i|=o(n,t,e)||o(n.target,t,e)},this),i||E(this.stateList,function(t){(n[t]||(n[t]={}))[e]=GC(e,"inRange"===t?"active":"inactive",a)})},this),jC.prototype.completeVisualOption.apply(this,arguments)},_resetSelected:function(t,e){var i=this.option,n=this._pieceList,a=(e?i:t).selected||{};if(i.selected=a,E(n,function(t,e){var i=this.getSelectedMapKey(t);a.hasOwnProperty(i)||(a[i]=!0)},this),"single"===i.selectedMode){var o=!1;E(n,function(t,e){var i=this.getSelectedMapKey(t);a[i]&&(o?a[i]=!1:o=!0)},this)}},getSelectedMapKey:function(t){return"categories"===this._mode?t.value+"":t.index+""},getPieceList:function(){return this._pieceList},_determineMode:function(){var t=this.option;return t.pieces&&0<t.pieces.length?"pieces":this.option.categories?"categories":"splitNumber"},setSelected:function(t){this.option.selected=D(t)},getValueState:function(t){var e=Bx.findPieceIndex(t,this._pieceList);return null!=e&&this.option.selected[this.getSelectedMapKey(this._pieceList[e])]?"inRange":"outOfRange"},findTargetDataIndices:function(n){var a=[];return this.eachTargetSeries(function(t){var i=[],e=t.getData();e.each(this.getDataDimension(e),function(t,e){Bx.findPieceIndex(t,this._pieceList)===n&&i.push(e)},this),a.push({seriesId:t.id,dataIndex:i})},this),a},getRepresentValue:function(t){var e;if(this.isCategory())e=t.value;else if(null!=t.value)e=t.value;else{var i=t.interval||[];e=i[0]===-1/0&&i[1]===1/0?0:(i[0]+i[1])/2}return e},getVisualMeta:function(a){if(!this.isCategory()){var o=[],r=[],s=this,t=this._pieceList.slice();if(t.length){var e=t[0].interval[0];e!==-1/0&&t.unshift({interval:[-1/0,e]}),(e=t[t.length-1].interval[1])!==1/0&&t.push({interval:[e,1/0]})}else t.push({interval:[-1/0,1/0]});var i=-1/0;return E(t,function(t){var e=t.interval;e&&(e[0]>i&&n([i,e[0]],"outOfRange"),n(e.slice()),i=e[1])},this),{stops:o,outerColors:r}}function n(t,e){var i=s.getRepresentValue({interval:t});e=e||s.getValueState(i);var n=a(i,e);t[0]===-1/0?r[0]=n:t[1]===1/0?r[1]=n:o.push({value:t[0],color:n},{value:t[1],color:n})}}}),hL={splitNumber:function(){var t=this.option,e=this._pieceList,i=Math.min(t.precision,20),n=this.getExtent(),a=t.splitNumber;a=Math.max(parseInt(a,10),1),t.splitNumber=a;for(var o=(n[1]-n[0])/a;+o.toFixed(i)!==o&&i<5;)i++;t.precision=i,o=+o.toFixed(i);var r=0;t.minOpen&&e.push({index:r++,interval:[-1/0,n[0]],close:[0,0]});for(var s=n[0],l=r+a;r<l;s+=o){var u=r===a-1?n[1]:s+o;e.push({index:r++,interval:[s,u],close:[1,1]})}t.maxOpen&&e.push({index:r++,interval:[n[1],1/0],close:[0,0]}),Ol(e),E(e,function(t){t.text=this.formatValueText(t.interval)},this)},categories:function(){var t=this.option;E(t.categories,function(t){this._pieceList.push({text:this.formatValueText(t,!0),value:t})},this),cL(t,this._pieceList)},pieces:function(){var t=this.option,d=this._pieceList;E(t.pieces,function(t,e){z(t)||(t={value:t});var i={text:"",index:e};if(null!=t.label&&(i.text=t.label),t.hasOwnProperty("value")){var n=i.value=t.value;i.interval=[n,n],i.close=[1,1]}else{for(var a=i.interval=[],o=i.close=[0,0],r=[1,0,1],s=[-1/0,1/0],l=[],u=0;u<2;u++){for(var h=[["gte","gt","min"],["lte","lt","max"]][u],c=0;c<3&&null==a[u];c++)a[u]=t[h[c]],o[u]=r[c],l[u]=2===c;null==a[u]&&(a[u]=s[u])}l[0]&&a[1]===1/0&&(o[0]=0),l[1]&&a[0]===-1/0&&(o[1]=0),a[0]===a[1]&&o[0]&&o[1]&&(i.value=a[0])}i.visual=Bx.retrieveVisuals(t),d.push(i)},this),cL(t,d),Ol(d),E(d,function(t){var e=t.close,i=[["<","鈮�"][e[1]],[">","鈮�"][e[0]]];t.text=t.text||this.formatValueText(null!=t.value?t.value:t.interval,!1,i)},this)}};function cL(t,e){var i=t.inverse;("vertical"===t.orient?!i:i)&&e.reverse()}JC.extend({type:"visualMap.piecewise",doRender:function(){var o=this.group;o.removeAll();var r=this.visualMapModel,s=r.get("textGap"),t=r.textStyleModel,l=t.getFont(),u=t.getTextColor(),h=this._getItemAlign(),c=r.itemSize,e=this._getViewData(),i=e.endsText,d=W(r.get("showLabel",!0),!i);i&&this._renderEndsText(o,i[0],c,d,h),E(e.viewPieceList,function(t){var e=t.piece,i=new Si;i.onclick=T(this._onItemClick,this,e),this._enableHoverLink(i,t.indexInModelPieceList);var n=r.getRepresentValue(e);if(this._createItemSymbol(i,n,[0,0,c[0],c[1]]),d){var a=this.visualMapModel.getValueState(n);i.add(new Dr({style:{x:"right"===h?-s:c[0]+s,y:c[1]/2,text:e.text,textVerticalAlign:"middle",textAlign:h,textFont:l,textFill:u,opacity:"outOfRange"===a?.5:1}}))}o.add(i)},this),i&&this._renderEndsText(o,i[1],c,d,h),nu(r.get("orient"),o,r.get("itemGap")),this.renderBackground(o),this.positionGroup(o)},_enableHoverLink:function(t,i){function e(t){var e=this.visualMapModel;e.option.hoverLink&&this.api.dispatchAction({type:t,batch:tL(e.findTargetDataIndices(i),e)})}t.on("mouseover",T(e,this,"highlight")).on("mouseout",T(e,this,"downplay"))},_getItemAlign:function(){var t=this.visualMapModel,e=t.option;if("vertical"===e.orient)return QC(t,this.api,t.itemSize);var i=e.align;return i&&"auto"!==i||(i="left"),i},_renderEndsText:function(t,e,i,n,a){if(e){var o=new Si,r=this.visualMapModel.textStyleModel;o.add(new Dr({style:{x:n?"right"===a?i[0]:0:i[0]/2,y:i[1]/2,textVerticalAlign:"middle",textAlign:n?a:"center",text:e,textFont:r.getFont(),textFill:r.getTextColor()}})),t.add(o)}},_getViewData:function(){var t=this.visualMapModel,e=N(t.getPieceList(),function(t,e){return{piece:t,indexInModelPieceList:e}}),i=t.get("text"),n=t.get("orient"),a=t.get("inverse");return("horizontal"===n?a:!a)?e.reverse():i=i&&i.slice().reverse(),{viewPieceList:e,endsText:i}},_createItemSymbol:function(t,e,i){t.add(Jp(this.getControllerVisual(e,"symbol"),i[0],i[1],i[2],i[3],this.getControllerVisual(e,"color")))},_onItemClick:function(t){var e=this.visualMapModel,i=e.option,n=D(i.selected),a=e.getSelectedMapKey(t);"single"===i.selectedMode?(n[a]=!0,E(n,function(t,e){n[e]=e===a})):n[a]=!n[a],this.api.dispatchAction({type:"selectDataRange",from:this.uid,visualMapId:this.visualMapModel.id,selected:n})}});Jd(OC);var dL,fL="urn:schemas-microsoft-com:vml",pL="undefined"==typeof window?null:window,gL=!1,mL=pL&&pL.document;function vL(t){return dL(t)}if(mL&&!v.canvasSupported)try{mL.namespaces.zrvml||mL.namespaces.add("zrvml",fL),dL=function(t){return mL.createElement("<zrvml:"+t+' class="zrvml">')}}catch(t){dL=function(t){return mL.createElement("<"+t+' xmlns="'+fL+'" class="zrvml">')}}var yL,xL=Ho.CMD,_L=Math.round,wL=Math.sqrt,bL=Math.abs,SL=Math.cos,ML=Math.sin,IL=Math.max;if(!v.canvasSupported){var AL=",",TL="progid:DXImageTransform.Microsoft",DL=21600,CL=DL/2,LL=function(t){t.style.cssText="position:absolute;left:0;top:0;width:1px;height:1px;",t.coordsize=DL+","+DL,t.coordorigin="0,0"},kL=function(t,e,i){return"rgb("+[t,e,i].join(",")+")"},PL=function(t,e){e&&t&&e.parentNode!==t&&t.appendChild(e)},NL=function(t,e){e&&t&&e.parentNode===t&&t.removeChild(e)},OL=function(t,e,i){return 1e5*(parseFloat(t)||0)+1e3*(parseFloat(e)||0)+i},EL=Fn,RL=function(t,e,i){var n=Ee(e);i=+i,isNaN(i)&&(i=1),n&&(t.color=kL(n[0],n[1],n[2]),t.opacity=i*n[3])},zL=function(t,e,i,n){var a="fill"===e,o=t.getElementsByTagName(e)[0];null!=i[e]&&"none"!==i[e]&&(a||!a&&i.lineWidth)?(t[a?"filled":"stroked"]="true",i[e]instanceof jr&&NL(t,o),o=o||vL(e),a?function(t,e,i){var n,a,o=e.fill;if(null!=o)if(o instanceof jr){var r,s=0,l=[0,0],u=0,h=1,c=i.getBoundingRect(),d=c.width,f=c.height;if("linear"===o.type){r="gradient";var p=i.transform,g=[o.x*d,o.y*f],m=[o.x2*d,o.y2*f];p&&(bt(g,g,p),bt(m,m,p));var v=m[0]-g[0],y=m[1]-g[1];(s=180*Math.atan2(v,y)/Math.PI)<0&&(s+=360),s<1e-6&&(s=0)}else{r="gradientradial";g=[o.x*d,o.y*f],p=i.transform;var x=i.scale,_=d,w=f;l=[(g[0]-c.x)/_,(g[1]-c.y)/w],p&&bt(g,g,p),_/=x[0]*DL,w/=x[1]*DL;var b=IL(_,w);u=0/b,h=2*o.r/b-u}var S=o.colorStops.slice();S.sort(function(t,e){return t.offset-e.offset});for(var M=S.length,I=[],A=[],T=0;T<M;T++){var D=S[T],C=(n=D.color,void 0,a=Ee(n),[kL(a[0],a[1],a[2]),a[3]]);A.push(D.offset*h+u+" "+C[0]),0!==T&&T!==M-1||I.push(C)}if(2<=M){var L=I[0][0],k=I[1][0],P=I[0][1]*e.opacity,N=I[1][1]*e.opacity;t.type=r,t.method="none",t.focus="100%",t.angle=s,t.color=L,t.color2=k,t.colors=A.join(","),t.opacity=N,t.opacity2=P}"radial"===r&&(t.focusposition=l.join(","))}else RL(t,o,e.opacity)}(o,i,n):function(t,e){e.lineDash&&(t.dashstyle=e.lineDash.join(" ")),null==e.stroke||e.stroke instanceof jr||RL(t,e.stroke,e.opacity)}(o,i),PL(t,o)):(t[a?"filled":"stroked"]="false",NL(t,o))},BL=[[],[],[]];hr.prototype.brushVML=function(t){var e=this.style,i=this._vmlEl;i||(i=vL("shape"),LL(i),this._vmlEl=i),zL(i,"fill",e,this),zL(i,"stroke",e,this);var n=this.transform,a=null!=n,o=i.getElementsByTagName("stroke")[0];if(o){var r=e.lineWidth;if(a&&!e.strokeNoScale){var s=n[0]*n[3]-n[1]*n[2];r*=wL(bL(s))}o.weight=r+"px"}var l=this.path||(this.path=new Ho);this.__dirtyPath&&(l.beginPath(),l.subPixelOptimize=!1,this.buildPath(l,this.shape),l.toStatic(),this.__dirtyPath=!1),i.path=function(t,e){var i,n,a,o,r,s,l=xL.M,u=xL.C,h=xL.L,c=xL.A,d=xL.Q,f=[],p=t.data,g=t.len();for(o=0;o<g;){switch(n="",i=0,a=p[o++]){case l:n=" m ",i=1,r=p[o++],s=p[o++],BL[0][0]=r,BL[0][1]=s;break;case h:n=" l ",i=1,r=p[o++],s=p[o++],BL[0][0]=r,BL[0][1]=s;break;case d:case u:n=" c ",i=3;var m,v,y=p[o++],x=p[o++],_=p[o++],w=p[o++];a===d?(_=((m=_)+2*y)/3,w=((v=w)+2*x)/3,y=(r+2*y)/3,x=(s+2*x)/3):(m=p[o++],v=p[o++]),BL[0][0]=y,BL[0][1]=x,BL[1][0]=_,BL[1][1]=w,r=BL[2][0]=m,s=BL[2][1]=v;break;case c:var b=0,S=0,M=1,I=1,A=0;e&&(b=e[4],S=e[5],M=wL(e[0]*e[0]+e[1]*e[1]),I=wL(e[2]*e[2]+e[3]*e[3]),A=Math.atan2(-e[1]/I,e[0]/M));var T=p[o++],D=p[o++],C=p[o++],L=p[o++],k=p[o++]+A,P=p[o++]+k+A;o++;var N=p[o++],O=T+SL(k)*C,E=D+ML(k)*L,R=(y=T+SL(P)*C,x=D+ML(P)*L,N?" wa ":" at ");Math.abs(O-y)<1e-4&&(.01<Math.abs(P-k)?N&&(O+=.0125):Math.abs(E-D)<1e-4?N&&O<T||!N&&T<O?x-=.0125:x+=.0125:N&&E<D||!N&&D<E?y+=.0125:y-=.0125),f.push(R,_L(((T-C)*M+b)*DL-CL),AL,_L(((D-L)*I+S)*DL-CL),AL,_L(((T+C)*M+b)*DL-CL),AL,_L(((D+L)*I+S)*DL-CL),AL,_L((O*M+b)*DL-CL),AL,_L((E*I+S)*DL-CL),AL,_L((y*M+b)*DL-CL),AL,_L((x*I+S)*DL-CL)),r=y,s=x;break;case xL.R:var z=BL[0],B=BL[1];z[0]=p[o++],z[1]=p[o++],B[0]=z[0]+p[o++],B[1]=z[1]+p[o++],e&&(bt(z,z,e),bt(B,B,e)),z[0]=_L(z[0]*DL-CL),B[0]=_L(B[0]*DL-CL),z[1]=_L(z[1]*DL-CL),B[1]=_L(B[1]*DL-CL),f.push(" m ",z[0],AL,z[1]," l ",B[0],AL,z[1]," l ",B[0],AL,B[1]," l ",z[0],AL,B[1]);break;case xL.Z:f.push(" x ")}if(0<i){f.push(n);for(var V=0;V<i;V++){var G=BL[V];e&&bt(G,G,e),f.push(_L(G[0]*DL-CL),AL,_L(G[1]*DL-CL),V<i-1?AL:"")}}}return f.join("")}(l,this.transform),i.style.zIndex=OL(this.zlevel,this.z,this.z2),PL(t,i),null!=e.text?this.drawRectText(t,this.getBoundingRect()):this.removeRectText(t)},hr.prototype.onRemove=function(t){NL(t,this._vmlEl),this.removeRectText(t)},hr.prototype.onAdd=function(t){PL(t,this._vmlEl),this.appendRectText(t)};Yn.prototype.brushVML=function(t){var e,i,n=this.style,a=n.image;if(function(t){return"object"==typeof t&&t.tagName&&"IMG"===t.tagName.toUpperCase()}(a)){var o=a.src;if(o===this._imageSrc)e=this._imageWidth,i=this._imageHeight;else{var r=a.runtimeStyle,s=r.width,l=r.height;r.width="auto",r.height="auto",e=a.width,i=a.height,r.width=s,r.height=l,this._imageSrc=o,this._imageWidth=e,this._imageHeight=i}a=o}else a===this._imageSrc&&(e=this._imageWidth,i=this._imageHeight);if(a){var u=n.x||0,h=n.y||0,c=n.width,d=n.height,f=n.sWidth,p=n.sHeight,g=n.sx||0,m=n.sy||0,v=f&&p,y=this._vmlEl;y||(y=mL.createElement("div"),LL(y),this._vmlEl=y);var x,_=y.style,w=!1,b=1,S=1;if(this.transform&&(x=this.transform,b=wL(x[0]*x[0]+x[1]*x[1]),S=wL(x[2]*x[2]+x[3]*x[3]),w=x[1]||x[2]),w){var M=[u,h],I=[u+c,h],A=[u,h+d],T=[u+c,h+d];bt(M,M,x),bt(I,I,x),bt(A,A,x),bt(T,T,x);var D=IL(M[0],I[0],A[0],T[0]),C=IL(M[1],I[1],A[1],T[1]),L=[];L.push("M11=",x[0]/b,AL,"M12=",x[2]/S,AL,"M21=",x[1]/b,AL,"M22=",x[3]/S,AL,"Dx=",_L(u*b+x[4]),AL,"Dy=",_L(h*S+x[5])),_.padding="0 "+_L(D)+"px "+_L(C)+"px 0",_.filter=TL+".Matrix("+L.join("")+", SizingMethod=clip)"}else x&&(u=u*b+x[4],h=h*S+x[5]),_.filter="",_.left=_L(u)+"px",_.top=_L(h)+"px";var k=this._imageEl,P=this._cropEl;k||(k=mL.createElement("div"),this._imageEl=k);var N=k.style;if(v){if(e&&i)N.width=_L(b*e*c/f)+"px",N.height=_L(S*i*d/p)+"px";else{var O=new Image,E=this;O.onload=function(){O.onload=null,e=O.width,i=O.height,N.width=_L(b*e*c/f)+"px",N.height=_L(S*i*d/p)+"px",E._imageWidth=e,E._imageHeight=i,E._imageSrc=a},O.src=a}P||((P=mL.createElement("div")).style.overflow="hidden",this._cropEl=P);var R=P.style;R.width=_L((c+g*c/f)*b),R.height=_L((d+m*d/p)*S),R.filter=TL+".Matrix(Dx="+-g*c/f*b+",Dy="+-m*d/p*S+")",P.parentNode||y.appendChild(P),k.parentNode!==P&&P.appendChild(k)}else N.width=_L(b*c)+"px",N.height=_L(S*d)+"px",y.appendChild(k),P&&P.parentNode&&(y.removeChild(P),this._cropEl=null);var z="",B=n.opacity;B<1&&(z+=".Alpha(opacity="+_L(100*B)+") "),z+=TL+".AlphaImageLoader(src="+a+", SizingMethod=scale)",N.filter=z,y.style.zIndex=OL(this.zlevel,this.z,this.z2),PL(t,y),null!=n.text&&this.drawRectText(t,this.getBoundingRect())}},Yn.prototype.onRemove=function(t){NL(t,this._vmlEl),this._vmlEl=null,this._cropEl=null,this._imageEl=null,this.removeRectText(t)},Yn.prototype.onAdd=function(t){PL(t,this._vmlEl),this.appendRectText(t)};var VL,GL="normal",FL={},WL=0,HL=document.createElement("div");yL=function(t,e){var i=mL;VL||((VL=i.createElement("div")).style.cssText="position:absolute;top:-20000px;left:0;padding:0;margin:0;border:none;white-space:pre;",mL.body.appendChild(VL));try{VL.style.font=e}catch(t){}return VL.innerHTML="",VL.appendChild(i.createTextNode(t)),{width:VL.offsetWidth}},sn["measureText"]=yL;for(var ZL=new bi,UL=function(t,e,i,n){var a=this.style;this.__dirty&&Cn(a);var o=a.text;if(null!=o&&(o+=""),o){if(a.rich){var r=xn(o,a);o=[];for(var s=0;s<r.lines.length;s++){for(var l=r.lines[s].tokens,u=[],h=0;h<l.length;h++)u.push(l[h].text);o.push(u.join(""))}o=o.join("\n")}var c,d,f=a.textAlign,p=a.textVerticalAlign,g=function(t){var e=FL[t];if(!e){100<WL&&(WL=0,FL={});var i,n=HL.style;try{n.font=t,i=n.fontFamily.split(",")[0]}catch(t){}e={style:n.fontStyle||GL,variant:n.fontVariant||GL,weight:n.fontWeight||GL,size:0|parseFloat(n.fontSize||12),family:i||"Microsoft YaHei"},FL[t]=e,WL++}return e}(a.font),m=g.style+" "+g.variant+" "+g.weight+" "+g.size+'px "'+g.family+'"';i=i||un(o,m,f,p,a.textPadding,a.textLineHeight);var v=this.transform;if(v&&!n&&(ZL.copy(e),ZL.applyTransform(v),e=ZL),n)c=e.x,d=e.y;else{var y=a.textPosition;if(y instanceof Array)c=e.x+EL(y[0],e.width),d=e.y+EL(y[1],e.height),f=f||"left";else{var x=this.calculateTextPosition?this.calculateTextPosition({},a,e):dn({},a,e);c=x.x,d=x.y,f=f||x.textAlign,p=p||x.textVerticalAlign}}c=hn(c,i.width,f),d=cn(d,i.height,p),d+=i.height/2;var _,w,b,S=vL,M=this._textVmlEl;M?w=(_=(b=M.firstChild).nextSibling).nextSibling:(M=S("line"),_=S("path"),w=S("textpath"),b=S("skew"),w.style["v-text-align"]="left",LL(M),_.textpathok=!0,w.on=!0,M.from="0 0",M.to="1000 0.05",PL(M,b),PL(M,_),PL(M,w),this._textVmlEl=M);var I=[c,d],A=M.style;v&&n?(bt(I,I,v),b.on=!0,b.matrix=v[0].toFixed(3)+AL+v[2].toFixed(3)+AL+v[1].toFixed(3)+AL+v[3].toFixed(3)+",0,0",b.offset=(_L(I[0])||0)+","+(_L(I[1])||0),b.origin="0 0",A.left="0px",A.top="0px"):(b.on=!1,A.left=_L(c)+"px",A.top=_L(d)+"px"),w.string=function(t){return String(t).replace(/&/g,"&amp;").replace(/"/g,"&quot;")}(o);try{w.style.font=m}catch(t){}zL(M,"fill",{fill:a.textFill,opacity:a.opacity},this),zL(M,"stroke",{stroke:a.textStroke,opacity:a.opacity,lineDash:a.lineDash||null},this),M.style.zIndex=OL(this.zlevel,this.z,this.z2),PL(t,M)}},XL=function(t){NL(t,this._textVmlEl),this._textVmlEl=null},YL=function(t){PL(t,this._textVmlEl)},jL=[Zn,Xn,Yn,hr,Dr],qL=0;qL<jL.length;qL++){var KL=jL[qL].prototype;KL.drawRectText=UL,KL.removeRectText=XL,KL.appendRectText=YL}Dr.prototype.brushVML=function(t){var e=this.style;null!=e.text?this.drawRectText(t,{x:e.x||0,y:e.y||0,width:0,height:0},this.getBoundingRect(),!0):this.removeRectText(t)},Dr.prototype.onRemove=function(t){this.removeRectText(t)},Dr.prototype.onAdd=function(t){this.appendRectText(t)}}function $L(t){return parseInt(t,10)}function JL(t,e){!function(){if(!gL&&mL){gL=!0;var t=mL.styleSheets;t.length<31?mL.createStyleSheet().addRule(".zrvml","behavior:url(#default#VML)"):t[0].addRule(".zrvml","behavior:url(#default#VML)")}}(),this.root=t,this.storage=e;var i=document.createElement("div"),n=document.createElement("div");i.style.cssText="display:inline-block;overflow:hidden;position:relative;width:300px;height:150px;",n.style.cssText="position:absolute;left:0;top:0;",t.appendChild(i),this._vmlRoot=n,this._vmlViewport=i,this.resize();var a=e.delFromStorage,o=e.addToStorage;e.delFromStorage=function(t){a.call(e,t),t&&t.onRemove&&t.onRemove(n)},e.addToStorage=function(t){t.onAdd&&t.onAdd(n),o.call(e,t)},this._firstPaint=!0}JL.prototype={constructor:JL,getType:function(){return"vml"},getViewportRoot:function(){return this._vmlViewport},getViewportRootOffset:function(){var t=this.getViewportRoot();if(t)return{offsetLeft:t.offsetLeft||0,offsetTop:t.offsetTop||0}},refresh:function(){var t=this.storage.getDisplayList(!0,!0);this._paintList(t)},_paintList:function(t){for(var e=this._vmlRoot,i=0;i<t.length;i++){var n=t[i];n.invisible||n.ignore?(n.__alreadyNotVisible||n.onRemove(e),n.__alreadyNotVisible=!0):(n.__alreadyNotVisible&&n.onAdd(e),n.__alreadyNotVisible=!1,n.__dirty&&(n.beforeBrush&&n.beforeBrush(),(n.brushVML||n.brush).call(n,e),n.afterBrush&&n.afterBrush())),n.__dirty=!1}this._firstPaint&&(this._vmlViewport.appendChild(e),this._firstPaint=!1)},resize:function(t,e){t=null==t?this._getWidth():t,e=null==e?this._getHeight():e;if(this._width!==t||this._height!==e){this._width=t,this._height=e;var i=this._vmlViewport.style;i.width=t+"px",i.height=e+"px"}},dispose:function(){this.root.innerHTML="",this._vmlRoot=this._vmlViewport=this.storage=null},getWidth:function(){return this._width},getHeight:function(){return this._height},clear:function(){this._vmlViewport&&this.root.removeChild(this._vmlViewport)},_getWidth:function(){var t=this.root,e=t.currentStyle;return(t.clientWidth||$L(e.width))-$L(e.paddingLeft)-$L(e.paddingRight)|0},_getHeight:function(){var t=this.root,e=t.currentStyle;return(t.clientHeight||$L(e.height))-$L(e.paddingTop)-$L(e.paddingBottom)|0}},E(["getLayer","insertLayer","eachLayer","eachBuiltinLayer","eachOtherLayer","getLayers","modLayer","delLayer","clearLayer","toDataURL","pathToImage"],function(t){JL.prototype[t]=function(t){return function(){ci('In IE8.0 VML mode painter not support method "'+t+'"')}}(t)}),pa("vml",JL);function QL(t){return document.createElementNS("http://www.w3.org/2000/svg",t)}var tk=Ho.CMD,ek=Array.prototype.join,ik="none",nk=Math.round,ak=Math.sin,ok=Math.cos,rk=Math.PI,sk=2*Math.PI,lk=180/rk,uk=1e-4;function hk(t){return nk(1e4*t)/1e4}function ck(t){return t<uk&&-uk<t}function dk(t,e){e&&fk(t,"transform","matrix("+ek.call(e,",")+")")}function fk(t,e,i){i&&("linear"===i.type||"radial"===i.type)||t.setAttribute(e,i)}function pk(t,e,i,n){if(function(t,e){var i=e?t.textFill:t.fill;return null!=i&&i!==ik}(e,i)){var a=i?e.textFill:e.fill;fk(t,"fill",a="transparent"===a?ik:a),fk(t,"fill-opacity",null!=e.fillOpacity?e.fillOpacity*e.opacity:e.opacity)}else fk(t,"fill",ik);if(function(t,e){var i=e?t.textStroke:t.stroke;return null!=i&&i!==ik}(e,i)){var o=i?e.textStroke:e.stroke;fk(t,"stroke",o="transparent"===o?ik:o),fk(t,"stroke-width",(i?e.textStrokeWidth:e.lineWidth)/(!i&&e.strokeNoScale?n.getLineScale():1)),fk(t,"paint-order",i?"stroke":"fill"),fk(t,"stroke-opacity",null!=e.strokeOpacity?e.strokeOpacity:e.opacity),e.lineDash?(fk(t,"stroke-dasharray",e.lineDash.join(",")),fk(t,"stroke-dashoffset",nk(e.lineDashOffset||0))):fk(t,"stroke-dasharray",""),e.lineCap&&fk(t,"stroke-linecap",e.lineCap),e.lineJoin&&fk(t,"stroke-linejoin",e.lineJoin),e.miterLimit&&fk(t,"stroke-miterlimit",e.miterLimit)}else fk(t,"stroke",ik)}var gk={};gk.brush=function(t){var e=t.style,i=t.__svgEl;i||(i=QL("path"),t.__svgEl=i),t.path||t.createPathProxy();var n=t.path;if(t.__dirtyPath){n.beginPath(),n.subPixelOptimize=!1,t.buildPath(n,t.shape),t.__dirtyPath=!1;var a=function(t){for(var e=[],i=t.data,n=t.len(),a=0;a<n;){var o="",r=0;switch(i[a++]){case tk.M:o="M",r=2;break;case tk.L:o="L",r=2;break;case tk.Q:o="Q",r=4;break;case tk.C:o="C",r=6;break;case tk.A:var s=i[a++],l=i[a++],u=i[a++],h=i[a++],c=i[a++],d=i[a++],f=i[a++],p=i[a++],g=Math.abs(d),m=ck(g-sk)||(p?sk<=d:sk<=-d),v=0<d?d%sk:d%sk+sk,y=!1;y=!!m||!ck(g)&&rk<=v==!!p;var x=hk(s+u*ok(c)),_=hk(l+h*ak(c));m&&(d=p?sk-1e-4:1e-4-sk,y=!0,9===a&&e.push("M",x,_));var w=hk(s+u*ok(c+d)),b=hk(l+h*ak(c+d));e.push("A",hk(u),hk(h),nk(f*lk),+y,+p,w,b);break;case tk.Z:o="Z";break;case tk.R:w=hk(i[a++]),b=hk(i[a++]);var S=hk(i[a++]),M=hk(i[a++]);e.push("M",w,b,"L",w+S,b,"L",w+S,b+M,"L",w,b+M,"L",w,b)}o&&e.push(o);for(var I=0;I<r;I++)e.push(hk(i[a++]))}return e.join(" ")}(n);a.indexOf("NaN")<0&&fk(i,"d",a)}pk(i,e,!1,t),dk(i,t.transform),null!=e.text&&bk(t,t.getBoundingRect())};var mk={brush:function(t){var e=t.style,i=e.image;i instanceof HTMLImageElement&&(i=i.src);if(i){var n=e.x||0,a=e.y||0,o=e.width,r=e.height,s=t.__svgEl;s||(s=QL("image"),t.__svgEl=s),i!==t.__imageSrc&&(function(t,e,i){t.setAttributeNS("http://www.w3.org/1999/xlink",e,i)}(s,"href",i),t.__imageSrc=i),fk(s,"width",o),fk(s,"height",r),fk(s,"x",n),fk(s,"y",a),dk(s,t.transform),null!=e.text&&bk(t,t.getBoundingRect())}}},vk={},yk=new bi,xk={},_k=[],wk={left:"start",right:"end",center:"middle",middle:"middle"},bk=function(t,e){var i=t.style,n=t.transform,a=t instanceof Dr||i.transformText;t.__dirty&&Cn(i);var o=i.text;if(null!=o&&(o+=""),Hn(o,i)){null==o&&(o=""),!a&&n&&(yk.copy(e),yk.applyTransform(n),e=yk);var r=t.__textSvgEl;r||(r=QL("text"),t.__textSvgEl=r);var s=r.style,l=i.font||rn,u=r.__computedFont;l!==r.__styleFont&&(s.font=r.__styleFont=l,u=r.__computedFont=s.font);var h=i.textPadding,c=i.textLineHeight,d=t.__textCotentBlock;d&&!t.__dirtyText||(d=t.__textCotentBlock=yn(o,u,h,c,i.truncate));var f=d.outerHeight,p=d.lineHeight;zn(xk,t,i,e);var g=xk.baseX,m=xk.baseY,v=xk.textAlign||"left",y=xk.textVerticalAlign;!function(t,e,i,n,a,o,r){te(_k),e&&i&&ee(_k,i);var s=n.textRotation;if(a&&s){var l=n.textOrigin;"center"===l?(o=a.width/2+a.x,r=a.height/2+a.y):l&&(o=l[0]+a.x,r=l[1]+a.y),_k[4]-=o,_k[5]-=r,ae(_k,_k,s),_k[4]+=o,_k[5]+=r}dk(t,_k)}(r,a,n,i,e,g,m);var x=g,_=cn(m,f,y);h&&(x=function(t,e,i){return"right"===e?t-i[1]:"center"===e?t+i[3]/2-i[1]/2:t+i[3]}(g,v,h),_+=h[0]),_+=p/2,pk(r,i,!0,t);var w=d.canCacheByTextString,b=t.__tspanList||(t.__tspanList=[]),S=b.length;if(w&&t.__canCacheByTextString&&t.__text===o){if(t.__dirtyText&&S)for(var M=0;M<S;++M)Sk(b[M],v,x,_+M*p)}else{t.__text=o,t.__canCacheByTextString=w;var I=d.lines,A=I.length;for(M=0;M<A;M++){var T=b[M],D=I[M];T?T.__zrText!==D&&(T.innerHTML="",T.appendChild(document.createTextNode(D))):(T=b[M]=QL("tspan"),r.appendChild(T),T.appendChild(document.createTextNode(D))),Sk(T,v,x,_+M*p)}if(A<S){for(;M<S;M++)r.removeChild(b[M]);b.length=A}}}};function Sk(t,e,i,n){fk(t,"dominant-baseline","middle"),fk(t,"text-anchor",wk[e]),fk(t,"x",i),fk(t,"y",n)}function Mk(){}function Ik(t,e){for(var i=0,n=e.length,a=0,o=0;i<n;i++){var r=e[i];if(r.removed){for(s=[],l=o;l<o+r.count;l++)s.push(l);r.indices=s,o+=r.count}else{for(var s=[],l=a;l<a+r.count;l++)s.push(l);r.indices=s,a+=r.count,r.added||(o+=r.count)}}return e}vk.drawRectText=bk,vk.brush=function(t){null!=t.style.text&&bk(t,!1)},Mk.prototype={diff:function(l,u,t){t=t||function(t,e){return t===e},this.equals=t;var h=this;l=l.slice();var c=(u=u.slice()).length,d=l.length,f=1,e=c+d,p=[{newPos:-1,components:[]}],i=this.extractCommon(p[0],u,l,0);if(p[0].newPos+1>=c&&d<=i+1){for(var n=[],a=0;a<u.length;a++)n.push(a);return[{indices:n,count:u.length}]}function o(){for(var t=-1*f;t<=f;t+=2){var e,i=p[t-1],n=p[t+1],a=(n?n.newPos:0)-t;i&&(p[t-1]=void 0);var o=i&&i.newPos+1<c,r=n&&0<=a&&a<d;if(o||r){if(!o||r&&i.newPos<n.newPos?(e={newPos:(s=n).newPos,components:s.components.slice(0)},h.pushComponent(e.components,void 0,!0)):((e=i).newPos++,h.pushComponent(e.components,!0,void 0)),a=h.extractCommon(e,u,l,t),e.newPos+1>=c&&d<=a+1)return Ik(h,e.components,u,l);p[t]=e}else p[t]=void 0}var s;f++}for(;f<=e;){var r=o();if(r)return r}},pushComponent:function(t,e,i){var n=t[t.length-1];n&&n.added===e&&n.removed===i?t[t.length-1]={count:n.count+1,added:e,removed:i}:t.push({count:1,added:e,removed:i})},extractCommon:function(t,e,i,n){for(var a=e.length,o=i.length,r=t.newPos,s=r-n,l=0;r+1<a&&s+1<o&&this.equals(e[r+1],i[s+1]);)r++,s++,l++;return l&&t.components.push({count:l}),t.newPos=r,s},tokenize:function(t){return t.slice()},join:function(t){return t.slice()}};var Ak=new Mk;function Tk(t,e,i,n,a){this._zrId=t,this._svgRoot=e,this._tagNames="string"==typeof i?[i]:i,this._markLabel=n,this._domName=a||"_dom",this.nextId=0}function Dk(t,e){Tk.call(this,t,e,["linearGradient","radialGradient"],"__gradient_in_use__")}function Ck(t,e){Tk.call(this,t,e,"clipPath","__clippath_in_use__")}function Lk(t,e){Tk.call(this,t,e,["filter"],"__filter_in_use__","_shadowDom")}function kk(t){return t&&(t.shadowBlur||t.shadowOffsetX||t.shadowOffsetY||t.textShadowBlur||t.textShadowOffsetX||t.textShadowOffsetY)}function Pk(t){return parseInt(t,10)}function Nk(t,e){return e&&t&&e.parentNode!==t}function Ok(t,e,i){if(Nk(t,e)&&i){var n=i.nextSibling;n?t.insertBefore(e,n):t.appendChild(e)}}function Ek(t,e){if(Nk(t,e)){var i=t.firstChild;i?t.insertBefore(e,i):t.appendChild(e)}}function Rk(t,e){e&&t&&e.parentNode===t&&t.removeChild(e)}function zk(t){return t.__textSvgEl}function Bk(t){return t.__svgEl}Tk.prototype.createElement=QL,Tk.prototype.getDefs=function(t){var e=this._svgRoot,n=this._svgRoot.getElementsByTagName("defs");return 0===n.length?t?((n=e.insertBefore(this.createElement("defs"),e.firstChild)).contains||(n.contains=function(t){var e=n.children;if(!e)return!1;for(var i=e.length-1;0<=i;--i)if(e[i]===t)return!0;return!1}),n):null:n[0]},Tk.prototype.update=function(t,e){if(t){var i=this.getDefs(!1);if(t[this._domName]&&i.contains(t[this._domName]))"function"==typeof e&&e(t);else{var n=this.add(t);n&&(t[this._domName]=n)}}},Tk.prototype.addDom=function(t){this.getDefs(!0).appendChild(t)},Tk.prototype.removeDom=function(t){var e=this.getDefs(!1);e&&t[this._domName]&&(e.removeChild(t[this._domName]),t[this._domName]=null)},Tk.prototype.getDoms=function(){var i=this.getDefs(!1);if(!i)return[];var n=[];return E(this._tagNames,function(t){var e=i.getElementsByTagName(t);n=n.concat([].slice.call(e))}),n},Tk.prototype.markAllUnused=function(){var t=this.getDoms(),e=this;E(t,function(t){t[e._markLabel]="0"})},Tk.prototype.markUsed=function(t){t&&(t[this._markLabel]="1")},Tk.prototype.removeUnused=function(){var e=this.getDefs(!1);if(e){var t=this.getDoms(),i=this;E(t,function(t){"1"!==t[i._markLabel]&&e.removeChild(t)})}},Tk.prototype.getSvgProxy=function(t){return t instanceof hr?gk:t instanceof Yn?mk:t instanceof Dr?vk:gk},Tk.prototype.getTextSvgElement=function(t){return t.__textSvgEl},Tk.prototype.getSvgElement=function(t){return t.__svgEl},w(Dk,Tk),Dk.prototype.addWithoutUpdate=function(o,r){if(r&&r.style){var s=this;E(["fill","stroke"],function(t){if(r.style[t]&&("linear"===r.style[t].type||"radial"===r.style[t].type)){var e,i=r.style[t],n=s.getDefs(!0);i._dom?(e=i._dom,n.contains(i._dom)||s.addDom(e)):e=s.add(i),s.markUsed(r);var a=e.getAttribute("id");o.setAttribute(t,"url(#"+a+")")}})}},Dk.prototype.add=function(t){var e;if("linear"===t.type)e=this.createElement("linearGradient");else{if("radial"!==t.type)return ci("Illegal gradient type."),null;e=this.createElement("radialGradient")}return t.id=t.id||this.nextId++,e.setAttribute("id","zr"+this._zrId+"-gradient-"+t.id),this.updateDom(t,e),this.addDom(e),e},Dk.prototype.update=function(i){var n=this;Tk.prototype.update.call(this,i,function(){var t=i.type,e=i._dom.tagName;"linear"===t&&"linearGradient"===e||"radial"===t&&"radialGradient"===e?n.updateDom(i,i._dom):(n.removeDom(i),n.add(i))})},Dk.prototype.updateDom=function(t,e){if("linear"===t.type)e.setAttribute("x1",t.x),e.setAttribute("y1",t.y),e.setAttribute("x2",t.x2),e.setAttribute("y2",t.y2);else{if("radial"!==t.type)return void ci("Illegal gradient type.");e.setAttribute("cx",t.x),e.setAttribute("cy",t.y),e.setAttribute("r",t.r)}t.global?e.setAttribute("gradientUnits","userSpaceOnUse"):e.setAttribute("gradientUnits","objectBoundingBox"),e.innerHTML="";for(var i=t.colorStops,n=0,a=i.length;n<a;++n){var o=this.createElement("stop");o.setAttribute("offset",100*i[n].offset+"%");var r=i[n].color;if(r.indexOf(!1)){var s=Ee(r)[3],l=Be(r);o.setAttribute("stop-color","#"+l),o.setAttribute("stop-opacity",s)}else o.setAttribute("stop-color",i[n].color);e.appendChild(o)}t._dom=e},Dk.prototype.markUsed=function(t){if(t.style){var e=t.style.fill;e&&e._dom&&Tk.prototype.markUsed.call(this,e._dom),(e=t.style.stroke)&&e._dom&&Tk.prototype.markUsed.call(this,e._dom)}},w(Ck,Tk),Ck.prototype.update=function(t){var e=this.getSvgElement(t);e&&this.updateDom(e,t.__clipPaths,!1);var i=this.getTextSvgElement(t);i&&this.updateDom(i,t.__clipPaths,!0),this.markUsed(t)},Ck.prototype.updateDom=function(t,e,i){if(e&&0<e.length){var n,a,o=this.getDefs(!0),r=e[0],s=i?"_textDom":"_dom";r[s]?(a=r[s].getAttribute("id"),n=r[s],o.contains(n)||o.appendChild(n)):(a="zr"+this._zrId+"-clip-"+this.nextId,++this.nextId,(n=this.createElement("clipPath")).setAttribute("id",a),o.appendChild(n),r[s]=n);var l=this.getSvgProxy(r);if(r.transform&&r.parent.invTransform&&!i){var u=Array.prototype.slice.call(r.transform);ie(r.transform,r.parent.invTransform,r.transform),l.brush(r),r.transform=u}else l.brush(r);var h=this.getSvgElement(r);n.innerHTML="",n.appendChild(h.cloneNode()),t.setAttribute("clip-path","url(#"+a+")"),1<e.length&&this.updateDom(n,e.slice(1),i)}else t&&t.setAttribute("clip-path","none")},Ck.prototype.markUsed=function(t){var e=this;t.__clipPaths&&E(t.__clipPaths,function(t){t._dom&&Tk.prototype.markUsed.call(e,t._dom),t._textDom&&Tk.prototype.markUsed.call(e,t._textDom)})},w(Lk,Tk),Lk.prototype.addWithoutUpdate=function(t,e){if(e&&kk(e.style)){var i;if(e._shadowDom)i=e._shadowDom,this.getDefs(!0).contains(e._shadowDom)||this.addDom(i);else i=this.add(e);this.markUsed(e);var n=i.getAttribute("id");t.style.filter="url(#"+n+")"}},Lk.prototype.add=function(t){var e=this.createElement("filter");return t._shadowDomId=t._shadowDomId||this.nextId++,e.setAttribute("id","zr"+this._zrId+"-shadow-"+t._shadowDomId),this.updateDom(t,e),this.addDom(e),e},Lk.prototype.update=function(t,e){if(kk(e.style)){var i=this;Tk.prototype.update.call(this,e,function(){i.updateDom(e,e._shadowDom)})}else this.remove(t,e)},Lk.prototype.remove=function(t,e){null!=e._shadowDomId&&(this.removeDom(t),t.style.filter="")},Lk.prototype.updateDom=function(t,e){var i=e.getElementsByTagName("feDropShadow");i=0===i.length?this.createElement("feDropShadow"):i[0];var n,a,o,r,s=t.style,l=t.scale&&t.scale[0]||1,u=t.scale&&t.scale[1]||1;if(s.shadowBlur||s.shadowOffsetX||s.shadowOffsetY)n=s.shadowOffsetX||0,a=s.shadowOffsetY||0,o=s.shadowBlur,r=s.shadowColor;else{if(!s.textShadowBlur)return void this.removeDom(e,s);n=s.textShadowOffsetX||0,a=s.textShadowOffsetY||0,o=s.textShadowBlur,r=s.textShadowColor}i.setAttribute("dx",n/l),i.setAttribute("dy",a/u),i.setAttribute("flood-color",r);var h=o/2/l+" "+o/2/u;i.setAttribute("stdDeviation",h),e.setAttribute("x","-100%"),e.setAttribute("y","-100%"),e.setAttribute("width",Math.ceil(o/2*200)+"%"),e.setAttribute("height",Math.ceil(o/2*200)+"%"),e.appendChild(i),t._shadowDom=e},Lk.prototype.markUsed=function(t){t._shadowDom&&Tk.prototype.markUsed.call(this,t._shadowDom)};function Vk(t,e,i,n){this.root=t,this.storage=e,this._opts=i=L({},i||{});var a=QL("svg");a.setAttribute("xmlns","http://www.w3.org/2000/svg"),a.setAttribute("version","1.1"),a.setAttribute("baseProfile","full"),a.style.cssText="user-select:none;position:absolute;left:0;top:0;",this.gradientManager=new Dk(n,a),this.clipPathManager=new Ck(n,a),this.shadowManager=new Lk(n,a);var o=document.createElement("div");o.style.cssText="overflow:hidden;position:relative",this._svgRoot=a,this._viewport=o,t.appendChild(o),o.appendChild(a),this.resize(i.width,i.height),this._visibleList=[]}Vk.prototype={constructor:Vk,getType:function(){return"svg"},getViewportRoot:function(){return this._viewport},getViewportRootOffset:function(){var t=this.getViewportRoot();if(t)return{offsetLeft:t.offsetLeft||0,offsetTop:t.offsetTop||0}},refresh:function(){var t=this.storage.getDisplayList(!0);this._paintList(t)},setBackgroundColor:function(t){this._viewport.style.background=t},_paintList:function(t){this.gradientManager.markAllUnused(),this.clipPathManager.markAllUnused(),this.shadowManager.markAllUnused();var e,i,n=this._svgRoot,a=this._visibleList,o=t.length,r=[];for(e=0;e<o;e++){var s=t[e],l=(i=s)instanceof hr?gk:i instanceof Yn?mk:i instanceof Dr?vk:gk,u=Bk(s)||zk(s);s.invisible||(s.__dirty&&(l&&l.brush(s),this.clipPathManager.update(s),s.style&&(this.gradientManager.update(s.style.fill),this.gradientManager.update(s.style.stroke),this.shadowManager.update(u,s)),s.__dirty=!1),r.push(s))}var h,c=function(t,e,i){return Ak.diff(t,e,i)}(a,r);for(e=0;e<c.length;e++){if((p=c[e]).removed)for(var d=0;d<p.count;d++){u=Bk(s=a[p.indices[d]]);var f=zk(s);Rk(n,u),Rk(n,f)}}for(e=0;e<c.length;e++){var p;if((p=c[e]).added)for(d=0;d<p.count;d++){u=Bk(s=r[p.indices[d]]),f=zk(s);h?Ok(n,u,h):Ek(n,u),u?Ok(n,f,u):h?Ok(n,f,h):Ek(n,f),Ok(n,f,u),h=f||u||h,this.gradientManager.addWithoutUpdate(u||f,s),this.shadowManager.addWithoutUpdate(u||f,s),this.clipPathManager.markUsed(s)}else if(!p.removed)for(d=0;d<p.count;d++){h=zk(s=r[p.indices[d]])||Bk(s)||h;u=Bk(s),f=zk(s);this.gradientManager.markUsed(s),this.gradientManager.addWithoutUpdate(u||f,s),this.shadowManager.markUsed(s),this.shadowManager.addWithoutUpdate(u||f,s),this.clipPathManager.markUsed(s)}}this.gradientManager.removeUnused(),this.clipPathManager.removeUnused(),this.shadowManager.removeUnused(),this._visibleList=r},_getDefs:function(t){var n,e=this._svgRoot;return 0!==(n=this._svgRoot.getElementsByTagName("defs")).length?n[0]:t?((n=e.insertBefore(QL("defs"),e.firstChild)).contains||(n.contains=function(t){var e=n.children;if(!e)return!1;for(var i=e.length-1;0<=i;--i)if(e[i]===t)return!0;return!1}),n):null},resize:function(t,e){var i=this._viewport;i.style.display="none";var n=this._opts;if(null!=t&&(n.width=t),null!=e&&(n.height=e),t=this._getSize(0),e=this._getSize(1),i.style.display="",this._width!==t||this._height!==e){this._width=t,this._height=e;var a=i.style;a.width=t+"px",a.height=e+"px";var o=this._svgRoot;o.setAttribute("width",t),o.setAttribute("height",e)}},getWidth:function(){return this._width},getHeight:function(){return this._height},_getSize:function(t){var e=this._opts,i=["width","height"][t],n=["clientWidth","clientHeight"][t],a=["paddingLeft","paddingTop"][t],o=["paddingRight","paddingBottom"][t];if(null!=e[i]&&"auto"!==e[i])return parseFloat(e[i]);var r=this.root,s=document.defaultView.getComputedStyle(r);return(r[n]||Pk(s[i])||Pk(r.style[i]))-(Pk(s[a])||0)-(Pk(s[o])||0)|0},dispose:function(){this.root.innerHTML="",this._svgRoot=this._viewport=this.storage=null},clear:function(){this._viewport&&this.root.removeChild(this._viewport)},pathToDataUrl:function(){return this.refresh(),"data:image/svg+xml;charset=UTF-8,"+this._svgRoot.outerHTML}},E(["getLayer","insertLayer","eachLayer","eachBuiltinLayer","eachOtherLayer","getLayers","modLayer","delLayer","clearLayer","toDataURL","pathToImage"],function(t){Vk.prototype[t]=function(t){return function(){ci('In SVG mode painter not support method "'+t+'"')}}(t)}),pa("svg",Vk),t.version="4.5.0",t.dependencies={zrender:"4.1.2"},t.PRIORITY=cd,t.init=function(t,e,i){var n=Kd(t);if(n)return n;var a=new vd(t,e,i);return a.id="ec_"+Ud++,Hd[a.id]=a,Oa(t,Yd,a.id),function(n){var a="__connectUpdateStatus";function o(t,e){for(var i=0;i<t.length;i++){t[i][a]=e}}sd(Rd,function(t,e){n._messageCenter.on(e,function(t){if(Zd[n.group]&&0!==n[a]){if(t&&t.escapeConnect)return;var e=n.makeActionFromEvent(t),i=[];sd(Hd,function(t){t!==n&&t.group===n.group&&i.push(t)}),o(i,0),sd(i,function(t){1!==t[a]&&t.dispatchAction(e)}),o(i,2)}})})}(a),a},t.connect=function(e){if(k(e)){var t=e;e=null,sd(t,function(t){null!=t.group&&(e=t.group)}),e=e||"g_"+Xd++,sd(t,function(t){t.group=e})}return Zd[e]=!0,e},t.disConnect=jd,t.disconnect=qd,t.dispose=function(t){"string"==typeof t?t=Hd[t]:t instanceof vd||(t=Kd(t)),t instanceof vd&&!t.isDisposed()&&t.dispose()},t.getInstanceByDom=Kd,t.getInstanceById=function(t){return Hd[t]},t.registerTheme=$d,t.registerPreprocessor=Jd,t.registerProcessor=Qd,t.registerPostUpdate=function(t){Vd.push(t)},t.registerAction=tf,t.registerCoordinateSystem=ef,t.getCoordinateSystemDimensions=function(t){var e=Hu.get(t);if(e)return e.getDimensionsInfo?e.getDimensionsInfo():e.dimensions.slice()},t.registerLayout=nf,t.registerVisual=af,t.registerLoading=rf,t.extendComponentModel=sf,t.extendComponentView=lf,t.extendSeriesModel=uf,t.extendChartView=hf,t.setCanvasCreator=function(t){f("createCanvas",t)},t.registerMap=function(t,e,i){ad.registerMap(t,e,i)},t.getMap=function(t){var e=ad.retrieveMap(t);return e&&e[0]&&{geoJson:e[0].geoJSON,specialAreas:e[0].specialAreas}},t.dataTool={},t.zrender=ma,t.number=Rl,t.format=Jl,t.throttle=cc,t.helper=tg,t.matrix=le,t.vector=It,t.color=Xe,t.parseGeoJSON=rg,t.parseGeoJson=xg,t.util=_g,t.graphic=wg,t.List=Tf,t.Model=dl,t.Axis=vg,t.env=v});
diff --git a/zy-acs-cv/src/main/webapp/static/js/echarts/highcharts.js b/zy-acs-cv/src/main/webapp/static/js/echarts/highcharts.js
new file mode 100644
index 0000000..2719272
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/js/echarts/highcharts.js
@@ -0,0 +1,422 @@
+/*
+ Highcharts JS v6.2.0 (2018-10-17)
+
+ (c) 2009-2016 Torstein Honsi
+
+ License: www.highcharts.com/license
+*/
+(function(S,K){"object"===typeof module&&module.exports?module.exports=S.document?K(S):K:"function"===typeof define&&define.amd?define(function(){return K(S)}):S.Highcharts=K(S)})("undefined"!==typeof window?window:this,function(S){var K=function(){var a="undefined"===typeof S?window:S,C=a.document,F=a.navigator&&a.navigator.userAgent||"",I=C&&C.createElementNS&&!!C.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,n=/(edge|msie|trident)/i.test(F)&&!a.opera,f=-1!==F.indexOf("Firefox"),
+e=-1!==F.indexOf("Chrome"),u=f&&4>parseInt(F.split("Firefox/")[1],10);return a.Highcharts?a.Highcharts.error(16,!0):{product:"Highcharts",version:"6.2.0",deg2rad:2*Math.PI/360,doc:C,hasBidiBug:u,hasTouch:C&&void 0!==C.documentElement.ontouchstart,isMS:n,isWebKit:-1!==F.indexOf("AppleWebKit"),isFirefox:f,isChrome:e,isSafari:!e&&-1!==F.indexOf("Safari"),isTouchDevice:/(Mobile|Android|Windows Phone)/.test(F),SVG_NS:"http://www.w3.org/2000/svg",chartCount:0,seriesTypes:{},symbolSizes:{},svg:I,win:a,marginNames:["plotTop",
+"marginRight","marginBottom","plotLeft"],noop:function(){},charts:[]}}();(function(a){a.timers=[];var C=a.charts,F=a.doc,I=a.win;a.error=function(n,f){n=a.isNumber(n)?"Highcharts error #"+n+": www.highcharts.com/errors/"+n:n;if(f)throw Error(n);I.console&&console.log(n)};a.Fx=function(a,f,e){this.options=f;this.elem=a;this.prop=e};a.Fx.prototype={dSetter:function(){var a=this.paths[0],f=this.paths[1],e=[],u=this.now,x=a.length,t;if(1===u)e=this.toD;else if(x===f.length&&1>u)for(;x--;)t=parseFloat(a[x]),
+e[x]=isNaN(t)?f[x]:u*parseFloat(f[x]-t)+t;else e=f;this.elem.attr("d",e,null,!0)},update:function(){var a=this.elem,f=this.prop,e=this.now,u=this.options.step;if(this[f+"Setter"])this[f+"Setter"]();else a.attr?a.element&&a.attr(f,e,null,!0):a.style[f]=e+this.unit;u&&u.call(a,e,this)},run:function(n,f,e){var u=this,x=u.options,t=function(a){return t.stopped?!1:u.step(a)},w=I.requestAnimationFrame||function(a){setTimeout(a,13)},y=function(){for(var c=0;c<a.timers.length;c++)a.timers[c]()||a.timers.splice(c--,
+1);a.timers.length&&w(y)};n!==f||this.elem["forceAnimate:"+this.prop]?(this.startTime=+new Date,this.start=n,this.end=f,this.unit=e,this.now=this.start,this.pos=0,t.elem=this.elem,t.prop=this.prop,t()&&1===a.timers.push(t)&&w(y)):(delete x.curAnim[this.prop],x.complete&&0===a.keys(x.curAnim).length&&x.complete.call(this.elem))},step:function(n){var f=+new Date,e,u=this.options,x=this.elem,t=u.complete,w=u.duration,y=u.curAnim;x.attr&&!x.element?n=!1:n||f>=w+this.startTime?(this.now=this.end,this.pos=
+1,this.update(),e=y[this.prop]=!0,a.objectEach(y,function(a){!0!==a&&(e=!1)}),e&&t&&t.call(x),n=!1):(this.pos=u.easing((f-this.startTime)/w),this.now=this.start+(this.end-this.start)*this.pos,this.update(),n=!0);return n},initPath:function(n,f,e){function u(a){var b,k;for(d=a.length;d--;)b="M"===a[d]||"L"===a[d],k=/[a-zA-Z]/.test(a[d+3]),b&&k&&a.splice(d+1,0,a[d+1],a[d+2],a[d+1],a[d+2])}function x(a,h){for(;a.length<k;){a[0]=h[k-a.length];var c=a.slice(0,p);[].splice.apply(a,[0,0].concat(c));b&&(c=
+a.slice(a.length-p),[].splice.apply(a,[a.length,0].concat(c)),d--)}a[0]="M"}function t(a,d){for(var c=(k-a.length)/p;0<c&&c--;)q=a.slice().splice(a.length/v-p,p*v),q[0]=d[k-p-c*p],h&&(q[p-6]=q[p-2],q[p-5]=q[p-1]),[].splice.apply(a,[a.length/v,0].concat(q)),b&&c--}f=f||"";var w,y=n.startX,c=n.endX,h=-1<f.indexOf("C"),p=h?7:3,k,q,d;f=f.split(" ");e=e.slice();var b=n.isArea,v=b?2:1,J;h&&(u(f),u(e));if(y&&c){for(d=0;d<y.length;d++)if(y[d]===c[0]){w=d;break}else if(y[0]===c[c.length-y.length+d]){w=d;J=
+!0;break}void 0===w&&(f=[])}f.length&&a.isNumber(w)&&(k=e.length+w*v*p,J?(x(f,e),t(e,f)):(x(e,f),t(f,e)));return[f,e]},fillSetter:function(){a.Fx.prototype.strokeSetter.apply(this,arguments)},strokeSetter:function(){this.elem.attr(this.prop,a.color(this.start).tweenTo(a.color(this.end),this.pos),null,!0)}};a.merge=function(){var n,f=arguments,e,u={},x=function(e,n){"object"!==typeof e&&(e={});a.objectEach(n,function(y,c){!a.isObject(y,!0)||a.isClass(y)||a.isDOMElement(y)?e[c]=n[c]:e[c]=x(e[c]||{},
+y)});return e};!0===f[0]&&(u=f[1],f=Array.prototype.slice.call(f,2));e=f.length;for(n=0;n<e;n++)u=x(u,f[n]);return u};a.pInt=function(a,f){return parseInt(a,f||10)};a.isString=function(a){return"string"===typeof a};a.isArray=function(a){a=Object.prototype.toString.call(a);return"[object Array]"===a||"[object Array Iterator]"===a};a.isObject=function(n,f){return!!n&&"object"===typeof n&&(!f||!a.isArray(n))};a.isDOMElement=function(n){return a.isObject(n)&&"number"===typeof n.nodeType};a.isClass=function(n){var f=
+n&&n.constructor;return!(!a.isObject(n,!0)||a.isDOMElement(n)||!f||!f.name||"Object"===f.name)};a.isNumber=function(a){return"number"===typeof a&&!isNaN(a)&&Infinity>a&&-Infinity<a};a.erase=function(a,f){for(var e=a.length;e--;)if(a[e]===f){a.splice(e,1);break}};a.defined=function(a){return void 0!==a&&null!==a};a.attr=function(n,f,e){var u;a.isString(f)?a.defined(e)?n.setAttribute(f,e):n&&n.getAttribute&&((u=n.getAttribute(f))||"class"!==f||(u=n.getAttribute(f+"Name"))):a.defined(f)&&a.isObject(f)&&
+a.objectEach(f,function(a,e){n.setAttribute(e,a)});return u};a.splat=function(n){return a.isArray(n)?n:[n]};a.syncTimeout=function(a,f,e){if(f)return setTimeout(a,f,e);a.call(0,e)};a.clearTimeout=function(n){a.defined(n)&&clearTimeout(n)};a.extend=function(a,f){var e;a||(a={});for(e in f)a[e]=f[e];return a};a.pick=function(){var a=arguments,f,e,u=a.length;for(f=0;f<u;f++)if(e=a[f],void 0!==e&&null!==e)return e};a.css=function(n,f){a.isMS&&!a.svg&&f&&void 0!==f.opacity&&(f.filter="alpha(opacity\x3d"+
+100*f.opacity+")");a.extend(n.style,f)};a.createElement=function(n,f,e,u,x){n=F.createElement(n);var t=a.css;f&&a.extend(n,f);x&&t(n,{padding:0,border:"none",margin:0});e&&t(n,e);u&&u.appendChild(n);return n};a.extendClass=function(n,f){var e=function(){};e.prototype=new n;a.extend(e.prototype,f);return e};a.pad=function(a,f,e){return Array((f||2)+1-String(a).replace("-","").length).join(e||0)+a};a.relativeLength=function(a,f,e){return/%$/.test(a)?f*parseFloat(a)/100+(e||0):parseFloat(a)};a.wrap=
+function(a,f,e){var n=a[f];a[f]=function(){var a=Array.prototype.slice.call(arguments),t=arguments,w=this;w.proceed=function(){n.apply(w,arguments.length?arguments:t)};a.unshift(n);a=e.apply(this,a);w.proceed=null;return a}};a.datePropsToTimestamps=function(n){a.objectEach(n,function(f,e){a.isObject(f)&&"function"===typeof f.getTime?n[e]=f.getTime():(a.isObject(f)||a.isArray(f))&&a.datePropsToTimestamps(f)})};a.formatSingle=function(n,f,e){var u=/\.([0-9])/,x=a.defaultOptions.lang;/f$/.test(n)?(e=
+(e=n.match(u))?e[1]:-1,null!==f&&(f=a.numberFormat(f,e,x.decimalPoint,-1<n.indexOf(",")?x.thousandsSep:""))):f=(e||a.time).dateFormat(n,f);return f};a.format=function(n,f,e){for(var u="{",x=!1,t,w,y,c,h=[],p;n;){u=n.indexOf(u);if(-1===u)break;t=n.slice(0,u);if(x){t=t.split(":");w=t.shift().split(".");c=w.length;p=f;for(y=0;y<c;y++)p&&(p=p[w[y]]);t.length&&(p=a.formatSingle(t.join(":"),p,e));h.push(p)}else h.push(t);n=n.slice(u+1);u=(x=!x)?"}":"{"}h.push(n);return h.join("")};a.getMagnitude=function(a){return Math.pow(10,
+Math.floor(Math.log(a)/Math.LN10))};a.normalizeTickInterval=function(n,f,e,u,x){var t,w=n;e=a.pick(e,1);t=n/e;f||(f=x?[1,1.2,1.5,2,2.5,3,4,5,6,8,10]:[1,2,2.5,5,10],!1===u&&(1===e?f=a.grep(f,function(a){return 0===a%1}):.1>=e&&(f=[1/e])));for(u=0;u<f.length&&!(w=f[u],x&&w*e>=n||!x&&t<=(f[u]+(f[u+1]||f[u]))/2);u++);return w=a.correctFloat(w*e,-Math.round(Math.log(.001)/Math.LN10))};a.stableSort=function(a,f){var e=a.length,n,x;for(x=0;x<e;x++)a[x].safeI=x;a.sort(function(a,e){n=f(a,e);return 0===n?
+a.safeI-e.safeI:n});for(x=0;x<e;x++)delete a[x].safeI};a.arrayMin=function(a){for(var f=a.length,e=a[0];f--;)a[f]<e&&(e=a[f]);return e};a.arrayMax=function(a){for(var f=a.length,e=a[0];f--;)a[f]>e&&(e=a[f]);return e};a.destroyObjectProperties=function(n,f){a.objectEach(n,function(a,u){a&&a!==f&&a.destroy&&a.destroy();delete n[u]})};a.discardElement=function(n){var f=a.garbageBin;f||(f=a.createElement("div"));n&&f.appendChild(n);f.innerHTML=""};a.correctFloat=function(a,f){return parseFloat(a.toPrecision(f||
+14))};a.setAnimation=function(n,f){f.renderer.globalAnimation=a.pick(n,f.options.chart.animation,!0)};a.animObject=function(n){return a.isObject(n)?a.merge(n):{duration:n?500:0}};a.timeUnits={millisecond:1,second:1E3,minute:6E4,hour:36E5,day:864E5,week:6048E5,month:24192E5,year:314496E5};a.numberFormat=function(n,f,e,u){n=+n||0;f=+f;var x=a.defaultOptions.lang,t=(n.toString().split(".")[1]||"").split("e")[0].length,w,y,c=n.toString().split("e");-1===f?f=Math.min(t,20):a.isNumber(f)?f&&c[1]&&0>c[1]&&
+(w=f+ +c[1],0<=w?(c[0]=(+c[0]).toExponential(w).split("e")[0],f=w):(c[0]=c[0].split(".")[0]||0,n=20>f?(c[0]*Math.pow(10,c[1])).toFixed(f):0,c[1]=0)):f=2;y=(Math.abs(c[1]?c[0]:n)+Math.pow(10,-Math.max(f,t)-1)).toFixed(f);t=String(a.pInt(y));w=3<t.length?t.length%3:0;e=a.pick(e,x.decimalPoint);u=a.pick(u,x.thousandsSep);n=(0>n?"-":"")+(w?t.substr(0,w)+u:"");n+=t.substr(w).replace(/(\d{3})(?=\d)/g,"$1"+u);f&&(n+=e+y.slice(-f));c[1]&&0!==+n&&(n+="e"+c[1]);return n};Math.easeInOutSine=function(a){return-.5*
+(Math.cos(Math.PI*a)-1)};a.getStyle=function(n,f,e){if("width"===f)return Math.max(0,Math.min(n.offsetWidth,n.scrollWidth)-a.getStyle(n,"padding-left")-a.getStyle(n,"padding-right"));if("height"===f)return Math.max(0,Math.min(n.offsetHeight,n.scrollHeight)-a.getStyle(n,"padding-top")-a.getStyle(n,"padding-bottom"));I.getComputedStyle||a.error(27,!0);if(n=I.getComputedStyle(n,void 0))n=n.getPropertyValue(f),a.pick(e,"opacity"!==f)&&(n=a.pInt(n));return n};a.inArray=function(n,f,e){return(a.indexOfPolyfill||
+Array.prototype.indexOf).call(f,n,e)};a.grep=function(n,f){return(a.filterPolyfill||Array.prototype.filter).call(n,f)};a.find=Array.prototype.find?function(a,f){return a.find(f)}:function(a,f){var e,u=a.length;for(e=0;e<u;e++)if(f(a[e],e))return a[e]};a.some=function(n,f,e){return(a.somePolyfill||Array.prototype.some).call(n,f,e)};a.map=function(a,f){for(var e=[],u=0,x=a.length;u<x;u++)e[u]=f.call(a[u],a[u],u,a);return e};a.keys=function(n){return(a.keysPolyfill||Object.keys).call(void 0,n)};a.reduce=
+function(n,f,e){return(a.reducePolyfill||Array.prototype.reduce).apply(n,2<arguments.length?[f,e]:[f])};a.offset=function(a){var f=F.documentElement;a=a.parentElement||a.parentNode?a.getBoundingClientRect():{top:0,left:0};return{top:a.top+(I.pageYOffset||f.scrollTop)-(f.clientTop||0),left:a.left+(I.pageXOffset||f.scrollLeft)-(f.clientLeft||0)}};a.stop=function(n,f){for(var e=a.timers.length;e--;)a.timers[e].elem!==n||f&&f!==a.timers[e].prop||(a.timers[e].stopped=!0)};a.each=function(n,f,e){return(a.forEachPolyfill||
+Array.prototype.forEach).call(n,f,e)};a.objectEach=function(a,f,e){for(var u in a)a.hasOwnProperty(u)&&f.call(e||a[u],a[u],u,a)};a.addEvent=function(n,f,e,u){var x,t=n.addEventListener||a.addEventListenerPolyfill;x="function"===typeof n&&n.prototype?n.prototype.protoEvents=n.prototype.protoEvents||{}:n.hcEvents=n.hcEvents||{};a.Point&&n instanceof a.Point&&n.series&&n.series.chart&&(n.series.chart.runTrackerClick=!0);t&&t.call(n,f,e,!1);x[f]||(x[f]=[]);x[f].push(e);u&&a.isNumber(u.order)&&(e.order=
+u.order,x[f].sort(function(a,e){return a.order-e.order}));return function(){a.removeEvent(n,f,e)}};a.removeEvent=function(n,f,e){function u(e,c){var h=n.removeEventListener||a.removeEventListenerPolyfill;h&&h.call(n,e,c,!1)}function x(e){var c,h;n.nodeName&&(f?(c={},c[f]=!0):c=e,a.objectEach(c,function(a,k){if(e[k])for(h=e[k].length;h--;)u(k,e[k][h])}))}var t,w;a.each(["protoEvents","hcEvents"],function(y){var c=n[y];c&&(f?(t=c[f]||[],e?(w=a.inArray(e,t),-1<w&&(t.splice(w,1),c[f]=t),u(f,e)):(x(c),
+c[f]=[])):(x(c),n[y]={}))})};a.fireEvent=function(n,f,e,u){var x,t,w,y,c;e=e||{};F.createEvent&&(n.dispatchEvent||n.fireEvent)?(x=F.createEvent("Events"),x.initEvent(f,!0,!0),a.extend(x,e),n.dispatchEvent?n.dispatchEvent(x):n.fireEvent(f,x)):a.each(["protoEvents","hcEvents"],function(h){if(n[h])for(t=n[h][f]||[],w=t.length,e.target||a.extend(e,{preventDefault:function(){e.defaultPrevented=!0},target:n,type:f}),y=0;y<w;y++)(c=t[y])&&!1===c.call(n,e)&&e.preventDefault()});u&&!e.defaultPrevented&&u.call(n,
+e)};a.animate=function(n,f,e){var u,x="",t,w,y;a.isObject(e)||(y=arguments,e={duration:y[2],easing:y[3],complete:y[4]});a.isNumber(e.duration)||(e.duration=400);e.easing="function"===typeof e.easing?e.easing:Math[e.easing]||Math.easeInOutSine;e.curAnim=a.merge(f);a.objectEach(f,function(c,h){a.stop(n,h);w=new a.Fx(n,e,h);t=null;"d"===h?(w.paths=w.initPath(n,n.d,f.d),w.toD=f.d,u=0,t=1):n.attr?u=n.attr(h):(u=parseFloat(a.getStyle(n,h))||0,"opacity"!==h&&(x="px"));t||(t=c);t&&t.match&&t.match("px")&&
+(t=t.replace(/px/g,""));w.run(u,t,x)})};a.seriesType=function(n,f,e,u,x){var t=a.getOptions(),w=a.seriesTypes;t.plotOptions[n]=a.merge(t.plotOptions[f],e);w[n]=a.extendClass(w[f]||function(){},u);w[n].prototype.type=n;x&&(w[n].prototype.pointClass=a.extendClass(a.Point,x));return w[n]};a.uniqueKey=function(){var a=Math.random().toString(36).substring(2,9),f=0;return function(){return"highcharts-"+a+"-"+f++}}();I.jQuery&&(I.jQuery.fn.highcharts=function(){var n=[].slice.call(arguments);if(this[0])return n[0]?
+(new (a[a.isString(n[0])?n.shift():"Chart"])(this[0],n[0],n[1]),this):C[a.attr(this[0],"data-highcharts-chart")]})})(K);(function(a){var C=a.each,F=a.isNumber,I=a.map,n=a.merge,f=a.pInt;a.Color=function(e){if(!(this instanceof a.Color))return new a.Color(e);this.init(e)};a.Color.prototype={parsers:[{regex:/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]?(?:\.[0-9]+)?)\s*\)/,parse:function(a){return[f(a[1]),f(a[2]),f(a[3]),parseFloat(a[4],10)]}},{regex:/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/,
+parse:function(a){return[f(a[1]),f(a[2]),f(a[3]),1]}}],names:{white:"#ffffff",black:"#000000"},init:function(e){var f,x,t,w;if((this.input=e=this.names[e&&e.toLowerCase?e.toLowerCase():""]||e)&&e.stops)this.stops=I(e.stops,function(e){return new a.Color(e[1])});else if(e&&e.charAt&&"#"===e.charAt()&&(f=e.length,e=parseInt(e.substr(1),16),7===f?x=[(e&16711680)>>16,(e&65280)>>8,e&255,1]:4===f&&(x=[(e&3840)>>4|(e&3840)>>8,(e&240)>>4|e&240,(e&15)<<4|e&15,1])),!x)for(t=this.parsers.length;t--&&!x;)w=this.parsers[t],
+(f=w.regex.exec(e))&&(x=w.parse(f));this.rgba=x||[]},get:function(a){var e=this.input,f=this.rgba,t;this.stops?(t=n(e),t.stops=[].concat(t.stops),C(this.stops,function(e,y){t.stops[y]=[t.stops[y][0],e.get(a)]})):t=f&&F(f[0])?"rgb"===a||!a&&1===f[3]?"rgb("+f[0]+","+f[1]+","+f[2]+")":"a"===a?f[3]:"rgba("+f.join(",")+")":e;return t},brighten:function(a){var e,x=this.rgba;if(this.stops)C(this.stops,function(e){e.brighten(a)});else if(F(a)&&0!==a)for(e=0;3>e;e++)x[e]+=f(255*a),0>x[e]&&(x[e]=0),255<x[e]&&
+(x[e]=255);return this},setOpacity:function(a){this.rgba[3]=a;return this},tweenTo:function(a,f){var e=this.rgba,t=a.rgba;t.length&&e&&e.length?(a=1!==t[3]||1!==e[3],f=(a?"rgba(":"rgb(")+Math.round(t[0]+(e[0]-t[0])*(1-f))+","+Math.round(t[1]+(e[1]-t[1])*(1-f))+","+Math.round(t[2]+(e[2]-t[2])*(1-f))+(a?","+(t[3]+(e[3]-t[3])*(1-f)):"")+")"):f=a.input||"none";return f}};a.color=function(e){return new a.Color(e)}})(K);(function(a){var C,F,I=a.addEvent,n=a.animate,f=a.attr,e=a.charts,u=a.color,x=a.css,
+t=a.createElement,w=a.defined,y=a.deg2rad,c=a.destroyObjectProperties,h=a.doc,p=a.each,k=a.extend,q=a.erase,d=a.grep,b=a.hasTouch,v=a.inArray,J=a.isArray,l=a.isFirefox,L=a.isMS,B=a.isObject,D=a.isString,m=a.isWebKit,G=a.merge,A=a.noop,N=a.objectEach,E=a.pick,g=a.pInt,r=a.removeEvent,M=a.stop,O=a.svg,H=a.SVG_NS,R=a.symbolSizes,Q=a.win;C=a.SVGElement=function(){return this};k(C.prototype,{opacity:1,SVG_NS:H,textProps:"direction fontSize fontWeight fontFamily fontStyle color lineHeight width textAlign textDecoration textOverflow textOutline cursor".split(" "),
+init:function(a,g){this.element="span"===g?t(g):h.createElementNS(this.SVG_NS,g);this.renderer=a},animate:function(z,g,r){g=a.animObject(E(g,this.renderer.globalAnimation,!0));0!==g.duration?(r&&(g.complete=r),n(this,z,g)):(this.attr(z,null,r),g.step&&g.step.call(this));return this},complexColor:function(z,g,r){var b=this.renderer,k,m,d,H,c,h,q,A,v,P,l,O=[],M;a.fireEvent(this.renderer,"complexColor",{args:arguments},function(){z.radialGradient?m="radialGradient":z.linearGradient&&(m="linearGradient");
+m&&(d=z[m],c=b.gradients,q=z.stops,P=r.radialReference,J(d)&&(z[m]=d={x1:d[0],y1:d[1],x2:d[2],y2:d[3],gradientUnits:"userSpaceOnUse"}),"radialGradient"===m&&P&&!w(d.gradientUnits)&&(H=d,d=G(d,b.getRadialAttr(P,H),{gradientUnits:"userSpaceOnUse"})),N(d,function(a,z){"id"!==z&&O.push(z,a)}),N(q,function(a){O.push(a)}),O=O.join(","),c[O]?l=c[O].attr("id"):(d.id=l=a.uniqueKey(),c[O]=h=b.createElement(m).attr(d).add(b.defs),h.radAttr=H,h.stops=[],p(q,function(z){0===z[1].indexOf("rgba")?(k=a.color(z[1]),
+A=k.get("rgb"),v=k.get("a")):(A=z[1],v=1);z=b.createElement("stop").attr({offset:z[0],"stop-color":A,"stop-opacity":v}).add(h);h.stops.push(z)})),M="url("+b.url+"#"+l+")",r.setAttribute(g,M),r.gradient=O,z.toString=function(){return M})})},applyTextOutline:function(z){var g=this.element,r,b,d,m,k;-1!==z.indexOf("contrast")&&(z=z.replace(/contrast/g,this.renderer.getContrast(g.style.fill)));z=z.split(" ");b=z[z.length-1];if((d=z[0])&&"none"!==d&&a.svg){this.fakeTS=!0;z=[].slice.call(g.getElementsByTagName("tspan"));
+this.ySetter=this.xSetter;d=d.replace(/(^[\d\.]+)(.*?)$/g,function(a,z,g){return 2*z+g});for(k=z.length;k--;)r=z[k],"highcharts-text-outline"===r.getAttribute("class")&&q(z,g.removeChild(r));m=g.firstChild;p(z,function(a,z){0===z&&(a.setAttribute("x",g.getAttribute("x")),z=g.getAttribute("y"),a.setAttribute("y",z||0),null===z&&g.setAttribute("y",0));a=a.cloneNode(1);f(a,{"class":"highcharts-text-outline",fill:b,stroke:b,"stroke-width":d,"stroke-linejoin":"round"});g.insertBefore(a,m)})}},attr:function(a,
+g,r,b){var z,d=this.element,m,k=this,c,H;"string"===typeof a&&void 0!==g&&(z=a,a={},a[z]=g);"string"===typeof a?k=(this[a+"Getter"]||this._defaultGetter).call(this,a,d):(N(a,function(z,g){c=!1;b||M(this,g);this.symbolName&&/^(x|y|width|height|r|start|end|innerR|anchorX|anchorY)$/.test(g)&&(m||(this.symbolAttr(a),m=!0),c=!0);!this.rotation||"x"!==g&&"y"!==g||(this.doTransform=!0);c||(H=this[g+"Setter"]||this._defaultSetter,H.call(this,z,g,d),this.shadows&&/^(width|height|visibility|x|y|d|transform|cx|cy|r)$/.test(g)&&
+this.updateShadows(g,z,H))},this),this.afterSetters());r&&r.call(this);return k},afterSetters:function(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)},updateShadows:function(a,g,r){for(var z=this.shadows,d=z.length;d--;)r.call(z[d],"height"===a?Math.max(g-(z[d].cutHeight||0),0):"d"===a?this.d:g,a,z[d])},addClass:function(a,g){var z=this.attr("class")||"";-1===z.indexOf(a)&&(g||(a=(z+(z?" ":"")+a).replace("  "," ")),this.attr("class",a));return this},hasClass:function(a){return-1!==
+v(a,(this.attr("class")||"").split(" "))},removeClass:function(a){return this.attr("class",(this.attr("class")||"").replace(a,""))},symbolAttr:function(a){var z=this;p("x y r start end width height innerR anchorX anchorY".split(" "),function(g){z[g]=E(a[g],z[g])});z.attr({d:z.renderer.symbols[z.symbolName](z.x,z.y,z.width,z.height,z)})},clip:function(a){return this.attr("clip-path",a?"url("+this.renderer.url+"#"+a.id+")":"none")},crisp:function(a,g){var z;g=g||a.strokeWidth||0;z=Math.round(g)%2/2;
+a.x=Math.floor(a.x||this.x||0)+z;a.y=Math.floor(a.y||this.y||0)+z;a.width=Math.floor((a.width||this.width||0)-2*z);a.height=Math.floor((a.height||this.height||0)-2*z);w(a.strokeWidth)&&(a.strokeWidth=g);return a},css:function(a){var z=this.styles,r={},d=this.element,b,m="",c,H=!z,h=["textOutline","textOverflow","width"];a&&a.color&&(a.fill=a.color);z&&N(a,function(a,g){a!==z[g]&&(r[g]=a,H=!0)});H&&(z&&(a=k(z,r)),a&&(null===a.width||"auto"===a.width?delete this.textWidth:"text"===d.nodeName.toLowerCase()&&
+a.width&&(b=this.textWidth=g(a.width))),this.styles=a,b&&!O&&this.renderer.forExport&&delete a.width,d.namespaceURI===this.SVG_NS?(c=function(a,z){return"-"+z.toLowerCase()},N(a,function(a,z){-1===v(z,h)&&(m+=z.replace(/([A-Z])/g,c)+":"+a+";")}),m&&f(d,"style",m)):x(d,a),this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),a&&a.textOutline&&this.applyTextOutline(a.textOutline)));return this},strokeWidth:function(){return this["stroke-width"]||0},on:function(a,g){var z=this,r=
+z.element;b&&"click"===a?(r.ontouchstart=function(a){z.touchEventFired=Date.now();a.preventDefault();g.call(r,a)},r.onclick=function(a){(-1===Q.navigator.userAgent.indexOf("Android")||1100<Date.now()-(z.touchEventFired||0))&&g.call(r,a)}):r["on"+a]=g;return this},setRadialReference:function(a){var z=this.renderer.gradients[this.element.gradient];this.element.radialReference=a;z&&z.radAttr&&z.animate(this.renderer.getRadialAttr(a,z.radAttr));return this},translate:function(a,g){return this.attr({translateX:a,
+translateY:g})},invert:function(a){this.inverted=a;this.updateTransform();return this},updateTransform:function(){var a=this.translateX||0,g=this.translateY||0,r=this.scaleX,d=this.scaleY,b=this.inverted,m=this.rotation,k=this.matrix,c=this.element;b&&(a+=this.width,g+=this.height);a=["translate("+a+","+g+")"];w(k)&&a.push("matrix("+k.join(",")+")");b?a.push("rotate(90) scale(-1,1)"):m&&a.push("rotate("+m+" "+E(this.rotationOriginX,c.getAttribute("x"),0)+" "+E(this.rotationOriginY,c.getAttribute("y")||
+0)+")");(w(r)||w(d))&&a.push("scale("+E(r,1)+" "+E(d,1)+")");a.length&&c.setAttribute("transform",a.join(" "))},toFront:function(){var a=this.element;a.parentNode.appendChild(a);return this},align:function(a,g,r){var z,d,b,m,k={};d=this.renderer;b=d.alignedObjects;var c,H;if(a){if(this.alignOptions=a,this.alignByTranslate=g,!r||D(r))this.alignTo=z=r||"renderer",q(b,this),b.push(this),r=null}else a=this.alignOptions,g=this.alignByTranslate,z=this.alignTo;r=E(r,d[z],d);z=a.align;d=a.verticalAlign;b=
+(r.x||0)+(a.x||0);m=(r.y||0)+(a.y||0);"right"===z?c=1:"center"===z&&(c=2);c&&(b+=(r.width-(a.width||0))/c);k[g?"translateX":"x"]=Math.round(b);"bottom"===d?H=1:"middle"===d&&(H=2);H&&(m+=(r.height-(a.height||0))/H);k[g?"translateY":"y"]=Math.round(m);this[this.placed?"animate":"attr"](k);this.placed=!0;this.alignAttr=k;return this},getBBox:function(a,g){var z,r=this.renderer,d,b=this.element,m=this.styles,c,H=this.textStr,h,q=r.cache,A=r.cacheKeys,v=b.namespaceURI===this.SVG_NS,l;g=E(g,this.rotation);
+d=g*y;c=m&&m.fontSize;w(H)&&(l=H.toString(),-1===l.indexOf("\x3c")&&(l=l.replace(/[0-9]/g,"0")),l+=["",g||0,c,this.textWidth,m&&m.textOverflow].join());l&&!a&&(z=q[l]);if(!z){if(v||r.forExport){try{(h=this.fakeTS&&function(a){p(b.querySelectorAll(".highcharts-text-outline"),function(g){g.style.display=a})})&&h("none"),z=b.getBBox?k({},b.getBBox()):{width:b.offsetWidth,height:b.offsetHeight},h&&h("")}catch(X){}if(!z||0>z.width)z={width:0,height:0}}else z=this.htmlGetBBox();r.isSVG&&(a=z.width,r=z.height,
+v&&(z.height=r={"11px,17":14,"13px,20":16}[m&&m.fontSize+","+Math.round(r)]||r),g&&(z.width=Math.abs(r*Math.sin(d))+Math.abs(a*Math.cos(d)),z.height=Math.abs(r*Math.cos(d))+Math.abs(a*Math.sin(d))));if(l&&0<z.height){for(;250<A.length;)delete q[A.shift()];q[l]||A.push(l);q[l]=z}}return z},show:function(a){return this.attr({visibility:a?"inherit":"visible"})},hide:function(){return this.attr({visibility:"hidden"})},fadeOut:function(a){var g=this;g.animate({opacity:0},{duration:a||150,complete:function(){g.attr({y:-9999})}})},
+add:function(a){var g=this.renderer,z=this.element,r;a&&(this.parentGroup=a);this.parentInverted=a&&a.inverted;void 0!==this.textStr&&g.buildText(this);this.added=!0;if(!a||a.handleZ||this.zIndex)r=this.zIndexSetter();r||(a?a.element:g.box).appendChild(z);if(this.onAdd)this.onAdd();return this},safeRemoveChild:function(a){var g=a.parentNode;g&&g.removeChild(a)},destroy:function(){var a=this,g=a.element||{},r=a.renderer.isSVG&&"SPAN"===g.nodeName&&a.parentGroup,d=g.ownerSVGElement,b=a.clipPath;g.onclick=
+g.onmouseout=g.onmouseover=g.onmousemove=g.point=null;M(a);b&&d&&(p(d.querySelectorAll("[clip-path],[CLIP-PATH]"),function(a){var g=a.getAttribute("clip-path"),z=b.element.id;(-1<g.indexOf("(#"+z+")")||-1<g.indexOf('("#'+z+'")'))&&a.removeAttribute("clip-path")}),a.clipPath=b.destroy());if(a.stops){for(d=0;d<a.stops.length;d++)a.stops[d]=a.stops[d].destroy();a.stops=null}a.safeRemoveChild(g);for(a.destroyShadows();r&&r.div&&0===r.div.childNodes.length;)g=r.parentGroup,a.safeRemoveChild(r.div),delete r.div,
+r=g;a.alignTo&&q(a.renderer.alignedObjects,a);N(a,function(g,z){delete a[z]});return null},shadow:function(a,g,r){var z=[],d,b,m=this.element,k,c,H,h;if(!a)this.destroyShadows();else if(!this.shadows){c=E(a.width,3);H=(a.opacity||.15)/c;h=this.parentInverted?"(-1,-1)":"("+E(a.offsetX,1)+", "+E(a.offsetY,1)+")";for(d=1;d<=c;d++)b=m.cloneNode(0),k=2*c+1-2*d,f(b,{stroke:a.color||"#000000","stroke-opacity":H*d,"stroke-width":k,transform:"translate"+h,fill:"none"}),b.setAttribute("class",(b.getAttribute("class")||
+"")+" highcharts-shadow"),r&&(f(b,"height",Math.max(f(b,"height")-k,0)),b.cutHeight=k),g?g.element.appendChild(b):m.parentNode&&m.parentNode.insertBefore(b,m),z.push(b);this.shadows=z}return this},destroyShadows:function(){p(this.shadows||[],function(a){this.safeRemoveChild(a)},this);this.shadows=void 0},xGetter:function(a){"circle"===this.element.nodeName&&("x"===a?a="cx":"y"===a&&(a="cy"));return this._defaultGetter(a)},_defaultGetter:function(a){a=E(this[a+"Value"],this[a],this.element?this.element.getAttribute(a):
+null,0);/^[\-0-9\.]+$/.test(a)&&(a=parseFloat(a));return a},dSetter:function(a,g,r){a&&a.join&&(a=a.join(" "));/(NaN| {2}|^$)/.test(a)&&(a="M 0 0");this[g]!==a&&(r.setAttribute(g,a),this[g]=a)},dashstyleSetter:function(a){var r,z=this["stroke-width"];"inherit"===z&&(z=1);if(a=a&&a.toLowerCase()){a=a.replace("shortdashdotdot","3,1,1,1,1,1,").replace("shortdashdot","3,1,1,1").replace("shortdot","1,1,").replace("shortdash","3,1,").replace("longdash","8,3,").replace(/dot/g,"1,3,").replace("dash","4,3,").replace(/,$/,
+"").split(",");for(r=a.length;r--;)a[r]=g(a[r])*z;a=a.join(",").replace(/NaN/g,"none");this.element.setAttribute("stroke-dasharray",a)}},alignSetter:function(a){this.alignValue=a;this.element.setAttribute("text-anchor",{left:"start",center:"middle",right:"end"}[a])},opacitySetter:function(a,g,r){this[g]=a;r.setAttribute(g,a)},titleSetter:function(a){var g=this.element.getElementsByTagName("title")[0];g||(g=h.createElementNS(this.SVG_NS,"title"),this.element.appendChild(g));g.firstChild&&g.removeChild(g.firstChild);
+g.appendChild(h.createTextNode(String(E(a),"").replace(/<[^>]*>/g,"").replace(/&lt;/g,"\x3c").replace(/&gt;/g,"\x3e")))},textSetter:function(a){a!==this.textStr&&(delete this.bBox,this.textStr=a,this.added&&this.renderer.buildText(this))},fillSetter:function(a,g,r){"string"===typeof a?r.setAttribute(g,a):a&&this.complexColor(a,g,r)},visibilitySetter:function(a,g,r){"inherit"===a?r.removeAttribute(g):this[g]!==a&&r.setAttribute(g,a);this[g]=a},zIndexSetter:function(a,r){var z=this.renderer,d=this.parentGroup,
+b=(d||z).element||z.box,m,k=this.element,c,H,z=b===z.box;m=this.added;var h;w(a)?(k.setAttribute("data-z-index",a),a=+a,this[r]===a&&(m=!1)):w(this[r])&&k.removeAttribute("data-z-index");this[r]=a;if(m){(a=this.zIndex)&&d&&(d.handleZ=!0);r=b.childNodes;for(h=r.length-1;0<=h&&!c;h--)if(d=r[h],m=d.getAttribute("data-z-index"),H=!w(m),d!==k)if(0>a&&H&&!z&&!h)b.insertBefore(k,r[h]),c=!0;else if(g(m)<=a||H&&(!w(a)||0<=a))b.insertBefore(k,r[h+1]||null),c=!0;c||(b.insertBefore(k,r[z?3:0]||null),c=!0)}return c},
+_defaultSetter:function(a,g,r){r.setAttribute(g,a)}});C.prototype.yGetter=C.prototype.xGetter;C.prototype.translateXSetter=C.prototype.translateYSetter=C.prototype.rotationSetter=C.prototype.verticalAlignSetter=C.prototype.rotationOriginXSetter=C.prototype.rotationOriginYSetter=C.prototype.scaleXSetter=C.prototype.scaleYSetter=C.prototype.matrixSetter=function(a,g){this[g]=a;this.doTransform=!0};C.prototype["stroke-widthSetter"]=C.prototype.strokeSetter=function(a,g,r){this[g]=a;this.stroke&&this["stroke-width"]?
+(C.prototype.fillSetter.call(this,this.stroke,"stroke",r),r.setAttribute("stroke-width",this["stroke-width"]),this.hasStroke=!0):"stroke-width"===g&&0===a&&this.hasStroke&&(r.removeAttribute("stroke"),this.hasStroke=!1)};F=a.SVGRenderer=function(){this.init.apply(this,arguments)};k(F.prototype,{Element:C,SVG_NS:H,init:function(a,g,r,d,b,k){var z;d=this.createElement("svg").attr({version:"1.1","class":"highcharts-root"}).css(this.getStyle(d));z=d.element;a.appendChild(z);f(a,"dir","ltr");-1===a.innerHTML.indexOf("xmlns")&&
+f(z,"xmlns",this.SVG_NS);this.isSVG=!0;this.box=z;this.boxWrapper=d;this.alignedObjects=[];this.url=(l||m)&&h.getElementsByTagName("base").length?Q.location.href.split("#")[0].replace(/<[^>]*>/g,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20"):"";this.createElement("desc").add().element.appendChild(h.createTextNode("Created with Highcharts 6.2.0"));this.defs=this.createElement("defs").add();this.allowHTML=k;this.forExport=b;this.gradients={};this.cache={};this.cacheKeys=[];this.imgCount=0;this.setSize(g,
+r,!1);var c;l&&a.getBoundingClientRect&&(g=function(){x(a,{left:0,top:0});c=a.getBoundingClientRect();x(a,{left:Math.ceil(c.left)-c.left+"px",top:Math.ceil(c.top)-c.top+"px"})},g(),this.unSubPixelFix=I(Q,"resize",g))},getStyle:function(a){return this.style=k({fontFamily:'"Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, sans-serif',fontSize:"12px"},a)},setStyle:function(a){this.boxWrapper.css(this.getStyle(a))},isHidden:function(){return!this.boxWrapper.getBBox().width},destroy:function(){var a=
+this.defs;this.box=null;this.boxWrapper=this.boxWrapper.destroy();c(this.gradients||{});this.gradients=null;a&&(this.defs=a.destroy());this.unSubPixelFix&&this.unSubPixelFix();return this.alignedObjects=null},createElement:function(a){var g=new this.Element;g.init(this,a);return g},draw:A,getRadialAttr:function(a,g){return{cx:a[0]-a[2]/2+g.cx*a[2],cy:a[1]-a[2]/2+g.cy*a[2],r:g.r*a[2]}},truncate:function(a,g,r,d,b,m,k){var z=this,c=a.rotation,H,q=d?1:0,A=(r||d).length,v=A,p=[],l=function(a){g.firstChild&&
+g.removeChild(g.firstChild);a&&g.appendChild(h.createTextNode(a))},O=function(m,c){c=c||m;if(void 0===p[c])if(g.getSubStringLength)try{p[c]=b+g.getSubStringLength(0,d?c+1:c)}catch(Y){}else z.getSpanWidth&&(l(k(r||d,m)),p[c]=b+z.getSpanWidth(a,g));return p[c]},G,M;a.rotation=0;G=O(g.textContent.length);if(M=b+G>m){for(;q<=A;)v=Math.ceil((q+A)/2),d&&(H=k(d,v)),G=O(v,H&&H.length-1),q===A?q=A+1:G>m?A=v-1:q=v;0===A?l(""):r&&A===r.length-1||l(H||k(r||d,v))}d&&d.splice(0,v);a.actualWidth=G;a.rotation=c;
+return M},escapes:{"\x26":"\x26amp;","\x3c":"\x26lt;","\x3e":"\x26gt;","'":"\x26#39;",'"':"\x26quot;"},buildText:function(a){var r=a.element,b=this,m=b.forExport,c=E(a.textStr,"").toString(),z=-1!==c.indexOf("\x3c"),k=r.childNodes,q,A=f(r,"x"),l=a.styles,G=a.textWidth,M=l&&l.lineHeight,e=l&&l.textOutline,B=l&&"ellipsis"===l.textOverflow,R=l&&"nowrap"===l.whiteSpace,y=l&&l.fontSize,t,D,J=k.length,l=G&&!a.added&&this.box,w=function(a){var d;d=/(px|em)$/.test(a&&a.style.fontSize)?a.style.fontSize:y||
+b.style.fontSize||12;return M?g(M):b.fontMetrics(d,a.getAttribute("style")?a:r).h},Q=function(a,g){N(b.escapes,function(r,d){g&&-1!==v(r,g)||(a=a.toString().replace(new RegExp(r,"g"),d))});return a},u=function(a,g){var r;r=a.indexOf("\x3c");a=a.substring(r,a.indexOf("\x3e")-r);r=a.indexOf(g+"\x3d");if(-1!==r&&(r=r+g.length+1,g=a.charAt(r),'"'===g||"'"===g))return a=a.substring(r+1),a.substring(0,a.indexOf(g))};t=[c,B,R,M,e,y,G].join();if(t!==a.textCache){for(a.textCache=t;J--;)r.removeChild(k[J]);
+z||e||B||G||-1!==c.indexOf(" ")?(l&&l.appendChild(r),c=z?c.replace(/<(b|strong)>/g,'\x3cspan style\x3d"font-weight:bold"\x3e').replace(/<(i|em)>/g,'\x3cspan style\x3d"font-style:italic"\x3e').replace(/<a/g,"\x3cspan").replace(/<\/(b|strong|i|em|a)>/g,"\x3c/span\x3e").split(/<br.*?>/g):[c],c=d(c,function(a){return""!==a}),p(c,function(g,d){var c,z=0,k=0;g=g.replace(/^\s+|\s+$/g,"").replace(/<span/g,"|||\x3cspan").replace(/<\/span>/g,"\x3c/span\x3e|||");c=g.split("|||");p(c,function(g){if(""!==g||1===
+c.length){var v={},l=h.createElementNS(b.SVG_NS,"tspan"),p,M;(p=u(g,"class"))&&f(l,"class",p);if(p=u(g,"style"))p=p.replace(/(;| |^)color([ :])/,"$1fill$2"),f(l,"style",p);(M=u(g,"href"))&&!m&&(f(l,"onclick",'location.href\x3d"'+M+'"'),f(l,"class","highcharts-anchor"),x(l,{cursor:"pointer"}));g=Q(g.replace(/<[a-zA-Z\/](.|\n)*?>/g,"")||" ");if(" "!==g){l.appendChild(h.createTextNode(g));z?v.dx=0:d&&null!==A&&(v.x=A);f(l,v);r.appendChild(l);!z&&D&&(!O&&m&&x(l,{display:"block"}),f(l,"dy",w(l)));if(G){var e=
+g.replace(/([^\^])-/g,"$1- ").split(" "),v=!R&&(1<c.length||d||1<e.length);M=0;var t=w(l);if(B)q=b.truncate(a,l,g,void 0,0,Math.max(0,G-parseInt(y||12,10)),function(a,g){return a.substring(0,g)+"\u2026"});else if(v)for(;e.length;)e.length&&!R&&0<M&&(l=h.createElementNS(H,"tspan"),f(l,{dy:t,x:A}),p&&f(l,"style",p),l.appendChild(h.createTextNode(e.join(" ").replace(/- /g,"-"))),r.appendChild(l)),b.truncate(a,l,null,e,0===M?k:0,G,function(a,g){return e.slice(0,g).join(" ").replace(/- /g,"-")}),k=a.actualWidth,
+M++}z++}}});D=D||r.childNodes.length}),B&&q&&a.attr("title",Q(a.textStr,["\x26lt;","\x26gt;"])),l&&l.removeChild(r),e&&a.applyTextOutline&&a.applyTextOutline(e)):r.appendChild(h.createTextNode(Q(c)))}},getContrast:function(a){a=u(a).rgba;a[0]*=1;a[1]*=1.2;a[2]*=.5;return 459<a[0]+a[1]+a[2]?"#000000":"#FFFFFF"},button:function(a,g,r,d,b,c,m,H,h){var z=this.label(a,g,r,h,null,null,null,null,"button"),q=0;z.attr(G({padding:8,r:2},b));var A,v,l,p;b=G({fill:"#f7f7f7",stroke:"#cccccc","stroke-width":1,
+style:{color:"#333333",cursor:"pointer",fontWeight:"normal"}},b);A=b.style;delete b.style;c=G(b,{fill:"#e6e6e6"},c);v=c.style;delete c.style;m=G(b,{fill:"#e6ebf5",style:{color:"#000000",fontWeight:"bold"}},m);l=m.style;delete m.style;H=G(b,{style:{color:"#cccccc"}},H);p=H.style;delete H.style;I(z.element,L?"mouseover":"mouseenter",function(){3!==q&&z.setState(1)});I(z.element,L?"mouseout":"mouseleave",function(){3!==q&&z.setState(q)});z.setState=function(a){1!==a&&(z.state=q=a);z.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+
+["normal","hover","pressed","disabled"][a||0]);z.attr([b,c,m,H][a||0]).css([A,v,l,p][a||0])};z.attr(b).css(k({cursor:"default"},A));return z.on("click",function(a){3!==q&&d.call(z,a)})},crispLine:function(a,g){a[1]===a[4]&&(a[1]=a[4]=Math.round(a[1])-g%2/2);a[2]===a[5]&&(a[2]=a[5]=Math.round(a[2])+g%2/2);return a},path:function(a){var g={fill:"none"};J(a)?g.d=a:B(a)&&k(g,a);return this.createElement("path").attr(g)},circle:function(a,g,r){a=B(a)?a:{x:a,y:g,r:r};g=this.createElement("circle");g.xSetter=
+g.ySetter=function(a,g,r){r.setAttribute("c"+g,a)};return g.attr(a)},arc:function(a,g,r,d,b,c){B(a)?(d=a,g=d.y,r=d.r,a=d.x):d={innerR:d,start:b,end:c};a=this.symbol("arc",a,g,r,r,d);a.r=r;return a},rect:function(a,g,r,d,b,c){b=B(a)?a.r:b;var m=this.createElement("rect");a=B(a)?a:void 0===a?{}:{x:a,y:g,width:Math.max(r,0),height:Math.max(d,0)};void 0!==c&&(a.strokeWidth=c,a=m.crisp(a));a.fill="none";b&&(a.r=b);m.rSetter=function(a,g,r){f(r,{rx:a,ry:a})};return m.attr(a)},setSize:function(a,g,r){var d=
+this.alignedObjects,b=d.length;this.width=a;this.height=g;for(this.boxWrapper.animate({width:a,height:g},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:E(r,!0)?void 0:0});b--;)d[b].align()},g:function(a){var g=this.createElement("g");return a?g.attr({"class":"highcharts-"+a}):g},image:function(a,g,r,d,b,c){var m={preserveAspectRatio:"none"},H,h=function(a,g){a.setAttributeNS?a.setAttributeNS("http://www.w3.org/1999/xlink","href",g):a.setAttribute("hc-svg-href",
+g)},q=function(g){h(H.element,a);c.call(H,g)};1<arguments.length&&k(m,{x:g,y:r,width:d,height:b});H=this.createElement("image").attr(m);c?(h(H.element,"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw\x3d\x3d"),m=new Q.Image,I(m,"load",q),m.src=a,m.complete&&q({})):h(H.element,a);return H},symbol:function(a,g,r,d,b,c){var m=this,H,q=/^url\((.*?)\)$/,A=q.test(a),v=!A&&(this.symbols[a]?a:"circle"),z=v&&this.symbols[v],l=w(g)&&z&&z.call(this.symbols,Math.round(g),Math.round(r),
+d,b,c),G,M;z?(H=this.path(l),H.attr("fill","none"),k(H,{symbolName:v,x:g,y:r,width:d,height:b}),c&&k(H,c)):A&&(G=a.match(q)[1],H=this.image(G),H.imgwidth=E(R[G]&&R[G].width,c&&c.width),H.imgheight=E(R[G]&&R[G].height,c&&c.height),M=function(){H.attr({width:H.width,height:H.height})},p(["width","height"],function(a){H[a+"Setter"]=function(a,g){var r={},d=this["img"+g],b="width"===g?"translateX":"translateY";this[g]=a;w(d)&&(this.element&&this.element.setAttribute(g,d),this.alignByTranslate||(r[b]=
+((this[g]||0)-d)/2,this.attr(r)))}}),w(g)&&H.attr({x:g,y:r}),H.isImg=!0,w(H.imgwidth)&&w(H.imgheight)?M():(H.attr({width:0,height:0}),t("img",{onload:function(){var a=e[m.chartIndex];0===this.width&&(x(this,{position:"absolute",top:"-999em"}),h.body.appendChild(this));R[G]={width:this.width,height:this.height};H.imgwidth=this.width;H.imgheight=this.height;H.element&&M();this.parentNode&&this.parentNode.removeChild(this);m.imgCount--;if(!m.imgCount&&a&&a.onload)a.onload()},src:G}),this.imgCount++));
+return H},symbols:{circle:function(a,g,r,d){return this.arc(a+r/2,g+d/2,r/2,d/2,{start:0,end:2*Math.PI,open:!1})},square:function(a,g,r,d){return["M",a,g,"L",a+r,g,a+r,g+d,a,g+d,"Z"]},triangle:function(a,g,r,d){return["M",a+r/2,g,"L",a+r,g+d,a,g+d,"Z"]},"triangle-down":function(a,g,r,d){return["M",a,g,"L",a+r,g,a+r/2,g+d,"Z"]},diamond:function(a,g,r,d){return["M",a+r/2,g,"L",a+r,g+d/2,a+r/2,g+d,a,g+d/2,"Z"]},arc:function(a,g,r,d,b){var c=b.start,m=b.r||r,H=b.r||d||r,k=b.end-.001;r=b.innerR;d=E(b.open,
+.001>Math.abs(b.end-b.start-2*Math.PI));var h=Math.cos(c),q=Math.sin(c),A=Math.cos(k),k=Math.sin(k);b=.001>b.end-c-Math.PI?0:1;m=["M",a+m*h,g+H*q,"A",m,H,0,b,1,a+m*A,g+H*k];w(r)&&m.push(d?"M":"L",a+r*A,g+r*k,"A",r,r,0,b,0,a+r*h,g+r*q);m.push(d?"":"Z");return m},callout:function(a,g,r,d,b){var c=Math.min(b&&b.r||0,r,d),m=c+6,H=b&&b.anchorX;b=b&&b.anchorY;var k;k=["M",a+c,g,"L",a+r-c,g,"C",a+r,g,a+r,g,a+r,g+c,"L",a+r,g+d-c,"C",a+r,g+d,a+r,g+d,a+r-c,g+d,"L",a+c,g+d,"C",a,g+d,a,g+d,a,g+d-c,"L",a,g+c,
+"C",a,g,a,g,a+c,g];H&&H>r?b>g+m&&b<g+d-m?k.splice(13,3,"L",a+r,b-6,a+r+6,b,a+r,b+6,a+r,g+d-c):k.splice(13,3,"L",a+r,d/2,H,b,a+r,d/2,a+r,g+d-c):H&&0>H?b>g+m&&b<g+d-m?k.splice(33,3,"L",a,b+6,a-6,b,a,b-6,a,g+c):k.splice(33,3,"L",a,d/2,H,b,a,d/2,a,g+c):b&&b>d&&H>a+m&&H<a+r-m?k.splice(23,3,"L",H+6,g+d,H,g+d+6,H-6,g+d,a+c,g+d):b&&0>b&&H>a+m&&H<a+r-m&&k.splice(3,3,"L",H-6,g,H,g-6,H+6,g,r-c,g);return k}},clipRect:function(g,r,d,b){var c=a.uniqueKey(),m=this.createElement("clipPath").attr({id:c}).add(this.defs);
+g=this.rect(g,r,d,b,0).add(m);g.id=c;g.clipPath=m;g.count=0;return g},text:function(a,g,r,d){var b={};if(d&&(this.allowHTML||!this.forExport))return this.html(a,g,r);b.x=Math.round(g||0);r&&(b.y=Math.round(r));w(a)&&(b.text=a);a=this.createElement("text").attr(b);d||(a.xSetter=function(a,g,r){var d=r.getElementsByTagName("tspan"),b,c=r.getAttribute(g),m;for(m=0;m<d.length;m++)b=d[m],b.getAttribute(g)===c&&b.setAttribute(g,a);r.setAttribute(g,a)});return a},fontMetrics:function(a,r){a=a||r&&r.style&&
+r.style.fontSize||this.style&&this.style.fontSize;a=/px/.test(a)?g(a):/em/.test(a)?parseFloat(a)*(r?this.fontMetrics(null,r.parentNode).f:16):12;r=24>a?a+3:Math.round(1.2*a);return{h:r,b:Math.round(.8*r),f:a}},rotCorr:function(a,g,r){var d=a;g&&r&&(d=Math.max(d*Math.cos(g*y),4));return{x:-a/3*Math.sin(g*y),y:d}},label:function(g,d,b,c,m,H,h,q,A){var v=this,l=v.g("button"!==A&&"label"),M=l.text=v.text("",0,0,h).attr({zIndex:1}),O,z,e=0,B=3,R=0,f,y,t,D,J,E={},N,x,Q=/^url\((.*?)\)$/.test(c),u=Q,L,n,
+P,T;A&&l.addClass("highcharts-"+A);u=Q;L=function(){return(N||0)%2/2};n=function(){var a=M.element.style,g={};z=(void 0===f||void 0===y||J)&&w(M.textStr)&&M.getBBox();l.width=(f||z.width||0)+2*B+R;l.height=(y||z.height||0)+2*B;x=B+v.fontMetrics(a&&a.fontSize,M).b;u&&(O||(l.box=O=v.symbols[c]||Q?v.symbol(c):v.rect(),O.addClass(("button"===A?"":"highcharts-label-box")+(A?" highcharts-"+A+"-box":"")),O.add(l),a=L(),g.x=a,g.y=(q?-x:0)+a),g.width=Math.round(l.width),g.height=Math.round(l.height),O.attr(k(g,
+E)),E={})};P=function(){var a=R+B,g;g=q?0:x;w(f)&&z&&("center"===J||"right"===J)&&(a+={center:.5,right:1}[J]*(f-z.width));if(a!==M.x||g!==M.y)M.attr("x",a),M.hasBoxWidthChanged&&(z=M.getBBox(!0),n()),void 0!==g&&M.attr("y",g);M.x=a;M.y=g};T=function(a,g){O?O.attr(a,g):E[a]=g};l.onAdd=function(){M.add(l);l.attr({text:g||0===g?g:"",x:d,y:b});O&&w(m)&&l.attr({anchorX:m,anchorY:H})};l.widthSetter=function(g){f=a.isNumber(g)?g:null};l.heightSetter=function(a){y=a};l["text-alignSetter"]=function(a){J=a};
+l.paddingSetter=function(a){w(a)&&a!==B&&(B=l.padding=a,P())};l.paddingLeftSetter=function(a){w(a)&&a!==R&&(R=a,P())};l.alignSetter=function(a){a={left:0,center:.5,right:1}[a];a!==e&&(e=a,z&&l.attr({x:t}))};l.textSetter=function(a){void 0!==a&&M.textSetter(a);n();P()};l["stroke-widthSetter"]=function(a,g){a&&(u=!0);N=this["stroke-width"]=a;T(g,a)};l.strokeSetter=l.fillSetter=l.rSetter=function(a,g){"r"!==g&&("fill"===g&&a&&(u=!0),l[g]=a);T(g,a)};l.anchorXSetter=function(a,g){m=l.anchorX=a;T(g,Math.round(a)-
+L()-t)};l.anchorYSetter=function(a,g){H=l.anchorY=a;T(g,a-D)};l.xSetter=function(a){l.x=a;e&&(a-=e*((f||z.width)+2*B),l["forceAnimate:x"]=!0);t=Math.round(a);l.attr("translateX",t)};l.ySetter=function(a){D=l.y=Math.round(a);l.attr("translateY",D)};var V=l.css;return k(l,{css:function(a){if(a){var g={};a=G(a);p(l.textProps,function(r){void 0!==a[r]&&(g[r]=a[r],delete a[r])});M.css(g);"width"in g&&n()}return V.call(l,a)},getBBox:function(){return{width:z.width+2*B,height:z.height+2*B,x:z.x-B,y:z.y-
+B}},shadow:function(a){a&&(n(),O&&O.shadow(a));return l},destroy:function(){r(l.element,"mouseenter");r(l.element,"mouseleave");M&&(M=M.destroy());O&&(O=O.destroy());C.prototype.destroy.call(l);l=v=n=P=T=null}})}});a.Renderer=F})(K);(function(a){var C=a.attr,F=a.createElement,I=a.css,n=a.defined,f=a.each,e=a.extend,u=a.isFirefox,x=a.isMS,t=a.isWebKit,w=a.pick,y=a.pInt,c=a.SVGRenderer,h=a.win,p=a.wrap;e(a.SVGElement.prototype,{htmlCss:function(a){var c="SPAN"===this.element.tagName&&a&&"width"in a,
+d=w(c&&a.width,void 0);c&&(delete a.width,this.textWidth=d,this.htmlUpdateTransform());a&&"ellipsis"===a.textOverflow&&(a.whiteSpace="nowrap",a.overflow="hidden");this.styles=e(this.styles,a);I(this.element,a);return this},htmlGetBBox:function(){var a=this.element;return{x:a.offsetLeft,y:a.offsetTop,width:a.offsetWidth,height:a.offsetHeight}},htmlUpdateTransform:function(){if(this.added){var a=this.renderer,c=this.element,d=this.translateX||0,b=this.translateY||0,h=this.x||0,p=this.y||0,l=this.textAlign||
+"left",e={left:0,center:.5,right:1}[l],B=this.styles,t=B&&B.whiteSpace;I(c,{marginLeft:d,marginTop:b});this.shadows&&f(this.shadows,function(a){I(a,{marginLeft:d+1,marginTop:b+1})});this.inverted&&f(c.childNodes,function(d){a.invertChild(d,c)});if("SPAN"===c.tagName){var B=this.rotation,m=this.textWidth&&y(this.textWidth),G=[B,l,c.innerHTML,this.textWidth,this.textAlign].join(),A;(A=m!==this.oldTextWidth)&&!(A=m>this.oldTextWidth)&&((A=this.textPxLength)||(I(c,{width:"",whiteSpace:t||"nowrap"}),A=
+c.offsetWidth),A=A>m);A&&/[ \-]/.test(c.textContent||c.innerText)?(I(c,{width:m+"px",display:"block",whiteSpace:t||"normal"}),this.oldTextWidth=m,this.hasBoxWidthChanged=!0):this.hasBoxWidthChanged=!1;G!==this.cTT&&(t=a.fontMetrics(c.style.fontSize).b,!n(B)||B===(this.oldRotation||0)&&l===this.oldAlign||this.setSpanRotation(B,e,t),this.getSpanCorrection(!n(B)&&this.textPxLength||c.offsetWidth,t,e,B,l));I(c,{left:h+(this.xCorr||0)+"px",top:p+(this.yCorr||0)+"px"});this.cTT=G;this.oldRotation=B;this.oldAlign=
+l}}else this.alignOnAdd=!0},setSpanRotation:function(a,c,d){var b={},k=this.renderer.getTransformKey();b[k]=b.transform="rotate("+a+"deg)";b[k+(u?"Origin":"-origin")]=b.transformOrigin=100*c+"% "+d+"px";I(this.element,b)},getSpanCorrection:function(a,c,d){this.xCorr=-a*d;this.yCorr=-c}});e(c.prototype,{getTransformKey:function(){return x&&!/Edge/.test(h.navigator.userAgent)?"-ms-transform":t?"-webkit-transform":u?"MozTransform":h.opera?"-o-transform":""},html:function(a,c,d){var b=this.createElement("span"),
+k=b.element,h=b.renderer,l=h.isSVG,q=function(a,d){f(["opacity","visibility"],function(b){p(a,b+"Setter",function(a,b,c,m){a.call(this,b,c,m);d[c]=b})});a.addedSetters=!0};b.textSetter=function(a){a!==k.innerHTML&&delete this.bBox;this.textStr=a;k.innerHTML=w(a,"");b.doTransform=!0};l&&q(b,b.element.style);b.xSetter=b.ySetter=b.alignSetter=b.rotationSetter=function(a,d){"align"===d&&(d="textAlign");b[d]=a;b.doTransform=!0};b.afterSetters=function(){this.doTransform&&(this.htmlUpdateTransform(),this.doTransform=
+!1)};b.attr({text:a,x:Math.round(c),y:Math.round(d)}).css({fontFamily:this.style.fontFamily,fontSize:this.style.fontSize,position:"absolute"});k.style.whiteSpace="nowrap";b.css=b.htmlCss;l&&(b.add=function(a){var d,c=h.box.parentNode,l=[];if(this.parentGroup=a){if(d=a.div,!d){for(;a;)l.push(a),a=a.parentGroup;f(l.reverse(),function(a){function m(g,d){a[d]=g;"translateX"===d?k.left=g+"px":k.top=g+"px";a.doTransform=!0}var k,g=C(a.element,"class");g&&(g={className:g});d=a.div=a.div||F("div",g,{position:"absolute",
+left:(a.translateX||0)+"px",top:(a.translateY||0)+"px",display:a.display,opacity:a.opacity,pointerEvents:a.styles&&a.styles.pointerEvents},d||c);k=d.style;e(a,{classSetter:function(a){return function(g){this.element.setAttribute("class",g);a.className=g}}(d),on:function(){l[0].div&&b.on.apply({element:l[0].div},arguments);return a},translateXSetter:m,translateYSetter:m});a.addedSetters||q(a,k)})}}else d=c;d.appendChild(k);b.added=!0;b.alignOnAdd&&b.htmlUpdateTransform();return b});return b}})})(K);
+(function(a){var C=a.defined,F=a.each,I=a.extend,n=a.merge,f=a.pick,e=a.timeUnits,u=a.win;a.Time=function(a){this.update(a,!1)};a.Time.prototype={defaultOptions:{},update:function(a){var e=f(a&&a.useUTC,!0),w=this;this.options=a=n(!0,this.options||{},a);this.Date=a.Date||u.Date;this.timezoneOffset=(this.useUTC=e)&&a.timezoneOffset;this.getTimezoneOffset=this.timezoneOffsetFunction();(this.variableTimezone=!(e&&!a.getTimezoneOffset&&!a.timezone))||this.timezoneOffset?(this.get=function(a,c){var h=
+c.getTime(),p=h-w.getTimezoneOffset(c);c.setTime(p);a=c["getUTC"+a]();c.setTime(h);return a},this.set=function(a,c,h){var p;if("Milliseconds"===a||"Seconds"===a||"Minutes"===a&&0===c.getTimezoneOffset()%60)c["set"+a](h);else p=w.getTimezoneOffset(c),p=c.getTime()-p,c.setTime(p),c["setUTC"+a](h),a=w.getTimezoneOffset(c),p=c.getTime()+a,c.setTime(p)}):e?(this.get=function(a,c){return c["getUTC"+a]()},this.set=function(a,c,h){return c["setUTC"+a](h)}):(this.get=function(a,c){return c["get"+a]()},this.set=
+function(a,c,h){return c["set"+a](h)})},makeTime:function(e,t,w,y,c,h){var p,k,q;this.useUTC?(p=this.Date.UTC.apply(0,arguments),k=this.getTimezoneOffset(p),p+=k,q=this.getTimezoneOffset(p),k!==q?p+=q-k:k-36E5!==this.getTimezoneOffset(p-36E5)||a.isSafari||(p-=36E5)):p=(new this.Date(e,t,f(w,1),f(y,0),f(c,0),f(h,0))).getTime();return p},timezoneOffsetFunction:function(){var e=this,f=this.options,w=u.moment;if(!this.useUTC)return function(a){return 6E4*(new Date(a)).getTimezoneOffset()};if(f.timezone){if(w)return function(a){return 6E4*
+-w.tz(a,f.timezone).utcOffset()};a.error(25)}return this.useUTC&&f.getTimezoneOffset?function(a){return 6E4*f.getTimezoneOffset(a)}:function(){return 6E4*(e.timezoneOffset||0)}},dateFormat:function(e,f,w){if(!a.defined(f)||isNaN(f))return a.defaultOptions.lang.invalidDate||"";e=a.pick(e,"%Y-%m-%d %H:%M:%S");var t=this,c=new this.Date(f),h=this.get("Hours",c),p=this.get("Day",c),k=this.get("Date",c),q=this.get("Month",c),d=this.get("FullYear",c),b=a.defaultOptions.lang,v=b.weekdays,J=b.shortWeekdays,
+l=a.pad,c=a.extend({a:J?J[p]:v[p].substr(0,3),A:v[p],d:l(k),e:l(k,2," "),w:p,b:b.shortMonths[q],B:b.months[q],m:l(q+1),o:q+1,y:d.toString().substr(2,2),Y:d,H:l(h),k:h,I:l(h%12||12),l:h%12||12,M:l(t.get("Minutes",c)),p:12>h?"AM":"PM",P:12>h?"am":"pm",S:l(c.getSeconds()),L:l(Math.floor(f%1E3),3)},a.dateFormats);a.objectEach(c,function(a,d){for(;-1!==e.indexOf("%"+d);)e=e.replace("%"+d,"function"===typeof a?a.call(t,f):a)});return w?e.substr(0,1).toUpperCase()+e.substr(1):e},resolveDTLFormat:function(e){return a.isObject(e,
+!0)?e:(e=a.splat(e),{main:e[0],from:e[1],to:e[2]})},getTimeTicks:function(a,t,w,y){var c=this,h=[],p,k={},q;p=new c.Date(t);var d=a.unitRange,b=a.count||1,v;y=f(y,1);if(C(t)){c.set("Milliseconds",p,d>=e.second?0:b*Math.floor(c.get("Milliseconds",p)/b));d>=e.second&&c.set("Seconds",p,d>=e.minute?0:b*Math.floor(c.get("Seconds",p)/b));d>=e.minute&&c.set("Minutes",p,d>=e.hour?0:b*Math.floor(c.get("Minutes",p)/b));d>=e.hour&&c.set("Hours",p,d>=e.day?0:b*Math.floor(c.get("Hours",p)/b));d>=e.day&&c.set("Date",
+p,d>=e.month?1:b*Math.floor(c.get("Date",p)/b));d>=e.month&&(c.set("Month",p,d>=e.year?0:b*Math.floor(c.get("Month",p)/b)),q=c.get("FullYear",p));d>=e.year&&c.set("FullYear",p,q-q%b);d===e.week&&(q=c.get("Day",p),c.set("Date",p,c.get("Date",p)-q+y+(q<y?-7:0)));q=c.get("FullYear",p);y=c.get("Month",p);var J=c.get("Date",p),l=c.get("Hours",p);t=p.getTime();c.variableTimezone&&(v=w-t>4*e.month||c.getTimezoneOffset(t)!==c.getTimezoneOffset(w));t=p.getTime();for(p=1;t<w;)h.push(t),t=d===e.year?c.makeTime(q+
+p*b,0):d===e.month?c.makeTime(q,y+p*b):!v||d!==e.day&&d!==e.week?v&&d===e.hour&&1<b?c.makeTime(q,y,J,l+p*b):t+d*b:c.makeTime(q,y,J+p*b*(d===e.day?1:7)),p++;h.push(t);d<=e.hour&&1E4>h.length&&F(h,function(a){0===a%18E5&&"000000000"===c.dateFormat("%H%M%S%L",a)&&(k[a]="day")})}h.info=I(a,{higherRanks:k,totalRange:d*b});return h}}})(K);(function(a){var C=a.color,F=a.merge;a.defaultOptions={colors:"#7cb5ec #434348 #90ed7d #f7a35c #8085e9 #f15c80 #e4d354 #2b908f #f45b5b #91e8e1".split(" "),symbols:["circle",
+"diamond","square","triangle","triangle-down"],lang:{loading:"Loading...",months:"January February March April May June July August September October November December".split(" "),shortMonths:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),weekdays:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),decimalPoint:".",numericSymbols:"kMGTPE".split(""),resetZoom:"Reset zoom",resetZoomTitle:"Reset zoom level 1:1",thousandsSep:" "},global:{},time:a.Time.prototype.defaultOptions,
+chart:{borderRadius:0,defaultSeriesType:"line",ignoreHiddenSeries:!0,spacing:[10,10,15,10],resetZoomButton:{theme:{zIndex:6},position:{align:"right",x:-10,y:10}},width:null,height:null,borderColor:"#335cad",backgroundColor:"#ffffff",plotBorderColor:"#cccccc"},title:{text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{text:"",align:"center",widthAdjust:-44},plotOptions:{},labels:{style:{position:"absolute",color:"#333333"}},legend:{enabled:!0,align:"center",alignColumns:!0,layout:"horizontal",
+labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{activeColor:"#003399",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",fontSize:"12px",fontWeight:"bold",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#cccccc"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"},squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",
+position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:a.svg,borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %b %e, %H:%M:%S.%L",second:"%A, %b %e, %H:%M:%S",minute:"%A, %b %e, %H:%M",hour:"%A, %b %e, %H:%M",day:"%A, %b %e, %Y",week:"Week from %A, %b %e, %Y",month:"%B %Y",year:"%Y"},footerFormat:"",padding:8,snap:a.isTouchDevice?25:10,backgroundColor:C("#f7f7f7").setOpacity(.85).get(),borderWidth:1,headerFormat:'\x3cspan style\x3d"font-size: 10px"\x3e{point.key}\x3c/span\x3e\x3cbr/\x3e',
+pointFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e {series.name}: \x3cb\x3e{point.y}\x3c/b\x3e\x3cbr/\x3e',shadow:!0,style:{color:"#333333",cursor:"default",fontSize:"12px",pointerEvents:"none",whiteSpace:"nowrap"}},credits:{enabled:!0,href:"https://www.highcharts.com",position:{align:"right",x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"9px"},text:"Highcharts.com"}};a.setOptions=function(C){a.defaultOptions=F(!0,a.defaultOptions,C);
+a.time.update(F(a.defaultOptions.global,a.defaultOptions.time),!1);return a.defaultOptions};a.getOptions=function(){return a.defaultOptions};a.defaultPlotOptions=a.defaultOptions.plotOptions;a.time=new a.Time(F(a.defaultOptions.global,a.defaultOptions.time));a.dateFormat=function(C,n,f){return a.time.dateFormat(C,n,f)}})(K);(function(a){var C=a.correctFloat,F=a.defined,I=a.destroyObjectProperties,n=a.fireEvent,f=a.isNumber,e=a.merge,u=a.pick,x=a.deg2rad;a.Tick=function(a,e,f,c,h){this.axis=a;this.pos=
+e;this.type=f||"";this.isNewLabel=this.isNew=!0;this.parameters=h||{};this.tickmarkOffset=this.parameters.tickmarkOffset;this.options=this.parameters.options;f||c||this.addLabel()};a.Tick.prototype={addLabel:function(){var f=this,w=f.axis,y=w.options,c=w.chart,h=w.categories,p=w.names,k=f.pos,q=u(f.options&&f.options.labels,y.labels),d=w.tickPositions,b=k===d[0],v=k===d[d.length-1],h=this.parameters.category||(h?u(h[k],p[k],k):k),J=f.label,d=d.info,l,n,B,D;w.isDatetimeAxis&&d&&(n=c.time.resolveDTLFormat(y.dateTimeLabelFormats[!y.grid&&
+d.higherRanks[k]||d.unitName]),l=n.main);f.isFirst=b;f.isLast=v;f.formatCtx={axis:w,chart:c,isFirst:b,isLast:v,dateTimeLabelFormat:l,tickPositionInfo:d,value:w.isLog?C(w.lin2log(h)):h,pos:k};y=w.labelFormatter.call(f.formatCtx,this.formatCtx);if(D=n&&n.list)f.shortenLabel=function(){for(B=0;B<D.length;B++)if(J.attr({text:w.labelFormatter.call(a.extend(f.formatCtx,{dateTimeLabelFormat:D[B]}))}),J.getBBox().width<w.getSlotWidth(f)-2*u(q.padding,5))return;J.attr({text:""})};if(F(J))J&&J.textStr!==y&&
+(!J.textWidth||q.style&&q.style.width||J.styles.width||J.css({width:null}),J.attr({text:y}));else{if(f.label=J=F(y)&&q.enabled?c.renderer.text(y,0,0,q.useHTML).css(e(q.style)).add(w.labelGroup):null)J.textPxLength=J.getBBox().width;f.rotation=0}},getLabelSize:function(){return this.label?this.label.getBBox()[this.axis.horiz?"height":"width"]:0},handleOverflow:function(a){var e=this.axis,f=e.options.labels,c=a.x,h=e.chart.chartWidth,p=e.chart.spacing,k=u(e.labelLeft,Math.min(e.pos,p[3])),p=u(e.labelRight,
+Math.max(e.isRadial?0:e.pos+e.len,h-p[1])),q=this.label,d=this.rotation,b={left:0,center:.5,right:1}[e.labelAlign||q.attr("align")],v=q.getBBox().width,J=e.getSlotWidth(this),l=J,t=1,B,D={};if(d||"justify"!==u(f.overflow,"justify"))0>d&&c-b*v<k?B=Math.round(c/Math.cos(d*x)-k):0<d&&c+b*v>p&&(B=Math.round((h-c)/Math.cos(d*x)));else if(h=c+(1-b)*v,c-b*v<k?l=a.x+l*(1-b)-k:h>p&&(l=p-a.x+l*b,t=-1),l=Math.min(J,l),l<J&&"center"===e.labelAlign&&(a.x+=t*(J-l-b*(J-Math.min(v,l)))),v>l||e.autoRotation&&(q.styles||
+{}).width)B=l;B&&(this.shortenLabel?this.shortenLabel():(D.width=B,(f.style||{}).textOverflow||(D.textOverflow="ellipsis"),q.css(D)))},getPosition:function(e,f,y,c){var h=this.axis,p=h.chart,k=c&&p.oldChartHeight||p.chartHeight;e={x:e?a.correctFloat(h.translate(f+y,null,null,c)+h.transB):h.left+h.offset+(h.opposite?(c&&p.oldChartWidth||p.chartWidth)-h.right-h.left:0),y:e?k-h.bottom+h.offset-(h.opposite?h.height:0):a.correctFloat(k-h.translate(f+y,null,null,c)-h.transB)};n(this,"afterGetPosition",
+{pos:e});return e},getLabelPosition:function(a,e,f,c,h,p,k,q){var d=this.axis,b=d.transA,v=d.reversed,J=d.staggerLines,l=d.tickRotCorr||{x:0,y:0},t=h.y,B=c||d.reserveSpaceDefault?0:-d.labelOffset*("center"===d.labelAlign?.5:1),D={};F(t)||(t=0===d.side?f.rotation?-8:-f.getBBox().height:2===d.side?l.y+8:Math.cos(f.rotation*x)*(l.y-f.getBBox(!1,0).height/2));a=a+h.x+B+l.x-(p&&c?p*b*(v?-1:1):0);e=e+t-(p&&!c?p*b*(v?1:-1):0);J&&(f=k/(q||1)%J,d.opposite&&(f=J-f-1),e+=d.labelOffset/J*f);D.x=a;D.y=Math.round(e);
+n(this,"afterGetLabelPosition",{pos:D});return D},getMarkPath:function(a,e,f,c,h,p){return p.crispLine(["M",a,e,"L",a+(h?0:-f),e+(h?f:0)],c)},renderGridLine:function(a,e,f){var c=this.axis,h=c.options,p=this.gridLine,k={},q=this.pos,d=this.type,b=u(this.tickmarkOffset,c.tickmarkOffset),v=c.chart.renderer,J=d?d+"Grid":"grid",l=h[J+"LineWidth"],t=h[J+"LineColor"],h=h[J+"LineDashStyle"];p||(k.stroke=t,k["stroke-width"]=l,h&&(k.dashstyle=h),d||(k.zIndex=1),a&&(e=0),this.gridLine=p=v.path().attr(k).addClass("highcharts-"+
+(d?d+"-":"")+"grid-line").add(c.gridGroup));if(p&&(f=c.getPlotLinePath(q+b,p.strokeWidth()*f,a,"pass")))p[a||this.isNew?"attr":"animate"]({d:f,opacity:e})},renderMark:function(a,e,f){var c=this.axis,h=c.options,p=c.chart.renderer,k=this.type,q=k?k+"Tick":"tick",d=c.tickSize(q),b=this.mark,v=!b,J=a.x;a=a.y;var l=u(h[q+"Width"],!k&&c.isXAxis?1:0),h=h[q+"Color"];d&&(c.opposite&&(d[0]=-d[0]),v&&(this.mark=b=p.path().addClass("highcharts-"+(k?k+"-":"")+"tick").add(c.axisGroup),b.attr({stroke:h,"stroke-width":l})),
+b[v?"attr":"animate"]({d:this.getMarkPath(J,a,d[0],b.strokeWidth()*f,c.horiz,p),opacity:e}))},renderLabel:function(a,e,y,c){var h=this.axis,p=h.horiz,k=h.options,q=this.label,d=k.labels,b=d.step,h=u(this.tickmarkOffset,h.tickmarkOffset),v=!0,J=a.x;a=a.y;q&&f(J)&&(q.xy=a=this.getLabelPosition(J,a,q,p,d,h,c,b),this.isFirst&&!this.isLast&&!u(k.showFirstLabel,1)||this.isLast&&!this.isFirst&&!u(k.showLastLabel,1)?v=!1:!p||d.step||d.rotation||e||0===y||this.handleOverflow(a),b&&c%b&&(v=!1),v&&f(a.y)?(a.opacity=
+y,q[this.isNewLabel?"attr":"animate"](a),this.isNewLabel=!1):(q.attr("y",-9999),this.isNewLabel=!0))},render:function(e,f,y){var c=this.axis,h=c.horiz,p=this.pos,k=u(this.tickmarkOffset,c.tickmarkOffset),p=this.getPosition(h,p,k,f),k=p.x,q=p.y,c=h&&k===c.pos+c.len||!h&&q===c.pos?-1:1;y=u(y,1);this.isActive=!0;this.renderGridLine(f,y,c);this.renderMark(p,y,c);this.renderLabel(p,f,y,e);this.isNew=!1;a.fireEvent(this,"afterRender")},destroy:function(){I(this,this.axis)}}})(K);var W=function(a){var C=
+a.addEvent,F=a.animObject,I=a.arrayMax,n=a.arrayMin,f=a.color,e=a.correctFloat,u=a.defaultOptions,x=a.defined,t=a.deg2rad,w=a.destroyObjectProperties,y=a.each,c=a.extend,h=a.fireEvent,p=a.format,k=a.getMagnitude,q=a.grep,d=a.inArray,b=a.isArray,v=a.isNumber,J=a.isString,l=a.merge,L=a.normalizeTickInterval,B=a.objectEach,D=a.pick,m=a.removeEvent,G=a.splat,A=a.syncTimeout,N=a.Tick,E=function(){this.init.apply(this,arguments)};a.extend(E.prototype,{defaultOptions:{dateTimeLabelFormats:{millisecond:{main:"%H:%M:%S.%L",
+range:!1},second:{main:"%H:%M:%S",range:!1},minute:{main:"%H:%M",range:!1},hour:{main:"%H:%M",range:!1},day:{main:"%e. %b"},week:{main:"%e. %b"},month:{main:"%b '%y"},year:{main:"%Y"}},endOnTick:!1,labels:{enabled:!0,indentation:10,x:0,style:{color:"#666666",cursor:"default",fontSize:"11px"}},maxPadding:.01,minorTickLength:2,minorTickPosition:"outside",minPadding:.01,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside",title:{align:"middle",
+style:{color:"#666666"}},type:"linear",minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#ccd6eb",lineWidth:1,gridLineColor:"#e6e6e6",tickColor:"#ccd6eb"},defaultYAxisOptions:{endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:-8},startOnTick:!0,title:{rotation:270,text:"Values"},stackLabels:{allowOverlap:!1,enabled:!1,formatter:function(){return a.numberFormat(this.total,-1)},style:{color:"#000000",fontSize:"11px",fontWeight:"bold",
+textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0},defaultLeftAxisOptions:{labels:{x:-15},title:{rotation:270}},defaultRightAxisOptions:{labels:{x:15},title:{rotation:90}},defaultBottomAxisOptions:{labels:{autoRotation:[-45],x:0},title:{rotation:0}},defaultTopAxisOptions:{labels:{autoRotation:[-45],x:0},title:{rotation:0}},init:function(a,r){var g=r.isX,b=this;b.chart=a;b.horiz=a.inverted&&!b.isZAxis?!g:g;b.isXAxis=g;b.coll=b.coll||(g?"xAxis":"yAxis");h(this,"init",{userOptions:r});b.opposite=
+r.opposite;b.side=r.side||(b.horiz?b.opposite?0:2:b.opposite?1:3);b.setOptions(r);var c=this.options,m=c.type;b.labelFormatter=c.labels.formatter||b.defaultLabelFormatter;b.userOptions=r;b.minPixelPadding=0;b.reversed=c.reversed;b.visible=!1!==c.visible;b.zoomEnabled=!1!==c.zoomEnabled;b.hasNames="category"===m||!0===c.categories;b.categories=c.categories||b.hasNames;b.names||(b.names=[],b.names.keys={});b.plotLinesAndBandsGroups={};b.isLog="logarithmic"===m;b.isDatetimeAxis="datetime"===m;b.positiveValuesOnly=
+b.isLog&&!b.allowNegativeLog;b.isLinked=x(c.linkedTo);b.ticks={};b.labelEdge=[];b.minorTicks={};b.plotLinesAndBands=[];b.alternateBands={};b.len=0;b.minRange=b.userMinRange=c.minRange||c.maxZoom;b.range=c.range;b.offset=c.offset||0;b.stacks={};b.oldStacks={};b.stacksTouched=0;b.max=null;b.min=null;b.crosshair=D(c.crosshair,G(a.options.tooltip.crosshairs)[g?0:1],!1);r=b.options.events;-1===d(b,a.axes)&&(g?a.axes.splice(a.xAxis.length,0,b):a.axes.push(b),a[b.coll].push(b));b.series=b.series||[];a.inverted&&
+!b.isZAxis&&g&&void 0===b.reversed&&(b.reversed=!0);B(r,function(a,g){C(b,g,a)});b.lin2log=c.linearToLogConverter||b.lin2log;b.isLog&&(b.val2lin=b.log2lin,b.lin2val=b.lin2log);h(this,"afterInit")},setOptions:function(a){this.options=l(this.defaultOptions,"yAxis"===this.coll&&this.defaultYAxisOptions,[this.defaultTopAxisOptions,this.defaultRightAxisOptions,this.defaultBottomAxisOptions,this.defaultLeftAxisOptions][this.side],l(u[this.coll],a));h(this,"afterSetOptions",{userOptions:a})},defaultLabelFormatter:function(){var g=
+this.axis,r=this.value,b=g.chart.time,d=g.categories,c=this.dateTimeLabelFormat,m=u.lang,k=m.numericSymbols,m=m.numericSymbolMagnitude||1E3,h=k&&k.length,l,q=g.options.labels.format,g=g.isLog?Math.abs(r):g.tickInterval;if(q)l=p(q,this,b);else if(d)l=r;else if(c)l=b.dateFormat(c,r);else if(h&&1E3<=g)for(;h--&&void 0===l;)b=Math.pow(m,h+1),g>=b&&0===10*r%b&&null!==k[h]&&0!==r&&(l=a.numberFormat(r/b,-1)+k[h]);void 0===l&&(l=1E4<=Math.abs(r)?a.numberFormat(r,-1):a.numberFormat(r,-1,void 0,""));return l},
+getSeriesExtremes:function(){var a=this,r=a.chart;h(this,"getSeriesExtremes",null,function(){a.hasVisibleSeries=!1;a.dataMin=a.dataMax=a.threshold=null;a.softThreshold=!a.isXAxis;a.buildStacks&&a.buildStacks();y(a.series,function(g){if(g.visible||!r.options.chart.ignoreHiddenSeries){var b=g.options,d=b.threshold,c;a.hasVisibleSeries=!0;a.positiveValuesOnly&&0>=d&&(d=null);if(a.isXAxis)b=g.xData,b.length&&(g=n(b),c=I(b),v(g)||g instanceof Date||(b=q(b,v),g=n(b),c=I(b)),b.length&&(a.dataMin=Math.min(D(a.dataMin,
+b[0],g),g),a.dataMax=Math.max(D(a.dataMax,b[0],c),c)));else if(g.getExtremes(),c=g.dataMax,g=g.dataMin,x(g)&&x(c)&&(a.dataMin=Math.min(D(a.dataMin,g),g),a.dataMax=Math.max(D(a.dataMax,c),c)),x(d)&&(a.threshold=d),!b.softThreshold||a.positiveValuesOnly)a.softThreshold=!1}})});h(this,"afterGetSeriesExtremes")},translate:function(a,r,b,d,c,m){var g=this.linkedParent||this,k=1,H=0,l=d?g.oldTransA:g.transA;d=d?g.oldMin:g.min;var h=g.minPixelPadding;c=(g.isOrdinal||g.isBroken||g.isLog&&c)&&g.lin2val;l||
+(l=g.transA);b&&(k*=-1,H=g.len);g.reversed&&(k*=-1,H-=k*(g.sector||g.len));r?(a=(a*k+H-h)/l+d,c&&(a=g.lin2val(a))):(c&&(a=g.val2lin(a)),a=v(d)?k*(a-d)*l+H+k*h+(v(m)?l*m:0):void 0);return a},toPixels:function(a,r){return this.translate(a,!1,!this.horiz,null,!0)+(r?0:this.pos)},toValue:function(a,r){return this.translate(a-(r?0:this.pos),!0,!this.horiz,null,!0)},getPlotLinePath:function(a,r,b,d,c){var g=this.chart,m=this.left,k=this.top,H,l,h=b&&g.oldChartHeight||g.chartHeight,q=b&&g.oldChartWidth||
+g.chartWidth,A;H=this.transB;var e=function(a,g,r){if("pass"!==d&&a<g||a>r)d?a=Math.min(Math.max(g,a),r):A=!0;return a};c=D(c,this.translate(a,null,null,b));c=Math.min(Math.max(-1E5,c),1E5);a=b=Math.round(c+H);H=l=Math.round(h-c-H);v(c)?this.horiz?(H=k,l=h-this.bottom,a=b=e(a,m,m+this.width)):(a=m,b=q-this.right,H=l=e(H,k,k+this.height)):(A=!0,d=!1);return A&&!d?null:g.renderer.crispLine(["M",a,H,"L",b,l],r||1)},getLinearTickPositions:function(a,r,b){var g,d=e(Math.floor(r/a)*a);b=e(Math.ceil(b/a)*
+a);var c=[],m;e(d+a)===d&&(m=20);if(this.single)return[r];for(r=d;r<=b;){c.push(r);r=e(r+a,m);if(r===g)break;g=r}return c},getMinorTickInterval:function(){var a=this.options;return!0===a.minorTicks?D(a.minorTickInterval,"auto"):!1===a.minorTicks?null:a.minorTickInterval},getMinorTickPositions:function(){var a=this,r=a.options,b=a.tickPositions,d=a.minorTickInterval,c=[],m=a.pointRangePadding||0,k=a.min-m,m=a.max+m,l=m-k;if(l&&l/d<a.len/3)if(a.isLog)y(this.paddedTicks,function(g,r,b){r&&c.push.apply(c,
+a.getLogTickPositions(d,b[r-1],b[r],!0))});else if(a.isDatetimeAxis&&"auto"===this.getMinorTickInterval())c=c.concat(a.getTimeTicks(a.normalizeTimeTickInterval(d),k,m,r.startOfWeek));else for(r=k+(b[0]-k)%d;r<=m&&r!==c[0];r+=d)c.push(r);0!==c.length&&a.trimTicks(c);return c},adjustForMinRange:function(){var a=this.options,r=this.min,b=this.max,d,c,m,k,l,h,q,v;this.isXAxis&&void 0===this.minRange&&!this.isLog&&(x(a.min)||x(a.max)?this.minRange=null:(y(this.series,function(a){h=a.xData;for(k=q=a.xIncrement?
+1:h.length-1;0<k;k--)if(l=h[k]-h[k-1],void 0===m||l<m)m=l}),this.minRange=Math.min(5*m,this.dataMax-this.dataMin)));b-r<this.minRange&&(c=this.dataMax-this.dataMin>=this.minRange,v=this.minRange,d=(v-b+r)/2,d=[r-d,D(a.min,r-d)],c&&(d[2]=this.isLog?this.log2lin(this.dataMin):this.dataMin),r=I(d),b=[r+v,D(a.max,r+v)],c&&(b[2]=this.isLog?this.log2lin(this.dataMax):this.dataMax),b=n(b),b-r<v&&(d[0]=b-v,d[1]=D(a.min,b-v),r=I(d)));this.min=r;this.max=b},getClosest:function(){var a;this.categories?a=1:y(this.series,
+function(g){var r=g.closestPointRange,b=g.visible||!g.chart.options.chart.ignoreHiddenSeries;!g.noSharedTooltip&&x(r)&&b&&(a=x(a)?Math.min(a,r):r)});return a},nameToX:function(a){var g=b(this.categories),c=g?this.categories:this.names,m=a.options.x,k;a.series.requireSorting=!1;x(m)||(m=!1===this.options.uniqueNames?a.series.autoIncrement():g?d(a.name,c):D(c.keys[a.name],-1));-1===m?g||(k=c.length):k=m;void 0!==k&&(this.names[k]=a.name,this.names.keys[a.name]=k);return k},updateNames:function(){var g=
+this,r=this.names;0<r.length&&(y(a.keys(r.keys),function(a){delete r.keys[a]}),r.length=0,this.minRange=this.userMinRange,y(this.series||[],function(a){a.xIncrement=null;if(!a.points||a.isDirtyData)a.processData(),a.generatePoints();y(a.points,function(r,b){var d;r.options&&(d=g.nameToX(r),void 0!==d&&d!==r.x&&(r.x=d,a.xData[b]=d))})}))},setAxisTranslation:function(a){var g=this,b=g.max-g.min,d=g.axisPointRange||0,c,m=0,k=0,l=g.linkedParent,q=!!g.categories,v=g.transA,A=g.isXAxis;if(A||q||d)c=g.getClosest(),
+l?(m=l.minPointOffset,k=l.pointRangePadding):y(g.series,function(a){var b=q?1:A?D(a.options.pointRange,c,0):g.axisPointRange||0;a=a.options.pointPlacement;d=Math.max(d,b);g.single||(m=Math.max(m,J(a)?0:b/2),k=Math.max(k,"on"===a?0:b))}),l=g.ordinalSlope&&c?g.ordinalSlope/c:1,g.minPointOffset=m*=l,g.pointRangePadding=k*=l,g.pointRange=Math.min(d,b),A&&(g.closestPointRange=c);a&&(g.oldTransA=v);g.translationSlope=g.transA=v=g.staticScale||g.len/(b+k||1);g.transB=g.horiz?g.left:g.bottom;g.minPixelPadding=
+v*m;h(this,"afterSetAxisTranslation")},minFromRange:function(){return this.max-this.range},setTickInterval:function(g){var b=this,d=b.chart,c=b.options,m=b.isLog,l=b.isDatetimeAxis,q=b.isXAxis,A=b.isLinked,p=c.maxPadding,f=c.minPadding,G=c.tickInterval,B=c.tickPixelInterval,J=b.categories,E=v(b.threshold)?b.threshold:null,N=b.softThreshold,w,t,u,n;l||J||A||this.getTickAmount();u=D(b.userMin,c.min);n=D(b.userMax,c.max);A?(b.linkedParent=d[b.coll][c.linkedTo],d=b.linkedParent.getExtremes(),b.min=D(d.min,
+d.dataMin),b.max=D(d.max,d.dataMax),c.type!==b.linkedParent.options.type&&a.error(11,1)):(!N&&x(E)&&(b.dataMin>=E?(w=E,f=0):b.dataMax<=E&&(t=E,p=0)),b.min=D(u,w,b.dataMin),b.max=D(n,t,b.dataMax));m&&(b.positiveValuesOnly&&!g&&0>=Math.min(b.min,D(b.dataMin,b.min))&&a.error(10,1),b.min=e(b.log2lin(b.min),15),b.max=e(b.log2lin(b.max),15));b.range&&x(b.max)&&(b.userMin=b.min=u=Math.max(b.dataMin,b.minFromRange()),b.userMax=n=b.max,b.range=null);h(b,"foundExtremes");b.beforePadding&&b.beforePadding();
+b.adjustForMinRange();!(J||b.axisPointRange||b.usePercentage||A)&&x(b.min)&&x(b.max)&&(d=b.max-b.min)&&(!x(u)&&f&&(b.min-=d*f),!x(n)&&p&&(b.max+=d*p));v(c.softMin)&&!v(b.userMin)&&(b.min=Math.min(b.min,c.softMin));v(c.softMax)&&!v(b.userMax)&&(b.max=Math.max(b.max,c.softMax));v(c.floor)&&(b.min=Math.max(b.min,c.floor));v(c.ceiling)&&(b.max=Math.min(b.max,c.ceiling));N&&x(b.dataMin)&&(E=E||0,!x(u)&&b.min<E&&b.dataMin>=E?b.min=E:!x(n)&&b.max>E&&b.dataMax<=E&&(b.max=E));b.tickInterval=b.min===b.max||
+void 0===b.min||void 0===b.max?1:A&&!G&&B===b.linkedParent.options.tickPixelInterval?G=b.linkedParent.tickInterval:D(G,this.tickAmount?(b.max-b.min)/Math.max(this.tickAmount-1,1):void 0,J?1:(b.max-b.min)*B/Math.max(b.len,B));q&&!g&&y(b.series,function(a){a.processData(b.min!==b.oldMin||b.max!==b.oldMax)});b.setAxisTranslation(!0);b.beforeSetTickPositions&&b.beforeSetTickPositions();b.postProcessTickInterval&&(b.tickInterval=b.postProcessTickInterval(b.tickInterval));b.pointRange&&!G&&(b.tickInterval=
+Math.max(b.pointRange,b.tickInterval));g=D(c.minTickInterval,b.isDatetimeAxis&&b.closestPointRange);!G&&b.tickInterval<g&&(b.tickInterval=g);l||m||G||(b.tickInterval=L(b.tickInterval,null,k(b.tickInterval),D(c.allowDecimals,!(.5<b.tickInterval&&5>b.tickInterval&&1E3<b.max&&9999>b.max)),!!this.tickAmount));this.tickAmount||(b.tickInterval=b.unsquish());this.setTickPositions()},setTickPositions:function(){var g=this.options,b,d=g.tickPositions;b=this.getMinorTickInterval();var c=g.tickPositioner,m=
+g.startOnTick,k=g.endOnTick;this.tickmarkOffset=this.categories&&"between"===g.tickmarkPlacement&&1===this.tickInterval?.5:0;this.minorTickInterval="auto"===b&&this.tickInterval?this.tickInterval/5:b;this.single=this.min===this.max&&x(this.min)&&!this.tickAmount&&(parseInt(this.min,10)===this.min||!1!==g.allowDecimals);this.tickPositions=b=d&&d.slice();!b&&(!this.ordinalPositions&&(this.max-this.min)/this.tickInterval>Math.max(2*this.len,200)?(b=[this.min,this.max],a.error(19)):b=this.isDatetimeAxis?
+this.getTimeTicks(this.normalizeTimeTickInterval(this.tickInterval,g.units),this.min,this.max,g.startOfWeek,this.ordinalPositions,this.closestPointRange,!0):this.isLog?this.getLogTickPositions(this.tickInterval,this.min,this.max):this.getLinearTickPositions(this.tickInterval,this.min,this.max),b.length>this.len&&(b=[b[0],b.pop()],b[0]===b[1]&&(b.length=1)),this.tickPositions=b,c&&(c=c.apply(this,[this.min,this.max])))&&(this.tickPositions=b=c);this.paddedTicks=b.slice(0);this.trimTicks(b,m,k);this.isLinked||
+(this.single&&2>b.length&&(this.min-=.5,this.max+=.5),d||c||this.adjustTickAmount());h(this,"afterSetTickPositions")},trimTicks:function(a,b,d){var g=a[0],c=a[a.length-1],m=this.minPointOffset||0;if(!this.isLinked){if(b&&-Infinity!==g)this.min=g;else for(;this.min-m>a[0];)a.shift();if(d)this.max=c;else for(;this.max+m<a[a.length-1];)a.pop();0===a.length&&x(g)&&!this.options.tickPositions&&a.push((c+g)/2)}},alignToOthers:function(){var a={},b,d=this.options;!1===this.chart.options.chart.alignTicks||
+!1===d.alignTicks||!1===d.startOnTick||!1===d.endOnTick||this.isLog||y(this.chart[this.coll],function(g){var d=g.options,d=[g.horiz?d.left:d.top,d.width,d.height,d.pane].join();g.series.length&&(a[d]?b=!0:a[d]=1)});return b},getTickAmount:function(){var a=this.options,b=a.tickAmount,d=a.tickPixelInterval;!x(a.tickInterval)&&this.len<d&&!this.isRadial&&!this.isLog&&a.startOnTick&&a.endOnTick&&(b=2);!b&&this.alignToOthers()&&(b=Math.ceil(this.len/d)+1);4>b&&(this.finalTickAmt=b,b=5);this.tickAmount=
+b},adjustTickAmount:function(){var a=this.tickInterval,b=this.tickPositions,d=this.tickAmount,c=this.finalTickAmt,m=b&&b.length,k=D(this.threshold,this.softThreshold?0:null);if(this.hasData()){if(m<d){for(;b.length<d;)b.length%2||this.min===k?b.push(e(b[b.length-1]+a)):b.unshift(e(b[0]-a));this.transA*=(m-1)/(d-1);this.min=b[0];this.max=b[b.length-1]}else m>d&&(this.tickInterval*=2,this.setTickPositions());if(x(c)){for(a=d=b.length;a--;)(3===c&&1===a%2||2>=c&&0<a&&a<d-1)&&b.splice(a,1);this.finalTickAmt=
+void 0}}},setScale:function(){var a,b;this.oldMin=this.min;this.oldMax=this.max;this.oldAxisLength=this.len;this.setAxisSize();b=this.len!==this.oldAxisLength;y(this.series,function(b){if(b.isDirtyData||b.isDirty||b.xAxis.isDirty)a=!0});b||a||this.isLinked||this.forceRedraw||this.userMin!==this.oldUserMin||this.userMax!==this.oldUserMax||this.alignToOthers()?(this.resetStacks&&this.resetStacks(),this.forceRedraw=!1,this.getSeriesExtremes(),this.setTickInterval(),this.oldUserMin=this.userMin,this.oldUserMax=
+this.userMax,this.isDirty||(this.isDirty=b||this.min!==this.oldMin||this.max!==this.oldMax)):this.cleanStacks&&this.cleanStacks();h(this,"afterSetScale")},setExtremes:function(a,b,d,m,k){var g=this,r=g.chart;d=D(d,!0);y(g.series,function(a){delete a.kdTree});k=c(k,{min:a,max:b});h(g,"setExtremes",k,function(){g.userMin=a;g.userMax=b;g.eventArgs=k;d&&r.redraw(m)})},zoom:function(a,b){var g=this.dataMin,d=this.dataMax,c=this.options,m=Math.min(g,D(c.min,g)),c=Math.max(d,D(c.max,d));if(a!==this.min||
+b!==this.max)this.allowZoomOutside||(x(g)&&(a<m&&(a=m),a>c&&(a=c)),x(d)&&(b<m&&(b=m),b>c&&(b=c))),this.displayBtn=void 0!==a||void 0!==b,this.setExtremes(a,b,!1,void 0,{trigger:"zoom"});return!0},setAxisSize:function(){var b=this.chart,d=this.options,c=d.offsets||[0,0,0,0],m=this.horiz,k=this.width=Math.round(a.relativeLength(D(d.width,b.plotWidth-c[3]+c[1]),b.plotWidth)),l=this.height=Math.round(a.relativeLength(D(d.height,b.plotHeight-c[0]+c[2]),b.plotHeight)),h=this.top=Math.round(a.relativeLength(D(d.top,
+b.plotTop+c[0]),b.plotHeight,b.plotTop)),d=this.left=Math.round(a.relativeLength(D(d.left,b.plotLeft+c[3]),b.plotWidth,b.plotLeft));this.bottom=b.chartHeight-l-h;this.right=b.chartWidth-k-d;this.len=Math.max(m?k:l,0);this.pos=m?d:h},getExtremes:function(){var a=this.isLog;return{min:a?e(this.lin2log(this.min)):this.min,max:a?e(this.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}},getThreshold:function(a){var b=this.isLog,g=b?this.lin2log(this.min):
+this.min,b=b?this.lin2log(this.max):this.max;null===a||-Infinity===a?a=g:Infinity===a?a=b:g>a?a=g:b<a&&(a=b);return this.translate(a,0,1,0,1)},autoLabelAlign:function(a){a=(D(a,0)-90*this.side+720)%360;return 15<a&&165>a?"right":195<a&&345>a?"left":"center"},tickSize:function(a){var b=this.options,g=b[a+"Length"],d=D(b[a+"Width"],"tick"===a&&this.isXAxis?1:0);if(d&&g)return"inside"===b[a+"Position"]&&(g=-g),[g,d]},labelMetrics:function(){var a=this.tickPositions&&this.tickPositions[0]||0;return this.chart.renderer.fontMetrics(this.options.labels.style&&
+this.options.labels.style.fontSize,this.ticks[a]&&this.ticks[a].label)},unsquish:function(){var a=this.options.labels,b=this.horiz,d=this.tickInterval,c=d,m=this.len/(((this.categories?1:0)+this.max-this.min)/d),k,l=a.rotation,h=this.labelMetrics(),q,v=Number.MAX_VALUE,A,p=function(a){a/=m||1;a=1<a?Math.ceil(a):1;return e(a*d)};b?(A=!a.staggerLines&&!a.step&&(x(l)?[l]:m<D(a.autoRotationLimit,80)&&a.autoRotation))&&y(A,function(a){var b;if(a===l||a&&-90<=a&&90>=a)q=p(Math.abs(h.h/Math.sin(t*a))),b=
+q+Math.abs(a/360),b<v&&(v=b,k=a,c=q)}):a.step||(c=p(h.h));this.autoRotation=A;this.labelRotation=D(k,l);return c},getSlotWidth:function(a){var b=this.chart,g=this.horiz,d=this.options.labels,c=Math.max(this.tickPositions.length-(this.categories?0:1),1),m=b.margin[3];return a&&a.slotWidth||g&&2>(d.step||0)&&!d.rotation&&(this.staggerLines||1)*this.len/c||!g&&(d.style&&parseInt(d.style.width,10)||m&&m-b.spacing[3]||.33*b.chartWidth)},renderUnsquish:function(){var a=this.chart,b=a.renderer,d=this.tickPositions,
+c=this.ticks,m=this.options.labels,k=m&&m.style||{},l=this.horiz,h=this.getSlotWidth(),q=Math.max(1,Math.round(h-2*(m.padding||5))),v={},A=this.labelMetrics(),e=m.style&&m.style.textOverflow,p,f,G=0,B;J(m.rotation)||(v.rotation=m.rotation||0);y(d,function(a){(a=c[a])&&a.label&&a.label.textPxLength>G&&(G=a.label.textPxLength)});this.maxLabelLength=G;if(this.autoRotation)G>q&&G>A.h?v.rotation=this.labelRotation:this.labelRotation=0;else if(h&&(p=q,!e))for(f="clip",q=d.length;!l&&q--;)if(B=d[q],B=c[B].label)B.styles&&
+"ellipsis"===B.styles.textOverflow?B.css({textOverflow:"clip"}):B.textPxLength>h&&B.css({width:h+"px"}),B.getBBox().height>this.len/d.length-(A.h-A.f)&&(B.specificTextOverflow="ellipsis");v.rotation&&(p=G>.5*a.chartHeight?.33*a.chartHeight:G,e||(f="ellipsis"));if(this.labelAlign=m.align||this.autoLabelAlign(this.labelRotation))v.align=this.labelAlign;y(d,function(a){var b=(a=c[a])&&a.label,g=k.width,d={};b&&(b.attr(v),a.shortenLabel?a.shortenLabel():p&&!g&&"nowrap"!==k.whiteSpace&&(p<b.textPxLength||
+"SPAN"===b.element.tagName)?(d.width=p,e||(d.textOverflow=b.specificTextOverflow||f),b.css(d)):b.styles&&b.styles.width&&!d.width&&!g&&b.css({width:null}),delete b.specificTextOverflow,a.rotation=v.rotation)},this);this.tickRotCorr=b.rotCorr(A.b,this.labelRotation||0,0!==this.side)},hasData:function(){return this.hasVisibleSeries||x(this.min)&&x(this.max)&&this.tickPositions&&0<this.tickPositions.length},addTitle:function(a){var b=this.chart.renderer,g=this.horiz,d=this.opposite,c=this.options.title,
+m;this.axisTitle||((m=c.textAlign)||(m=(g?{low:"left",middle:"center",high:"right"}:{low:d?"right":"left",middle:"center",high:d?"left":"right"})[c.align]),this.axisTitle=b.text(c.text,0,0,c.useHTML).attr({zIndex:7,rotation:c.rotation||0,align:m}).addClass("highcharts-axis-title").css(l(c.style)).add(this.axisGroup),this.axisTitle.isNew=!0);c.style.width||this.isRadial||this.axisTitle.css({width:this.len});this.axisTitle[a?"show":"hide"](!0)},generateTick:function(a){var b=this.ticks;b[a]?b[a].addLabel():
+b[a]=new N(this,a)},getOffset:function(){var a=this,b=a.chart,d=b.renderer,c=a.options,m=a.tickPositions,k=a.ticks,l=a.horiz,q=a.side,v=b.inverted&&!a.isZAxis?[1,0,3,2][q]:q,A,e,p=0,G,f=0,J=c.title,E=c.labels,N=0,w=b.axisOffset,b=b.clipOffset,t=[-1,1,1,-1][q],u=c.className,n=a.axisParent;A=a.hasData();a.showAxis=e=A||D(c.showEmpty,!0);a.staggerLines=a.horiz&&E.staggerLines;a.axisGroup||(a.gridGroup=d.g("grid").attr({zIndex:c.gridZIndex||1}).addClass("highcharts-"+this.coll.toLowerCase()+"-grid "+
+(u||"")).add(n),a.axisGroup=d.g("axis").attr({zIndex:c.zIndex||2}).addClass("highcharts-"+this.coll.toLowerCase()+" "+(u||"")).add(n),a.labelGroup=d.g("axis-labels").attr({zIndex:E.zIndex||7}).addClass("highcharts-"+a.coll.toLowerCase()+"-labels "+(u||"")).add(n));A||a.isLinked?(y(m,function(b,g){a.generateTick(b,g)}),a.renderUnsquish(),a.reserveSpaceDefault=0===q||2===q||{1:"left",3:"right"}[q]===a.labelAlign,D(E.reserveSpace,"center"===a.labelAlign?!0:null,a.reserveSpaceDefault)&&y(m,function(a){N=
+Math.max(k[a].getLabelSize(),N)}),a.staggerLines&&(N*=a.staggerLines),a.labelOffset=N*(a.opposite?-1:1)):B(k,function(a,b){a.destroy();delete k[b]});J&&J.text&&!1!==J.enabled&&(a.addTitle(e),e&&!1!==J.reserveSpace&&(a.titleOffset=p=a.axisTitle.getBBox()[l?"height":"width"],G=J.offset,f=x(G)?0:D(J.margin,l?5:10)));a.renderLine();a.offset=t*D(c.offset,w[q]);a.tickRotCorr=a.tickRotCorr||{x:0,y:0};d=0===q?-a.labelMetrics().h:2===q?a.tickRotCorr.y:0;f=Math.abs(N)+f;N&&(f=f-d+t*(l?D(E.y,a.tickRotCorr.y+
+8*t):E.x));a.axisTitleMargin=D(G,f);a.getMaxLabelDimensions&&(a.maxLabelDimensions=a.getMaxLabelDimensions(k,m));l=this.tickSize("tick");w[q]=Math.max(w[q],a.axisTitleMargin+p+t*a.offset,f,A&&m.length&&l?l[0]+t*a.offset:0);c=c.offset?0:2*Math.floor(a.axisLine.strokeWidth()/2);b[v]=Math.max(b[v],c);h(this,"afterGetOffset")},getLinePath:function(a){var b=this.chart,g=this.opposite,d=this.offset,c=this.horiz,m=this.left+(g?this.width:0)+d,d=b.chartHeight-this.bottom-(g?this.height:0)+d;g&&(a*=-1);return b.renderer.crispLine(["M",
+c?this.left:m,c?d:this.top,"L",c?b.chartWidth-this.right:m,c?d:b.chartHeight-this.bottom],a)},renderLine:function(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,zIndex:7}))},getTitlePosition:function(){var a=this.horiz,b=this.left,d=this.top,c=this.len,m=this.options.title,k=a?b:d,l=this.opposite,h=this.offset,q=m.x||0,v=m.y||0,A=this.axisTitle,e=
+this.chart.renderer.fontMetrics(m.style&&m.style.fontSize,A),A=Math.max(A.getBBox(null,0).height-e.h-1,0),c={low:k+(a?0:c),middle:k+c/2,high:k+(a?c:0)}[m.align],b=(a?d+this.height:b)+(a?1:-1)*(l?-1:1)*this.axisTitleMargin+[-A,A,e.f,-A][this.side];return{x:a?c+q:b+(l?this.width:0)+h+q,y:a?b+v-(l?this.height:0)+h:c+v}},renderMinorTick:function(a){var b=this.chart.hasRendered&&v(this.oldMin),d=this.minorTicks;d[a]||(d[a]=new N(this,a,"minor"));b&&d[a].isNew&&d[a].render(null,!0);d[a].render(null,!1,
+1)},renderTick:function(a,b){var d=this.isLinked,g=this.ticks,c=this.chart.hasRendered&&v(this.oldMin);if(!d||a>=this.min&&a<=this.max)g[a]||(g[a]=new N(this,a)),c&&g[a].isNew&&g[a].render(b,!0,-1),g[a].render(b)},render:function(){var b=this,d=b.chart,c=b.options,m=b.isLog,k=b.isLinked,l=b.tickPositions,q=b.axisTitle,e=b.ticks,p=b.minorTicks,f=b.alternateBands,G=c.stackLabels,J=c.alternateGridColor,E=b.tickmarkOffset,D=b.axisLine,t=b.showAxis,w=F(d.renderer.globalAnimation),u,n;b.labelEdge.length=
+0;b.overlap=!1;y([e,p,f],function(a){B(a,function(a){a.isActive=!1})});if(b.hasData()||k)b.minorTickInterval&&!b.categories&&y(b.getMinorTickPositions(),function(a){b.renderMinorTick(a)}),l.length&&(y(l,function(a,d){b.renderTick(a,d)}),E&&(0===b.min||b.single)&&(e[-1]||(e[-1]=new N(b,-1,null,!0)),e[-1].render(-1))),J&&y(l,function(c,g){n=void 0!==l[g+1]?l[g+1]+E:b.max-E;0===g%2&&c<b.max&&n<=b.max+(d.polar?-E:E)&&(f[c]||(f[c]=new a.PlotLineOrBand(b)),u=c+E,f[c].options={from:m?b.lin2log(u):u,to:m?
+b.lin2log(n):n,color:J},f[c].render(),f[c].isActive=!0)}),b._addedPlotLB||(y((c.plotLines||[]).concat(c.plotBands||[]),function(a){b.addPlotBandOrLine(a)}),b._addedPlotLB=!0);y([e,p,f],function(a){var b,c=[],g=w.duration;B(a,function(a,b){a.isActive||(a.render(b,!1,0),a.isActive=!1,c.push(b))});A(function(){for(b=c.length;b--;)a[c[b]]&&!a[c[b]].isActive&&(a[c[b]].destroy(),delete a[c[b]])},a!==f&&d.hasRendered&&g?g:0)});D&&(D[D.isPlaced?"animate":"attr"]({d:this.getLinePath(D.strokeWidth())}),D.isPlaced=
+!0,D[t?"show":"hide"](!0));q&&t&&(c=b.getTitlePosition(),v(c.y)?(q[q.isNew?"attr":"animate"](c),q.isNew=!1):(q.attr("y",-9999),q.isNew=!0));G&&G.enabled&&b.renderStackTotals();b.isDirty=!1;h(this,"afterRender")},redraw:function(){this.visible&&(this.render(),y(this.plotLinesAndBands,function(a){a.render()}));y(this.series,function(a){a.isDirty=!0})},keepProps:"extKey hcEvents names series userMax userMin".split(" "),destroy:function(a){var b=this,c=b.stacks,g=b.plotLinesAndBands,k;h(this,"destroy",
+{keepEvents:a});a||m(b);B(c,function(a,b){w(a);c[b]=null});y([b.ticks,b.minorTicks,b.alternateBands],function(a){w(a)});if(g)for(a=g.length;a--;)g[a].destroy();y("stackTotalGroup axisLine axisTitle axisGroup gridGroup labelGroup cross scrollbar".split(" "),function(a){b[a]&&(b[a]=b[a].destroy())});for(k in b.plotLinesAndBandsGroups)b.plotLinesAndBandsGroups[k]=b.plotLinesAndBandsGroups[k].destroy();B(b,function(a,c){-1===d(c,b.keepProps)&&delete b[c]})},drawCrosshair:function(a,b){var d,c=this.crosshair,
+g=D(c.snap,!0),m,k=this.cross;h(this,"drawCrosshair",{e:a,point:b});a||(a=this.cross&&this.cross.e);if(this.crosshair&&!1!==(x(b)||!g)){g?x(b)&&(m=D(b.crosshairPos,this.isXAxis?b.plotX:this.len-b.plotY)):m=a&&(this.horiz?a.chartX-this.pos:this.len-a.chartY+this.pos);x(m)&&(d=this.getPlotLinePath(b&&(this.isXAxis?b.x:D(b.stackY,b.y)),null,null,null,m)||null);if(!x(d)){this.hideCrosshair();return}g=this.categories&&!this.isRadial;k||(this.cross=k=this.chart.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-"+
+(g?"category ":"thin ")+c.className).attr({zIndex:D(c.zIndex,2)}).add(),k.attr({stroke:c.color||(g?f("#ccd6eb").setOpacity(.25).get():"#cccccc"),"stroke-width":D(c.width,1)}).css({"pointer-events":"none"}),c.dashStyle&&k.attr({dashstyle:c.dashStyle}));k.show().attr({d:d});g&&!c.width&&k.attr({"stroke-width":this.transA});this.cross.e=a}else this.hideCrosshair();h(this,"afterDrawCrosshair",{e:a,point:b})},hideCrosshair:function(){this.cross&&this.cross.hide()}});return a.Axis=E}(K);(function(a){var C=
+a.Axis,F=a.getMagnitude,I=a.normalizeTickInterval,n=a.timeUnits;C.prototype.getTimeTicks=function(){return this.chart.time.getTimeTicks.apply(this.chart.time,arguments)};C.prototype.normalizeTimeTickInterval=function(a,e){var f=e||[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2]],["week",[1,2]],["month",[1,2,3,4,6]],["year",null]];e=f[f.length-1];var x=n[e[0]],t=e[1],w;for(w=0;w<f.length&&!(e=f[w],x=n[e[0]],
+t=e[1],f[w+1]&&a<=(x*t[t.length-1]+n[f[w+1][0]])/2);w++);x===n.year&&a<5*x&&(t=[1,2,5]);a=I(a/x,t,"year"===e[0]?Math.max(F(a/x),1):1);return{unitRange:x,count:a,unitName:e[0]}}})(K);(function(a){var C=a.Axis,F=a.getMagnitude,I=a.map,n=a.normalizeTickInterval,f=a.pick;C.prototype.getLogTickPositions=function(a,u,x,t){var e=this.options,y=this.len,c=[];t||(this._minorAutoInterval=null);if(.5<=a)a=Math.round(a),c=this.getLinearTickPositions(a,u,x);else if(.08<=a)for(var y=Math.floor(u),h,p,k,q,d,e=.3<
+a?[1,2,4]:.15<a?[1,2,4,6,8]:[1,2,3,4,5,6,7,8,9];y<x+1&&!d;y++)for(p=e.length,h=0;h<p&&!d;h++)k=this.log2lin(this.lin2log(y)*e[h]),k>u&&(!t||q<=x)&&void 0!==q&&c.push(q),q>x&&(d=!0),q=k;else u=this.lin2log(u),x=this.lin2log(x),a=t?this.getMinorTickInterval():e.tickInterval,a=f("auto"===a?null:a,this._minorAutoInterval,e.tickPixelInterval/(t?5:1)*(x-u)/((t?y/this.tickPositions.length:y)||1)),a=n(a,null,F(a)),c=I(this.getLinearTickPositions(a,u,x),this.log2lin),t||(this._minorAutoInterval=a/5);t||(this.tickInterval=
+a);return c};C.prototype.log2lin=function(a){return Math.log(a)/Math.LN10};C.prototype.lin2log=function(a){return Math.pow(10,a)}})(K);(function(a,C){var F=a.arrayMax,I=a.arrayMin,n=a.defined,f=a.destroyObjectProperties,e=a.each,u=a.erase,x=a.merge,t=a.pick;a.PlotLineOrBand=function(a,e){this.axis=a;e&&(this.options=e,this.id=e.id)};a.PlotLineOrBand.prototype={render:function(){a.fireEvent(this,"render");var e=this,f=e.axis,c=f.horiz,h=e.options,p=h.label,k=e.label,q=h.to,d=h.from,b=h.value,v=n(d)&&
+n(q),J=n(b),l=e.svgElem,u=!l,B=[],D=h.color,m=t(h.zIndex,0),G=h.events,B={"class":"highcharts-plot-"+(v?"band ":"line ")+(h.className||"")},A={},N=f.chart.renderer,E=v?"bands":"lines";f.isLog&&(d=f.log2lin(d),q=f.log2lin(q),b=f.log2lin(b));J?(B.stroke=D,B["stroke-width"]=h.width,h.dashStyle&&(B.dashstyle=h.dashStyle)):v&&(D&&(B.fill=D),h.borderWidth&&(B.stroke=h.borderColor,B["stroke-width"]=h.borderWidth));A.zIndex=m;E+="-"+m;(D=f.plotLinesAndBandsGroups[E])||(f.plotLinesAndBandsGroups[E]=D=N.g("plot-"+
+E).attr(A).add());u&&(e.svgElem=l=N.path().attr(B).add(D));if(J)B=f.getPlotLinePath(b,l.strokeWidth());else if(v)B=f.getPlotBandPath(d,q,h);else return;u&&B&&B.length?(l.attr({d:B}),G&&a.objectEach(G,function(a,b){l.on(b,function(a){G[b].apply(e,[a])})})):l&&(B?(l.show(),l.animate({d:B})):(l.hide(),k&&(e.label=k=k.destroy())));p&&n(p.text)&&B&&B.length&&0<f.width&&0<f.height&&!B.isFlat?(p=x({align:c&&v&&"center",x:c?!v&&4:10,verticalAlign:!c&&v&&"middle",y:c?v?16:10:v?6:-4,rotation:c&&!v&&90},p),
+this.renderLabel(p,B,v,m)):k&&k.hide();return e},renderLabel:function(a,e,c,h){var p=this.label,k=this.axis.chart.renderer;p||(p={align:a.textAlign||a.align,rotation:a.rotation,"class":"highcharts-plot-"+(c?"band":"line")+"-label "+(a.className||"")},p.zIndex=h,this.label=p=k.text(a.text,0,0,a.useHTML).attr(p).add(),p.css(a.style));h=e.xBounds||[e[1],e[4],c?e[6]:e[1]];e=e.yBounds||[e[2],e[5],c?e[7]:e[2]];c=I(h);k=I(e);p.align(a,!1,{x:c,y:k,width:F(h)-c,height:F(e)-k});p.show()},destroy:function(){u(this.axis.plotLinesAndBands,
+this);delete this.axis;f(this)}};a.extend(C.prototype,{getPlotBandPath:function(a,e){var c=this.getPlotLinePath(e,null,null,!0),h=this.getPlotLinePath(a,null,null,!0),p=[],k=this.horiz,q=1,d;a=a<this.min&&e<this.min||a>this.max&&e>this.max;if(h&&c)for(a&&(d=h.toString()===c.toString(),q=0),a=0;a<h.length;a+=6)k&&c[a+1]===h[a+1]?(c[a+1]+=q,c[a+4]+=q):k||c[a+2]!==h[a+2]||(c[a+2]+=q,c[a+5]+=q),p.push("M",h[a+1],h[a+2],"L",h[a+4],h[a+5],c[a+4],c[a+5],c[a+1],c[a+2],"z"),p.isFlat=d;return p},addPlotBand:function(a){return this.addPlotBandOrLine(a,
+"plotBands")},addPlotLine:function(a){return this.addPlotBandOrLine(a,"plotLines")},addPlotBandOrLine:function(e,f){var c=(new a.PlotLineOrBand(this,e)).render(),h=this.userOptions;c&&(f&&(h[f]=h[f]||[],h[f].push(e)),this.plotLinesAndBands.push(c));return c},removePlotBandOrLine:function(a){for(var f=this.plotLinesAndBands,c=this.options,h=this.userOptions,p=f.length;p--;)f[p].id===a&&f[p].destroy();e([c.plotLines||[],h.plotLines||[],c.plotBands||[],h.plotBands||[]],function(c){for(p=c.length;p--;)c[p].id===
+a&&u(c,c[p])})},removePlotBand:function(a){this.removePlotBandOrLine(a)},removePlotLine:function(a){this.removePlotBandOrLine(a)}})})(K,W);(function(a){var C=a.doc,F=a.each,I=a.extend,n=a.format,f=a.isNumber,e=a.map,u=a.merge,x=a.pick,t=a.splat,w=a.syncTimeout,y=a.timeUnits;a.Tooltip=function(){this.init.apply(this,arguments)};a.Tooltip.prototype={init:function(a,h){this.chart=a;this.options=h;this.crosshairs=[];this.now={x:0,y:0};this.isHidden=!0;this.split=h.split&&!a.inverted;this.shared=h.shared||
+this.split;this.outside=h.outside&&!this.split},cleanSplit:function(a){F(this.chart.series,function(c){var h=c&&c.tt;h&&(!h.isActive||a?c.tt=h.destroy():h.isActive=!1)})},getLabel:function(){var c=this.chart.renderer,h=this.options,e;this.label||(this.outside&&(this.container=e=a.doc.createElement("div"),e.className="highcharts-tooltip-container",a.css(e,{position:"absolute",top:"1px",pointerEvents:h.style&&h.style.pointerEvents}),a.doc.body.appendChild(e),this.renderer=c=new a.Renderer(e,0,0)),this.split?
+this.label=c.g("tooltip"):(this.label=c.label("",0,0,h.shape||"callout",null,null,h.useHTML,null,"tooltip").attr({padding:h.padding,r:h.borderRadius}),this.label.attr({fill:h.backgroundColor,"stroke-width":h.borderWidth}).css(h.style).shadow(h.shadow)),this.outside&&(this.label.attr({x:this.distance,y:this.distance}),this.label.xSetter=function(a){e.style.left=a+"px"},this.label.ySetter=function(a){e.style.top=a+"px"}),this.label.attr({zIndex:8}).add());return this.label},update:function(a){this.destroy();
+u(!0,this.chart.options.tooltip.userOptions,a);this.init(this.chart,u(!0,this.options,a))},destroy:function(){this.label&&(this.label=this.label.destroy());this.split&&this.tt&&(this.cleanSplit(this.chart,!0),this.tt=this.tt.destroy());this.renderer&&(this.renderer=this.renderer.destroy(),a.discardElement(this.container));a.clearTimeout(this.hideTimer);a.clearTimeout(this.tooltipTimeout)},move:function(c,h,e,k){var q=this,d=q.now,b=!1!==q.options.animation&&!q.isHidden&&(1<Math.abs(c-d.x)||1<Math.abs(h-
+d.y)),v=q.followPointer||1<q.len;I(d,{x:b?(2*d.x+c)/3:c,y:b?(d.y+h)/2:h,anchorX:v?void 0:b?(2*d.anchorX+e)/3:e,anchorY:v?void 0:b?(d.anchorY+k)/2:k});q.getLabel().attr(d);b&&(a.clearTimeout(this.tooltipTimeout),this.tooltipTimeout=setTimeout(function(){q&&q.move(c,h,e,k)},32))},hide:function(c){var h=this;a.clearTimeout(this.hideTimer);c=x(c,this.options.hideDelay,500);this.isHidden||(this.hideTimer=w(function(){h.getLabel()[c?"fadeOut":"hide"]();h.isHidden=!0},c))},getAnchor:function(a,h){var c=
+this.chart,k=c.pointer,q=c.inverted,d=c.plotTop,b=c.plotLeft,v=0,f=0,l,n;a=t(a);this.followPointer&&h?(void 0===h.chartX&&(h=k.normalize(h)),a=[h.chartX-c.plotLeft,h.chartY-d]):a[0].tooltipPos?a=a[0].tooltipPos:(F(a,function(a){l=a.series.yAxis;n=a.series.xAxis;v+=a.plotX+(!q&&n?n.left-b:0);f+=(a.plotLow?(a.plotLow+a.plotHigh)/2:a.plotY)+(!q&&l?l.top-d:0)}),v/=a.length,f/=a.length,a=[q?c.plotWidth-f:v,this.shared&&!q&&1<a.length&&h?h.chartY-d:q?c.plotHeight-v:f]);return e(a,Math.round)},getPosition:function(a,
+h,e){var c=this.chart,q=this.distance,d={},b=c.inverted&&e.h||0,v,f=this.outside,l=f?C.documentElement.clientWidth-2*q:c.chartWidth,p=f?Math.max(C.body.scrollHeight,C.documentElement.scrollHeight,C.body.offsetHeight,C.documentElement.offsetHeight,C.documentElement.clientHeight):c.chartHeight,B=c.pointer.chartPosition,D=["y",p,h,(f?B.top-q:0)+e.plotY+c.plotTop,f?0:c.plotTop,f?p:c.plotTop+c.plotHeight],m=["x",l,a,(f?B.left-q:0)+e.plotX+c.plotLeft,f?0:c.plotLeft,f?l:c.plotLeft+c.plotWidth],G=!this.followPointer&&
+x(e.ttBelow,!c.inverted===!!e.negative),A=function(a,c,g,m,k,l){var h=g<m-q,v=m+q+g<c,A=m-q-g;m+=q;if(G&&v)d[a]=m;else if(!G&&h)d[a]=A;else if(h)d[a]=Math.min(l-g,0>A-b?A:A-b);else if(v)d[a]=Math.max(k,m+b+g>c?m:m+b);else return!1},N=function(a,b,c,g){var m;g<q||g>b-q?m=!1:d[a]=g<c/2?1:g>b-c/2?b-c-2:g-c/2;return m},E=function(a){var b=D;D=m;m=b;v=a},g=function(){!1!==A.apply(0,D)?!1!==N.apply(0,m)||v||(E(!0),g()):v?d.x=d.y=0:(E(!0),g())};(c.inverted||1<this.len)&&E();g();return d},defaultFormatter:function(a){var c=
+this.points||t(this),e;e=[a.tooltipFooterHeaderFormatter(c[0])];e=e.concat(a.bodyFormatter(c));e.push(a.tooltipFooterHeaderFormatter(c[0],!0));return e},refresh:function(c,h){var e,k=this.options,q,d=c,b,v={},f=[];e=k.formatter||this.defaultFormatter;var v=this.shared,l;k.enabled&&(a.clearTimeout(this.hideTimer),this.followPointer=t(d)[0].series.tooltipOptions.followPointer,b=this.getAnchor(d,h),h=b[0],q=b[1],!v||d.series&&d.series.noSharedTooltip?v=d.getLabelConfig():(F(d,function(a){a.setState("hover");
+f.push(a.getLabelConfig())}),v={x:d[0].category,y:d[0].y},v.points=f,d=d[0]),this.len=f.length,v=e.call(v,this),l=d.series,this.distance=x(l.tooltipOptions.distance,16),!1===v?this.hide():(e=this.getLabel(),this.isHidden&&e.attr({opacity:1}).show(),this.split?this.renderSplit(v,t(c)):(k.style.width||e.css({width:this.chart.spacingBox.width}),e.attr({text:v&&v.join?v.join(""):v}),e.removeClass(/highcharts-color-[\d]+/g).addClass("highcharts-color-"+x(d.colorIndex,l.colorIndex)),e.attr({stroke:k.borderColor||
+d.color||l.color||"#666666"}),this.updatePosition({plotX:h,plotY:q,negative:d.negative,ttBelow:d.ttBelow,h:b[2]||0})),this.isHidden=!1))},renderSplit:function(c,h){var e=this,k=[],q=this.chart,d=q.renderer,b=!0,v=this.options,f=0,l,t=this.getLabel(),B=q.plotTop;a.isString(c)&&(c=[!1,c]);F(c.slice(0,h.length+1),function(a,c){if(!1!==a){c=h[c-1]||{isHeader:!0,plotX:h[0].plotX};var m=c.series||e,A=m.tt,p=c.series||{},E="highcharts-color-"+x(c.colorIndex,p.colorIndex,"none");A||(m.tt=A=d.label(null,null,
+null,"callout",null,null,v.useHTML).addClass("highcharts-tooltip-box "+E+(c.isHeader?" highcharts-tooltip-header":"")).attr({padding:v.padding,r:v.borderRadius,fill:v.backgroundColor,stroke:v.borderColor||c.color||p.color||"#333333","stroke-width":v.borderWidth}).add(t));A.isActive=!0;A.attr({text:a});A.css(v.style).shadow(v.shadow);a=A.getBBox();p=a.width+A.strokeWidth();c.isHeader?(f=a.height,q.xAxis[0].opposite&&(l=!0,B-=f),p=Math.max(0,Math.min(c.plotX+q.plotLeft-p/2,q.chartWidth+(q.scrollablePixels?
+q.scrollablePixels-q.marginRight:0)-p))):p=c.plotX+q.plotLeft-x(v.distance,16)-p;0>p&&(b=!1);a=(c.series&&c.series.yAxis&&c.series.yAxis.pos)+(c.plotY||0);a-=B;c.isHeader&&(a=l?-f:q.plotHeight+f);k.push({target:a,rank:c.isHeader?1:0,size:m.tt.getBBox().height+1,point:c,x:p,tt:A})}});this.cleanSplit();a.distribute(k,q.plotHeight+f);F(k,function(a){var c=a.point,d=c.series;a.tt.attr({visibility:void 0===a.pos?"hidden":"inherit",x:b||c.isHeader?a.x:c.plotX+q.plotLeft+x(v.distance,16),y:a.pos+B,anchorX:c.isHeader?
+c.plotX+q.plotLeft:c.plotX+d.xAxis.pos,anchorY:c.isHeader?q.plotTop+q.plotHeight/2:c.plotY+d.yAxis.pos})})},updatePosition:function(a){var c=this.chart,e=this.getLabel(),k=(this.options.positioner||this.getPosition).call(this,e.width,e.height,a),q=a.plotX+c.plotLeft;a=a.plotY+c.plotTop;var d;this.outside&&(d=(this.options.borderWidth||0)+2*this.distance,this.renderer.setSize(e.width+d,e.height+d,!1),q+=c.pointer.chartPosition.left-k.x,a+=c.pointer.chartPosition.top-k.y);this.move(Math.round(k.x),
+Math.round(k.y||0),q,a)},getDateFormat:function(a,h,e,k){var c=this.chart.time,d=c.dateFormat("%m-%d %H:%M:%S.%L",h),b,v,f={millisecond:15,second:12,minute:9,hour:6,day:3},l="millisecond";for(v in y){if(a===y.week&&+c.dateFormat("%w",h)===e&&"00:00:00.000"===d.substr(6)){v="week";break}if(y[v]>a){v=l;break}if(f[v]&&d.substr(f[v])!=="01-01 00:00:00.000".substr(f[v]))break;"week"!==v&&(l=v)}v&&(b=c.resolveDTLFormat(k[v]).main);return b},getXDateFormat:function(a,h,e){h=h.dateTimeLabelFormats;var c=
+e&&e.closestPointRange;return(c?this.getDateFormat(c,a.x,e.options.startOfWeek,h):h.day)||h.year},tooltipFooterHeaderFormatter:function(a,h){h=h?"footer":"header";var c=a.series,k=c.tooltipOptions,e=k.xDateFormat,d=c.xAxis,b=d&&"datetime"===d.options.type&&f(a.key),v=k[h+"Format"];b&&!e&&(e=this.getXDateFormat(a,k,d));b&&e&&F(a.point&&a.point.tooltipDateKeys||["key"],function(a){v=v.replace("{point."+a+"}","{point."+a+":"+e+"}")});return n(v,{point:a,series:c},this.chart.time)},bodyFormatter:function(a){return e(a,
+function(a){var c=a.series.tooltipOptions;return(c[(a.point.formatPrefix||"point")+"Formatter"]||a.point.tooltipFormatter).call(a.point,c[(a.point.formatPrefix||"point")+"Format"])})}}})(K);(function(a){var C=a.addEvent,F=a.attr,I=a.charts,n=a.color,f=a.css,e=a.defined,u=a.each,x=a.extend,t=a.find,w=a.fireEvent,y=a.isNumber,c=a.isObject,h=a.offset,p=a.pick,k=a.splat,q=a.Tooltip;a.Pointer=function(a,b){this.init(a,b)};a.Pointer.prototype={init:function(a,b){this.options=b;this.chart=a;this.runChartClick=
+b.chart.events&&!!b.chart.events.click;this.pinchDown=[];this.lastValidTouch={};q&&(a.tooltip=new q(a,b.tooltip),this.followTouchMove=p(b.tooltip.followTouchMove,!0));this.setDOMEvents()},zoomOption:function(a){var b=this.chart,c=b.options.chart,d=c.zoomType||"",b=b.inverted;/touch/.test(a.type)&&(d=p(c.pinchType,d));this.zoomX=a=/x/.test(d);this.zoomY=d=/y/.test(d);this.zoomHor=a&&!b||d&&b;this.zoomVert=d&&!b||a&&b;this.hasZoom=a||d},normalize:function(a,b){var c;c=a.touches?a.touches.length?a.touches.item(0):
+a.changedTouches[0]:a;b||(this.chartPosition=b=h(this.chart.container));return x(a,{chartX:Math.round(c.pageX-b.left),chartY:Math.round(c.pageY-b.top)})},getCoordinates:function(a){var b={xAxis:[],yAxis:[]};u(this.chart.axes,function(c){b[c.isXAxis?"xAxis":"yAxis"].push({axis:c,value:c.toValue(a[c.horiz?"chartX":"chartY"])})});return b},findNearestKDPoint:function(a,b,k){var d;u(a,function(a){var l=!(a.noSharedTooltip&&b)&&0>a.options.findNearestPointBy.indexOf("y");a=a.searchPoint(k,l);if((l=c(a,
+!0))&&!(l=!c(d,!0)))var l=d.distX-a.distX,e=d.dist-a.dist,h=(a.series.group&&a.series.group.zIndex)-(d.series.group&&d.series.group.zIndex),l=0<(0!==l&&b?l:0!==e?e:0!==h?h:d.series.index>a.series.index?-1:1);l&&(d=a)});return d},getPointFromEvent:function(a){a=a.target;for(var b;a&&!b;)b=a.point,a=a.parentNode;return b},getChartCoordinatesFromPoint:function(a,b){var c=a.series,d=c.xAxis,c=c.yAxis,k=p(a.clientX,a.plotX),e=a.shapeArgs;if(d&&c)return b?{chartX:d.len+d.pos-k,chartY:c.len+c.pos-a.plotY}:
+{chartX:k+d.pos,chartY:a.plotY+c.pos};if(e&&e.x&&e.y)return{chartX:e.x,chartY:e.y}},getHoverData:function(d,b,k,e,l,h,q){var v,m=[],f=q&&q.isBoosting;e=!(!e||!d);q=b&&!b.stickyTracking?[b]:a.grep(k,function(a){return a.visible&&!(!l&&a.directTouch)&&p(a.options.enableMouseTracking,!0)&&a.stickyTracking});b=(v=e?d:this.findNearestKDPoint(q,l,h))&&v.series;v&&(l&&!b.noSharedTooltip?(q=a.grep(k,function(a){return a.visible&&!(!l&&a.directTouch)&&p(a.options.enableMouseTracking,!0)&&!a.noSharedTooltip}),
+u(q,function(a){var b=t(a.points,function(a){return a.x===v.x&&!a.isNull});c(b)&&(f&&(b=a.getPoint(b)),m.push(b))})):m.push(v));return{hoverPoint:v,hoverSeries:b,hoverPoints:m}},runPointActions:function(c,b){var d=this.chart,k=d.tooltip&&d.tooltip.options.enabled?d.tooltip:void 0,l=k?k.shared:!1,e=b||d.hoverPoint,h=e&&e.series||d.hoverSeries,h=this.getHoverData(e,h,d.series,"touchmove"!==c.type&&(!!b||h&&h.directTouch&&this.isDirectTouch),l,c,{isBoosting:d.isBoosting}),q,e=h.hoverPoint;q=h.hoverPoints;
+b=(h=h.hoverSeries)&&h.tooltipOptions.followPointer;l=l&&h&&!h.noSharedTooltip;if(e&&(e!==d.hoverPoint||k&&k.isHidden)){u(d.hoverPoints||[],function(b){-1===a.inArray(b,q)&&b.setState()});u(q||[],function(a){a.setState("hover")});if(d.hoverSeries!==h)h.onMouseOver();d.hoverPoint&&d.hoverPoint.firePointEvent("mouseOut");if(!e.series)return;e.firePointEvent("mouseOver");d.hoverPoints=q;d.hoverPoint=e;k&&k.refresh(l?q:e,c)}else b&&k&&!k.isHidden&&(e=k.getAnchor([{}],c),k.updatePosition({plotX:e[0],plotY:e[1]}));
+this.unDocMouseMove||(this.unDocMouseMove=C(d.container.ownerDocument,"mousemove",function(b){var c=I[a.hoverChartIndex];if(c)c.pointer.onDocumentMouseMove(b)}));u(d.axes,function(b){var d=p(b.crosshair.snap,!0),m=d?a.find(q,function(a){return a.series[b.coll]===b}):void 0;m||!d?b.drawCrosshair(c,m):b.hideCrosshair()})},reset:function(a,b){var c=this.chart,d=c.hoverSeries,l=c.hoverPoint,e=c.hoverPoints,h=c.tooltip,q=h&&h.shared?e:l;a&&q&&u(k(q),function(b){b.series.isCartesian&&void 0===b.plotX&&
+(a=!1)});if(a)h&&q&&(h.refresh(q),h.shared&&e?u(e,function(a){a.setState(a.state,!0);a.series.isCartesian&&(a.series.xAxis.crosshair&&a.series.xAxis.drawCrosshair(null,a),a.series.yAxis.crosshair&&a.series.yAxis.drawCrosshair(null,a))}):l&&(l.setState(l.state,!0),u(c.axes,function(a){a.crosshair&&a.drawCrosshair(null,l)})));else{if(l)l.onMouseOut();e&&u(e,function(a){a.setState()});if(d)d.onMouseOut();h&&h.hide(b);this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove());u(c.axes,function(a){a.hideCrosshair()});
+this.hoverX=c.hoverPoints=c.hoverPoint=null}},scaleGroups:function(a,b){var c=this.chart,d;u(c.series,function(k){d=a||k.getPlotBox();k.xAxis&&k.xAxis.zoomEnabled&&k.group&&(k.group.attr(d),k.markerGroup&&(k.markerGroup.attr(d),k.markerGroup.clip(b?c.clipRect:null)),k.dataLabelsGroup&&k.dataLabelsGroup.attr(d))});c.clipRect.attr(b||c.clipBox)},dragStart:function(a){var b=this.chart;b.mouseIsDown=a.type;b.cancelClick=!1;b.mouseDownX=this.mouseDownX=a.chartX;b.mouseDownY=this.mouseDownY=a.chartY},drag:function(a){var b=
+this.chart,c=b.options.chart,d=a.chartX,k=a.chartY,e=this.zoomHor,h=this.zoomVert,q=b.plotLeft,m=b.plotTop,f=b.plotWidth,A=b.plotHeight,p,E=this.selectionMarker,g=this.mouseDownX,r=this.mouseDownY,t=c.panKey&&a[c.panKey+"Key"];E&&E.touch||(d<q?d=q:d>q+f&&(d=q+f),k<m?k=m:k>m+A&&(k=m+A),this.hasDragged=Math.sqrt(Math.pow(g-d,2)+Math.pow(r-k,2)),10<this.hasDragged&&(p=b.isInsidePlot(g-q,r-m),b.hasCartesianSeries&&(this.zoomX||this.zoomY)&&p&&!t&&!E&&(this.selectionMarker=E=b.renderer.rect(q,m,e?1:f,
+h?1:A,0).attr({fill:c.selectionMarkerFill||n("#335cad").setOpacity(.25).get(),"class":"highcharts-selection-marker",zIndex:7}).add()),E&&e&&(d-=g,E.attr({width:Math.abs(d),x:(0<d?0:d)+g})),E&&h&&(d=k-r,E.attr({height:Math.abs(d),y:(0<d?0:d)+r})),p&&!E&&c.panning&&b.pan(a,c.panning)))},drop:function(a){var b=this,c=this.chart,d=this.hasPinched;if(this.selectionMarker){var k={originalEvent:a,xAxis:[],yAxis:[]},h=this.selectionMarker,q=h.attr?h.attr("x"):h.x,p=h.attr?h.attr("y"):h.y,m=h.attr?h.attr("width"):
+h.width,G=h.attr?h.attr("height"):h.height,A;if(this.hasDragged||d)u(c.axes,function(c){if(c.zoomEnabled&&e(c.min)&&(d||b[{xAxis:"zoomX",yAxis:"zoomY"}[c.coll]])){var h=c.horiz,g="touchend"===a.type?c.minPixelPadding:0,l=c.toValue((h?q:p)+g),h=c.toValue((h?q+m:p+G)-g);k[c.coll].push({axis:c,min:Math.min(l,h),max:Math.max(l,h)});A=!0}}),A&&w(c,"selection",k,function(a){c.zoom(x(a,d?{animation:!1}:null))});y(c.index)&&(this.selectionMarker=this.selectionMarker.destroy());d&&this.scaleGroups()}c&&y(c.index)&&
+(f(c.container,{cursor:c._cursor}),c.cancelClick=10<this.hasDragged,c.mouseIsDown=this.hasDragged=this.hasPinched=!1,this.pinchDown=[])},onContainerMouseDown:function(a){a=this.normalize(a);2!==a.button&&(this.zoomOption(a),a.preventDefault&&a.preventDefault(),this.dragStart(a))},onDocumentMouseUp:function(c){I[a.hoverChartIndex]&&I[a.hoverChartIndex].pointer.drop(c)},onDocumentMouseMove:function(a){var b=this.chart,c=this.chartPosition;a=this.normalize(a,c);!c||this.inClass(a.target,"highcharts-tracker")||
+b.isInsidePlot(a.chartX-b.plotLeft,a.chartY-b.plotTop)||this.reset()},onContainerMouseLeave:function(c){var b=I[a.hoverChartIndex];b&&(c.relatedTarget||c.toElement)&&(b.pointer.reset(),b.pointer.chartPosition=null)},onContainerMouseMove:function(c){var b=this.chart;e(a.hoverChartIndex)&&I[a.hoverChartIndex]&&I[a.hoverChartIndex].mouseIsDown||(a.hoverChartIndex=b.index);c=this.normalize(c);c.returnValue=!1;"mousedown"===b.mouseIsDown&&this.drag(c);!this.inClass(c.target,"highcharts-tracker")&&!b.isInsidePlot(c.chartX-
+b.plotLeft,c.chartY-b.plotTop)||b.openMenu||this.runPointActions(c)},inClass:function(a,b){for(var c;a;){if(c=F(a,"class")){if(-1!==c.indexOf(b))return!0;if(-1!==c.indexOf("highcharts-container"))return!1}a=a.parentNode}},onTrackerMouseOut:function(a){var b=this.chart.hoverSeries;a=a.relatedTarget||a.toElement;this.isDirectTouch=!1;if(!(!b||!a||b.stickyTracking||this.inClass(a,"highcharts-tooltip")||this.inClass(a,"highcharts-series-"+b.index)&&this.inClass(a,"highcharts-tracker")))b.onMouseOut()},
+onContainerClick:function(a){var b=this.chart,c=b.hoverPoint,d=b.plotLeft,k=b.plotTop;a=this.normalize(a);b.cancelClick||(c&&this.inClass(a.target,"highcharts-tracker")?(w(c.series,"click",x(a,{point:c})),b.hoverPoint&&c.firePointEvent("click",a)):(x(a,this.getCoordinates(a)),b.isInsidePlot(a.chartX-d,a.chartY-k)&&w(b,"click",a)))},setDOMEvents:function(){var c=this,b=c.chart.container,k=b.ownerDocument;b.onmousedown=function(a){c.onContainerMouseDown(a)};b.onmousemove=function(a){c.onContainerMouseMove(a)};
+b.onclick=function(a){c.onContainerClick(a)};this.unbindContainerMouseLeave=C(b,"mouseleave",c.onContainerMouseLeave);a.unbindDocumentMouseUp||(a.unbindDocumentMouseUp=C(k,"mouseup",c.onDocumentMouseUp));a.hasTouch&&(b.ontouchstart=function(a){c.onContainerTouchStart(a)},b.ontouchmove=function(a){c.onContainerTouchMove(a)},a.unbindDocumentTouchEnd||(a.unbindDocumentTouchEnd=C(k,"touchend",c.onDocumentTouchEnd)))},destroy:function(){var c=this;c.unDocMouseMove&&c.unDocMouseMove();this.unbindContainerMouseLeave();
+a.chartCount||(a.unbindDocumentMouseUp&&(a.unbindDocumentMouseUp=a.unbindDocumentMouseUp()),a.unbindDocumentTouchEnd&&(a.unbindDocumentTouchEnd=a.unbindDocumentTouchEnd()));clearInterval(c.tooltipTimeout);a.objectEach(c,function(a,d){c[d]=null})}}})(K);(function(a){var C=a.charts,F=a.each,I=a.extend,n=a.map,f=a.noop,e=a.pick;I(a.Pointer.prototype,{pinchTranslate:function(a,e,f,n,y,c){this.zoomHor&&this.pinchTranslateDirection(!0,a,e,f,n,y,c);this.zoomVert&&this.pinchTranslateDirection(!1,a,e,f,n,
+y,c)},pinchTranslateDirection:function(a,e,f,n,y,c,h,p){var k=this.chart,q=a?"x":"y",d=a?"X":"Y",b="chart"+d,v=a?"width":"height",t=k["plot"+(a?"Left":"Top")],l,u,B=p||1,D=k.inverted,m=k.bounds[a?"h":"v"],G=1===e.length,A=e[0][b],N=f[0][b],E=!G&&e[1][b],g=!G&&f[1][b],r;f=function(){!G&&20<Math.abs(A-E)&&(B=p||Math.abs(N-g)/Math.abs(A-E));u=(t-N)/B+A;l=k["plot"+(a?"Width":"Height")]/B};f();e=u;e<m.min?(e=m.min,r=!0):e+l>m.max&&(e=m.max-l,r=!0);r?(N-=.8*(N-h[q][0]),G||(g-=.8*(g-h[q][1])),f()):h[q]=
+[N,g];D||(c[q]=u-t,c[v]=l);c=D?1/B:B;y[v]=l;y[q]=e;n[D?a?"scaleY":"scaleX":"scale"+d]=B;n["translate"+d]=c*t+(N-c*A)},pinch:function(a){var u=this,t=u.chart,w=u.pinchDown,y=a.touches,c=y.length,h=u.lastValidTouch,p=u.hasZoom,k=u.selectionMarker,q={},d=1===c&&(u.inClass(a.target,"highcharts-tracker")&&t.runTrackerClick||u.runChartClick),b={};1<c&&(u.initiated=!0);p&&u.initiated&&!d&&a.preventDefault();n(y,function(a){return u.normalize(a)});"touchstart"===a.type?(F(y,function(a,b){w[b]={chartX:a.chartX,
+chartY:a.chartY}}),h.x=[w[0].chartX,w[1]&&w[1].chartX],h.y=[w[0].chartY,w[1]&&w[1].chartY],F(t.axes,function(a){if(a.zoomEnabled){var b=t.bounds[a.horiz?"h":"v"],c=a.minPixelPadding,d=a.toPixels(e(a.options.min,a.dataMin)),k=a.toPixels(e(a.options.max,a.dataMax)),h=Math.max(d,k);b.min=Math.min(a.pos,Math.min(d,k)-c);b.max=Math.max(a.pos+a.len,h+c)}}),u.res=!0):u.followTouchMove&&1===c?this.runPointActions(u.normalize(a)):w.length&&(k||(u.selectionMarker=k=I({destroy:f,touch:!0},t.plotBox)),u.pinchTranslate(w,
+y,q,k,b,h),u.hasPinched=p,u.scaleGroups(q,b),u.res&&(u.res=!1,this.reset(!1,0)))},touch:function(f,n){var t=this.chart,u,y;if(t.index!==a.hoverChartIndex)this.onContainerMouseLeave({relatedTarget:!0});a.hoverChartIndex=t.index;1===f.touches.length?(f=this.normalize(f),(y=t.isInsidePlot(f.chartX-t.plotLeft,f.chartY-t.plotTop))&&!t.openMenu?(n&&this.runPointActions(f),"touchmove"===f.type&&(n=this.pinchDown,u=n[0]?4<=Math.sqrt(Math.pow(n[0].chartX-f.chartX,2)+Math.pow(n[0].chartY-f.chartY,2)):!1),e(u,
+!0)&&this.pinch(f)):n&&this.reset()):2===f.touches.length&&this.pinch(f)},onContainerTouchStart:function(a){this.zoomOption(a);this.touch(a,!0)},onContainerTouchMove:function(a){this.touch(a)},onDocumentTouchEnd:function(e){C[a.hoverChartIndex]&&C[a.hoverChartIndex].pointer.drop(e)}})})(K);(function(a){var C=a.addEvent,F=a.charts,I=a.css,n=a.doc,f=a.extend,e=a.noop,u=a.Pointer,x=a.removeEvent,t=a.win,w=a.wrap;if(!a.hasTouch&&(t.PointerEvent||t.MSPointerEvent)){var y={},c=!!t.PointerEvent,h=function(){var c=
+[];c.item=function(a){return this[a]};a.objectEach(y,function(a){c.push({pageX:a.pageX,pageY:a.pageY,target:a.target})});return c},p=function(c,q,d,b){"touch"!==c.pointerType&&c.pointerType!==c.MSPOINTER_TYPE_TOUCH||!F[a.hoverChartIndex]||(b(c),b=F[a.hoverChartIndex].pointer,b[q]({type:d,target:c.currentTarget,preventDefault:e,touches:h()}))};f(u.prototype,{onContainerPointerDown:function(a){p(a,"onContainerTouchStart","touchstart",function(a){y[a.pointerId]={pageX:a.pageX,pageY:a.pageY,target:a.currentTarget}})},
+onContainerPointerMove:function(a){p(a,"onContainerTouchMove","touchmove",function(a){y[a.pointerId]={pageX:a.pageX,pageY:a.pageY};y[a.pointerId].target||(y[a.pointerId].target=a.currentTarget)})},onDocumentPointerUp:function(a){p(a,"onDocumentTouchEnd","touchend",function(a){delete y[a.pointerId]})},batchMSEvents:function(a){a(this.chart.container,c?"pointerdown":"MSPointerDown",this.onContainerPointerDown);a(this.chart.container,c?"pointermove":"MSPointerMove",this.onContainerPointerMove);a(n,c?
+"pointerup":"MSPointerUp",this.onDocumentPointerUp)}});w(u.prototype,"init",function(a,c,d){a.call(this,c,d);this.hasZoom&&I(c.container,{"-ms-touch-action":"none","touch-action":"none"})});w(u.prototype,"setDOMEvents",function(a){a.apply(this);(this.hasZoom||this.followTouchMove)&&this.batchMSEvents(C)});w(u.prototype,"destroy",function(a){this.batchMSEvents(x);a.call(this)})}})(K);(function(a){var C=a.addEvent,F=a.css,I=a.discardElement,n=a.defined,f=a.each,e=a.fireEvent,u=a.isFirefox,x=a.marginNames,
+t=a.merge,w=a.pick,y=a.setAnimation,c=a.stableSort,h=a.win,p=a.wrap;a.Legend=function(a,c){this.init(a,c)};a.Legend.prototype={init:function(a,c){this.chart=a;this.setOptions(c);c.enabled&&(this.render(),C(this.chart,"endResize",function(){this.legend.positionCheckboxes()}),this.proximate?this.unchartrender=C(this.chart,"render",function(){this.legend.proximatePositions();this.legend.positionItems()}):this.unchartrender&&this.unchartrender())},setOptions:function(a){var c=w(a.padding,8);this.options=
+a;this.itemStyle=a.itemStyle;this.itemHiddenStyle=t(this.itemStyle,a.itemHiddenStyle);this.itemMarginTop=a.itemMarginTop||0;this.padding=c;this.initialItemY=c-5;this.symbolWidth=w(a.symbolWidth,16);this.pages=[];this.proximate="proximate"===a.layout&&!this.chart.inverted},update:function(a,c){var d=this.chart;this.setOptions(t(!0,this.options,a));this.destroy();d.isDirtyLegend=d.isDirtyBox=!0;w(c,!0)&&d.redraw();e(this,"afterUpdate")},colorizeItem:function(a,c){a.legendGroup[c?"removeClass":"addClass"]("highcharts-legend-item-hidden");
+var d=this.options,b=a.legendItem,k=a.legendLine,h=a.legendSymbol,l=this.itemHiddenStyle.color,d=c?d.itemStyle.color:l,q=c?a.color||l:l,f=a.options&&a.options.marker,p={fill:q};b&&b.css({fill:d,color:d});k&&k.attr({stroke:q});h&&(f&&h.isMarker&&(p=a.pointAttribs(),c||(p.stroke=p.fill=l)),h.attr(p));e(this,"afterColorizeItem",{item:a,visible:c})},positionItems:function(){f(this.allItems,this.positionItem,this);this.chart.isResizing||this.positionCheckboxes()},positionItem:function(a){var c=this.options,
+d=c.symbolPadding,c=!c.rtl,b=a._legendItemPos,e=b[0],b=b[1],h=a.checkbox;if((a=a.legendGroup)&&a.element)a[n(a.translateY)?"animate":"attr"]({translateX:c?e:this.legendWidth-e-2*d-4,translateY:b});h&&(h.x=e,h.y=b)},destroyItem:function(a){var c=a.checkbox;f(["legendItem","legendLine","legendSymbol","legendGroup"],function(c){a[c]&&(a[c]=a[c].destroy())});c&&I(a.checkbox)},destroy:function(){function a(a){this[a]&&(this[a]=this[a].destroy())}f(this.getAllItems(),function(c){f(["legendItem","legendGroup"],
+a,c)});f("clipRect up down pager nav box title group".split(" "),a,this);this.display=null},positionCheckboxes:function(){var a=this.group&&this.group.alignAttr,c,d=this.clipHeight||this.legendHeight,b=this.titleHeight;a&&(c=a.translateY,f(this.allItems,function(e){var h=e.checkbox,k;h&&(k=c+b+h.y+(this.scrollOffset||0)+3,F(h,{left:a.translateX+e.checkboxOffset+h.x-20+"px",top:k+"px",display:this.proximate||k>c-6&&k<c+d-6?"":"none"}))},this))},renderTitle:function(){var a=this.options,c=this.padding,
+d=a.title,b=0;d.text&&(this.title||(this.title=this.chart.renderer.label(d.text,c-3,c-4,null,null,null,a.useHTML,null,"legend-title").attr({zIndex:1}).css(d.style).add(this.group)),a=this.title.getBBox(),b=a.height,this.offsetWidth=a.width,this.contentGroup.attr({translateY:b}));this.titleHeight=b},setText:function(c){var h=this.options;c.legendItem.attr({text:h.labelFormat?a.format(h.labelFormat,c,this.chart.time):h.labelFormatter.call(c)})},renderItem:function(a){var c=this.chart,d=c.renderer,b=
+this.options,h=this.symbolWidth,e=b.symbolPadding,l=this.itemStyle,k=this.itemHiddenStyle,f="horizontal"===b.layout?w(b.itemDistance,20):0,p=!b.rtl,m=a.legendItem,G=!a.series,A=!G&&a.series.drawLegendSymbol?a.series:a,n=A.options,n=this.createCheckboxForItem&&n&&n.showCheckbox,f=h+e+f+(n?20:0),E=b.useHTML,g=a.options.className;m||(a.legendGroup=d.g("legend-item").addClass("highcharts-"+A.type+"-series highcharts-color-"+a.colorIndex+(g?" "+g:"")+(G?" highcharts-series-"+a.index:"")).attr({zIndex:1}).add(this.scrollGroup),
+a.legendItem=m=d.text("",p?h+e:-e,this.baseline||0,E).css(t(a.visible?l:k)).attr({align:p?"left":"right",zIndex:2}).add(a.legendGroup),this.baseline||(h=l.fontSize,this.fontMetrics=d.fontMetrics(h,m),this.baseline=this.fontMetrics.f+3+this.itemMarginTop,m.attr("y",this.baseline)),this.symbolHeight=b.symbolHeight||this.fontMetrics.f,A.drawLegendSymbol(this,a),this.setItemEvents&&this.setItemEvents(a,m,E),n&&this.createCheckboxForItem(a));this.colorizeItem(a,a.visible);l.width||m.css({width:(b.itemWidth||
+b.width||c.spacingBox.width)-f});this.setText(a);c=m.getBBox();a.itemWidth=a.checkboxOffset=b.itemWidth||a.legendItemWidth||c.width+f;this.maxItemWidth=Math.max(this.maxItemWidth,a.itemWidth);this.totalItemWidth+=a.itemWidth;this.itemHeight=a.itemHeight=Math.round(a.legendItemHeight||c.height||this.symbolHeight)},layoutItem:function(a){var c=this.options,d=this.padding,b="horizontal"===c.layout,h=a.itemHeight,e=c.itemMarginBottom||0,l=this.itemMarginTop,k=b?w(c.itemDistance,20):0,f=c.width,p=f||this.chart.spacingBox.width-
+2*d-c.x,c=c.alignColumns&&this.totalItemWidth>p?this.maxItemWidth:a.itemWidth;b&&this.itemX-d+c>p&&(this.itemX=d,this.itemY+=l+this.lastLineHeight+e,this.lastLineHeight=0);this.lastItemY=l+this.itemY+e;this.lastLineHeight=Math.max(h,this.lastLineHeight);a._legendItemPos=[this.itemX,this.itemY];b?this.itemX+=c:(this.itemY+=l+h+e,this.lastLineHeight=h);this.offsetWidth=f||Math.max((b?this.itemX-d-(a.checkbox?0:k):c)+d,this.offsetWidth)},getAllItems:function(){var a=[];f(this.chart.series,function(c){var d=
+c&&c.options;c&&w(d.showInLegend,n(d.linkedTo)?!1:void 0,!0)&&(a=a.concat(c.legendItems||("point"===d.legendType?c.data:c)))});e(this,"afterGetAllItems",{allItems:a});return a},getAlignment:function(){var a=this.options;return this.proximate?a.align.charAt(0)+"tv":a.floating?"":a.align.charAt(0)+a.verticalAlign.charAt(0)+a.layout.charAt(0)},adjustMargins:function(a,c){var d=this.chart,b=this.options,h=this.getAlignment();h&&f([/(lth|ct|rth)/,/(rtv|rm|rbv)/,/(rbh|cb|lbh)/,/(lbv|lm|ltv)/],function(e,
+l){e.test(h)&&!n(a[l])&&(d[x[l]]=Math.max(d[x[l]],d.legend[(l+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][l]*b[l%2?"x":"y"]+w(b.margin,12)+c[l]+(0===l&&void 0!==d.options.title.margin?d.titleOffset+d.options.title.margin:0)))})},proximatePositions:function(){var c=this.chart,h=[],d="left"===this.options.align;f(this.allItems,function(b){var e,k;e=d;b.xAxis&&b.points&&(b.xAxis.options.reversed&&(e=!e),e=a.find(e?b.points:b.points.slice(0).reverse(),function(b){return a.isNumber(b.plotY)}),k=b.legendGroup.getBBox().height,
+h.push({target:b.visible?(e?e.plotY:b.xAxis.height)-.3*k:c.plotHeight,size:k,item:b}))},this);a.distribute(h,c.plotHeight);f(h,function(a){a.item._legendItemPos[1]=c.plotTop-c.spacing[0]+a.pos})},render:function(){var a=this.chart,h=a.renderer,d=this.group,b,e,p,l=this.box,n=this.options,B=this.padding;this.itemX=B;this.itemY=this.initialItemY;this.lastItemY=this.offsetWidth=0;d||(this.group=d=h.g("legend").attr({zIndex:7}).add(),this.contentGroup=h.g().attr({zIndex:1}).add(d),this.scrollGroup=h.g().add(this.contentGroup));
+this.renderTitle();b=this.getAllItems();c(b,function(a,b){return(a.options&&a.options.legendIndex||0)-(b.options&&b.options.legendIndex||0)});n.reversed&&b.reverse();this.allItems=b;this.display=e=!!b.length;this.itemHeight=this.totalItemWidth=this.maxItemWidth=this.lastLineHeight=0;f(b,this.renderItem,this);f(b,this.layoutItem,this);b=(n.width||this.offsetWidth)+B;p=this.lastItemY+this.lastLineHeight+this.titleHeight;p=this.handleOverflow(p);p+=B;l||(this.box=l=h.rect().addClass("highcharts-legend-box").attr({r:n.borderRadius}).add(d),
+l.isNew=!0);l.attr({stroke:n.borderColor,"stroke-width":n.borderWidth||0,fill:n.backgroundColor||"none"}).shadow(n.shadow);0<b&&0<p&&(l[l.isNew?"attr":"animate"](l.crisp.call({},{x:0,y:0,width:b,height:p},l.strokeWidth())),l.isNew=!1);l[e?"show":"hide"]();this.legendWidth=b;this.legendHeight=p;e&&(h=a.spacingBox,/(lth|ct|rth)/.test(this.getAlignment())&&(h=t(h,{y:h.y+a.titleOffset+a.options.title.margin})),d.align(t(n,{width:b,height:p,verticalAlign:this.proximate?"top":n.verticalAlign}),!0,h));this.proximate||
+this.positionItems()},handleOverflow:function(a){var c=this,d=this.chart,b=d.renderer,h=this.options,e=h.y,l=this.padding,d=d.spacingBox.height+("top"===h.verticalAlign?-e:e)-l,e=h.maxHeight,k,p=this.clipRect,n=h.navigation,m=w(n.animation,!0),G=n.arrowSize||12,A=this.nav,t=this.pages,E,g=this.allItems,r=function(a){"number"===typeof a?p.attr({height:a}):p&&(c.clipRect=p.destroy(),c.contentGroup.clip());c.contentGroup.div&&(c.contentGroup.div.style.clip=a?"rect("+l+"px,9999px,"+(l+a)+"px,0)":"auto")};
+"horizontal"!==h.layout||"middle"===h.verticalAlign||h.floating||(d/=2);e&&(d=Math.min(d,e));t.length=0;a>d&&!1!==n.enabled?(this.clipHeight=k=Math.max(d-20-this.titleHeight-l,0),this.currentPage=w(this.currentPage,1),this.fullHeight=a,f(g,function(a,b){var c=a._legendItemPos[1],d=Math.round(a.legendItem.getBBox().height),m=t.length;if(!m||c-t[m-1]>k&&(E||c)!==t[m-1])t.push(E||c),m++;a.pageIx=m-1;E&&(g[b-1].pageIx=m-1);b===g.length-1&&c+d-t[m-1]>k&&(t.push(c),a.pageIx=m);c!==E&&(E=c)}),p||(p=c.clipRect=
+b.clipRect(0,l,9999,0),c.contentGroup.clip(p)),r(k),A||(this.nav=A=b.g().attr({zIndex:1}).add(this.group),this.up=b.symbol("triangle",0,0,G,G).on("click",function(){c.scroll(-1,m)}).add(A),this.pager=b.text("",15,10).addClass("highcharts-legend-navigation").css(n.style).add(A),this.down=b.symbol("triangle-down",0,0,G,G).on("click",function(){c.scroll(1,m)}).add(A)),c.scroll(0),a=d):A&&(r(),this.nav=A.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0);return a},scroll:function(a,c){var d=
+this.pages,b=d.length;a=this.currentPage+a;var h=this.clipHeight,e=this.options.navigation,l=this.pager,f=this.padding;a>b&&(a=b);0<a&&(void 0!==c&&y(c,this.chart),this.nav.attr({translateX:f,translateY:h+this.padding+7+this.titleHeight,visibility:"visible"}),this.up.attr({"class":1===a?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"}),l.attr({text:a+"/"+b}),this.down.attr({x:18+this.pager.getBBox().width,"class":a===b?"highcharts-legend-nav-inactive":"highcharts-legend-nav-active"}),
+this.up.attr({fill:1===a?e.inactiveColor:e.activeColor}).css({cursor:1===a?"default":"pointer"}),this.down.attr({fill:a===b?e.inactiveColor:e.activeColor}).css({cursor:a===b?"default":"pointer"}),this.scrollOffset=-d[a-1]+this.initialItemY,this.scrollGroup.animate({translateY:this.scrollOffset}),this.currentPage=a,this.positionCheckboxes())}};a.LegendSymbolMixin={drawRectangle:function(a,c){var d=a.symbolHeight,b=a.options.squareSymbol;c.legendSymbol=this.chart.renderer.rect(b?(a.symbolWidth-d)/2:
+0,a.baseline-d+1,b?d:a.symbolWidth,d,w(a.options.symbolRadius,d/2)).addClass("highcharts-point").attr({zIndex:3}).add(c.legendGroup)},drawLineMarker:function(a){var c=this.options,d=c.marker,b=a.symbolWidth,h=a.symbolHeight,e=h/2,l=this.chart.renderer,f=this.legendGroup;a=a.baseline-Math.round(.3*a.fontMetrics.b);var k;k={"stroke-width":c.lineWidth||0};c.dashStyle&&(k.dashstyle=c.dashStyle);this.legendLine=l.path(["M",0,a,"L",b,a]).addClass("highcharts-graph").attr(k).add(f);d&&!1!==d.enabled&&b&&
+(c=Math.min(w(d.radius,e),e),0===this.symbol.indexOf("url")&&(d=t(d,{width:h,height:h}),c=0),this.legendSymbol=d=l.symbol(this.symbol,b/2-c,a-c,2*c,2*c,d).addClass("highcharts-point").add(f),d.isMarker=!0)}};(/Trident\/7\.0/.test(h.navigator.userAgent)||u)&&p(a.Legend.prototype,"positionItem",function(a,c){var d=this,b=function(){c._legendItemPos&&a.call(d,c)};b();setTimeout(b)})})(K);(function(a){var C=a.addEvent,F=a.animate,I=a.animObject,n=a.attr,f=a.doc,e=a.Axis,u=a.createElement,x=a.defaultOptions,
+t=a.discardElement,w=a.charts,y=a.css,c=a.defined,h=a.each,p=a.extend,k=a.find,q=a.fireEvent,d=a.grep,b=a.isNumber,v=a.isObject,J=a.isString,l=a.Legend,L=a.marginNames,B=a.merge,D=a.objectEach,m=a.Pointer,G=a.pick,A=a.pInt,N=a.removeEvent,E=a.seriesTypes,g=a.splat,r=a.syncTimeout,M=a.win,O=a.Chart=function(){this.getArgs.apply(this,arguments)};a.chart=function(a,b,c){return new O(a,b,c)};p(O.prototype,{callbacks:[],getArgs:function(){var a=[].slice.call(arguments);if(J(a[0])||a[0].nodeName)this.renderTo=
+a.shift();this.init(a[0],a[1])},init:function(b,c){var d,g,m=b.series,h=b.plotOptions||{};q(this,"init",{args:arguments},function(){b.series=null;d=B(x,b);for(g in d.plotOptions)d.plotOptions[g].tooltip=h[g]&&B(h[g].tooltip)||void 0;d.tooltip.userOptions=b.chart&&b.chart.forExport&&b.tooltip.userOptions||b.tooltip;d.series=b.series=m;this.userOptions=b;var e=d.chart,l=e.events;this.margin=[];this.spacing=[];this.bounds={h:{},v:{}};this.labelCollectors=[];this.callback=c;this.isResizing=0;this.options=
+d;this.axes=[];this.series=[];this.time=b.time&&a.keys(b.time).length?new a.Time(b.time):a.time;this.hasCartesianSeries=e.showAxes;var f=this;f.index=w.length;w.push(f);a.chartCount++;l&&D(l,function(a,b){C(f,b,a)});f.xAxis=[];f.yAxis=[];f.pointCount=f.colorCounter=f.symbolCounter=0;q(f,"afterInit");f.firstRender()})},initSeries:function(b){var c=this.options.chart;(c=E[b.type||c.type||c.defaultSeriesType])||a.error(17,!0);c=new c;c.init(this,b);return c},orderSeries:function(a){var b=this.series;
+for(a=a||0;a<b.length;a++)b[a]&&(b[a].index=a,b[a].name=b[a].getName())},isInsidePlot:function(a,b,c){var d=c?b:a;a=c?a:b;return 0<=d&&d<=this.plotWidth&&0<=a&&a<=this.plotHeight},redraw:function(b){q(this,"beforeRedraw");var c=this.axes,d=this.series,g=this.pointer,m=this.legend,e=this.userOptions.legend,l=this.isDirtyLegend,f,A,k=this.hasCartesianSeries,r=this.isDirtyBox,G,v=this.renderer,H=v.isHidden(),E=[];this.setResponsive&&this.setResponsive(!1);a.setAnimation(b,this);H&&this.temporaryDisplay();
+this.layOutTitles();for(b=d.length;b--;)if(G=d[b],G.options.stacking&&(f=!0,G.isDirty)){A=!0;break}if(A)for(b=d.length;b--;)G=d[b],G.options.stacking&&(G.isDirty=!0);h(d,function(a){a.isDirty&&("point"===a.options.legendType?(a.updateTotals&&a.updateTotals(),l=!0):e&&(e.labelFormatter||e.labelFormat)&&(l=!0));a.isDirtyData&&q(a,"updatedData")});l&&m&&m.options.enabled&&(m.render(),this.isDirtyLegend=!1);f&&this.getStacks();k&&h(c,function(a){a.updateNames();a.updateYNames&&a.updateYNames();a.setScale()});
+this.getMargins();k&&(h(c,function(a){a.isDirty&&(r=!0)}),h(c,function(a){var b=a.min+","+a.max;a.extKey!==b&&(a.extKey=b,E.push(function(){q(a,"afterSetExtremes",p(a.eventArgs,a.getExtremes()));delete a.eventArgs}));(r||f)&&a.redraw()}));r&&this.drawChartBox();q(this,"predraw");h(d,function(a){(r||a.isDirty)&&a.visible&&a.redraw();a.isDirtyData=!1});g&&g.reset(!0);v.draw();q(this,"redraw");q(this,"render");H&&this.temporaryDisplay(!0);h(E,function(a){a.call()})},get:function(a){function b(b){return b.id===
+a||b.options&&b.options.id===a}var c,d=this.series,g;c=k(this.axes,b)||k(this.series,b);for(g=0;!c&&g<d.length;g++)c=k(d[g].points||[],b);return c},getAxes:function(){var a=this,b=this.options,c=b.xAxis=g(b.xAxis||{}),b=b.yAxis=g(b.yAxis||{});q(this,"getAxes");h(c,function(a,b){a.index=b;a.isX=!0});h(b,function(a,b){a.index=b});c=c.concat(b);h(c,function(b){new e(a,b)});q(this,"afterGetAxes")},getSelectedPoints:function(){var a=[];h(this.series,function(b){a=a.concat(d(b.data||[],function(a){return a.selected}))});
+return a},getSelectedSeries:function(){return d(this.series,function(a){return a.selected})},setTitle:function(a,b,c){var d=this,g=d.options,m;m=g.title=B({style:{color:"#333333",fontSize:g.isStock?"16px":"18px"}},g.title,a);g=g.subtitle=B({style:{color:"#666666"}},g.subtitle,b);h([["title",a,m],["subtitle",b,g]],function(a,b){var c=a[0],g=d[c],m=a[1];a=a[2];g&&m&&(d[c]=g=g.destroy());a&&!g&&(d[c]=d.renderer.text(a.text,0,0,a.useHTML).attr({align:a.align,"class":"highcharts-"+c,zIndex:a.zIndex||4}).add(),
+d[c].update=function(a){d.setTitle(!b&&a,b&&a)},d[c].css(a.style))});d.layOutTitles(c)},layOutTitles:function(a){var b=0,c,d=this.renderer,g=this.spacingBox;h(["title","subtitle"],function(a){var c=this[a],m=this.options[a];a="title"===a?-3:m.verticalAlign?0:b+2;var h;c&&(h=m.style.fontSize,h=d.fontMetrics(h,c).b,c.css({width:(m.width||g.width+m.widthAdjust)+"px"}).align(p({y:a+h},m),!1,"spacingBox"),m.floating||m.verticalAlign||(b=Math.ceil(b+c.getBBox(m.useHTML).height)))},this);c=this.titleOffset!==
+b;this.titleOffset=b;!this.isDirtyBox&&c&&(this.isDirtyBox=this.isDirtyLegend=c,this.hasRendered&&G(a,!0)&&this.isDirtyBox&&this.redraw())},getChartSize:function(){var b=this.options.chart,d=b.width,b=b.height,g=this.renderTo;c(d)||(this.containerWidth=a.getStyle(g,"width"));c(b)||(this.containerHeight=a.getStyle(g,"height"));this.chartWidth=Math.max(0,d||this.containerWidth||600);this.chartHeight=Math.max(0,a.relativeLength(b,this.chartWidth)||(1<this.containerHeight?this.containerHeight:400))},
+temporaryDisplay:function(b){var c=this.renderTo;if(b)for(;c&&c.style;)c.hcOrigStyle&&(a.css(c,c.hcOrigStyle),delete c.hcOrigStyle),c.hcOrigDetached&&(f.body.removeChild(c),c.hcOrigDetached=!1),c=c.parentNode;else for(;c&&c.style;){f.body.contains(c)||c.parentNode||(c.hcOrigDetached=!0,f.body.appendChild(c));if("none"===a.getStyle(c,"display",!1)||c.hcOricDetached)c.hcOrigStyle={display:c.style.display,height:c.style.height,overflow:c.style.overflow},b={display:"block",overflow:"hidden"},c!==this.renderTo&&
+(b.height=0),a.css(c,b),c.offsetWidth||c.style.setProperty("display","block","important");c=c.parentNode;if(c===f.body)break}},setClassName:function(a){this.container.className="highcharts-container "+(a||"")},getContainer:function(){var c,d=this.options,g=d.chart,m,h;c=this.renderTo;var e=a.uniqueKey(),l;c||(this.renderTo=c=g.renderTo);J(c)&&(this.renderTo=c=f.getElementById(c));c||a.error(13,!0);m=A(n(c,"data-highcharts-chart"));b(m)&&w[m]&&w[m].hasRendered&&w[m].destroy();n(c,"data-highcharts-chart",
+this.index);c.innerHTML="";g.skipClone||c.offsetWidth||this.temporaryDisplay();this.getChartSize();m=this.chartWidth;h=this.chartHeight;l=p({position:"relative",overflow:"hidden",width:m+"px",height:h+"px",textAlign:"left",lineHeight:"normal",zIndex:0,"-webkit-tap-highlight-color":"rgba(0,0,0,0)"},g.style);this.container=c=u("div",{id:e},l,c);this._cursor=c.style.cursor;this.renderer=new (a[g.renderer]||a.Renderer)(c,m,h,null,g.forExport,d.exporting&&d.exporting.allowHTML);this.setClassName(g.className);
+this.renderer.setStyle(g.style);this.renderer.chartIndex=this.index;q(this,"afterGetContainer")},getMargins:function(a){var b=this.spacing,d=this.margin,g=this.titleOffset;this.resetMargins();g&&!c(d[0])&&(this.plotTop=Math.max(this.plotTop,g+this.options.title.margin+b[0]));this.legend&&this.legend.display&&this.legend.adjustMargins(d,b);q(this,"getMargins");a||this.getAxisMargins()},getAxisMargins:function(){var a=this,b=a.axisOffset=[0,0,0,0],d=a.margin;a.hasCartesianSeries&&h(a.axes,function(a){a.visible&&
+a.getOffset()});h(L,function(g,m){c(d[m])||(a[g]+=b[m])});a.setChartSize()},reflow:function(b){var d=this,g=d.options.chart,m=d.renderTo,h=c(g.width)&&c(g.height),e=g.width||a.getStyle(m,"width"),g=g.height||a.getStyle(m,"height"),m=b?b.target:M;if(!h&&!d.isPrinting&&e&&g&&(m===M||m===f)){if(e!==d.containerWidth||g!==d.containerHeight)a.clearTimeout(d.reflowTimeout),d.reflowTimeout=r(function(){d.container&&d.setSize(void 0,void 0,!1)},b?100:0);d.containerWidth=e;d.containerHeight=g}},setReflow:function(a){var b=
+this;!1===a||this.unbindReflow?!1===a&&this.unbindReflow&&(this.unbindReflow=this.unbindReflow()):(this.unbindReflow=C(M,"resize",function(a){b.reflow(a)}),C(this,"destroy",this.unbindReflow))},setSize:function(b,c,d){var g=this,m=g.renderer;g.isResizing+=1;a.setAnimation(d,g);g.oldChartHeight=g.chartHeight;g.oldChartWidth=g.chartWidth;void 0!==b&&(g.options.chart.width=b);void 0!==c&&(g.options.chart.height=c);g.getChartSize();b=m.globalAnimation;(b?F:y)(g.container,{width:g.chartWidth+"px",height:g.chartHeight+
+"px"},b);g.setChartSize(!0);m.setSize(g.chartWidth,g.chartHeight,d);h(g.axes,function(a){a.isDirty=!0;a.setScale()});g.isDirtyLegend=!0;g.isDirtyBox=!0;g.layOutTitles();g.getMargins();g.redraw(d);g.oldChartHeight=null;q(g,"resize");r(function(){g&&q(g,"endResize",null,function(){--g.isResizing})},I(b).duration)},setChartSize:function(a){var b=this.inverted,c=this.renderer,g=this.chartWidth,d=this.chartHeight,m=this.options.chart,e=this.spacing,l=this.clipOffset,f,A,k,r;this.plotLeft=f=Math.round(this.plotLeft);
+this.plotTop=A=Math.round(this.plotTop);this.plotWidth=k=Math.max(0,Math.round(g-f-this.marginRight));this.plotHeight=r=Math.max(0,Math.round(d-A-this.marginBottom));this.plotSizeX=b?r:k;this.plotSizeY=b?k:r;this.plotBorderWidth=m.plotBorderWidth||0;this.spacingBox=c.spacingBox={x:e[3],y:e[0],width:g-e[3]-e[1],height:d-e[0]-e[2]};this.plotBox=c.plotBox={x:f,y:A,width:k,height:r};g=2*Math.floor(this.plotBorderWidth/2);b=Math.ceil(Math.max(g,l[3])/2);c=Math.ceil(Math.max(g,l[0])/2);this.clipBox={x:b,
+y:c,width:Math.floor(this.plotSizeX-Math.max(g,l[1])/2-b),height:Math.max(0,Math.floor(this.plotSizeY-Math.max(g,l[2])/2-c))};a||h(this.axes,function(a){a.setAxisSize();a.setAxisTranslation()});q(this,"afterSetChartSize",{skipAxes:a})},resetMargins:function(){var a=this,b=a.options.chart;h(["margin","spacing"],function(c){var g=b[c],d=v(g)?g:[g,g,g,g];h(["Top","Right","Bottom","Left"],function(g,m){a[c][m]=G(b[c+g],d[m])})});h(L,function(b,c){a[b]=G(a.margin[c],a.spacing[c])});a.axisOffset=[0,0,0,
+0];a.clipOffset=[0,0,0,0]},drawChartBox:function(){var a=this.options.chart,b=this.renderer,c=this.chartWidth,g=this.chartHeight,d=this.chartBackground,m=this.plotBackground,h=this.plotBorder,e,l=this.plotBGImage,f=a.backgroundColor,A=a.plotBackgroundColor,k=a.plotBackgroundImage,r,p=this.plotLeft,G=this.plotTop,v=this.plotWidth,E=this.plotHeight,n=this.plotBox,B=this.clipRect,t=this.clipBox,u="animate";d||(this.chartBackground=d=b.rect().addClass("highcharts-background").add(),u="attr");e=a.borderWidth||
+0;r=e+(a.shadow?8:0);f={fill:f||"none"};if(e||d["stroke-width"])f.stroke=a.borderColor,f["stroke-width"]=e;d.attr(f).shadow(a.shadow);d[u]({x:r/2,y:r/2,width:c-r-e%2,height:g-r-e%2,r:a.borderRadius});u="animate";m||(u="attr",this.plotBackground=m=b.rect().addClass("highcharts-plot-background").add());m[u](n);m.attr({fill:A||"none"}).shadow(a.plotShadow);k&&(l?l.animate(n):this.plotBGImage=b.image(k,p,G,v,E).add());B?B.animate({width:t.width,height:t.height}):this.clipRect=b.clipRect(t);u="animate";
+h||(u="attr",this.plotBorder=h=b.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add());h.attr({stroke:a.plotBorderColor,"stroke-width":a.plotBorderWidth||0,fill:"none"});h[u](h.crisp({x:p,y:G,width:v,height:E},-h.strokeWidth()));this.isDirtyBox=!1;q(this,"afterDrawChartBox")},propFromSeries:function(){var a=this,b=a.options.chart,c,g=a.options.series,d,m;h(["inverted","angular","polar"],function(h){c=E[b.type||b.defaultSeriesType];m=b[h]||c&&c.prototype[h];for(d=g&&g.length;!m&&d--;)(c=
+E[g[d].type])&&c.prototype[h]&&(m=!0);a[h]=m})},linkSeries:function(){var a=this,b=a.series;h(b,function(a){a.linkedSeries.length=0});h(b,function(b){var c=b.options.linkedTo;J(c)&&(c=":previous"===c?a.series[b.index-1]:a.get(c))&&c.linkedParent!==b&&(c.linkedSeries.push(b),b.linkedParent=c,b.visible=G(b.options.visible,c.options.visible,b.visible))});q(this,"afterLinkSeries")},renderSeries:function(){h(this.series,function(a){a.translate();a.render()})},renderLabels:function(){var a=this,b=a.options.labels;
+b.items&&h(b.items,function(c){var g=p(b.style,c.style),d=A(g.left)+a.plotLeft,m=A(g.top)+a.plotTop+12;delete g.left;delete g.top;a.renderer.text(c.html,d,m).attr({zIndex:2}).css(g).add()})},render:function(){var a=this.axes,b=this.renderer,c=this.options,g,d,m;this.setTitle();this.legend=new l(this,c.legend);this.getStacks&&this.getStacks();this.getMargins(!0);this.setChartSize();c=this.plotWidth;g=this.plotHeight=Math.max(this.plotHeight-21,0);h(a,function(a){a.setScale()});this.getAxisMargins();
+d=1.1<c/this.plotWidth;m=1.05<g/this.plotHeight;if(d||m)h(a,function(a){(a.horiz&&d||!a.horiz&&m)&&a.setTickInterval(!0)}),this.getMargins();this.drawChartBox();this.hasCartesianSeries&&h(a,function(a){a.visible&&a.render()});this.seriesGroup||(this.seriesGroup=b.g("series-group").attr({zIndex:3}).add());this.renderSeries();this.renderLabels();this.addCredits();this.setResponsive&&this.setResponsive();this.hasRendered=!0},addCredits:function(a){var b=this;a=B(!0,this.options.credits,a);a.enabled&&
+!this.credits&&(this.credits=this.renderer.text(a.text+(this.mapCredits||""),0,0).addClass("highcharts-credits").on("click",function(){a.href&&(M.location.href=a.href)}).attr({align:a.position.align,zIndex:8}).css(a.style).add().align(a.position),this.credits.update=function(a){b.credits=b.credits.destroy();b.addCredits(a)})},destroy:function(){var b=this,c=b.axes,g=b.series,d=b.container,m,e=d&&d.parentNode;q(b,"destroy");b.renderer.forExport?a.erase(w,b):w[b.index]=void 0;a.chartCount--;b.renderTo.removeAttribute("data-highcharts-chart");
+N(b);for(m=c.length;m--;)c[m]=c[m].destroy();this.scroller&&this.scroller.destroy&&this.scroller.destroy();for(m=g.length;m--;)g[m]=g[m].destroy();h("title subtitle chartBackground plotBackground plotBGImage plotBorder seriesGroup clipRect credits pointer rangeSelector legend resetZoomButton tooltip renderer".split(" "),function(a){var c=b[a];c&&c.destroy&&(b[a]=c.destroy())});d&&(d.innerHTML="",N(d),e&&t(d));D(b,function(a,c){delete b[c]})},firstRender:function(){var a=this,b=a.options;if(!a.isReadyToRender||
+a.isReadyToRender()){a.getContainer();a.resetMargins();a.setChartSize();a.propFromSeries();a.getAxes();h(b.series||[],function(b){a.initSeries(b)});a.linkSeries();q(a,"beforeRender");m&&(a.pointer=new m(a,b));a.render();if(!a.renderer.imgCount&&a.onload)a.onload();a.temporaryDisplay(!0)}},onload:function(){h([this.callback].concat(this.callbacks),function(a){a&&void 0!==this.index&&a.apply(this,[this])},this);q(this,"load");q(this,"render");c(this.index)&&this.setReflow(this.options.chart.reflow);
+this.onload=null}})})(K);(function(a){var C=a.addEvent,F=a.Chart,I=a.each;C(F,"afterSetChartSize",function(n){var f=this.options.chart.scrollablePlotArea;(f=f&&f.minWidth)&&!this.renderer.forExport&&(this.scrollablePixels=f=Math.max(0,f-this.chartWidth))&&(this.plotWidth+=f,this.clipBox.width+=f,n.skipAxes||I(this.axes,function(e){1===e.side?e.getPlotLinePath=function(){var f=this.right,n;this.right=f-e.chart.scrollablePixels;n=a.Axis.prototype.getPlotLinePath.apply(this,arguments);this.right=f;return n}:
+(e.setAxisSize(),e.setAxisTranslation())}))});C(F,"render",function(){this.scrollablePixels?(this.setUpScrolling&&this.setUpScrolling(),this.applyFixed()):this.fixedDiv&&this.applyFixed()});F.prototype.setUpScrolling=function(){this.scrollingContainer=a.createElement("div",{className:"highcharts-scrolling"},{overflowX:"auto",WebkitOverflowScrolling:"touch"},this.renderTo);this.innerContainer=a.createElement("div",{className:"highcharts-inner-container"},null,this.scrollingContainer);this.innerContainer.appendChild(this.container);
+this.setUpScrolling=null};F.prototype.applyFixed=function(){var n=this.container,f,e,u=!this.fixedDiv;u&&(this.fixedDiv=a.createElement("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:2},null,!0),this.renderTo.insertBefore(this.fixedDiv,this.renderTo.firstChild),this.fixedRenderer=f=new a.Renderer(this.fixedDiv,0,0),this.scrollableMask=f.path().attr({fill:a.color(this.options.chart.backgroundColor||"#fff").setOpacity(.85).get(),zIndex:-1}).addClass("highcharts-scrollable-mask").add(),
+a.each([this.inverted?".highcharts-xaxis":".highcharts-yaxis",this.inverted?".highcharts-xaxis-labels":".highcharts-yaxis-labels",".highcharts-contextbutton",".highcharts-credits",".highcharts-legend",".highcharts-subtitle",".highcharts-title",".highcharts-legend-checkbox"],function(e){a.each(n.querySelectorAll(e),function(a){(a.namespaceURI===f.SVG_NS?f.box:f.box.parentNode).appendChild(a);a.style.pointerEvents="auto"})}));this.fixedRenderer.setSize(this.chartWidth,this.chartHeight);e=this.chartWidth+
+this.scrollablePixels;a.stop(this.container);this.container.style.width=e+"px";this.renderer.boxWrapper.attr({width:e,height:this.chartHeight,viewBox:[0,0,e,this.chartHeight].join(" ")});this.chartBackground.attr({width:e});u&&(e=this.options.chart.scrollablePlotArea,e.scrollPositionX&&(this.scrollingContainer.scrollLeft=this.scrollablePixels*e.scrollPositionX));u=this.axisOffset;e=this.plotTop-u[0]-1;var u=this.plotTop+this.plotHeight+u[2],x=this.plotLeft+this.plotWidth-this.scrollablePixels;this.scrollableMask.attr({d:this.scrollablePixels?
+["M",0,e,"L",this.plotLeft-1,e,"L",this.plotLeft-1,u,"L",0,u,"Z","M",x,e,"L",this.chartWidth,e,"L",this.chartWidth,u,"L",x,u,"Z"]:["M",0,0]})}})(K);(function(a){var C,F=a.each,I=a.extend,n=a.erase,f=a.fireEvent,e=a.format,u=a.isArray,x=a.isNumber,t=a.pick,w=a.uniqueKey,y=a.defined,c=a.removeEvent;a.Point=C=function(){};a.Point.prototype={init:function(a,c,e){this.series=a;this.color=a.color;this.applyOptions(c,e);this.id=y(this.id)?this.id:w();a.options.colorByPoint?(c=a.options.colors||a.chart.options.colors,
+this.color=this.color||c[a.colorCounter],c=c.length,e=a.colorCounter,a.colorCounter++,a.colorCounter===c&&(a.colorCounter=0)):e=a.colorIndex;this.colorIndex=t(this.colorIndex,e);a.chart.pointCount++;f(this,"afterInit");return this},applyOptions:function(a,c){var e=this.series,h=e.options.pointValKey||e.pointValKey;a=C.prototype.optionsToObject.call(this,a);I(this,a);this.options=this.options?I(this.options,a):a;a.group&&delete this.group;a.dataLabels&&delete this.dataLabels;h&&(this.y=this[h]);this.isNull=
+t(this.isValid&&!this.isValid(),null===this.x||!x(this.y,!0));this.selected&&(this.state="select");"name"in this&&void 0===c&&e.xAxis&&e.xAxis.hasNames&&(this.x=e.xAxis.nameToX(this));void 0===this.x&&e&&(this.x=void 0===c?e.autoIncrement(this):c);return this},setNestedProperty:function(c,e,f){f=f.split(".");a.reduce(f,function(c,d,b,h){c[d]=h.length-1===b?e:a.isObject(c[d],!0)?c[d]:{};return c[d]},c);return c},optionsToObject:function(c){var e={},h=this.series,f=h.options.keys,d=f||h.pointArrayMap||
+["y"],b=d.length,v=0,n=0;if(x(c)||null===c)e[d[0]]=c;else if(u(c))for(!f&&c.length>b&&(h=typeof c[0],"string"===h?e.name=c[0]:"number"===h&&(e.x=c[0]),v++);n<b;)f&&void 0===c[v]||(0<d[n].indexOf(".")?a.Point.prototype.setNestedProperty(e,c[v],d[n]):e[d[n]]=c[v]),v++,n++;else"object"===typeof c&&(e=c,c.dataLabels&&(h._hasPointLabels=!0),c.marker&&(h._hasPointMarkers=!0));return e},getClassName:function(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":
+"")+(this.isNull?" highcharts-null-point":"")+(void 0!==this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&&this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")},getZone:function(){var a=this.series,c=a.zones,a=a.zoneAxis||"y",e=0,f;for(f=c[e];this[a]>=f.value;)f=c[++e];this.nonZonedColor||(this.nonZonedColor=this.color);this.color=f&&f.color&&!this.options.color?f.color:this.nonZonedColor;return f},
+destroy:function(){var a=this.series.chart,e=a.hoverPoints,f;a.pointCount--;e&&(this.setState(),n(e,this),e.length||(a.hoverPoints=null));if(this===a.hoverPoint)this.onMouseOut();if(this.graphic||this.dataLabel||this.dataLabels)c(this),this.destroyElements();this.legendItem&&a.legend.destroyItem(this);for(f in this)this[f]=null},destroyElements:function(){for(var a=["graphic","dataLabel","dataLabelUpper","connector","shadowGroup"],c,e=6;e--;)c=a[e],this[c]&&(this[c]=this[c].destroy());this.dataLabels&&
+(F(this.dataLabels,function(a){a.element&&a.destroy()}),delete this.dataLabels);this.connectors&&(F(this.connectors,function(a){a.element&&a.destroy()}),delete this.connectors)},getLabelConfig:function(){return{x:this.category,y:this.y,color:this.color,colorIndex:this.colorIndex,key:this.name||this.category,series:this.series,point:this,percentage:this.percentage,total:this.total||this.stackTotal}},tooltipFormatter:function(a){var c=this.series,h=c.tooltipOptions,f=t(h.valueDecimals,""),d=h.valuePrefix||
+"",b=h.valueSuffix||"";F(c.pointArrayMap||["y"],function(c){c="{point."+c;if(d||b)a=a.replace(RegExp(c+"}","g"),d+c+"}"+b);a=a.replace(RegExp(c+"}","g"),c+":,."+f+"f}")});return e(a,{point:this,series:this.series},c.chart.time)},firePointEvent:function(a,c,e){var h=this,d=this.series.options;(d.point.events[a]||h.options&&h.options.events&&h.options.events[a])&&this.importEvents();"click"===a&&d.allowPointSelect&&(e=function(a){h.select&&h.select(null,a.ctrlKey||a.metaKey||a.shiftKey)});f(this,a,
+c,e)},visible:!0}})(K);(function(a){var C=a.addEvent,F=a.animObject,I=a.arrayMax,n=a.arrayMin,f=a.correctFloat,e=a.defaultOptions,u=a.defaultPlotOptions,x=a.defined,t=a.each,w=a.erase,y=a.extend,c=a.fireEvent,h=a.grep,p=a.isArray,k=a.isNumber,q=a.isString,d=a.merge,b=a.objectEach,v=a.pick,J=a.removeEvent,l=a.splat,L=a.SVGElement,B=a.syncTimeout,D=a.win;a.Series=a.seriesType("line",null,{lineWidth:2,allowPointSelect:!1,showCheckbox:!1,animation:{duration:1E3},events:{},marker:{lineWidth:0,lineColor:"#ffffff",
+enabledThreshold:2,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:50},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{align:"center",formatter:function(){return null===this.y?"":a.numberFormat(this.y,-1)},style:{fontSize:"11px",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0,padding:5},cropThreshold:300,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},
+hover:{animation:{duration:50},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{}},stickyTracking:!0,turboThreshold:1E3,findNearestPointBy:"x"},{isCartesian:!0,pointClass:a.Point,sorted:!0,requireSorting:!0,directTouch:!1,axisTypes:["xAxis","yAxis"],colorCounter:0,parallelArrays:["x","y"],coll:"series",init:function(a,d){var m=this,e,h=a.series,g;m.chart=a;m.options=d=m.setOptions(d);m.linkedSeries=[];m.bindAxes();y(m,{name:d.name,state:"",visible:!1!==d.visible,selected:!0===d.selected});
+e=d.events;b(e,function(a,b){C(m,b,a)});if(e&&e.click||d.point&&d.point.events&&d.point.events.click||d.allowPointSelect)a.runTrackerClick=!0;m.getColor();m.getSymbol();t(m.parallelArrays,function(a){m[a+"Data"]=[]});m.setData(d.data,!1);m.isCartesian&&(a.hasCartesianSeries=!0);h.length&&(g=h[h.length-1]);m._i=v(g&&g._i,-1)+1;a.orderSeries(this.insert(h));c(this,"afterInit")},insert:function(a){var b=this.options.index,c;if(k(b)){for(c=a.length;c--;)if(b>=v(a[c].options.index,a[c]._i)){a.splice(c+
+1,0,this);break}-1===c&&a.unshift(this);c+=1}else a.push(this);return v(c,a.length-1)},bindAxes:function(){var b=this,c=b.options,d=b.chart,e;t(b.axisTypes||[],function(m){t(d[m],function(a){e=a.options;if(c[m]===e.index||void 0!==c[m]&&c[m]===e.id||void 0===c[m]&&0===e.index)b.insert(a.series),b[m]=a,a.isDirty=!0});b[m]||b.optionalAxis===m||a.error(18,!0)})},updateParallelArrays:function(a,b){var c=a.series,d=arguments,m=k(b)?function(g){var d="y"===g&&c.toYData?c.toYData(a):a[g];c[g+"Data"][b]=
+d}:function(a){Array.prototype[b].apply(c[a+"Data"],Array.prototype.slice.call(d,2))};t(c.parallelArrays,m)},autoIncrement:function(){var a=this.options,b=this.xIncrement,c,d=a.pointIntervalUnit,e=this.chart.time,b=v(b,a.pointStart,0);this.pointInterval=c=v(this.pointInterval,a.pointInterval,1);d&&(a=new e.Date(b),"day"===d?e.set("Date",a,e.get("Date",a)+c):"month"===d?e.set("Month",a,e.get("Month",a)+c):"year"===d&&e.set("FullYear",a,e.get("FullYear",a)+c),c=a.getTime()-b);this.xIncrement=b+c;return b},
+setOptions:function(a){var b=this.chart,m=b.options,h=m.plotOptions,f=(b.userOptions||{}).plotOptions||{},g=h[this.type];this.userOptions=a;b=d(g,h.series,a);this.tooltipOptions=d(e.tooltip,e.plotOptions.series&&e.plotOptions.series.tooltip,e.plotOptions[this.type].tooltip,m.tooltip.userOptions,h.series&&h.series.tooltip,h[this.type].tooltip,a.tooltip);this.stickyTracking=v(a.stickyTracking,f[this.type]&&f[this.type].stickyTracking,f.series&&f.series.stickyTracking,this.tooltipOptions.shared&&!this.noSharedTooltip?
+!0:b.stickyTracking);null===g.marker&&delete b.marker;this.zoneAxis=b.zoneAxis;a=this.zones=(b.zones||[]).slice();!b.negativeColor&&!b.negativeFillColor||b.zones||a.push({value:b[this.zoneAxis+"Threshold"]||b.threshold||0,className:"highcharts-negative",color:b.negativeColor,fillColor:b.negativeFillColor});a.length&&x(a[a.length-1].value)&&a.push({color:this.color,fillColor:this.fillColor});c(this,"afterSetOptions",{options:b});return b},getName:function(){return this.name||"Series "+(this.index+
+1)},getCyclic:function(a,b,c){var d,e=this.chart,g=this.userOptions,m=a+"Index",h=a+"Counter",f=c?c.length:v(e.options.chart[a+"Count"],e[a+"Count"]);b||(d=v(g[m],g["_"+m]),x(d)||(e.series.length||(e[h]=0),g["_"+m]=d=e[h]%f,e[h]+=1),c&&(b=c[d]));void 0!==d&&(this[m]=d);this[a]=b},getColor:function(){this.options.colorByPoint?this.options.color=null:this.getCyclic("color",this.options.color||u[this.type].color,this.chart.options.colors)},getSymbol:function(){this.getCyclic("symbol",this.options.marker.symbol,
+this.chart.options.symbols)},drawLegendSymbol:a.LegendSymbolMixin.drawLineMarker,updateData:function(b){var c=this.options,d=this.points,e=[],m,g,h,f=this.requireSorting;t(b,function(b){var g;g=a.defined(b)&&this.pointClass.prototype.optionsToObject.call({series:this},b).x;k(g)&&(g=a.inArray(g,this.xData,h),-1===g||d[g].touched?e.push(b):b!==c.data[g]?(d[g].update(b,!1,null,!1),d[g].touched=!0,f&&(h=g+1)):d[g]&&(d[g].touched=!0),m=!0)},this);if(m)for(b=d.length;b--;)g=d[b],g.touched||g.remove(!1),
+g.touched=!1;else if(b.length===d.length)t(b,function(a,b){d[b].update&&a!==c.data[b]&&d[b].update(a,!1,null,!1)});else return!1;t(e,function(a){this.addPoint(a,!1)},this);return!0},setData:function(b,c,d,e){var m=this,g=m.points,h=g&&g.length||0,f,l=m.options,A=m.chart,G=null,n=m.xAxis,B=l.turboThreshold,u=this.xData,D=this.yData,y=(f=m.pointArrayMap)&&f.length,N;b=b||[];f=b.length;c=v(c,!0);!1!==e&&f&&h&&!m.cropped&&!m.hasGroupedData&&m.visible&&!m.isSeriesBoosting&&(N=this.updateData(b));if(!N){m.xIncrement=
+null;m.colorCounter=0;t(this.parallelArrays,function(a){m[a+"Data"].length=0});if(B&&f>B){for(d=0;null===G&&d<f;)G=b[d],d++;if(k(G))for(d=0;d<f;d++)u[d]=this.autoIncrement(),D[d]=b[d];else if(p(G))if(y)for(d=0;d<f;d++)G=b[d],u[d]=G[0],D[d]=G.slice(1,y+1);else for(d=0;d<f;d++)G=b[d],u[d]=G[0],D[d]=G[1];else a.error(12)}else for(d=0;d<f;d++)void 0!==b[d]&&(G={series:m},m.pointClass.prototype.applyOptions.apply(G,[b[d]]),m.updateParallelArrays(G,d));D&&q(D[0])&&a.error(14,!0);m.data=[];m.options.data=
+m.userOptions.data=b;for(d=h;d--;)g[d]&&g[d].destroy&&g[d].destroy();n&&(n.minRange=n.userMinRange);m.isDirty=A.isDirtyBox=!0;m.isDirtyData=!!g;d=!1}"point"===l.legendType&&(this.processData(),this.generatePoints());c&&A.redraw(d)},processData:function(b){var c=this.xData,d=this.yData,e=c.length,m;m=0;var g,h,f=this.xAxis,l,k=this.options;l=k.cropThreshold;var p=this.getExtremesFromAll||k.getExtremesFromAll,q=this.isCartesian,k=f&&f.val2lin,v=f&&f.isLog,n=this.requireSorting,B,t;if(q&&!this.isDirty&&
+!f.isDirty&&!this.yAxis.isDirty&&!b)return!1;f&&(b=f.getExtremes(),B=b.min,t=b.max);q&&this.sorted&&!p&&(!l||e>l||this.forceCrop)&&(c[e-1]<B||c[0]>t?(c=[],d=[]):this.yData&&(c[0]<B||c[e-1]>t)&&(m=this.cropData(this.xData,this.yData,B,t),c=m.xData,d=m.yData,m=m.start,g=!0));for(l=c.length||1;--l;)e=v?k(c[l])-k(c[l-1]):c[l]-c[l-1],0<e&&(void 0===h||e<h)?h=e:0>e&&n&&(a.error(15),n=!1);this.cropped=g;this.cropStart=m;this.processedXData=c;this.processedYData=d;this.closestPointRange=h},cropData:function(a,
+b,c,d,e){var g=a.length,m=0,h=g,f;e=v(e,this.cropShoulder,1);for(f=0;f<g;f++)if(a[f]>=c){m=Math.max(0,f-e);break}for(c=f;c<g;c++)if(a[c]>d){h=c+e;break}return{xData:a.slice(m,h),yData:b.slice(m,h),start:m,end:h}},generatePoints:function(){var a=this.options,b=a.data,c=this.data,d,e=this.processedXData,g=this.processedYData,h=this.pointClass,f=e.length,k=this.cropStart||0,p,q=this.hasGroupedData,a=a.keys,v,n=[],B;c||q||(c=[],c.length=b.length,c=this.data=c);a&&q&&(this.options.keys=!1);for(B=0;B<f;B++)p=
+k+B,q?(v=(new h).init(this,[e[B]].concat(l(g[B]))),v.dataGroup=this.groupMap[B],v.dataGroup.options&&(v.options=v.dataGroup.options,y(v,v.dataGroup.options))):(v=c[p])||void 0===b[p]||(c[p]=v=(new h).init(this,b[p],e[B])),v&&(v.index=p,n[B]=v);this.options.keys=a;if(c&&(f!==(d=c.length)||q))for(B=0;B<d;B++)B!==k||q||(B+=f),c[B]&&(c[B].destroyElements(),c[B].plotX=void 0);this.data=c;this.points=n},getExtremes:function(a){var b=this.yAxis,c=this.processedXData,d,e=[],g=0;d=this.xAxis.getExtremes();
+var m=d.min,h=d.max,f,l,q=this.requireSorting?1:0,v,B;a=a||this.stackedYData||this.processedYData||[];d=a.length;for(B=0;B<d;B++)if(l=c[B],v=a[B],f=(k(v,!0)||p(v))&&(!b.positiveValuesOnly||v.length||0<v),l=this.getExtremesFromAll||this.options.getExtremesFromAll||this.cropped||(c[B+q]||l)>=m&&(c[B-q]||l)<=h,f&&l)if(f=v.length)for(;f--;)"number"===typeof v[f]&&(e[g++]=v[f]);else e[g++]=v;this.dataMin=n(e);this.dataMax=I(e)},translate:function(){this.processedXData||this.processData();this.generatePoints();
+var a=this.options,b=a.stacking,d=this.xAxis,e=d.categories,h=this.yAxis,g=this.points,l=g.length,p=!!this.modifyValue,q=a.pointPlacement,B="between"===q||k(q),n=a.threshold,t=a.startFromThreshold?n:0,u,D,y,w,J=Number.MAX_VALUE;"between"===q&&(q=.5);k(q)&&(q*=v(a.pointRange||d.pointRange));for(a=0;a<l;a++){var L=g[a],C=L.x,F=L.y;D=L.low;var I=b&&h.stacks[(this.negStacks&&F<(t?0:n)?"-":"")+this.stackKey],K;h.positiveValuesOnly&&null!==F&&0>=F&&(L.isNull=!0);L.plotX=u=f(Math.min(Math.max(-1E5,d.translate(C,
+0,0,0,1,q,"flags"===this.type)),1E5));b&&this.visible&&!L.isNull&&I&&I[C]&&(w=this.getStackIndicator(w,C,this.index),K=I[C],F=K.points[w.key],D=F[0],F=F[1],D===t&&w.key===I[C].base&&(D=v(k(n)&&n,h.min)),h.positiveValuesOnly&&0>=D&&(D=null),L.total=L.stackTotal=K.total,L.percentage=K.total&&L.y/K.total*100,L.stackY=F,K.setOffset(this.pointXOffset||0,this.barW||0));L.yBottom=x(D)?Math.min(Math.max(-1E5,h.translate(D,0,1,0,1)),1E5):null;p&&(F=this.modifyValue(F,L));L.plotY=D="number"===typeof F&&Infinity!==
+F?Math.min(Math.max(-1E5,h.translate(F,0,1,0,1)),1E5):void 0;L.isInside=void 0!==D&&0<=D&&D<=h.len&&0<=u&&u<=d.len;L.clientX=B?f(d.translate(C,0,0,0,1,q)):u;L.negative=L.y<(n||0);L.category=e&&void 0!==e[L.x]?e[L.x]:L.x;L.isNull||(void 0!==y&&(J=Math.min(J,Math.abs(u-y))),y=u);L.zone=this.zones.length&&L.getZone()}this.closestPointRangePx=J;c(this,"afterTranslate")},getValidPoints:function(a,b){var c=this.chart;return h(a||this.points||[],function(a){return b&&!c.isInsidePlot(a.plotX,a.plotY,c.inverted)?
+!1:!a.isNull})},setClip:function(a){var b=this.chart,c=this.options,d=b.renderer,e=b.inverted,g=this.clipBox,m=g||b.clipBox,h=this.sharedClipKey||["_sharedClip",a&&a.duration,a&&a.easing,m.height,c.xAxis,c.yAxis].join(),f=b[h],l=b[h+"m"];f||(a&&(m.width=0,e&&(m.x=b.plotSizeX),b[h+"m"]=l=d.clipRect(e?b.plotSizeX+99:-99,e?-b.plotLeft:-b.plotTop,99,e?b.chartWidth:b.chartHeight)),b[h]=f=d.clipRect(m),f.count={length:0});a&&!f.count[this.index]&&(f.count[this.index]=!0,f.count.length+=1);!1!==c.clip&&
+(this.group.clip(a||g?f:b.clipRect),this.markerGroup.clip(l),this.sharedClipKey=h);a||(f.count[this.index]&&(delete f.count[this.index],--f.count.length),0===f.count.length&&h&&b[h]&&(g||(b[h]=b[h].destroy()),b[h+"m"]&&(b[h+"m"]=b[h+"m"].destroy())))},animate:function(a){var b=this.chart,c=F(this.options.animation),d;a?this.setClip(c):(d=this.sharedClipKey,(a=b[d])&&a.animate({width:b.plotSizeX,x:0},c),b[d+"m"]&&b[d+"m"].animate({width:b.plotSizeX+99,x:0},c),this.animate=null)},afterAnimate:function(){this.setClip();
+c(this,"afterAnimate");this.finishedAnimating=!0},drawPoints:function(){var a=this.points,b=this.chart,c,d,e,g,h=this.options.marker,f,l,k,p=this[this.specialGroup]||this.markerGroup,q,n=v(h.enabled,this.xAxis.isRadial?!0:null,this.closestPointRangePx>=h.enabledThreshold*h.radius);if(!1!==h.enabled||this._hasPointMarkers)for(c=0;c<a.length;c++)d=a[c],g=d.graphic,f=d.marker||{},l=!!d.marker,e=n&&void 0===f.enabled||f.enabled,k=d.isInside,e&&!d.isNull?(e=v(f.symbol,this.symbol),q=this.markerAttribs(d,
+d.selected&&"select"),g?g[k?"show":"hide"](!0).animate(q):k&&(0<q.width||d.hasImage)&&(d.graphic=g=b.renderer.symbol(e,q.x,q.y,q.width,q.height,l?f:h).add(p)),g&&g.attr(this.pointAttribs(d,d.selected&&"select")),g&&g.addClass(d.getClassName(),!0)):g&&(d.graphic=g.destroy())},markerAttribs:function(a,b){var c=this.options.marker,d=a.marker||{},e=d.symbol||c.symbol,g=v(d.radius,c.radius);b&&(c=c.states[b],b=d.states&&d.states[b],g=v(b&&b.radius,c&&c.radius,g+(c&&c.radiusPlus||0)));a.hasImage=e&&0===
+e.indexOf("url");a.hasImage&&(g=0);a={x:Math.floor(a.plotX)-g,y:a.plotY-g};g&&(a.width=a.height=2*g);return a},pointAttribs:function(a,b){var c=this.options.marker,d=a&&a.options,e=d&&d.marker||{},g=this.color,h=d&&d.color,m=a&&a.color,d=v(e.lineWidth,c.lineWidth);a=a&&a.zone&&a.zone.color;g=h||a||m||g;a=e.fillColor||c.fillColor||g;g=e.lineColor||c.lineColor||g;b&&(c=c.states[b],b=e.states&&e.states[b]||{},d=v(b.lineWidth,c.lineWidth,d+v(b.lineWidthPlus,c.lineWidthPlus,0)),a=b.fillColor||c.fillColor||
+a,g=b.lineColor||c.lineColor||g);return{stroke:g,"stroke-width":d,fill:a}},destroy:function(){var d=this,e=d.chart,h=/AppleWebKit\/533/.test(D.navigator.userAgent),f,l,g=d.data||[],k,p;c(d,"destroy");J(d);t(d.axisTypes||[],function(a){(p=d[a])&&p.series&&(w(p.series,d),p.isDirty=p.forceRedraw=!0)});d.legendItem&&d.chart.legend.destroyItem(d);for(l=g.length;l--;)(k=g[l])&&k.destroy&&k.destroy();d.points=null;a.clearTimeout(d.animationTimeout);b(d,function(a,b){a instanceof L&&!a.survive&&(f=h&&"group"===
+b?"hide":"destroy",a[f]())});e.hoverSeries===d&&(e.hoverSeries=null);w(e.series,d);e.orderSeries();b(d,function(a,b){delete d[b]})},getGraphPath:function(a,b,c){var d=this,e=d.options,g=e.step,h,m=[],f=[],l;a=a||d.points;(h=a.reversed)&&a.reverse();(g={right:1,center:2}[g]||g&&3)&&h&&(g=4-g);!e.connectNulls||b||c||(a=this.getValidPoints(a));t(a,function(h,k){var r=h.plotX,p=h.plotY,q=a[k-1];(h.leftCliff||q&&q.rightCliff)&&!c&&(l=!0);h.isNull&&!x(b)&&0<k?l=!e.connectNulls:h.isNull&&!b?l=!0:(0===k||
+l?k=["M",h.plotX,h.plotY]:d.getPointSpline?k=d.getPointSpline(a,h,k):g?(k=1===g?["L",q.plotX,p]:2===g?["L",(q.plotX+r)/2,q.plotY,"L",(q.plotX+r)/2,p]:["L",r,q.plotY],k.push("L",r,p)):k=["L",r,p],f.push(h.x),g&&(f.push(h.x),2===g&&f.push(h.x)),m.push.apply(m,k),l=!1)});m.xMap=f;return d.graphPath=m},drawGraph:function(){var a=this,b=this.options,c=(this.gappedPath||this.getGraphPath).call(this),d=[["graph","highcharts-graph",b.lineColor||this.color,b.dashStyle]],d=a.getZonesGraphs(d);t(d,function(d,
+g){var e=d[0],h=a[e];h?(h.endX=a.preventGraphAnimation?null:c.xMap,h.animate({d:c})):c.length&&(a[e]=a.chart.renderer.path(c).addClass(d[1]).attr({zIndex:1}).add(a.group),h={stroke:d[2],"stroke-width":b.lineWidth,fill:a.fillGraph&&a.color||"none"},d[3]?h.dashstyle=d[3]:"square"!==b.linecap&&(h["stroke-linecap"]=h["stroke-linejoin"]="round"),h=a[e].attr(h).shadow(2>g&&b.shadow));h&&(h.startX=c.xMap,h.isArea=c.isArea)})},getZonesGraphs:function(a){t(this.zones,function(b,c){a.push(["zone-graph-"+c,
+"highcharts-graph highcharts-zone-graph-"+c+" "+(b.className||""),b.color||this.color,b.dashStyle||this.options.dashStyle])},this);return a},applyZones:function(){var a=this,b=this.chart,c=b.renderer,d=this.zones,e,g,h=this.clips||[],f,l=this.graph,k=this.area,p=Math.max(b.chartWidth,b.chartHeight),q=this[(this.zoneAxis||"y")+"Axis"],n,B,u=b.inverted,D,y,w,x,J=!1;d.length&&(l||k)&&q&&void 0!==q.min&&(B=q.reversed,D=q.horiz,l&&!this.showLine&&l.hide(),k&&k.hide(),n=q.getExtremes(),t(d,function(d,m){e=
+B?D?b.plotWidth:0:D?0:q.toPixels(n.min);e=Math.min(Math.max(v(g,e),0),p);g=Math.min(Math.max(Math.round(q.toPixels(v(d.value,n.max),!0)),0),p);J&&(e=g=q.toPixels(n.max));y=Math.abs(e-g);w=Math.min(e,g);x=Math.max(e,g);q.isXAxis?(f={x:u?x:w,y:0,width:y,height:p},D||(f.x=b.plotHeight-f.x)):(f={x:0,y:u?x:w,width:p,height:y},D&&(f.y=b.plotWidth-f.y));u&&c.isVML&&(f=q.isXAxis?{x:0,y:B?w:x,height:f.width,width:b.chartWidth}:{x:f.y-b.plotLeft-b.spacingBox.x,y:0,width:f.height,height:b.chartHeight});h[m]?
+h[m].animate(f):(h[m]=c.clipRect(f),l&&a["zone-graph-"+m].clip(h[m]),k&&a["zone-area-"+m].clip(h[m]));J=d.value>n.max;a.resetZones&&0===g&&(g=void 0)}),this.clips=h)},invertGroups:function(a){function b(){t(["group","markerGroup"],function(b){c[b]&&(d.renderer.isVML&&c[b].attr({width:c.yAxis.len,height:c.xAxis.len}),c[b].width=c.yAxis.len,c[b].height=c.xAxis.len,c[b].invert(a))})}var c=this,d=c.chart,e;c.xAxis&&(e=C(d,"resize",b),C(c,"destroy",e),b(a),c.invertGroups=b)},plotGroup:function(a,b,c,d,
+e){var g=this[a],h=!g;h&&(this[a]=g=this.chart.renderer.g().attr({zIndex:d||.1}).add(e));g.addClass("highcharts-"+b+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(x(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(g.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0);g.attr({visibility:c})[h?"attr":"animate"](this.getPlotBox());return g},getPlotBox:function(){var a=this.chart,b=this.xAxis,c=this.yAxis;a.inverted&&(b=c,c=this.xAxis);
+return{translateX:b?b.left:a.plotLeft,translateY:c?c.top:a.plotTop,scaleX:1,scaleY:1}},render:function(){var a=this,b=a.chart,d,e=a.options,h=!!a.animate&&b.renderer.isSVG&&F(e.animation).duration,g=a.visible?"inherit":"hidden",f=e.zIndex,l=a.hasRendered,k=b.seriesGroup,p=b.inverted;d=a.plotGroup("group","series",g,f,k);a.markerGroup=a.plotGroup("markerGroup","markers",g,f,k);h&&a.animate(!0);d.inverted=a.isCartesian?p:!1;a.drawGraph&&(a.drawGraph(),a.applyZones());a.drawDataLabels&&a.drawDataLabels();
+a.visible&&a.drawPoints();a.drawTracker&&!1!==a.options.enableMouseTracking&&a.drawTracker();a.invertGroups(p);!1===e.clip||a.sharedClipKey||l||d.clip(b.clipRect);h&&a.animate();l||(a.animationTimeout=B(function(){a.afterAnimate()},h));a.isDirty=!1;a.hasRendered=!0;c(a,"afterRender")},redraw:function(){var a=this.chart,b=this.isDirty||this.isDirtyData,c=this.group,d=this.xAxis,e=this.yAxis;c&&(a.inverted&&c.attr({width:a.plotWidth,height:a.plotHeight}),c.animate({translateX:v(d&&d.left,a.plotLeft),
+translateY:v(e&&e.top,a.plotTop)}));this.translate();this.render();b&&delete this.kdTree},kdAxisArray:["clientX","plotY"],searchPoint:function(a,b){var c=this.xAxis,d=this.yAxis,e=this.chart.inverted;return this.searchKDTree({clientX:e?c.len-a.chartY+c.pos:a.chartX-c.pos,plotY:e?d.len-a.chartX+d.pos:a.chartY-d.pos},b)},buildKDTree:function(){function a(c,d,g){var e,h;if(h=c&&c.length)return e=b.kdAxisArray[d%g],c.sort(function(a,b){return a[e]-b[e]}),h=Math.floor(h/2),{point:c[h],left:a(c.slice(0,
+h),d+1,g),right:a(c.slice(h+1),d+1,g)}}this.buildingKdTree=!0;var b=this,c=-1<b.options.findNearestPointBy.indexOf("y")?2:1;delete b.kdTree;B(function(){b.kdTree=a(b.getValidPoints(null,!b.directTouch),c,c);b.buildingKdTree=!1},b.options.kdNow?0:1)},searchKDTree:function(a,b){function c(a,b,f,l){var m=b.point,k=d.kdAxisArray[f%l],p,q,r=m;q=x(a[e])&&x(m[e])?Math.pow(a[e]-m[e],2):null;p=x(a[g])&&x(m[g])?Math.pow(a[g]-m[g],2):null;p=(q||0)+(p||0);m.dist=x(p)?Math.sqrt(p):Number.MAX_VALUE;m.distX=x(q)?
+Math.sqrt(q):Number.MAX_VALUE;k=a[k]-m[k];p=0>k?"left":"right";q=0>k?"right":"left";b[p]&&(p=c(a,b[p],f+1,l),r=p[h]<r[h]?p:m);b[q]&&Math.sqrt(k*k)<r[h]&&(a=c(a,b[q],f+1,l),r=a[h]<r[h]?a:r);return r}var d=this,e=this.kdAxisArray[0],g=this.kdAxisArray[1],h=b?"distX":"dist";b=-1<d.options.findNearestPointBy.indexOf("y")?2:1;this.kdTree||this.buildingKdTree||this.buildKDTree();if(this.kdTree)return c(a,this.kdTree,b,b)}})})(K);(function(a){var C=a.Axis,F=a.Chart,I=a.correctFloat,n=a.defined,f=a.destroyObjectProperties,
+e=a.each,u=a.format,x=a.objectEach,t=a.pick,w=a.Series;a.StackItem=function(a,c,e,f,k){var h=a.chart.inverted;this.axis=a;this.isNegative=e;this.options=c;this.x=f;this.total=null;this.points={};this.stack=k;this.rightCliff=this.leftCliff=0;this.alignOptions={align:c.align||(h?e?"left":"right":"center"),verticalAlign:c.verticalAlign||(h?"middle":e?"bottom":"top"),y:t(c.y,h?4:e?14:-6),x:t(c.x,h?e?-6:6:0)};this.textAlign=c.textAlign||(h?e?"right":"left":"center")};a.StackItem.prototype={destroy:function(){f(this,
+this.axis)},render:function(a){var c=this.axis.chart,e=this.options,f=e.format,f=f?u(f,this,c.time):e.formatter.call(this);this.label?this.label.attr({text:f,visibility:"hidden"}):this.label=c.renderer.text(f,null,null,e.useHTML).css(e.style).attr({align:this.textAlign,rotation:e.rotation,visibility:"hidden"}).add(a);this.label.labelrank=c.plotHeight},setOffset:function(a,c){var e=this.axis,f=e.chart,k=e.translate(e.usePercentage?100:this.total,0,0,0,1),q=e.translate(0),q=n(k)&&Math.abs(k-q);a=f.xAxis[0].translate(this.x)+
+a;e=n(k)&&this.getStackBox(f,this,a,k,c,q,e);(c=this.label)&&e&&(c.align(this.alignOptions,null,e),e=c.alignAttr,c[!1===this.options.crop||f.isInsidePlot(e.x,e.y)?"show":"hide"](!0))},getStackBox:function(a,c,e,f,k,q,d){var b=c.axis.reversed,h=a.inverted;a=d.height+d.pos-(h?a.plotLeft:a.plotTop);c=c.isNegative&&!b||!c.isNegative&&b;return{x:h?c?f:f-q:e,y:h?a-e-k:c?a-f-q:a-f,width:h?q:k,height:h?k:q}}};F.prototype.getStacks=function(){var a=this;e(a.yAxis,function(a){a.stacks&&a.hasVisibleSeries&&
+(a.oldStacks=a.stacks)});e(a.series,function(c){!c.options.stacking||!0!==c.visible&&!1!==a.options.chart.ignoreHiddenSeries||(c.stackKey=c.type+t(c.options.stack,""))})};C.prototype.buildStacks=function(){var a=this.series,c=t(this.options.reversedStacks,!0),e=a.length,f;if(!this.isXAxis){this.usePercentage=!1;for(f=e;f--;)a[c?f:e-f-1].setStackedPoints();for(f=0;f<e;f++)a[f].modifyStacks()}};C.prototype.renderStackTotals=function(){var a=this.chart,c=a.renderer,e=this.stacks,f=this.stackTotalGroup;
+f||(this.stackTotalGroup=f=c.g("stack-labels").attr({visibility:"visible",zIndex:6}).add());f.translate(a.plotLeft,a.plotTop);x(e,function(a){x(a,function(a){a.render(f)})})};C.prototype.resetStacks=function(){var a=this,c=a.stacks;a.isXAxis||x(c,function(c){x(c,function(e,h){e.touched<a.stacksTouched?(e.destroy(),delete c[h]):(e.total=null,e.cumulative=null)})})};C.prototype.cleanStacks=function(){var a;this.isXAxis||(this.oldStacks&&(a=this.stacks=this.oldStacks),x(a,function(a){x(a,function(a){a.cumulative=
+a.total})}))};w.prototype.setStackedPoints=function(){if(this.options.stacking&&(!0===this.visible||!1===this.chart.options.chart.ignoreHiddenSeries)){var e=this.processedXData,c=this.processedYData,h=[],f=c.length,k=this.options,q=k.threshold,d=t(k.startFromThreshold&&q,0),b=k.stack,k=k.stacking,v=this.stackKey,u="-"+v,l=this.negStacks,w=this.yAxis,B=w.stacks,D=w.oldStacks,m,G,A,x,E,g,r;w.stacksTouched+=1;for(E=0;E<f;E++)g=e[E],r=c[E],m=this.getStackIndicator(m,g,this.index),x=m.key,A=(G=l&&r<(d?
+0:q))?u:v,B[A]||(B[A]={}),B[A][g]||(D[A]&&D[A][g]?(B[A][g]=D[A][g],B[A][g].total=null):B[A][g]=new a.StackItem(w,w.options.stackLabels,G,g,b)),A=B[A][g],null!==r?(A.points[x]=A.points[this.index]=[t(A.cumulative,d)],n(A.cumulative)||(A.base=x),A.touched=w.stacksTouched,0<m.index&&!1===this.singleStacks&&(A.points[x][0]=A.points[this.index+","+g+",0"][0])):A.points[x]=A.points[this.index]=null,"percent"===k?(G=G?v:u,l&&B[G]&&B[G][g]?(G=B[G][g],A.total=G.total=Math.max(G.total,A.total)+Math.abs(r)||
+0):A.total=I(A.total+(Math.abs(r)||0))):A.total=I(A.total+(r||0)),A.cumulative=t(A.cumulative,d)+(r||0),null!==r&&(A.points[x].push(A.cumulative),h[E]=A.cumulative);"percent"===k&&(w.usePercentage=!0);this.stackedYData=h;w.oldStacks={}}};w.prototype.modifyStacks=function(){var a=this,c=a.stackKey,h=a.yAxis.stacks,f=a.processedXData,k,q=a.options.stacking;a[q+"Stacker"]&&e([c,"-"+c],function(c){for(var b=f.length,d,e;b--;)if(d=f[b],k=a.getStackIndicator(k,d,a.index,c),e=(d=h[c]&&h[c][d])&&d.points[k.key])a[q+
+"Stacker"](e,d,b)})};w.prototype.percentStacker=function(a,c,e){c=c.total?100/c.total:0;a[0]=I(a[0]*c);a[1]=I(a[1]*c);this.stackedYData[e]=a[1]};w.prototype.getStackIndicator=function(a,c,e,f){!n(a)||a.x!==c||f&&a.key!==f?a={x:c,index:0,key:f}:a.index++;a.key=[e,c,a.index].join();return a}})(K);(function(a){var C=a.addEvent,F=a.animate,I=a.Axis,n=a.createElement,f=a.css,e=a.defined,u=a.each,x=a.erase,t=a.extend,w=a.fireEvent,y=a.inArray,c=a.isNumber,h=a.isObject,p=a.isArray,k=a.merge,q=a.objectEach,
+d=a.pick,b=a.Point,v=a.Series,J=a.seriesTypes,l=a.setAnimation,L=a.splat;t(a.Chart.prototype,{addSeries:function(a,b,c){var e,h=this;a&&(b=d(b,!0),w(h,"addSeries",{options:a},function(){e=h.initSeries(a);h.isDirtyLegend=!0;h.linkSeries();w(h,"afterAddSeries");b&&h.redraw(c)}));return e},addAxis:function(a,b,c,e){var h=b?"xAxis":"yAxis",f=this.options;a=k(a,{index:this[h].length,isX:b});b=new I(this,a);f[h]=L(f[h]||{});f[h].push(a);d(c,!0)&&this.redraw(e);return b},showLoading:function(a){var b=this,
+c=b.options,d=b.loadingDiv,e=c.loading,h=function(){d&&f(d,{left:b.plotLeft+"px",top:b.plotTop+"px",width:b.plotWidth+"px",height:b.plotHeight+"px"})};d||(b.loadingDiv=d=n("div",{className:"highcharts-loading highcharts-loading-hidden"},null,b.container),b.loadingSpan=n("span",{className:"highcharts-loading-inner"},null,d),C(b,"redraw",h));d.className="highcharts-loading";b.loadingSpan.innerHTML=a||c.lang.loading;f(d,t(e.style,{zIndex:10}));f(b.loadingSpan,e.labelStyle);b.loadingShown||(f(d,{opacity:0,
+display:""}),F(d,{opacity:e.style.opacity||.5},{duration:e.showDuration||0}));b.loadingShown=!0;h()},hideLoading:function(){var a=this.options,b=this.loadingDiv;b&&(b.className="highcharts-loading highcharts-loading-hidden",F(b,{opacity:0},{duration:a.loading.hideDuration||100,complete:function(){f(b,{display:"none"})}}));this.loadingShown=!1},propsRequireDirtyBox:"backgroundColor borderColor borderWidth margin marginTop marginRight marginBottom marginLeft spacing spacingTop spacingRight spacingBottom spacingLeft borderRadius plotBackgroundColor plotBackgroundImage plotBorderColor plotBorderWidth plotShadow shadow".split(" "),
+propsRequireUpdateSeries:"chart.inverted chart.polar chart.ignoreHiddenSeries chart.type colors plotOptions time tooltip".split(" "),update:function(a,b,h,f){var l=this,m={credits:"addCredits",title:"setTitle",subtitle:"setSubtitle"},p=a.chart,g,r,v=[];w(l,"update",{options:a});if(p){k(!0,l.options.chart,p);"className"in p&&l.setClassName(p.className);"reflow"in p&&l.setReflow(p.reflow);if("inverted"in p||"polar"in p||"type"in p)l.propFromSeries(),g=!0;"alignTicks"in p&&(g=!0);q(p,function(a,b){-1!==
+y("chart."+b,l.propsRequireUpdateSeries)&&(r=!0);-1!==y(b,l.propsRequireDirtyBox)&&(l.isDirtyBox=!0)});"style"in p&&l.renderer.setStyle(p.style)}a.colors&&(this.options.colors=a.colors);a.plotOptions&&k(!0,this.options.plotOptions,a.plotOptions);q(a,function(a,b){if(l[b]&&"function"===typeof l[b].update)l[b].update(a,!1);else if("function"===typeof l[m[b]])l[m[b]](a);"chart"!==b&&-1!==y(b,l.propsRequireUpdateSeries)&&(r=!0)});u("xAxis yAxis zAxis series colorAxis pane".split(" "),function(b){var c;
+a[b]&&("series"===b&&(c=[],u(l[b],function(a,b){a.options.isInternal||c.push(b)})),u(L(a[b]),function(a,d){(d=e(a.id)&&l.get(a.id)||l[b][c?c[d]:d])&&d.coll===b&&(d.update(a,!1),h&&(d.touched=!0));if(!d&&h)if("series"===b)l.addSeries(a,!1).touched=!0;else if("xAxis"===b||"yAxis"===b)l.addAxis(a,"xAxis"===b,!1).touched=!0}),h&&u(l[b],function(a){a.touched||a.options.isInternal?delete a.touched:v.push(a)}))});u(v,function(a){a.remove&&a.remove(!1)});g&&u(l.axes,function(a){a.update({},!1)});r&&u(l.series,
+function(a){a.update({},!1)});a.loading&&k(!0,l.options.loading,a.loading);g=p&&p.width;p=p&&p.height;c(g)&&g!==l.chartWidth||c(p)&&p!==l.chartHeight?l.setSize(g,p,f):d(b,!0)&&l.redraw(f);w(l,"afterUpdate",{options:a})},setSubtitle:function(a){this.setTitle(void 0,a)}});t(b.prototype,{update:function(a,b,c,e){function f(){l.applyOptions(a);null===l.y&&g&&(l.graphic=g.destroy());h(a,!0)&&(g&&g.element&&a&&a.marker&&void 0!==a.marker.symbol&&(l.graphic=g.destroy()),a&&a.dataLabels&&l.dataLabel&&(l.dataLabel=
+l.dataLabel.destroy()),l.connector&&(l.connector=l.connector.destroy()));k=l.index;m.updateParallelArrays(l,k);p.data[k]=h(p.data[k],!0)||h(a,!0)?l.options:d(a,p.data[k]);m.isDirty=m.isDirtyData=!0;!m.fixedBox&&m.hasCartesianSeries&&(q.isDirtyBox=!0);"point"===p.legendType&&(q.isDirtyLegend=!0);b&&q.redraw(c)}var l=this,m=l.series,g=l.graphic,k,q=m.chart,p=m.options;b=d(b,!0);!1===e?f():l.firePointEvent("update",{options:a},f)},remove:function(a,b){this.series.removePoint(y(this,this.series.data),
+a,b)}});t(v.prototype,{addPoint:function(a,b,c,e){var h=this.options,f=this.data,l=this.chart,g=this.xAxis,g=g&&g.hasNames&&g.names,m=h.data,k,p,q=this.xData,v,n;b=d(b,!0);k={series:this};this.pointClass.prototype.applyOptions.apply(k,[a]);n=k.x;v=q.length;if(this.requireSorting&&n<q[v-1])for(p=!0;v&&q[v-1]>n;)v--;this.updateParallelArrays(k,"splice",v,0,0);this.updateParallelArrays(k,v);g&&k.name&&(g[n]=k.name);m.splice(v,0,a);p&&(this.data.splice(v,0,null),this.processData());"point"===h.legendType&&
+this.generatePoints();c&&(f[0]&&f[0].remove?f[0].remove(!1):(f.shift(),this.updateParallelArrays(k,"shift"),m.shift()));this.isDirtyData=this.isDirty=!0;b&&l.redraw(e)},removePoint:function(a,b,c){var e=this,h=e.data,f=h[a],m=e.points,g=e.chart,k=function(){m&&m.length===h.length&&m.splice(a,1);h.splice(a,1);e.options.data.splice(a,1);e.updateParallelArrays(f||{series:e},"splice",a,1);f&&f.destroy();e.isDirty=!0;e.isDirtyData=!0;b&&g.redraw()};l(c,g);b=d(b,!0);f?f.firePointEvent("remove",null,k):
+k()},remove:function(a,b,c){function e(){h.destroy();h.remove=null;f.isDirtyLegend=f.isDirtyBox=!0;f.linkSeries();d(a,!0)&&f.redraw(b)}var h=this,f=h.chart;!1!==c?w(h,"remove",null,e):e()},update:function(b,c){var e=this,h=e.chart,f=e.userOptions,l=e.oldType||e.type,q=b.type||f.type||h.options.chart.type,g=J[l].prototype,p,v=["group","markerGroup","dataLabelsGroup"],n=["navigatorSeries","baseSeries"],B=e.finishedAnimating&&{animation:!1},D=["data","name","turboThreshold"],x=a.keys(b),L=0<x.length;
+u(x,function(a){-1===y(a,D)&&(L=!1)});if(L)b.data&&this.setData(b.data,!1),b.name&&this.setName(b.name,!1);else{n=v.concat(n);u(n,function(a){n[a]=e[a];delete e[a]});b=k(f,B,{index:e.index,pointStart:d(f.pointStart,e.xData[0])},{data:e.options.data},b);e.remove(!1,null,!1);for(p in g)e[p]=void 0;J[q||l]?t(e,J[q||l].prototype):a.error(17,!0);u(n,function(a){e[a]=n[a]});e.init(h,b);b.zIndex!==f.zIndex&&u(v,function(a){e[a]&&e[a].attr({zIndex:b.zIndex})});e.oldType=l;h.linkSeries()}w(this,"afterUpdate");
+d(c,!0)&&h.redraw(L?void 0:!1)},setName:function(a){this.name=this.options.name=this.userOptions.name=a;this.chart.isDirtyLegend=!0}});t(I.prototype,{update:function(a,b){var c=this.chart,e=a&&a.events||{};a=k(this.userOptions,a);c.options[this.coll].indexOf&&(c.options[this.coll][c.options[this.coll].indexOf(this.userOptions)]=a);q(c.options[this.coll].events,function(a,b){"undefined"===typeof e[b]&&(e[b]=void 0)});this.destroy(!0);this.init(c,t(a,{events:e}));c.isDirtyBox=!0;d(b,!0)&&c.redraw()},
+remove:function(a){for(var b=this.chart,c=this.coll,e=this.series,h=e.length;h--;)e[h]&&e[h].remove(!1);x(b.axes,this);x(b[c],this);p(b.options[c])?b.options[c].splice(this.options.index,1):delete b.options[c];u(b[c],function(a,b){a.options.index=a.userOptions.index=b});this.destroy();b.isDirtyBox=!0;d(a,!0)&&b.redraw()},setTitle:function(a,b){this.update({title:a},b)},setCategories:function(a,b){this.update({categories:a},b)}})})(K);(function(a){var C=a.color,F=a.each,I=a.map,n=a.pick,f=a.Series,
+e=a.seriesType;e("area","line",{softThreshold:!1,threshold:0},{singleStacks:!1,getStackPoints:function(e){var f=[],t=[],u=this.xAxis,y=this.yAxis,c=y.stacks[this.stackKey],h={},p=this.index,k=y.series,q=k.length,d,b=n(y.options.reversedStacks,!0)?1:-1,v;e=e||this.points;if(this.options.stacking){for(v=0;v<e.length;v++)e[v].leftNull=e[v].rightNull=null,h[e[v].x]=e[v];a.objectEach(c,function(a,b){null!==a.total&&t.push(b)});t.sort(function(a,b){return a-b});d=I(k,function(){return this.visible});F(t,
+function(a,e){var l=0,k,n;if(h[a]&&!h[a].isNull)f.push(h[a]),F([-1,1],function(f){var l=1===f?"rightNull":"leftNull",m=0,u=c[t[e+f]];if(u)for(v=p;0<=v&&v<q;)k=u.points[v],k||(v===p?h[a][l]=!0:d[v]&&(n=c[a].points[v])&&(m-=n[1]-n[0])),v+=b;h[a][1===f?"rightCliff":"leftCliff"]=m});else{for(v=p;0<=v&&v<q;){if(k=c[a].points[v]){l=k[1];break}v+=b}l=y.translate(l,0,1,0,1);f.push({isNull:!0,plotX:u.translate(a,0,0,0,1),x:a,plotY:l,yBottom:l})}})}return f},getGraphPath:function(a){var e=f.prototype.getGraphPath,
+t=this.options,u=t.stacking,y=this.yAxis,c,h,p=[],k=[],q=this.index,d,b=y.stacks[this.stackKey],v=t.threshold,J=y.getThreshold(t.threshold),l,t=t.connectNulls||"percent"===u,L=function(c,e,h){var f=a[c];c=u&&b[f.x].points[q];var l=f[h+"Null"]||0;h=f[h+"Cliff"]||0;var m,n,f=!0;h||l?(m=(l?c[0]:c[1])+h,n=c[0]+h,f=!!l):!u&&a[e]&&a[e].isNull&&(m=n=v);void 0!==m&&(k.push({plotX:d,plotY:null===m?J:y.getThreshold(m),isNull:f,isCliff:!0}),p.push({plotX:d,plotY:null===n?J:y.getThreshold(n),doCurve:!1}))};a=
+a||this.points;u&&(a=this.getStackPoints(a));for(c=0;c<a.length;c++)if(h=a[c].isNull,d=n(a[c].rectPlotX,a[c].plotX),l=n(a[c].yBottom,J),!h||t)t||L(c,c-1,"left"),h&&!u&&t||(k.push(a[c]),p.push({x:c,plotX:d,plotY:l})),t||L(c,c+1,"right");c=e.call(this,k,!0,!0);p.reversed=!0;h=e.call(this,p,!0,!0);h.length&&(h[0]="L");h=c.concat(h);e=e.call(this,k,!1,t);h.xMap=c.xMap;this.areaPath=h;return e},drawGraph:function(){this.areaPath=[];f.prototype.drawGraph.apply(this);var a=this,e=this.areaPath,t=this.options,
+w=[["area","highcharts-area",this.color,t.fillColor]];F(this.zones,function(e,c){w.push(["zone-area-"+c,"highcharts-area highcharts-zone-area-"+c+" "+e.className,e.color||a.color,e.fillColor||t.fillColor])});F(w,function(f){var c=f[0],h=a[c];h?(h.endX=a.preventGraphAnimation?null:e.xMap,h.animate({d:e})):(h=a[c]=a.chart.renderer.path(e).addClass(f[1]).attr({fill:n(f[3],C(f[2]).setOpacity(n(t.fillOpacity,.75)).get()),zIndex:0}).add(a.group),h.isArea=!0);h.startX=e.xMap;h.shiftUnit=t.step?2:1})},drawLegendSymbol:a.LegendSymbolMixin.drawRectangle})})(K);
+(function(a){var C=a.pick;a=a.seriesType;a("spline","line",{},{getPointSpline:function(a,I,n){var f=I.plotX,e=I.plotY,u=a[n-1];n=a[n+1];var x,t,w,y;if(u&&!u.isNull&&!1!==u.doCurve&&!I.isCliff&&n&&!n.isNull&&!1!==n.doCurve&&!I.isCliff){a=u.plotY;w=n.plotX;n=n.plotY;var c=0;x=(1.5*f+u.plotX)/2.5;t=(1.5*e+a)/2.5;w=(1.5*f+w)/2.5;y=(1.5*e+n)/2.5;w!==x&&(c=(y-t)*(w-f)/(w-x)+e-y);t+=c;y+=c;t>a&&t>e?(t=Math.max(a,e),y=2*e-t):t<a&&t<e&&(t=Math.min(a,e),y=2*e-t);y>n&&y>e?(y=Math.max(n,e),t=2*e-y):y<n&&y<e&&
+(y=Math.min(n,e),t=2*e-y);I.rightContX=w;I.rightContY=y}I=["C",C(u.rightContX,u.plotX),C(u.rightContY,u.plotY),C(x,f),C(t,e),f,e];u.rightContX=u.rightContY=null;return I}})})(K);(function(a){var C=a.seriesTypes.area.prototype,F=a.seriesType;F("areaspline","spline",a.defaultPlotOptions.area,{getStackPoints:C.getStackPoints,getGraphPath:C.getGraphPath,drawGraph:C.drawGraph,drawLegendSymbol:a.LegendSymbolMixin.drawRectangle})})(K);(function(a){var C=a.animObject,F=a.color,I=a.each,n=a.extend,f=a.defined,
+e=a.isNumber,u=a.merge,x=a.pick,t=a.Series,w=a.seriesType,y=a.svg;w("column","line",{borderRadius:0,crisp:!0,groupPadding:.2,marker:null,pointPadding:.1,minPointLength:0,cropThreshold:50,pointRange:null,states:{hover:{halo:!1,brightness:.1},select:{color:"#cccccc",borderColor:"#000000"}},dataLabels:{align:null,verticalAlign:null,y:null},softThreshold:!1,startFromThreshold:!0,stickyTracking:!1,tooltip:{distance:6},threshold:0,borderColor:"#ffffff"},{cropShoulder:0,directTouch:!0,trackerGroups:["group",
+"dataLabelsGroup"],negStacks:!0,init:function(){t.prototype.init.apply(this,arguments);var a=this,e=a.chart;e.hasRendered&&I(e.series,function(c){c.type===a.type&&(c.isDirty=!0)})},getColumnMetrics:function(){var a=this,e=a.options,f=a.xAxis,k=a.yAxis,q=f.options.reversedStacks,q=f.reversed&&!q||!f.reversed&&q,d,b={},v=0;!1===e.grouping?v=1:I(a.chart.series,function(c){var e=c.options,f=c.yAxis,h;c.type!==a.type||!c.visible&&a.chart.options.chart.ignoreHiddenSeries||k.len!==f.len||k.pos!==f.pos||
+(e.stacking?(d=c.stackKey,void 0===b[d]&&(b[d]=v++),h=b[d]):!1!==e.grouping&&(h=v++),c.columnIndex=h)});var n=Math.min(Math.abs(f.transA)*(f.ordinalSlope||e.pointRange||f.closestPointRange||f.tickInterval||1),f.len),l=n*e.groupPadding,t=(n-2*l)/(v||1),e=Math.min(e.maxPointWidth||f.len,x(e.pointWidth,t*(1-2*e.pointPadding)));a.columnMetrics={width:e,offset:(t-e)/2+(l+((a.columnIndex||0)+(q?1:0))*t-n/2)*(q?-1:1)};return a.columnMetrics},crispCol:function(a,e,f,k){var c=this.chart,d=this.borderWidth,
+b=-(d%2?.5:0),d=d%2?.5:1;c.inverted&&c.renderer.isVML&&(d+=1);this.options.crisp&&(f=Math.round(a+f)+b,a=Math.round(a)+b,f-=a);k=Math.round(e+k)+d;b=.5>=Math.abs(e)&&.5<k;e=Math.round(e)+d;k-=e;b&&k&&(--e,k+=1);return{x:a,y:e,width:f,height:k}},translate:function(){var a=this,e=a.chart,p=a.options,k=a.dense=2>a.closestPointRange*a.xAxis.transA,k=a.borderWidth=x(p.borderWidth,k?0:1),q=a.yAxis,d=p.threshold,b=a.translatedThreshold=q.getThreshold(d),v=x(p.minPointLength,5),n=a.getColumnMetrics(),l=n.width,
+u=a.barW=Math.max(l,1+2*k),B=a.pointXOffset=n.offset;e.inverted&&(b-=.5);p.pointPadding&&(u=Math.ceil(u));t.prototype.translate.apply(a);I(a.points,function(c){var h=x(c.yBottom,b),k=999+Math.abs(h),p=l,k=Math.min(Math.max(-k,c.plotY),q.len+k),n=c.plotX+B,t=u,g=Math.min(k,h),r,w=Math.max(k,h)-g;v&&Math.abs(w)<v&&(w=v,r=!q.reversed&&!c.negative||q.reversed&&c.negative,c.y===d&&a.dataMax<=d&&q.min<d&&(r=!r),g=Math.abs(g-b)>v?h-v:b-(r?v:0));f(c.options.pointWidth)&&(p=t=Math.ceil(c.options.pointWidth),
+n-=Math.round((p-l)/2));c.barX=n;c.pointWidth=p;c.tooltipPos=e.inverted?[q.len+q.pos-e.plotLeft-k,a.xAxis.len-n-t/2,w]:[n+t/2,k+q.pos-e.plotTop,w];c.shapeType="rect";c.shapeArgs=a.crispCol.apply(a,c.isNull?[n,b,t,0]:[n,g,t,w])})},getSymbol:a.noop,drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,drawGraph:function(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")},pointAttribs:function(a,e){var c=this.options,f,h=this.pointAttrToOptions||{};f=h.stroke||"borderColor";var d=
+h["stroke-width"]||"borderWidth",b=a&&a.color||this.color,n=a&&a[f]||c[f]||this.color||b,t=a&&a[d]||c[d]||this[d]||0,h=c.dashStyle;a&&this.zones.length&&(b=a.getZone(),b=a.options.color||b&&b.color||this.color);e&&(a=u(c.states[e],a.options.states&&a.options.states[e]||{}),e=a.brightness,b=a.color||void 0!==e&&F(b).brighten(a.brightness).get()||b,n=a[f]||n,t=a[d]||t,h=a.dashStyle||h);f={fill:b,stroke:n,"stroke-width":t};h&&(f.dashstyle=h);return f},drawPoints:function(){var a=this,f=this.chart,p=
+a.options,k=f.renderer,q=p.animationLimit||250,d;I(a.points,function(b){var c=b.graphic,h=c&&f.pointCount<q?"animate":"attr";if(e(b.plotY)&&null!==b.y){d=b.shapeArgs;if(c)c[h](u(d));else b.graphic=c=k[b.shapeType](d).add(b.group||a.group);p.borderRadius&&c.attr({r:p.borderRadius});c[h](a.pointAttribs(b,b.selected&&"select")).shadow(p.shadow,null,p.stacking&&!p.borderRadius);c.addClass(b.getClassName(),!0)}else c&&(b.graphic=c.destroy())})},animate:function(a){var c=this,e=this.yAxis,f=c.options,q=
+this.chart.inverted,d={},b=q?"translateX":"translateY",v;y&&(a?(d.scaleY=.001,a=Math.min(e.pos+e.len,Math.max(e.pos,e.toPixels(f.threshold))),q?d.translateX=a-e.len:d.translateY=a,c.group.attr(d)):(v=c.group.attr(b),c.group.animate({scaleY:1},n(C(c.options.animation),{step:function(a,f){d[b]=v+f.pos*(e.pos-v);c.group.attr(d)}})),c.animate=null))},remove:function(){var a=this,e=a.chart;e.hasRendered&&I(e.series,function(c){c.type===a.type&&(c.isDirty=!0)});t.prototype.remove.apply(a,arguments)}})})(K);
+(function(a){a=a.seriesType;a("bar","column",null,{inverted:!0})})(K);(function(a){var C=a.Series;a=a.seriesType;a("scatter","line",{lineWidth:0,findNearestPointBy:"xy",marker:{enabled:!0},tooltip:{headerFormat:'\x3cspan style\x3d"color:{point.color}"\x3e\u25cf\x3c/span\x3e \x3cspan style\x3d"font-size: 0.85em"\x3e {series.name}\x3c/span\x3e\x3cbr/\x3e',pointFormat:"x: \x3cb\x3e{point.x}\x3c/b\x3e\x3cbr/\x3ey: \x3cb\x3e{point.y}\x3c/b\x3e\x3cbr/\x3e"}},{sorted:!1,requireSorting:!1,noSharedTooltip:!0,
+trackerGroups:["group","markerGroup","dataLabelsGroup"],takeOrdinalPosition:!1,drawGraph:function(){this.options.lineWidth&&C.prototype.drawGraph.call(this)}})})(K);(function(a){var C=a.deg2rad,F=a.isNumber,I=a.pick,n=a.relativeLength;a.CenteredSeriesMixin={getCenter:function(){var a=this.options,e=this.chart,u=2*(a.slicedOffset||0),x=e.plotWidth-2*u,e=e.plotHeight-2*u,t=a.center,t=[I(t[0],"50%"),I(t[1],"50%"),a.size||"100%",a.innerSize||0],w=Math.min(x,e),y,c;for(y=0;4>y;++y)c=t[y],a=2>y||2===y&&
+/%$/.test(c),t[y]=n(c,[x,e,w,t[2]][y])+(a?u:0);t[3]>t[2]&&(t[3]=t[2]);return t},getStartAndEndRadians:function(a,e){a=F(a)?a:0;e=F(e)&&e>a&&360>e-a?e:a+360;return{start:C*(a+-90),end:C*(e+-90)}}}})(K);(function(a){var C=a.addEvent,F=a.CenteredSeriesMixin,I=a.defined,n=a.each,f=a.extend,e=F.getStartAndEndRadians,u=a.inArray,x=a.noop,t=a.pick,w=a.Point,y=a.Series,c=a.seriesType,h=a.setAnimation;c("pie","line",{center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{allowOverlap:!0,distance:30,enabled:!0,
+formatter:function(){return this.point.isNull?void 0:this.point.name},x:0},ignoreHiddenPoint:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,states:{hover:{brightness:.1}}},{isCartesian:!1,requireSorting:!1,directTouch:!0,noSharedTooltip:!0,trackerGroups:["group","dataLabelsGroup"],axisTypes:[],pointAttribs:a.seriesTypes.column.prototype.pointAttribs,animate:function(a){var c=this,e=c.points,
+d=c.startAngleRad;a||(n(e,function(a){var b=a.graphic,e=a.shapeArgs;b&&(b.attr({r:a.startR||c.center[3]/2,start:d,end:d}),b.animate({r:e.r,start:e.start,end:e.end},c.options.animation))}),c.animate=null)},updateTotals:function(){var a,c=0,e=this.points,d=e.length,b,f=this.options.ignoreHiddenPoint;for(a=0;a<d;a++)b=e[a],c+=f&&!b.visible?0:b.isNull?0:b.y;this.total=c;for(a=0;a<d;a++)b=e[a],b.percentage=0<c&&(b.visible||!f)?b.y/c*100:0,b.total=c},generatePoints:function(){y.prototype.generatePoints.call(this);
+this.updateTotals()},translate:function(a){this.generatePoints();var c=0,f=this.options,d=f.slicedOffset,b=d+(f.borderWidth||0),h,n,l,p=e(f.startAngle,f.endAngle),u=this.startAngleRad=p.start,p=(this.endAngleRad=p.end)-u,w=this.points,m,x=f.dataLabels.distance,f=f.ignoreHiddenPoint,A,y=w.length,E;a||(this.center=a=this.getCenter());this.getX=function(b,c,d){l=Math.asin(Math.min((b-a[1])/(a[2]/2+d.labelDistance),1));return a[0]+(c?-1:1)*Math.cos(l)*(a[2]/2+d.labelDistance)};for(A=0;A<y;A++){E=w[A];
+E.labelDistance=t(E.options.dataLabels&&E.options.dataLabels.distance,x);this.maxLabelDistance=Math.max(this.maxLabelDistance||0,E.labelDistance);h=u+c*p;if(!f||E.visible)c+=E.percentage/100;n=u+c*p;E.shapeType="arc";E.shapeArgs={x:a[0],y:a[1],r:a[2]/2,innerR:a[3]/2,start:Math.round(1E3*h)/1E3,end:Math.round(1E3*n)/1E3};l=(n+h)/2;l>1.5*Math.PI?l-=2*Math.PI:l<-Math.PI/2&&(l+=2*Math.PI);E.slicedTranslation={translateX:Math.round(Math.cos(l)*d),translateY:Math.round(Math.sin(l)*d)};n=Math.cos(l)*a[2]/
+2;m=Math.sin(l)*a[2]/2;E.tooltipPos=[a[0]+.7*n,a[1]+.7*m];E.half=l<-Math.PI/2||l>Math.PI/2?1:0;E.angle=l;h=Math.min(b,E.labelDistance/5);E.labelPos=[a[0]+n+Math.cos(l)*E.labelDistance,a[1]+m+Math.sin(l)*E.labelDistance,a[0]+n+Math.cos(l)*h,a[1]+m+Math.sin(l)*h,a[0]+n,a[1]+m,0>E.labelDistance?"center":E.half?"right":"left",l]}},drawGraph:null,drawPoints:function(){var a=this,c=a.chart.renderer,e,d,b,h,t=a.options.shadow;t&&!a.shadowGroup&&(a.shadowGroup=c.g("shadow").add(a.group));n(a.points,function(l){d=
+l.graphic;if(l.isNull)d&&(l.graphic=d.destroy());else{h=l.shapeArgs;e=l.getTranslate();var k=l.shadowGroup;t&&!k&&(k=l.shadowGroup=c.g("shadow").add(a.shadowGroup));k&&k.attr(e);b=a.pointAttribs(l,l.selected&&"select");d?d.setRadialReference(a.center).attr(b).animate(f(h,e)):(l.graphic=d=c[l.shapeType](h).setRadialReference(a.center).attr(e).add(a.group),d.attr(b).attr({"stroke-linejoin":"round"}).shadow(t,k));d.attr({visibility:l.visible?"inherit":"hidden"});d.addClass(l.getClassName())}})},searchPoint:x,
+sortByAngle:function(a,c){a.sort(function(a,d){return void 0!==a.angle&&(d.angle-a.angle)*c})},drawLegendSymbol:a.LegendSymbolMixin.drawRectangle,getCenter:F.getCenter,getSymbol:x},{init:function(){w.prototype.init.apply(this,arguments);var a=this,c;a.name=t(a.name,"Slice");c=function(c){a.slice("select"===c.type)};C(a,"select",c);C(a,"unselect",c);return a},isValid:function(){return a.isNumber(this.y,!0)&&0<=this.y},setVisible:function(a,c){var e=this,d=e.series,b=d.chart,f=d.options.ignoreHiddenPoint;
+c=t(c,f);a!==e.visible&&(e.visible=e.options.visible=a=void 0===a?!e.visible:a,d.options.data[u(e,d.data)]=e.options,n(["graphic","dataLabel","connector","shadowGroup"],function(b){if(e[b])e[b][a?"show":"hide"](!0)}),e.legendItem&&b.legend.colorizeItem(e,a),a||"hover"!==e.state||e.setState(""),f&&(d.isDirty=!0),c&&b.redraw())},slice:function(a,c,e){var d=this.series;h(e,d.chart);t(c,!0);this.sliced=this.options.sliced=I(a)?a:!this.sliced;d.options.data[u(this,d.data)]=this.options;this.graphic.animate(this.getTranslate());
+this.shadowGroup&&this.shadowGroup.animate(this.getTranslate())},getTranslate:function(){return this.sliced?this.slicedTranslation:{translateX:0,translateY:0}},haloPath:function(a){var c=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(c.x,c.y,c.r+a,c.r+a,{innerR:this.shapeArgs.r-1,start:c.start,end:c.end})}})})(K);(function(a){var C=a.addEvent,F=a.arrayMax,I=a.defined,n=a.each,f=a.extend,e=a.format,u=a.map,x=a.merge,t=a.noop,w=a.pick,y=a.relativeLength,c=
+a.Series,h=a.seriesTypes,p=a.some,k=a.stableSort,q=a.isArray,d=a.splat;a.distribute=function(b,c,d){function e(a,b){return a.target-b.target}var f,h=!0,q=b,m=[],v;v=0;var t=q.reducedLen||c;for(f=b.length;f--;)v+=b[f].size;if(v>t){k(b,function(a,b){return(b.rank||0)-(a.rank||0)});for(v=f=0;v<=t;)v+=b[f].size,f++;m=b.splice(f-1,b.length)}k(b,e);for(b=u(b,function(a){return{size:a.size,targets:[a.target],align:w(a.align,.5)}});h;){for(f=b.length;f--;)h=b[f],v=(Math.min.apply(0,h.targets)+Math.max.apply(0,
+h.targets))/2,h.pos=Math.min(Math.max(0,v-h.size*h.align),c-h.size);f=b.length;for(h=!1;f--;)0<f&&b[f-1].pos+b[f-1].size>b[f].pos&&(b[f-1].size+=b[f].size,b[f-1].targets=b[f-1].targets.concat(b[f].targets),b[f-1].align=.5,b[f-1].pos+b[f-1].size>c&&(b[f-1].pos=c-b[f-1].size),b.splice(f,1),h=!0)}q.push.apply(q,m);f=0;p(b,function(b){var e=0;if(p(b.targets,function(){q[f].pos=b.pos+e;if(Math.abs(q[f].pos-q[f].target)>d)return n(q.slice(0,f+1),function(a){delete a.pos}),q.reducedLen=(q.reducedLen||c)-
+.1*c,q.reducedLen>.1*c&&a.distribute(q,c,d),!0;e+=q[f].size;f++}))return!0});k(q,e)};c.prototype.drawDataLabels=function(){function b(a,b){var c=b.filter;return c?(b=c.operator,a=a[c.property],c=c.value,"\x3e"===b&&a>c||"\x3c"===b&&a<c||"\x3e\x3d"===b&&a>=c||"\x3c\x3d"===b&&a<=c||"\x3d\x3d"===b&&a==c||"\x3d\x3d\x3d"===b&&a===c?!0:!1):!0}function c(a,b){var c=[],d;if(q(a)&&!q(b))c=u(a,function(a){return x(a,b)});else if(q(b)&&!q(a))c=u(b,function(b){return x(a,b)});else if(q(a)||q(b))for(d=Math.max(a.length,
+b.length);d--;)c[d]=x(a[d],b[d]);else c=x(a,b);return c}var f=this,h=f.chart,k=f.options,p=k.dataLabels,t=f.points,m,y=f.hasRendered||0,A,F=w(p.defer,!!k.animation),E=h.renderer,p=c(c(h.options.plotOptions&&h.options.plotOptions.series&&h.options.plotOptions.series.dataLabels,h.options.plotOptions&&h.options.plotOptions[f.type]&&h.options.plotOptions[f.type].dataLabels),p);if(q(p)||p.enabled||f._hasPointLabels)A=f.plotGroup("dataLabelsGroup","data-labels",F&&!y?"hidden":"visible",p.zIndex||6),F&&
+(A.attr({opacity:+y}),y||C(f,"afterAnimate",function(){f.visible&&A.show(!0);A[k.animation?"animate":"attr"]({opacity:1},{duration:200})})),n(t,function(g){m=d(c(p,g.dlOptions||g.options&&g.options.dataLabels));n(m,function(c,d){var l=c.enabled&&!g.isNull&&b(g,c),m,n,q,r,p=g.dataLabels?g.dataLabels[d]:g.dataLabel,v=g.connectors?g.connectors[d]:g.connector,t=!p;l&&(m=g.getLabelConfig(),n=c[g.formatPrefix+"Format"]||c.format,m=I(n)?e(n,m,h.time):(c[g.formatPrefix+"Formatter"]||c.formatter).call(m,c),
+n=c.style,q=c.rotation,n.color=w(c.color,n.color,f.color,"#000000"),"contrast"===n.color&&(g.contrastColor=E.getContrast(g.color||f.color),n.color=c.inside||0>w(c.distance,g.labelDistance)||k.stacking?g.contrastColor:"#000000"),k.cursor&&(n.cursor=k.cursor),r={fill:c.backgroundColor,stroke:c.borderColor,"stroke-width":c.borderWidth,r:c.borderRadius||0,rotation:q,padding:c.padding,zIndex:1},a.objectEach(r,function(a,b){void 0===a&&delete r[b]}));!p||l&&I(m)?l&&I(m)&&(p?r.text=m:(g.dataLabels=g.dataLabels||
+[],p=g.dataLabels[d]=q?E.text(m,0,-9999).addClass("highcharts-data-label"):E.label(m,0,-9999,c.shape,null,null,c.useHTML,null,"data-label"),d||(g.dataLabel=p),p.addClass(" highcharts-data-label-color-"+g.colorIndex+" "+(c.className||"")+(c.useHTML?" highcharts-tracker":""))),p.options=c,p.attr(r),p.css(n).shadow(c.shadow),p.added||p.add(A),f.alignDataLabel(g,p,c,null,t)):(g.dataLabel=g.dataLabel.destroy(),g.dataLabels&&(1===g.dataLabels.length?delete g.dataLabels:delete g.dataLabels[d]),d||delete g.dataLabel,
+v&&(g.connector=g.connector.destroy(),g.connectors&&(1===g.connectors.length?delete g.connectors:delete g.connectors[d])))})});a.fireEvent(this,"afterDrawDataLabels")};c.prototype.alignDataLabel=function(a,c,d,e,h){var b=this.chart,l=b.inverted,m=w(a.dlBox&&a.dlBox.centerX,a.plotX,-9999),k=w(a.plotY,-9999),n=c.getBBox(),q,p=d.rotation,g=d.align,r=this.visible&&(a.series.forceDL||b.isInsidePlot(m,Math.round(k),l)||e&&b.isInsidePlot(m,l?e.x+1:e.y+e.height-1,l)),v="justify"===w(d.overflow,"justify");
+if(r&&(q=d.style.fontSize,q=b.renderer.fontMetrics(q,c).b,e=f({x:l?this.yAxis.len-k:m,y:Math.round(l?this.xAxis.len-m:k),width:0,height:0},e),f(d,{width:n.width,height:n.height}),p?(v=!1,m=b.renderer.rotCorr(q,p),m={x:e.x+d.x+e.width/2+m.x,y:e.y+d.y+{top:0,middle:.5,bottom:1}[d.verticalAlign]*e.height},c[h?"attr":"animate"](m).attr({align:g}),k=(p+720)%360,k=180<k&&360>k,"left"===g?m.y-=k?n.height:0:"center"===g?(m.x-=n.width/2,m.y-=n.height/2):"right"===g&&(m.x-=n.width,m.y-=k?0:n.height),c.placed=
+!0,c.alignAttr=m):(c.align(d,null,e),m=c.alignAttr),v&&0<=e.height?a.isLabelJustified=this.justifyDataLabel(c,d,m,n,e,h):w(d.crop,!0)&&(r=b.isInsidePlot(m.x,m.y)&&b.isInsidePlot(m.x+n.width,m.y+n.height)),d.shape&&!p))c[h?"attr":"animate"]({anchorX:l?b.plotWidth-a.plotY:a.plotX,anchorY:l?b.plotHeight-a.plotX:a.plotY});r||(c.attr({y:-9999}),c.placed=!1)};c.prototype.justifyDataLabel=function(a,c,d,e,f,h){var b=this.chart,l=c.align,k=c.verticalAlign,n,q,p=a.box?0:a.padding||0;n=d.x+p;0>n&&("right"===
+l?c.align="left":c.x=-n,q=!0);n=d.x+e.width-p;n>b.plotWidth&&("left"===l?c.align="right":c.x=b.plotWidth-n,q=!0);n=d.y+p;0>n&&("bottom"===k?c.verticalAlign="top":c.y=-n,q=!0);n=d.y+e.height-p;n>b.plotHeight&&("top"===k?c.verticalAlign="bottom":c.y=b.plotHeight-n,q=!0);q&&(a.placed=!h,a.align(c,null,f));return q};h.pie&&(h.pie.prototype.drawDataLabels=function(){var b=this,d=b.data,e,f=b.chart,h=b.options.dataLabels,k=w(h.connectorPadding,10),q=w(h.connectorWidth,1),m=f.plotWidth,p=f.plotHeight,t=
+Math.round(f.chartWidth/3),u,x=b.center,g=x[2]/2,r=x[1],y,C,H,K,Q=[[],[]],z,P,T,S,U=[0,0,0,0];b.visible&&(h.enabled||b._hasPointLabels)&&(n(d,function(a){a.dataLabel&&a.visible&&a.dataLabel.shortened&&(a.dataLabel.attr({width:"auto"}).css({width:"auto",textOverflow:"clip"}),a.dataLabel.shortened=!1)}),c.prototype.drawDataLabels.apply(b),n(d,function(a){a.dataLabel&&(a.visible?(Q[a.half].push(a),a.dataLabel._pos=null,!I(h.style.width)&&!I(a.options.dataLabels&&a.options.dataLabels.style&&a.options.dataLabels.style.width)&&
+a.dataLabel.getBBox().width>t&&(a.dataLabel.css({width:.7*t}),a.dataLabel.shortened=!0)):(a.dataLabel=a.dataLabel.destroy(),a.dataLabels&&1===a.dataLabels.length&&delete a.dataLabels))}),n(Q,function(c,d){var l,q,t=c.length,v=[],u;if(t)for(b.sortByAngle(c,d-.5),0<b.maxLabelDistance&&(l=Math.max(0,r-g-b.maxLabelDistance),q=Math.min(r+g+b.maxLabelDistance,f.plotHeight),n(c,function(a){0<a.labelDistance&&a.dataLabel&&(a.top=Math.max(0,r-g-a.labelDistance),a.bottom=Math.min(r+g+a.labelDistance,f.plotHeight),
+u=a.dataLabel.getBBox().height||21,a.distributeBox={target:a.labelPos[1]-a.top+u/2,size:u,rank:a.y},v.push(a.distributeBox))}),l=q+u-l,a.distribute(v,l,l/5)),S=0;S<t;S++)e=c[S],H=e.labelPos,y=e.dataLabel,T=!1===e.visible?"hidden":"inherit",P=l=H[1],v&&I(e.distributeBox)&&(void 0===e.distributeBox.pos?T="hidden":(K=e.distributeBox.size,P=e.top+e.distributeBox.pos)),delete e.positionIndex,z=h.justify?x[0]+(d?-1:1)*(g+e.labelDistance):b.getX(P<e.top+2||P>e.bottom-2?l:P,d,e),y._attr={visibility:T,align:H[6]},
+y._pos={x:z+h.x+({left:k,right:-k}[H[6]]||0),y:P+h.y-10},H.x=z,H.y=P,w(h.crop,!0)&&(C=y.getBBox().width,l=null,z-C<k&&1===d?(l=Math.round(C-z+k),U[3]=Math.max(l,U[3])):z+C>m-k&&0===d&&(l=Math.round(z+C-m+k),U[1]=Math.max(l,U[1])),0>P-K/2?U[0]=Math.max(Math.round(-P+K/2),U[0]):P+K/2>p&&(U[2]=Math.max(Math.round(P+K/2-p),U[2])),y.sideOverflow=l)}),0===F(U)||this.verifyDataLabelOverflow(U))&&(this.placeDataLabels(),q&&n(this.points,function(a){var c;u=a.connector;if((y=a.dataLabel)&&y._pos&&a.visible&&
+0<a.labelDistance){T=y._attr.visibility;if(c=!u)a.connector=u=f.renderer.path().addClass("highcharts-data-label-connector  highcharts-color-"+a.colorIndex+(a.className?" "+a.className:"")).add(b.dataLabelsGroup),u.attr({"stroke-width":q,stroke:h.connectorColor||a.color||"#666666"});u[c?"attr":"animate"]({d:b.connectorPath(a.labelPos)});u.attr("visibility",T)}else u&&(a.connector=u.destroy())}))},h.pie.prototype.connectorPath=function(a){var b=a.x,c=a.y;return w(this.options.dataLabels.softConnector,
+!0)?["M",b+("left"===a[6]?5:-5),c,"C",b,c,2*a[2]-a[4],2*a[3]-a[5],a[2],a[3],"L",a[4],a[5]]:["M",b+("left"===a[6]?5:-5),c,"L",a[2],a[3],"L",a[4],a[5]]},h.pie.prototype.placeDataLabels=function(){n(this.points,function(a){var b=a.dataLabel;b&&a.visible&&((a=b._pos)?(b.sideOverflow&&(b._attr.width=b.getBBox().width-b.sideOverflow,b.css({width:b._attr.width+"px",textOverflow:(this.options.dataLabels.style||{}).textOverflow||"ellipsis"}),b.shortened=!0),b.attr(b._attr),b[b.moved?"animate":"attr"](a),b.moved=
+!0):b&&b.attr({y:-9999}))},this)},h.pie.prototype.alignDataLabel=t,h.pie.prototype.verifyDataLabelOverflow=function(a){var b=this.center,c=this.options,d=c.center,e=c.minSize||80,f,h=null!==c.size;h||(null!==d[0]?f=Math.max(b[2]-Math.max(a[1],a[3]),e):(f=Math.max(b[2]-a[1]-a[3],e),b[0]+=(a[3]-a[1])/2),null!==d[1]?f=Math.max(Math.min(f,b[2]-Math.max(a[0],a[2])),e):(f=Math.max(Math.min(f,b[2]-a[0]-a[2]),e),b[1]+=(a[0]-a[2])/2),f<b[2]?(b[2]=f,b[3]=Math.min(y(c.innerSize||0,f),f),this.translate(b),this.drawDataLabels&&
+this.drawDataLabels()):h=!0);return h});h.column&&(h.column.prototype.alignDataLabel=function(a,d,e,f,h){var b=this.chart.inverted,l=a.series,m=a.dlBox||a.shapeArgs,k=w(a.below,a.plotY>w(this.translatedThreshold,l.yAxis.len)),n=w(e.inside,!!this.options.stacking);m&&(f=x(m),0>f.y&&(f.height+=f.y,f.y=0),m=f.y+f.height-l.yAxis.len,0<m&&(f.height-=m),b&&(f={x:l.yAxis.len-f.y-f.height,y:l.xAxis.len-f.x-f.width,width:f.height,height:f.width}),n||(b?(f.x+=k?0:f.width,f.width=0):(f.y+=k?f.height:0,f.height=
+0)));e.align=w(e.align,!b||n?"center":k?"right":"left");e.verticalAlign=w(e.verticalAlign,b||n?"middle":k?"top":"bottom");c.prototype.alignDataLabel.call(this,a,d,e,f,h);a.isLabelJustified&&a.contrastColor&&d.css({color:a.contrastColor})})})(K);(function(a){var C=a.Chart,F=a.each,I=a.isArray,n=a.objectEach,f=a.pick;a=a.addEvent;a(C,"render",function(){var a=[];F(this.labelCollectors||[],function(e){a=a.concat(e())});F(this.yAxis||[],function(e){e.options.stackLabels&&!e.options.stackLabels.allowOverlap&&
+n(e.stacks,function(e){n(e,function(e){a.push(e.label)})})});F(this.series||[],function(e){var n=e.options.dataLabels;e.visible&&(!1!==n.enabled||e._hasPointLabels)&&F(e.points,function(e){if(e.visible){var n=I(e.dataLabels)?e.dataLabels:e.dataLabel?[e.dataLabel]:[];F(n,function(n){var c=n.options;n.labelrank=f(c.labelrank,e.labelrank,e.shapeArgs&&e.shapeArgs.height);c.allowOverlap||a.push(n)})}})});this.hideOverlappingLabels(a)});C.prototype.hideOverlappingLabels=function(a){var e=a.length,f=this.renderer,
+n,w,y,c,h,p,k=function(a,c,b,e,f,h,k,n){return!(f>a+b||f+k<a||h>c+e||h+n<c)};y=function(a){var c,b,e,h=a.box?0:a.padding||0;e=0;if(a&&(!a.alignAttr||a.placed))return c=a.alignAttr||{x:a.attr("x"),y:a.attr("y")},b=a.parentGroup,a.width||(e=a.getBBox(),a.width=e.width,a.height=e.height,e=f.fontMetrics(null,a.element).h),{x:c.x+(b.translateX||0)+h,y:c.y+(b.translateY||0)+h-e,width:a.width-2*h,height:a.height-2*h}};for(w=0;w<e;w++)if(n=a[w])n.oldOpacity=n.opacity,n.newOpacity=1,n.absoluteBox=y(n);a.sort(function(a,
+c){return(c.labelrank||0)-(a.labelrank||0)});for(w=0;w<e;w++)for(p=(y=a[w])&&y.absoluteBox,n=w+1;n<e;++n)if(h=(c=a[n])&&c.absoluteBox,p&&h&&y!==c&&0!==y.newOpacity&&0!==c.newOpacity&&(h=k(p.x,p.y,p.width,p.height,h.x,h.y,h.width,h.height)))(y.labelrank<c.labelrank?y:c).newOpacity=0;F(a,function(a){var c,b;a&&(b=a.newOpacity,a.oldOpacity!==b&&(a.alignAttr&&a.placed?(b?a.show(!0):c=function(){a.hide()},a.alignAttr.opacity=b,a[a.isOld?"animate":"attr"](a.alignAttr,null,c)):a.attr({opacity:b})),a.isOld=
+!0)})}})(K);(function(a){var C=a.addEvent,F=a.Chart,I=a.createElement,n=a.css,f=a.defaultOptions,e=a.defaultPlotOptions,u=a.each,x=a.extend,t=a.fireEvent,w=a.hasTouch,y=a.inArray,c=a.isObject,h=a.Legend,p=a.merge,k=a.pick,q=a.Point,d=a.Series,b=a.seriesTypes,v=a.svg,J;J=a.TrackerMixin={drawTrackerPoint:function(){var a=this,b=a.chart.pointer,c=function(a){var c=b.getPointFromEvent(a);void 0!==c&&(b.isDirectTouch=!0,c.onMouseOver(a))};u(a.points,function(a){a.graphic&&(a.graphic.element.point=a);a.dataLabel&&
+(a.dataLabel.div?a.dataLabel.div.point=a:a.dataLabel.element.point=a)});a._hasTracking||(u(a.trackerGroups,function(d){if(a[d]){a[d].addClass("highcharts-tracker").on("mouseover",c).on("mouseout",function(a){b.onTrackerMouseOut(a)});if(w)a[d].on("touchstart",c);a.options.cursor&&a[d].css(n).css({cursor:a.options.cursor})}}),a._hasTracking=!0);t(this,"afterDrawTracker")},drawTrackerGraph:function(){var a=this,b=a.options,c=b.trackByArea,d=[].concat(c?a.areaPath:a.graphPath),e=d.length,f=a.chart,h=
+f.pointer,k=f.renderer,n=f.options.tooltip.snap,g=a.tracker,q,p=function(){if(f.hoverSeries!==a)a.onMouseOver()},x="rgba(192,192,192,"+(v?.0001:.002)+")";if(e&&!c)for(q=e+1;q--;)"M"===d[q]&&d.splice(q+1,0,d[q+1]-n,d[q+2],"L"),(q&&"M"===d[q]||q===e)&&d.splice(q,0,"L",d[q-2]+n,d[q-1]);g?g.attr({d:d}):a.graph&&(a.tracker=k.path(d).attr({"stroke-linejoin":"round",stroke:x,fill:c?x:"none","stroke-width":a.graph.strokeWidth()+(c?0:2*n),visibility:a.visible?"visible":"hidden",zIndex:2}).addClass(c?"highcharts-tracker-area":
+"highcharts-tracker-line").add(a.group),u([a.tracker,a.markerGroup],function(a){a.addClass("highcharts-tracker").on("mouseover",p).on("mouseout",function(a){h.onTrackerMouseOut(a)});b.cursor&&a.css({cursor:b.cursor});if(w)a.on("touchstart",p)}));t(this,"afterDrawTracker")}};b.column&&(b.column.prototype.drawTracker=J.drawTrackerPoint);b.pie&&(b.pie.prototype.drawTracker=J.drawTrackerPoint);b.scatter&&(b.scatter.prototype.drawTracker=J.drawTrackerPoint);f.legend.itemStyle.cursor="pointer";x(h.prototype,
+{setItemEvents:function(a,b,c){var d=this,e=d.chart.renderer.boxWrapper,f="highcharts-legend-"+(a instanceof q?"point":"series")+"-active";(c?b:a.legendGroup).on("mouseover",function(){a.setState("hover");e.addClass(f);b.css(d.options.itemHoverStyle)}).on("mouseout",function(){b.css(p(a.visible?d.itemStyle:d.itemHiddenStyle));e.removeClass(f);a.setState()}).on("click",function(b){var c=function(){a.setVisible&&a.setVisible()};e.removeClass(f);b={browserEvent:b};a.firePointEvent?a.firePointEvent("legendItemClick",
+b,c):t(a,"legendItemClick",b,c)})},createCheckboxForItem:function(a){a.checkbox=I("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:a.selected,defaultChecked:a.selected},this.options.itemCheckboxStyle,this.chart.container);C(a.checkbox,"click",function(b){t(a.series||a,"checkboxClick",{checked:b.target.checked,item:a},function(){a.select()})})}});x(F.prototype,{showResetZoom:function(){function a(){b.zoomOut()}var b=this,c=f.lang,d=b.options.chart.resetZoomButton,e=d.theme,h=
+e.states,k="chart"===d.relativeTo?null:"plotBox";t(this,"beforeShowResetZoom",null,function(){b.resetZoomButton=b.renderer.button(c.resetZoom,null,null,a,e,h&&h.hover).attr({align:d.position.align,title:c.resetZoomTitle}).addClass("highcharts-reset-zoom").add().align(d.position,!1,k)})},zoomOut:function(){t(this,"selection",{resetSelection:!0},this.zoom)},zoom:function(a){var b,d=this.pointer,e=!1,f;!a||a.resetSelection?(u(this.axes,function(a){b=a.zoom()}),d.initiated=!1):u(a.xAxis.concat(a.yAxis),
+function(a){var c=a.axis;d[c.isXAxis?"zoomX":"zoomY"]&&(b=c.zoom(a.min,a.max),c.displayBtn&&(e=!0))});f=this.resetZoomButton;e&&!f?this.showResetZoom():!e&&c(f)&&(this.resetZoomButton=f.destroy());b&&this.redraw(k(this.options.chart.animation,a&&a.animation,100>this.pointCount))},pan:function(a,b){var c=this,d=c.hoverPoints,e;d&&u(d,function(a){a.setState()});u("xy"===b?[1,0]:[1],function(b){b=c[b?"xAxis":"yAxis"][0];var d=b.horiz,f=a[d?"chartX":"chartY"],d=d?"mouseDownX":"mouseDownY",h=c[d],g=(b.pointRange||
+0)/2,l=b.reversed&&!c.inverted||!b.reversed&&c.inverted?-1:1,m=b.getExtremes(),k=b.toValue(h-f,!0)+g*l,l=b.toValue(h+b.len-f,!0)-g*l,n=l<k,h=n?l:k,k=n?k:l,l=Math.min(m.dataMin,g?m.min:b.toValue(b.toPixels(m.min)-b.minPixelPadding)),g=Math.max(m.dataMax,g?m.max:b.toValue(b.toPixels(m.max)+b.minPixelPadding)),n=l-h;0<n&&(k+=n,h=l);n=k-g;0<n&&(k=g,h-=n);b.series.length&&h!==m.min&&k!==m.max&&(b.setExtremes(h,k,!1,!1,{trigger:"pan"}),e=!0);c[d]=f});e&&c.redraw(!1);n(c.container,{cursor:"move"})}});x(q.prototype,
+{select:function(a,b){var c=this,d=c.series,e=d.chart;a=k(a,!c.selected);c.firePointEvent(a?"select":"unselect",{accumulate:b},function(){c.selected=c.options.selected=a;d.options.data[y(c,d.data)]=c.options;c.setState(a&&"select");b||u(e.getSelectedPoints(),function(a){a.selected&&a!==c&&(a.selected=a.options.selected=!1,d.options.data[y(a,d.data)]=a.options,a.setState(""),a.firePointEvent("unselect"))})})},onMouseOver:function(a){var b=this.series.chart,c=b.pointer;a=a?c.normalize(a):c.getChartCoordinatesFromPoint(this,
+b.inverted);c.runPointActions(a,this)},onMouseOut:function(){var a=this.series.chart;this.firePointEvent("mouseOut");u(a.hoverPoints||[],function(a){a.setState()});a.hoverPoints=a.hoverPoint=null},importEvents:function(){if(!this.hasImportedEvents){var b=this,c=p(b.series.options.point,b.options).events;b.events=c;a.objectEach(c,function(a,c){C(b,c,a)});this.hasImportedEvents=!0}},setState:function(a,b){var c=Math.floor(this.plotX),d=this.plotY,f=this.series,h=f.options.states[a||"normal"]||{},l=
+e[f.type].marker&&f.options.marker,n=l&&!1===l.enabled,q=l&&l.states&&l.states[a||"normal"]||{},g=!1===q.enabled,p=f.stateMarkerGraphic,v=this.marker||{},u=f.chart,w=f.halo,y,C=l&&f.markerAttribs;a=a||"";if(!(a===this.state&&!b||this.selected&&"select"!==a||!1===h.enabled||a&&(g||n&&!1===q.enabled)||a&&v.states&&v.states[a]&&!1===v.states[a].enabled)){C&&(y=f.markerAttribs(this,a));if(this.graphic)this.state&&this.graphic.removeClass("highcharts-point-"+this.state),a&&this.graphic.addClass("highcharts-point-"+
+a),this.graphic.animate(f.pointAttribs(this,a),k(u.options.chart.animation,h.animation)),y&&this.graphic.animate(y,k(u.options.chart.animation,q.animation,l.animation)),p&&p.hide();else{if(a&&q){l=v.symbol||f.symbol;p&&p.currentSymbol!==l&&(p=p.destroy());if(p)p[b?"animate":"attr"]({x:y.x,y:y.y});else l&&(f.stateMarkerGraphic=p=u.renderer.symbol(l,y.x,y.y,y.width,y.height).add(f.markerGroup),p.currentSymbol=l);p&&p.attr(f.pointAttribs(this,a))}p&&(p[a&&u.isInsidePlot(c,d,u.inverted)?"show":"hide"](),
+p.element.point=this)}(c=h.halo)&&c.size?(w||(f.halo=w=u.renderer.path().add((this.graphic||p).parentGroup)),w.show()[b?"animate":"attr"]({d:this.haloPath(c.size)}),w.attr({"class":"highcharts-halo highcharts-color-"+k(this.colorIndex,f.colorIndex)+(this.className?" "+this.className:""),zIndex:-1}),w.point=this,w.attr(x({fill:this.color||f.color,"fill-opacity":c.opacity},c.attributes))):w&&w.point&&w.point.haloPath&&w.animate({d:w.point.haloPath(0)},null,w.hide);this.state=a;t(this,"afterSetState")}},
+haloPath:function(a){return this.series.chart.renderer.symbols.circle(Math.floor(this.plotX)-a,this.plotY-a,2*a,2*a)}});x(d.prototype,{onMouseOver:function(){var a=this.chart,b=a.hoverSeries;if(b&&b!==this)b.onMouseOut();this.options.events.mouseOver&&t(this,"mouseOver");this.setState("hover");a.hoverSeries=this},onMouseOut:function(){var a=this.options,b=this.chart,c=b.tooltip,d=b.hoverPoint;b.hoverSeries=null;if(d)d.onMouseOut();this&&a.events.mouseOut&&t(this,"mouseOut");!c||this.stickyTracking||
+c.shared&&!this.noSharedTooltip||c.hide();this.setState()},setState:function(a){var b=this,c=b.options,d=b.graph,e=c.states,f=c.lineWidth,c=0;a=a||"";if(b.state!==a&&(u([b.group,b.markerGroup,b.dataLabelsGroup],function(c){c&&(b.state&&c.removeClass("highcharts-series-"+b.state),a&&c.addClass("highcharts-series-"+a))}),b.state=a,!e[a]||!1!==e[a].enabled)&&(a&&(f=e[a].lineWidth||f+(e[a].lineWidthPlus||0)),d&&!d.dashstyle))for(f={"stroke-width":f},d.animate(f,k(e[a||"normal"]&&e[a||"normal"].animation,
+b.chart.options.chart.animation));b["zone-graph-"+c];)b["zone-graph-"+c].attr(f),c+=1},setVisible:function(a,b){var c=this,d=c.chart,e=c.legendItem,f,h=d.options.chart.ignoreHiddenSeries,k=c.visible;f=(c.visible=a=c.options.visible=c.userOptions.visible=void 0===a?!k:a)?"show":"hide";u(["group","dataLabelsGroup","markerGroup","tracker","tt"],function(a){if(c[a])c[a][f]()});if(d.hoverSeries===c||(d.hoverPoint&&d.hoverPoint.series)===c)c.onMouseOut();e&&d.legend.colorizeItem(c,a);c.isDirty=!0;c.options.stacking&&
+u(d.series,function(a){a.options.stacking&&a.visible&&(a.isDirty=!0)});u(c.linkedSeries,function(b){b.setVisible(a,!1)});h&&(d.isDirtyBox=!0);t(c,f);!1!==b&&d.redraw()},show:function(){this.setVisible(!0)},hide:function(){this.setVisible(!1)},select:function(a){this.selected=a=void 0===a?!this.selected:a;this.checkbox&&(this.checkbox.checked=a);t(this,a?"select":"unselect")},drawTracker:J.drawTrackerGraph})})(K);(function(a){var C=a.Chart,F=a.each,I=a.inArray,n=a.isArray,f=a.isObject,e=a.pick,u=a.splat;
+C.prototype.setResponsive=function(e){var f=this.options.responsive,n=[],u=this.currentResponsive;f&&f.rules&&F(f.rules,function(c){void 0===c._id&&(c._id=a.uniqueKey());this.matchResponsiveRule(c,n,e)},this);var c=a.merge.apply(0,a.map(n,function(c){return a.find(f.rules,function(a){return a._id===c}).chartOptions})),n=n.toString()||void 0;n!==(u&&u.ruleIds)&&(u&&this.update(u.undoOptions,e),n?(this.currentResponsive={ruleIds:n,mergedOptions:c,undoOptions:this.currentOptions(c)},this.update(c,e)):
+this.currentResponsive=void 0)};C.prototype.matchResponsiveRule=function(a,f){var n=a.condition;(n.callback||function(){return this.chartWidth<=e(n.maxWidth,Number.MAX_VALUE)&&this.chartHeight<=e(n.maxHeight,Number.MAX_VALUE)&&this.chartWidth>=e(n.minWidth,0)&&this.chartHeight>=e(n.minHeight,0)}).call(this)&&f.push(a._id)};C.prototype.currentOptions=function(e){function t(e,c,h,p){var k;a.objectEach(e,function(a,d){if(!p&&-1<I(d,["series","xAxis","yAxis"]))for(a=u(a),h[d]=[],k=0;k<a.length;k++)c[d][k]&&
+(h[d][k]={},t(a[k],c[d][k],h[d][k],p+1));else f(a)?(h[d]=n(a)?[]:{},t(a,c[d]||{},h[d],p+1)):h[d]=c[d]||null})}var w={};t(e,this.options,w,0);return w}})(K);return K});
+//# sourceMappingURL=highcharts.js.map
diff --git a/zy-acs-cv/src/main/webapp/static/js/handlebars/handlebars-v4.5.3.js b/zy-acs-cv/src/main/webapp/static/js/handlebars/handlebars-v4.5.3.js
new file mode 100644
index 0000000..d1322a7
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/js/handlebars/handlebars-v4.5.3.js
@@ -0,0 +1,6536 @@
+/**!
+
+ @license
+ handlebars v4.5.3
+
+ Copyright (C) 2011-2017 by Yehuda Katz
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ THE SOFTWARE.
+
+ */
+(function webpackUniversalModuleDefinition(root, factory) {
+    if (typeof exports === 'object' && typeof module === 'object')
+        module.exports = factory();
+    else if (typeof define === 'function' && define.amd)
+        define([], factory);
+    else if (typeof exports === 'object')
+        exports["Handlebars"] = factory();
+    else
+        root["Handlebars"] = factory();
+})(this, function () {
+    return /******/ (function (modules) { // webpackBootstrap
+        /******/ 	// The module cache
+        /******/
+        var installedModules = {};
+
+        /******/ 	// The require function
+        /******/
+        function __webpack_require__(moduleId) {
+
+            /******/ 		// Check if module is in cache
+            /******/
+            if (installedModules[moduleId])
+                /******/            return installedModules[moduleId].exports;
+
+            /******/ 		// Create a new module (and put it into the cache)
+            /******/
+            var module = installedModules[moduleId] = {
+                /******/            exports: {},
+                /******/            id: moduleId,
+                /******/            loaded: false
+                /******/
+            };
+
+            /******/ 		// Execute the module function
+            /******/
+            modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
+
+            /******/ 		// Flag the module as loaded
+            /******/
+            module.loaded = true;
+
+            /******/ 		// Return the exports of the module
+            /******/
+            return module.exports;
+            /******/
+        }
+
+
+        /******/ 	// expose the modules object (__webpack_modules__)
+        /******/
+        __webpack_require__.m = modules;
+
+        /******/ 	// expose the module cache
+        /******/
+        __webpack_require__.c = installedModules;
+
+        /******/ 	// __webpack_public_path__
+        /******/
+        __webpack_require__.p = "";
+
+        /******/ 	// Load entry module and return exports
+        /******/
+        return __webpack_require__(0);
+        /******/
+    })
+        /************************************************************************/
+        /******/ ([
+            /* 0 */
+            /***/ (function (module, exports, __webpack_require__) {
+
+                'use strict';
+
+                var _interopRequireDefault = __webpack_require__(1)['default'];
+
+                exports.__esModule = true;
+
+                var _handlebarsRuntime = __webpack_require__(2);
+
+                var _handlebarsRuntime2 = _interopRequireDefault(_handlebarsRuntime);
+
+                // Compiler imports
+
+                var _handlebarsCompilerAst = __webpack_require__(40);
+
+                var _handlebarsCompilerAst2 = _interopRequireDefault(_handlebarsCompilerAst);
+
+                var _handlebarsCompilerBase = __webpack_require__(41);
+
+                var _handlebarsCompilerCompiler = __webpack_require__(46);
+
+                var _handlebarsCompilerJavascriptCompiler = __webpack_require__(49);
+
+                var _handlebarsCompilerJavascriptCompiler2 = _interopRequireDefault(_handlebarsCompilerJavascriptCompiler);
+
+                var _handlebarsCompilerVisitor = __webpack_require__(44);
+
+                var _handlebarsCompilerVisitor2 = _interopRequireDefault(_handlebarsCompilerVisitor);
+
+                var _handlebarsNoConflict = __webpack_require__(39);
+
+                var _handlebarsNoConflict2 = _interopRequireDefault(_handlebarsNoConflict);
+
+                var _create = _handlebarsRuntime2['default'].create;
+
+                function create() {
+                    var hb = _create();
+
+                    hb.compile = function (input, options) {
+                        return _handlebarsCompilerCompiler.compile(input, options, hb);
+                    };
+                    hb.precompile = function (input, options) {
+                        return _handlebarsCompilerCompiler.precompile(input, options, hb);
+                    };
+
+                    hb.AST = _handlebarsCompilerAst2['default'];
+                    hb.Compiler = _handlebarsCompilerCompiler.Compiler;
+                    hb.JavaScriptCompiler = _handlebarsCompilerJavascriptCompiler2['default'];
+                    hb.Parser = _handlebarsCompilerBase.parser;
+                    hb.parse = _handlebarsCompilerBase.parse;
+                    hb.parseWithoutProcessing = _handlebarsCompilerBase.parseWithoutProcessing;
+
+                    return hb;
+                }
+
+                var inst = create();
+                inst.create = create;
+
+                _handlebarsNoConflict2['default'](inst);
+
+                inst.Visitor = _handlebarsCompilerVisitor2['default'];
+
+                inst['default'] = inst;
+
+                exports['default'] = inst;
+                module.exports = exports['default'];
+
+                /***/
+            }),
+            /* 1 */
+            /***/ (function (module, exports) {
+
+                "use strict";
+
+                exports["default"] = function (obj) {
+                    return obj && obj.__esModule ? obj : {
+                        "default": obj
+                    };
+                };
+
+                exports.__esModule = true;
+
+                /***/
+            }),
+            /* 2 */
+            /***/ (function (module, exports, __webpack_require__) {
+
+                'use strict';
+
+                var _interopRequireWildcard = __webpack_require__(3)['default'];
+
+                var _interopRequireDefault = __webpack_require__(1)['default'];
+
+                exports.__esModule = true;
+
+                var _handlebarsBase = __webpack_require__(4);
+
+                var base = _interopRequireWildcard(_handlebarsBase);
+
+                // Each of these augment the Handlebars object. No need to setup here.
+                // (This is done to easily share code between commonjs and browse envs)
+
+                var _handlebarsSafeString = __webpack_require__(33);
+
+                var _handlebarsSafeString2 = _interopRequireDefault(_handlebarsSafeString);
+
+                var _handlebarsException = __webpack_require__(6);
+
+                var _handlebarsException2 = _interopRequireDefault(_handlebarsException);
+
+                var _handlebarsUtils = __webpack_require__(5);
+
+                var Utils = _interopRequireWildcard(_handlebarsUtils);
+
+                var _handlebarsRuntime = __webpack_require__(34);
+
+                var runtime = _interopRequireWildcard(_handlebarsRuntime);
+
+                var _handlebarsNoConflict = __webpack_require__(39);
+
+                var _handlebarsNoConflict2 = _interopRequireDefault(_handlebarsNoConflict);
+
+                // For compatibility and usage outside of module systems, make the Handlebars object a namespace
+                function create() {
+                    var hb = new base.HandlebarsEnvironment();
+
+                    Utils.extend(hb, base);
+                    hb.SafeString = _handlebarsSafeString2['default'];
+                    hb.Exception = _handlebarsException2['default'];
+                    hb.Utils = Utils;
+                    hb.escapeExpression = Utils.escapeExpression;
+
+                    hb.VM = runtime;
+                    hb.template = function (spec) {
+                        return runtime.template(spec, hb);
+                    };
+
+                    return hb;
+                }
+
+                var inst = create();
+                inst.create = create;
+
+                _handlebarsNoConflict2['default'](inst);
+
+                inst['default'] = inst;
+
+                exports['default'] = inst;
+                module.exports = exports['default'];
+
+                /***/
+            }),
+            /* 3 */
+            /***/ (function (module, exports) {
+
+                "use strict";
+
+                exports["default"] = function (obj) {
+                    if (obj && obj.__esModule) {
+                        return obj;
+                    } else {
+                        var newObj = {};
+
+                        if (obj != null) {
+                            for (var key in obj) {
+                                if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key];
+                            }
+                        }
+
+                        newObj["default"] = obj;
+                        return newObj;
+                    }
+                };
+
+                exports.__esModule = true;
+
+                /***/
+            }),
+            /* 4 */
+            /***/ (function (module, exports, __webpack_require__) {
+
+                'use strict';
+
+                var _interopRequireDefault = __webpack_require__(1)['default'];
+
+                exports.__esModule = true;
+                exports.HandlebarsEnvironment = HandlebarsEnvironment;
+
+                var _utils = __webpack_require__(5);
+
+                var _exception = __webpack_require__(6);
+
+                var _exception2 = _interopRequireDefault(_exception);
+
+                var _helpers = __webpack_require__(10);
+
+                var _decorators = __webpack_require__(30);
+
+                var _logger = __webpack_require__(32);
+
+                var _logger2 = _interopRequireDefault(_logger);
+
+                var VERSION = '4.5.3';
+                exports.VERSION = VERSION;
+                var COMPILER_REVISION = 8;
+                exports.COMPILER_REVISION = COMPILER_REVISION;
+                var LAST_COMPATIBLE_COMPILER_REVISION = 7;
+
+                exports.LAST_COMPATIBLE_COMPILER_REVISION = LAST_COMPATIBLE_COMPILER_REVISION;
+                var REVISION_CHANGES = {
+                    1: '<= 1.0.rc.2', // 1.0.rc.2 is actually rev2 but doesn't report it
+                    2: '== 1.0.0-rc.3',
+                    3: '== 1.0.0-rc.4',
+                    4: '== 1.x.x',
+                    5: '== 2.0.0-alpha.x',
+                    6: '>= 2.0.0-beta.1',
+                    7: '>= 4.0.0 <4.3.0',
+                    8: '>= 4.3.0'
+                };
+
+                exports.REVISION_CHANGES = REVISION_CHANGES;
+                var objectType = '[object Object]';
+
+                function HandlebarsEnvironment(helpers, partials, decorators) {
+                    this.helpers = helpers || {};
+                    this.partials = partials || {};
+                    this.decorators = decorators || {};
+
+                    _helpers.registerDefaultHelpers(this);
+                    _decorators.registerDefaultDecorators(this);
+                }
+
+                HandlebarsEnvironment.prototype = {
+                    constructor: HandlebarsEnvironment,
+
+                    logger: _logger2['default'],
+                    log: _logger2['default'].log,
+
+                    registerHelper: function registerHelper(name, fn) {
+                        if (_utils.toString.call(name) === objectType) {
+                            if (fn) {
+                                throw new _exception2['default']('Arg not supported with multiple helpers');
+                            }
+                            _utils.extend(this.helpers, name);
+                        } else {
+                            this.helpers[name] = fn;
+                        }
+                    },
+                    unregisterHelper: function unregisterHelper(name) {
+                        delete this.helpers[name];
+                    },
+
+                    registerPartial: function registerPartial(name, partial) {
+                        if (_utils.toString.call(name) === objectType) {
+                            _utils.extend(this.partials, name);
+                        } else {
+                            if (typeof partial === 'undefined') {
+                                throw new _exception2['default']('Attempting to register a partial called "' + name + '" as undefined');
+                            }
+                            this.partials[name] = partial;
+                        }
+                    },
+                    unregisterPartial: function unregisterPartial(name) {
+                        delete this.partials[name];
+                    },
+
+                    registerDecorator: function registerDecorator(name, fn) {
+                        if (_utils.toString.call(name) === objectType) {
+                            if (fn) {
+                                throw new _exception2['default']('Arg not supported with multiple decorators');
+                            }
+                            _utils.extend(this.decorators, name);
+                        } else {
+                            this.decorators[name] = fn;
+                        }
+                    },
+                    unregisterDecorator: function unregisterDecorator(name) {
+                        delete this.decorators[name];
+                    }
+                };
+
+                var log = _logger2['default'].log;
+
+                exports.log = log;
+                exports.createFrame = _utils.createFrame;
+                exports.logger = _logger2['default'];
+
+                /***/
+            }),
+            /* 5 */
+            /***/ (function (module, exports) {
+
+                'use strict';
+
+                exports.__esModule = true;
+                exports.extend = extend;
+                exports.indexOf = indexOf;
+                exports.escapeExpression = escapeExpression;
+                exports.isEmpty = isEmpty;
+                exports.createFrame = createFrame;
+                exports.blockParams = blockParams;
+                exports.appendContextPath = appendContextPath;
+
+                var escape = {
+                    '&': '&amp;',
+                    '<': '&lt;',
+                    '>': '&gt;',
+                    '"': '&quot;',
+                    "'": '&#x27;',
+                    '`': '&#x60;',
+                    '=': '&#x3D;'
+                };
+
+                var badChars = /[&<>"'`=]/g,
+                    possible = /[&<>"'`=]/;
+
+                function escapeChar(chr) {
+                    return escape[chr];
+                }
+
+                function extend(obj /* , ...source */) {
+                    for (var i = 1; i < arguments.length; i++) {
+                        for (var key in arguments[i]) {
+                            if (Object.prototype.hasOwnProperty.call(arguments[i], key)) {
+                                obj[key] = arguments[i][key];
+                            }
+                        }
+                    }
+
+                    return obj;
+                }
+
+                var toString = Object.prototype.toString;
+
+                exports.toString = toString;
+                // Sourced from lodash
+                // https://github.com/bestiejs/lodash/blob/master/LICENSE.txt
+                /* eslint-disable func-style */
+                var isFunction = function isFunction(value) {
+                    return typeof value === 'function';
+                };
+                // fallback for older versions of Chrome and Safari
+                /* istanbul ignore next */
+                if (isFunction(/x/)) {
+                    exports.isFunction = isFunction = function (value) {
+                        return typeof value === 'function' && toString.call(value) === '[object Function]';
+                    };
+                }
+                exports.isFunction = isFunction;
+
+                /* eslint-enable func-style */
+
+                /* istanbul ignore next */
+                var isArray = Array.isArray || function (value) {
+                    return value && typeof value === 'object' ? toString.call(value) === '[object Array]' : false;
+                };
+
+                exports.isArray = isArray;
+
+                // Older IE versions do not directly support indexOf so we must implement our own, sadly.
+
+                function indexOf(array, value) {
+                    for (var i = 0, len = array.length; i < len; i++) {
+                        if (array[i] === value) {
+                            return i;
+                        }
+                    }
+                    return -1;
+                }
+
+                function escapeExpression(string) {
+                    if (typeof string !== 'string') {
+                        // don't escape SafeStrings, since they're already safe
+                        if (string && string.toHTML) {
+                            return string.toHTML();
+                        } else if (string == null) {
+                            return '';
+                        } else if (!string) {
+                            return string + '';
+                        }
+
+                        // Force a string conversion as this will be done by the append regardless and
+                        // the regex test will do this transparently behind the scenes, causing issues if
+                        // an object's to string has escaped characters in it.
+                        string = '' + string;
+                    }
+
+                    if (!possible.test(string)) {
+                        return string;
+                    }
+                    return string.replace(badChars, escapeChar);
+                }
+
+                function isEmpty(value) {
+                    if (!value && value !== 0) {
+                        return true;
+                    } else if (isArray(value) && value.length === 0) {
+                        return true;
+                    } else {
+                        return false;
+                    }
+                }
+
+                function createFrame(object) {
+                    var frame = extend({}, object);
+                    frame._parent = object;
+                    return frame;
+                }
+
+                function blockParams(params, ids) {
+                    params.path = ids;
+                    return params;
+                }
+
+                function appendContextPath(contextPath, id) {
+                    return (contextPath ? contextPath + '.' : '') + id;
+                }
+
+                /***/
+            }),
+            /* 6 */
+            /***/ (function (module, exports, __webpack_require__) {
+
+                'use strict';
+
+                var _Object$defineProperty = __webpack_require__(7)['default'];
+
+                exports.__esModule = true;
+
+                var errorProps = ['description', 'fileName', 'lineNumber', 'endLineNumber', 'message', 'name', 'number', 'stack'];
+
+                function Exception(message, node) {
+                    var loc = node && node.loc,
+                        line = undefined,
+                        endLineNumber = undefined,
+                        column = undefined,
+                        endColumn = undefined;
+
+                    if (loc) {
+                        line = loc.start.line;
+                        endLineNumber = loc.end.line;
+                        column = loc.start.column;
+                        endColumn = loc.end.column;
+
+                        message += ' - ' + line + ':' + column;
+                    }
+
+                    var tmp = Error.prototype.constructor.call(this, message);
+
+                    // Unfortunately errors are not enumerable in Chrome (at least), so `for prop in tmp` doesn't work.
+                    for (var idx = 0; idx < errorProps.length; idx++) {
+                        this[errorProps[idx]] = tmp[errorProps[idx]];
+                    }
+
+                    /* istanbul ignore else */
+                    if (Error.captureStackTrace) {
+                        Error.captureStackTrace(this, Exception);
+                    }
+
+                    try {
+                        if (loc) {
+                            this.lineNumber = line;
+                            this.endLineNumber = endLineNumber;
+
+                            // Work around issue under safari where we can't directly set the column value
+                            /* istanbul ignore next */
+                            if (_Object$defineProperty) {
+                                Object.defineProperty(this, 'column', {
+                                    value: column,
+                                    enumerable: true
+                                });
+                                Object.defineProperty(this, 'endColumn', {
+                                    value: endColumn,
+                                    enumerable: true
+                                });
+                            } else {
+                                this.column = column;
+                                this.endColumn = endColumn;
+                            }
+                        }
+                    } catch (nop) {
+                        /* Ignore if the browser is very particular */
+                    }
+                }
+
+                Exception.prototype = new Error();
+
+                exports['default'] = Exception;
+                module.exports = exports['default'];
+
+                /***/
+            }),
+            /* 7 */
+            /***/ (function (module, exports, __webpack_require__) {
+
+                module.exports = {"default": __webpack_require__(8), __esModule: true};
+
+                /***/
+            }),
+            /* 8 */
+            /***/ (function (module, exports, __webpack_require__) {
+
+                var $ = __webpack_require__(9);
+                module.exports = function defineProperty(it, key, desc) {
+                    return $.setDesc(it, key, desc);
+                };
+
+                /***/
+            }),
+            /* 9 */
+            /***/ (function (module, exports) {
+
+                var $Object = Object;
+                module.exports = {
+                    create: $Object.create,
+                    getProto: $Object.getPrototypeOf,
+                    isEnum: {}.propertyIsEnumerable,
+                    getDesc: $Object.getOwnPropertyDescriptor,
+                    setDesc: $Object.defineProperty,
+                    setDescs: $Object.defineProperties,
+                    getKeys: $Object.keys,
+                    getNames: $Object.getOwnPropertyNames,
+                    getSymbols: $Object.getOwnPropertySymbols,
+                    each: [].forEach
+                };
+
+                /***/
+            }),
+            /* 10 */
+            /***/ (function (module, exports, __webpack_require__) {
+
+                'use strict';
+
+                var _interopRequireDefault = __webpack_require__(1)['default'];
+
+                exports.__esModule = true;
+                exports.registerDefaultHelpers = registerDefaultHelpers;
+                exports.moveHelperToHooks = moveHelperToHooks;
+
+                var _helpersBlockHelperMissing = __webpack_require__(11);
+
+                var _helpersBlockHelperMissing2 = _interopRequireDefault(_helpersBlockHelperMissing);
+
+                var _helpersEach = __webpack_require__(12);
+
+                var _helpersEach2 = _interopRequireDefault(_helpersEach);
+
+                var _helpersHelperMissing = __webpack_require__(25);
+
+                var _helpersHelperMissing2 = _interopRequireDefault(_helpersHelperMissing);
+
+                var _helpersIf = __webpack_require__(26);
+
+                var _helpersIf2 = _interopRequireDefault(_helpersIf);
+
+                var _helpersLog = __webpack_require__(27);
+
+                var _helpersLog2 = _interopRequireDefault(_helpersLog);
+
+                var _helpersLookup = __webpack_require__(28);
+
+                var _helpersLookup2 = _interopRequireDefault(_helpersLookup);
+
+                var _helpersWith = __webpack_require__(29);
+
+                var _helpersWith2 = _interopRequireDefault(_helpersWith);
+
+                function registerDefaultHelpers(instance) {
+                    _helpersBlockHelperMissing2['default'](instance);
+                    _helpersEach2['default'](instance);
+                    _helpersHelperMissing2['default'](instance);
+                    _helpersIf2['default'](instance);
+                    _helpersLog2['default'](instance);
+                    _helpersLookup2['default'](instance);
+                    _helpersWith2['default'](instance);
+                }
+
+                function moveHelperToHooks(instance, helperName, keepHelper) {
+                    if (instance.helpers[helperName]) {
+                        instance.hooks[helperName] = instance.helpers[helperName];
+                        if (!keepHelper) {
+                            delete instance.helpers[helperName];
+                        }
+                    }
+                }
+
+                /***/
+            }),
+            /* 11 */
+            /***/ (function (module, exports, __webpack_require__) {
+
+                'use strict';
+
+                exports.__esModule = true;
+
+                var _utils = __webpack_require__(5);
+
+                exports['default'] = function (instance) {
+                    instance.registerHelper('blockHelperMissing', function (context, options) {
+                        var inverse = options.inverse,
+                            fn = options.fn;
+
+                        if (context === true) {
+                            return fn(this);
+                        } else if (context === false || context == null) {
+                            return inverse(this);
+                        } else if (_utils.isArray(context)) {
+                            if (context.length > 0) {
+                                if (options.ids) {
+                                    options.ids = [options.name];
+                                }
+
+                                return instance.helpers.each(context, options);
+                            } else {
+                                return inverse(this);
+                            }
+                        } else {
+                            if (options.data && options.ids) {
+                                var data = _utils.createFrame(options.data);
+                                data.contextPath = _utils.appendContextPath(options.data.contextPath, options.name);
+                                options = {data: data};
+                            }
+
+                            return fn(context, options);
+                        }
+                    });
+                };
+
+                module.exports = exports['default'];
+
+                /***/
+            }),
+            /* 12 */
+            /***/ (function (module, exports, __webpack_require__) {
+
+                /* WEBPACK VAR INJECTION */
+                (function (global) {
+                    'use strict';
+
+                    var _Object$keys = __webpack_require__(13)['default'];
+
+                    var _interopRequireDefault = __webpack_require__(1)['default'];
+
+                    exports.__esModule = true;
+
+                    var _utils = __webpack_require__(5);
+
+                    var _exception = __webpack_require__(6);
+
+                    var _exception2 = _interopRequireDefault(_exception);
+
+                    exports['default'] = function (instance) {
+                        instance.registerHelper('each', function (context, options) {
+                            if (!options) {
+                                throw new _exception2['default']('Must pass iterator to #each');
+                            }
+
+                            var fn = options.fn,
+                                inverse = options.inverse,
+                                i = 0,
+                                ret = '',
+                                data = undefined,
+                                contextPath = undefined;
+
+                            if (options.data && options.ids) {
+                                contextPath = _utils.appendContextPath(options.data.contextPath, options.ids[0]) + '.';
+                            }
+
+                            if (_utils.isFunction(context)) {
+                                context = context.call(this);
+                            }
+
+                            if (options.data) {
+                                data = _utils.createFrame(options.data);
+                            }
+
+                            function execIteration(field, index, last) {
+                                if (data) {
+                                    data.key = field;
+                                    data.index = index;
+                                    data.first = index === 0;
+                                    data.last = !!last;
+
+                                    if (contextPath) {
+                                        data.contextPath = contextPath + field;
+                                    }
+                                }
+
+                                ret = ret + fn(context[field], {
+                                    data: data,
+                                    blockParams: _utils.blockParams([context[field], field], [contextPath + field, null])
+                                });
+                            }
+
+                            if (context && typeof context === 'object') {
+                                if (_utils.isArray(context)) {
+                                    for (var j = context.length; i < j; i++) {
+                                        if (i in context) {
+                                            execIteration(i, i, i === context.length - 1);
+                                        }
+                                    }
+                                } else if (global.Symbol && context[global.Symbol.iterator]) {
+                                    var newContext = [];
+                                    var iterator = context[global.Symbol.iterator]();
+                                    for (var it = iterator.next(); !it.done; it = iterator.next()) {
+                                        newContext.push(it.value);
+                                    }
+                                    context = newContext;
+                                    for (var j = context.length; i < j; i++) {
+                                        execIteration(i, i, i === context.length - 1);
+                                    }
+                                } else {
+                                    (function () {
+                                        var priorKey = undefined;
+
+                                        _Object$keys(context).forEach(function (key) {
+                                            // We're running the iterations one step out of sync so we can detect
+                                            // the last iteration without have to scan the object twice and create
+                                            // an itermediate keys array.
+                                            if (priorKey !== undefined) {
+                                                execIteration(priorKey, i - 1);
+                                            }
+                                            priorKey = key;
+                                            i++;
+                                        });
+                                        if (priorKey !== undefined) {
+                                            execIteration(priorKey, i - 1, true);
+                                        }
+                                    })();
+                                }
+                            }
+
+                            if (i === 0) {
+                                ret = inverse(this);
+                            }
+
+                            return ret;
+                        });
+                    };
+
+                    module.exports = exports['default'];
+                    /* WEBPACK VAR INJECTION */
+                }.call(exports, (function () {
+                    return this;
+                }())))
+
+                /***/
+            }),
+            /* 13 */
+            /***/ (function (module, exports, __webpack_require__) {
+
+                module.exports = {"default": __webpack_require__(14), __esModule: true};
+
+                /***/
+            }),
+            /* 14 */
+            /***/ (function (module, exports, __webpack_require__) {
+
+                __webpack_require__(15);
+                module.exports = __webpack_require__(21).Object.keys;
+
+                /***/
+            }),
+            /* 15 */
+            /***/ (function (module, exports, __webpack_require__) {
+
+                // 19.1.2.14 Object.keys(O)
+                var toObject = __webpack_require__(16);
+
+                __webpack_require__(18)('keys', function ($keys) {
+                    return function keys(it) {
+                        return $keys(toObject(it));
+                    };
+                });
+
+                /***/
+            }),
+            /* 16 */
+            /***/ (function (module, exports, __webpack_require__) {
+
+                // 7.1.13 ToObject(argument)
+                var defined = __webpack_require__(17);
+                module.exports = function (it) {
+                    return Object(defined(it));
+                };
+
+                /***/
+            }),
+            /* 17 */
+            /***/ (function (module, exports) {
+
+                // 7.2.1 RequireObjectCoercible(argument)
+                module.exports = function (it) {
+                    if (it == undefined) throw TypeError("Can't call method on  " + it);
+                    return it;
+                };
+
+                /***/
+            }),
+            /* 18 */
+            /***/ (function (module, exports, __webpack_require__) {
+
+                // most Object methods by ES6 should accept primitives
+                var $export = __webpack_require__(19)
+                    , core = __webpack_require__(21)
+                    , fails = __webpack_require__(24);
+                module.exports = function (KEY, exec) {
+                    var fn = (core.Object || {})[KEY] || Object[KEY]
+                        , exp = {};
+                    exp[KEY] = exec(fn);
+                    $export($export.S + $export.F * fails(function () {
+                        fn(1);
+                    }), 'Object', exp);
+                };
+
+                /***/
+            }),
+            /* 19 */
+            /***/ (function (module, exports, __webpack_require__) {
+
+                var global = __webpack_require__(20)
+                    , core = __webpack_require__(21)
+                    , ctx = __webpack_require__(22)
+                    , PROTOTYPE = 'prototype';
+
+                var $export = function (type, name, source) {
+                    var IS_FORCED = type & $export.F
+                        , IS_GLOBAL = type & $export.G
+                        , IS_STATIC = type & $export.S
+                        , IS_PROTO = type & $export.P
+                        , IS_BIND = type & $export.B
+                        , IS_WRAP = type & $export.W
+                        , exports = IS_GLOBAL ? core : core[name] || (core[name] = {})
+                        , target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE]
+                        , key, own, out;
+                    if (IS_GLOBAL) source = name;
+                    for (key in source) {
+                        // contains in native
+                        own = !IS_FORCED && target && key in target;
+                        if (own && key in exports) continue;
+                        // export native or passed
+                        out = own ? target[key] : source[key];
+                        // prevent global pollution for namespaces
+                        exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]
+                            // bind timers to global for call from export context
+                            : IS_BIND && own ? ctx(out, global)
+                                // wrap global constructors for prevent change them in library
+                                : IS_WRAP && target[key] == out ? (function (C) {
+                                    var F = function (param) {
+                                        return this instanceof C ? new C(param) : C(param);
+                                    };
+                                    F[PROTOTYPE] = C[PROTOTYPE];
+                                    return F;
+                                    // make static versions for prototype methods
+                                })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;
+                        if (IS_PROTO) (exports[PROTOTYPE] || (exports[PROTOTYPE] = {}))[key] = out;
+                    }
+                };
+                // type bitmap
+                $export.F = 1;  // forced
+                $export.G = 2;  // global
+                $export.S = 4;  // static
+                $export.P = 8;  // proto
+                $export.B = 16; // bind
+                $export.W = 32; // wrap
+                module.exports = $export;
+
+                /***/
+            }),
+            /* 20 */
+            /***/ (function (module, exports) {
+
+                // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
+                var global = module.exports = typeof window != 'undefined' && window.Math == Math
+                    ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();
+                if (typeof __g == 'number') __g = global; // eslint-disable-line no-undef
+
+                /***/
+            }),
+            /* 21 */
+            /***/ (function (module, exports) {
+
+                var core = module.exports = {version: '1.2.6'};
+                if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef
+
+                /***/
+            }),
+            /* 22 */
+            /***/ (function (module, exports, __webpack_require__) {
+
+                // optional / simple context binding
+                var aFunction = __webpack_require__(23);
+                module.exports = function (fn, that, length) {
+                    aFunction(fn);
+                    if (that === undefined) return fn;
+                    switch (length) {
+                        case 1:
+                            return function (a) {
+                                return fn.call(that, a);
+                            };
+                        case 2:
+                            return function (a, b) {
+                                return fn.call(that, a, b);
+                            };
+                        case 3:
+                            return function (a, b, c) {
+                                return fn.call(that, a, b, c);
+                            };
+                    }
+                    return function (/* ...args */) {
+                        return fn.apply(that, arguments);
+                    };
+                };
+
+                /***/
+            }),
+            /* 23 */
+            /***/ (function (module, exports) {
+
+                module.exports = function (it) {
+                    if (typeof it != 'function') throw TypeError(it + ' is not a function!');
+                    return it;
+                };
+
+                /***/
+            }),
+            /* 24 */
+            /***/ (function (module, exports) {
+
+                module.exports = function (exec) {
+                    try {
+                        return !!exec();
+                    } catch (e) {
+                        return true;
+                    }
+                };
+
+                /***/
+            }),
+            /* 25 */
+            /***/ (function (module, exports, __webpack_require__) {
+
+                'use strict';
+
+                var _interopRequireDefault = __webpack_require__(1)['default'];
+
+                exports.__esModule = true;
+
+                var _exception = __webpack_require__(6);
+
+                var _exception2 = _interopRequireDefault(_exception);
+
+                exports['default'] = function (instance) {
+                    instance.registerHelper('helperMissing', function () /* [args, ]options */ {
+                        if (arguments.length === 1) {
+                            // A missing field in a {{foo}} construct.
+                            return undefined;
+                        } else {
+                            // Someone is actually trying to call something, blow up.
+                            throw new _exception2['default']('Missing helper: "' + arguments[arguments.length - 1].name + '"');
+                        }
+                    });
+                };
+
+                module.exports = exports['default'];
+
+                /***/
+            }),
+            /* 26 */
+            /***/ (function (module, exports, __webpack_require__) {
+
+                'use strict';
+
+                var _interopRequireDefault = __webpack_require__(1)['default'];
+
+                exports.__esModule = true;
+
+                var _utils = __webpack_require__(5);
+
+                var _exception = __webpack_require__(6);
+
+                var _exception2 = _interopRequireDefault(_exception);
+
+                exports['default'] = function (instance) {
+                    instance.registerHelper('if', function (conditional, options) {
+                        if (arguments.length != 2) {
+                            throw new _exception2['default']('#if requires exactly one argument');
+                        }
+                        if (_utils.isFunction(conditional)) {
+                            conditional = conditional.call(this);
+                        }
+
+                        // Default behavior is to render the positive path if the value is truthy and not empty.
+                        // The `includeZero` option may be set to treat the condtional as purely not empty based on the
+                        // behavior of isEmpty. Effectively this determines if 0 is handled by the positive path or negative.
+                        if (!options.hash.includeZero && !conditional || _utils.isEmpty(conditional)) {
+                            return options.inverse(this);
+                        } else {
+                            return options.fn(this);
+                        }
+                    });
+
+                    instance.registerHelper('unless', function (conditional, options) {
+                        if (arguments.length != 2) {
+                            throw new _exception2['default']('#unless requires exactly one argument');
+                        }
+                        return instance.helpers['if'].call(this, conditional, {
+                            fn: options.inverse,
+                            inverse: options.fn,
+                            hash: options.hash
+                        });
+                    });
+                };
+
+                module.exports = exports['default'];
+
+                /***/
+            }),
+            /* 27 */
+            /***/ (function (module, exports) {
+
+                'use strict';
+
+                exports.__esModule = true;
+
+                exports['default'] = function (instance) {
+                    instance.registerHelper('log', function () /* message, options */ {
+                        var args = [undefined],
+                            options = arguments[arguments.length - 1];
+                        for (var i = 0; i < arguments.length - 1; i++) {
+                            args.push(arguments[i]);
+                        }
+
+                        var level = 1;
+                        if (options.hash.level != null) {
+                            level = options.hash.level;
+                        } else if (options.data && options.data.level != null) {
+                            level = options.data.level;
+                        }
+                        args[0] = level;
+
+                        instance.log.apply(instance, args);
+                    });
+                };
+
+                module.exports = exports['default'];
+
+                /***/
+            }),
+            /* 28 */
+            /***/ (function (module, exports) {
+
+                'use strict';
+
+                exports.__esModule = true;
+                var dangerousPropertyRegex = /^(constructor|__defineGetter__|__defineSetter__|__lookupGetter__|__proto__)$/;
+
+                exports.dangerousPropertyRegex = dangerousPropertyRegex;
+
+                exports['default'] = function (instance) {
+                    instance.registerHelper('lookup', function (obj, field) {
+                        if (!obj) {
+                            return obj;
+                        }
+                        if (dangerousPropertyRegex.test(String(field)) && !Object.prototype.propertyIsEnumerable.call(obj, field)) {
+                            return undefined;
+                        }
+                        return obj[field];
+                    });
+                };
+
+                /***/
+            }),
+            /* 29 */
+            /***/ (function (module, exports, __webpack_require__) {
+
+                'use strict';
+
+                var _interopRequireDefault = __webpack_require__(1)['default'];
+
+                exports.__esModule = true;
+
+                var _utils = __webpack_require__(5);
+
+                var _exception = __webpack_require__(6);
+
+                var _exception2 = _interopRequireDefault(_exception);
+
+                exports['default'] = function (instance) {
+                    instance.registerHelper('with', function (context, options) {
+                        if (arguments.length != 2) {
+                            throw new _exception2['default']('#with requires exactly one argument');
+                        }
+                        if (_utils.isFunction(context)) {
+                            context = context.call(this);
+                        }
+
+                        var fn = options.fn;
+
+                        if (!_utils.isEmpty(context)) {
+                            var data = options.data;
+                            if (options.data && options.ids) {
+                                data = _utils.createFrame(options.data);
+                                data.contextPath = _utils.appendContextPath(options.data.contextPath, options.ids[0]);
+                            }
+
+                            return fn(context, {
+                                data: data,
+                                blockParams: _utils.blockParams([context], [data && data.contextPath])
+                            });
+                        } else {
+                            return options.inverse(this);
+                        }
+                    });
+                };
+
+                module.exports = exports['default'];
+
+                /***/
+            }),
+            /* 30 */
+            /***/ (function (module, exports, __webpack_require__) {
+
+                'use strict';
+
+                var _interopRequireDefault = __webpack_require__(1)['default'];
+
+                exports.__esModule = true;
+                exports.registerDefaultDecorators = registerDefaultDecorators;
+
+                var _decoratorsInline = __webpack_require__(31);
+
+                var _decoratorsInline2 = _interopRequireDefault(_decoratorsInline);
+
+                function registerDefaultDecorators(instance) {
+                    _decoratorsInline2['default'](instance);
+                }
+
+                /***/
+            }),
+            /* 31 */
+            /***/ (function (module, exports, __webpack_require__) {
+
+                'use strict';
+
+                exports.__esModule = true;
+
+                var _utils = __webpack_require__(5);
+
+                exports['default'] = function (instance) {
+                    instance.registerDecorator('inline', function (fn, props, container, options) {
+                        var ret = fn;
+                        if (!props.partials) {
+                            props.partials = {};
+                            ret = function (context, options) {
+                                // Create a new partials stack frame prior to exec.
+                                var original = container.partials;
+                                container.partials = _utils.extend({}, original, props.partials);
+                                var ret = fn(context, options);
+                                container.partials = original;
+                                return ret;
+                            };
+                        }
+
+                        props.partials[options.args[0]] = options.fn;
+
+                        return ret;
+                    });
+                };
+
+                module.exports = exports['default'];
+
+                /***/
+            }),
+            /* 32 */
+            /***/ (function (module, exports, __webpack_require__) {
+
+                'use strict';
+
+                exports.__esModule = true;
+
+                var _utils = __webpack_require__(5);
+
+                var logger = {
+                    methodMap: ['debug', 'info', 'warn', 'error'],
+                    level: 'info',
+
+                    // Maps a given level value to the `methodMap` indexes above.
+                    lookupLevel: function lookupLevel(level) {
+                        if (typeof level === 'string') {
+                            var levelMap = _utils.indexOf(logger.methodMap, level.toLowerCase());
+                            if (levelMap >= 0) {
+                                level = levelMap;
+                            } else {
+                                level = parseInt(level, 10);
+                            }
+                        }
+
+                        return level;
+                    },
+
+                    // Can be overridden in the host environment
+                    log: function log(level) {
+                        level = logger.lookupLevel(level);
+
+                        if (typeof console !== 'undefined' && logger.lookupLevel(logger.level) <= level) {
+                            var method = logger.methodMap[level];
+                            if (!console[method]) {
+                                // eslint-disable-line no-console
+                                method = 'log';
+                            }
+
+                            for (var _len = arguments.length, message = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
+                                message[_key - 1] = arguments[_key];
+                            }
+
+                            console[method].apply(console, message); // eslint-disable-line no-console
+                        }
+                    }
+                };
+
+                exports['default'] = logger;
+                module.exports = exports['default'];
+
+                /***/
+            }),
+            /* 33 */
+            /***/ (function (module, exports) {
+
+                // Build out our basic SafeString type
+                'use strict';
+
+                exports.__esModule = true;
+
+                function SafeString(string) {
+                    this.string = string;
+                }
+
+                SafeString.prototype.toString = SafeString.prototype.toHTML = function () {
+                    return '' + this.string;
+                };
+
+                exports['default'] = SafeString;
+                module.exports = exports['default'];
+
+                /***/
+            }),
+            /* 34 */
+            /***/ (function (module, exports, __webpack_require__) {
+
+                'use strict';
+
+                var _Object$seal = __webpack_require__(35)['default'];
+
+                var _interopRequireWildcard = __webpack_require__(3)['default'];
+
+                var _interopRequireDefault = __webpack_require__(1)['default'];
+
+                exports.__esModule = true;
+                exports.checkRevision = checkRevision;
+                exports.template = template;
+                exports.wrapProgram = wrapProgram;
+                exports.resolvePartial = resolvePartial;
+                exports.invokePartial = invokePartial;
+                exports.noop = noop;
+
+                var _utils = __webpack_require__(5);
+
+                var Utils = _interopRequireWildcard(_utils);
+
+                var _exception = __webpack_require__(6);
+
+                var _exception2 = _interopRequireDefault(_exception);
+
+                var _base = __webpack_require__(4);
+
+                var _helpers = __webpack_require__(10);
+
+                function checkRevision(compilerInfo) {
+                    var compilerRevision = compilerInfo && compilerInfo[0] || 1,
+                        currentRevision = _base.COMPILER_REVISION;
+
+                    if (compilerRevision >= _base.LAST_COMPATIBLE_COMPILER_REVISION && compilerRevision <= _base.COMPILER_REVISION) {
+                        return;
+                    }
+
+                    if (compilerRevision < _base.LAST_COMPATIBLE_COMPILER_REVISION) {
+                        var runtimeVersions = _base.REVISION_CHANGES[currentRevision],
+                            compilerVersions = _base.REVISION_CHANGES[compilerRevision];
+                        throw new _exception2['default']('Template was precompiled with an older version of Handlebars than the current runtime. ' + 'Please update your precompiler to a newer version (' + runtimeVersions + ') or downgrade your runtime to an older version (' + compilerVersions + ').');
+                    } else {
+                        // Use the embedded version info since the runtime doesn't know about this revision yet
+                        throw new _exception2['default']('Template was precompiled with a newer version of Handlebars than the current runtime. ' + 'Please update your runtime to a newer version (' + compilerInfo[1] + ').');
+                    }
+                }
+
+                function template(templateSpec, env) {
+
+                    /* istanbul ignore next */
+                    if (!env) {
+                        throw new _exception2['default']('No environment passed to template');
+                    }
+                    if (!templateSpec || !templateSpec.main) {
+                        throw new _exception2['default']('Unknown template object: ' + typeof templateSpec);
+                    }
+
+                    templateSpec.main.decorator = templateSpec.main_d;
+
+                    // Note: Using env.VM references rather than local var references throughout this section to allow
+                    // for external users to override these as pseudo-supported APIs.
+                    env.VM.checkRevision(templateSpec.compiler);
+
+                    // backwards compatibility for precompiled templates with compiler-version 7 (<4.3.0)
+                    var templateWasPrecompiledWithCompilerV7 = templateSpec.compiler && templateSpec.compiler[0] === 7;
+
+                    function invokePartialWrapper(partial, context, options) {
+                        if (options.hash) {
+                            context = Utils.extend({}, context, options.hash);
+                            if (options.ids) {
+                                options.ids[0] = true;
+                            }
+                        }
+                        partial = env.VM.resolvePartial.call(this, partial, context, options);
+
+                        var optionsWithHooks = Utils.extend({}, options, {hooks: this.hooks});
+
+                        var result = env.VM.invokePartial.call(this, partial, context, optionsWithHooks);
+
+                        if (result == null && env.compile) {
+                            options.partials[options.name] = env.compile(partial, templateSpec.compilerOptions, env);
+                            result = options.partials[options.name](context, optionsWithHooks);
+                        }
+                        if (result != null) {
+                            if (options.indent) {
+                                var lines = result.split('\n');
+                                for (var i = 0, l = lines.length; i < l; i++) {
+                                    if (!lines[i] && i + 1 === l) {
+                                        break;
+                                    }
+
+                                    lines[i] = options.indent + lines[i];
+                                }
+                                result = lines.join('\n');
+                            }
+                            return result;
+                        } else {
+                            throw new _exception2['default']('The partial ' + options.name + ' could not be compiled when running in runtime-only mode');
+                        }
+                    }
+
+                    // Just add water
+                    var container = {
+                        strict: function strict(obj, name, loc) {
+                            if (!obj || !(name in obj)) {
+                                throw new _exception2['default']('"' + name + '" not defined in ' + obj, {loc: loc});
+                            }
+                            return obj[name];
+                        },
+                        lookup: function lookup(depths, name) {
+                            var len = depths.length;
+                            for (var i = 0; i < len; i++) {
+                                if (depths[i] && depths[i][name] != null) {
+                                    return depths[i][name];
+                                }
+                            }
+                        },
+                        lambda: function lambda(current, context) {
+                            return typeof current === 'function' ? current.call(context) : current;
+                        },
+
+                        escapeExpression: Utils.escapeExpression,
+                        invokePartial: invokePartialWrapper,
+
+                        fn: function fn(i) {
+                            var ret = templateSpec[i];
+                            ret.decorator = templateSpec[i + '_d'];
+                            return ret;
+                        },
+
+                        programs: [],
+                        program: function program(i, data, declaredBlockParams, blockParams, depths) {
+                            var programWrapper = this.programs[i],
+                                fn = this.fn(i);
+                            if (data || depths || blockParams || declaredBlockParams) {
+                                programWrapper = wrapProgram(this, i, fn, data, declaredBlockParams, blockParams, depths);
+                            } else if (!programWrapper) {
+                                programWrapper = this.programs[i] = wrapProgram(this, i, fn);
+                            }
+                            return programWrapper;
+                        },
+
+                        data: function data(value, depth) {
+                            while (value && depth--) {
+                                value = value._parent;
+                            }
+                            return value;
+                        },
+                        // An empty object to use as replacement for null-contexts
+                        nullContext: _Object$seal({}),
+
+                        noop: env.VM.noop,
+                        compilerInfo: templateSpec.compiler
+                    };
+
+                    function ret(context) {
+                        var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];
+
+                        var data = options.data;
+
+                        ret._setup(options);
+                        if (!options.partial && templateSpec.useData) {
+                            data = initData(context, data);
+                        }
+                        var depths = undefined,
+                            blockParams = templateSpec.useBlockParams ? [] : undefined;
+                        if (templateSpec.useDepths) {
+                            if (options.depths) {
+                                depths = context != options.depths[0] ? [context].concat(options.depths) : options.depths;
+                            } else {
+                                depths = [context];
+                            }
+                        }
+
+                        function main(context /*, options*/) {
+                            return '' + templateSpec.main(container, context, container.helpers, container.partials, data, blockParams, depths);
+                        }
+
+                        main = executeDecorators(templateSpec.main, main, container, options.depths || [], data, blockParams);
+                        return main(context, options);
+                    }
+
+                    ret.isTop = true;
+
+                    ret._setup = function (options) {
+                        if (!options.partial) {
+                            container.helpers = Utils.extend({}, env.helpers, options.helpers);
+
+                            if (templateSpec.usePartial) {
+                                container.partials = Utils.extend({}, env.partials, options.partials);
+                            }
+                            if (templateSpec.usePartial || templateSpec.useDecorators) {
+                                container.decorators = Utils.extend({}, env.decorators, options.decorators);
+                            }
+
+                            container.hooks = {};
+
+                            var keepHelperInHelpers = options.allowCallsToHelperMissing || templateWasPrecompiledWithCompilerV7;
+                            _helpers.moveHelperToHooks(container, 'helperMissing', keepHelperInHelpers);
+                            _helpers.moveHelperToHooks(container, 'blockHelperMissing', keepHelperInHelpers);
+                        } else {
+                            container.helpers = options.helpers;
+                            container.partials = options.partials;
+                            container.decorators = options.decorators;
+                            container.hooks = options.hooks;
+                        }
+                    };
+
+                    ret._child = function (i, data, blockParams, depths) {
+                        if (templateSpec.useBlockParams && !blockParams) {
+                            throw new _exception2['default']('must pass block params');
+                        }
+                        if (templateSpec.useDepths && !depths) {
+                            throw new _exception2['default']('must pass parent depths');
+                        }
+
+                        return wrapProgram(container, i, templateSpec[i], data, 0, blockParams, depths);
+                    };
+                    return ret;
+                }
+
+                function wrapProgram(container, i, fn, data, declaredBlockParams, blockParams, depths) {
+                    function prog(context) {
+                        var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];
+
+                        var currentDepths = depths;
+                        if (depths && context != depths[0] && !(context === container.nullContext && depths[0] === null)) {
+                            currentDepths = [context].concat(depths);
+                        }
+
+                        return fn(container, context, container.helpers, container.partials, options.data || data, blockParams && [options.blockParams].concat(blockParams), currentDepths);
+                    }
+
+                    prog = executeDecorators(fn, prog, container, depths, data, blockParams);
+
+                    prog.program = i;
+                    prog.depth = depths ? depths.length : 0;
+                    prog.blockParams = declaredBlockParams || 0;
+                    return prog;
+                }
+
+                /**
+                 * This is currently part of the official API, therefore implementation details should not be changed.
+                 */
+
+                function resolvePartial(partial, context, options) {
+                    if (!partial) {
+                        if (options.name === '@partial-block') {
+                            partial = options.data['partial-block'];
+                        } else {
+                            partial = options.partials[options.name];
+                        }
+                    } else if (!partial.call && !options.name) {
+                        // This is a dynamic partial that returned a string
+                        options.name = partial;
+                        partial = options.partials[partial];
+                    }
+                    return partial;
+                }
+
+                function invokePartial(partial, context, options) {
+                    // Use the current closure context to save the partial-block if this partial
+                    var currentPartialBlock = options.data && options.data['partial-block'];
+                    options.partial = true;
+                    if (options.ids) {
+                        options.data.contextPath = options.ids[0] || options.data.contextPath;
+                    }
+
+                    var partialBlock = undefined;
+                    if (options.fn && options.fn !== noop) {
+                        (function () {
+                            options.data = _base.createFrame(options.data);
+                            // Wrapper function to get access to currentPartialBlock from the closure
+                            var fn = options.fn;
+                            partialBlock = options.data['partial-block'] = function partialBlockWrapper(context) {
+                                var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];
+
+                                // Restore the partial-block from the closure for the execution of the block
+                                // i.e. the part inside the block of the partial call.
+                                options.data = _base.createFrame(options.data);
+                                options.data['partial-block'] = currentPartialBlock;
+                                return fn(context, options);
+                            };
+                            if (fn.partials) {
+                                options.partials = Utils.extend({}, options.partials, fn.partials);
+                            }
+                        })();
+                    }
+
+                    if (partial === undefined && partialBlock) {
+                        partial = partialBlock;
+                    }
+
+                    if (partial === undefined) {
+                        throw new _exception2['default']('The partial ' + options.name + ' could not be found');
+                    } else if (partial instanceof Function) {
+                        return partial(context, options);
+                    }
+                }
+
+                function noop() {
+                    return '';
+                }
+
+                function initData(context, data) {
+                    if (!data || !('root' in data)) {
+                        data = data ? _base.createFrame(data) : {};
+                        data.root = context;
+                    }
+                    return data;
+                }
+
+                function executeDecorators(fn, prog, container, depths, data, blockParams) {
+                    if (fn.decorator) {
+                        var props = {};
+                        prog = fn.decorator(prog, props, container, depths && depths[0], data, blockParams, depths);
+                        Utils.extend(prog, props);
+                    }
+                    return prog;
+                }
+
+                /***/
+            }),
+            /* 35 */
+            /***/ (function (module, exports, __webpack_require__) {
+
+                module.exports = {"default": __webpack_require__(36), __esModule: true};
+
+                /***/
+            }),
+            /* 36 */
+            /***/ (function (module, exports, __webpack_require__) {
+
+                __webpack_require__(37);
+                module.exports = __webpack_require__(21).Object.seal;
+
+                /***/
+            }),
+            /* 37 */
+            /***/ (function (module, exports, __webpack_require__) {
+
+                // 19.1.2.17 Object.seal(O)
+                var isObject = __webpack_require__(38);
+
+                __webpack_require__(18)('seal', function ($seal) {
+                    return function seal(it) {
+                        return $seal && isObject(it) ? $seal(it) : it;
+                    };
+                });
+
+                /***/
+            }),
+            /* 38 */
+            /***/ (function (module, exports) {
+
+                module.exports = function (it) {
+                    return typeof it === 'object' ? it !== null : typeof it === 'function';
+                };
+
+                /***/
+            }),
+            /* 39 */
+            /***/ (function (module, exports) {
+
+                /* WEBPACK VAR INJECTION */
+                (function (global) {/* global window */
+                    'use strict';
+
+                    exports.__esModule = true;
+
+                    exports['default'] = function (Handlebars) {
+                        /* istanbul ignore next */
+                        var root = typeof global !== 'undefined' ? global : window,
+                            $Handlebars = root.Handlebars;
+                        /* istanbul ignore next */
+                        Handlebars.noConflict = function () {
+                            if (root.Handlebars === Handlebars) {
+                                root.Handlebars = $Handlebars;
+                            }
+                            return Handlebars;
+                        };
+                    };
+
+                    module.exports = exports['default'];
+                    /* WEBPACK VAR INJECTION */
+                }.call(exports, (function () {
+                    return this;
+                }())))
+
+                /***/
+            }),
+            /* 40 */
+            /***/ (function (module, exports) {
+
+                'use strict';
+
+                exports.__esModule = true;
+                var AST = {
+                    // Public API used to evaluate derived attributes regarding AST nodes
+                    helpers: {
+                        // a mustache is definitely a helper if:
+                        // * it is an eligible helper, and
+                        // * it has at least one parameter or hash segment
+                        helperExpression: function helperExpression(node) {
+                            return node.type === 'SubExpression' || (node.type === 'MustacheStatement' || node.type === 'BlockStatement') && !!(node.params && node.params.length || node.hash);
+                        },
+
+                        scopedId: function scopedId(path) {
+                            return (/^\.|this\b/.test(path.original)
+                            );
+                        },
+
+                        // an ID is simple if it only has one part, and that part is not
+                        // `..` or `this`.
+                        simpleId: function simpleId(path) {
+                            return path.parts.length === 1 && !AST.helpers.scopedId(path) && !path.depth;
+                        }
+                    }
+                };
+
+                // Must be exported as an object rather than the root of the module as the jison lexer
+                // must modify the object to operate properly.
+                exports['default'] = AST;
+                module.exports = exports['default'];
+
+                /***/
+            }),
+            /* 41 */
+            /***/ (function (module, exports, __webpack_require__) {
+
+                'use strict';
+
+                var _interopRequireDefault = __webpack_require__(1)['default'];
+
+                var _interopRequireWildcard = __webpack_require__(3)['default'];
+
+                exports.__esModule = true;
+                exports.parseWithoutProcessing = parseWithoutProcessing;
+                exports.parse = parse;
+
+                var _parser = __webpack_require__(42);
+
+                var _parser2 = _interopRequireDefault(_parser);
+
+                var _whitespaceControl = __webpack_require__(43);
+
+                var _whitespaceControl2 = _interopRequireDefault(_whitespaceControl);
+
+                var _helpers = __webpack_require__(45);
+
+                var Helpers = _interopRequireWildcard(_helpers);
+
+                var _utils = __webpack_require__(5);
+
+                exports.parser = _parser2['default'];
+
+                var yy = {};
+                _utils.extend(yy, Helpers);
+
+                function parseWithoutProcessing(input, options) {
+                    // Just return if an already-compiled AST was passed in.
+                    if (input.type === 'Program') {
+                        return input;
+                    }
+
+                    _parser2['default'].yy = yy;
+
+                    // Altering the shared object here, but this is ok as parser is a sync operation
+                    yy.locInfo = function (locInfo) {
+                        return new yy.SourceLocation(options && options.srcName, locInfo);
+                    };
+
+                    var ast = _parser2['default'].parse(input);
+
+                    return ast;
+                }
+
+                function parse(input, options) {
+                    var ast = parseWithoutProcessing(input, options);
+                    var strip = new _whitespaceControl2['default'](options);
+
+                    return strip.accept(ast);
+                }
+
+                /***/
+            }),
+            /* 42 */
+            /***/ (function (module, exports) {
+
+                // File ignored in coverage tests via setting in .istanbul.yml
+                /* Jison generated parser */
+                "use strict";
+
+                exports.__esModule = true;
+                var handlebars = (function () {
+                    var parser = {
+                        trace: function trace() {
+                        },
+                        yy: {},
+                        symbols_: {
+                            "error": 2,
+                            "root": 3,
+                            "program": 4,
+                            "EOF": 5,
+                            "program_repetition0": 6,
+                            "statement": 7,
+                            "mustache": 8,
+                            "block": 9,
+                            "rawBlock": 10,
+                            "partial": 11,
+                            "partialBlock": 12,
+                            "content": 13,
+                            "COMMENT": 14,
+                            "CONTENT": 15,
+                            "openRawBlock": 16,
+                            "rawBlock_repetition0": 17,
+                            "END_RAW_BLOCK": 18,
+                            "OPEN_RAW_BLOCK": 19,
+                            "helperName": 20,
+                            "openRawBlock_repetition0": 21,
+                            "openRawBlock_option0": 22,
+                            "CLOSE_RAW_BLOCK": 23,
+                            "openBlock": 24,
+                            "block_option0": 25,
+                            "closeBlock": 26,
+                            "openInverse": 27,
+                            "block_option1": 28,
+                            "OPEN_BLOCK": 29,
+                            "openBlock_repetition0": 30,
+                            "openBlock_option0": 31,
+                            "openBlock_option1": 32,
+                            "CLOSE": 33,
+                            "OPEN_INVERSE": 34,
+                            "openInverse_repetition0": 35,
+                            "openInverse_option0": 36,
+                            "openInverse_option1": 37,
+                            "openInverseChain": 38,
+                            "OPEN_INVERSE_CHAIN": 39,
+                            "openInverseChain_repetition0": 40,
+                            "openInverseChain_option0": 41,
+                            "openInverseChain_option1": 42,
+                            "inverseAndProgram": 43,
+                            "INVERSE": 44,
+                            "inverseChain": 45,
+                            "inverseChain_option0": 46,
+                            "OPEN_ENDBLOCK": 47,
+                            "OPEN": 48,
+                            "mustache_repetition0": 49,
+                            "mustache_option0": 50,
+                            "OPEN_UNESCAPED": 51,
+                            "mustache_repetition1": 52,
+                            "mustache_option1": 53,
+                            "CLOSE_UNESCAPED": 54,
+                            "OPEN_PARTIAL": 55,
+                            "partialName": 56,
+                            "partial_repetition0": 57,
+                            "partial_option0": 58,
+                            "openPartialBlock": 59,
+                            "OPEN_PARTIAL_BLOCK": 60,
+                            "openPartialBlock_repetition0": 61,
+                            "openPartialBlock_option0": 62,
+                            "param": 63,
+                            "sexpr": 64,
+                            "OPEN_SEXPR": 65,
+                            "sexpr_repetition0": 66,
+                            "sexpr_option0": 67,
+                            "CLOSE_SEXPR": 68,
+                            "hash": 69,
+                            "hash_repetition_plus0": 70,
+                            "hashSegment": 71,
+                            "ID": 72,
+                            "EQUALS": 73,
+                            "blockParams": 74,
+                            "OPEN_BLOCK_PARAMS": 75,
+                            "blockParams_repetition_plus0": 76,
+                            "CLOSE_BLOCK_PARAMS": 77,
+                            "path": 78,
+                            "dataName": 79,
+                            "STRING": 80,
+                            "NUMBER": 81,
+                            "BOOLEAN": 82,
+                            "UNDEFINED": 83,
+                            "NULL": 84,
+                            "DATA": 85,
+                            "pathSegments": 86,
+                            "SEP": 87,
+                            "$accept": 0,
+                            "$end": 1
+                        },
+                        terminals_: {
+                            2: "error",
+                            5: "EOF",
+                            14: "COMMENT",
+                            15: "CONTENT",
+                            18: "END_RAW_BLOCK",
+                            19: "OPEN_RAW_BLOCK",
+                            23: "CLOSE_RAW_BLOCK",
+                            29: "OPEN_BLOCK",
+                            33: "CLOSE",
+                            34: "OPEN_INVERSE",
+                            39: "OPEN_INVERSE_CHAIN",
+                            44: "INVERSE",
+                            47: "OPEN_ENDBLOCK",
+                            48: "OPEN",
+                            51: "OPEN_UNESCAPED",
+                            54: "CLOSE_UNESCAPED",
+                            55: "OPEN_PARTIAL",
+                            60: "OPEN_PARTIAL_BLOCK",
+                            65: "OPEN_SEXPR",
+                            68: "CLOSE_SEXPR",
+                            72: "ID",
+                            73: "EQUALS",
+                            75: "OPEN_BLOCK_PARAMS",
+                            77: "CLOSE_BLOCK_PARAMS",
+                            80: "STRING",
+                            81: "NUMBER",
+                            82: "BOOLEAN",
+                            83: "UNDEFINED",
+                            84: "NULL",
+                            85: "DATA",
+                            87: "SEP"
+                        },
+                        productions_: [0, [3, 2], [4, 1], [7, 1], [7, 1], [7, 1], [7, 1], [7, 1], [7, 1], [7, 1], [13, 1], [10, 3], [16, 5], [9, 4], [9, 4], [24, 6], [27, 6], [38, 6], [43, 2], [45, 3], [45, 1], [26, 3], [8, 5], [8, 5], [11, 5], [12, 3], [59, 5], [63, 1], [63, 1], [64, 5], [69, 1], [71, 3], [74, 3], [20, 1], [20, 1], [20, 1], [20, 1], [20, 1], [20, 1], [20, 1], [56, 1], [56, 1], [79, 2], [78, 1], [86, 3], [86, 1], [6, 0], [6, 2], [17, 0], [17, 2], [21, 0], [21, 2], [22, 0], [22, 1], [25, 0], [25, 1], [28, 0], [28, 1], [30, 0], [30, 2], [31, 0], [31, 1], [32, 0], [32, 1], [35, 0], [35, 2], [36, 0], [36, 1], [37, 0], [37, 1], [40, 0], [40, 2], [41, 0], [41, 1], [42, 0], [42, 1], [46, 0], [46, 1], [49, 0], [49, 2], [50, 0], [50, 1], [52, 0], [52, 2], [53, 0], [53, 1], [57, 0], [57, 2], [58, 0], [58, 1], [61, 0], [61, 2], [62, 0], [62, 1], [66, 0], [66, 2], [67, 0], [67, 1], [70, 1], [70, 2], [76, 1], [76, 2]],
+                        performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {
+
+                            var $0 = $$.length - 1;
+                            switch (yystate) {
+                                case 1:
+                                    return $$[$0 - 1];
+                                    break;
+                                case 2:
+                                    this.$ = yy.prepareProgram($$[$0]);
+                                    break;
+                                case 3:
+                                    this.$ = $$[$0];
+                                    break;
+                                case 4:
+                                    this.$ = $$[$0];
+                                    break;
+                                case 5:
+                                    this.$ = $$[$0];
+                                    break;
+                                case 6:
+                                    this.$ = $$[$0];
+                                    break;
+                                case 7:
+                                    this.$ = $$[$0];
+                                    break;
+                                case 8:
+                                    this.$ = $$[$0];
+                                    break;
+                                case 9:
+                                    this.$ = {
+                                        type: 'CommentStatement',
+                                        value: yy.stripComment($$[$0]),
+                                        strip: yy.stripFlags($$[$0], $$[$0]),
+                                        loc: yy.locInfo(this._$)
+                                    };
+
+                                    break;
+                                case 10:
+                                    this.$ = {
+                                        type: 'ContentStatement',
+                                        original: $$[$0],
+                                        value: $$[$0],
+                                        loc: yy.locInfo(this._$)
+                                    };
+
+                                    break;
+                                case 11:
+                                    this.$ = yy.prepareRawBlock($$[$0 - 2], $$[$0 - 1], $$[$0], this._$);
+                                    break;
+                                case 12:
+                                    this.$ = {path: $$[$0 - 3], params: $$[$0 - 2], hash: $$[$0 - 1]};
+                                    break;
+                                case 13:
+                                    this.$ = yy.prepareBlock($$[$0 - 3], $$[$0 - 2], $$[$0 - 1], $$[$0], false, this._$);
+                                    break;
+                                case 14:
+                                    this.$ = yy.prepareBlock($$[$0 - 3], $$[$0 - 2], $$[$0 - 1], $$[$0], true, this._$);
+                                    break;
+                                case 15:
+                                    this.$ = {
+                                        open: $$[$0 - 5],
+                                        path: $$[$0 - 4],
+                                        params: $$[$0 - 3],
+                                        hash: $$[$0 - 2],
+                                        blockParams: $$[$0 - 1],
+                                        strip: yy.stripFlags($$[$0 - 5], $$[$0])
+                                    };
+                                    break;
+                                case 16:
+                                    this.$ = {
+                                        path: $$[$0 - 4],
+                                        params: $$[$0 - 3],
+                                        hash: $$[$0 - 2],
+                                        blockParams: $$[$0 - 1],
+                                        strip: yy.stripFlags($$[$0 - 5], $$[$0])
+                                    };
+                                    break;
+                                case 17:
+                                    this.$ = {
+                                        path: $$[$0 - 4],
+                                        params: $$[$0 - 3],
+                                        hash: $$[$0 - 2],
+                                        blockParams: $$[$0 - 1],
+                                        strip: yy.stripFlags($$[$0 - 5], $$[$0])
+                                    };
+                                    break;
+                                case 18:
+                                    this.$ = {strip: yy.stripFlags($$[$0 - 1], $$[$0 - 1]), program: $$[$0]};
+                                    break;
+                                case 19:
+                                    var inverse = yy.prepareBlock($$[$0 - 2], $$[$0 - 1], $$[$0], $$[$0], false, this._$),
+                                        program = yy.prepareProgram([inverse], $$[$0 - 1].loc);
+                                    program.chained = true;
+
+                                    this.$ = {strip: $$[$0 - 2].strip, program: program, chain: true};
+
+                                    break;
+                                case 20:
+                                    this.$ = $$[$0];
+                                    break;
+                                case 21:
+                                    this.$ = {path: $$[$0 - 1], strip: yy.stripFlags($$[$0 - 2], $$[$0])};
+                                    break;
+                                case 22:
+                                    this.$ = yy.prepareMustache($$[$0 - 3], $$[$0 - 2], $$[$0 - 1], $$[$0 - 4], yy.stripFlags($$[$0 - 4], $$[$0]), this._$);
+                                    break;
+                                case 23:
+                                    this.$ = yy.prepareMustache($$[$0 - 3], $$[$0 - 2], $$[$0 - 1], $$[$0 - 4], yy.stripFlags($$[$0 - 4], $$[$0]), this._$);
+                                    break;
+                                case 24:
+                                    this.$ = {
+                                        type: 'PartialStatement',
+                                        name: $$[$0 - 3],
+                                        params: $$[$0 - 2],
+                                        hash: $$[$0 - 1],
+                                        indent: '',
+                                        strip: yy.stripFlags($$[$0 - 4], $$[$0]),
+                                        loc: yy.locInfo(this._$)
+                                    };
+
+                                    break;
+                                case 25:
+                                    this.$ = yy.preparePartialBlock($$[$0 - 2], $$[$0 - 1], $$[$0], this._$);
+                                    break;
+                                case 26:
+                                    this.$ = {
+                                        path: $$[$0 - 3],
+                                        params: $$[$0 - 2],
+                                        hash: $$[$0 - 1],
+                                        strip: yy.stripFlags($$[$0 - 4], $$[$0])
+                                    };
+                                    break;
+                                case 27:
+                                    this.$ = $$[$0];
+                                    break;
+                                case 28:
+                                    this.$ = $$[$0];
+                                    break;
+                                case 29:
+                                    this.$ = {
+                                        type: 'SubExpression',
+                                        path: $$[$0 - 3],
+                                        params: $$[$0 - 2],
+                                        hash: $$[$0 - 1],
+                                        loc: yy.locInfo(this._$)
+                                    };
+
+                                    break;
+                                case 30:
+                                    this.$ = {type: 'Hash', pairs: $$[$0], loc: yy.locInfo(this._$)};
+                                    break;
+                                case 31:
+                                    this.$ = {
+                                        type: 'HashPair',
+                                        key: yy.id($$[$0 - 2]),
+                                        value: $$[$0],
+                                        loc: yy.locInfo(this._$)
+                                    };
+                                    break;
+                                case 32:
+                                    this.$ = yy.id($$[$0 - 1]);
+                                    break;
+                                case 33:
+                                    this.$ = $$[$0];
+                                    break;
+                                case 34:
+                                    this.$ = $$[$0];
+                                    break;
+                                case 35:
+                                    this.$ = {
+                                        type: 'StringLiteral',
+                                        value: $$[$0],
+                                        original: $$[$0],
+                                        loc: yy.locInfo(this._$)
+                                    };
+                                    break;
+                                case 36:
+                                    this.$ = {
+                                        type: 'NumberLiteral',
+                                        value: Number($$[$0]),
+                                        original: Number($$[$0]),
+                                        loc: yy.locInfo(this._$)
+                                    };
+                                    break;
+                                case 37:
+                                    this.$ = {
+                                        type: 'BooleanLiteral',
+                                        value: $$[$0] === 'true',
+                                        original: $$[$0] === 'true',
+                                        loc: yy.locInfo(this._$)
+                                    };
+                                    break;
+                                case 38:
+                                    this.$ = {
+                                        type: 'UndefinedLiteral',
+                                        original: undefined,
+                                        value: undefined,
+                                        loc: yy.locInfo(this._$)
+                                    };
+                                    break;
+                                case 39:
+                                    this.$ = {
+                                        type: 'NullLiteral',
+                                        original: null,
+                                        value: null,
+                                        loc: yy.locInfo(this._$)
+                                    };
+                                    break;
+                                case 40:
+                                    this.$ = $$[$0];
+                                    break;
+                                case 41:
+                                    this.$ = $$[$0];
+                                    break;
+                                case 42:
+                                    this.$ = yy.preparePath(true, $$[$0], this._$);
+                                    break;
+                                case 43:
+                                    this.$ = yy.preparePath(false, $$[$0], this._$);
+                                    break;
+                                case 44:
+                                    $$[$0 - 2].push({part: yy.id($$[$0]), original: $$[$0], separator: $$[$0 - 1]});
+                                    this.$ = $$[$0 - 2];
+                                    break;
+                                case 45:
+                                    this.$ = [{part: yy.id($$[$0]), original: $$[$0]}];
+                                    break;
+                                case 46:
+                                    this.$ = [];
+                                    break;
+                                case 47:
+                                    $$[$0 - 1].push($$[$0]);
+                                    break;
+                                case 48:
+                                    this.$ = [];
+                                    break;
+                                case 49:
+                                    $$[$0 - 1].push($$[$0]);
+                                    break;
+                                case 50:
+                                    this.$ = [];
+                                    break;
+                                case 51:
+                                    $$[$0 - 1].push($$[$0]);
+                                    break;
+                                case 58:
+                                    this.$ = [];
+                                    break;
+                                case 59:
+                                    $$[$0 - 1].push($$[$0]);
+                                    break;
+                                case 64:
+                                    this.$ = [];
+                                    break;
+                                case 65:
+                                    $$[$0 - 1].push($$[$0]);
+                                    break;
+                                case 70:
+                                    this.$ = [];
+                                    break;
+                                case 71:
+                                    $$[$0 - 1].push($$[$0]);
+                                    break;
+                                case 78:
+                                    this.$ = [];
+                                    break;
+                                case 79:
+                                    $$[$0 - 1].push($$[$0]);
+                                    break;
+                                case 82:
+                                    this.$ = [];
+                                    break;
+                                case 83:
+                                    $$[$0 - 1].push($$[$0]);
+                                    break;
+                                case 86:
+                                    this.$ = [];
+                                    break;
+                                case 87:
+                                    $$[$0 - 1].push($$[$0]);
+                                    break;
+                                case 90:
+                                    this.$ = [];
+                                    break;
+                                case 91:
+                                    $$[$0 - 1].push($$[$0]);
+                                    break;
+                                case 94:
+                                    this.$ = [];
+                                    break;
+                                case 95:
+                                    $$[$0 - 1].push($$[$0]);
+                                    break;
+                                case 98:
+                                    this.$ = [$$[$0]];
+                                    break;
+                                case 99:
+                                    $$[$0 - 1].push($$[$0]);
+                                    break;
+                                case 100:
+                                    this.$ = [$$[$0]];
+                                    break;
+                                case 101:
+                                    $$[$0 - 1].push($$[$0]);
+                                    break;
+                            }
+                        },
+                        table: [{
+                            3: 1,
+                            4: 2,
+                            5: [2, 46],
+                            6: 3,
+                            14: [2, 46],
+                            15: [2, 46],
+                            19: [2, 46],
+                            29: [2, 46],
+                            34: [2, 46],
+                            48: [2, 46],
+                            51: [2, 46],
+                            55: [2, 46],
+                            60: [2, 46]
+                        }, {1: [3]}, {5: [1, 4]}, {
+                            5: [2, 2],
+                            7: 5,
+                            8: 6,
+                            9: 7,
+                            10: 8,
+                            11: 9,
+                            12: 10,
+                            13: 11,
+                            14: [1, 12],
+                            15: [1, 20],
+                            16: 17,
+                            19: [1, 23],
+                            24: 15,
+                            27: 16,
+                            29: [1, 21],
+                            34: [1, 22],
+                            39: [2, 2],
+                            44: [2, 2],
+                            47: [2, 2],
+                            48: [1, 13],
+                            51: [1, 14],
+                            55: [1, 18],
+                            59: 19,
+                            60: [1, 24]
+                        }, {1: [2, 1]}, {
+                            5: [2, 47],
+                            14: [2, 47],
+                            15: [2, 47],
+                            19: [2, 47],
+                            29: [2, 47],
+                            34: [2, 47],
+                            39: [2, 47],
+                            44: [2, 47],
+                            47: [2, 47],
+                            48: [2, 47],
+                            51: [2, 47],
+                            55: [2, 47],
+                            60: [2, 47]
+                        }, {
+                            5: [2, 3],
+                            14: [2, 3],
+                            15: [2, 3],
+                            19: [2, 3],
+                            29: [2, 3],
+                            34: [2, 3],
+                            39: [2, 3],
+                            44: [2, 3],
+                            47: [2, 3],
+                            48: [2, 3],
+                            51: [2, 3],
+                            55: [2, 3],
+                            60: [2, 3]
+                        }, {
+                            5: [2, 4],
+                            14: [2, 4],
+                            15: [2, 4],
+                            19: [2, 4],
+                            29: [2, 4],
+                            34: [2, 4],
+                            39: [2, 4],
+                            44: [2, 4],
+                            47: [2, 4],
+                            48: [2, 4],
+                            51: [2, 4],
+                            55: [2, 4],
+                            60: [2, 4]
+                        }, {
+                            5: [2, 5],
+                            14: [2, 5],
+                            15: [2, 5],
+                            19: [2, 5],
+                            29: [2, 5],
+                            34: [2, 5],
+                            39: [2, 5],
+                            44: [2, 5],
+                            47: [2, 5],
+                            48: [2, 5],
+                            51: [2, 5],
+                            55: [2, 5],
+                            60: [2, 5]
+                        }, {
+                            5: [2, 6],
+                            14: [2, 6],
+                            15: [2, 6],
+                            19: [2, 6],
+                            29: [2, 6],
+                            34: [2, 6],
+                            39: [2, 6],
+                            44: [2, 6],
+                            47: [2, 6],
+                            48: [2, 6],
+                            51: [2, 6],
+                            55: [2, 6],
+                            60: [2, 6]
+                        }, {
+                            5: [2, 7],
+                            14: [2, 7],
+                            15: [2, 7],
+                            19: [2, 7],
+                            29: [2, 7],
+                            34: [2, 7],
+                            39: [2, 7],
+                            44: [2, 7],
+                            47: [2, 7],
+                            48: [2, 7],
+                            51: [2, 7],
+                            55: [2, 7],
+                            60: [2, 7]
+                        }, {
+                            5: [2, 8],
+                            14: [2, 8],
+                            15: [2, 8],
+                            19: [2, 8],
+                            29: [2, 8],
+                            34: [2, 8],
+                            39: [2, 8],
+                            44: [2, 8],
+                            47: [2, 8],
+                            48: [2, 8],
+                            51: [2, 8],
+                            55: [2, 8],
+                            60: [2, 8]
+                        }, {
+                            5: [2, 9],
+                            14: [2, 9],
+                            15: [2, 9],
+                            19: [2, 9],
+                            29: [2, 9],
+                            34: [2, 9],
+                            39: [2, 9],
+                            44: [2, 9],
+                            47: [2, 9],
+                            48: [2, 9],
+                            51: [2, 9],
+                            55: [2, 9],
+                            60: [2, 9]
+                        }, {
+                            20: 25,
+                            72: [1, 35],
+                            78: 26,
+                            79: 27,
+                            80: [1, 28],
+                            81: [1, 29],
+                            82: [1, 30],
+                            83: [1, 31],
+                            84: [1, 32],
+                            85: [1, 34],
+                            86: 33
+                        }, {
+                            20: 36,
+                            72: [1, 35],
+                            78: 26,
+                            79: 27,
+                            80: [1, 28],
+                            81: [1, 29],
+                            82: [1, 30],
+                            83: [1, 31],
+                            84: [1, 32],
+                            85: [1, 34],
+                            86: 33
+                        }, {
+                            4: 37,
+                            6: 3,
+                            14: [2, 46],
+                            15: [2, 46],
+                            19: [2, 46],
+                            29: [2, 46],
+                            34: [2, 46],
+                            39: [2, 46],
+                            44: [2, 46],
+                            47: [2, 46],
+                            48: [2, 46],
+                            51: [2, 46],
+                            55: [2, 46],
+                            60: [2, 46]
+                        }, {
+                            4: 38,
+                            6: 3,
+                            14: [2, 46],
+                            15: [2, 46],
+                            19: [2, 46],
+                            29: [2, 46],
+                            34: [2, 46],
+                            44: [2, 46],
+                            47: [2, 46],
+                            48: [2, 46],
+                            51: [2, 46],
+                            55: [2, 46],
+                            60: [2, 46]
+                        }, {15: [2, 48], 17: 39, 18: [2, 48]}, {
+                            20: 41,
+                            56: 40,
+                            64: 42,
+                            65: [1, 43],
+                            72: [1, 35],
+                            78: 26,
+                            79: 27,
+                            80: [1, 28],
+                            81: [1, 29],
+                            82: [1, 30],
+                            83: [1, 31],
+                            84: [1, 32],
+                            85: [1, 34],
+                            86: 33
+                        }, {
+                            4: 44,
+                            6: 3,
+                            14: [2, 46],
+                            15: [2, 46],
+                            19: [2, 46],
+                            29: [2, 46],
+                            34: [2, 46],
+                            47: [2, 46],
+                            48: [2, 46],
+                            51: [2, 46],
+                            55: [2, 46],
+                            60: [2, 46]
+                        }, {
+                            5: [2, 10],
+                            14: [2, 10],
+                            15: [2, 10],
+                            18: [2, 10],
+                            19: [2, 10],
+                            29: [2, 10],
+                            34: [2, 10],
+                            39: [2, 10],
+                            44: [2, 10],
+                            47: [2, 10],
+                            48: [2, 10],
+                            51: [2, 10],
+                            55: [2, 10],
+                            60: [2, 10]
+                        }, {
+                            20: 45,
+                            72: [1, 35],
+                            78: 26,
+                            79: 27,
+                            80: [1, 28],
+                            81: [1, 29],
+                            82: [1, 30],
+                            83: [1, 31],
+                            84: [1, 32],
+                            85: [1, 34],
+                            86: 33
+                        }, {
+                            20: 46,
+                            72: [1, 35],
+                            78: 26,
+                            79: 27,
+                            80: [1, 28],
+                            81: [1, 29],
+                            82: [1, 30],
+                            83: [1, 31],
+                            84: [1, 32],
+                            85: [1, 34],
+                            86: 33
+                        }, {
+                            20: 47,
+                            72: [1, 35],
+                            78: 26,
+                            79: 27,
+                            80: [1, 28],
+                            81: [1, 29],
+                            82: [1, 30],
+                            83: [1, 31],
+                            84: [1, 32],
+                            85: [1, 34],
+                            86: 33
+                        }, {
+                            20: 41,
+                            56: 48,
+                            64: 42,
+                            65: [1, 43],
+                            72: [1, 35],
+                            78: 26,
+                            79: 27,
+                            80: [1, 28],
+                            81: [1, 29],
+                            82: [1, 30],
+                            83: [1, 31],
+                            84: [1, 32],
+                            85: [1, 34],
+                            86: 33
+                        }, {
+                            33: [2, 78],
+                            49: 49,
+                            65: [2, 78],
+                            72: [2, 78],
+                            80: [2, 78],
+                            81: [2, 78],
+                            82: [2, 78],
+                            83: [2, 78],
+                            84: [2, 78],
+                            85: [2, 78]
+                        }, {
+                            23: [2, 33],
+                            33: [2, 33],
+                            54: [2, 33],
+                            65: [2, 33],
+                            68: [2, 33],
+                            72: [2, 33],
+                            75: [2, 33],
+                            80: [2, 33],
+                            81: [2, 33],
+                            82: [2, 33],
+                            83: [2, 33],
+                            84: [2, 33],
+                            85: [2, 33]
+                        }, {
+                            23: [2, 34],
+                            33: [2, 34],
+                            54: [2, 34],
+                            65: [2, 34],
+                            68: [2, 34],
+                            72: [2, 34],
+                            75: [2, 34],
+                            80: [2, 34],
+                            81: [2, 34],
+                            82: [2, 34],
+                            83: [2, 34],
+                            84: [2, 34],
+                            85: [2, 34]
+                        }, {
+                            23: [2, 35],
+                            33: [2, 35],
+                            54: [2, 35],
+                            65: [2, 35],
+                            68: [2, 35],
+                            72: [2, 35],
+                            75: [2, 35],
+                            80: [2, 35],
+                            81: [2, 35],
+                            82: [2, 35],
+                            83: [2, 35],
+                            84: [2, 35],
+                            85: [2, 35]
+                        }, {
+                            23: [2, 36],
+                            33: [2, 36],
+                            54: [2, 36],
+                            65: [2, 36],
+                            68: [2, 36],
+                            72: [2, 36],
+                            75: [2, 36],
+                            80: [2, 36],
+                            81: [2, 36],
+                            82: [2, 36],
+                            83: [2, 36],
+                            84: [2, 36],
+                            85: [2, 36]
+                        }, {
+                            23: [2, 37],
+                            33: [2, 37],
+                            54: [2, 37],
+                            65: [2, 37],
+                            68: [2, 37],
+                            72: [2, 37],
+                            75: [2, 37],
+                            80: [2, 37],
+                            81: [2, 37],
+                            82: [2, 37],
+                            83: [2, 37],
+                            84: [2, 37],
+                            85: [2, 37]
+                        }, {
+                            23: [2, 38],
+                            33: [2, 38],
+                            54: [2, 38],
+                            65: [2, 38],
+                            68: [2, 38],
+                            72: [2, 38],
+                            75: [2, 38],
+                            80: [2, 38],
+                            81: [2, 38],
+                            82: [2, 38],
+                            83: [2, 38],
+                            84: [2, 38],
+                            85: [2, 38]
+                        }, {
+                            23: [2, 39],
+                            33: [2, 39],
+                            54: [2, 39],
+                            65: [2, 39],
+                            68: [2, 39],
+                            72: [2, 39],
+                            75: [2, 39],
+                            80: [2, 39],
+                            81: [2, 39],
+                            82: [2, 39],
+                            83: [2, 39],
+                            84: [2, 39],
+                            85: [2, 39]
+                        }, {
+                            23: [2, 43],
+                            33: [2, 43],
+                            54: [2, 43],
+                            65: [2, 43],
+                            68: [2, 43],
+                            72: [2, 43],
+                            75: [2, 43],
+                            80: [2, 43],
+                            81: [2, 43],
+                            82: [2, 43],
+                            83: [2, 43],
+                            84: [2, 43],
+                            85: [2, 43],
+                            87: [1, 50]
+                        }, {72: [1, 35], 86: 51}, {
+                            23: [2, 45],
+                            33: [2, 45],
+                            54: [2, 45],
+                            65: [2, 45],
+                            68: [2, 45],
+                            72: [2, 45],
+                            75: [2, 45],
+                            80: [2, 45],
+                            81: [2, 45],
+                            82: [2, 45],
+                            83: [2, 45],
+                            84: [2, 45],
+                            85: [2, 45],
+                            87: [2, 45]
+                        }, {
+                            52: 52,
+                            54: [2, 82],
+                            65: [2, 82],
+                            72: [2, 82],
+                            80: [2, 82],
+                            81: [2, 82],
+                            82: [2, 82],
+                            83: [2, 82],
+                            84: [2, 82],
+                            85: [2, 82]
+                        }, {25: 53, 38: 55, 39: [1, 57], 43: 56, 44: [1, 58], 45: 54, 47: [2, 54]}, {
+                            28: 59,
+                            43: 60,
+                            44: [1, 58],
+                            47: [2, 56]
+                        }, {13: 62, 15: [1, 20], 18: [1, 61]}, {
+                            33: [2, 86],
+                            57: 63,
+                            65: [2, 86],
+                            72: [2, 86],
+                            80: [2, 86],
+                            81: [2, 86],
+                            82: [2, 86],
+                            83: [2, 86],
+                            84: [2, 86],
+                            85: [2, 86]
+                        }, {
+                            33: [2, 40],
+                            65: [2, 40],
+                            72: [2, 40],
+                            80: [2, 40],
+                            81: [2, 40],
+                            82: [2, 40],
+                            83: [2, 40],
+                            84: [2, 40],
+                            85: [2, 40]
+                        }, {
+                            33: [2, 41],
+                            65: [2, 41],
+                            72: [2, 41],
+                            80: [2, 41],
+                            81: [2, 41],
+                            82: [2, 41],
+                            83: [2, 41],
+                            84: [2, 41],
+                            85: [2, 41]
+                        }, {
+                            20: 64,
+                            72: [1, 35],
+                            78: 26,
+                            79: 27,
+                            80: [1, 28],
+                            81: [1, 29],
+                            82: [1, 30],
+                            83: [1, 31],
+                            84: [1, 32],
+                            85: [1, 34],
+                            86: 33
+                        }, {26: 65, 47: [1, 66]}, {
+                            30: 67,
+                            33: [2, 58],
+                            65: [2, 58],
+                            72: [2, 58],
+                            75: [2, 58],
+                            80: [2, 58],
+                            81: [2, 58],
+                            82: [2, 58],
+                            83: [2, 58],
+                            84: [2, 58],
+                            85: [2, 58]
+                        }, {
+                            33: [2, 64],
+                            35: 68,
+                            65: [2, 64],
+                            72: [2, 64],
+                            75: [2, 64],
+                            80: [2, 64],
+                            81: [2, 64],
+                            82: [2, 64],
+                            83: [2, 64],
+                            84: [2, 64],
+                            85: [2, 64]
+                        }, {
+                            21: 69,
+                            23: [2, 50],
+                            65: [2, 50],
+                            72: [2, 50],
+                            80: [2, 50],
+                            81: [2, 50],
+                            82: [2, 50],
+                            83: [2, 50],
+                            84: [2, 50],
+                            85: [2, 50]
+                        }, {
+                            33: [2, 90],
+                            61: 70,
+                            65: [2, 90],
+                            72: [2, 90],
+                            80: [2, 90],
+                            81: [2, 90],
+                            82: [2, 90],
+                            83: [2, 90],
+                            84: [2, 90],
+                            85: [2, 90]
+                        }, {
+                            20: 74,
+                            33: [2, 80],
+                            50: 71,
+                            63: 72,
+                            64: 75,
+                            65: [1, 43],
+                            69: 73,
+                            70: 76,
+                            71: 77,
+                            72: [1, 78],
+                            78: 26,
+                            79: 27,
+                            80: [1, 28],
+                            81: [1, 29],
+                            82: [1, 30],
+                            83: [1, 31],
+                            84: [1, 32],
+                            85: [1, 34],
+                            86: 33
+                        }, {72: [1, 79]}, {
+                            23: [2, 42],
+                            33: [2, 42],
+                            54: [2, 42],
+                            65: [2, 42],
+                            68: [2, 42],
+                            72: [2, 42],
+                            75: [2, 42],
+                            80: [2, 42],
+                            81: [2, 42],
+                            82: [2, 42],
+                            83: [2, 42],
+                            84: [2, 42],
+                            85: [2, 42],
+                            87: [1, 50]
+                        }, {
+                            20: 74,
+                            53: 80,
+                            54: [2, 84],
+                            63: 81,
+                            64: 75,
+                            65: [1, 43],
+                            69: 82,
+                            70: 76,
+                            71: 77,
+                            72: [1, 78],
+                            78: 26,
+                            79: 27,
+                            80: [1, 28],
+                            81: [1, 29],
+                            82: [1, 30],
+                            83: [1, 31],
+                            84: [1, 32],
+                            85: [1, 34],
+                            86: 33
+                        }, {26: 83, 47: [1, 66]}, {47: [2, 55]}, {
+                            4: 84,
+                            6: 3,
+                            14: [2, 46],
+                            15: [2, 46],
+                            19: [2, 46],
+                            29: [2, 46],
+                            34: [2, 46],
+                            39: [2, 46],
+                            44: [2, 46],
+                            47: [2, 46],
+                            48: [2, 46],
+                            51: [2, 46],
+                            55: [2, 46],
+                            60: [2, 46]
+                        }, {47: [2, 20]}, {
+                            20: 85,
+                            72: [1, 35],
+                            78: 26,
+                            79: 27,
+                            80: [1, 28],
+                            81: [1, 29],
+                            82: [1, 30],
+                            83: [1, 31],
+                            84: [1, 32],
+                            85: [1, 34],
+                            86: 33
+                        }, {
+                            4: 86,
+                            6: 3,
+                            14: [2, 46],
+                            15: [2, 46],
+                            19: [2, 46],
+                            29: [2, 46],
+                            34: [2, 46],
+                            47: [2, 46],
+                            48: [2, 46],
+                            51: [2, 46],
+                            55: [2, 46],
+                            60: [2, 46]
+                        }, {26: 87, 47: [1, 66]}, {47: [2, 57]}, {
+                            5: [2, 11],
+                            14: [2, 11],
+                            15: [2, 11],
+                            19: [2, 11],
+                            29: [2, 11],
+                            34: [2, 11],
+                            39: [2, 11],
+                            44: [2, 11],
+                            47: [2, 11],
+                            48: [2, 11],
+                            51: [2, 11],
+                            55: [2, 11],
+                            60: [2, 11]
+                        }, {15: [2, 49], 18: [2, 49]}, {
+                            20: 74,
+                            33: [2, 88],
+                            58: 88,
+                            63: 89,
+                            64: 75,
+                            65: [1, 43],
+                            69: 90,
+                            70: 76,
+                            71: 77,
+                            72: [1, 78],
+                            78: 26,
+                            79: 27,
+                            80: [1, 28],
+                            81: [1, 29],
+                            82: [1, 30],
+                            83: [1, 31],
+                            84: [1, 32],
+                            85: [1, 34],
+                            86: 33
+                        }, {
+                            65: [2, 94],
+                            66: 91,
+                            68: [2, 94],
+                            72: [2, 94],
+                            80: [2, 94],
+                            81: [2, 94],
+                            82: [2, 94],
+                            83: [2, 94],
+                            84: [2, 94],
+                            85: [2, 94]
+                        }, {
+                            5: [2, 25],
+                            14: [2, 25],
+                            15: [2, 25],
+                            19: [2, 25],
+                            29: [2, 25],
+                            34: [2, 25],
+                            39: [2, 25],
+                            44: [2, 25],
+                            47: [2, 25],
+                            48: [2, 25],
+                            51: [2, 25],
+                            55: [2, 25],
+                            60: [2, 25]
+                        }, {
+                            20: 92,
+                            72: [1, 35],
+                            78: 26,
+                            79: 27,
+                            80: [1, 28],
+                            81: [1, 29],
+                            82: [1, 30],
+                            83: [1, 31],
+                            84: [1, 32],
+                            85: [1, 34],
+                            86: 33
+                        }, {
+                            20: 74,
+                            31: 93,
+                            33: [2, 60],
+                            63: 94,
+                            64: 75,
+                            65: [1, 43],
+                            69: 95,
+                            70: 76,
+                            71: 77,
+                            72: [1, 78],
+                            75: [2, 60],
+                            78: 26,
+                            79: 27,
+                            80: [1, 28],
+                            81: [1, 29],
+                            82: [1, 30],
+                            83: [1, 31],
+                            84: [1, 32],
+                            85: [1, 34],
+                            86: 33
+                        }, {
+                            20: 74,
+                            33: [2, 66],
+                            36: 96,
+                            63: 97,
+                            64: 75,
+                            65: [1, 43],
+                            69: 98,
+                            70: 76,
+                            71: 77,
+                            72: [1, 78],
+                            75: [2, 66],
+                            78: 26,
+                            79: 27,
+                            80: [1, 28],
+                            81: [1, 29],
+                            82: [1, 30],
+                            83: [1, 31],
+                            84: [1, 32],
+                            85: [1, 34],
+                            86: 33
+                        }, {
+                            20: 74,
+                            22: 99,
+                            23: [2, 52],
+                            63: 100,
+                            64: 75,
+                            65: [1, 43],
+                            69: 101,
+                            70: 76,
+                            71: 77,
+                            72: [1, 78],
+                            78: 26,
+                            79: 27,
+                            80: [1, 28],
+                            81: [1, 29],
+                            82: [1, 30],
+                            83: [1, 31],
+                            84: [1, 32],
+                            85: [1, 34],
+                            86: 33
+                        }, {
+                            20: 74,
+                            33: [2, 92],
+                            62: 102,
+                            63: 103,
+                            64: 75,
+                            65: [1, 43],
+                            69: 104,
+                            70: 76,
+                            71: 77,
+                            72: [1, 78],
+                            78: 26,
+                            79: 27,
+                            80: [1, 28],
+                            81: [1, 29],
+                            82: [1, 30],
+                            83: [1, 31],
+                            84: [1, 32],
+                            85: [1, 34],
+                            86: 33
+                        }, {33: [1, 105]}, {
+                            33: [2, 79],
+                            65: [2, 79],
+                            72: [2, 79],
+                            80: [2, 79],
+                            81: [2, 79],
+                            82: [2, 79],
+                            83: [2, 79],
+                            84: [2, 79],
+                            85: [2, 79]
+                        }, {33: [2, 81]}, {
+                            23: [2, 27],
+                            33: [2, 27],
+                            54: [2, 27],
+                            65: [2, 27],
+                            68: [2, 27],
+                            72: [2, 27],
+                            75: [2, 27],
+                            80: [2, 27],
+                            81: [2, 27],
+                            82: [2, 27],
+                            83: [2, 27],
+                            84: [2, 27],
+                            85: [2, 27]
+                        }, {
+                            23: [2, 28],
+                            33: [2, 28],
+                            54: [2, 28],
+                            65: [2, 28],
+                            68: [2, 28],
+                            72: [2, 28],
+                            75: [2, 28],
+                            80: [2, 28],
+                            81: [2, 28],
+                            82: [2, 28],
+                            83: [2, 28],
+                            84: [2, 28],
+                            85: [2, 28]
+                        }, {
+                            23: [2, 30],
+                            33: [2, 30],
+                            54: [2, 30],
+                            68: [2, 30],
+                            71: 106,
+                            72: [1, 107],
+                            75: [2, 30]
+                        }, {23: [2, 98], 33: [2, 98], 54: [2, 98], 68: [2, 98], 72: [2, 98], 75: [2, 98]}, {
+                            23: [2, 45],
+                            33: [2, 45],
+                            54: [2, 45],
+                            65: [2, 45],
+                            68: [2, 45],
+                            72: [2, 45],
+                            73: [1, 108],
+                            75: [2, 45],
+                            80: [2, 45],
+                            81: [2, 45],
+                            82: [2, 45],
+                            83: [2, 45],
+                            84: [2, 45],
+                            85: [2, 45],
+                            87: [2, 45]
+                        }, {
+                            23: [2, 44],
+                            33: [2, 44],
+                            54: [2, 44],
+                            65: [2, 44],
+                            68: [2, 44],
+                            72: [2, 44],
+                            75: [2, 44],
+                            80: [2, 44],
+                            81: [2, 44],
+                            82: [2, 44],
+                            83: [2, 44],
+                            84: [2, 44],
+                            85: [2, 44],
+                            87: [2, 44]
+                        }, {54: [1, 109]}, {
+                            54: [2, 83],
+                            65: [2, 83],
+                            72: [2, 83],
+                            80: [2, 83],
+                            81: [2, 83],
+                            82: [2, 83],
+                            83: [2, 83],
+                            84: [2, 83],
+                            85: [2, 83]
+                        }, {54: [2, 85]}, {
+                            5: [2, 13],
+                            14: [2, 13],
+                            15: [2, 13],
+                            19: [2, 13],
+                            29: [2, 13],
+                            34: [2, 13],
+                            39: [2, 13],
+                            44: [2, 13],
+                            47: [2, 13],
+                            48: [2, 13],
+                            51: [2, 13],
+                            55: [2, 13],
+                            60: [2, 13]
+                        }, {38: 55, 39: [1, 57], 43: 56, 44: [1, 58], 45: 111, 46: 110, 47: [2, 76]}, {
+                            33: [2, 70],
+                            40: 112,
+                            65: [2, 70],
+                            72: [2, 70],
+                            75: [2, 70],
+                            80: [2, 70],
+                            81: [2, 70],
+                            82: [2, 70],
+                            83: [2, 70],
+                            84: [2, 70],
+                            85: [2, 70]
+                        }, {47: [2, 18]}, {
+                            5: [2, 14],
+                            14: [2, 14],
+                            15: [2, 14],
+                            19: [2, 14],
+                            29: [2, 14],
+                            34: [2, 14],
+                            39: [2, 14],
+                            44: [2, 14],
+                            47: [2, 14],
+                            48: [2, 14],
+                            51: [2, 14],
+                            55: [2, 14],
+                            60: [2, 14]
+                        }, {33: [1, 113]}, {
+                            33: [2, 87],
+                            65: [2, 87],
+                            72: [2, 87],
+                            80: [2, 87],
+                            81: [2, 87],
+                            82: [2, 87],
+                            83: [2, 87],
+                            84: [2, 87],
+                            85: [2, 87]
+                        }, {33: [2, 89]}, {
+                            20: 74,
+                            63: 115,
+                            64: 75,
+                            65: [1, 43],
+                            67: 114,
+                            68: [2, 96],
+                            69: 116,
+                            70: 76,
+                            71: 77,
+                            72: [1, 78],
+                            78: 26,
+                            79: 27,
+                            80: [1, 28],
+                            81: [1, 29],
+                            82: [1, 30],
+                            83: [1, 31],
+                            84: [1, 32],
+                            85: [1, 34],
+                            86: 33
+                        }, {33: [1, 117]}, {32: 118, 33: [2, 62], 74: 119, 75: [1, 120]}, {
+                            33: [2, 59],
+                            65: [2, 59],
+                            72: [2, 59],
+                            75: [2, 59],
+                            80: [2, 59],
+                            81: [2, 59],
+                            82: [2, 59],
+                            83: [2, 59],
+                            84: [2, 59],
+                            85: [2, 59]
+                        }, {33: [2, 61], 75: [2, 61]}, {33: [2, 68], 37: 121, 74: 122, 75: [1, 120]}, {
+                            33: [2, 65],
+                            65: [2, 65],
+                            72: [2, 65],
+                            75: [2, 65],
+                            80: [2, 65],
+                            81: [2, 65],
+                            82: [2, 65],
+                            83: [2, 65],
+                            84: [2, 65],
+                            85: [2, 65]
+                        }, {33: [2, 67], 75: [2, 67]}, {23: [1, 123]}, {
+                            23: [2, 51],
+                            65: [2, 51],
+                            72: [2, 51],
+                            80: [2, 51],
+                            81: [2, 51],
+                            82: [2, 51],
+                            83: [2, 51],
+                            84: [2, 51],
+                            85: [2, 51]
+                        }, {23: [2, 53]}, {33: [1, 124]}, {
+                            33: [2, 91],
+                            65: [2, 91],
+                            72: [2, 91],
+                            80: [2, 91],
+                            81: [2, 91],
+                            82: [2, 91],
+                            83: [2, 91],
+                            84: [2, 91],
+                            85: [2, 91]
+                        }, {33: [2, 93]}, {
+                            5: [2, 22],
+                            14: [2, 22],
+                            15: [2, 22],
+                            19: [2, 22],
+                            29: [2, 22],
+                            34: [2, 22],
+                            39: [2, 22],
+                            44: [2, 22],
+                            47: [2, 22],
+                            48: [2, 22],
+                            51: [2, 22],
+                            55: [2, 22],
+                            60: [2, 22]
+                        }, {
+                            23: [2, 99],
+                            33: [2, 99],
+                            54: [2, 99],
+                            68: [2, 99],
+                            72: [2, 99],
+                            75: [2, 99]
+                        }, {73: [1, 108]}, {
+                            20: 74,
+                            63: 125,
+                            64: 75,
+                            65: [1, 43],
+                            72: [1, 35],
+                            78: 26,
+                            79: 27,
+                            80: [1, 28],
+                            81: [1, 29],
+                            82: [1, 30],
+                            83: [1, 31],
+                            84: [1, 32],
+                            85: [1, 34],
+                            86: 33
+                        }, {
+                            5: [2, 23],
+                            14: [2, 23],
+                            15: [2, 23],
+                            19: [2, 23],
+                            29: [2, 23],
+                            34: [2, 23],
+                            39: [2, 23],
+                            44: [2, 23],
+                            47: [2, 23],
+                            48: [2, 23],
+                            51: [2, 23],
+                            55: [2, 23],
+                            60: [2, 23]
+                        }, {47: [2, 19]}, {47: [2, 77]}, {
+                            20: 74,
+                            33: [2, 72],
+                            41: 126,
+                            63: 127,
+                            64: 75,
+                            65: [1, 43],
+                            69: 128,
+                            70: 76,
+                            71: 77,
+                            72: [1, 78],
+                            75: [2, 72],
+                            78: 26,
+                            79: 27,
+                            80: [1, 28],
+                            81: [1, 29],
+                            82: [1, 30],
+                            83: [1, 31],
+                            84: [1, 32],
+                            85: [1, 34],
+                            86: 33
+                        }, {
+                            5: [2, 24],
+                            14: [2, 24],
+                            15: [2, 24],
+                            19: [2, 24],
+                            29: [2, 24],
+                            34: [2, 24],
+                            39: [2, 24],
+                            44: [2, 24],
+                            47: [2, 24],
+                            48: [2, 24],
+                            51: [2, 24],
+                            55: [2, 24],
+                            60: [2, 24]
+                        }, {68: [1, 129]}, {
+                            65: [2, 95],
+                            68: [2, 95],
+                            72: [2, 95],
+                            80: [2, 95],
+                            81: [2, 95],
+                            82: [2, 95],
+                            83: [2, 95],
+                            84: [2, 95],
+                            85: [2, 95]
+                        }, {68: [2, 97]}, {
+                            5: [2, 21],
+                            14: [2, 21],
+                            15: [2, 21],
+                            19: [2, 21],
+                            29: [2, 21],
+                            34: [2, 21],
+                            39: [2, 21],
+                            44: [2, 21],
+                            47: [2, 21],
+                            48: [2, 21],
+                            51: [2, 21],
+                            55: [2, 21],
+                            60: [2, 21]
+                        }, {33: [1, 130]}, {33: [2, 63]}, {
+                            72: [1, 132],
+                            76: 131
+                        }, {33: [1, 133]}, {33: [2, 69]}, {15: [2, 12], 18: [2, 12]}, {
+                            14: [2, 26],
+                            15: [2, 26],
+                            19: [2, 26],
+                            29: [2, 26],
+                            34: [2, 26],
+                            47: [2, 26],
+                            48: [2, 26],
+                            51: [2, 26],
+                            55: [2, 26],
+                            60: [2, 26]
+                        }, {23: [2, 31], 33: [2, 31], 54: [2, 31], 68: [2, 31], 72: [2, 31], 75: [2, 31]}, {
+                            33: [2, 74],
+                            42: 134,
+                            74: 135,
+                            75: [1, 120]
+                        }, {
+                            33: [2, 71],
+                            65: [2, 71],
+                            72: [2, 71],
+                            75: [2, 71],
+                            80: [2, 71],
+                            81: [2, 71],
+                            82: [2, 71],
+                            83: [2, 71],
+                            84: [2, 71],
+                            85: [2, 71]
+                        }, {33: [2, 73], 75: [2, 73]}, {
+                            23: [2, 29],
+                            33: [2, 29],
+                            54: [2, 29],
+                            65: [2, 29],
+                            68: [2, 29],
+                            72: [2, 29],
+                            75: [2, 29],
+                            80: [2, 29],
+                            81: [2, 29],
+                            82: [2, 29],
+                            83: [2, 29],
+                            84: [2, 29],
+                            85: [2, 29]
+                        }, {
+                            14: [2, 15],
+                            15: [2, 15],
+                            19: [2, 15],
+                            29: [2, 15],
+                            34: [2, 15],
+                            39: [2, 15],
+                            44: [2, 15],
+                            47: [2, 15],
+                            48: [2, 15],
+                            51: [2, 15],
+                            55: [2, 15],
+                            60: [2, 15]
+                        }, {72: [1, 137], 77: [1, 136]}, {72: [2, 100], 77: [2, 100]}, {
+                            14: [2, 16],
+                            15: [2, 16],
+                            19: [2, 16],
+                            29: [2, 16],
+                            34: [2, 16],
+                            44: [2, 16],
+                            47: [2, 16],
+                            48: [2, 16],
+                            51: [2, 16],
+                            55: [2, 16],
+                            60: [2, 16]
+                        }, {33: [1, 138]}, {33: [2, 75]}, {33: [2, 32]}, {72: [2, 101], 77: [2, 101]}, {
+                            14: [2, 17],
+                            15: [2, 17],
+                            19: [2, 17],
+                            29: [2, 17],
+                            34: [2, 17],
+                            39: [2, 17],
+                            44: [2, 17],
+                            47: [2, 17],
+                            48: [2, 17],
+                            51: [2, 17],
+                            55: [2, 17],
+                            60: [2, 17]
+                        }],
+                        defaultActions: {
+                            4: [2, 1],
+                            54: [2, 55],
+                            56: [2, 20],
+                            60: [2, 57],
+                            73: [2, 81],
+                            82: [2, 85],
+                            86: [2, 18],
+                            90: [2, 89],
+                            101: [2, 53],
+                            104: [2, 93],
+                            110: [2, 19],
+                            111: [2, 77],
+                            116: [2, 97],
+                            119: [2, 63],
+                            122: [2, 69],
+                            135: [2, 75],
+                            136: [2, 32]
+                        },
+                        parseError: function parseError(str, hash) {
+                            throw new Error(str);
+                        },
+                        parse: function parse(input) {
+                            var self = this,
+                                stack = [0],
+                                vstack = [null],
+                                lstack = [],
+                                table = this.table,
+                                yytext = "",
+                                yylineno = 0,
+                                yyleng = 0,
+                                recovering = 0,
+                                TERROR = 2,
+                                EOF = 1;
+                            this.lexer.setInput(input);
+                            this.lexer.yy = this.yy;
+                            this.yy.lexer = this.lexer;
+                            this.yy.parser = this;
+                            if (typeof this.lexer.yylloc == "undefined") this.lexer.yylloc = {};
+                            var yyloc = this.lexer.yylloc;
+                            lstack.push(yyloc);
+                            var ranges = this.lexer.options && this.lexer.options.ranges;
+                            if (typeof this.yy.parseError === "function") this.parseError = this.yy.parseError;
+
+                            function popStack(n) {
+                                stack.length = stack.length - 2 * n;
+                                vstack.length = vstack.length - n;
+                                lstack.length = lstack.length - n;
+                            }
+
+                            function lex() {
+                                var token;
+                                token = self.lexer.lex() || 1;
+                                if (typeof token !== "number") {
+                                    token = self.symbols_[token] || token;
+                                }
+                                return token;
+                            }
+
+                            var symbol,
+                                preErrorSymbol,
+                                state,
+                                action,
+                                a,
+                                r,
+                                yyval = {},
+                                p,
+                                len,
+                                newState,
+                                expected;
+                            while (true) {
+                                state = stack[stack.length - 1];
+                                if (this.defaultActions[state]) {
+                                    action = this.defaultActions[state];
+                                } else {
+                                    if (symbol === null || typeof symbol == "undefined") {
+                                        symbol = lex();
+                                    }
+                                    action = table[state] && table[state][symbol];
+                                }
+                                if (typeof action === "undefined" || !action.length || !action[0]) {
+                                    var errStr = "";
+                                    if (!recovering) {
+                                        expected = [];
+                                        for (p in table[state]) if (this.terminals_[p] && p > 2) {
+                                            expected.push("'" + this.terminals_[p] + "'");
+                                        }
+                                        if (this.lexer.showPosition) {
+                                            errStr = "Parse error on line " + (yylineno + 1) + ":\n" + this.lexer.showPosition() + "\nExpecting " + expected.join(", ") + ", got '" + (this.terminals_[symbol] || symbol) + "'";
+                                        } else {
+                                            errStr = "Parse error on line " + (yylineno + 1) + ": Unexpected " + (symbol == 1 ? "end of input" : "'" + (this.terminals_[symbol] || symbol) + "'");
+                                        }
+                                        this.parseError(errStr, {
+                                            text: this.lexer.match,
+                                            token: this.terminals_[symbol] || symbol,
+                                            line: this.lexer.yylineno,
+                                            loc: yyloc,
+                                            expected: expected
+                                        });
+                                    }
+                                }
+                                if (action[0] instanceof Array && action.length > 1) {
+                                    throw new Error("Parse Error: multiple actions possible at state: " + state + ", token: " + symbol);
+                                }
+                                switch (action[0]) {
+                                    case 1:
+                                        stack.push(symbol);
+                                        vstack.push(this.lexer.yytext);
+                                        lstack.push(this.lexer.yylloc);
+                                        stack.push(action[1]);
+                                        symbol = null;
+                                        if (!preErrorSymbol) {
+                                            yyleng = this.lexer.yyleng;
+                                            yytext = this.lexer.yytext;
+                                            yylineno = this.lexer.yylineno;
+                                            yyloc = this.lexer.yylloc;
+                                            if (recovering > 0) recovering--;
+                                        } else {
+                                            symbol = preErrorSymbol;
+                                            preErrorSymbol = null;
+                                        }
+                                        break;
+                                    case 2:
+                                        len = this.productions_[action[1]][1];
+                                        yyval.$ = vstack[vstack.length - len];
+                                        yyval._$ = {
+                                            first_line: lstack[lstack.length - (len || 1)].first_line,
+                                            last_line: lstack[lstack.length - 1].last_line,
+                                            first_column: lstack[lstack.length - (len || 1)].first_column,
+                                            last_column: lstack[lstack.length - 1].last_column
+                                        };
+                                        if (ranges) {
+                                            yyval._$.range = [lstack[lstack.length - (len || 1)].range[0], lstack[lstack.length - 1].range[1]];
+                                        }
+                                        r = this.performAction.call(yyval, yytext, yyleng, yylineno, this.yy, action[1], vstack, lstack);
+                                        if (typeof r !== "undefined") {
+                                            return r;
+                                        }
+                                        if (len) {
+                                            stack = stack.slice(0, -1 * len * 2);
+                                            vstack = vstack.slice(0, -1 * len);
+                                            lstack = lstack.slice(0, -1 * len);
+                                        }
+                                        stack.push(this.productions_[action[1]][0]);
+                                        vstack.push(yyval.$);
+                                        lstack.push(yyval._$);
+                                        newState = table[stack[stack.length - 2]][stack[stack.length - 1]];
+                                        stack.push(newState);
+                                        break;
+                                    case 3:
+                                        return true;
+                                }
+                            }
+                            return true;
+                        }
+                    };
+                    /* Jison generated lexer */
+                    var lexer = (function () {
+                        var lexer = {
+                            EOF: 1,
+                            parseError: function parseError(str, hash) {
+                                if (this.yy.parser) {
+                                    this.yy.parser.parseError(str, hash);
+                                } else {
+                                    throw new Error(str);
+                                }
+                            },
+                            setInput: function setInput(input) {
+                                this._input = input;
+                                this._more = this._less = this.done = false;
+                                this.yylineno = this.yyleng = 0;
+                                this.yytext = this.matched = this.match = '';
+                                this.conditionStack = ['INITIAL'];
+                                this.yylloc = {first_line: 1, first_column: 0, last_line: 1, last_column: 0};
+                                if (this.options.ranges) this.yylloc.range = [0, 0];
+                                this.offset = 0;
+                                return this;
+                            },
+                            input: function input() {
+                                var ch = this._input[0];
+                                this.yytext += ch;
+                                this.yyleng++;
+                                this.offset++;
+                                this.match += ch;
+                                this.matched += ch;
+                                var lines = ch.match(/(?:\r\n?|\n).*/g);
+                                if (lines) {
+                                    this.yylineno++;
+                                    this.yylloc.last_line++;
+                                } else {
+                                    this.yylloc.last_column++;
+                                }
+                                if (this.options.ranges) this.yylloc.range[1]++;
+
+                                this._input = this._input.slice(1);
+                                return ch;
+                            },
+                            unput: function unput(ch) {
+                                var len = ch.length;
+                                var lines = ch.split(/(?:\r\n?|\n)/g);
+
+                                this._input = ch + this._input;
+                                this.yytext = this.yytext.substr(0, this.yytext.length - len - 1);
+                                //this.yyleng -= len;
+                                this.offset -= len;
+                                var oldLines = this.match.split(/(?:\r\n?|\n)/g);
+                                this.match = this.match.substr(0, this.match.length - 1);
+                                this.matched = this.matched.substr(0, this.matched.length - 1);
+
+                                if (lines.length - 1) this.yylineno -= lines.length - 1;
+                                var r = this.yylloc.range;
+
+                                this.yylloc = {
+                                    first_line: this.yylloc.first_line,
+                                    last_line: this.yylineno + 1,
+                                    first_column: this.yylloc.first_column,
+                                    last_column: lines ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length : this.yylloc.first_column - len
+                                };
+
+                                if (this.options.ranges) {
+                                    this.yylloc.range = [r[0], r[0] + this.yyleng - len];
+                                }
+                                return this;
+                            },
+                            more: function more() {
+                                this._more = true;
+                                return this;
+                            },
+                            less: function less(n) {
+                                this.unput(this.match.slice(n));
+                            },
+                            pastInput: function pastInput() {
+                                var past = this.matched.substr(0, this.matched.length - this.match.length);
+                                return (past.length > 20 ? '...' : '') + past.substr(-20).replace(/\n/g, "");
+                            },
+                            upcomingInput: function upcomingInput() {
+                                var next = this.match;
+                                if (next.length < 20) {
+                                    next += this._input.substr(0, 20 - next.length);
+                                }
+                                return (next.substr(0, 20) + (next.length > 20 ? '...' : '')).replace(/\n/g, "");
+                            },
+                            showPosition: function showPosition() {
+                                var pre = this.pastInput();
+                                var c = new Array(pre.length + 1).join("-");
+                                return pre + this.upcomingInput() + "\n" + c + "^";
+                            },
+                            next: function next() {
+                                if (this.done) {
+                                    return this.EOF;
+                                }
+                                if (!this._input) this.done = true;
+
+                                var token, match, tempMatch, index, col, lines;
+                                if (!this._more) {
+                                    this.yytext = '';
+                                    this.match = '';
+                                }
+                                var rules = this._currentRules();
+                                for (var i = 0; i < rules.length; i++) {
+                                    tempMatch = this._input.match(this.rules[rules[i]]);
+                                    if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {
+                                        match = tempMatch;
+                                        index = i;
+                                        if (!this.options.flex) break;
+                                    }
+                                }
+                                if (match) {
+                                    lines = match[0].match(/(?:\r\n?|\n).*/g);
+                                    if (lines) this.yylineno += lines.length;
+                                    this.yylloc = {
+                                        first_line: this.yylloc.last_line,
+                                        last_line: this.yylineno + 1,
+                                        first_column: this.yylloc.last_column,
+                                        last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + match[0].length
+                                    };
+                                    this.yytext += match[0];
+                                    this.match += match[0];
+                                    this.matches = match;
+                                    this.yyleng = this.yytext.length;
+                                    if (this.options.ranges) {
+                                        this.yylloc.range = [this.offset, this.offset += this.yyleng];
+                                    }
+                                    this._more = false;
+                                    this._input = this._input.slice(match[0].length);
+                                    this.matched += match[0];
+                                    token = this.performAction.call(this, this.yy, this, rules[index], this.conditionStack[this.conditionStack.length - 1]);
+                                    if (this.done && this._input) this.done = false;
+                                    if (token) return token; else return;
+                                }
+                                if (this._input === "") {
+                                    return this.EOF;
+                                } else {
+                                    return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\n' + this.showPosition(), {
+                                        text: "",
+                                        token: null,
+                                        line: this.yylineno
+                                    });
+                                }
+                            },
+                            lex: function lex() {
+                                var r = this.next();
+                                if (typeof r !== 'undefined') {
+                                    return r;
+                                } else {
+                                    return this.lex();
+                                }
+                            },
+                            begin: function begin(condition) {
+                                this.conditionStack.push(condition);
+                            },
+                            popState: function popState() {
+                                return this.conditionStack.pop();
+                            },
+                            _currentRules: function _currentRules() {
+                                return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;
+                            },
+                            topState: function topState() {
+                                return this.conditionStack[this.conditionStack.length - 2];
+                            },
+                            pushState: function begin(condition) {
+                                this.begin(condition);
+                            }
+                        };
+                        lexer.options = {};
+                        lexer.performAction = function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {
+
+                            function strip(start, end) {
+                                return yy_.yytext = yy_.yytext.substring(start, yy_.yyleng - end + start);
+                            }
+
+                            var YYSTATE = YY_START;
+                            switch ($avoiding_name_collisions) {
+                                case 0:
+                                    if (yy_.yytext.slice(-2) === "\\\\") {
+                                        strip(0, 1);
+                                        this.begin("mu");
+                                    } else if (yy_.yytext.slice(-1) === "\\") {
+                                        strip(0, 1);
+                                        this.begin("emu");
+                                    } else {
+                                        this.begin("mu");
+                                    }
+                                    if (yy_.yytext) return 15;
+
+                                    break;
+                                case 1:
+                                    return 15;
+                                    break;
+                                case 2:
+                                    this.popState();
+                                    return 15;
+
+                                    break;
+                                case 3:
+                                    this.begin('raw');
+                                    return 15;
+                                    break;
+                                case 4:
+                                    this.popState();
+                                    // Should be using `this.topState()` below, but it currently
+                                    // returns the second top instead of the first top. Opened an
+                                    // issue about it at https://github.com/zaach/jison/issues/291
+                                    if (this.conditionStack[this.conditionStack.length - 1] === 'raw') {
+                                        return 15;
+                                    } else {
+                                        strip(5, 9);
+                                        return 'END_RAW_BLOCK';
+                                    }
+
+                                    break;
+                                case 5:
+                                    return 15;
+                                    break;
+                                case 6:
+                                    this.popState();
+                                    return 14;
+
+                                    break;
+                                case 7:
+                                    return 65;
+                                    break;
+                                case 8:
+                                    return 68;
+                                    break;
+                                case 9:
+                                    return 19;
+                                    break;
+                                case 10:
+                                    this.popState();
+                                    this.begin('raw');
+                                    return 23;
+
+                                    break;
+                                case 11:
+                                    return 55;
+                                    break;
+                                case 12:
+                                    return 60;
+                                    break;
+                                case 13:
+                                    return 29;
+                                    break;
+                                case 14:
+                                    return 47;
+                                    break;
+                                case 15:
+                                    this.popState();
+                                    return 44;
+                                    break;
+                                case 16:
+                                    this.popState();
+                                    return 44;
+                                    break;
+                                case 17:
+                                    return 34;
+                                    break;
+                                case 18:
+                                    return 39;
+                                    break;
+                                case 19:
+                                    return 51;
+                                    break;
+                                case 20:
+                                    return 48;
+                                    break;
+                                case 21:
+                                    this.unput(yy_.yytext);
+                                    this.popState();
+                                    this.begin('com');
+
+                                    break;
+                                case 22:
+                                    this.popState();
+                                    return 14;
+
+                                    break;
+                                case 23:
+                                    return 48;
+                                    break;
+                                case 24:
+                                    return 73;
+                                    break;
+                                case 25:
+                                    return 72;
+                                    break;
+                                case 26:
+                                    return 72;
+                                    break;
+                                case 27:
+                                    return 87;
+                                    break;
+                                case 28:
+                                    // ignore whitespace
+                                    break;
+                                case 29:
+                                    this.popState();
+                                    return 54;
+                                    break;
+                                case 30:
+                                    this.popState();
+                                    return 33;
+                                    break;
+                                case 31:
+                                    yy_.yytext = strip(1, 2).replace(/\\"/g, '"');
+                                    return 80;
+                                    break;
+                                case 32:
+                                    yy_.yytext = strip(1, 2).replace(/\\'/g, "'");
+                                    return 80;
+                                    break;
+                                case 33:
+                                    return 85;
+                                    break;
+                                case 34:
+                                    return 82;
+                                    break;
+                                case 35:
+                                    return 82;
+                                    break;
+                                case 36:
+                                    return 83;
+                                    break;
+                                case 37:
+                                    return 84;
+                                    break;
+                                case 38:
+                                    return 81;
+                                    break;
+                                case 39:
+                                    return 75;
+                                    break;
+                                case 40:
+                                    return 77;
+                                    break;
+                                case 41:
+                                    return 72;
+                                    break;
+                                case 42:
+                                    yy_.yytext = yy_.yytext.replace(/\\([\\\]])/g, '$1');
+                                    return 72;
+                                    break;
+                                case 43:
+                                    return 'INVALID';
+                                    break;
+                                case 44:
+                                    return 5;
+                                    break;
+                            }
+                        };
+                        lexer.rules = [/^(?:[^\x00]*?(?=(\{\{)))/, /^(?:[^\x00]+)/, /^(?:[^\x00]{2,}?(?=(\{\{|\\\{\{|\\\\\{\{|$)))/, /^(?:\{\{\{\{(?=[^\/]))/, /^(?:\{\{\{\{\/[^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=[=}\s\/.])\}\}\}\})/, /^(?:[^\x00]+?(?=(\{\{\{\{)))/, /^(?:[\s\S]*?--(~)?\}\})/, /^(?:\()/, /^(?:\))/, /^(?:\{\{\{\{)/, /^(?:\}\}\}\})/, /^(?:\{\{(~)?>)/, /^(?:\{\{(~)?#>)/, /^(?:\{\{(~)?#\*?)/, /^(?:\{\{(~)?\/)/, /^(?:\{\{(~)?\^\s*(~)?\}\})/, /^(?:\{\{(~)?\s*else\s*(~)?\}\})/, /^(?:\{\{(~)?\^)/, /^(?:\{\{(~)?\s*else\b)/, /^(?:\{\{(~)?\{)/, /^(?:\{\{(~)?&)/, /^(?:\{\{(~)?!--)/, /^(?:\{\{(~)?![\s\S]*?\}\})/, /^(?:\{\{(~)?\*?)/, /^(?:=)/, /^(?:\.\.)/, /^(?:\.(?=([=~}\s\/.)|])))/, /^(?:[\/.])/, /^(?:\s+)/, /^(?:\}(~)?\}\})/, /^(?:(~)?\}\})/, /^(?:"(\\["]|[^"])*")/, /^(?:'(\\[']|[^'])*')/, /^(?:@)/, /^(?:true(?=([~}\s)])))/, /^(?:false(?=([~}\s)])))/, /^(?:undefined(?=([~}\s)])))/, /^(?:null(?=([~}\s)])))/, /^(?:-?[0-9]+(?:\.[0-9]+)?(?=([~}\s)])))/, /^(?:as\s+\|)/, /^(?:\|)/, /^(?:([^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=([=~}\s\/.)|]))))/, /^(?:\[(\\\]|[^\]])*\])/, /^(?:.)/, /^(?:$)/];
+                        lexer.conditions = {
+                            "mu": {
+                                "rules": [7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44],
+                                "inclusive": false
+                            },
+                            "emu": {"rules": [2], "inclusive": false},
+                            "com": {"rules": [6], "inclusive": false},
+                            "raw": {"rules": [3, 4, 5], "inclusive": false},
+                            "INITIAL": {"rules": [0, 1, 44], "inclusive": true}
+                        };
+                        return lexer;
+                    })();
+                    parser.lexer = lexer;
+
+                    function Parser() {
+                        this.yy = {};
+                    }
+
+                    Parser.prototype = parser;
+                    parser.Parser = Parser;
+                    return new Parser();
+                })();
+                exports["default"] = handlebars;
+                module.exports = exports["default"];
+
+                /***/
+            }),
+            /* 43 */
+            /***/ (function (module, exports, __webpack_require__) {
+
+                'use strict';
+
+                var _interopRequireDefault = __webpack_require__(1)['default'];
+
+                exports.__esModule = true;
+
+                var _visitor = __webpack_require__(44);
+
+                var _visitor2 = _interopRequireDefault(_visitor);
+
+                function WhitespaceControl() {
+                    var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];
+
+                    this.options = options;
+                }
+
+                WhitespaceControl.prototype = new _visitor2['default']();
+
+                WhitespaceControl.prototype.Program = function (program) {
+                    var doStandalone = !this.options.ignoreStandalone;
+
+                    var isRoot = !this.isRootSeen;
+                    this.isRootSeen = true;
+
+                    var body = program.body;
+                    for (var i = 0, l = body.length; i < l; i++) {
+                        var current = body[i],
+                            strip = this.accept(current);
+
+                        if (!strip) {
+                            continue;
+                        }
+
+                        var _isPrevWhitespace = isPrevWhitespace(body, i, isRoot),
+                            _isNextWhitespace = isNextWhitespace(body, i, isRoot),
+                            openStandalone = strip.openStandalone && _isPrevWhitespace,
+                            closeStandalone = strip.closeStandalone && _isNextWhitespace,
+                            inlineStandalone = strip.inlineStandalone && _isPrevWhitespace && _isNextWhitespace;
+
+                        if (strip.close) {
+                            omitRight(body, i, true);
+                        }
+                        if (strip.open) {
+                            omitLeft(body, i, true);
+                        }
+
+                        if (doStandalone && inlineStandalone) {
+                            omitRight(body, i);
+
+                            if (omitLeft(body, i)) {
+                                // If we are on a standalone node, save the indent info for partials
+                                if (current.type === 'PartialStatement') {
+                                    // Pull out the whitespace from the final line
+                                    current.indent = /([ \t]+$)/.exec(body[i - 1].original)[1];
+                                }
+                            }
+                        }
+                        if (doStandalone && openStandalone) {
+                            omitRight((current.program || current.inverse).body);
+
+                            // Strip out the previous content node if it's whitespace only
+                            omitLeft(body, i);
+                        }
+                        if (doStandalone && closeStandalone) {
+                            // Always strip the next node
+                            omitRight(body, i);
+
+                            omitLeft((current.inverse || current.program).body);
+                        }
+                    }
+
+                    return program;
+                };
+
+                WhitespaceControl.prototype.BlockStatement = WhitespaceControl.prototype.DecoratorBlock = WhitespaceControl.prototype.PartialBlockStatement = function (block) {
+                    this.accept(block.program);
+                    this.accept(block.inverse);
+
+                    // Find the inverse program that is involed with whitespace stripping.
+                    var program = block.program || block.inverse,
+                        inverse = block.program && block.inverse,
+                        firstInverse = inverse,
+                        lastInverse = inverse;
+
+                    if (inverse && inverse.chained) {
+                        firstInverse = inverse.body[0].program;
+
+                        // Walk the inverse chain to find the last inverse that is actually in the chain.
+                        while (lastInverse.chained) {
+                            lastInverse = lastInverse.body[lastInverse.body.length - 1].program;
+                        }
+                    }
+
+                    var strip = {
+                        open: block.openStrip.open,
+                        close: block.closeStrip.close,
+
+                        // Determine the standalone candiacy. Basically flag our content as being possibly standalone
+                        // so our parent can determine if we actually are standalone
+                        openStandalone: isNextWhitespace(program.body),
+                        closeStandalone: isPrevWhitespace((firstInverse || program).body)
+                    };
+
+                    if (block.openStrip.close) {
+                        omitRight(program.body, null, true);
+                    }
+
+                    if (inverse) {
+                        var inverseStrip = block.inverseStrip;
+
+                        if (inverseStrip.open) {
+                            omitLeft(program.body, null, true);
+                        }
+
+                        if (inverseStrip.close) {
+                            omitRight(firstInverse.body, null, true);
+                        }
+                        if (block.closeStrip.open) {
+                            omitLeft(lastInverse.body, null, true);
+                        }
+
+                        // Find standalone else statments
+                        if (!this.options.ignoreStandalone && isPrevWhitespace(program.body) && isNextWhitespace(firstInverse.body)) {
+                            omitLeft(program.body);
+                            omitRight(firstInverse.body);
+                        }
+                    } else if (block.closeStrip.open) {
+                        omitLeft(program.body, null, true);
+                    }
+
+                    return strip;
+                };
+
+                WhitespaceControl.prototype.Decorator = WhitespaceControl.prototype.MustacheStatement = function (mustache) {
+                    return mustache.strip;
+                };
+
+                WhitespaceControl.prototype.PartialStatement = WhitespaceControl.prototype.CommentStatement = function (node) {
+                    /* istanbul ignore next */
+                    var strip = node.strip || {};
+                    return {
+                        inlineStandalone: true,
+                        open: strip.open,
+                        close: strip.close
+                    };
+                };
+
+                function isPrevWhitespace(body, i, isRoot) {
+                    if (i === undefined) {
+                        i = body.length;
+                    }
+
+                    // Nodes that end with newlines are considered whitespace (but are special
+                    // cased for strip operations)
+                    var prev = body[i - 1],
+                        sibling = body[i - 2];
+                    if (!prev) {
+                        return isRoot;
+                    }
+
+                    if (prev.type === 'ContentStatement') {
+                        return (sibling || !isRoot ? /\r?\n\s*?$/ : /(^|\r?\n)\s*?$/).test(prev.original);
+                    }
+                }
+
+                function isNextWhitespace(body, i, isRoot) {
+                    if (i === undefined) {
+                        i = -1;
+                    }
+
+                    var next = body[i + 1],
+                        sibling = body[i + 2];
+                    if (!next) {
+                        return isRoot;
+                    }
+
+                    if (next.type === 'ContentStatement') {
+                        return (sibling || !isRoot ? /^\s*?\r?\n/ : /^\s*?(\r?\n|$)/).test(next.original);
+                    }
+                }
+
+                // Marks the node to the right of the position as omitted.
+                // I.e. {{foo}}' ' will mark the ' ' node as omitted.
+                //
+                // If i is undefined, then the first child will be marked as such.
+                //
+                // If mulitple is truthy then all whitespace will be stripped out until non-whitespace
+                // content is met.
+                function omitRight(body, i, multiple) {
+                    var current = body[i == null ? 0 : i + 1];
+                    if (!current || current.type !== 'ContentStatement' || !multiple && current.rightStripped) {
+                        return;
+                    }
+
+                    var original = current.value;
+                    current.value = current.value.replace(multiple ? /^\s+/ : /^[ \t]*\r?\n?/, '');
+                    current.rightStripped = current.value !== original;
+                }
+
+                // Marks the node to the left of the position as omitted.
+                // I.e. ' '{{foo}} will mark the ' ' node as omitted.
+                //
+                // If i is undefined then the last child will be marked as such.
+                //
+                // If mulitple is truthy then all whitespace will be stripped out until non-whitespace
+                // content is met.
+                function omitLeft(body, i, multiple) {
+                    var current = body[i == null ? body.length - 1 : i - 1];
+                    if (!current || current.type !== 'ContentStatement' || !multiple && current.leftStripped) {
+                        return;
+                    }
+
+                    // We omit the last node if it's whitespace only and not preceded by a non-content node.
+                    var original = current.value;
+                    current.value = current.value.replace(multiple ? /\s+$/ : /[ \t]+$/, '');
+                    current.leftStripped = current.value !== original;
+                    return current.leftStripped;
+                }
+
+                exports['default'] = WhitespaceControl;
+                module.exports = exports['default'];
+
+                /***/
+            }),
+            /* 44 */
+            /***/ (function (module, exports, __webpack_require__) {
+
+                'use strict';
+
+                var _interopRequireDefault = __webpack_require__(1)['default'];
+
+                exports.__esModule = true;
+
+                var _exception = __webpack_require__(6);
+
+                var _exception2 = _interopRequireDefault(_exception);
+
+                function Visitor() {
+                    this.parents = [];
+                }
+
+                Visitor.prototype = {
+                    constructor: Visitor,
+                    mutating: false,
+
+                    // Visits a given value. If mutating, will replace the value if necessary.
+                    acceptKey: function acceptKey(node, name) {
+                        var value = this.accept(node[name]);
+                        if (this.mutating) {
+                            // Hacky sanity check: This may have a few false positives for type for the helper
+                            // methods but will generally do the right thing without a lot of overhead.
+                            if (value && !Visitor.prototype[value.type]) {
+                                throw new _exception2['default']('Unexpected node type "' + value.type + '" found when accepting ' + name + ' on ' + node.type);
+                            }
+                            node[name] = value;
+                        }
+                    },
+
+                    // Performs an accept operation with added sanity check to ensure
+                    // required keys are not removed.
+                    acceptRequired: function acceptRequired(node, name) {
+                        this.acceptKey(node, name);
+
+                        if (!node[name]) {
+                            throw new _exception2['default'](node.type + ' requires ' + name);
+                        }
+                    },
+
+                    // Traverses a given array. If mutating, empty respnses will be removed
+                    // for child elements.
+                    acceptArray: function acceptArray(array) {
+                        for (var i = 0, l = array.length; i < l; i++) {
+                            this.acceptKey(array, i);
+
+                            if (!array[i]) {
+                                array.splice(i, 1);
+                                i--;
+                                l--;
+                            }
+                        }
+                    },
+
+                    accept: function accept(object) {
+                        if (!object) {
+                            return;
+                        }
+
+                        /* istanbul ignore next: Sanity code */
+                        if (!this[object.type]) {
+                            throw new _exception2['default']('Unknown type: ' + object.type, object);
+                        }
+
+                        if (this.current) {
+                            this.parents.unshift(this.current);
+                        }
+                        this.current = object;
+
+                        var ret = this[object.type](object);
+
+                        this.current = this.parents.shift();
+
+                        if (!this.mutating || ret) {
+                            return ret;
+                        } else if (ret !== false) {
+                            return object;
+                        }
+                    },
+
+                    Program: function Program(program) {
+                        this.acceptArray(program.body);
+                    },
+
+                    MustacheStatement: visitSubExpression,
+                    Decorator: visitSubExpression,
+
+                    BlockStatement: visitBlock,
+                    DecoratorBlock: visitBlock,
+
+                    PartialStatement: visitPartial,
+                    PartialBlockStatement: function PartialBlockStatement(partial) {
+                        visitPartial.call(this, partial);
+
+                        this.acceptKey(partial, 'program');
+                    },
+
+                    ContentStatement: function ContentStatement() /* content */ {
+                    },
+                    CommentStatement: function CommentStatement() /* comment */ {
+                    },
+
+                    SubExpression: visitSubExpression,
+
+                    PathExpression: function PathExpression() /* path */ {
+                    },
+
+                    StringLiteral: function StringLiteral() /* string */ {
+                    },
+                    NumberLiteral: function NumberLiteral() /* number */ {
+                    },
+                    BooleanLiteral: function BooleanLiteral() /* bool */ {
+                    },
+                    UndefinedLiteral: function UndefinedLiteral() /* literal */ {
+                    },
+                    NullLiteral: function NullLiteral() /* literal */ {
+                    },
+
+                    Hash: function Hash(hash) {
+                        this.acceptArray(hash.pairs);
+                    },
+                    HashPair: function HashPair(pair) {
+                        this.acceptRequired(pair, 'value');
+                    }
+                };
+
+                function visitSubExpression(mustache) {
+                    this.acceptRequired(mustache, 'path');
+                    this.acceptArray(mustache.params);
+                    this.acceptKey(mustache, 'hash');
+                }
+
+                function visitBlock(block) {
+                    visitSubExpression.call(this, block);
+
+                    this.acceptKey(block, 'program');
+                    this.acceptKey(block, 'inverse');
+                }
+
+                function visitPartial(partial) {
+                    this.acceptRequired(partial, 'name');
+                    this.acceptArray(partial.params);
+                    this.acceptKey(partial, 'hash');
+                }
+
+                exports['default'] = Visitor;
+                module.exports = exports['default'];
+
+                /***/
+            }),
+            /* 45 */
+            /***/ (function (module, exports, __webpack_require__) {
+
+                'use strict';
+
+                var _interopRequireDefault = __webpack_require__(1)['default'];
+
+                exports.__esModule = true;
+                exports.SourceLocation = SourceLocation;
+                exports.id = id;
+                exports.stripFlags = stripFlags;
+                exports.stripComment = stripComment;
+                exports.preparePath = preparePath;
+                exports.prepareMustache = prepareMustache;
+                exports.prepareRawBlock = prepareRawBlock;
+                exports.prepareBlock = prepareBlock;
+                exports.prepareProgram = prepareProgram;
+                exports.preparePartialBlock = preparePartialBlock;
+
+                var _exception = __webpack_require__(6);
+
+                var _exception2 = _interopRequireDefault(_exception);
+
+                function validateClose(open, close) {
+                    close = close.path ? close.path.original : close;
+
+                    if (open.path.original !== close) {
+                        var errorNode = {loc: open.path.loc};
+
+                        throw new _exception2['default'](open.path.original + " doesn't match " + close, errorNode);
+                    }
+                }
+
+                function SourceLocation(source, locInfo) {
+                    this.source = source;
+                    this.start = {
+                        line: locInfo.first_line,
+                        column: locInfo.first_column
+                    };
+                    this.end = {
+                        line: locInfo.last_line,
+                        column: locInfo.last_column
+                    };
+                }
+
+                function id(token) {
+                    if (/^\[.*\]$/.test(token)) {
+                        return token.substring(1, token.length - 1);
+                    } else {
+                        return token;
+                    }
+                }
+
+                function stripFlags(open, close) {
+                    return {
+                        open: open.charAt(2) === '~',
+                        close: close.charAt(close.length - 3) === '~'
+                    };
+                }
+
+                function stripComment(comment) {
+                    return comment.replace(/^\{\{~?!-?-?/, '').replace(/-?-?~?\}\}$/, '');
+                }
+
+                function preparePath(data, parts, loc) {
+                    loc = this.locInfo(loc);
+
+                    var original = data ? '@' : '',
+                        dig = [],
+                        depth = 0;
+
+                    for (var i = 0, l = parts.length; i < l; i++) {
+                        var part = parts[i].part,
+
+                            // If we have [] syntax then we do not treat path references as operators,
+                            // i.e. foo.[this] resolves to approximately context.foo['this']
+                            isLiteral = parts[i].original !== part;
+                        original += (parts[i].separator || '') + part;
+
+                        if (!isLiteral && (part === '..' || part === '.' || part === 'this')) {
+                            if (dig.length > 0) {
+                                throw new _exception2['default']('Invalid path: ' + original, {loc: loc});
+                            } else if (part === '..') {
+                                depth++;
+                            }
+                        } else {
+                            dig.push(part);
+                        }
+                    }
+
+                    return {
+                        type: 'PathExpression',
+                        data: data,
+                        depth: depth,
+                        parts: dig,
+                        original: original,
+                        loc: loc
+                    };
+                }
+
+                function prepareMustache(path, params, hash, open, strip, locInfo) {
+                    // Must use charAt to support IE pre-10
+                    var escapeFlag = open.charAt(3) || open.charAt(2),
+                        escaped = escapeFlag !== '{' && escapeFlag !== '&';
+
+                    var decorator = /\*/.test(open);
+                    return {
+                        type: decorator ? 'Decorator' : 'MustacheStatement',
+                        path: path,
+                        params: params,
+                        hash: hash,
+                        escaped: escaped,
+                        strip: strip,
+                        loc: this.locInfo(locInfo)
+                    };
+                }
+
+                function prepareRawBlock(openRawBlock, contents, close, locInfo) {
+                    validateClose(openRawBlock, close);
+
+                    locInfo = this.locInfo(locInfo);
+                    var program = {
+                        type: 'Program',
+                        body: contents,
+                        strip: {},
+                        loc: locInfo
+                    };
+
+                    return {
+                        type: 'BlockStatement',
+                        path: openRawBlock.path,
+                        params: openRawBlock.params,
+                        hash: openRawBlock.hash,
+                        program: program,
+                        openStrip: {},
+                        inverseStrip: {},
+                        closeStrip: {},
+                        loc: locInfo
+                    };
+                }
+
+                function prepareBlock(openBlock, program, inverseAndProgram, close, inverted, locInfo) {
+                    if (close && close.path) {
+                        validateClose(openBlock, close);
+                    }
+
+                    var decorator = /\*/.test(openBlock.open);
+
+                    program.blockParams = openBlock.blockParams;
+
+                    var inverse = undefined,
+                        inverseStrip = undefined;
+
+                    if (inverseAndProgram) {
+                        if (decorator) {
+                            throw new _exception2['default']('Unexpected inverse block on decorator', inverseAndProgram);
+                        }
+
+                        if (inverseAndProgram.chain) {
+                            inverseAndProgram.program.body[0].closeStrip = close.strip;
+                        }
+
+                        inverseStrip = inverseAndProgram.strip;
+                        inverse = inverseAndProgram.program;
+                    }
+
+                    if (inverted) {
+                        inverted = inverse;
+                        inverse = program;
+                        program = inverted;
+                    }
+
+                    return {
+                        type: decorator ? 'DecoratorBlock' : 'BlockStatement',
+                        path: openBlock.path,
+                        params: openBlock.params,
+                        hash: openBlock.hash,
+                        program: program,
+                        inverse: inverse,
+                        openStrip: openBlock.strip,
+                        inverseStrip: inverseStrip,
+                        closeStrip: close && close.strip,
+                        loc: this.locInfo(locInfo)
+                    };
+                }
+
+                function prepareProgram(statements, loc) {
+                    if (!loc && statements.length) {
+                        var firstLoc = statements[0].loc,
+                            lastLoc = statements[statements.length - 1].loc;
+
+                        /* istanbul ignore else */
+                        if (firstLoc && lastLoc) {
+                            loc = {
+                                source: firstLoc.source,
+                                start: {
+                                    line: firstLoc.start.line,
+                                    column: firstLoc.start.column
+                                },
+                                end: {
+                                    line: lastLoc.end.line,
+                                    column: lastLoc.end.column
+                                }
+                            };
+                        }
+                    }
+
+                    return {
+                        type: 'Program',
+                        body: statements,
+                        strip: {},
+                        loc: loc
+                    };
+                }
+
+                function preparePartialBlock(open, program, close, locInfo) {
+                    validateClose(open, close);
+
+                    return {
+                        type: 'PartialBlockStatement',
+                        name: open.path,
+                        params: open.params,
+                        hash: open.hash,
+                        program: program,
+                        openStrip: open.strip,
+                        closeStrip: close && close.strip,
+                        loc: this.locInfo(locInfo)
+                    };
+                }
+
+                /***/
+            }),
+            /* 46 */
+            /***/ (function (module, exports, __webpack_require__) {
+
+                /* eslint-disable new-cap */
+
+                'use strict';
+
+                var _Object$create = __webpack_require__(47)['default'];
+
+                var _interopRequireDefault = __webpack_require__(1)['default'];
+
+                exports.__esModule = true;
+                exports.Compiler = Compiler;
+                exports.precompile = precompile;
+                exports.compile = compile;
+
+                var _exception = __webpack_require__(6);
+
+                var _exception2 = _interopRequireDefault(_exception);
+
+                var _utils = __webpack_require__(5);
+
+                var _ast = __webpack_require__(40);
+
+                var _ast2 = _interopRequireDefault(_ast);
+
+                var slice = [].slice;
+
+                function Compiler() {
+                }
+
+                // the foundHelper register will disambiguate helper lookup from finding a
+                // function in a context. This is necessary for mustache compatibility, which
+                // requires that context functions in blocks are evaluated by blockHelperMissing,
+                // and then proceed as if the resulting value was provided to blockHelperMissing.
+
+                Compiler.prototype = {
+                    compiler: Compiler,
+
+                    equals: function equals(other) {
+                        var len = this.opcodes.length;
+                        if (other.opcodes.length !== len) {
+                            return false;
+                        }
+
+                        for (var i = 0; i < len; i++) {
+                            var opcode = this.opcodes[i],
+                                otherOpcode = other.opcodes[i];
+                            if (opcode.opcode !== otherOpcode.opcode || !argEquals(opcode.args, otherOpcode.args)) {
+                                return false;
+                            }
+                        }
+
+                        // We know that length is the same between the two arrays because they are directly tied
+                        // to the opcode behavior above.
+                        len = this.children.length;
+                        for (var i = 0; i < len; i++) {
+                            if (!this.children[i].equals(other.children[i])) {
+                                return false;
+                            }
+                        }
+
+                        return true;
+                    },
+
+                    guid: 0,
+
+                    compile: function compile(program, options) {
+                        this.sourceNode = [];
+                        this.opcodes = [];
+                        this.children = [];
+                        this.options = options;
+                        this.stringParams = options.stringParams;
+                        this.trackIds = options.trackIds;
+
+                        options.blockParams = options.blockParams || [];
+
+                        options.knownHelpers = _utils.extend(_Object$create(null), {
+                            'helperMissing': true,
+                            'blockHelperMissing': true,
+                            'each': true,
+                            'if': true,
+                            'unless': true,
+                            'with': true,
+                            'log': true,
+                            'lookup': true
+                        }, options.knownHelpers);
+
+                        return this.accept(program);
+                    },
+
+                    compileProgram: function compileProgram(program) {
+                        var childCompiler = new this.compiler(),
+                            // eslint-disable-line new-cap
+                            result = childCompiler.compile(program, this.options),
+                            guid = this.guid++;
+
+                        this.usePartial = this.usePartial || result.usePartial;
+
+                        this.children[guid] = result;
+                        this.useDepths = this.useDepths || result.useDepths;
+
+                        return guid;
+                    },
+
+                    accept: function accept(node) {
+                        /* istanbul ignore next: Sanity code */
+                        if (!this[node.type]) {
+                            throw new _exception2['default']('Unknown type: ' + node.type, node);
+                        }
+
+                        this.sourceNode.unshift(node);
+                        var ret = this[node.type](node);
+                        this.sourceNode.shift();
+                        return ret;
+                    },
+
+                    Program: function Program(program) {
+                        this.options.blockParams.unshift(program.blockParams);
+
+                        var body = program.body,
+                            bodyLength = body.length;
+                        for (var i = 0; i < bodyLength; i++) {
+                            this.accept(body[i]);
+                        }
+
+                        this.options.blockParams.shift();
+
+                        this.isSimple = bodyLength === 1;
+                        this.blockParams = program.blockParams ? program.blockParams.length : 0;
+
+                        return this;
+                    },
+
+                    BlockStatement: function BlockStatement(block) {
+                        transformLiteralToPath(block);
+
+                        var program = block.program,
+                            inverse = block.inverse;
+
+                        program = program && this.compileProgram(program);
+                        inverse = inverse && this.compileProgram(inverse);
+
+                        var type = this.classifySexpr(block);
+
+                        if (type === 'helper') {
+                            this.helperSexpr(block, program, inverse);
+                        } else if (type === 'simple') {
+                            this.simpleSexpr(block);
+
+                            // now that the simple mustache is resolved, we need to
+                            // evaluate it by executing `blockHelperMissing`
+                            this.opcode('pushProgram', program);
+                            this.opcode('pushProgram', inverse);
+                            this.opcode('emptyHash');
+                            this.opcode('blockValue', block.path.original);
+                        } else {
+                            this.ambiguousSexpr(block, program, inverse);
+
+                            // now that the simple mustache is resolved, we need to
+                            // evaluate it by executing `blockHelperMissing`
+                            this.opcode('pushProgram', program);
+                            this.opcode('pushProgram', inverse);
+                            this.opcode('emptyHash');
+                            this.opcode('ambiguousBlockValue');
+                        }
+
+                        this.opcode('append');
+                    },
+
+                    DecoratorBlock: function DecoratorBlock(decorator) {
+                        var program = decorator.program && this.compileProgram(decorator.program);
+                        var params = this.setupFullMustacheParams(decorator, program, undefined),
+                            path = decorator.path;
+
+                        this.useDecorators = true;
+                        this.opcode('registerDecorator', params.length, path.original);
+                    },
+
+                    PartialStatement: function PartialStatement(partial) {
+                        this.usePartial = true;
+
+                        var program = partial.program;
+                        if (program) {
+                            program = this.compileProgram(partial.program);
+                        }
+
+                        var params = partial.params;
+                        if (params.length > 1) {
+                            throw new _exception2['default']('Unsupported number of partial arguments: ' + params.length, partial);
+                        } else if (!params.length) {
+                            if (this.options.explicitPartialContext) {
+                                this.opcode('pushLiteral', 'undefined');
+                            } else {
+                                params.push({type: 'PathExpression', parts: [], depth: 0});
+                            }
+                        }
+
+                        var partialName = partial.name.original,
+                            isDynamic = partial.name.type === 'SubExpression';
+                        if (isDynamic) {
+                            this.accept(partial.name);
+                        }
+
+                        this.setupFullMustacheParams(partial, program, undefined, true);
+
+                        var indent = partial.indent || '';
+                        if (this.options.preventIndent && indent) {
+                            this.opcode('appendContent', indent);
+                            indent = '';
+                        }
+
+                        this.opcode('invokePartial', isDynamic, partialName, indent);
+                        this.opcode('append');
+                    },
+                    PartialBlockStatement: function PartialBlockStatement(partialBlock) {
+                        this.PartialStatement(partialBlock);
+                    },
+
+                    MustacheStatement: function MustacheStatement(mustache) {
+                        this.SubExpression(mustache);
+
+                        if (mustache.escaped && !this.options.noEscape) {
+                            this.opcode('appendEscaped');
+                        } else {
+                            this.opcode('append');
+                        }
+                    },
+                    Decorator: function Decorator(decorator) {
+                        this.DecoratorBlock(decorator);
+                    },
+
+                    ContentStatement: function ContentStatement(content) {
+                        if (content.value) {
+                            this.opcode('appendContent', content.value);
+                        }
+                    },
+
+                    CommentStatement: function CommentStatement() {
+                    },
+
+                    SubExpression: function SubExpression(sexpr) {
+                        transformLiteralToPath(sexpr);
+                        var type = this.classifySexpr(sexpr);
+
+                        if (type === 'simple') {
+                            this.simpleSexpr(sexpr);
+                        } else if (type === 'helper') {
+                            this.helperSexpr(sexpr);
+                        } else {
+                            this.ambiguousSexpr(sexpr);
+                        }
+                    },
+                    ambiguousSexpr: function ambiguousSexpr(sexpr, program, inverse) {
+                        var path = sexpr.path,
+                            name = path.parts[0],
+                            isBlock = program != null || inverse != null;
+
+                        this.opcode('getContext', path.depth);
+
+                        this.opcode('pushProgram', program);
+                        this.opcode('pushProgram', inverse);
+
+                        path.strict = true;
+                        this.accept(path);
+
+                        this.opcode('invokeAmbiguous', name, isBlock);
+                    },
+
+                    simpleSexpr: function simpleSexpr(sexpr) {
+                        var path = sexpr.path;
+                        path.strict = true;
+                        this.accept(path);
+                        this.opcode('resolvePossibleLambda');
+                    },
+
+                    helperSexpr: function helperSexpr(sexpr, program, inverse) {
+                        var params = this.setupFullMustacheParams(sexpr, program, inverse),
+                            path = sexpr.path,
+                            name = path.parts[0];
+
+                        if (this.options.knownHelpers[name]) {
+                            this.opcode('invokeKnownHelper', params.length, name);
+                        } else if (this.options.knownHelpersOnly) {
+                            throw new _exception2['default']('You specified knownHelpersOnly, but used the unknown helper ' + name, sexpr);
+                        } else {
+                            path.strict = true;
+                            path.falsy = true;
+
+                            this.accept(path);
+                            this.opcode('invokeHelper', params.length, path.original, _ast2['default'].helpers.simpleId(path));
+                        }
+                    },
+
+                    PathExpression: function PathExpression(path) {
+                        this.addDepth(path.depth);
+                        this.opcode('getContext', path.depth);
+
+                        var name = path.parts[0],
+                            scoped = _ast2['default'].helpers.scopedId(path),
+                            blockParamId = !path.depth && !scoped && this.blockParamIndex(name);
+
+                        if (blockParamId) {
+                            this.opcode('lookupBlockParam', blockParamId, path.parts);
+                        } else if (!name) {
+                            // Context reference, i.e. `{{foo .}}` or `{{foo ..}}`
+                            this.opcode('pushContext');
+                        } else if (path.data) {
+                            this.options.data = true;
+                            this.opcode('lookupData', path.depth, path.parts, path.strict);
+                        } else {
+                            this.opcode('lookupOnContext', path.parts, path.falsy, path.strict, scoped);
+                        }
+                    },
+
+                    StringLiteral: function StringLiteral(string) {
+                        this.opcode('pushString', string.value);
+                    },
+
+                    NumberLiteral: function NumberLiteral(number) {
+                        this.opcode('pushLiteral', number.value);
+                    },
+
+                    BooleanLiteral: function BooleanLiteral(bool) {
+                        this.opcode('pushLiteral', bool.value);
+                    },
+
+                    UndefinedLiteral: function UndefinedLiteral() {
+                        this.opcode('pushLiteral', 'undefined');
+                    },
+
+                    NullLiteral: function NullLiteral() {
+                        this.opcode('pushLiteral', 'null');
+                    },
+
+                    Hash: function Hash(hash) {
+                        var pairs = hash.pairs,
+                            i = 0,
+                            l = pairs.length;
+
+                        this.opcode('pushHash');
+
+                        for (; i < l; i++) {
+                            this.pushParam(pairs[i].value);
+                        }
+                        while (i--) {
+                            this.opcode('assignToHash', pairs[i].key);
+                        }
+                        this.opcode('popHash');
+                    },
+
+                    // HELPERS
+                    opcode: function opcode(name) {
+                        this.opcodes.push({opcode: name, args: slice.call(arguments, 1), loc: this.sourceNode[0].loc});
+                    },
+
+                    addDepth: function addDepth(depth) {
+                        if (!depth) {
+                            return;
+                        }
+
+                        this.useDepths = true;
+                    },
+
+                    classifySexpr: function classifySexpr(sexpr) {
+                        var isSimple = _ast2['default'].helpers.simpleId(sexpr.path);
+
+                        var isBlockParam = isSimple && !!this.blockParamIndex(sexpr.path.parts[0]);
+
+                        // a mustache is an eligible helper if:
+                        // * its id is simple (a single part, not `this` or `..`)
+                        var isHelper = !isBlockParam && _ast2['default'].helpers.helperExpression(sexpr);
+
+                        // if a mustache is an eligible helper but not a definite
+                        // helper, it is ambiguous, and will be resolved in a later
+                        // pass or at runtime.
+                        var isEligible = !isBlockParam && (isHelper || isSimple);
+
+                        // if ambiguous, we can possibly resolve the ambiguity now
+                        // An eligible helper is one that does not have a complex path, i.e. `this.foo`, `../foo` etc.
+                        if (isEligible && !isHelper) {
+                            var _name = sexpr.path.parts[0],
+                                options = this.options;
+                            if (options.knownHelpers[_name]) {
+                                isHelper = true;
+                            } else if (options.knownHelpersOnly) {
+                                isEligible = false;
+                            }
+                        }
+
+                        if (isHelper) {
+                            return 'helper';
+                        } else if (isEligible) {
+                            return 'ambiguous';
+                        } else {
+                            return 'simple';
+                        }
+                    },
+
+                    pushParams: function pushParams(params) {
+                        for (var i = 0, l = params.length; i < l; i++) {
+                            this.pushParam(params[i]);
+                        }
+                    },
+
+                    pushParam: function pushParam(val) {
+                        var value = val.value != null ? val.value : val.original || '';
+
+                        if (this.stringParams) {
+                            if (value.replace) {
+                                value = value.replace(/^(\.?\.\/)*/g, '').replace(/\//g, '.');
+                            }
+
+                            if (val.depth) {
+                                this.addDepth(val.depth);
+                            }
+                            this.opcode('getContext', val.depth || 0);
+                            this.opcode('pushStringParam', value, val.type);
+
+                            if (val.type === 'SubExpression') {
+                                // SubExpressions get evaluated and passed in
+                                // in string params mode.
+                                this.accept(val);
+                            }
+                        } else {
+                            if (this.trackIds) {
+                                var blockParamIndex = undefined;
+                                if (val.parts && !_ast2['default'].helpers.scopedId(val) && !val.depth) {
+                                    blockParamIndex = this.blockParamIndex(val.parts[0]);
+                                }
+                                if (blockParamIndex) {
+                                    var blockParamChild = val.parts.slice(1).join('.');
+                                    this.opcode('pushId', 'BlockParam', blockParamIndex, blockParamChild);
+                                } else {
+                                    value = val.original || value;
+                                    if (value.replace) {
+                                        value = value.replace(/^this(?:\.|$)/, '').replace(/^\.\//, '').replace(/^\.$/, '');
+                                    }
+
+                                    this.opcode('pushId', val.type, value);
+                                }
+                            }
+                            this.accept(val);
+                        }
+                    },
+
+                    setupFullMustacheParams: function setupFullMustacheParams(sexpr, program, inverse, omitEmpty) {
+                        var params = sexpr.params;
+                        this.pushParams(params);
+
+                        this.opcode('pushProgram', program);
+                        this.opcode('pushProgram', inverse);
+
+                        if (sexpr.hash) {
+                            this.accept(sexpr.hash);
+                        } else {
+                            this.opcode('emptyHash', omitEmpty);
+                        }
+
+                        return params;
+                    },
+
+                    blockParamIndex: function blockParamIndex(name) {
+                        for (var depth = 0, len = this.options.blockParams.length; depth < len; depth++) {
+                            var blockParams = this.options.blockParams[depth],
+                                param = blockParams && _utils.indexOf(blockParams, name);
+                            if (blockParams && param >= 0) {
+                                return [depth, param];
+                            }
+                        }
+                    }
+                };
+
+                function precompile(input, options, env) {
+                    if (input == null || typeof input !== 'string' && input.type !== 'Program') {
+                        throw new _exception2['default']('You must pass a string or Handlebars AST to Handlebars.precompile. You passed ' + input);
+                    }
+
+                    options = options || {};
+                    if (!('data' in options)) {
+                        options.data = true;
+                    }
+                    if (options.compat) {
+                        options.useDepths = true;
+                    }
+
+                    var ast = env.parse(input, options),
+                        environment = new env.Compiler().compile(ast, options);
+                    return new env.JavaScriptCompiler().compile(environment, options);
+                }
+
+                function compile(input, options, env) {
+                    if (options === undefined) options = {};
+
+                    if (input == null || typeof input !== 'string' && input.type !== 'Program') {
+                        throw new _exception2['default']('You must pass a string or Handlebars AST to Handlebars.compile. You passed ' + input);
+                    }
+
+                    options = _utils.extend({}, options);
+                    if (!('data' in options)) {
+                        options.data = true;
+                    }
+                    if (options.compat) {
+                        options.useDepths = true;
+                    }
+
+                    var compiled = undefined;
+
+                    function compileInput() {
+                        var ast = env.parse(input, options),
+                            environment = new env.Compiler().compile(ast, options),
+                            templateSpec = new env.JavaScriptCompiler().compile(environment, options, undefined, true);
+                        return env.template(templateSpec);
+                    }
+
+                    // Template is only compiled on first use and cached after that point.
+                    function ret(context, execOptions) {
+                        if (!compiled) {
+                            compiled = compileInput();
+                        }
+                        return compiled.call(this, context, execOptions);
+                    }
+
+                    ret._setup = function (setupOptions) {
+                        if (!compiled) {
+                            compiled = compileInput();
+                        }
+                        return compiled._setup(setupOptions);
+                    };
+                    ret._child = function (i, data, blockParams, depths) {
+                        if (!compiled) {
+                            compiled = compileInput();
+                        }
+                        return compiled._child(i, data, blockParams, depths);
+                    };
+                    return ret;
+                }
+
+                function argEquals(a, b) {
+                    if (a === b) {
+                        return true;
+                    }
+
+                    if (_utils.isArray(a) && _utils.isArray(b) && a.length === b.length) {
+                        for (var i = 0; i < a.length; i++) {
+                            if (!argEquals(a[i], b[i])) {
+                                return false;
+                            }
+                        }
+                        return true;
+                    }
+                }
+
+                function transformLiteralToPath(sexpr) {
+                    if (!sexpr.path.parts) {
+                        var literal = sexpr.path;
+                        // Casting to string here to make false and 0 literal values play nicely with the rest
+                        // of the system.
+                        sexpr.path = {
+                            type: 'PathExpression',
+                            data: false,
+                            depth: 0,
+                            parts: [literal.original + ''],
+                            original: literal.original + '',
+                            loc: literal.loc
+                        };
+                    }
+                }
+
+                /***/
+            }),
+            /* 47 */
+            /***/ (function (module, exports, __webpack_require__) {
+
+                module.exports = {"default": __webpack_require__(48), __esModule: true};
+
+                /***/
+            }),
+            /* 48 */
+            /***/ (function (module, exports, __webpack_require__) {
+
+                var $ = __webpack_require__(9);
+                module.exports = function create(P, D) {
+                    return $.create(P, D);
+                };
+
+                /***/
+            }),
+            /* 49 */
+            /***/ (function (module, exports, __webpack_require__) {
+
+                'use strict';
+
+                var _Object$keys = __webpack_require__(13)['default'];
+
+                var _interopRequireDefault = __webpack_require__(1)['default'];
+
+                exports.__esModule = true;
+
+                var _base = __webpack_require__(4);
+
+                var _exception = __webpack_require__(6);
+
+                var _exception2 = _interopRequireDefault(_exception);
+
+                var _utils = __webpack_require__(5);
+
+                var _codeGen = __webpack_require__(50);
+
+                var _codeGen2 = _interopRequireDefault(_codeGen);
+
+                var _helpersLookup = __webpack_require__(28);
+
+                function Literal(value) {
+                    this.value = value;
+                }
+
+                function JavaScriptCompiler() {
+                }
+
+                JavaScriptCompiler.prototype = {
+                    // PUBLIC API: You can override these methods in a subclass to provide
+                    // alternative compiled forms for name lookup and buffering semantics
+                    nameLookup: function nameLookup(parent, name /* , type*/) {
+                        if (_helpersLookup.dangerousPropertyRegex.test(name)) {
+                            var isEnumerable = [this.aliasable('container.propertyIsEnumerable'), '.call(', parent, ',', JSON.stringify(name), ')'];
+                            return ['(', isEnumerable, '?', _actualLookup(), ' : undefined)'];
+                        }
+                        return _actualLookup();
+
+                        function _actualLookup() {
+                            if (JavaScriptCompiler.isValidJavaScriptVariableName(name)) {
+                                return [parent, '.', name];
+                            } else {
+                                return [parent, '[', JSON.stringify(name), ']'];
+                            }
+                        }
+                    },
+                    depthedLookup: function depthedLookup(name) {
+                        return [this.aliasable('container.lookup'), '(depths, "', name, '")'];
+                    },
+
+                    compilerInfo: function compilerInfo() {
+                        var revision = _base.COMPILER_REVISION,
+                            versions = _base.REVISION_CHANGES[revision];
+                        return [revision, versions];
+                    },
+
+                    appendToBuffer: function appendToBuffer(source, location, explicit) {
+                        // Force a source as this simplifies the merge logic.
+                        if (!_utils.isArray(source)) {
+                            source = [source];
+                        }
+                        source = this.source.wrap(source, location);
+
+                        if (this.environment.isSimple) {
+                            return ['return ', source, ';'];
+                        } else if (explicit) {
+                            // This is a case where the buffer operation occurs as a child of another
+                            // construct, generally braces. We have to explicitly output these buffer
+                            // operations to ensure that the emitted code goes in the correct location.
+                            return ['buffer += ', source, ';'];
+                        } else {
+                            source.appendToBuffer = true;
+                            return source;
+                        }
+                    },
+
+                    initializeBuffer: function initializeBuffer() {
+                        return this.quotedString('');
+                    },
+                    // END PUBLIC API
+
+                    compile: function compile(environment, options, context, asObject) {
+                        this.environment = environment;
+                        this.options = options;
+                        this.stringParams = this.options.stringParams;
+                        this.trackIds = this.options.trackIds;
+                        this.precompile = !asObject;
+
+                        this.name = this.environment.name;
+                        this.isChild = !!context;
+                        this.context = context || {
+                            decorators: [],
+                            programs: [],
+                            environments: []
+                        };
+
+                        this.preamble();
+
+                        this.stackSlot = 0;
+                        this.stackVars = [];
+                        this.aliases = {};
+                        this.registers = {list: []};
+                        this.hashes = [];
+                        this.compileStack = [];
+                        this.inlineStack = [];
+                        this.blockParams = [];
+
+                        this.compileChildren(environment, options);
+
+                        this.useDepths = this.useDepths || environment.useDepths || environment.useDecorators || this.options.compat;
+                        this.useBlockParams = this.useBlockParams || environment.useBlockParams;
+
+                        var opcodes = environment.opcodes,
+                            opcode = undefined,
+                            firstLoc = undefined,
+                            i = undefined,
+                            l = undefined;
+
+                        for (i = 0, l = opcodes.length; i < l; i++) {
+                            opcode = opcodes[i];
+
+                            this.source.currentLocation = opcode.loc;
+                            firstLoc = firstLoc || opcode.loc;
+                            this[opcode.opcode].apply(this, opcode.args);
+                        }
+
+                        // Flush any trailing content that might be pending.
+                        this.source.currentLocation = firstLoc;
+                        this.pushSource('');
+
+                        /* istanbul ignore next */
+                        if (this.stackSlot || this.inlineStack.length || this.compileStack.length) {
+                            throw new _exception2['default']('Compile completed with content left on stack');
+                        }
+
+                        if (!this.decorators.isEmpty()) {
+                            this.useDecorators = true;
+
+                            this.decorators.prepend('var decorators = container.decorators;\n');
+                            this.decorators.push('return fn;');
+
+                            if (asObject) {
+                                this.decorators = Function.apply(this, ['fn', 'props', 'container', 'depth0', 'data', 'blockParams', 'depths', this.decorators.merge()]);
+                            } else {
+                                this.decorators.prepend('function(fn, props, container, depth0, data, blockParams, depths) {\n');
+                                this.decorators.push('}\n');
+                                this.decorators = this.decorators.merge();
+                            }
+                        } else {
+                            this.decorators = undefined;
+                        }
+
+                        var fn = this.createFunctionContext(asObject);
+                        if (!this.isChild) {
+                            var ret = {
+                                compiler: this.compilerInfo(),
+                                main: fn
+                            };
+
+                            if (this.decorators) {
+                                ret.main_d = this.decorators; // eslint-disable-line camelcase
+                                ret.useDecorators = true;
+                            }
+
+                            var _context = this.context;
+                            var programs = _context.programs;
+                            var decorators = _context.decorators;
+
+                            for (i = 0, l = programs.length; i < l; i++) {
+                                if (programs[i]) {
+                                    ret[i] = programs[i];
+                                    if (decorators[i]) {
+                                        ret[i + '_d'] = decorators[i];
+                                        ret.useDecorators = true;
+                                    }
+                                }
+                            }
+
+                            if (this.environment.usePartial) {
+                                ret.usePartial = true;
+                            }
+                            if (this.options.data) {
+                                ret.useData = true;
+                            }
+                            if (this.useDepths) {
+                                ret.useDepths = true;
+                            }
+                            if (this.useBlockParams) {
+                                ret.useBlockParams = true;
+                            }
+                            if (this.options.compat) {
+                                ret.compat = true;
+                            }
+
+                            if (!asObject) {
+                                ret.compiler = JSON.stringify(ret.compiler);
+
+                                this.source.currentLocation = {start: {line: 1, column: 0}};
+                                ret = this.objectLiteral(ret);
+
+                                if (options.srcName) {
+                                    ret = ret.toStringWithSourceMap({file: options.destName});
+                                    ret.map = ret.map && ret.map.toString();
+                                } else {
+                                    ret = ret.toString();
+                                }
+                            } else {
+                                ret.compilerOptions = this.options;
+                            }
+
+                            return ret;
+                        } else {
+                            return fn;
+                        }
+                    },
+
+                    preamble: function preamble() {
+                        // track the last context pushed into place to allow skipping the
+                        // getContext opcode when it would be a noop
+                        this.lastContext = 0;
+                        this.source = new _codeGen2['default'](this.options.srcName);
+                        this.decorators = new _codeGen2['default'](this.options.srcName);
+                    },
+
+                    createFunctionContext: function createFunctionContext(asObject) {
+                        // istanbul ignore next
+
+                        var _this = this;
+
+                        var varDeclarations = '';
+
+                        var locals = this.stackVars.concat(this.registers.list);
+                        if (locals.length > 0) {
+                            varDeclarations += ', ' + locals.join(', ');
+                        }
+
+                        // Generate minimizer alias mappings
+                        //
+                        // When using true SourceNodes, this will update all references to the given alias
+                        // as the source nodes are reused in situ. For the non-source node compilation mode,
+                        // aliases will not be used, but this case is already being run on the client and
+                        // we aren't concern about minimizing the template size.
+                        var aliasCount = 0;
+                        _Object$keys(this.aliases).forEach(function (alias) {
+                            var node = _this.aliases[alias];
+                            if (node.children && node.referenceCount > 1) {
+                                varDeclarations += ', alias' + ++aliasCount + '=' + alias;
+                                node.children[0] = 'alias' + aliasCount;
+                            }
+                        });
+
+                        var params = ['container', 'depth0', 'helpers', 'partials', 'data'];
+
+                        if (this.useBlockParams || this.useDepths) {
+                            params.push('blockParams');
+                        }
+                        if (this.useDepths) {
+                            params.push('depths');
+                        }
+
+                        // Perform a second pass over the output to merge content when possible
+                        var source = this.mergeSource(varDeclarations);
+
+                        if (asObject) {
+                            params.push(source);
+
+                            return Function.apply(this, params);
+                        } else {
+                            return this.source.wrap(['function(', params.join(','), ') {\n  ', source, '}']);
+                        }
+                    },
+                    mergeSource: function mergeSource(varDeclarations) {
+                        var isSimple = this.environment.isSimple,
+                            appendOnly = !this.forceBuffer,
+                            appendFirst = undefined,
+                            sourceSeen = undefined,
+                            bufferStart = undefined,
+                            bufferEnd = undefined;
+                        this.source.each(function (line) {
+                            if (line.appendToBuffer) {
+                                if (bufferStart) {
+                                    line.prepend('  + ');
+                                } else {
+                                    bufferStart = line;
+                                }
+                                bufferEnd = line;
+                            } else {
+                                if (bufferStart) {
+                                    if (!sourceSeen) {
+                                        appendFirst = true;
+                                    } else {
+                                        bufferStart.prepend('buffer += ');
+                                    }
+                                    bufferEnd.add(';');
+                                    bufferStart = bufferEnd = undefined;
+                                }
+
+                                sourceSeen = true;
+                                if (!isSimple) {
+                                    appendOnly = false;
+                                }
+                            }
+                        });
+
+                        if (appendOnly) {
+                            if (bufferStart) {
+                                bufferStart.prepend('return ');
+                                bufferEnd.add(';');
+                            } else if (!sourceSeen) {
+                                this.source.push('return "";');
+                            }
+                        } else {
+                            varDeclarations += ', buffer = ' + (appendFirst ? '' : this.initializeBuffer());
+
+                            if (bufferStart) {
+                                bufferStart.prepend('return buffer + ');
+                                bufferEnd.add(';');
+                            } else {
+                                this.source.push('return buffer;');
+                            }
+                        }
+
+                        if (varDeclarations) {
+                            this.source.prepend('var ' + varDeclarations.substring(2) + (appendFirst ? '' : ';\n'));
+                        }
+
+                        return this.source.merge();
+                    },
+
+                    // [blockValue]
+                    //
+                    // On stack, before: hash, inverse, program, value
+                    // On stack, after: return value of blockHelperMissing
+                    //
+                    // The purpose of this opcode is to take a block of the form
+                    // `{{#this.foo}}...{{/this.foo}}`, resolve the value of `foo`, and
+                    // replace it on the stack with the result of properly
+                    // invoking blockHelperMissing.
+                    blockValue: function blockValue(name) {
+                        var blockHelperMissing = this.aliasable('container.hooks.blockHelperMissing'),
+                            params = [this.contextName(0)];
+                        this.setupHelperArgs(name, 0, params);
+
+                        var blockName = this.popStack();
+                        params.splice(1, 0, blockName);
+
+                        this.push(this.source.functionCall(blockHelperMissing, 'call', params));
+                    },
+
+                    // [ambiguousBlockValue]
+                    //
+                    // On stack, before: hash, inverse, program, value
+                    // Compiler value, before: lastHelper=value of last found helper, if any
+                    // On stack, after, if no lastHelper: same as [blockValue]
+                    // On stack, after, if lastHelper: value
+                    ambiguousBlockValue: function ambiguousBlockValue() {
+                        // We're being a bit cheeky and reusing the options value from the prior exec
+                        var blockHelperMissing = this.aliasable('container.hooks.blockHelperMissing'),
+                            params = [this.contextName(0)];
+                        this.setupHelperArgs('', 0, params, true);
+
+                        this.flushInline();
+
+                        var current = this.topStack();
+                        params.splice(1, 0, current);
+
+                        this.pushSource(['if (!', this.lastHelper, ') { ', current, ' = ', this.source.functionCall(blockHelperMissing, 'call', params), '}']);
+                    },
+
+                    // [appendContent]
+                    //
+                    // On stack, before: ...
+                    // On stack, after: ...
+                    //
+                    // Appends the string value of `content` to the current buffer
+                    appendContent: function appendContent(content) {
+                        if (this.pendingContent) {
+                            content = this.pendingContent + content;
+                        } else {
+                            this.pendingLocation = this.source.currentLocation;
+                        }
+
+                        this.pendingContent = content;
+                    },
+
+                    // [append]
+                    //
+                    // On stack, before: value, ...
+                    // On stack, after: ...
+                    //
+                    // Coerces `value` to a String and appends it to the current buffer.
+                    //
+                    // If `value` is truthy, or 0, it is coerced into a string and appended
+                    // Otherwise, the empty string is appended
+                    append: function append() {
+                        if (this.isInline()) {
+                            this.replaceStack(function (current) {
+                                return [' != null ? ', current, ' : ""'];
+                            });
+
+                            this.pushSource(this.appendToBuffer(this.popStack()));
+                        } else {
+                            var local = this.popStack();
+                            this.pushSource(['if (', local, ' != null) { ', this.appendToBuffer(local, undefined, true), ' }']);
+                            if (this.environment.isSimple) {
+                                this.pushSource(['else { ', this.appendToBuffer("''", undefined, true), ' }']);
+                            }
+                        }
+                    },
+
+                    // [appendEscaped]
+                    //
+                    // On stack, before: value, ...
+                    // On stack, after: ...
+                    //
+                    // Escape `value` and append it to the buffer
+                    appendEscaped: function appendEscaped() {
+                        this.pushSource(this.appendToBuffer([this.aliasable('container.escapeExpression'), '(', this.popStack(), ')']));
+                    },
+
+                    // [getContext]
+                    //
+                    // On stack, before: ...
+                    // On stack, after: ...
+                    // Compiler value, after: lastContext=depth
+                    //
+                    // Set the value of the `lastContext` compiler value to the depth
+                    getContext: function getContext(depth) {
+                        this.lastContext = depth;
+                    },
+
+                    // [pushContext]
+                    //
+                    // On stack, before: ...
+                    // On stack, after: currentContext, ...
+                    //
+                    // Pushes the value of the current context onto the stack.
+                    pushContext: function pushContext() {
+                        this.pushStackLiteral(this.contextName(this.lastContext));
+                    },
+
+                    // [lookupOnContext]
+                    //
+                    // On stack, before: ...
+                    // On stack, after: currentContext[name], ...
+                    //
+                    // Looks up the value of `name` on the current context and pushes
+                    // it onto the stack.
+                    lookupOnContext: function lookupOnContext(parts, falsy, strict, scoped) {
+                        var i = 0;
+
+                        if (!scoped && this.options.compat && !this.lastContext) {
+                            // The depthed query is expected to handle the undefined logic for the root level that
+                            // is implemented below, so we evaluate that directly in compat mode
+                            this.push(this.depthedLookup(parts[i++]));
+                        } else {
+                            this.pushContext();
+                        }
+
+                        this.resolvePath('context', parts, i, falsy, strict);
+                    },
+
+                    // [lookupBlockParam]
+                    //
+                    // On stack, before: ...
+                    // On stack, after: blockParam[name], ...
+                    //
+                    // Looks up the value of `parts` on the given block param and pushes
+                    // it onto the stack.
+                    lookupBlockParam: function lookupBlockParam(blockParamId, parts) {
+                        this.useBlockParams = true;
+
+                        this.push(['blockParams[', blockParamId[0], '][', blockParamId[1], ']']);
+                        this.resolvePath('context', parts, 1);
+                    },
+
+                    // [lookupData]
+                    //
+                    // On stack, before: ...
+                    // On stack, after: data, ...
+                    //
+                    // Push the data lookup operator
+                    lookupData: function lookupData(depth, parts, strict) {
+                        if (!depth) {
+                            this.pushStackLiteral('data');
+                        } else {
+                            this.pushStackLiteral('container.data(data, ' + depth + ')');
+                        }
+
+                        this.resolvePath('data', parts, 0, true, strict);
+                    },
+
+                    resolvePath: function resolvePath(type, parts, i, falsy, strict) {
+                        // istanbul ignore next
+
+                        var _this2 = this;
+
+                        if (this.options.strict || this.options.assumeObjects) {
+                            this.push(strictLookup(this.options.strict && strict, this, parts, type));
+                            return;
+                        }
+
+                        var len = parts.length;
+                        for (; i < len; i++) {
+                            /* eslint-disable no-loop-func */
+                            this.replaceStack(function (current) {
+                                var lookup = _this2.nameLookup(current, parts[i], type);
+                                // We want to ensure that zero and false are handled properly if the context (falsy flag)
+                                // needs to have the special handling for these values.
+                                if (!falsy) {
+                                    return [' != null ? ', lookup, ' : ', current];
+                                } else {
+                                    // Otherwise we can use generic falsy handling
+                                    return [' && ', lookup];
+                                }
+                            });
+                            /* eslint-enable no-loop-func */
+                        }
+                    },
+
+                    // [resolvePossibleLambda]
+                    //
+                    // On stack, before: value, ...
+                    // On stack, after: resolved value, ...
+                    //
+                    // If the `value` is a lambda, replace it on the stack by
+                    // the return value of the lambda
+                    resolvePossibleLambda: function resolvePossibleLambda() {
+                        this.push([this.aliasable('container.lambda'), '(', this.popStack(), ', ', this.contextName(0), ')']);
+                    },
+
+                    // [pushStringParam]
+                    //
+                    // On stack, before: ...
+                    // On stack, after: string, currentContext, ...
+                    //
+                    // This opcode is designed for use in string mode, which
+                    // provides the string value of a parameter along with its
+                    // depth rather than resolving it immediately.
+                    pushStringParam: function pushStringParam(string, type) {
+                        this.pushContext();
+                        this.pushString(type);
+
+                        // If it's a subexpression, the string result
+                        // will be pushed after this opcode.
+                        if (type !== 'SubExpression') {
+                            if (typeof string === 'string') {
+                                this.pushString(string);
+                            } else {
+                                this.pushStackLiteral(string);
+                            }
+                        }
+                    },
+
+                    emptyHash: function emptyHash(omitEmpty) {
+                        if (this.trackIds) {
+                            this.push('{}'); // hashIds
+                        }
+                        if (this.stringParams) {
+                            this.push('{}'); // hashContexts
+                            this.push('{}'); // hashTypes
+                        }
+                        this.pushStackLiteral(omitEmpty ? 'undefined' : '{}');
+                    },
+                    pushHash: function pushHash() {
+                        if (this.hash) {
+                            this.hashes.push(this.hash);
+                        }
+                        this.hash = {values: {}, types: [], contexts: [], ids: []};
+                    },
+                    popHash: function popHash() {
+                        var hash = this.hash;
+                        this.hash = this.hashes.pop();
+
+                        if (this.trackIds) {
+                            this.push(this.objectLiteral(hash.ids));
+                        }
+                        if (this.stringParams) {
+                            this.push(this.objectLiteral(hash.contexts));
+                            this.push(this.objectLiteral(hash.types));
+                        }
+
+                        this.push(this.objectLiteral(hash.values));
+                    },
+
+                    // [pushString]
+                    //
+                    // On stack, before: ...
+                    // On stack, after: quotedString(string), ...
+                    //
+                    // Push a quoted version of `string` onto the stack
+                    pushString: function pushString(string) {
+                        this.pushStackLiteral(this.quotedString(string));
+                    },
+
+                    // [pushLiteral]
+                    //
+                    // On stack, before: ...
+                    // On stack, after: value, ...
+                    //
+                    // Pushes a value onto the stack. This operation prevents
+                    // the compiler from creating a temporary variable to hold
+                    // it.
+                    pushLiteral: function pushLiteral(value) {
+                        this.pushStackLiteral(value);
+                    },
+
+                    // [pushProgram]
+                    //
+                    // On stack, before: ...
+                    // On stack, after: program(guid), ...
+                    //
+                    // Push a program expression onto the stack. This takes
+                    // a compile-time guid and converts it into a runtime-accessible
+                    // expression.
+                    pushProgram: function pushProgram(guid) {
+                        if (guid != null) {
+                            this.pushStackLiteral(this.programExpression(guid));
+                        } else {
+                            this.pushStackLiteral(null);
+                        }
+                    },
+
+                    // [registerDecorator]
+                    //
+                    // On stack, before: hash, program, params..., ...
+                    // On stack, after: ...
+                    //
+                    // Pops off the decorator's parameters, invokes the decorator,
+                    // and inserts the decorator into the decorators list.
+                    registerDecorator: function registerDecorator(paramSize, name) {
+                        var foundDecorator = this.nameLookup('decorators', name, 'decorator'),
+                            options = this.setupHelperArgs(name, paramSize);
+
+                        this.decorators.push(['fn = ', this.decorators.functionCall(foundDecorator, '', ['fn', 'props', 'container', options]), ' || fn;']);
+                    },
+
+                    // [invokeHelper]
+                    //
+                    // On stack, before: hash, inverse, program, params..., ...
+                    // On stack, after: result of helper invocation
+                    //
+                    // Pops off the helper's parameters, invokes the helper,
+                    // and pushes the helper's return value onto the stack.
+                    //
+                    // If the helper is not found, `helperMissing` is called.
+                    invokeHelper: function invokeHelper(paramSize, name, isSimple) {
+                        var nonHelper = this.popStack(),
+                            helper = this.setupHelper(paramSize, name);
+
+                        var possibleFunctionCalls = [];
+
+                        if (isSimple) {
+                            // direct call to helper
+                            possibleFunctionCalls.push(helper.name);
+                        }
+                        // call a function from the input object
+                        possibleFunctionCalls.push(nonHelper);
+                        if (!this.options.strict) {
+                            possibleFunctionCalls.push(this.aliasable('container.hooks.helperMissing'));
+                        }
+
+                        var functionLookupCode = ['(', this.itemsSeparatedBy(possibleFunctionCalls, '||'), ')'];
+                        var functionCall = this.source.functionCall(functionLookupCode, 'call', helper.callParams);
+                        this.push(functionCall);
+                    },
+
+                    itemsSeparatedBy: function itemsSeparatedBy(items, separator) {
+                        var result = [];
+                        result.push(items[0]);
+                        for (var i = 1; i < items.length; i++) {
+                            result.push(separator, items[i]);
+                        }
+                        return result;
+                    },
+                    // [invokeKnownHelper]
+                    //
+                    // On stack, before: hash, inverse, program, params..., ...
+                    // On stack, after: result of helper invocation
+                    //
+                    // This operation is used when the helper is known to exist,
+                    // so a `helperMissing` fallback is not required.
+                    invokeKnownHelper: function invokeKnownHelper(paramSize, name) {
+                        var helper = this.setupHelper(paramSize, name);
+                        this.push(this.source.functionCall(helper.name, 'call', helper.callParams));
+                    },
+
+                    // [invokeAmbiguous]
+                    //
+                    // On stack, before: hash, inverse, program, params..., ...
+                    // On stack, after: result of disambiguation
+                    //
+                    // This operation is used when an expression like `{{foo}}`
+                    // is provided, but we don't know at compile-time whether it
+                    // is a helper or a path.
+                    //
+                    // This operation emits more code than the other options,
+                    // and can be avoided by passing the `knownHelpers` and
+                    // `knownHelpersOnly` flags at compile-time.
+                    invokeAmbiguous: function invokeAmbiguous(name, helperCall) {
+                        this.useRegister('helper');
+
+                        var nonHelper = this.popStack();
+
+                        this.emptyHash();
+                        var helper = this.setupHelper(0, name, helperCall);
+
+                        var helperName = this.lastHelper = this.nameLookup('helpers', name, 'helper');
+
+                        var lookup = ['(', '(helper = ', helperName, ' || ', nonHelper, ')'];
+                        if (!this.options.strict) {
+                            lookup[0] = '(helper = ';
+                            lookup.push(' != null ? helper : ', this.aliasable('container.hooks.helperMissing'));
+                        }
+
+                        this.push(['(', lookup, helper.paramsInit ? ['),(', helper.paramsInit] : [], '),', '(typeof helper === ', this.aliasable('"function"'), ' ? ', this.source.functionCall('helper', 'call', helper.callParams), ' : helper))']);
+                    },
+
+                    // [invokePartial]
+                    //
+                    // On stack, before: context, ...
+                    // On stack after: result of partial invocation
+                    //
+                    // This operation pops off a context, invokes a partial with that context,
+                    // and pushes the result of the invocation back.
+                    invokePartial: function invokePartial(isDynamic, name, indent) {
+                        var params = [],
+                            options = this.setupParams(name, 1, params);
+
+                        if (isDynamic) {
+                            name = this.popStack();
+                            delete options.name;
+                        }
+
+                        if (indent) {
+                            options.indent = JSON.stringify(indent);
+                        }
+                        options.helpers = 'helpers';
+                        options.partials = 'partials';
+                        options.decorators = 'container.decorators';
+
+                        if (!isDynamic) {
+                            params.unshift(this.nameLookup('partials', name, 'partial'));
+                        } else {
+                            params.unshift(name);
+                        }
+
+                        if (this.options.compat) {
+                            options.depths = 'depths';
+                        }
+                        options = this.objectLiteral(options);
+                        params.push(options);
+
+                        this.push(this.source.functionCall('container.invokePartial', '', params));
+                    },
+
+                    // [assignToHash]
+                    //
+                    // On stack, before: value, ..., hash, ...
+                    // On stack, after: ..., hash, ...
+                    //
+                    // Pops a value off the stack and assigns it to the current hash
+                    assignToHash: function assignToHash(key) {
+                        var value = this.popStack(),
+                            context = undefined,
+                            type = undefined,
+                            id = undefined;
+
+                        if (this.trackIds) {
+                            id = this.popStack();
+                        }
+                        if (this.stringParams) {
+                            type = this.popStack();
+                            context = this.popStack();
+                        }
+
+                        var hash = this.hash;
+                        if (context) {
+                            hash.contexts[key] = context;
+                        }
+                        if (type) {
+                            hash.types[key] = type;
+                        }
+                        if (id) {
+                            hash.ids[key] = id;
+                        }
+                        hash.values[key] = value;
+                    },
+
+                    pushId: function pushId(type, name, child) {
+                        if (type === 'BlockParam') {
+                            this.pushStackLiteral('blockParams[' + name[0] + '].path[' + name[1] + ']' + (child ? ' + ' + JSON.stringify('.' + child) : ''));
+                        } else if (type === 'PathExpression') {
+                            this.pushString(name);
+                        } else if (type === 'SubExpression') {
+                            this.pushStackLiteral('true');
+                        } else {
+                            this.pushStackLiteral('null');
+                        }
+                    },
+
+                    // HELPERS
+
+                    compiler: JavaScriptCompiler,
+
+                    compileChildren: function compileChildren(environment, options) {
+                        var children = environment.children,
+                            child = undefined,
+                            compiler = undefined;
+
+                        for (var i = 0, l = children.length; i < l; i++) {
+                            child = children[i];
+                            compiler = new this.compiler(); // eslint-disable-line new-cap
+
+                            var existing = this.matchExistingProgram(child);
+
+                            if (existing == null) {
+                                this.context.programs.push(''); // Placeholder to prevent name conflicts for nested children
+                                var index = this.context.programs.length;
+                                child.index = index;
+                                child.name = 'program' + index;
+                                this.context.programs[index] = compiler.compile(child, options, this.context, !this.precompile);
+                                this.context.decorators[index] = compiler.decorators;
+                                this.context.environments[index] = child;
+
+                                this.useDepths = this.useDepths || compiler.useDepths;
+                                this.useBlockParams = this.useBlockParams || compiler.useBlockParams;
+                                child.useDepths = this.useDepths;
+                                child.useBlockParams = this.useBlockParams;
+                            } else {
+                                child.index = existing.index;
+                                child.name = 'program' + existing.index;
+
+                                this.useDepths = this.useDepths || existing.useDepths;
+                                this.useBlockParams = this.useBlockParams || existing.useBlockParams;
+                            }
+                        }
+                    },
+                    matchExistingProgram: function matchExistingProgram(child) {
+                        for (var i = 0, len = this.context.environments.length; i < len; i++) {
+                            var environment = this.context.environments[i];
+                            if (environment && environment.equals(child)) {
+                                return environment;
+                            }
+                        }
+                    },
+
+                    programExpression: function programExpression(guid) {
+                        var child = this.environment.children[guid],
+                            programParams = [child.index, 'data', child.blockParams];
+
+                        if (this.useBlockParams || this.useDepths) {
+                            programParams.push('blockParams');
+                        }
+                        if (this.useDepths) {
+                            programParams.push('depths');
+                        }
+
+                        return 'container.program(' + programParams.join(', ') + ')';
+                    },
+
+                    useRegister: function useRegister(name) {
+                        if (!this.registers[name]) {
+                            this.registers[name] = true;
+                            this.registers.list.push(name);
+                        }
+                    },
+
+                    push: function push(expr) {
+                        if (!(expr instanceof Literal)) {
+                            expr = this.source.wrap(expr);
+                        }
+
+                        this.inlineStack.push(expr);
+                        return expr;
+                    },
+
+                    pushStackLiteral: function pushStackLiteral(item) {
+                        this.push(new Literal(item));
+                    },
+
+                    pushSource: function pushSource(source) {
+                        if (this.pendingContent) {
+                            this.source.push(this.appendToBuffer(this.source.quotedString(this.pendingContent), this.pendingLocation));
+                            this.pendingContent = undefined;
+                        }
+
+                        if (source) {
+                            this.source.push(source);
+                        }
+                    },
+
+                    replaceStack: function replaceStack(callback) {
+                        var prefix = ['('],
+                            stack = undefined,
+                            createdStack = undefined,
+                            usedLiteral = undefined;
+
+                        /* istanbul ignore next */
+                        if (!this.isInline()) {
+                            throw new _exception2['default']('replaceStack on non-inline');
+                        }
+
+                        // We want to merge the inline statement into the replacement statement via ','
+                        var top = this.popStack(true);
+
+                        if (top instanceof Literal) {
+                            // Literals do not need to be inlined
+                            stack = [top.value];
+                            prefix = ['(', stack];
+                            usedLiteral = true;
+                        } else {
+                            // Get or create the current stack name for use by the inline
+                            createdStack = true;
+                            var _name = this.incrStack();
+
+                            prefix = ['((', this.push(_name), ' = ', top, ')'];
+                            stack = this.topStack();
+                        }
+
+                        var item = callback.call(this, stack);
+
+                        if (!usedLiteral) {
+                            this.popStack();
+                        }
+                        if (createdStack) {
+                            this.stackSlot--;
+                        }
+                        this.push(prefix.concat(item, ')'));
+                    },
+
+                    incrStack: function incrStack() {
+                        this.stackSlot++;
+                        if (this.stackSlot > this.stackVars.length) {
+                            this.stackVars.push('stack' + this.stackSlot);
+                        }
+                        return this.topStackName();
+                    },
+                    topStackName: function topStackName() {
+                        return 'stack' + this.stackSlot;
+                    },
+                    flushInline: function flushInline() {
+                        var inlineStack = this.inlineStack;
+                        this.inlineStack = [];
+                        for (var i = 0, len = inlineStack.length; i < len; i++) {
+                            var entry = inlineStack[i];
+                            /* istanbul ignore if */
+                            if (entry instanceof Literal) {
+                                this.compileStack.push(entry);
+                            } else {
+                                var stack = this.incrStack();
+                                this.pushSource([stack, ' = ', entry, ';']);
+                                this.compileStack.push(stack);
+                            }
+                        }
+                    },
+                    isInline: function isInline() {
+                        return this.inlineStack.length;
+                    },
+
+                    popStack: function popStack(wrapped) {
+                        var inline = this.isInline(),
+                            item = (inline ? this.inlineStack : this.compileStack).pop();
+
+                        if (!wrapped && item instanceof Literal) {
+                            return item.value;
+                        } else {
+                            if (!inline) {
+                                /* istanbul ignore next */
+                                if (!this.stackSlot) {
+                                    throw new _exception2['default']('Invalid stack pop');
+                                }
+                                this.stackSlot--;
+                            }
+                            return item;
+                        }
+                    },
+
+                    topStack: function topStack() {
+                        var stack = this.isInline() ? this.inlineStack : this.compileStack,
+                            item = stack[stack.length - 1];
+
+                        /* istanbul ignore if */
+                        if (item instanceof Literal) {
+                            return item.value;
+                        } else {
+                            return item;
+                        }
+                    },
+
+                    contextName: function contextName(context) {
+                        if (this.useDepths && context) {
+                            return 'depths[' + context + ']';
+                        } else {
+                            return 'depth' + context;
+                        }
+                    },
+
+                    quotedString: function quotedString(str) {
+                        return this.source.quotedString(str);
+                    },
+
+                    objectLiteral: function objectLiteral(obj) {
+                        return this.source.objectLiteral(obj);
+                    },
+
+                    aliasable: function aliasable(name) {
+                        var ret = this.aliases[name];
+                        if (ret) {
+                            ret.referenceCount++;
+                            return ret;
+                        }
+
+                        ret = this.aliases[name] = this.source.wrap(name);
+                        ret.aliasable = true;
+                        ret.referenceCount = 1;
+
+                        return ret;
+                    },
+
+                    setupHelper: function setupHelper(paramSize, name, blockHelper) {
+                        var params = [],
+                            paramsInit = this.setupHelperArgs(name, paramSize, params, blockHelper);
+                        var foundHelper = this.nameLookup('helpers', name, 'helper'),
+                            callContext = this.aliasable(this.contextName(0) + ' != null ? ' + this.contextName(0) + ' : (container.nullContext || {})');
+
+                        return {
+                            params: params,
+                            paramsInit: paramsInit,
+                            name: foundHelper,
+                            callParams: [callContext].concat(params)
+                        };
+                    },
+
+                    setupParams: function setupParams(helper, paramSize, params) {
+                        var options = {},
+                            contexts = [],
+                            types = [],
+                            ids = [],
+                            objectArgs = !params,
+                            param = undefined;
+
+                        if (objectArgs) {
+                            params = [];
+                        }
+
+                        options.name = this.quotedString(helper);
+                        options.hash = this.popStack();
+
+                        if (this.trackIds) {
+                            options.hashIds = this.popStack();
+                        }
+                        if (this.stringParams) {
+                            options.hashTypes = this.popStack();
+                            options.hashContexts = this.popStack();
+                        }
+
+                        var inverse = this.popStack(),
+                            program = this.popStack();
+
+                        // Avoid setting fn and inverse if neither are set. This allows
+                        // helpers to do a check for `if (options.fn)`
+                        if (program || inverse) {
+                            options.fn = program || 'container.noop';
+                            options.inverse = inverse || 'container.noop';
+                        }
+
+                        // The parameters go on to the stack in order (making sure that they are evaluated in order)
+                        // so we need to pop them off the stack in reverse order
+                        var i = paramSize;
+                        while (i--) {
+                            param = this.popStack();
+                            params[i] = param;
+
+                            if (this.trackIds) {
+                                ids[i] = this.popStack();
+                            }
+                            if (this.stringParams) {
+                                types[i] = this.popStack();
+                                contexts[i] = this.popStack();
+                            }
+                        }
+
+                        if (objectArgs) {
+                            options.args = this.source.generateArray(params);
+                        }
+
+                        if (this.trackIds) {
+                            options.ids = this.source.generateArray(ids);
+                        }
+                        if (this.stringParams) {
+                            options.types = this.source.generateArray(types);
+                            options.contexts = this.source.generateArray(contexts);
+                        }
+
+                        if (this.options.data) {
+                            options.data = 'data';
+                        }
+                        if (this.useBlockParams) {
+                            options.blockParams = 'blockParams';
+                        }
+                        return options;
+                    },
+
+                    setupHelperArgs: function setupHelperArgs(helper, paramSize, params, useRegister) {
+                        var options = this.setupParams(helper, paramSize, params);
+                        options.loc = JSON.stringify(this.source.currentLocation);
+                        options = this.objectLiteral(options);
+                        if (useRegister) {
+                            this.useRegister('options');
+                            params.push('options');
+                            return ['options=', options];
+                        } else if (params) {
+                            params.push(options);
+                            return '';
+                        } else {
+                            return options;
+                        }
+                    }
+                };
+
+                (function () {
+                    var reservedWords = ('break else new var' + ' case finally return void' + ' catch for switch while' + ' continue function this with' + ' default if throw' + ' delete in try' + ' do instanceof typeof' + ' abstract enum int short' + ' boolean export interface static' + ' byte extends long super' + ' char final native synchronized' + ' class float package throws' + ' const goto private transient' + ' debugger implements protected volatile' + ' double import public let yield await' + ' null true false').split(' ');
+
+                    var compilerWords = JavaScriptCompiler.RESERVED_WORDS = {};
+
+                    for (var i = 0, l = reservedWords.length; i < l; i++) {
+                        compilerWords[reservedWords[i]] = true;
+                    }
+                })();
+
+                JavaScriptCompiler.isValidJavaScriptVariableName = function (name) {
+                    return !JavaScriptCompiler.RESERVED_WORDS[name] && /^[a-zA-Z_$][0-9a-zA-Z_$]*$/.test(name);
+                };
+
+                function strictLookup(requireTerminal, compiler, parts, type) {
+                    var stack = compiler.popStack(),
+                        i = 0,
+                        len = parts.length;
+                    if (requireTerminal) {
+                        len--;
+                    }
+
+                    for (; i < len; i++) {
+                        stack = compiler.nameLookup(stack, parts[i], type);
+                    }
+
+                    if (requireTerminal) {
+                        return [compiler.aliasable('container.strict'), '(', stack, ', ', compiler.quotedString(parts[i]), ', ', JSON.stringify(compiler.source.currentLocation), ' )'];
+                    } else {
+                        return stack;
+                    }
+                }
+
+                exports['default'] = JavaScriptCompiler;
+                module.exports = exports['default'];
+
+                /***/
+            }),
+            /* 50 */
+            /***/ (function (module, exports, __webpack_require__) {
+
+                /* global define */
+                'use strict';
+
+                var _Object$keys = __webpack_require__(13)['default'];
+
+                exports.__esModule = true;
+
+                var _utils = __webpack_require__(5);
+
+                var SourceNode = undefined;
+
+                try {
+                    /* istanbul ignore next */
+                    if (false) {
+                        // We don't support this in AMD environments. For these environments, we asusme that
+                        // they are running on the browser and thus have no need for the source-map library.
+                        var SourceMap = require('source-map');
+                        SourceNode = SourceMap.SourceNode;
+                    }
+                } catch (err) {
+                }
+                /* NOP */
+
+                /* istanbul ignore if: tested but not covered in istanbul due to dist build  */
+                if (!SourceNode) {
+                    SourceNode = function (line, column, srcFile, chunks) {
+                        this.src = '';
+                        if (chunks) {
+                            this.add(chunks);
+                        }
+                    };
+                    /* istanbul ignore next */
+                    SourceNode.prototype = {
+                        add: function add(chunks) {
+                            if (_utils.isArray(chunks)) {
+                                chunks = chunks.join('');
+                            }
+                            this.src += chunks;
+                        },
+                        prepend: function prepend(chunks) {
+                            if (_utils.isArray(chunks)) {
+                                chunks = chunks.join('');
+                            }
+                            this.src = chunks + this.src;
+                        },
+                        toStringWithSourceMap: function toStringWithSourceMap() {
+                            return {code: this.toString()};
+                        },
+                        toString: function toString() {
+                            return this.src;
+                        }
+                    };
+                }
+
+                function castChunk(chunk, codeGen, loc) {
+                    if (_utils.isArray(chunk)) {
+                        var ret = [];
+
+                        for (var i = 0, len = chunk.length; i < len; i++) {
+                            ret.push(codeGen.wrap(chunk[i], loc));
+                        }
+                        return ret;
+                    } else if (typeof chunk === 'boolean' || typeof chunk === 'number') {
+                        // Handle primitives that the SourceNode will throw up on
+                        return chunk + '';
+                    }
+                    return chunk;
+                }
+
+                function CodeGen(srcFile) {
+                    this.srcFile = srcFile;
+                    this.source = [];
+                }
+
+                CodeGen.prototype = {
+                    isEmpty: function isEmpty() {
+                        return !this.source.length;
+                    },
+                    prepend: function prepend(source, loc) {
+                        this.source.unshift(this.wrap(source, loc));
+                    },
+                    push: function push(source, loc) {
+                        this.source.push(this.wrap(source, loc));
+                    },
+
+                    merge: function merge() {
+                        var source = this.empty();
+                        this.each(function (line) {
+                            source.add(['  ', line, '\n']);
+                        });
+                        return source;
+                    },
+
+                    each: function each(iter) {
+                        for (var i = 0, len = this.source.length; i < len; i++) {
+                            iter(this.source[i]);
+                        }
+                    },
+
+                    empty: function empty() {
+                        var loc = this.currentLocation || {start: {}};
+                        return new SourceNode(loc.start.line, loc.start.column, this.srcFile);
+                    },
+                    wrap: function wrap(chunk) {
+                        var loc = arguments.length <= 1 || arguments[1] === undefined ? this.currentLocation || {start: {}} : arguments[1];
+
+                        if (chunk instanceof SourceNode) {
+                            return chunk;
+                        }
+
+                        chunk = castChunk(chunk, this, loc);
+
+                        return new SourceNode(loc.start.line, loc.start.column, this.srcFile, chunk);
+                    },
+
+                    functionCall: function functionCall(fn, type, params) {
+                        params = this.generateList(params);
+                        return this.wrap([fn, type ? '.' + type + '(' : '(', params, ')']);
+                    },
+
+                    quotedString: function quotedString(str) {
+                        return '"' + (str + '').replace(/\\/g, '\\\\').replace(/"/g, '\\"').replace(/\n/g, '\\n').replace(/\r/g, '\\r').replace(/\u2028/g, '\\u2028') // Per Ecma-262 7.3 + 7.8.4
+                            .replace(/\u2029/g, '\\u2029') + '"';
+                    },
+
+                    objectLiteral: function objectLiteral(obj) {
+                        // istanbul ignore next
+
+                        var _this = this;
+
+                        var pairs = [];
+
+                        _Object$keys(obj).forEach(function (key) {
+                            var value = castChunk(obj[key], _this);
+                            if (value !== 'undefined') {
+                                pairs.push([_this.quotedString(key), ':', value]);
+                            }
+                        });
+
+                        var ret = this.generateList(pairs);
+                        ret.prepend('{');
+                        ret.add('}');
+                        return ret;
+                    },
+
+                    generateList: function generateList(entries) {
+                        var ret = this.empty();
+
+                        for (var i = 0, len = entries.length; i < len; i++) {
+                            if (i) {
+                                ret.add(',');
+                            }
+
+                            ret.add(castChunk(entries[i], this));
+                        }
+
+                        return ret;
+                    },
+
+                    generateArray: function generateArray(entries) {
+                        var ret = this.generateList(entries);
+                        ret.prepend('[');
+                        ret.add(']');
+
+                        return ret;
+                    }
+                };
+
+                exports['default'] = CodeGen;
+                module.exports = exports['default'];
+
+                /***/
+            })
+            /******/])
+});
+;
\ No newline at end of file
diff --git a/zy-acs-cv/src/main/webapp/static/js/jquery/jquery-3.3.1.min.js b/zy-acs-cv/src/main/webapp/static/js/jquery/jquery-3.3.1.min.js
new file mode 100644
index 0000000..4d9b3a2
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/js/jquery/jquery-3.3.1.min.js
@@ -0,0 +1,2 @@
+/*! jQuery v3.3.1 | (c) JS Foundation and other contributors | jquery.org/license */
+!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){"use strict";var n=[],r=e.document,i=Object.getPrototypeOf,o=n.slice,a=n.concat,s=n.push,u=n.indexOf,l={},c=l.toString,f=l.hasOwnProperty,p=f.toString,d=p.call(Object),h={},g=function e(t){return"function"==typeof t&&"number"!=typeof t.nodeType},y=function e(t){return null!=t&&t===t.window},v={type:!0,src:!0,noModule:!0};function m(e,t,n){var i,o=(t=t||r).createElement("script");if(o.text=e,n)for(i in v)n[i]&&(o[i]=n[i]);t.head.appendChild(o).parentNode.removeChild(o)}function x(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[c.call(e)]||"object":typeof e}var b="3.3.1",w=function(e,t){return new w.fn.init(e,t)},T=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;w.fn=w.prototype={jquery:"3.3.1",constructor:w,length:0,toArray:function(){return o.call(this)},get:function(e){return null==e?o.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=w.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return w.each(this,e)},map:function(e){return this.pushStack(w.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(o.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:s,sort:n.sort,splice:n.splice},w.extend=w.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||g(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)n=a[t],a!==(r=e[t])&&(l&&r&&(w.isPlainObject(r)||(i=Array.isArray(r)))?(i?(i=!1,o=n&&Array.isArray(n)?n:[]):o=n&&w.isPlainObject(n)?n:{},a[t]=w.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},w.extend({expando:"jQuery"+("3.3.1"+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==c.call(e))&&(!(t=i(e))||"function"==typeof(n=f.call(t,"constructor")&&t.constructor)&&p.call(n)===d)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e){m(e)},each:function(e,t){var n,r=0;if(C(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},trim:function(e){return null==e?"":(e+"").replace(T,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(C(Object(e))?w.merge(n,"string"==typeof e?[e]:e):s.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:u.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r,i=[],o=0,a=e.length,s=!n;o<a;o++)(r=!t(e[o],o))!==s&&i.push(e[o]);return i},map:function(e,t,n){var r,i,o=0,s=[];if(C(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&s.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&s.push(i);return a.apply([],s)},guid:1,support:h}),"function"==typeof Symbol&&(w.fn[Symbol.iterator]=n[Symbol.iterator]),w.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){l["[object "+t+"]"]=t.toLowerCase()});function C(e){var t=!!e&&"length"in e&&e.length,n=x(e);return!g(e)&&!y(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}var E=function(e){var t,n,r,i,o,a,s,u,l,c,f,p,d,h,g,y,v,m,x,b="sizzle"+1*new Date,w=e.document,T=0,C=0,E=ae(),k=ae(),S=ae(),D=function(e,t){return e===t&&(f=!0),0},N={}.hasOwnProperty,A=[],j=A.pop,q=A.push,L=A.push,H=A.slice,O=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},P="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",R="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",I="\\["+M+"*("+R+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+R+"))|)"+M+"*\\]",W=":("+R+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+I+")*)|.*)\\)|)",$=new RegExp(M+"+","g"),B=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),F=new RegExp("^"+M+"*,"+M+"*"),_=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),z=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),X=new RegExp(W),U=new RegExp("^"+R+"$"),V={ID:new RegExp("^#("+R+")"),CLASS:new RegExp("^\\.("+R+")"),TAG:new RegExp("^("+R+"|[*])"),ATTR:new RegExp("^"+I),PSEUDO:new RegExp("^"+W),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+P+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},G=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Q=/^[^{]+\{\s*\[native \w/,J=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,K=/[+~]/,Z=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ee=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},te=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ne=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},re=function(){p()},ie=me(function(e){return!0===e.disabled&&("form"in e||"label"in e)},{dir:"parentNode",next:"legend"});try{L.apply(A=H.call(w.childNodes),w.childNodes),A[w.childNodes.length].nodeType}catch(e){L={apply:A.length?function(e,t){q.apply(e,H.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function oe(e,t,r,i){var o,s,l,c,f,h,v,m=t&&t.ownerDocument,T=t?t.nodeType:9;if(r=r||[],"string"!=typeof e||!e||1!==T&&9!==T&&11!==T)return r;if(!i&&((t?t.ownerDocument||t:w)!==d&&p(t),t=t||d,g)){if(11!==T&&(f=J.exec(e)))if(o=f[1]){if(9===T){if(!(l=t.getElementById(o)))return r;if(l.id===o)return r.push(l),r}else if(m&&(l=m.getElementById(o))&&x(t,l)&&l.id===o)return r.push(l),r}else{if(f[2])return L.apply(r,t.getElementsByTagName(e)),r;if((o=f[3])&&n.getElementsByClassName&&t.getElementsByClassName)return L.apply(r,t.getElementsByClassName(o)),r}if(n.qsa&&!S[e+" "]&&(!y||!y.test(e))){if(1!==T)m=t,v=e;else if("object"!==t.nodeName.toLowerCase()){(c=t.getAttribute("id"))?c=c.replace(te,ne):t.setAttribute("id",c=b),s=(h=a(e)).length;while(s--)h[s]="#"+c+" "+ve(h[s]);v=h.join(","),m=K.test(e)&&ge(t.parentNode)||t}if(v)try{return L.apply(r,m.querySelectorAll(v)),r}catch(e){}finally{c===b&&t.removeAttribute("id")}}}return u(e.replace(B,"$1"),t,r,i)}function ae(){var e=[];function t(n,i){return e.push(n+" ")>r.cacheLength&&delete t[e.shift()],t[n+" "]=i}return t}function se(e){return e[b]=!0,e}function ue(e){var t=d.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function le(e,t){var n=e.split("|"),i=n.length;while(i--)r.attrHandle[n[i]]=t}function ce(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function fe(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}function pe(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function de(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&ie(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function he(e){return se(function(t){return t=+t,se(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function ge(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}n=oe.support={},o=oe.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},p=oe.setDocument=function(e){var t,i,a=e?e.ownerDocument||e:w;return a!==d&&9===a.nodeType&&a.documentElement?(d=a,h=d.documentElement,g=!o(d),w!==d&&(i=d.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener("unload",re,!1):i.attachEvent&&i.attachEvent("onunload",re)),n.attributes=ue(function(e){return e.className="i",!e.getAttribute("className")}),n.getElementsByTagName=ue(function(e){return e.appendChild(d.createComment("")),!e.getElementsByTagName("*").length}),n.getElementsByClassName=Q.test(d.getElementsByClassName),n.getById=ue(function(e){return h.appendChild(e).id=b,!d.getElementsByName||!d.getElementsByName(b).length}),n.getById?(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){return e.getAttribute("id")===t}},r.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&g){var n=t.getElementById(e);return n?[n]:[]}}):(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){var n="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},r.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&g){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),r.find.TAG=n.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},r.find.CLASS=n.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&g)return t.getElementsByClassName(e)},v=[],y=[],(n.qsa=Q.test(d.querySelectorAll))&&(ue(function(e){h.appendChild(e).innerHTML="<a id='"+b+"'></a><select id='"+b+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&y.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||y.push("\\["+M+"*(?:value|"+P+")"),e.querySelectorAll("[id~="+b+"-]").length||y.push("~="),e.querySelectorAll(":checked").length||y.push(":checked"),e.querySelectorAll("a#"+b+"+*").length||y.push(".#.+[+~]")}),ue(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=d.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&y.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&y.push(":enabled",":disabled"),h.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&y.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),y.push(",.*:")})),(n.matchesSelector=Q.test(m=h.matches||h.webkitMatchesSelector||h.mozMatchesSelector||h.oMatchesSelector||h.msMatchesSelector))&&ue(function(e){n.disconnectedMatch=m.call(e,"*"),m.call(e,"[s!='']:x"),v.push("!=",W)}),y=y.length&&new RegExp(y.join("|")),v=v.length&&new RegExp(v.join("|")),t=Q.test(h.compareDocumentPosition),x=t||Q.test(h.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return f=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r||(1&(r=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===r?e===d||e.ownerDocument===w&&x(w,e)?-1:t===d||t.ownerDocument===w&&x(w,t)?1:c?O(c,e)-O(c,t):0:4&r?-1:1)}:function(e,t){if(e===t)return f=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===d?-1:t===d?1:i?-1:o?1:c?O(c,e)-O(c,t):0;if(i===o)return ce(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?ce(a[r],s[r]):a[r]===w?-1:s[r]===w?1:0},d):d},oe.matches=function(e,t){return oe(e,null,null,t)},oe.matchesSelector=function(e,t){if((e.ownerDocument||e)!==d&&p(e),t=t.replace(z,"='$1']"),n.matchesSelector&&g&&!S[t+" "]&&(!v||!v.test(t))&&(!y||!y.test(t)))try{var r=m.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){}return oe(t,d,null,[e]).length>0},oe.contains=function(e,t){return(e.ownerDocument||e)!==d&&p(e),x(e,t)},oe.attr=function(e,t){(e.ownerDocument||e)!==d&&p(e);var i=r.attrHandle[t.toLowerCase()],o=i&&N.call(r.attrHandle,t.toLowerCase())?i(e,t,!g):void 0;return void 0!==o?o:n.attributes||!g?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null},oe.escape=function(e){return(e+"").replace(te,ne)},oe.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},oe.uniqueSort=function(e){var t,r=[],i=0,o=0;if(f=!n.detectDuplicates,c=!n.sortStable&&e.slice(0),e.sort(D),f){while(t=e[o++])t===e[o]&&(i=r.push(o));while(i--)e.splice(r[i],1)}return c=null,e},i=oe.getText=function(e){var t,n="",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=i(e)}else if(3===o||4===o)return e.nodeValue}else while(t=e[r++])n+=i(t);return n},(r=oe.selectors={cacheLength:50,createPseudo:se,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(Z,ee),e[3]=(e[3]||e[4]||e[5]||"").replace(Z,ee),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||oe.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&oe.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return V.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=a(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(Z,ee).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=E[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&E(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=oe.attr(r,e);return null==i?"!="===t:!t||(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i.replace($," ")+" ").indexOf(n)>-1:"|="===t&&(i===n||i.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,f,p,d,h,g=o!==a?"nextSibling":"previousSibling",y=t.parentNode,v=s&&t.nodeName.toLowerCase(),m=!u&&!s,x=!1;if(y){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===v:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?y.firstChild:y.lastChild],a&&m){x=(d=(l=(c=(f=(p=y)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1])&&l[2],p=d&&y.childNodes[d];while(p=++d&&p&&p[g]||(x=d=0)||h.pop())if(1===p.nodeType&&++x&&p===t){c[e]=[T,d,x];break}}else if(m&&(x=d=(l=(c=(f=(p=t)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1]),!1===x)while(p=++d&&p&&p[g]||(x=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===v:1===p.nodeType)&&++x&&(m&&((c=(f=p[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]=[T,x]),p===t))break;return(x-=i)===r||x%r==0&&x/r>=0}}},PSEUDO:function(e,t){var n,i=r.pseudos[e]||r.setFilters[e.toLowerCase()]||oe.error("unsupported pseudo: "+e);return i[b]?i(t):i.length>1?(n=[e,e,"",t],r.setFilters.hasOwnProperty(e.toLowerCase())?se(function(e,n){var r,o=i(e,t),a=o.length;while(a--)e[r=O(e,o[a])]=!(n[r]=o[a])}):function(e){return i(e,0,n)}):i}},pseudos:{not:se(function(e){var t=[],n=[],r=s(e.replace(B,"$1"));return r[b]?se(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),t[0]=null,!n.pop()}}),has:se(function(e){return function(t){return oe(e,t).length>0}}),contains:se(function(e){return e=e.replace(Z,ee),function(t){return(t.textContent||t.innerText||i(t)).indexOf(e)>-1}}),lang:se(function(e){return U.test(e||"")||oe.error("unsupported lang: "+e),e=e.replace(Z,ee).toLowerCase(),function(t){var n;do{if(n=g?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===h},focus:function(e){return e===d.activeElement&&(!d.hasFocus||d.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:de(!1),disabled:de(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!r.pseudos.empty(e)},header:function(e){return Y.test(e.nodeName)},input:function(e){return G.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:he(function(){return[0]}),last:he(function(e,t){return[t-1]}),eq:he(function(e,t,n){return[n<0?n+t:n]}),even:he(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:he(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:he(function(e,t,n){for(var r=n<0?n+t:n;--r>=0;)e.push(r);return e}),gt:he(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=r.pseudos.eq;for(t in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})r.pseudos[t]=fe(t);for(t in{submit:!0,reset:!0})r.pseudos[t]=pe(t);function ye(){}ye.prototype=r.filters=r.pseudos,r.setFilters=new ye,a=oe.tokenize=function(e,t){var n,i,o,a,s,u,l,c=k[e+" "];if(c)return t?0:c.slice(0);s=e,u=[],l=r.preFilter;while(s){n&&!(i=F.exec(s))||(i&&(s=s.slice(i[0].length)||s),u.push(o=[])),n=!1,(i=_.exec(s))&&(n=i.shift(),o.push({value:n,type:i[0].replace(B," ")}),s=s.slice(n.length));for(a in r.filter)!(i=V[a].exec(s))||l[a]&&!(i=l[a](i))||(n=i.shift(),o.push({value:n,type:a,matches:i}),s=s.slice(n.length));if(!n)break}return t?s.length:s?oe.error(e):k(e,u).slice(0)};function ve(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function me(e,t,n){var r=t.dir,i=t.next,o=i||r,a=n&&"parentNode"===o,s=C++;return t.first?function(t,n,i){while(t=t[r])if(1===t.nodeType||a)return e(t,n,i);return!1}:function(t,n,u){var l,c,f,p=[T,s];if(u){while(t=t[r])if((1===t.nodeType||a)&&e(t,n,u))return!0}else while(t=t[r])if(1===t.nodeType||a)if(f=t[b]||(t[b]={}),c=f[t.uniqueID]||(f[t.uniqueID]={}),i&&i===t.nodeName.toLowerCase())t=t[r]||t;else{if((l=c[o])&&l[0]===T&&l[1]===s)return p[2]=l[2];if(c[o]=p,p[2]=e(t,n,u))return!0}return!1}}function xe(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function be(e,t,n){for(var r=0,i=t.length;r<i;r++)oe(e,t[r],n);return n}function we(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Te(e,t,n,r,i,o){return r&&!r[b]&&(r=Te(r)),i&&!i[b]&&(i=Te(i,o)),se(function(o,a,s,u){var l,c,f,p=[],d=[],h=a.length,g=o||be(t||"*",s.nodeType?[s]:s,[]),y=!e||!o&&t?g:we(g,p,e,s,u),v=n?i||(o?e:h||r)?[]:a:y;if(n&&n(y,v,s,u),r){l=we(v,d),r(l,[],s,u),c=l.length;while(c--)(f=l[c])&&(v[d[c]]=!(y[d[c]]=f))}if(o){if(i||e){if(i){l=[],c=v.length;while(c--)(f=v[c])&&l.push(y[c]=f);i(null,v=[],l,u)}c=v.length;while(c--)(f=v[c])&&(l=i?O(o,f):p[c])>-1&&(o[l]=!(a[l]=f))}}else v=we(v===a?v.splice(h,v.length):v),i?i(null,a,v,u):L.apply(a,v)})}function Ce(e){for(var t,n,i,o=e.length,a=r.relative[e[0].type],s=a||r.relative[" "],u=a?1:0,c=me(function(e){return e===t},s,!0),f=me(function(e){return O(t,e)>-1},s,!0),p=[function(e,n,r){var i=!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):f(e,n,r));return t=null,i}];u<o;u++)if(n=r.relative[e[u].type])p=[me(xe(p),n)];else{if((n=r.filter[e[u].type].apply(null,e[u].matches))[b]){for(i=++u;i<o;i++)if(r.relative[e[i].type])break;return Te(u>1&&xe(p),u>1&&ve(e.slice(0,u-1).concat({value:" "===e[u-2].type?"*":""})).replace(B,"$1"),n,u<i&&Ce(e.slice(u,i)),i<o&&Ce(e=e.slice(i)),i<o&&ve(e))}p.push(n)}return xe(p)}function Ee(e,t){var n=t.length>0,i=e.length>0,o=function(o,a,s,u,c){var f,h,y,v=0,m="0",x=o&&[],b=[],w=l,C=o||i&&r.find.TAG("*",c),E=T+=null==w?1:Math.random()||.1,k=C.length;for(c&&(l=a===d||a||c);m!==k&&null!=(f=C[m]);m++){if(i&&f){h=0,a||f.ownerDocument===d||(p(f),s=!g);while(y=e[h++])if(y(f,a||d,s)){u.push(f);break}c&&(T=E)}n&&((f=!y&&f)&&v--,o&&x.push(f))}if(v+=m,n&&m!==v){h=0;while(y=t[h++])y(x,b,a,s);if(o){if(v>0)while(m--)x[m]||b[m]||(b[m]=j.call(u));b=we(b)}L.apply(u,b),c&&!o&&b.length>0&&v+t.length>1&&oe.uniqueSort(u)}return c&&(T=E,l=w),x};return n?se(o):o}return s=oe.compile=function(e,t){var n,r=[],i=[],o=S[e+" "];if(!o){t||(t=a(e)),n=t.length;while(n--)(o=Ce(t[n]))[b]?r.push(o):i.push(o);(o=S(e,Ee(i,r))).selector=e}return o},u=oe.select=function(e,t,n,i){var o,u,l,c,f,p="function"==typeof e&&e,d=!i&&a(e=p.selector||e);if(n=n||[],1===d.length){if((u=d[0]=d[0].slice(0)).length>2&&"ID"===(l=u[0]).type&&9===t.nodeType&&g&&r.relative[u[1].type]){if(!(t=(r.find.ID(l.matches[0].replace(Z,ee),t)||[])[0]))return n;p&&(t=t.parentNode),e=e.slice(u.shift().value.length)}o=V.needsContext.test(e)?0:u.length;while(o--){if(l=u[o],r.relative[c=l.type])break;if((f=r.find[c])&&(i=f(l.matches[0].replace(Z,ee),K.test(u[0].type)&&ge(t.parentNode)||t))){if(u.splice(o,1),!(e=i.length&&ve(u)))return L.apply(n,i),n;break}}}return(p||s(e,d))(i,t,!g,n,!t||K.test(e)&&ge(t.parentNode)||t),n},n.sortStable=b.split("").sort(D).join("")===b,n.detectDuplicates=!!f,p(),n.sortDetached=ue(function(e){return 1&e.compareDocumentPosition(d.createElement("fieldset"))}),ue(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||le("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),n.attributes&&ue(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||le("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ue(function(e){return null==e.getAttribute("disabled")})||le(P,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),oe}(e);w.find=E,w.expr=E.selectors,w.expr[":"]=w.expr.pseudos,w.uniqueSort=w.unique=E.uniqueSort,w.text=E.getText,w.isXMLDoc=E.isXML,w.contains=E.contains,w.escapeSelector=E.escape;var k=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&w(e).is(n))break;r.push(e)}return r},S=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},D=w.expr.match.needsContext;function N(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var A=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,t,n){return g(t)?w.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?w.grep(e,function(e){return e===t!==n}):"string"!=typeof t?w.grep(e,function(e){return u.call(t,e)>-1!==n}):w.filter(t,e,n)}w.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?w.find.matchesSelector(r,e)?[r]:[]:w.find.matches(e,w.grep(t,function(e){return 1===e.nodeType}))},w.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(w(e).filter(function(){for(t=0;t<r;t++)if(w.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)w.find(e,i[t],n);return r>1?w.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&D.test(e)?w(e):e||[],!1).length}});var q,L=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(w.fn.init=function(e,t,n){var i,o;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(i="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:L.exec(e))||!i[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(i[1]){if(t=t instanceof w?t[0]:t,w.merge(this,w.parseHTML(i[1],t&&t.nodeType?t.ownerDocument||t:r,!0)),A.test(i[1])&&w.isPlainObject(t))for(i in t)g(this[i])?this[i](t[i]):this.attr(i,t[i]);return this}return(o=r.getElementById(i[2]))&&(this[0]=o,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):g(e)?void 0!==n.ready?n.ready(e):e(w):w.makeArray(e,this)}).prototype=w.fn,q=w(r);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};w.fn.extend({has:function(e){var t=w(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(w.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&w(e);if(!D.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?a.index(n)>-1:1===n.nodeType&&w.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?w.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?u.call(w(e),this[0]):u.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(w.uniqueSort(w.merge(this.get(),w(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}w.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return k(e,"parentNode")},parentsUntil:function(e,t,n){return k(e,"parentNode",n)},next:function(e){return P(e,"nextSibling")},prev:function(e){return P(e,"previousSibling")},nextAll:function(e){return k(e,"nextSibling")},prevAll:function(e){return k(e,"previousSibling")},nextUntil:function(e,t,n){return k(e,"nextSibling",n)},prevUntil:function(e,t,n){return k(e,"previousSibling",n)},siblings:function(e){return S((e.parentNode||{}).firstChild,e)},children:function(e){return S(e.firstChild)},contents:function(e){return N(e,"iframe")?e.contentDocument:(N(e,"template")&&(e=e.content||e),w.merge([],e.childNodes))}},function(e,t){w.fn[e]=function(n,r){var i=w.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=w.filter(r,i)),this.length>1&&(O[e]||w.uniqueSort(i),H.test(e)&&i.reverse()),this.pushStack(i)}});var M=/[^\x20\t\r\n\f]+/g;function R(e){var t={};return w.each(e.match(M)||[],function(e,n){t[n]=!0}),t}w.Callbacks=function(e){e="string"==typeof e?R(e):w.extend({},e);var t,n,r,i,o=[],a=[],s=-1,u=function(){for(i=i||e.once,r=t=!0;a.length;s=-1){n=a.shift();while(++s<o.length)!1===o[s].apply(n[0],n[1])&&e.stopOnFalse&&(s=o.length,n=!1)}e.memory||(n=!1),t=!1,i&&(o=n?[]:"")},l={add:function(){return o&&(n&&!t&&(s=o.length-1,a.push(n)),function t(n){w.each(n,function(n,r){g(r)?e.unique&&l.has(r)||o.push(r):r&&r.length&&"string"!==x(r)&&t(r)})}(arguments),n&&!t&&u()),this},remove:function(){return w.each(arguments,function(e,t){var n;while((n=w.inArray(t,o,n))>-1)o.splice(n,1),n<=s&&s--}),this},has:function(e){return e?w.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=a=[],o=n="",this},disabled:function(){return!o},lock:function(){return i=a=[],n||t||(o=n=""),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=[e,(n=n||[]).slice?n.slice():n],a.push(n),t||u()),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!r}};return l};function I(e){return e}function W(e){throw e}function $(e,t,n,r){var i;try{e&&g(i=e.promise)?i.call(e).done(t).fail(n):e&&g(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}w.extend({Deferred:function(t){var n=[["notify","progress",w.Callbacks("memory"),w.Callbacks("memory"),2],["resolve","done",w.Callbacks("once memory"),w.Callbacks("once memory"),0,"resolved"],["reject","fail",w.Callbacks("once memory"),w.Callbacks("once memory"),1,"rejected"]],r="pending",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},"catch":function(e){return i.then(null,e)},pipe:function(){var e=arguments;return w.Deferred(function(t){w.each(n,function(n,r){var i=g(e[r[4]])&&e[r[4]];o[r[1]](function(){var e=i&&i.apply(this,arguments);e&&g(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+"With"](this,i?[e]:arguments)})}),e=null}).promise()},then:function(t,r,i){var o=0;function a(t,n,r,i){return function(){var s=this,u=arguments,l=function(){var e,l;if(!(t<o)){if((e=r.apply(s,u))===n.promise())throw new TypeError("Thenable self-resolution");l=e&&("object"==typeof e||"function"==typeof e)&&e.then,g(l)?i?l.call(e,a(o,n,I,i),a(o,n,W,i)):(o++,l.call(e,a(o,n,I,i),a(o,n,W,i),a(o,n,I,n.notifyWith))):(r!==I&&(s=void 0,u=[e]),(i||n.resolveWith)(s,u))}},c=i?l:function(){try{l()}catch(e){w.Deferred.exceptionHook&&w.Deferred.exceptionHook(e,c.stackTrace),t+1>=o&&(r!==W&&(s=void 0,u=[e]),n.rejectWith(s,u))}};t?c():(w.Deferred.getStackHook&&(c.stackTrace=w.Deferred.getStackHook()),e.setTimeout(c))}}return w.Deferred(function(e){n[0][3].add(a(0,e,g(i)?i:I,e.notifyWith)),n[1][3].add(a(0,e,g(t)?t:I)),n[2][3].add(a(0,e,g(r)?r:W))}).promise()},promise:function(e){return null!=e?w.extend(e,i):i}},o={};return w.each(n,function(e,t){var a=t[2],s=t[5];i[t[1]]=a.add,s&&a.add(function(){r=s},n[3-e][2].disable,n[3-e][3].disable,n[0][2].lock,n[0][3].lock),a.add(t[3].fire),o[t[0]]=function(){return o[t[0]+"With"](this===o?void 0:this,arguments),this},o[t[0]+"With"]=a.fireWith}),i.promise(o),t&&t.call(o,o),o},when:function(e){var t=arguments.length,n=t,r=Array(n),i=o.call(arguments),a=w.Deferred(),s=function(e){return function(n){r[e]=this,i[e]=arguments.length>1?o.call(arguments):n,--t||a.resolveWith(r,i)}};if(t<=1&&($(e,a.done(s(n)).resolve,a.reject,!t),"pending"===a.state()||g(i[n]&&i[n].then)))return a.then();while(n--)$(i[n],s(n),a.reject);return a.promise()}});var B=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;w.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&B.test(t.name)&&e.console.warn("jQuery.Deferred exception: "+t.message,t.stack,n)},w.readyException=function(t){e.setTimeout(function(){throw t})};var F=w.Deferred();w.fn.ready=function(e){return F.then(e)["catch"](function(e){w.readyException(e)}),this},w.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--w.readyWait:w.isReady)||(w.isReady=!0,!0!==e&&--w.readyWait>0||F.resolveWith(r,[w]))}}),w.ready.then=F.then;function _(){r.removeEventListener("DOMContentLoaded",_),e.removeEventListener("load",_),w.ready()}"complete"===r.readyState||"loading"!==r.readyState&&!r.documentElement.doScroll?e.setTimeout(w.ready):(r.addEventListener("DOMContentLoaded",_),e.addEventListener("load",_));var z=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===x(n)){i=!0;for(s in n)z(e,t,s,n[s],!0,o,a)}else if(void 0!==r&&(i=!0,g(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(w(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},X=/^-ms-/,U=/-([a-z])/g;function V(e,t){return t.toUpperCase()}function G(e){return e.replace(X,"ms-").replace(U,V)}var Y=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function Q(){this.expando=w.expando+Q.uid++}Q.uid=1,Q.prototype={cache:function(e){var t=e[this.expando];return t||(t={},Y(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[G(t)]=n;else for(r in t)i[G(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][G(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(G):(t=G(t))in r?[t]:t.match(M)||[]).length;while(n--)delete r[t[n]]}(void 0===t||w.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!w.isEmptyObject(t)}};var J=new Q,K=new Q,Z=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,ee=/[A-Z]/g;function te(e){return"true"===e||"false"!==e&&("null"===e?null:e===+e+""?+e:Z.test(e)?JSON.parse(e):e)}function ne(e,t,n){var r;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(ee,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n=te(n)}catch(e){}K.set(e,t,n)}else n=void 0;return n}w.extend({hasData:function(e){return K.hasData(e)||J.hasData(e)},data:function(e,t,n){return K.access(e,t,n)},removeData:function(e,t){K.remove(e,t)},_data:function(e,t,n){return J.access(e,t,n)},_removeData:function(e,t){J.remove(e,t)}}),w.fn.extend({data:function(e,t){var n,r,i,o=this[0],a=o&&o.attributes;if(void 0===e){if(this.length&&(i=K.get(o),1===o.nodeType&&!J.get(o,"hasDataAttrs"))){n=a.length;while(n--)a[n]&&0===(r=a[n].name).indexOf("data-")&&(r=G(r.slice(5)),ne(o,r,i[r]));J.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof e?this.each(function(){K.set(this,e)}):z(this,function(t){var n;if(o&&void 0===t){if(void 0!==(n=K.get(o,e)))return n;if(void 0!==(n=ne(o,e)))return n}else this.each(function(){K.set(this,e,t)})},null,t,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){K.remove(this,e)})}}),w.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=J.get(e,t),n&&(!r||Array.isArray(n)?r=J.access(e,t,w.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=w.queue(e,t),r=n.length,i=n.shift(),o=w._queueHooks(e,t),a=function(){w.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return J.get(e,n)||J.access(e,n,{empty:w.Callbacks("once memory").add(function(){J.remove(e,[t+"queue",n])})})}}),w.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length<n?w.queue(this[0],e):void 0===t?this:this.each(function(){var n=w.queue(this,e,t);w._queueHooks(this,e),"fx"===e&&"inprogress"!==n[0]&&w.dequeue(this,e)})},dequeue:function(e){return this.each(function(){w.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=w.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=J.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var re=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ie=new RegExp("^(?:([+-])=|)("+re+")([a-z%]*)$","i"),oe=["Top","Right","Bottom","Left"],ae=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&w.contains(e.ownerDocument,e)&&"none"===w.css(e,"display")},se=function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i};function ue(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return w.css(e,t,"")},u=s(),l=n&&n[3]||(w.cssNumber[t]?"":"px"),c=(w.cssNumber[t]||"px"!==l&&+u)&&ie.exec(w.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)w.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,w.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var le={};function ce(e){var t,n=e.ownerDocument,r=e.nodeName,i=le[r];return i||(t=n.body.appendChild(n.createElement(r)),i=w.css(t,"display"),t.parentNode.removeChild(t),"none"===i&&(i="block"),le[r]=i,i)}function fe(e,t){for(var n,r,i=[],o=0,a=e.length;o<a;o++)(r=e[o]).style&&(n=r.style.display,t?("none"===n&&(i[o]=J.get(r,"display")||null,i[o]||(r.style.display="")),""===r.style.display&&ae(r)&&(i[o]=ce(r))):"none"!==n&&(i[o]="none",J.set(r,"display",n)));for(o=0;o<a;o++)null!=i[o]&&(e[o].style.display=i[o]);return e}w.fn.extend({show:function(){return fe(this,!0)},hide:function(){return fe(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ae(this)?w(this).show():w(this).hide()})}});var pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};ge.optgroup=ge.option,ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td;function ye(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&N(e,t)?w.merge([e],n):n}function ve(e,t){for(var n=0,r=e.length;n<r;n++)J.set(e[n],"globalEval",!t||J.get(t[n],"globalEval"))}var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===x(o))w.merge(p,o.nodeType?[o]:o);else if(me.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+w.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;w.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&w.inArray(o,r)>-1)i&&i.push(o);else if(l=w.contains(o.ownerDocument,o),a=ye(f.appendChild(o),"script"),l&&ve(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}!function(){var e=r.createDocumentFragment().appendChild(r.createElement("div")),t=r.createElement("input");t.setAttribute("type","radio"),t.setAttribute("checked","checked"),t.setAttribute("name","t"),e.appendChild(t),h.checkClone=e.cloneNode(!0).cloneNode(!0).lastChild.checked,e.innerHTML="<textarea>x</textarea>",h.noCloneChecked=!!e.cloneNode(!0).lastChild.defaultValue}();var be=r.documentElement,we=/^key/,Te=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ce=/^([^.]*)(?:\.(.+)|)/;function Ee(){return!0}function ke(){return!1}function Se(){try{return r.activeElement}catch(e){}}function De(e,t,n,r,i,o){var a,s;if("object"==typeof t){"string"!=typeof n&&(r=r||n,n=void 0);for(s in t)De(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=ke;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return w().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=w.guid++)),e.each(function(){w.event.add(this,t,i,r,n)})}w.event={global:{},add:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=J.get(e);if(y){n.handler&&(n=(o=n).handler,i=o.selector),i&&w.find.matchesSelector(be,i),n.guid||(n.guid=w.guid++),(u=y.events)||(u=y.events={}),(a=y.handle)||(a=y.handle=function(t){return"undefined"!=typeof w&&w.event.triggered!==t.type?w.event.dispatch.apply(e,arguments):void 0}),l=(t=(t||"").match(M)||[""]).length;while(l--)d=g=(s=Ce.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=w.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=w.event.special[d]||{},c=w.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&w.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(e,r,h,a)||e.addEventListener&&e.addEventListener(d,a)),f.add&&(f.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),w.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=J.hasData(e)&&J.get(e);if(y&&(u=y.events)){l=(t=(t||"").match(M)||[""]).length;while(l--)if(s=Ce.exec(t[l])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){f=w.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,y.handle)||w.removeEvent(e,d,y.handle),delete u[d])}else for(d in u)w.event.remove(e,d+t[l],n,r,!0);w.isEmptyObject(u)&&J.remove(e,"handle events")}},dispatch:function(e){var t=w.event.fix(e),n,r,i,o,a,s,u=new Array(arguments.length),l=(J.get(this,"events")||{})[t.type]||[],c=w.event.special[t.type]||{};for(u[0]=t,n=1;n<arguments.length;n++)u[n]=arguments[n];if(t.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,t)){s=w.event.handlers.call(this,t,l),n=0;while((o=s[n++])&&!t.isPropagationStopped()){t.currentTarget=o.elem,r=0;while((a=o.handlers[r++])&&!t.isImmediatePropagationStopped())t.rnamespace&&!t.rnamespace.test(a.namespace)||(t.handleObj=a,t.data=a.data,void 0!==(i=((w.event.special[a.origType]||{}).handle||a.handler).apply(o.elem,u))&&!1===(t.result=i)&&(t.preventDefault(),t.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,t),t.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&e.button>=1))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?w(i,this).index(l)>-1:w.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(e,t){Object.defineProperty(w.Event.prototype,e,{enumerable:!0,configurable:!0,get:g(t)?function(){if(this.originalEvent)return t(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[e]},set:function(t){Object.defineProperty(this,e,{enumerable:!0,configurable:!0,writable:!0,value:t})}})},fix:function(e){return e[w.expando]?e:new w.Event(e)},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==Se()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===Se()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&N(this,"input"))return this.click(),!1},_default:function(e){return N(e.target,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},w.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},w.Event=function(e,t){if(!(this instanceof w.Event))return new w.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?Ee:ke,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&w.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[w.expando]=!0},w.Event.prototype={constructor:w.Event,isDefaultPrevented:ke,isPropagationStopped:ke,isImmediatePropagationStopped:ke,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=Ee,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=Ee,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=Ee,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},w.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&we.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&Te.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},w.event.addProp),w.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,t){w.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;return i&&(i===r||w.contains(r,i))||(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),w.fn.extend({on:function(e,t,n,r){return De(this,e,t,n,r)},one:function(e,t,n,r){return De(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,w(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=ke),this.each(function(){w.event.remove(this,e,n,t)})}});var Ne=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,Ae=/<script|<style|<link/i,je=/checked\s*(?:[^=]|=\s*.checked.)/i,qe=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Le(e,t){return N(e,"table")&&N(11!==t.nodeType?t:t.firstChild,"tr")?w(e).children("tbody")[0]||e:e}function He(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Oe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Pe(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(J.hasData(e)&&(o=J.access(e),a=J.set(t,o),l=o.events)){delete a.handle,a.events={};for(i in l)for(n=0,r=l[i].length;n<r;n++)w.event.add(t,i,l[i][n])}K.hasData(e)&&(s=K.access(e),u=w.extend({},s),K.set(t,u))}}function Me(e,t){var n=t.nodeName.toLowerCase();"input"===n&&pe.test(e.type)?t.checked=e.checked:"input"!==n&&"textarea"!==n||(t.defaultValue=e.defaultValue)}function Re(e,t,n,r){t=a.apply([],t);var i,o,s,u,l,c,f=0,p=e.length,d=p-1,y=t[0],v=g(y);if(v||p>1&&"string"==typeof y&&!h.checkClone&&je.test(y))return e.each(function(i){var o=e.eq(i);v&&(t[0]=y.call(this,i,o.html())),Re(o,t,n,r)});if(p&&(i=xe(t,e[0].ownerDocument,!1,e,r),o=i.firstChild,1===i.childNodes.length&&(i=o),o||r)){for(u=(s=w.map(ye(i,"script"),He)).length;f<p;f++)l=i,f!==d&&(l=w.clone(l,!0,!0),u&&w.merge(s,ye(l,"script"))),n.call(e[f],l,f);if(u)for(c=s[s.length-1].ownerDocument,w.map(s,Oe),f=0;f<u;f++)l=s[f],he.test(l.type||"")&&!J.access(l,"globalEval")&&w.contains(c,l)&&(l.src&&"module"!==(l.type||"").toLowerCase()?w._evalUrl&&w._evalUrl(l.src):m(l.textContent.replace(qe,""),c,l))}return e}function Ie(e,t,n){for(var r,i=t?w.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||w.cleanData(ye(r)),r.parentNode&&(n&&w.contains(r.ownerDocument,r)&&ve(ye(r,"script")),r.parentNode.removeChild(r));return e}w.extend({htmlPrefilter:function(e){return e.replace(Ne,"<$1></$2>")},clone:function(e,t,n){var r,i,o,a,s=e.cloneNode(!0),u=w.contains(e.ownerDocument,e);if(!(h.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||w.isXMLDoc(e)))for(a=ye(s),r=0,i=(o=ye(e)).length;r<i;r++)Me(o[r],a[r]);if(t)if(n)for(o=o||ye(e),a=a||ye(s),r=0,i=o.length;r<i;r++)Pe(o[r],a[r]);else Pe(e,s);return(a=ye(s,"script")).length>0&&ve(a,!u&&ye(e,"script")),s},cleanData:function(e){for(var t,n,r,i=w.event.special,o=0;void 0!==(n=e[o]);o++)if(Y(n)){if(t=n[J.expando]){if(t.events)for(r in t.events)i[r]?w.event.remove(n,r):w.removeEvent(n,r,t.handle);n[J.expando]=void 0}n[K.expando]&&(n[K.expando]=void 0)}}}),w.fn.extend({detach:function(e){return Ie(this,e,!0)},remove:function(e){return Ie(this,e)},text:function(e){return z(this,function(e){return void 0===e?w.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Re(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Le(this,e).appendChild(e)})},prepend:function(){return Re(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Le(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Re(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Re(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(w.cleanData(ye(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return w.clone(this,e,t)})},html:function(e){return z(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Ae.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=w.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(w.cleanData(ye(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=[];return Re(this,arguments,function(t){var n=this.parentNode;w.inArray(this,e)<0&&(w.cleanData(ye(this)),n&&n.replaceChild(t,this))},e)}}),w.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){w.fn[e]=function(e){for(var n,r=[],i=w(e),o=i.length-1,a=0;a<=o;a++)n=a===o?this:this.clone(!0),w(i[a])[t](n),s.apply(r,n.get());return this.pushStack(r)}});var We=new RegExp("^("+re+")(?!px)[a-z%]+$","i"),$e=function(t){var n=t.ownerDocument.defaultView;return n&&n.opener||(n=e),n.getComputedStyle(t)},Be=new RegExp(oe.join("|"),"i");!function(){function t(){if(c){l.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",c.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",be.appendChild(l).appendChild(c);var t=e.getComputedStyle(c);i="1%"!==t.top,u=12===n(t.marginLeft),c.style.right="60%",s=36===n(t.right),o=36===n(t.width),c.style.position="absolute",a=36===c.offsetWidth||"absolute",be.removeChild(l),c=null}}function n(e){return Math.round(parseFloat(e))}var i,o,a,s,u,l=r.createElement("div"),c=r.createElement("div");c.style&&(c.style.backgroundClip="content-box",c.cloneNode(!0).style.backgroundClip="",h.clearCloneStyle="content-box"===c.style.backgroundClip,w.extend(h,{boxSizingReliable:function(){return t(),o},pixelBoxStyles:function(){return t(),s},pixelPosition:function(){return t(),i},reliableMarginLeft:function(){return t(),u},scrollboxSize:function(){return t(),a}}))}();function Fe(e,t,n){var r,i,o,a,s=e.style;return(n=n||$e(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||w.contains(e.ownerDocument,e)||(a=w.style(e,t)),!h.pixelBoxStyles()&&We.test(a)&&Be.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function _e(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}var ze=/^(none|table(?!-c[ea]).+)/,Xe=/^--/,Ue={position:"absolute",visibility:"hidden",display:"block"},Ve={letterSpacing:"0",fontWeight:"400"},Ge=["Webkit","Moz","ms"],Ye=r.createElement("div").style;function Qe(e){if(e in Ye)return e;var t=e[0].toUpperCase()+e.slice(1),n=Ge.length;while(n--)if((e=Ge[n]+t)in Ye)return e}function Je(e){var t=w.cssProps[e];return t||(t=w.cssProps[e]=Qe(e)||e),t}function Ke(e,t,n){var r=ie.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Ze(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=w.css(e,n+oe[a],!0,i)),r?("content"===n&&(u-=w.css(e,"padding"+oe[a],!0,i)),"margin"!==n&&(u-=w.css(e,"border"+oe[a]+"Width",!0,i))):(u+=w.css(e,"padding"+oe[a],!0,i),"padding"!==n?u+=w.css(e,"border"+oe[a]+"Width",!0,i):s+=w.css(e,"border"+oe[a]+"Width",!0,i));return!r&&o>=0&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))),u}function et(e,t,n){var r=$e(e),i=Fe(e,t,r),o="border-box"===w.css(e,"boxSizing",!1,r),a=o;if(We.test(i)){if(!n)return i;i="auto"}return a=a&&(h.boxSizingReliable()||i===e.style[t]),("auto"===i||!parseFloat(i)&&"inline"===w.css(e,"display",!1,r))&&(i=e["offset"+t[0].toUpperCase()+t.slice(1)],a=!0),(i=parseFloat(i)||0)+Ze(e,t,n||(o?"border":"content"),a,r,i)+"px"}w.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Fe(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=G(t),u=Xe.test(t),l=e.style;if(u||(t=Je(s)),a=w.cssHooks[t]||w.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"==(o=typeof n)&&(i=ie.exec(n))&&i[1]&&(n=ue(e,t,i),o="number"),null!=n&&n===n&&("number"===o&&(n+=i&&i[3]||(w.cssNumber[s]?"":"px")),h.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=G(t);return Xe.test(t)||(t=Je(s)),(a=w.cssHooks[t]||w.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Fe(e,t,r)),"normal"===i&&t in Ve&&(i=Ve[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),w.each(["height","width"],function(e,t){w.cssHooks[t]={get:function(e,n,r){if(n)return!ze.test(w.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?et(e,t,r):se(e,Ue,function(){return et(e,t,r)})},set:function(e,n,r){var i,o=$e(e),a="border-box"===w.css(e,"boxSizing",!1,o),s=r&&Ze(e,t,r,a,o);return a&&h.scrollboxSize()===o.position&&(s-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(o[t])-Ze(e,t,"border",!1,o)-.5)),s&&(i=ie.exec(n))&&"px"!==(i[3]||"px")&&(e.style[t]=n,n=w.css(e,t)),Ke(e,n,s)}}}),w.cssHooks.marginLeft=_e(h.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Fe(e,"marginLeft"))||e.getBoundingClientRect().left-se(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),w.each({margin:"",padding:"",border:"Width"},function(e,t){w.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];r<4;r++)i[e+oe[r]+t]=o[r]||o[r-2]||o[0];return i}},"margin"!==e&&(w.cssHooks[e+t].set=Ke)}),w.fn.extend({css:function(e,t){return z(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=$e(e),i=t.length;a<i;a++)o[t[a]]=w.css(e,t[a],!1,r);return o}return void 0!==n?w.style(e,t,n):w.css(e,t)},e,t,arguments.length>1)}});function tt(e,t,n,r,i){return new tt.prototype.init(e,t,n,r,i)}w.Tween=tt,tt.prototype={constructor:tt,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||w.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(w.cssNumber[n]?"":"px")},cur:function(){var e=tt.propHooks[this.prop];return e&&e.get?e.get(this):tt.propHooks._default.get(this)},run:function(e){var t,n=tt.propHooks[this.prop];return this.options.duration?this.pos=t=w.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):tt.propHooks._default.set(this),this}},tt.prototype.init.prototype=tt.prototype,tt.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=w.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){w.fx.step[e.prop]?w.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[w.cssProps[e.prop]]&&!w.cssHooks[e.prop]?e.elem[e.prop]=e.now:w.style(e.elem,e.prop,e.now+e.unit)}}},tt.propHooks.scrollTop=tt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},w.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},w.fx=tt.prototype.init,w.fx.step={};var nt,rt,it=/^(?:toggle|show|hide)$/,ot=/queueHooks$/;function at(){rt&&(!1===r.hidden&&e.requestAnimationFrame?e.requestAnimationFrame(at):e.setTimeout(at,w.fx.interval),w.fx.tick())}function st(){return e.setTimeout(function(){nt=void 0}),nt=Date.now()}function ut(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=oe[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function lt(e,t,n){for(var r,i=(pt.tweeners[t]||[]).concat(pt.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function ct(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&ae(e),y=J.get(e,"fxshow");n.queue||(null==(a=w._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,w.queue(e,"fx").length||a.empty.fire()})}));for(r in t)if(i=t[r],it.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!y||void 0===y[r])continue;g=!0}d[r]=y&&y[r]||w.style(e,r)}if((u=!w.isEmptyObject(t))||!w.isEmptyObject(d)){f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=y&&y.display)&&(l=J.get(e,"display")),"none"===(c=w.css(e,"display"))&&(l?c=l:(fe([e],!0),l=e.style.display||l,c=w.css(e,"display"),fe([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===w.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1;for(r in d)u||(y?"hidden"in y&&(g=y.hidden):y=J.access(e,"fxshow",{display:l}),o&&(y.hidden=!g),g&&fe([e],!0),p.done(function(){g||fe([e]),J.remove(e,"fxshow");for(r in d)w.style(e,r,d[r])})),u=lt(g?y[r]:0,r,p),r in y||(y[r]=u.start,g&&(u.end=u.start,u.start=0))}}function ft(e,t){var n,r,i,o,a;for(n in e)if(r=G(n),i=t[r],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=w.cssHooks[r])&&"expand"in a){o=a.expand(o),delete e[r];for(n in o)n in e||(e[n]=o[n],t[n]=i)}else t[r]=i}function pt(e,t,n){var r,i,o=0,a=pt.prefilters.length,s=w.Deferred().always(function(){delete u.elem}),u=function(){if(i)return!1;for(var t=nt||st(),n=Math.max(0,l.startTime+l.duration-t),r=1-(n/l.duration||0),o=0,a=l.tweens.length;o<a;o++)l.tweens[o].run(r);return s.notifyWith(e,[l,r,n]),r<1&&a?n:(a||s.notifyWith(e,[l,1,0]),s.resolveWith(e,[l]),!1)},l=s.promise({elem:e,props:w.extend({},t),opts:w.extend(!0,{specialEasing:{},easing:w.easing._default},n),originalProperties:t,originalOptions:n,startTime:nt||st(),duration:n.duration,tweens:[],createTween:function(t,n){var r=w.Tween(e,l.opts,t,n,l.opts.specialEasing[t]||l.opts.easing);return l.tweens.push(r),r},stop:function(t){var n=0,r=t?l.tweens.length:0;if(i)return this;for(i=!0;n<r;n++)l.tweens[n].run(1);return t?(s.notifyWith(e,[l,1,0]),s.resolveWith(e,[l,t])):s.rejectWith(e,[l,t]),this}}),c=l.props;for(ft(c,l.opts.specialEasing);o<a;o++)if(r=pt.prefilters[o].call(l,e,c,l.opts))return g(r.stop)&&(w._queueHooks(l.elem,l.opts.queue).stop=r.stop.bind(r)),r;return w.map(c,lt,l),g(l.opts.start)&&l.opts.start.call(e,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),w.fx.timer(w.extend(u,{elem:e,anim:l,queue:l.opts.queue})),l}w.Animation=w.extend(pt,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return ue(n.elem,e,ie.exec(t),n),n}]},tweener:function(e,t){g(e)?(t=e,e=["*"]):e=e.match(M);for(var n,r=0,i=e.length;r<i;r++)n=e[r],pt.tweeners[n]=pt.tweeners[n]||[],pt.tweeners[n].unshift(t)},prefilters:[ct],prefilter:function(e,t){t?pt.prefilters.unshift(e):pt.prefilters.push(e)}}),w.speed=function(e,t,n){var r=e&&"object"==typeof e?w.extend({},e):{complete:n||!n&&t||g(e)&&e,duration:e,easing:n&&t||t&&!g(t)&&t};return w.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in w.fx.speeds?r.duration=w.fx.speeds[r.duration]:r.duration=w.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){g(r.old)&&r.old.call(this),r.queue&&w.dequeue(this,r.queue)},r},w.fn.extend({fadeTo:function(e,t,n,r){return this.filter(ae).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=w.isEmptyObject(e),o=w.speed(t,n,r),a=function(){var t=pt(this,w.extend({},e),o);(i||J.get(this,"finish"))&&t.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(e,t,n){var r=function(e){var t=e.stop;delete e.stop,t(n)};return"string"!=typeof e&&(n=t,t=e,e=void 0),t&&!1!==e&&this.queue(e||"fx",[]),this.each(function(){var t=!0,i=null!=e&&e+"queueHooks",o=w.timers,a=J.get(this);if(i)a[i]&&a[i].stop&&r(a[i]);else for(i in a)a[i]&&a[i].stop&&ot.test(i)&&r(a[i]);for(i=o.length;i--;)o[i].elem!==this||null!=e&&o[i].queue!==e||(o[i].anim.stop(n),t=!1,o.splice(i,1));!t&&n||w.dequeue(this,e)})},finish:function(e){return!1!==e&&(e=e||"fx"),this.each(function(){var t,n=J.get(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=w.timers,a=r?r.length:0;for(n.finish=!0,w.queue(this,e,[]),i&&i.stop&&i.stop.call(this,!0),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;t<a;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}}),w.each(["toggle","show","hide"],function(e,t){var n=w.fn[t];w.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(ut(t,!0),e,r,i)}}),w.each({slideDown:ut("show"),slideUp:ut("hide"),slideToggle:ut("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){w.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),w.timers=[],w.fx.tick=function(){var e,t=0,n=w.timers;for(nt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||w.fx.stop(),nt=void 0},w.fx.timer=function(e){w.timers.push(e),w.fx.start()},w.fx.interval=13,w.fx.start=function(){rt||(rt=!0,at())},w.fx.stop=function(){rt=null},w.fx.speeds={slow:600,fast:200,_default:400},w.fn.delay=function(t,n){return t=w.fx?w.fx.speeds[t]||t:t,n=n||"fx",this.queue(n,function(n,r){var i=e.setTimeout(n,t);r.stop=function(){e.clearTimeout(i)}})},function(){var e=r.createElement("input"),t=r.createElement("select").appendChild(r.createElement("option"));e.type="checkbox",h.checkOn=""!==e.value,h.optSelected=t.selected,(e=r.createElement("input")).value="t",e.type="radio",h.radioValue="t"===e.value}();var dt,ht=w.expr.attrHandle;w.fn.extend({attr:function(e,t){return z(this,w.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){w.removeAttr(this,e)})}}),w.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?w.prop(e,t,n):(1===o&&w.isXMLDoc(e)||(i=w.attrHooks[t.toLowerCase()]||(w.expr.match.bool.test(t)?dt:void 0)),void 0!==n?null===n?void w.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=w.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!h.radioValue&&"radio"===t&&N(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(M);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),dt={set:function(e,t,n){return!1===t?w.removeAttr(e,n):e.setAttribute(n,n),n}},w.each(w.expr.match.bool.source.match(/\w+/g),function(e,t){var n=ht[t]||w.find.attr;ht[t]=function(e,t,r){var i,o,a=t.toLowerCase();return r||(o=ht[a],ht[a]=i,i=null!=n(e,t,r)?a:null,ht[a]=o),i}});var gt=/^(?:input|select|textarea|button)$/i,yt=/^(?:a|area)$/i;w.fn.extend({prop:function(e,t){return z(this,w.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[w.propFix[e]||e]})}}),w.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&w.isXMLDoc(e)||(t=w.propFix[t]||t,i=w.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=w.find.attr(e,"tabindex");return t?parseInt(t,10):gt.test(e.nodeName)||yt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),h.optSelected||(w.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),w.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){w.propFix[this.toLowerCase()]=this});function vt(e){return(e.match(M)||[]).join(" ")}function mt(e){return e.getAttribute&&e.getAttribute("class")||""}function xt(e){return Array.isArray(e)?e:"string"==typeof e?e.match(M)||[]:[]}w.fn.extend({addClass:function(e){var t,n,r,i,o,a,s,u=0;if(g(e))return this.each(function(t){w(this).addClass(e.call(this,t,mt(this)))});if((t=xt(e)).length)while(n=this[u++])if(i=mt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=t[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},removeClass:function(e){var t,n,r,i,o,a,s,u=0;if(g(e))return this.each(function(t){w(this).removeClass(e.call(this,t,mt(this)))});if(!arguments.length)return this.attr("class","");if((t=xt(e)).length)while(n=this[u++])if(i=mt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=t[a++])while(r.indexOf(" "+o+" ")>-1)r=r.replace(" "+o+" "," ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(e,t){var n=typeof e,r="string"===n||Array.isArray(e);return"boolean"==typeof t&&r?t?this.addClass(e):this.removeClass(e):g(e)?this.each(function(n){w(this).toggleClass(e.call(this,n,mt(this),t),t)}):this.each(function(){var t,i,o,a;if(r){i=0,o=w(this),a=xt(e);while(t=a[i++])o.hasClass(t)?o.removeClass(t):o.addClass(t)}else void 0!==e&&"boolean"!==n||((t=mt(this))&&J.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===e?"":J.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&(" "+vt(mt(n))+" ").indexOf(t)>-1)return!0;return!1}});var bt=/\r/g;w.fn.extend({val:function(e){var t,n,r,i=this[0];{if(arguments.length)return r=g(e),this.each(function(n){var i;1===this.nodeType&&(null==(i=r?e.call(this,n,w(this).val()):e)?i="":"number"==typeof i?i+="":Array.isArray(i)&&(i=w.map(i,function(e){return null==e?"":e+""})),(t=w.valHooks[this.type]||w.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))});if(i)return(t=w.valHooks[i.type]||w.valHooks[i.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(i,"value"))?n:"string"==typeof(n=i.value)?n.replace(bt,""):null==n?"":n}}}),w.extend({valHooks:{option:{get:function(e){var t=w.find.attr(e,"value");return null!=t?t:vt(w.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!N(n.parentNode,"optgroup"))){if(t=w(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=w.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=w.inArray(w.valHooks.option.get(r),o)>-1)&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),w.each(["radio","checkbox"],function(){w.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=w.inArray(w(e).val(),t)>-1}},h.checkOn||(w.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),h.focusin="onfocusin"in e;var wt=/^(?:focusinfocus|focusoutblur)$/,Tt=function(e){e.stopPropagation()};w.extend(w.event,{trigger:function(t,n,i,o){var a,s,u,l,c,p,d,h,v=[i||r],m=f.call(t,"type")?t.type:t,x=f.call(t,"namespace")?t.namespace.split("."):[];if(s=h=u=i=i||r,3!==i.nodeType&&8!==i.nodeType&&!wt.test(m+w.event.triggered)&&(m.indexOf(".")>-1&&(m=(x=m.split(".")).shift(),x.sort()),c=m.indexOf(":")<0&&"on"+m,t=t[w.expando]?t:new w.Event(m,"object"==typeof t&&t),t.isTrigger=o?2:3,t.namespace=x.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+x.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=i),n=null==n?[t]:w.makeArray(n,[t]),d=w.event.special[m]||{},o||!d.trigger||!1!==d.trigger.apply(i,n))){if(!o&&!d.noBubble&&!y(i)){for(l=d.delegateType||m,wt.test(l+m)||(s=s.parentNode);s;s=s.parentNode)v.push(s),u=s;u===(i.ownerDocument||r)&&v.push(u.defaultView||u.parentWindow||e)}a=0;while((s=v[a++])&&!t.isPropagationStopped())h=s,t.type=a>1?l:d.bindType||m,(p=(J.get(s,"events")||{})[t.type]&&J.get(s,"handle"))&&p.apply(s,n),(p=c&&s[c])&&p.apply&&Y(s)&&(t.result=p.apply(s,n),!1===t.result&&t.preventDefault());return t.type=m,o||t.isDefaultPrevented()||d._default&&!1!==d._default.apply(v.pop(),n)||!Y(i)||c&&g(i[m])&&!y(i)&&((u=i[c])&&(i[c]=null),w.event.triggered=m,t.isPropagationStopped()&&h.addEventListener(m,Tt),i[m](),t.isPropagationStopped()&&h.removeEventListener(m,Tt),w.event.triggered=void 0,u&&(i[c]=u)),t.result}},simulate:function(e,t,n){var r=w.extend(new w.Event,n,{type:e,isSimulated:!0});w.event.trigger(r,null,t)}}),w.fn.extend({trigger:function(e,t){return this.each(function(){w.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return w.event.trigger(e,t,n,!0)}}),h.focusin||w.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){w.event.simulate(t,e.target,w.event.fix(e))};w.event.special[t]={setup:function(){var r=this.ownerDocument||this,i=J.access(r,t);i||r.addEventListener(e,n,!0),J.access(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this,i=J.access(r,t)-1;i?J.access(r,t,i):(r.removeEventListener(e,n,!0),J.remove(r,t))}}});var Ct=e.location,Et=Date.now(),kt=/\?/;w.parseXML=function(t){var n;if(!t||"string"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,"text/xml")}catch(e){n=void 0}return n&&!n.getElementsByTagName("parsererror").length||w.error("Invalid XML: "+t),n};var St=/\[\]$/,Dt=/\r?\n/g,Nt=/^(?:submit|button|image|reset|file)$/i,At=/^(?:input|select|textarea|keygen)/i;function jt(e,t,n,r){var i;if(Array.isArray(t))w.each(t,function(t,i){n||St.test(e)?r(e,i):jt(e+"["+("object"==typeof i&&null!=i?t:"")+"]",i,n,r)});else if(n||"object"!==x(t))r(e,t);else for(i in t)jt(e+"["+i+"]",t[i],n,r)}w.param=function(e,t){var n,r=[],i=function(e,t){var n=g(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(Array.isArray(e)||e.jquery&&!w.isPlainObject(e))w.each(e,function(){i(this.name,this.value)});else for(n in e)jt(n,e[n],t,i);return r.join("&")},w.fn.extend({serialize:function(){return w.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=w.prop(this,"elements");return e?w.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!w(this).is(":disabled")&&At.test(this.nodeName)&&!Nt.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=w(this).val();return null==n?null:Array.isArray(n)?w.map(n,function(e){return{name:t.name,value:e.replace(Dt,"\r\n")}}):{name:t.name,value:n.replace(Dt,"\r\n")}}).get()}});var qt=/%20/g,Lt=/#.*$/,Ht=/([?&])_=[^&]*/,Ot=/^(.*?):[ \t]*([^\r\n]*)$/gm,Pt=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Mt=/^(?:GET|HEAD)$/,Rt=/^\/\//,It={},Wt={},$t="*/".concat("*"),Bt=r.createElement("a");Bt.href=Ct.href;function Ft(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(M)||[];if(g(n))while(r=o[i++])"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function _t(e,t,n,r){var i={},o=e===Wt;function a(s){var u;return i[s]=!0,w.each(e[s]||[],function(e,s){var l=s(t,n,r);return"string"!=typeof l||o||i[l]?o?!(u=l):void 0:(t.dataTypes.unshift(l),a(l),!1)}),u}return a(t.dataTypes[0])||!i["*"]&&a("*")}function zt(e,t){var n,r,i=w.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&w.extend(!0,e,r),e}function Xt(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}function Ut(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}w.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Ct.href,type:"GET",isLocal:Pt.test(Ct.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":$t,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":w.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?zt(zt(e,w.ajaxSettings),t):zt(w.ajaxSettings,e)},ajaxPrefilter:Ft(It),ajaxTransport:Ft(Wt),ajax:function(t,n){"object"==typeof t&&(n=t,t=void 0),n=n||{};var i,o,a,s,u,l,c,f,p,d,h=w.ajaxSetup({},n),g=h.context||h,y=h.context&&(g.nodeType||g.jquery)?w(g):w.event,v=w.Deferred(),m=w.Callbacks("once memory"),x=h.statusCode||{},b={},T={},C="canceled",E={readyState:0,getResponseHeader:function(e){var t;if(c){if(!s){s={};while(t=Ot.exec(a))s[t[1].toLowerCase()]=t[2]}t=s[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return c?a:null},setRequestHeader:function(e,t){return null==c&&(e=T[e.toLowerCase()]=T[e.toLowerCase()]||e,b[e]=t),this},overrideMimeType:function(e){return null==c&&(h.mimeType=e),this},statusCode:function(e){var t;if(e)if(c)E.always(e[E.status]);else for(t in e)x[t]=[x[t],e[t]];return this},abort:function(e){var t=e||C;return i&&i.abort(t),k(0,t),this}};if(v.promise(E),h.url=((t||h.url||Ct.href)+"").replace(Rt,Ct.protocol+"//"),h.type=n.method||n.type||h.method||h.type,h.dataTypes=(h.dataType||"*").toLowerCase().match(M)||[""],null==h.crossDomain){l=r.createElement("a");try{l.href=h.url,l.href=l.href,h.crossDomain=Bt.protocol+"//"+Bt.host!=l.protocol+"//"+l.host}catch(e){h.crossDomain=!0}}if(h.data&&h.processData&&"string"!=typeof h.data&&(h.data=w.param(h.data,h.traditional)),_t(It,h,n,E),c)return E;(f=w.event&&h.global)&&0==w.active++&&w.event.trigger("ajaxStart"),h.type=h.type.toUpperCase(),h.hasContent=!Mt.test(h.type),o=h.url.replace(Lt,""),h.hasContent?h.data&&h.processData&&0===(h.contentType||"").indexOf("application/x-www-form-urlencoded")&&(h.data=h.data.replace(qt,"+")):(d=h.url.slice(o.length),h.data&&(h.processData||"string"==typeof h.data)&&(o+=(kt.test(o)?"&":"?")+h.data,delete h.data),!1===h.cache&&(o=o.replace(Ht,"$1"),d=(kt.test(o)?"&":"?")+"_="+Et+++d),h.url=o+d),h.ifModified&&(w.lastModified[o]&&E.setRequestHeader("If-Modified-Since",w.lastModified[o]),w.etag[o]&&E.setRequestHeader("If-None-Match",w.etag[o])),(h.data&&h.hasContent&&!1!==h.contentType||n.contentType)&&E.setRequestHeader("Content-Type",h.contentType),E.setRequestHeader("Accept",h.dataTypes[0]&&h.accepts[h.dataTypes[0]]?h.accepts[h.dataTypes[0]]+("*"!==h.dataTypes[0]?", "+$t+"; q=0.01":""):h.accepts["*"]);for(p in h.headers)E.setRequestHeader(p,h.headers[p]);if(h.beforeSend&&(!1===h.beforeSend.call(g,E,h)||c))return E.abort();if(C="abort",m.add(h.complete),E.done(h.success),E.fail(h.error),i=_t(Wt,h,n,E)){if(E.readyState=1,f&&y.trigger("ajaxSend",[E,h]),c)return E;h.async&&h.timeout>0&&(u=e.setTimeout(function(){E.abort("timeout")},h.timeout));try{c=!1,i.send(b,k)}catch(e){if(c)throw e;k(-1,e)}}else k(-1,"No Transport");function k(t,n,r,s){var l,p,d,b,T,C=n;c||(c=!0,u&&e.clearTimeout(u),i=void 0,a=s||"",E.readyState=t>0?4:0,l=t>=200&&t<300||304===t,r&&(b=Xt(h,E,r)),b=Ut(h,b,E,l),l?(h.ifModified&&((T=E.getResponseHeader("Last-Modified"))&&(w.lastModified[o]=T),(T=E.getResponseHeader("etag"))&&(w.etag[o]=T)),204===t||"HEAD"===h.type?C="nocontent":304===t?C="notmodified":(C=b.state,p=b.data,l=!(d=b.error))):(d=C,!t&&C||(C="error",t<0&&(t=0))),E.status=t,E.statusText=(n||C)+"",l?v.resolveWith(g,[p,C,E]):v.rejectWith(g,[E,C,d]),E.statusCode(x),x=void 0,f&&y.trigger(l?"ajaxSuccess":"ajaxError",[E,h,l?p:d]),m.fireWith(g,[E,C]),f&&(y.trigger("ajaxComplete",[E,h]),--w.active||w.event.trigger("ajaxStop")))}return E},getJSON:function(e,t,n){return w.get(e,t,n,"json")},getScript:function(e,t){return w.get(e,void 0,t,"script")}}),w.each(["get","post"],function(e,t){w[t]=function(e,n,r,i){return g(n)&&(i=i||r,r=n,n=void 0),w.ajax(w.extend({url:e,type:t,dataType:i,data:n,success:r},w.isPlainObject(e)&&e))}}),w._evalUrl=function(e){return w.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},w.fn.extend({wrapAll:function(e){var t;return this[0]&&(g(e)&&(e=e.call(this[0])),t=w(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return g(e)?this.each(function(t){w(this).wrapInner(e.call(this,t))}):this.each(function(){var t=w(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=g(e);return this.each(function(n){w(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){w(this).replaceWith(this.childNodes)}),this}}),w.expr.pseudos.hidden=function(e){return!w.expr.pseudos.visible(e)},w.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},w.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(e){}};var Vt={0:200,1223:204},Gt=w.ajaxSettings.xhr();h.cors=!!Gt&&"withCredentials"in Gt,h.ajax=Gt=!!Gt,w.ajaxTransport(function(t){var n,r;if(h.cors||Gt&&!t.crossDomain)return{send:function(i,o){var a,s=t.xhr();if(s.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(a in t.xhrFields)s[a]=t.xhrFields[a];t.mimeType&&s.overrideMimeType&&s.overrideMimeType(t.mimeType),t.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");for(a in i)s.setRequestHeader(a,i[a]);n=function(e){return function(){n&&(n=r=s.onload=s.onerror=s.onabort=s.ontimeout=s.onreadystatechange=null,"abort"===e?s.abort():"error"===e?"number"!=typeof s.status?o(0,"error"):o(s.status,s.statusText):o(Vt[s.status]||s.status,s.statusText,"text"!==(s.responseType||"text")||"string"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=n(),r=s.onerror=s.ontimeout=n("error"),void 0!==s.onabort?s.onabort=r:s.onreadystatechange=function(){4===s.readyState&&e.setTimeout(function(){n&&r()})},n=n("abort");try{s.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}},abort:function(){n&&n()}}}),w.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),w.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return w.globalEval(e),e}}}),w.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),w.ajaxTransport("script",function(e){if(e.crossDomain){var t,n;return{send:function(i,o){t=w("<script>").prop({charset:e.scriptCharset,src:e.url}).on("load error",n=function(e){t.remove(),n=null,e&&o("error"===e.type?404:200,e.type)}),r.head.appendChild(t[0])},abort:function(){n&&n()}}}});var Yt=[],Qt=/(=)\?(?=&|$)|\?\?/;w.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Yt.pop()||w.expando+"_"+Et++;return this[e]=!0,e}}),w.ajaxPrefilter("json jsonp",function(t,n,r){var i,o,a,s=!1!==t.jsonp&&(Qt.test(t.url)?"url":"string"==typeof t.data&&0===(t.contentType||"").indexOf("application/x-www-form-urlencoded")&&Qt.test(t.data)&&"data");if(s||"jsonp"===t.dataTypes[0])return i=t.jsonpCallback=g(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,s?t[s]=t[s].replace(Qt,"$1"+i):!1!==t.jsonp&&(t.url+=(kt.test(t.url)?"&":"?")+t.jsonp+"="+i),t.converters["script json"]=function(){return a||w.error(i+" was not called"),a[0]},t.dataTypes[0]="json",o=e[i],e[i]=function(){a=arguments},r.always(function(){void 0===o?w(e).removeProp(i):e[i]=o,t[i]&&(t.jsonpCallback=n.jsonpCallback,Yt.push(i)),a&&g(o)&&o(a[0]),a=o=void 0}),"script"}),h.createHTMLDocument=function(){var e=r.implementation.createHTMLDocument("").body;return e.innerHTML="<form></form><form></form>",2===e.childNodes.length}(),w.parseHTML=function(e,t,n){if("string"!=typeof e)return[];"boolean"==typeof t&&(n=t,t=!1);var i,o,a;return t||(h.createHTMLDocument?((i=(t=r.implementation.createHTMLDocument("")).createElement("base")).href=r.location.href,t.head.appendChild(i)):t=r),o=A.exec(e),a=!n&&[],o?[t.createElement(o[1])]:(o=xe([e],t,a),a&&a.length&&w(a).remove(),w.merge([],o.childNodes))},w.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return s>-1&&(r=vt(e.slice(s)),e=e.slice(0,s)),g(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),a.length>0&&w.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?w("<div>").append(w.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},w.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){w.fn[t]=function(e){return this.on(t,e)}}),w.expr.pseudos.animated=function(e){return w.grep(w.timers,function(t){return e===t.elem}).length},w.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l,c=w.css(e,"position"),f=w(e),p={};"static"===c&&(e.style.position="relative"),s=f.offset(),o=w.css(e,"top"),u=w.css(e,"left"),(l=("absolute"===c||"fixed"===c)&&(o+u).indexOf("auto")>-1)?(a=(r=f.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),g(t)&&(t=t.call(e,n,w.extend({},s))),null!=t.top&&(p.top=t.top-s.top+a),null!=t.left&&(p.left=t.left-s.left+i),"using"in t?t.using.call(e,p):f.css(p)}},w.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each(function(t){w.offset.setOffset(this,e,t)});var t,n,r=this[0];if(r)return r.getClientRects().length?(t=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:t.top+n.pageYOffset,left:t.left+n.pageXOffset}):{top:0,left:0}},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===w.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===w.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=w(e).offset()).top+=w.css(e,"borderTopWidth",!0),i.left+=w.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-w.css(r,"marginTop",!0),left:t.left-i.left-w.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===w.css(e,"position"))e=e.offsetParent;return e||be})}}),w.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,t){var n="pageYOffset"===t;w.fn[e]=function(r){return z(this,function(e,r,i){var o;if(y(e)?o=e:9===e.nodeType&&(o=e.defaultView),void 0===i)return o?o[t]:e[r];o?o.scrollTo(n?o.pageXOffset:i,n?i:o.pageYOffset):e[r]=i},e,r,arguments.length)}}),w.each(["top","left"],function(e,t){w.cssHooks[t]=_e(h.pixelPosition,function(e,n){if(n)return n=Fe(e,t),We.test(n)?w(e).position()[t]+"px":n})}),w.each({Height:"height",Width:"width"},function(e,t){w.each({padding:"inner"+e,content:t,"":"outer"+e},function(n,r){w.fn[r]=function(i,o){var a=arguments.length&&(n||"boolean"!=typeof i),s=n||(!0===i||!0===o?"margin":"border");return z(this,function(t,n,i){var o;return y(t)?0===r.indexOf("outer")?t["inner"+e]:t.document.documentElement["client"+e]:9===t.nodeType?(o=t.documentElement,Math.max(t.body["scroll"+e],o["scroll"+e],t.body["offset"+e],o["offset"+e],o["client"+e])):void 0===i?w.css(t,n,s):w.style(t,n,i,s)},t,a?i:void 0,a)}})}),w.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,t){w.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),w.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),w.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}}),w.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),g(e))return r=o.call(arguments,2),i=function(){return e.apply(t||this,r.concat(o.call(arguments)))},i.guid=e.guid=e.guid||w.guid++,i},w.holdReady=function(e){e?w.readyWait++:w.ready(!0)},w.isArray=Array.isArray,w.parseJSON=JSON.parse,w.nodeName=N,w.isFunction=g,w.isWindow=y,w.camelCase=G,w.type=x,w.now=Date.now,w.isNumeric=function(e){var t=w.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},"function"==typeof define&&define.amd&&define("jquery",[],function(){return w});var Jt=e.jQuery,Kt=e.$;return w.noConflict=function(t){return e.$===w&&(e.$=Kt),t&&e.jQuery===w&&(e.jQuery=Jt),w},t||(e.jQuery=e.$=w),w});
diff --git a/zy-acs-cv/src/main/webapp/static/js/jquery/jquery.animsition.js b/zy-acs-cv/src/main/webapp/static/js/jquery/jquery.animsition.js
new file mode 100644
index 0000000..0440e34
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/js/jquery/jquery.animsition.js
@@ -0,0 +1,234 @@
+/*!
+ * animsition v3.4.3
+ * http://blivesta.github.io/animsition/
+ * Licensed under MIT
+ * Author : blivesta
+ * http://blivesta.com/
+ */
+(function ($) {
+    "use strict";
+    var namespace = "animsition";
+    var methods = {
+        init: function (options) {
+            options = $.extend({
+                inClass: "fade-in",
+                outClass: "fade-out",
+                inDuration: 1500,
+                outDuration: 800,
+                linkElement: ".animsition-link",
+                loading: true,
+                loadingParentElement: "body",
+                loadingClass: "animsition-loading",
+                unSupportCss: ["animation-duration", "-webkit-animation-duration", "-o-animation-duration"],
+                overlay: false,
+                overlayClass: "animsition-overlay-slide",
+                overlayParentElement: "body"
+            }, options);
+            var support = methods.supportCheck.call(this, options);
+            if (!support) {
+                if (!("console" in window)) {
+                    window.console = {};
+                    window.console.log = function (str) {
+                        return str;
+                    };
+                }
+                console.log("Animsition does not support this browser.");
+                return methods.destroy.call(this);
+            }
+            var overlayMode = methods.optionCheck.call(this, options);
+            if (overlayMode) {
+                methods.addOverlay.call(this, options);
+            }
+            if (options.loading) {
+                methods.addLoading.call(this, options);
+            }
+            return this.each(function () {
+                var _this = this;
+                var $this = $(this);
+                var $window = $(window);
+                var data = $this.data(namespace);
+                if (!data) {
+                    options = $.extend({}, options);
+                    $this.data(namespace, {
+                        options: options
+                    });
+                    $window.on("load." + namespace + " pageshow." + namespace, function () {
+                        methods.pageIn.call(_this);
+                    });
+                    $window.on("unload." + namespace, function () {
+                    });
+                    $(options.linkElement).on("click." + namespace, function (event) {
+                        event.preventDefault();
+                        var $self = $(this);
+                        methods.pageOut.call(_this, $self);
+                    });
+                }
+            });
+        },
+        addOverlay: function (options) {
+            $(options.overlayParentElement).prepend('<div class="' + options.overlayClass + '"></div>');
+        },
+        addLoading: function (options) {
+            $(options.loadingParentElement).append('<div class="' + options.loadingClass + '"></div>');
+        },
+        removeLoading: function () {
+            var $this = $(this);
+            var options = $this.data(namespace).options;
+            var $loading = $(options.loadingParentElement).children("." + options.loadingClass);
+            $loading.fadeOut().remove();
+        },
+        supportCheck: function (options) {
+            var $this = $(this);
+            var props = options.unSupportCss;
+            var propsNum = props.length;
+            var support = false;
+            if (propsNum === 0) {
+                support = true;
+            }
+            for (var i = 0; i < propsNum; i++) {
+                if (typeof $this.css(props[i]) === "string") {
+                    support = true;
+                    break;
+                }
+            }
+            return support;
+        },
+        optionCheck: function (options) {
+            var $this = $(this);
+            var overlayMode;
+            if (options.overlay || $this.data("animsition-overlay")) {
+                overlayMode = true;
+            } else {
+                overlayMode = false;
+            }
+            return overlayMode;
+        },
+        animationCheck: function (data, stateClass, stateIn) {
+            var $this = $(this);
+            var options = $this.data(namespace).options;
+            var dataType = typeof data;
+            var dataDuration = !stateClass && dataType === "number";
+            var dataClass = stateClass && dataType === "string" && data.length > 0;
+            if (dataDuration || dataClass) {
+                data = data;
+            } else if (stateClass && stateIn) {
+                data = options.inClass;
+            } else if (!stateClass && stateIn) {
+                data = options.inDuration;
+            } else if (stateClass && !stateIn) {
+                data = options.outClass;
+            } else if (!stateClass && !stateIn) {
+                data = options.outDuration;
+            }
+            return data;
+        },
+        pageIn: function () {
+            var _this = this;
+            var $this = $(this);
+            var options = $this.data(namespace).options;
+            var thisInDuration = $this.data("animsition-in-duration");
+            var thisInClass = $this.data("animsition-in");
+            var inDuration = methods.animationCheck.call(_this, thisInDuration, false, true);
+            var inClass = methods.animationCheck.call(_this, thisInClass, true, true);
+            var overlayMode = methods.optionCheck.call(_this, options);
+            if (options.loading) {
+                methods.removeLoading.call(_this);
+            }
+            if (overlayMode) {
+                methods.pageInOverlay.call(_this, inClass, inDuration);
+            } else {
+                methods.pageInBasic.call(_this, inClass, inDuration);
+            }
+        },
+        pageInBasic: function (inClass, inDuration) {
+            var $this = $(this);
+            $this.css({
+                "animation-duration": inDuration / 1e3 + "s"
+            }).addClass(inClass).animateCallback(function () {
+                $this.removeClass(inClass).css({
+                    opacity: 1
+                });
+            });
+        },
+        pageInOverlay: function (inClass, inDuration) {
+            var $this = $(this);
+            var options = $this.data(namespace).options;
+            $this.css({
+                opacity: 1
+            });
+            $(options.overlayParentElement).children("." + options.overlayClass).css({
+                "animation-duration": inDuration / 1e3 + "s"
+            }).addClass(inClass);
+        },
+        pageOut: function ($self) {
+            var _this = this;
+            var $this = $(this);
+            var options = $this.data(namespace).options;
+            var selfOutClass = $self.data("animsition-out");
+            var thisOutClass = $this.data("animsition-out");
+            var selfOutDuration = $self.data("animsition-out-duration");
+            var thisOutDuration = $this.data("animsition-out-duration");
+            var isOutClass = selfOutClass ? selfOutClass : thisOutClass;
+            var isOutDuration = selfOutDuration ? selfOutDuration : thisOutDuration;
+            var outClass = methods.animationCheck.call(_this, isOutClass, true, false);
+            var outDuration = methods.animationCheck.call(_this, isOutDuration, false, false);
+            var overlayMode = methods.optionCheck.call(_this, options);
+            var url = $self.attr("href");
+            if (overlayMode) {
+                methods.pageOutOverlay.call(_this, outClass, outDuration, url);
+            } else {
+                methods.pageOutBasic.call(_this, outClass, outDuration, url);
+            }
+        },
+        pageOutBasic: function (outClass, outDuration, url) {
+            var $this = $(this);
+            $this.css({
+                "animation-duration": outDuration / 1e3 + "s"
+            }).addClass(outClass).animateCallback(function () {
+                location.href = url;
+            });
+        },
+        pageOutOverlay: function (outClass, outDuration, url) {
+            var _this = this;
+            var $this = $(this);
+            var options = $this.data(namespace).options;
+            var thisInClass = $this.data("animsition-in");
+            var inClass = methods.animationCheck.call(_this, thisInClass, true, true);
+            $(options.overlayParentElement).children("." + options.overlayClass).css({
+                "animation-duration": outDuration / 1e3 + "s"
+            }).removeClass(inClass).addClass(outClass).animateCallback(function () {
+                $this.css({
+                    opacity: 0
+                });
+                location.href = url;
+            });
+        },
+        destroy: function () {
+            return this.each(function () {
+                var $this = $(this);
+                $(window).unbind("." + namespace);
+                $this.css({
+                    opacity: 1
+                }).removeData(namespace);
+            });
+        }
+    };
+    $.fn.animateCallback = function (callback) {
+        var end = "animationend webkitAnimationEnd mozAnimationEnd oAnimationEnd MSAnimationEnd";
+        return this.each(function () {
+            $(this).bind(end, function () {
+                $(this).unbind(end);
+                return callback.call(this);
+            });
+        });
+    };
+    $.fn.animsition = function (method) {
+        if (methods[method]) {
+            return methods[method].apply(this, Array.prototype.slice.call(arguments, 1));
+        } else if (typeof method === "object" || !method) {
+            return methods.init.apply(this, arguments);
+        } else {
+            $.error("Method " + method + " does not exist on jQuery." + namespace);
+        }
+    };
+})(jQuery);
\ No newline at end of file
diff --git a/zy-acs-cv/src/main/webapp/static/js/layer/layer.js b/zy-acs-cv/src/main/webapp/static/js/layer/layer.js
new file mode 100644
index 0000000..12cb6b5
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/js/layer/layer.js
@@ -0,0 +1,2 @@
+/*! layer-v3.1.1 Web寮瑰眰缁勪欢 MIT License  http://layer.layui.com/  By 璐ゅ績 */
+ ;!function(e,t){"use strict";var i,n,a=e.layui&&layui.define,o={getPath:function(){var e=document.currentScript?document.currentScript.src:function(){for(var e,t=document.scripts,i=t.length-1,n=i;n>0;n--)if("interactive"===t[n].readyState){e=t[n].src;break}return e||t[i].src}();return e.substring(0,e.lastIndexOf("/")+1)}(),config:{},end:{},minIndex:0,minLeft:[],btn:["&#x786E;&#x5B9A;","&#x53D6;&#x6D88;"],type:["dialog","page","iframe","loading","tips"],getStyle:function(t,i){var n=t.currentStyle?t.currentStyle:e.getComputedStyle(t,null);return n[n.getPropertyValue?"getPropertyValue":"getAttribute"](i)},link:function(t,i,n){if(r.path){var a=document.getElementsByTagName("head")[0],s=document.createElement("link");"string"==typeof i&&(n=i);var l=(n||t).replace(/\.|\//g,""),f="layuicss-"+l,c=0;s.rel="stylesheet",s.href=r.path+t,s.id=f,document.getElementById(f)||a.appendChild(s),"function"==typeof i&&!function u(){return++c>80?e.console&&console.error("layer.css: Invalid"):void(1989===parseInt(o.getStyle(document.getElementById(f),"width"))?i():setTimeout(u,100))}()}}},r={v:"3.1.1",ie:function(){var t=navigator.userAgent.toLowerCase();return!!(e.ActiveXObject||"ActiveXObject"in e)&&((t.match(/msie\s(\d+)/)||[])[1]||"11")}(),index:e.layer&&e.layer.v?1e5:0,path:o.getPath,config:function(e,t){return e=e||{},r.cache=o.config=i.extend({},o.config,e),r.path=o.config.path||r.path,"string"==typeof e.extend&&(e.extend=[e.extend]),o.config.path&&r.ready(),e.extend?(a?layui.addcss("modules/layer/"+e.extend):o.link("theme/"+e.extend),this):this},ready:function(e){var t="layer",i="",n=(a?"modules/layer/":"theme/")+"default/layer.css?v="+r.v+i;return a?layui.addcss(n,e,t):o.link(n,e,t),this},alert:function(e,t,n){var a="function"==typeof t;return a&&(n=t),r.open(i.extend({content:e,yes:n},a?{}:t))},confirm:function(e,t,n,a){var s="function"==typeof t;return s&&(a=n,n=t),r.open(i.extend({content:e,btn:o.btn,yes:n,btn2:a},s?{}:t))},msg:function(e,n,a){var s="function"==typeof n,f=o.config.skin,c=(f?f+" "+f+"-msg":"")||"layui-layer-msg",u=l.anim.length-1;return s&&(a=n),r.open(i.extend({content:e,time:3e3,shade:!1,skin:c,title:!1,closeBtn:!1,btn:!1,resize:!1,end:a},s&&!o.config.skin?{skin:c+" layui-layer-hui",anim:u}:function(){return n=n||{},(n.icon===-1||n.icon===t&&!o.config.skin)&&(n.skin=c+" "+(n.skin||"layui-layer-hui")),n}()))},load:function(e,t){return r.open(i.extend({type:3,icon:e||0,resize:!1,shade:.01},t))},tips:function(e,t,n){return r.open(i.extend({type:4,content:[e,t],closeBtn:!1,time:3e3,shade:!1,resize:!1,fixed:!1,maxWidth:210},n))}},s=function(e){var t=this;t.index=++r.index,t.config=i.extend({},t.config,o.config,e),document.body?t.creat():setTimeout(function(){t.creat()},30)};s.pt=s.prototype;var l=["layui-layer",".layui-layer-title",".layui-layer-main",".layui-layer-dialog","layui-layer-iframe","layui-layer-content","layui-layer-btn","layui-layer-close"];l.anim=["layer-anim-00","layer-anim-01","layer-anim-02","layer-anim-03","layer-anim-04","layer-anim-05","layer-anim-06"],s.pt.config={type:0,shade:.3,fixed:!0,move:l[1],title:"&#x4FE1;&#x606F;",offset:"auto",area:"auto",closeBtn:1,time:0,zIndex:19891014,maxWidth:360,anim:0,isOutAnim:!0,icon:-1,moveType:1,resize:!0,scrollbar:!0,tips:2},s.pt.vessel=function(e,t){var n=this,a=n.index,r=n.config,s=r.zIndex+a,f="object"==typeof r.title,c=r.maxmin&&(1===r.type||2===r.type),u=r.title?'<div class="layui-layer-title" style="'+(f?r.title[1]:"")+'">'+(f?r.title[0]:r.title)+"</div>":"";return r.zIndex=s,t([r.shade?'<div class="layui-layer-shade" id="layui-layer-shade'+a+'" times="'+a+'" style="'+("z-index:"+(s-1)+"; ")+'"></div>':"",'<div class="'+l[0]+(" layui-layer-"+o.type[r.type])+(0!=r.type&&2!=r.type||r.shade?"":" layui-layer-border")+" "+(r.skin||"")+'" id="'+l[0]+a+'" type="'+o.type[r.type]+'" times="'+a+'" showtime="'+r.time+'" conType="'+(e?"object":"string")+'" style="z-index: '+s+"; width:"+r.area[0]+";height:"+r.area[1]+(r.fixed?"":";position:absolute;")+'">'+(e&&2!=r.type?"":u)+'<div id="'+(r.id||"")+'" class="layui-layer-content'+(0==r.type&&r.icon!==-1?" layui-layer-padding":"")+(3==r.type?" layui-layer-loading"+r.icon:"")+'">'+(0==r.type&&r.icon!==-1?'<i class="layui-layer-ico layui-layer-ico'+r.icon+'"></i>':"")+(1==r.type&&e?"":r.content||"")+'</div><span class="layui-layer-setwin">'+function(){var e=c?'<a class="layui-layer-min" href="javascript:;"><cite></cite></a><a class="layui-layer-ico layui-layer-max" href="javascript:;"></a>':"";return r.closeBtn&&(e+='<a class="layui-layer-ico '+l[7]+" "+l[7]+(r.title?r.closeBtn:4==r.type?"1":"2")+'" href="javascript:;"></a>'),e}()+"</span>"+(r.btn?function(){var e="";"string"==typeof r.btn&&(r.btn=[r.btn]);for(var t=0,i=r.btn.length;t<i;t++)e+='<a class="'+l[6]+t+'">'+r.btn[t]+"</a>";return'<div class="'+l[6]+" layui-layer-btn-"+(r.btnAlign||"")+'">'+e+"</div>"}():"")+(r.resize?'<span class="layui-layer-resize"></span>':"")+"</div>"],u,i('<div class="layui-layer-move"></div>')),n},s.pt.creat=function(){var e=this,t=e.config,a=e.index,s=t.content,f="object"==typeof s,c=i("body");if(!t.id||!i("#"+t.id)[0]){switch("string"==typeof t.area&&(t.area="auto"===t.area?["",""]:[t.area,""]),t.shift&&(t.anim=t.shift),6==r.ie&&(t.fixed=!1),t.type){case 0:t.btn="btn"in t?t.btn:o.btn[0],r.closeAll("dialog");break;case 2:var s=t.content=f?t.content:[t.content||"http://layer.layui.com","auto"];t.content='<iframe scrolling="'+(t.content[1]||"auto")+'" allowtransparency="true" id="'+l[4]+a+'" name="'+l[4]+a+'" onload="this.className=\'\';" class="layui-layer-load" frameborder="0" src="'+t.content[0]+'"></iframe>';break;case 3:delete t.title,delete t.closeBtn,t.icon===-1&&0===t.icon,r.closeAll("loading");break;case 4:f||(t.content=[t.content,"body"]),t.follow=t.content[1],t.content=t.content[0]+'<i class="layui-layer-TipsG"></i>',delete t.title,t.tips="object"==typeof t.tips?t.tips:[t.tips,!0],t.tipsMore||r.closeAll("tips")}if(e.vessel(f,function(n,r,u){c.append(n[0]),f?function(){2==t.type||4==t.type?function(){i("body").append(n[1])}():function(){s.parents("."+l[0])[0]||(s.data("display",s.css("display")).show().addClass("layui-layer-wrap").wrap(n[1]),i("#"+l[0]+a).find("."+l[5]).before(r))}()}():c.append(n[1]),i(".layui-layer-move")[0]||c.append(o.moveElem=u),e.layero=i("#"+l[0]+a),t.scrollbar||l.html.css("overflow","hidden").attr("layer-full",a)}).auto(a),i("#layui-layer-shade"+e.index).css({"background-color":t.shade[1]||"#000",opacity:t.shade[0]||t.shade}),2==t.type&&6==r.ie&&e.layero.find("iframe").attr("src",s[0]),4==t.type?e.tips():e.offset(),t.fixed&&n.on("resize",function(){e.offset(),(/^\d+%$/.test(t.area[0])||/^\d+%$/.test(t.area[1]))&&e.auto(a),4==t.type&&e.tips()}),t.time<=0||setTimeout(function(){r.close(e.index)},t.time),e.move().callback(),l.anim[t.anim]){var u="layer-anim "+l.anim[t.anim];e.layero.addClass(u).one("webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend",function(){i(this).removeClass(u)})}t.isOutAnim&&e.layero.data("isOutAnim",!0)}},s.pt.auto=function(e){var t=this,a=t.config,o=i("#"+l[0]+e);""===a.area[0]&&a.maxWidth>0&&(r.ie&&r.ie<8&&a.btn&&o.width(o.innerWidth()),o.outerWidth()>a.maxWidth&&o.width(a.maxWidth));var s=[o.innerWidth(),o.innerHeight()],f=o.find(l[1]).outerHeight()||0,c=o.find("."+l[6]).outerHeight()||0,u=function(e){e=o.find(e),e.height(s[1]-f-c-2*(0|parseFloat(e.css("padding-top"))))};switch(a.type){case 2:u("iframe");break;default:""===a.area[1]?a.maxHeight>0&&o.outerHeight()>a.maxHeight?(s[1]=a.maxHeight,u("."+l[5])):a.fixed&&s[1]>=n.height()&&(s[1]=n.height(),u("."+l[5])):u("."+l[5])}return t},s.pt.offset=function(){var e=this,t=e.config,i=e.layero,a=[i.outerWidth(),i.outerHeight()],o="object"==typeof t.offset;e.offsetTop=(n.height()-a[1])/2,e.offsetLeft=(n.width()-a[0])/2,o?(e.offsetTop=t.offset[0],e.offsetLeft=t.offset[1]||e.offsetLeft):"auto"!==t.offset&&("t"===t.offset?e.offsetTop=0:"r"===t.offset?e.offsetLeft=n.width()-a[0]:"b"===t.offset?e.offsetTop=n.height()-a[1]:"l"===t.offset?e.offsetLeft=0:"lt"===t.offset?(e.offsetTop=0,e.offsetLeft=0):"lb"===t.offset?(e.offsetTop=n.height()-a[1],e.offsetLeft=0):"rt"===t.offset?(e.offsetTop=0,e.offsetLeft=n.width()-a[0]):"rb"===t.offset?(e.offsetTop=n.height()-a[1],e.offsetLeft=n.width()-a[0]):e.offsetTop=t.offset),t.fixed||(e.offsetTop=/%$/.test(e.offsetTop)?n.height()*parseFloat(e.offsetTop)/100:parseFloat(e.offsetTop),e.offsetLeft=/%$/.test(e.offsetLeft)?n.width()*parseFloat(e.offsetLeft)/100:parseFloat(e.offsetLeft),e.offsetTop+=n.scrollTop(),e.offsetLeft+=n.scrollLeft()),i.attr("minLeft")&&(e.offsetTop=n.height()-(i.find(l[1]).outerHeight()||0),e.offsetLeft=i.css("left")),i.css({top:e.offsetTop,left:e.offsetLeft})},s.pt.tips=function(){var e=this,t=e.config,a=e.layero,o=[a.outerWidth(),a.outerHeight()],r=i(t.follow);r[0]||(r=i("body"));var s={width:r.outerWidth(),height:r.outerHeight(),top:r.offset().top,left:r.offset().left},f=a.find(".layui-layer-TipsG"),c=t.tips[0];t.tips[1]||f.remove(),s.autoLeft=function(){s.left+o[0]-n.width()>0?(s.tipLeft=s.left+s.width-o[0],f.css({right:12,left:"auto"})):s.tipLeft=s.left},s.where=[function(){s.autoLeft(),s.tipTop=s.top-o[1]-10,f.removeClass("layui-layer-TipsB").addClass("layui-layer-TipsT").css("border-right-color",t.tips[1])},function(){s.tipLeft=s.left+s.width+10,s.tipTop=s.top,f.removeClass("layui-layer-TipsL").addClass("layui-layer-TipsR").css("border-bottom-color",t.tips[1])},function(){s.autoLeft(),s.tipTop=s.top+s.height+10,f.removeClass("layui-layer-TipsT").addClass("layui-layer-TipsB").css("border-right-color",t.tips[1])},function(){s.tipLeft=s.left-o[0]-10,s.tipTop=s.top,f.removeClass("layui-layer-TipsR").addClass("layui-layer-TipsL").css("border-bottom-color",t.tips[1])}],s.where[c-1](),1===c?s.top-(n.scrollTop()+o[1]+16)<0&&s.where[2]():2===c?n.width()-(s.left+s.width+o[0]+16)>0||s.where[3]():3===c?s.top-n.scrollTop()+s.height+o[1]+16-n.height()>0&&s.where[0]():4===c&&o[0]+16-s.left>0&&s.where[1](),a.find("."+l[5]).css({"background-color":t.tips[1],"padding-right":t.closeBtn?"30px":""}),a.css({left:s.tipLeft-(t.fixed?n.scrollLeft():0),top:s.tipTop-(t.fixed?n.scrollTop():0)})},s.pt.move=function(){var e=this,t=e.config,a=i(document),s=e.layero,l=s.find(t.move),f=s.find(".layui-layer-resize"),c={};return t.move&&l.css("cursor","move"),l.on("mousedown",function(e){e.preventDefault(),t.move&&(c.moveStart=!0,c.offset=[e.clientX-parseFloat(s.css("left")),e.clientY-parseFloat(s.css("top"))],o.moveElem.css("cursor","move").show())}),f.on("mousedown",function(e){e.preventDefault(),c.resizeStart=!0,c.offset=[e.clientX,e.clientY],c.area=[s.outerWidth(),s.outerHeight()],o.moveElem.css("cursor","se-resize").show()}),a.on("mousemove",function(i){if(c.moveStart){var a=i.clientX-c.offset[0],o=i.clientY-c.offset[1],l="fixed"===s.css("position");if(i.preventDefault(),c.stX=l?0:n.scrollLeft(),c.stY=l?0:n.scrollTop(),!t.moveOut){var f=n.width()-s.outerWidth()+c.stX,u=n.height()-s.outerHeight()+c.stY;a<c.stX&&(a=c.stX),a>f&&(a=f),o<c.stY&&(o=c.stY),o>u&&(o=u)}s.css({left:a,top:o})}if(t.resize&&c.resizeStart){var a=i.clientX-c.offset[0],o=i.clientY-c.offset[1];i.preventDefault(),r.style(e.index,{width:c.area[0]+a,height:c.area[1]+o}),c.isResize=!0,t.resizing&&t.resizing(s)}}).on("mouseup",function(e){c.moveStart&&(delete c.moveStart,o.moveElem.hide(),t.moveEnd&&t.moveEnd(s)),c.resizeStart&&(delete c.resizeStart,o.moveElem.hide())}),e},s.pt.callback=function(){function e(){var e=a.cancel&&a.cancel(t.index,n);e===!1||r.close(t.index)}var t=this,n=t.layero,a=t.config;t.openLayer(),a.success&&(2==a.type?n.find("iframe").on("load",function(){a.success(n,t.index)}):a.success(n,t.index)),6==r.ie&&t.IE6(n),n.find("."+l[6]).children("a").on("click",function(){var e=i(this).index();if(0===e)a.yes?a.yes(t.index,n):a.btn1?a.btn1(t.index,n):r.close(t.index);else{var o=a["btn"+(e+1)]&&a["btn"+(e+1)](t.index,n);o===!1||r.close(t.index)}}),n.find("."+l[7]).on("click",e),a.shadeClose&&i("#layui-layer-shade"+t.index).on("click",function(){r.close(t.index)}),n.find(".layui-layer-min").on("click",function(){var e=a.min&&a.min(n);e===!1||r.min(t.index,a)}),n.find(".layui-layer-max").on("click",function(){i(this).hasClass("layui-layer-maxmin")?(r.restore(t.index),a.restore&&a.restore(n)):(r.full(t.index,a),setTimeout(function(){a.full&&a.full(n)},100))}),a.end&&(o.end[t.index]=a.end)},o.reselect=function(){i.each(i("select"),function(e,t){var n=i(this);n.parents("."+l[0])[0]||1==n.attr("layer")&&i("."+l[0]).length<1&&n.removeAttr("layer").show(),n=null})},s.pt.IE6=function(e){i("select").each(function(e,t){var n=i(this);n.parents("."+l[0])[0]||"none"===n.css("display")||n.attr({layer:"1"}).hide(),n=null})},s.pt.openLayer=function(){var e=this;r.zIndex=e.config.zIndex,r.setTop=function(e){var t=function(){r.zIndex++,e.css("z-index",r.zIndex+1)};return r.zIndex=parseInt(e[0].style.zIndex),e.on("mousedown",t),r.zIndex}},o.record=function(e){var t=[e.width(),e.height(),e.position().top,e.position().left+parseFloat(e.css("margin-left"))];e.find(".layui-layer-max").addClass("layui-layer-maxmin"),e.attr({area:t})},o.rescollbar=function(e){l.html.attr("layer-full")==e&&(l.html[0].style.removeProperty?l.html[0].style.removeProperty("overflow"):l.html[0].style.removeAttribute("overflow"),l.html.removeAttr("layer-full"))},e.layer=r,r.getChildFrame=function(e,t){return t=t||i("."+l[4]).attr("times"),i("#"+l[0]+t).find("iframe").contents().find(e)},r.getFrameIndex=function(e){return i("#"+e).parents("."+l[4]).attr("times")},r.iframeAuto=function(e){if(e){var t=r.getChildFrame("html",e).outerHeight(),n=i("#"+l[0]+e),a=n.find(l[1]).outerHeight()||0,o=n.find("."+l[6]).outerHeight()||0;n.css({height:t+a+o}),n.find("iframe").css({height:t})}},r.iframeSrc=function(e,t){i("#"+l[0]+e).find("iframe").attr("src",t)},r.style=function(e,t,n){var a=i("#"+l[0]+e),r=a.find(".layui-layer-content"),s=a.attr("type"),f=a.find(l[1]).outerHeight()||0,c=a.find("."+l[6]).outerHeight()||0;a.attr("minLeft");s!==o.type[3]&&s!==o.type[4]&&(n||(parseFloat(t.width)<=260&&(t.width=260),parseFloat(t.height)-f-c<=64&&(t.height=64+f+c)),a.css(t),c=a.find("."+l[6]).outerHeight(),s===o.type[2]?a.find("iframe").css({height:parseFloat(t.height)-f-c}):r.css({height:parseFloat(t.height)-f-c-parseFloat(r.css("padding-top"))-parseFloat(r.css("padding-bottom"))}))},r.min=function(e,t){var a=i("#"+l[0]+e),s=a.find(l[1]).outerHeight()||0,f=a.attr("minLeft")||181*o.minIndex+"px",c=a.css("position");o.record(a),o.minLeft[0]&&(f=o.minLeft[0],o.minLeft.shift()),a.attr("position",c),r.style(e,{width:180,height:s,left:f,top:n.height()-s,position:"fixed",overflow:"hidden"},!0),a.find(".layui-layer-min").hide(),"page"===a.attr("type")&&a.find(l[4]).hide(),o.rescollbar(e),a.attr("minLeft")||o.minIndex++,a.attr("minLeft",f)},r.restore=function(e){var t=i("#"+l[0]+e),n=t.attr("area").split(",");t.attr("type");r.style(e,{width:parseFloat(n[0]),height:parseFloat(n[1]),top:parseFloat(n[2]),left:parseFloat(n[3]),position:t.attr("position"),overflow:"visible"},!0),t.find(".layui-layer-max").removeClass("layui-layer-maxmin"),t.find(".layui-layer-min").show(),"page"===t.attr("type")&&t.find(l[4]).show(),o.rescollbar(e)},r.full=function(e){var t,a=i("#"+l[0]+e);o.record(a),l.html.attr("layer-full")||l.html.css("overflow","hidden").attr("layer-full",e),clearTimeout(t),t=setTimeout(function(){var t="fixed"===a.css("position");r.style(e,{top:t?0:n.scrollTop(),left:t?0:n.scrollLeft(),width:n.width(),height:n.height()},!0),a.find(".layui-layer-min").hide()},100)},r.title=function(e,t){var n=i("#"+l[0]+(t||r.index)).find(l[1]);n.html(e)},r.close=function(e){var t=i("#"+l[0]+e),n=t.attr("type"),a="layer-anim-close";if(t[0]){var s="layui-layer-wrap",f=function(){if(n===o.type[1]&&"object"===t.attr("conType")){t.children(":not(."+l[5]+")").remove();for(var a=t.find("."+s),r=0;r<2;r++)a.unwrap();a.css("display",a.data("display")).removeClass(s)}else{if(n===o.type[2])try{var f=i("#"+l[4]+e)[0];f.contentWindow.document.write(""),f.contentWindow.close(),t.find("."+l[5])[0].removeChild(f)}catch(c){}t[0].innerHTML="",t.remove()}"function"==typeof o.end[e]&&o.end[e](),delete o.end[e]};t.data("isOutAnim")&&t.addClass("layer-anim "+a),i("#layui-layer-moves, #layui-layer-shade"+e).remove(),6==r.ie&&o.reselect(),o.rescollbar(e),t.attr("minLeft")&&(o.minIndex--,o.minLeft.push(t.attr("minLeft"))),r.ie&&r.ie<10||!t.data("isOutAnim")?f():setTimeout(function(){f()},200)}},r.closeAll=function(e){i.each(i("."+l[0]),function(){var t=i(this),n=e?t.attr("type")===e:1;n&&r.close(t.attr("times")),n=null})};var f=r.cache||{},c=function(e){return f.skin?" "+f.skin+" "+f.skin+"-"+e:""};r.prompt=function(e,t){var a="";if(e=e||{},"function"==typeof e&&(t=e),e.area){var o=e.area;a='style="width: '+o[0]+"; height: "+o[1]+';"',delete e.area}var s,l=2==e.formType?'<textarea class="layui-layer-input"'+a+">"+(e.value||"")+"</textarea>":function(){return'<input type="'+(1==e.formType?"password":"text")+'" class="layui-layer-input" value="'+(e.value||"")+'">'}(),f=e.success;return delete e.success,r.open(i.extend({type:1,btn:["&#x786E;&#x5B9A;","&#x53D6;&#x6D88;"],content:l,skin:"layui-layer-prompt"+c("prompt"),maxWidth:n.width(),success:function(e){s=e.find(".layui-layer-input"),s.focus(),"function"==typeof f&&f(e)},resize:!1,yes:function(i){var n=s.val();""===n?s.focus():n.length>(e.maxlength||500)?r.tips("&#x6700;&#x591A;&#x8F93;&#x5165;"+(e.maxlength||500)+"&#x4E2A;&#x5B57;&#x6570;",s,{tips:1}):t&&t(n,i,s)}},e))},r.tab=function(e){e=e||{};var t=e.tab||{},n="layui-this",a=e.success;return delete e.success,r.open(i.extend({type:1,skin:"layui-layer-tab"+c("tab"),resize:!1,title:function(){var e=t.length,i=1,a="";if(e>0)for(a='<span class="'+n+'">'+t[0].title+"</span>";i<e;i++)a+="<span>"+t[i].title+"</span>";return a}(),content:'<ul class="layui-layer-tabmain">'+function(){var e=t.length,i=1,a="";if(e>0)for(a='<li class="layui-layer-tabli '+n+'">'+(t[0].content||"no content")+"</li>";i<e;i++)a+='<li class="layui-layer-tabli">'+(t[i].content||"no  content")+"</li>";return a}()+"</ul>",success:function(t){var o=t.find(".layui-layer-title").children(),r=t.find(".layui-layer-tabmain").children();o.on("mousedown",function(t){t.stopPropagation?t.stopPropagation():t.cancelBubble=!0;var a=i(this),o=a.index();a.addClass(n).siblings().removeClass(n),r.eq(o).show().siblings().hide(),"function"==typeof e.change&&e.change(o)}),"function"==typeof a&&a(t)}},e))},r.photos=function(t,n,a){function o(e,t,i){var n=new Image;return n.src=e,n.complete?t(n):(n.onload=function(){n.onload=null,t(n)},void(n.onerror=function(e){n.onerror=null,i(e)}))}var s={};if(t=t||{},t.photos){var l=t.photos.constructor===Object,f=l?t.photos:{},u=f.data||[],d=f.start||0;s.imgIndex=(0|d)+1,t.img=t.img||"img";var y=t.success;if(delete t.success,l){if(0===u.length)return r.msg("&#x6CA1;&#x6709;&#x56FE;&#x7247;")}else{var p=i(t.photos),h=function(){u=[],p.find(t.img).each(function(e){var t=i(this);t.attr("layer-index",e),u.push({alt:t.attr("alt"),pid:t.attr("layer-pid"),src:t.attr("layer-src")||t.attr("src"),thumb:t.attr("src")})})};if(h(),0===u.length)return;if(n||p.on("click",t.img,function(){var e=i(this),n=e.attr("layer-index");r.photos(i.extend(t,{photos:{start:n,data:u,tab:t.tab},full:t.full}),!0),h()}),!n)return}s.imgprev=function(e){s.imgIndex--,s.imgIndex<1&&(s.imgIndex=u.length),s.tabimg(e)},s.imgnext=function(e,t){s.imgIndex++,s.imgIndex>u.length&&(s.imgIndex=1,t)||s.tabimg(e)},s.keyup=function(e){if(!s.end){var t=e.keyCode;e.preventDefault(),37===t?s.imgprev(!0):39===t?s.imgnext(!0):27===t&&r.close(s.index)}},s.tabimg=function(e){if(!(u.length<=1))return f.start=s.imgIndex-1,r.close(s.index),r.photos(t,!0,e)},s.event=function(){s.bigimg.hover(function(){s.imgsee.show()},function(){s.imgsee.hide()}),s.bigimg.find(".layui-layer-imgprev").on("click",function(e){e.preventDefault(),s.imgprev()}),s.bigimg.find(".layui-layer-imgnext").on("click",function(e){e.preventDefault(),s.imgnext()}),i(document).on("keyup",s.keyup)},s.loadi=r.load(1,{shade:!("shade"in t)&&.9,scrollbar:!1}),o(u[d].src,function(n){r.close(s.loadi),s.index=r.open(i.extend({type:1,id:"layui-layer-photos",area:function(){var a=[n.width,n.height],o=[i(e).width()-100,i(e).height()-100];if(!t.full&&(a[0]>o[0]||a[1]>o[1])){var r=[a[0]/o[0],a[1]/o[1]];r[0]>r[1]?(a[0]=a[0]/r[0],a[1]=a[1]/r[0]):r[0]<r[1]&&(a[0]=a[0]/r[1],a[1]=a[1]/r[1])}return[a[0]+"px",a[1]+"px"]}(),title:!1,shade:.9,shadeClose:!0,closeBtn:!1,move:".layui-layer-phimg img",moveType:1,scrollbar:!1,moveOut:!0,isOutAnim:!1,skin:"layui-layer-photos"+c("photos"),content:'<div class="layui-layer-phimg"><img src="'+u[d].src+'" alt="'+(u[d].alt||"")+'" layer-pid="'+u[d].pid+'"><div class="layui-layer-imgsee">'+(u.length>1?'<span class="layui-layer-imguide"><a href="javascript:;" class="layui-layer-iconext layui-layer-imgprev"></a><a href="javascript:;" class="layui-layer-iconext layui-layer-imgnext"></a></span>':"")+'<div class="layui-layer-imgbar" style="display:'+(a?"block":"")+'"><span class="layui-layer-imgtit"><a href="javascript:;">'+(u[d].alt||"")+"</a><em>"+s.imgIndex+"/"+u.length+"</em></span></div></div></div>",success:function(e,i){s.bigimg=e.find(".layui-layer-phimg"),s.imgsee=e.find(".layui-layer-imguide,.layui-layer-imgbar"),s.event(e),t.tab&&t.tab(u[d],e),"function"==typeof y&&y(e)},end:function(){s.end=!0,i(document).off("keyup",s.keyup)}},t))},function(){r.close(s.loadi),r.msg("&#x5F53;&#x524D;&#x56FE;&#x7247;&#x5730;&#x5740;&#x5F02;&#x5E38;<br>&#x662F;&#x5426;&#x7EE7;&#x7EED;&#x67E5;&#x770B;&#x4E0B;&#x4E00;&#x5F20;&#xFF1F;",{time:3e4,btn:["&#x4E0B;&#x4E00;&#x5F20;","&#x4E0D;&#x770B;&#x4E86;"],yes:function(){u.length>1&&s.imgnext(!0,!0)}})})}},o.run=function(t){i=t,n=i(e),l.html=i("html"),r.open=function(e){var t=new s(e);return t.index}},e.layui&&layui.define?(r.ready(),layui.define("jquery",function(t){r.path=layui.cache.dir,o.run(layui.$),e.layer=r,t("layer",r)})):"function"==typeof define&&define.amd?define(["jquery"],function(){return o.run(e.jQuery),r}):function(){o.run(e.jQuery),r.ready()}()}(window);
\ No newline at end of file
diff --git a/zy-acs-cv/src/main/webapp/static/js/layer/mobile/layer.js b/zy-acs-cv/src/main/webapp/static/js/layer/mobile/layer.js
new file mode 100644
index 0000000..f9cf693
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/js/layer/mobile/layer.js
@@ -0,0 +1,2 @@
+/*! layer mobile-v2.0.0 Web寮瑰眰缁勪欢 MIT License  http://layer.layui.com/mobile  By 璐ゅ績 */
+ ;!function(e){"use strict";var t=document,n="querySelectorAll",i="getElementsByClassName",a=function(e){return t[n](e)},s={type:0,shade:!0,shadeClose:!0,fixed:!0,anim:"scale"},l={extend:function(e){var t=JSON.parse(JSON.stringify(s));for(var n in e)t[n]=e[n];return t},timer:{},end:{}};l.touch=function(e,t){e.addEventListener("click",function(e){t.call(this,e)},!1)};var r=0,o=["layui-m-layer"],c=function(e){var t=this;t.config=l.extend(e),t.view()};c.prototype.view=function(){var e=this,n=e.config,s=t.createElement("div");e.id=s.id=o[0]+r,s.setAttribute("class",o[0]+" "+o[0]+(n.type||0)),s.setAttribute("index",r);var l=function(){var e="object"==typeof n.title;return n.title?'<h3 style="'+(e?n.title[1]:"")+'">'+(e?n.title[0]:n.title)+"</h3>":""}(),c=function(){"string"==typeof n.btn&&(n.btn=[n.btn]);var e,t=(n.btn||[]).length;return 0!==t&&n.btn?(e='<span yes type="1">'+n.btn[0]+"</span>",2===t&&(e='<span no type="0">'+n.btn[1]+"</span>"+e),'<div class="layui-m-layerbtn">'+e+"</div>"):""}();if(n.fixed||(n.top=n.hasOwnProperty("top")?n.top:100,n.style=n.style||"",n.style+=" top:"+(t.body.scrollTop+n.top)+"px"),2===n.type&&(n.content='<i></i><i class="layui-m-layerload"></i><i></i><p>'+(n.content||"")+"</p>"),n.skin&&(n.anim="up"),"msg"===n.skin&&(n.shade=!1),s.innerHTML=(n.shade?"<div "+("string"==typeof n.shade?'style="'+n.shade+'"':"")+' class="layui-m-layershade"></div>':"")+'<div class="layui-m-layermain" '+(n.fixed?"":'style="position:static;"')+'><div class="layui-m-layersection"><div class="layui-m-layerchild '+(n.skin?"layui-m-layer-"+n.skin+" ":"")+(n.className?n.className:"")+" "+(n.anim?"layui-m-anim-"+n.anim:"")+'" '+(n.style?'style="'+n.style+'"':"")+">"+l+'<div class="layui-m-layercont">'+n.content+"</div>"+c+"</div></div></div>",!n.type||2===n.type){var d=t[i](o[0]+n.type),y=d.length;y>=1&&layer.close(d[0].getAttribute("index"))}document.body.appendChild(s);var u=e.elem=a("#"+e.id)[0];n.success&&n.success(u),e.index=r++,e.action(n,u)},c.prototype.action=function(e,t){var n=this;e.time&&(l.timer[n.index]=setTimeout(function(){layer.close(n.index)},1e3*e.time));var a=function(){var t=this.getAttribute("type");0==t?(e.no&&e.no(),layer.close(n.index)):e.yes?e.yes(n.index):layer.close(n.index)};if(e.btn)for(var s=t[i]("layui-m-layerbtn")[0].children,r=s.length,o=0;o<r;o++)l.touch(s[o],a);if(e.shade&&e.shadeClose){var c=t[i]("layui-m-layershade")[0];l.touch(c,function(){layer.close(n.index,e.end)})}e.end&&(l.end[n.index]=e.end)},e.layer={v:"2.0",index:r,open:function(e){var t=new c(e||{});return t.index},close:function(e){var n=a("#"+o[0]+e)[0];n&&(n.innerHTML="",t.body.removeChild(n),clearTimeout(l.timer[e]),delete l.timer[e],"function"==typeof l.end[e]&&l.end[e](),delete l.end[e])},closeAll:function(){for(var e=t[i](o[0]),n=0,a=e.length;n<a;n++)layer.close(0|e[0].getAttribute("index"))}},"function"==typeof define?define(function(){return layer}):function(){var e=document.scripts,n=e[e.length-1],i=n.src,a=i.substring(0,i.lastIndexOf("/")+1);n.getAttribute("merge")||document.head.appendChild(function(){var e=t.createElement("link");return e.href=a+"need/layer.css?2.0",e.type="text/css",e.rel="styleSheet",e.id="layermcss",e}())}()}(window);
\ No newline at end of file
diff --git a/zy-acs-cv/src/main/webapp/static/js/layer/mobile/need/layer.css b/zy-acs-cv/src/main/webapp/static/js/layer/mobile/need/layer.css
new file mode 100644
index 0000000..b9dbf20
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/js/layer/mobile/need/layer.css
@@ -0,0 +1 @@
+.layui-m-layer{position:relative;z-index:19891014}.layui-m-layer *{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.layui-m-layermain,.layui-m-layershade{position:fixed;left:0;top:0;width:100%;height:100%}.layui-m-layershade{background-color:rgba(0,0,0,.7);pointer-events:auto}.layui-m-layermain{display:table;font-family:Helvetica,arial,sans-serif;pointer-events:none}.layui-m-layermain .layui-m-layersection{display:table-cell;vertical-align:middle;text-align:center}.layui-m-layerchild{position:relative;display:inline-block;text-align:left;background-color:#fff;font-size:14px;border-radius:5px;box-shadow:0 0 8px rgba(0,0,0,.1);pointer-events:auto;-webkit-overflow-scrolling:touch;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.2s;animation-duration:.2s}@-webkit-keyframes layui-m-anim-scale{0%{opacity:0;-webkit-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes layui-m-anim-scale{0%{opacity:0;-webkit-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}.layui-m-anim-scale{animation-name:layui-m-anim-scale;-webkit-animation-name:layui-m-anim-scale}@-webkit-keyframes layui-m-anim-up{0%{opacity:0;-webkit-transform:translateY(800px);transform:translateY(800px)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes layui-m-anim-up{0%{opacity:0;-webkit-transform:translateY(800px);transform:translateY(800px)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}.layui-m-anim-up{-webkit-animation-name:layui-m-anim-up;animation-name:layui-m-anim-up}.layui-m-layer0 .layui-m-layerchild{width:90%;max-width:640px}.layui-m-layer1 .layui-m-layerchild{border:none;border-radius:0}.layui-m-layer2 .layui-m-layerchild{width:auto;max-width:260px;min-width:40px;border:none;background:0 0;box-shadow:none;color:#fff}.layui-m-layerchild h3{padding:0 10px;height:60px;line-height:60px;font-size:16px;font-weight:400;border-radius:5px 5px 0 0;text-align:center}.layui-m-layerbtn span,.layui-m-layerchild h3{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.layui-m-layercont{padding:50px 30px;line-height:22px;text-align:center}.layui-m-layer1 .layui-m-layercont{padding:0;text-align:left}.layui-m-layer2 .layui-m-layercont{text-align:center;padding:0;line-height:0}.layui-m-layer2 .layui-m-layercont i{width:25px;height:25px;margin-left:8px;display:inline-block;background-color:#fff;border-radius:100%;-webkit-animation:layui-m-anim-loading 1.4s infinite ease-in-out;animation:layui-m-anim-loading 1.4s infinite ease-in-out;-webkit-animation-fill-mode:both;animation-fill-mode:both}.layui-m-layerbtn,.layui-m-layerbtn span{position:relative;text-align:center;border-radius:0 0 5px 5px}.layui-m-layer2 .layui-m-layercont p{margin-top:20px}@-webkit-keyframes layui-m-anim-loading{0%,100%,80%{transform:scale(0);-webkit-transform:scale(0)}40%{transform:scale(1);-webkit-transform:scale(1)}}@keyframes layui-m-anim-loading{0%,100%,80%{transform:scale(0);-webkit-transform:scale(0)}40%{transform:scale(1);-webkit-transform:scale(1)}}.layui-m-layer2 .layui-m-layercont i:first-child{margin-left:0;-webkit-animation-delay:-.32s;animation-delay:-.32s}.layui-m-layer2 .layui-m-layercont i.layui-m-layerload{-webkit-animation-delay:-.16s;animation-delay:-.16s}.layui-m-layer2 .layui-m-layercont>div{line-height:22px;padding-top:7px;margin-bottom:20px;font-size:14px}.layui-m-layerbtn{display:box;display:-moz-box;display:-webkit-box;width:100%;height:50px;line-height:50px;font-size:0;border-top:1px solid #D0D0D0;background-color:#F2F2F2}.layui-m-layerbtn span{display:block;-moz-box-flex:1;box-flex:1;-webkit-box-flex:1;font-size:14px;cursor:pointer}.layui-m-layerbtn span[yes]{color:#40AFFE}.layui-m-layerbtn span[no]{border-right:1px solid #D0D0D0;border-radius:0 0 0 5px}.layui-m-layerbtn span:active{background-color:#F6F6F6}.layui-m-layerend{position:absolute;right:7px;top:10px;width:30px;height:30px;border:0;font-weight:400;background:0 0;cursor:pointer;-webkit-appearance:none;font-size:30px}.layui-m-layerend::after,.layui-m-layerend::before{position:absolute;left:5px;top:15px;content:'';width:18px;height:1px;background-color:#999;transform:rotate(45deg);-webkit-transform:rotate(45deg);border-radius:3px}.layui-m-layerend::after{transform:rotate(-45deg);-webkit-transform:rotate(-45deg)}body .layui-m-layer .layui-m-layer-footer{position:fixed;width:95%;max-width:100%;margin:0 auto;left:0;right:0;bottom:10px;background:0 0}.layui-m-layer-footer .layui-m-layercont{padding:20px;border-radius:5px 5px 0 0;background-color:rgba(255,255,255,.8)}.layui-m-layer-footer .layui-m-layerbtn{display:block;height:auto;background:0 0;border-top:none}.layui-m-layer-footer .layui-m-layerbtn span{background-color:rgba(255,255,255,.8)}.layui-m-layer-footer .layui-m-layerbtn span[no]{color:#FD482C;border-top:1px solid #c2c2c2;border-radius:0 0 5px 5px}.layui-m-layer-footer .layui-m-layerbtn span[yes]{margin-top:10px;border-radius:5px}body .layui-m-layer .layui-m-layer-msg{width:auto;max-width:90%;margin:0 auto;bottom:-150px;background-color:rgba(0,0,0,.7);color:#fff}.layui-m-layer-msg .layui-m-layercont{padding:10px 20px}
\ No newline at end of file
diff --git a/zy-acs-cv/src/main/webapp/static/js/layer/theme/default/icon-ext.png b/zy-acs-cv/src/main/webapp/static/js/layer/theme/default/icon-ext.png
new file mode 100644
index 0000000..bbbb669
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/js/layer/theme/default/icon-ext.png
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/js/layer/theme/default/icon.png b/zy-acs-cv/src/main/webapp/static/js/layer/theme/default/icon.png
new file mode 100644
index 0000000..3e17da8
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/js/layer/theme/default/icon.png
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/js/layer/theme/default/layer.css b/zy-acs-cv/src/main/webapp/static/js/layer/theme/default/layer.css
new file mode 100644
index 0000000..820b4a9
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/js/layer/theme/default/layer.css
@@ -0,0 +1 @@
+.layui-layer-imgbar,.layui-layer-imgtit a,.layui-layer-tab .layui-layer-title span,.layui-layer-title{text-overflow:ellipsis;white-space:nowrap}html #layuicss-layer{display:none;position:absolute;width:1989px}.layui-layer,.layui-layer-shade{position:fixed;_position:absolute;pointer-events:auto}.layui-layer-shade{top:0;left:0;width:100%;height:100%;_height:expression(document.body.offsetHeight+"px")}.layui-layer{-webkit-overflow-scrolling:touch;top:150px;left:0;margin:0;padding:0;background-color:#fff;-webkit-background-clip:content;border-radius:2px;box-shadow:1px 1px 50px rgba(0,0,0,.3)}.layui-layer-close{position:absolute}.layui-layer-content{position:relative}.layui-layer-border{border:1px solid #B2B2B2;border:1px solid rgba(0,0,0,.1);box-shadow:1px 1px 5px rgba(0,0,0,.2)}.layui-layer-load{background:url(loading-1.gif) center center no-repeat #eee}.layui-layer-ico{background:url(icon.png) no-repeat}.layui-layer-btn a,.layui-layer-dialog .layui-layer-ico,.layui-layer-setwin a{display:inline-block;*display:inline;*zoom:1;vertical-align:top}.layui-layer-move{display:none;position:fixed;*position:absolute;left:0;top:0;width:100%;height:100%;cursor:move;opacity:0;filter:alpha(opacity=0);background-color:#fff;z-index:2147483647}.layui-layer-resize{position:absolute;width:15px;height:15px;right:0;bottom:0;cursor:se-resize}.layer-anim{-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.3s;animation-duration:.3s}@-webkit-keyframes layer-bounceIn{0%{opacity:0;-webkit-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes layer-bounceIn{0%{opacity:0;-webkit-transform:scale(.5);-ms-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}.layer-anim-00{-webkit-animation-name:layer-bounceIn;animation-name:layer-bounceIn}@-webkit-keyframes layer-zoomInDown{0%{opacity:0;-webkit-transform:scale(.1) translateY(-2000px);transform:scale(.1) translateY(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateY(60px);transform:scale(.475) translateY(60px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}@keyframes layer-zoomInDown{0%{opacity:0;-webkit-transform:scale(.1) translateY(-2000px);-ms-transform:scale(.1) translateY(-2000px);transform:scale(.1) translateY(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateY(60px);-ms-transform:scale(.475) translateY(60px);transform:scale(.475) translateY(60px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}.layer-anim-01{-webkit-animation-name:layer-zoomInDown;animation-name:layer-zoomInDown}@-webkit-keyframes layer-fadeInUpBig{0%{opacity:0;-webkit-transform:translateY(2000px);transform:translateY(2000px)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes layer-fadeInUpBig{0%{opacity:0;-webkit-transform:translateY(2000px);-ms-transform:translateY(2000px);transform:translateY(2000px)}100%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.layer-anim-02{-webkit-animation-name:layer-fadeInUpBig;animation-name:layer-fadeInUpBig}@-webkit-keyframes layer-zoomInLeft{0%{opacity:0;-webkit-transform:scale(.1) translateX(-2000px);transform:scale(.1) translateX(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateX(48px);transform:scale(.475) translateX(48px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}@keyframes layer-zoomInLeft{0%{opacity:0;-webkit-transform:scale(.1) translateX(-2000px);-ms-transform:scale(.1) translateX(-2000px);transform:scale(.1) translateX(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateX(48px);-ms-transform:scale(.475) translateX(48px);transform:scale(.475) translateX(48px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}.layer-anim-03{-webkit-animation-name:layer-zoomInLeft;animation-name:layer-zoomInLeft}@-webkit-keyframes layer-rollIn{0%{opacity:0;-webkit-transform:translateX(-100%) rotate(-120deg);transform:translateX(-100%) rotate(-120deg)}100%{opacity:1;-webkit-transform:translateX(0) rotate(0);transform:translateX(0) rotate(0)}}@keyframes layer-rollIn{0%{opacity:0;-webkit-transform:translateX(-100%) rotate(-120deg);-ms-transform:translateX(-100%) rotate(-120deg);transform:translateX(-100%) rotate(-120deg)}100%{opacity:1;-webkit-transform:translateX(0) rotate(0);-ms-transform:translateX(0) rotate(0);transform:translateX(0) rotate(0)}}.layer-anim-04{-webkit-animation-name:layer-rollIn;animation-name:layer-rollIn}@keyframes layer-fadeIn{0%{opacity:0}100%{opacity:1}}.layer-anim-05{-webkit-animation-name:layer-fadeIn;animation-name:layer-fadeIn}@-webkit-keyframes layer-shake{0%,100%{-webkit-transform:translateX(0);transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px);transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px);transform:translateX(10px)}}@keyframes layer-shake{0%,100%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px);-ms-transform:translateX(-10px);transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px);-ms-transform:translateX(10px);transform:translateX(10px)}}.layer-anim-06{-webkit-animation-name:layer-shake;animation-name:layer-shake}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}.layui-layer-title{padding:0 80px 0 20px;height:42px;line-height:42px;border-bottom:1px solid #eee;font-size:14px;color:#333;overflow:hidden;background-color:#F8F8F8;border-radius:2px 2px 0 0}.layui-layer-setwin{position:absolute;right:15px;*right:0;top:15px;font-size:0;line-height:initial}.layui-layer-setwin a{position:relative;width:16px;height:16px;margin-left:10px;font-size:12px;_overflow:hidden}.layui-layer-setwin .layui-layer-min cite{position:absolute;width:14px;height:2px;left:0;top:50%;margin-top:-1px;background-color:#2E2D3C;cursor:pointer;_overflow:hidden}.layui-layer-setwin .layui-layer-min:hover cite{background-color:#2D93CA}.layui-layer-setwin .layui-layer-max{background-position:-32px -40px}.layui-layer-setwin .layui-layer-max:hover{background-position:-16px -40px}.layui-layer-setwin .layui-layer-maxmin{background-position:-65px -40px}.layui-layer-setwin .layui-layer-maxmin:hover{background-position:-49px -40px}.layui-layer-setwin .layui-layer-close1{background-position:1px -40px;cursor:pointer}.layui-layer-setwin .layui-layer-close1:hover{opacity:.7}.layui-layer-setwin .layui-layer-close2{position:absolute;right:-28px;top:-28px;width:30px;height:30px;margin-left:0;background-position:-149px -31px;*right:-18px;_display:none}.layui-layer-setwin .layui-layer-close2:hover{background-position:-180px -31px}.layui-layer-btn{text-align:right;padding:0 15px 12px;pointer-events:auto;user-select:none;-webkit-user-select:none}.layui-layer-btn a{height:28px;line-height:28px;margin:5px 5px 0;padding:0 15px;border:1px solid #dedede;background-color:#fff;color:#333;border-radius:2px;font-weight:400;cursor:pointer;text-decoration:none}.layui-layer-btn a:hover{opacity:.9;text-decoration:none}.layui-layer-btn a:active{opacity:.8}.layui-layer-btn .layui-layer-btn0{border-color:#1E9FFF;background-color:#1E9FFF;color:#fff}.layui-layer-btn-l{text-align:left}.layui-layer-btn-c{text-align:center}.layui-layer-dialog{min-width:260px}.layui-layer-dialog .layui-layer-content{position:relative;padding:20px;line-height:24px;word-break:break-all;overflow:hidden;font-size:14px;overflow-x:hidden;overflow-y:auto}.layui-layer-dialog .layui-layer-content .layui-layer-ico{position:absolute;top:16px;left:15px;_left:-40px;width:30px;height:30px}.layui-layer-ico1{background-position:-30px 0}.layui-layer-ico2{background-position:-60px 0}.layui-layer-ico3{background-position:-90px 0}.layui-layer-ico4{background-position:-120px 0}.layui-layer-ico5{background-position:-150px 0}.layui-layer-ico6{background-position:-180px 0}.layui-layer-rim{border:6px solid #8D8D8D;border:6px solid rgba(0,0,0,.3);border-radius:5px;box-shadow:none}.layui-layer-msg{min-width:180px;border:1px solid #D3D4D3;box-shadow:none}.layui-layer-hui{min-width:100px;background-color:#000;filter:alpha(opacity=60);background-color:rgba(0,0,0,.6);color:#fff;border:none}.layui-layer-hui .layui-layer-content{padding:12px 25px;text-align:center}.layui-layer-dialog .layui-layer-padding{padding:20px 20px 20px 55px;text-align:left}.layui-layer-page .layui-layer-content{position:relative;overflow:auto}.layui-layer-iframe .layui-layer-btn,.layui-layer-page .layui-layer-btn{padding-top:10px}.layui-layer-nobg{background:0 0}.layui-layer-iframe iframe{display:block;width:100%}.layui-layer-loading{border-radius:100%;background:0 0;box-shadow:none;border:none}.layui-layer-loading .layui-layer-content{width:60px;height:24px;background:url(loading-0.gif) no-repeat}.layui-layer-loading .layui-layer-loading1{width:37px;height:37px;background:url(loading-1.gif) no-repeat}.layui-layer-ico16,.layui-layer-loading .layui-layer-loading2{width:32px;height:32px;background:url(loading-2.gif) no-repeat}.layui-layer-tips{background:0 0;box-shadow:none;border:none}.layui-layer-tips .layui-layer-content{position:relative;line-height:22px;min-width:12px;padding:8px 15px;font-size:12px;_float:left;border-radius:2px;box-shadow:1px 1px 3px rgba(0,0,0,.2);background-color:#000;color:#fff}.layui-layer-tips .layui-layer-close{right:-2px;top:-1px}.layui-layer-tips i.layui-layer-TipsG{position:absolute;width:0;height:0;border-width:8px;border-color:transparent;border-style:dashed;*overflow:hidden}.layui-layer-tips i.layui-layer-TipsB,.layui-layer-tips i.layui-layer-TipsT{left:5px;border-right-style:solid;border-right-color:#000}.layui-layer-tips i.layui-layer-TipsT{bottom:-8px}.layui-layer-tips i.layui-layer-TipsB{top:-8px}.layui-layer-tips i.layui-layer-TipsL,.layui-layer-tips i.layui-layer-TipsR{top:5px;border-bottom-style:solid;border-bottom-color:#000}.layui-layer-tips i.layui-layer-TipsR{left:-8px}.layui-layer-tips i.layui-layer-TipsL{right:-8px}.layui-layer-lan[type=dialog]{min-width:280px}.layui-layer-lan .layui-layer-title{background:#4476A7;color:#fff;border:none}.layui-layer-lan .layui-layer-btn{padding:5px 10px 10px;text-align:right;border-top:1px solid #E9E7E7}.layui-layer-lan .layui-layer-btn a{background:#fff;border-color:#E9E7E7;color:#333}.layui-layer-lan .layui-layer-btn .layui-layer-btn1{background:#C9C5C5}.layui-layer-molv .layui-layer-title{background:#009f95;color:#fff;border:none}.layui-layer-molv .layui-layer-btn a{background:#009f95;border-color:#009f95}.layui-layer-molv .layui-layer-btn .layui-layer-btn1{background:#92B8B1}.layui-layer-iconext{background:url(icon-ext.png) no-repeat}.layui-layer-prompt .layui-layer-input{display:block;width:230px;height:36px;margin:0 auto;line-height:30px;padding-left:10px;border:1px solid #e6e6e6;color:#333}.layui-layer-prompt textarea.layui-layer-input{width:300px;height:100px;line-height:20px;padding:6px 10px}.layui-layer-prompt .layui-layer-content{padding:20px}.layui-layer-prompt .layui-layer-btn{padding-top:0}.layui-layer-tab{box-shadow:1px 1px 50px rgba(0,0,0,.4)}.layui-layer-tab .layui-layer-title{padding-left:0;overflow:visible}.layui-layer-tab .layui-layer-title span{position:relative;float:left;min-width:80px;max-width:260px;padding:0 20px;text-align:center;overflow:hidden;cursor:pointer}.layui-layer-tab .layui-layer-title span.layui-this{height:43px;border-left:1px solid #eee;border-right:1px solid #eee;background-color:#fff;z-index:10}.layui-layer-tab .layui-layer-title span:first-child{border-left:none}.layui-layer-tabmain{line-height:24px;clear:both}.layui-layer-tabmain .layui-layer-tabli{display:none}.layui-layer-tabmain .layui-layer-tabli.layui-this{display:block}.layui-layer-photos{-webkit-animation-duration:.8s;animation-duration:.8s}.layui-layer-photos .layui-layer-content{overflow:hidden;text-align:center}.layui-layer-photos .layui-layer-phimg img{position:relative;width:100%;display:inline-block;*display:inline;*zoom:1;vertical-align:top}.layui-layer-imgbar,.layui-layer-imguide{display:none}.layui-layer-imgnext,.layui-layer-imgprev{position:absolute;top:50%;width:27px;_width:44px;height:44px;margin-top:-22px;outline:0;blr:expression(this.onFocus=this.blur())}.layui-layer-imgprev{left:10px;background-position:-5px -5px;_background-position:-70px -5px}.layui-layer-imgprev:hover{background-position:-33px -5px;_background-position:-120px -5px}.layui-layer-imgnext{right:10px;_right:8px;background-position:-5px -50px;_background-position:-70px -50px}.layui-layer-imgnext:hover{background-position:-33px -50px;_background-position:-120px -50px}.layui-layer-imgbar{position:absolute;left:0;bottom:0;width:100%;height:32px;line-height:32px;background-color:rgba(0,0,0,.8);background-color:#000\9;filter:Alpha(opacity=80);color:#fff;overflow:hidden;font-size:0}.layui-layer-imgtit *{display:inline-block;*display:inline;*zoom:1;vertical-align:top;font-size:12px}.layui-layer-imgtit a{max-width:65%;overflow:hidden;color:#fff}.layui-layer-imgtit a:hover{color:#fff;text-decoration:underline}.layui-layer-imgtit em{padding-left:10px;font-style:normal}@-webkit-keyframes layer-bounceOut{100%{opacity:0;-webkit-transform:scale(.7);transform:scale(.7)}30%{-webkit-transform:scale(1.05);transform:scale(1.05)}0%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes layer-bounceOut{100%{opacity:0;-webkit-transform:scale(.7);-ms-transform:scale(.7);transform:scale(.7)}30%{-webkit-transform:scale(1.05);-ms-transform:scale(1.05);transform:scale(1.05)}0%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}.layer-anim-close{-webkit-animation-name:layer-bounceOut;animation-name:layer-bounceOut;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.2s;animation-duration:.2s}@media screen and (max-width:1100px){.layui-layer-iframe{overflow-y:auto;-webkit-overflow-scrolling:touch}}
\ No newline at end of file
diff --git a/zy-acs-cv/src/main/webapp/static/js/layer/theme/default/loading-0.gif b/zy-acs-cv/src/main/webapp/static/js/layer/theme/default/loading-0.gif
new file mode 100644
index 0000000..6f3c953
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/js/layer/theme/default/loading-0.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/js/layer/theme/default/loading-1.gif b/zy-acs-cv/src/main/webapp/static/js/layer/theme/default/loading-1.gif
new file mode 100644
index 0000000..db3a483
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/js/layer/theme/default/loading-1.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/js/layer/theme/default/loading-2.gif b/zy-acs-cv/src/main/webapp/static/js/layer/theme/default/loading-2.gif
new file mode 100644
index 0000000..5bb90fd
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/js/layer/theme/default/loading-2.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/js/particles.min.js b/zy-acs-cv/src/main/webapp/static/js/particles.min.js
new file mode 100644
index 0000000..b3d46d1
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/js/particles.min.js
@@ -0,0 +1,9 @@
+/* -----------------------------------------------
+/* Author : Vincent Garreau  - vincentgarreau.com
+/* MIT license: http://opensource.org/licenses/MIT
+/* Demo / Generator : vincentgarreau.com/particles.js
+/* GitHub : github.com/VincentGarreau/particles.js
+/* How to use? : Check the GitHub README
+/* v2.0.0
+/* ----------------------------------------------- */
+function hexToRgb(e){var a=/^#?([a-f\d])([a-f\d])([a-f\d])$/i;e=e.replace(a,function(e,a,t,i){return a+a+t+t+i+i});var t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return t?{r:parseInt(t[1],16),g:parseInt(t[2],16),b:parseInt(t[3],16)}:null}function clamp(e,a,t){return Math.min(Math.max(e,a),t)}function isInArray(e,a){return a.indexOf(e)>-1}var pJS=function(e,a){var t=document.querySelector("#"+e+" > .particles-js-canvas-el");this.pJS={canvas:{el:t,w:t.offsetWidth,h:t.offsetHeight},particles:{number:{value:400,density:{enable:!0,value_area:800}},color:{value:"#fff"},shape:{type:"circle",stroke:{width:0,color:"#ff0000"},polygon:{nb_sides:5},image:{src:"",width:100,height:100}},opacity:{value:1,random:!1,anim:{enable:!1,speed:2,opacity_min:0,sync:!1}},size:{value:20,random:!1,anim:{enable:!1,speed:20,size_min:0,sync:!1}},line_linked:{enable:!0,distance:100,color:"#fff",opacity:1,width:1},move:{enable:!0,speed:2,direction:"none",random:!1,straight:!1,out_mode:"out",bounce:!1,attract:{enable:!1,rotateX:3e3,rotateY:3e3}},array:[]},interactivity:{detect_on:"canvas",events:{onhover:{enable:!0,mode:"grab"},onclick:{enable:!0,mode:"push"},resize:!0},modes:{grab:{distance:100,line_linked:{opacity:1}},bubble:{distance:200,size:80,duration:.4},repulse:{distance:200,duration:.4},push:{particles_nb:4},remove:{particles_nb:2}},mouse:{}},retina_detect:!1,fn:{interact:{},modes:{},vendors:{}},tmp:{}};var i=this.pJS;a&&Object.deepExtend(i,a),i.tmp.obj={size_value:i.particles.size.value,size_anim_speed:i.particles.size.anim.speed,move_speed:i.particles.move.speed,line_linked_distance:i.particles.line_linked.distance,line_linked_width:i.particles.line_linked.width,mode_grab_distance:i.interactivity.modes.grab.distance,mode_bubble_distance:i.interactivity.modes.bubble.distance,mode_bubble_size:i.interactivity.modes.bubble.size,mode_repulse_distance:i.interactivity.modes.repulse.distance},i.fn.retinaInit=function(){i.retina_detect&&window.devicePixelRatio>1?(i.canvas.pxratio=window.devicePixelRatio,i.tmp.retina=!0):(i.canvas.pxratio=1,i.tmp.retina=!1),i.canvas.w=i.canvas.el.offsetWidth*i.canvas.pxratio,i.canvas.h=i.canvas.el.offsetHeight*i.canvas.pxratio,i.particles.size.value=i.tmp.obj.size_value*i.canvas.pxratio,i.particles.size.anim.speed=i.tmp.obj.size_anim_speed*i.canvas.pxratio,i.particles.move.speed=i.tmp.obj.move_speed*i.canvas.pxratio,i.particles.line_linked.distance=i.tmp.obj.line_linked_distance*i.canvas.pxratio,i.interactivity.modes.grab.distance=i.tmp.obj.mode_grab_distance*i.canvas.pxratio,i.interactivity.modes.bubble.distance=i.tmp.obj.mode_bubble_distance*i.canvas.pxratio,i.particles.line_linked.width=i.tmp.obj.line_linked_width*i.canvas.pxratio,i.interactivity.modes.bubble.size=i.tmp.obj.mode_bubble_size*i.canvas.pxratio,i.interactivity.modes.repulse.distance=i.tmp.obj.mode_repulse_distance*i.canvas.pxratio},i.fn.canvasInit=function(){i.canvas.ctx=i.canvas.el.getContext("2d")},i.fn.canvasSize=function(){i.canvas.el.width=i.canvas.w,i.canvas.el.height=i.canvas.h,i&&i.interactivity.events.resize&&window.addEventListener("resize",function(){i.canvas.w=i.canvas.el.offsetWidth,i.canvas.h=i.canvas.el.offsetHeight,i.tmp.retina&&(i.canvas.w*=i.canvas.pxratio,i.canvas.h*=i.canvas.pxratio),i.canvas.el.width=i.canvas.w,i.canvas.el.height=i.canvas.h,i.particles.move.enable||(i.fn.particlesEmpty(),i.fn.particlesCreate(),i.fn.particlesDraw(),i.fn.vendors.densityAutoParticles()),i.fn.vendors.densityAutoParticles()})},i.fn.canvasPaint=function(){i.canvas.ctx.fillRect(0,0,i.canvas.w,i.canvas.h)},i.fn.canvasClear=function(){i.canvas.ctx.clearRect(0,0,i.canvas.w,i.canvas.h)},i.fn.particle=function(e,a,t){if(this.radius=(i.particles.size.random?Math.random():1)*i.particles.size.value,i.particles.size.anim.enable&&(this.size_status=!1,this.vs=i.particles.size.anim.speed/100,i.particles.size.anim.sync||(this.vs=this.vs*Math.random())),this.x=t?t.x:Math.random()*i.canvas.w,this.y=t?t.y:Math.random()*i.canvas.h,this.x>i.canvas.w-2*this.radius?this.x=this.x-this.radius:this.x<2*this.radius&&(this.x=this.x+this.radius),this.y>i.canvas.h-2*this.radius?this.y=this.y-this.radius:this.y<2*this.radius&&(this.y=this.y+this.radius),i.particles.move.bounce&&i.fn.vendors.checkOverlap(this,t),this.color={},"object"==typeof e.value)if(e.value instanceof Array){var s=e.value[Math.floor(Math.random()*i.particles.color.value.length)];this.color.rgb=hexToRgb(s)}else void 0!=e.value.r&&void 0!=e.value.g&&void 0!=e.value.b&&(this.color.rgb={r:e.value.r,g:e.value.g,b:e.value.b}),void 0!=e.value.h&&void 0!=e.value.s&&void 0!=e.value.l&&(this.color.hsl={h:e.value.h,s:e.value.s,l:e.value.l});else"random"==e.value?this.color.rgb={r:Math.floor(256*Math.random())+0,g:Math.floor(256*Math.random())+0,b:Math.floor(256*Math.random())+0}:"string"==typeof e.value&&(this.color=e,this.color.rgb=hexToRgb(this.color.value));this.opacity=(i.particles.opacity.random?Math.random():1)*i.particles.opacity.value,i.particles.opacity.anim.enable&&(this.opacity_status=!1,this.vo=i.particles.opacity.anim.speed/100,i.particles.opacity.anim.sync||(this.vo=this.vo*Math.random()));var n={};switch(i.particles.move.direction){case"top":n={x:0,y:-1};break;case"top-right":n={x:.5,y:-.5};break;case"right":n={x:1,y:-0};break;case"bottom-right":n={x:.5,y:.5};break;case"bottom":n={x:0,y:1};break;case"bottom-left":n={x:-.5,y:1};break;case"left":n={x:-1,y:0};break;case"top-left":n={x:-.5,y:-.5};break;default:n={x:0,y:0}}i.particles.move.straight?(this.vx=n.x,this.vy=n.y,i.particles.move.random&&(this.vx=this.vx*Math.random(),this.vy=this.vy*Math.random())):(this.vx=n.x+Math.random()-.5,this.vy=n.y+Math.random()-.5),this.vx_i=this.vx,this.vy_i=this.vy;var r=i.particles.shape.type;if("object"==typeof r){if(r instanceof Array){var c=r[Math.floor(Math.random()*r.length)];this.shape=c}}else this.shape=r;if("image"==this.shape){var o=i.particles.shape;this.img={src:o.image.src,ratio:o.image.width/o.image.height},this.img.ratio||(this.img.ratio=1),"svg"==i.tmp.img_type&&void 0!=i.tmp.source_svg&&(i.fn.vendors.createSvgImg(this),i.tmp.pushing&&(this.img.loaded=!1))}},i.fn.particle.prototype.draw=function(){function e(){i.canvas.ctx.drawImage(r,a.x-t,a.y-t,2*t,2*t/a.img.ratio)}var a=this;if(void 0!=a.radius_bubble)var t=a.radius_bubble;else var t=a.radius;if(void 0!=a.opacity_bubble)var s=a.opacity_bubble;else var s=a.opacity;if(a.color.rgb)var n="rgba("+a.color.rgb.r+","+a.color.rgb.g+","+a.color.rgb.b+","+s+")";else var n="hsla("+a.color.hsl.h+","+a.color.hsl.s+"%,"+a.color.hsl.l+"%,"+s+")";switch(i.canvas.ctx.fillStyle=n,i.canvas.ctx.beginPath(),a.shape){case"circle":i.canvas.ctx.arc(a.x,a.y,t,0,2*Math.PI,!1);break;case"edge":i.canvas.ctx.rect(a.x-t,a.y-t,2*t,2*t);break;case"triangle":i.fn.vendors.drawShape(i.canvas.ctx,a.x-t,a.y+t/1.66,2*t,3,2);break;case"polygon":i.fn.vendors.drawShape(i.canvas.ctx,a.x-t/(i.particles.shape.polygon.nb_sides/3.5),a.y-t/.76,2.66*t/(i.particles.shape.polygon.nb_sides/3),i.particles.shape.polygon.nb_sides,1);break;case"star":i.fn.vendors.drawShape(i.canvas.ctx,a.x-2*t/(i.particles.shape.polygon.nb_sides/4),a.y-t/1.52,2*t*2.66/(i.particles.shape.polygon.nb_sides/3),i.particles.shape.polygon.nb_sides,2);break;case"image":if("svg"==i.tmp.img_type)var r=a.img.obj;else var r=i.tmp.img_obj;r&&e()}i.canvas.ctx.closePath(),i.particles.shape.stroke.width>0&&(i.canvas.ctx.strokeStyle=i.particles.shape.stroke.color,i.canvas.ctx.lineWidth=i.particles.shape.stroke.width,i.canvas.ctx.stroke()),i.canvas.ctx.fill()},i.fn.particlesCreate=function(){for(var e=0;e<i.particles.number.value;e++)i.particles.array.push(new i.fn.particle(i.particles.color,i.particles.opacity.value))},i.fn.particlesUpdate=function(){for(var e=0;e<i.particles.array.length;e++){var a=i.particles.array[e];if(i.particles.move.enable){var t=i.particles.move.speed/2;a.x+=a.vx*t,a.y+=a.vy*t}if(i.particles.opacity.anim.enable&&(1==a.opacity_status?(a.opacity>=i.particles.opacity.value&&(a.opacity_status=!1),a.opacity+=a.vo):(a.opacity<=i.particles.opacity.anim.opacity_min&&(a.opacity_status=!0),a.opacity-=a.vo),a.opacity<0&&(a.opacity=0)),i.particles.size.anim.enable&&(1==a.size_status?(a.radius>=i.particles.size.value&&(a.size_status=!1),a.radius+=a.vs):(a.radius<=i.particles.size.anim.size_min&&(a.size_status=!0),a.radius-=a.vs),a.radius<0&&(a.radius=0)),"bounce"==i.particles.move.out_mode)var s={x_left:a.radius,x_right:i.canvas.w,y_top:a.radius,y_bottom:i.canvas.h};else var s={x_left:-a.radius,x_right:i.canvas.w+a.radius,y_top:-a.radius,y_bottom:i.canvas.h+a.radius};switch(a.x-a.radius>i.canvas.w?(a.x=s.x_left,a.y=Math.random()*i.canvas.h):a.x+a.radius<0&&(a.x=s.x_right,a.y=Math.random()*i.canvas.h),a.y-a.radius>i.canvas.h?(a.y=s.y_top,a.x=Math.random()*i.canvas.w):a.y+a.radius<0&&(a.y=s.y_bottom,a.x=Math.random()*i.canvas.w),i.particles.move.out_mode){case"bounce":a.x+a.radius>i.canvas.w?a.vx=-a.vx:a.x-a.radius<0&&(a.vx=-a.vx),a.y+a.radius>i.canvas.h?a.vy=-a.vy:a.y-a.radius<0&&(a.vy=-a.vy)}if(isInArray("grab",i.interactivity.events.onhover.mode)&&i.fn.modes.grabParticle(a),(isInArray("bubble",i.interactivity.events.onhover.mode)||isInArray("bubble",i.interactivity.events.onclick.mode))&&i.fn.modes.bubbleParticle(a),(isInArray("repulse",i.interactivity.events.onhover.mode)||isInArray("repulse",i.interactivity.events.onclick.mode))&&i.fn.modes.repulseParticle(a),i.particles.line_linked.enable||i.particles.move.attract.enable)for(var n=e+1;n<i.particles.array.length;n++){var r=i.particles.array[n];i.particles.line_linked.enable&&i.fn.interact.linkParticles(a,r),i.particles.move.attract.enable&&i.fn.interact.attractParticles(a,r),i.particles.move.bounce&&i.fn.interact.bounceParticles(a,r)}}},i.fn.particlesDraw=function(){i.canvas.ctx.clearRect(0,0,i.canvas.w,i.canvas.h),i.fn.particlesUpdate();for(var e=0;e<i.particles.array.length;e++){var a=i.particles.array[e];a.draw()}},i.fn.particlesEmpty=function(){i.particles.array=[]},i.fn.particlesRefresh=function(){cancelRequestAnimFrame(i.fn.checkAnimFrame),cancelRequestAnimFrame(i.fn.drawAnimFrame),i.tmp.source_svg=void 0,i.tmp.img_obj=void 0,i.tmp.count_svg=0,i.fn.particlesEmpty(),i.fn.canvasClear(),i.fn.vendors.start()},i.fn.interact.linkParticles=function(e,a){var t=e.x-a.x,s=e.y-a.y,n=Math.sqrt(t*t+s*s);if(n<=i.particles.line_linked.distance){var r=i.particles.line_linked.opacity-n/(1/i.particles.line_linked.opacity)/i.particles.line_linked.distance;if(r>0){var c=i.particles.line_linked.color_rgb_line;i.canvas.ctx.strokeStyle="rgba("+c.r+","+c.g+","+c.b+","+r+")",i.canvas.ctx.lineWidth=i.particles.line_linked.width,i.canvas.ctx.beginPath(),i.canvas.ctx.moveTo(e.x,e.y),i.canvas.ctx.lineTo(a.x,a.y),i.canvas.ctx.stroke(),i.canvas.ctx.closePath()}}},i.fn.interact.attractParticles=function(e,a){var t=e.x-a.x,s=e.y-a.y,n=Math.sqrt(t*t+s*s);if(n<=i.particles.line_linked.distance){var r=t/(1e3*i.particles.move.attract.rotateX),c=s/(1e3*i.particles.move.attract.rotateY);e.vx-=r,e.vy-=c,a.vx+=r,a.vy+=c}},i.fn.interact.bounceParticles=function(e,a){var t=e.x-a.x,i=e.y-a.y,s=Math.sqrt(t*t+i*i),n=e.radius+a.radius;n>=s&&(e.vx=-e.vx,e.vy=-e.vy,a.vx=-a.vx,a.vy=-a.vy)},i.fn.modes.pushParticles=function(e,a){i.tmp.pushing=!0;for(var t=0;e>t;t++)i.particles.array.push(new i.fn.particle(i.particles.color,i.particles.opacity.value,{x:a?a.pos_x:Math.random()*i.canvas.w,y:a?a.pos_y:Math.random()*i.canvas.h})),t==e-1&&(i.particles.move.enable||i.fn.particlesDraw(),i.tmp.pushing=!1)},i.fn.modes.removeParticles=function(e){i.particles.array.splice(0,e),i.particles.move.enable||i.fn.particlesDraw()},i.fn.modes.bubbleParticle=function(e){function a(){e.opacity_bubble=e.opacity,e.radius_bubble=e.radius}function t(a,t,s,n,c){if(a!=t)if(i.tmp.bubble_duration_end){if(void 0!=s){var o=n-p*(n-a)/i.interactivity.modes.bubble.duration,l=a-o;d=a+l,"size"==c&&(e.radius_bubble=d),"opacity"==c&&(e.opacity_bubble=d)}}else if(r<=i.interactivity.modes.bubble.distance){if(void 0!=s)var v=s;else var v=n;if(v!=a){var d=n-p*(n-a)/i.interactivity.modes.bubble.duration;"size"==c&&(e.radius_bubble=d),"opacity"==c&&(e.opacity_bubble=d)}}else"size"==c&&(e.radius_bubble=void 0),"opacity"==c&&(e.opacity_bubble=void 0)}if(i.interactivity.events.onhover.enable&&isInArray("bubble",i.interactivity.events.onhover.mode)){var s=e.x-i.interactivity.mouse.pos_x,n=e.y-i.interactivity.mouse.pos_y,r=Math.sqrt(s*s+n*n),c=1-r/i.interactivity.modes.bubble.distance;if(r<=i.interactivity.modes.bubble.distance){if(c>=0&&"mousemove"==i.interactivity.status){if(i.interactivity.modes.bubble.size!=i.particles.size.value)if(i.interactivity.modes.bubble.size>i.particles.size.value){var o=e.radius+i.interactivity.modes.bubble.size*c;o>=0&&(e.radius_bubble=o)}else{var l=e.radius-i.interactivity.modes.bubble.size,o=e.radius-l*c;o>0?e.radius_bubble=o:e.radius_bubble=0}if(i.interactivity.modes.bubble.opacity!=i.particles.opacity.value)if(i.interactivity.modes.bubble.opacity>i.particles.opacity.value){var v=i.interactivity.modes.bubble.opacity*c;v>e.opacity&&v<=i.interactivity.modes.bubble.opacity&&(e.opacity_bubble=v)}else{var v=e.opacity-(i.particles.opacity.value-i.interactivity.modes.bubble.opacity)*c;v<e.opacity&&v>=i.interactivity.modes.bubble.opacity&&(e.opacity_bubble=v)}}}else a();"mouseleave"==i.interactivity.status&&a()}else if(i.interactivity.events.onclick.enable&&isInArray("bubble",i.interactivity.events.onclick.mode)){if(i.tmp.bubble_clicking){var s=e.x-i.interactivity.mouse.click_pos_x,n=e.y-i.interactivity.mouse.click_pos_y,r=Math.sqrt(s*s+n*n),p=((new Date).getTime()-i.interactivity.mouse.click_time)/1e3;p>i.interactivity.modes.bubble.duration&&(i.tmp.bubble_duration_end=!0),p>2*i.interactivity.modes.bubble.duration&&(i.tmp.bubble_clicking=!1,i.tmp.bubble_duration_end=!1)}i.tmp.bubble_clicking&&(t(i.interactivity.modes.bubble.size,i.particles.size.value,e.radius_bubble,e.radius,"size"),t(i.interactivity.modes.bubble.opacity,i.particles.opacity.value,e.opacity_bubble,e.opacity,"opacity"))}},i.fn.modes.repulseParticle=function(e){function a(){var a=Math.atan2(d,p);if(e.vx=u*Math.cos(a),e.vy=u*Math.sin(a),"bounce"==i.particles.move.out_mode){var t={x:e.x+e.vx,y:e.y+e.vy};t.x+e.radius>i.canvas.w?e.vx=-e.vx:t.x-e.radius<0&&(e.vx=-e.vx),t.y+e.radius>i.canvas.h?e.vy=-e.vy:t.y-e.radius<0&&(e.vy=-e.vy)}}if(i.interactivity.events.onhover.enable&&isInArray("repulse",i.interactivity.events.onhover.mode)&&"mousemove"==i.interactivity.status){var t=e.x-i.interactivity.mouse.pos_x,s=e.y-i.interactivity.mouse.pos_y,n=Math.sqrt(t*t+s*s),r={x:t/n,y:s/n},c=i.interactivity.modes.repulse.distance,o=100,l=clamp(1/c*(-1*Math.pow(n/c,2)+1)*c*o,0,50),v={x:e.x+r.x*l,y:e.y+r.y*l};"bounce"==i.particles.move.out_mode?(v.x-e.radius>0&&v.x+e.radius<i.canvas.w&&(e.x=v.x),v.y-e.radius>0&&v.y+e.radius<i.canvas.h&&(e.y=v.y)):(e.x=v.x,e.y=v.y)}else if(i.interactivity.events.onclick.enable&&isInArray("repulse",i.interactivity.events.onclick.mode))if(i.tmp.repulse_finish||(i.tmp.repulse_count++,i.tmp.repulse_count==i.particles.array.length&&(i.tmp.repulse_finish=!0)),i.tmp.repulse_clicking){var c=Math.pow(i.interactivity.modes.repulse.distance/6,3),p=i.interactivity.mouse.click_pos_x-e.x,d=i.interactivity.mouse.click_pos_y-e.y,m=p*p+d*d,u=-c/m*1;c>=m&&a()}else 0==i.tmp.repulse_clicking&&(e.vx=e.vx_i,e.vy=e.vy_i)},i.fn.modes.grabParticle=function(e){if(i.interactivity.events.onhover.enable&&"mousemove"==i.interactivity.status){var a=e.x-i.interactivity.mouse.pos_x,t=e.y-i.interactivity.mouse.pos_y,s=Math.sqrt(a*a+t*t);if(s<=i.interactivity.modes.grab.distance){var n=i.interactivity.modes.grab.line_linked.opacity-s/(1/i.interactivity.modes.grab.line_linked.opacity)/i.interactivity.modes.grab.distance;if(n>0){var r=i.particles.line_linked.color_rgb_line;i.canvas.ctx.strokeStyle="rgba("+r.r+","+r.g+","+r.b+","+n+")",i.canvas.ctx.lineWidth=i.particles.line_linked.width,i.canvas.ctx.beginPath(),i.canvas.ctx.moveTo(e.x,e.y),i.canvas.ctx.lineTo(i.interactivity.mouse.pos_x,i.interactivity.mouse.pos_y),i.canvas.ctx.stroke(),i.canvas.ctx.closePath()}}}},i.fn.vendors.eventsListeners=function(){"window"==i.interactivity.detect_on?i.interactivity.el=window:i.interactivity.el=i.canvas.el,(i.interactivity.events.onhover.enable||i.interactivity.events.onclick.enable)&&(i.interactivity.el.addEventListener("mousemove",function(e){if(i.interactivity.el==window)var a=e.clientX,t=e.clientY;else var a=e.offsetX||e.clientX,t=e.offsetY||e.clientY;i.interactivity.mouse.pos_x=a,i.interactivity.mouse.pos_y=t,i.tmp.retina&&(i.interactivity.mouse.pos_x*=i.canvas.pxratio,i.interactivity.mouse.pos_y*=i.canvas.pxratio),i.interactivity.status="mousemove"}),i.interactivity.el.addEventListener("mouseleave",function(e){i.interactivity.mouse.pos_x=null,i.interactivity.mouse.pos_y=null,i.interactivity.status="mouseleave"})),i.interactivity.events.onclick.enable&&i.interactivity.el.addEventListener("click",function(){if(i.interactivity.mouse.click_pos_x=i.interactivity.mouse.pos_x,i.interactivity.mouse.click_pos_y=i.interactivity.mouse.pos_y,i.interactivity.mouse.click_time=(new Date).getTime(),i.interactivity.events.onclick.enable)switch(i.interactivity.events.onclick.mode){case"push":i.particles.move.enable?i.fn.modes.pushParticles(i.interactivity.modes.push.particles_nb,i.interactivity.mouse):1==i.interactivity.modes.push.particles_nb?i.fn.modes.pushParticles(i.interactivity.modes.push.particles_nb,i.interactivity.mouse):i.interactivity.modes.push.particles_nb>1&&i.fn.modes.pushParticles(i.interactivity.modes.push.particles_nb);break;case"remove":i.fn.modes.removeParticles(i.interactivity.modes.remove.particles_nb);break;case"bubble":i.tmp.bubble_clicking=!0;break;case"repulse":i.tmp.repulse_clicking=!0,i.tmp.repulse_count=0,i.tmp.repulse_finish=!1,setTimeout(function(){i.tmp.repulse_clicking=!1},1e3*i.interactivity.modes.repulse.duration)}})},i.fn.vendors.densityAutoParticles=function(){if(i.particles.number.density.enable){var e=i.canvas.el.width*i.canvas.el.height/1e3;i.tmp.retina&&(e/=2*i.canvas.pxratio);var a=e*i.particles.number.value/i.particles.number.density.value_area,t=i.particles.array.length-a;0>t?i.fn.modes.pushParticles(Math.abs(t)):i.fn.modes.removeParticles(t)}},i.fn.vendors.checkOverlap=function(e,a){for(var t=0;t<i.particles.array.length;t++){var s=i.particles.array[t],n=e.x-s.x,r=e.y-s.y,c=Math.sqrt(n*n+r*r);c<=e.radius+s.radius&&(e.x=a?a.x:Math.random()*i.canvas.w,e.y=a?a.y:Math.random()*i.canvas.h,i.fn.vendors.checkOverlap(e))}},i.fn.vendors.createSvgImg=function(e){var a=i.tmp.source_svg,t=/#([0-9A-F]{3,6})/gi,s=a.replace(t,function(a,t,i,s){if(e.color.rgb)var n="rgba("+e.color.rgb.r+","+e.color.rgb.g+","+e.color.rgb.b+","+e.opacity+")";else var n="hsla("+e.color.hsl.h+","+e.color.hsl.s+"%,"+e.color.hsl.l+"%,"+e.opacity+")";return n}),n=new Blob([s],{type:"image/svg+xml;charset=utf-8"}),r=window.URL||window.webkitURL||window,c=r.createObjectURL(n),o=new Image;o.addEventListener("load",function(){e.img.obj=o,e.img.loaded=!0,r.revokeObjectURL(c),i.tmp.count_svg++}),o.src=c},i.fn.vendors.destroypJS=function(){cancelAnimationFrame(i.fn.drawAnimFrame),t.remove(),pJSDom=null},i.fn.vendors.drawShape=function(e,a,t,i,s,n){var r=s*n,c=s/n,o=180*(c-2)/c,l=Math.PI-Math.PI*o/180;e.save(),e.beginPath(),e.translate(a,t),e.moveTo(0,0);for(var v=0;r>v;v++)e.lineTo(i,0),e.translate(i,0),e.rotate(l);e.fill(),e.restore()},i.fn.vendors.exportImg=function(){window.open(i.canvas.el.toDataURL("image/png"),"_blank")},i.fn.vendors.loadImg=function(e){if(i.tmp.img_error=void 0,""!=i.particles.shape.image.src)if("svg"==e){var a=new XMLHttpRequest;a.open("GET",i.particles.shape.image.src),a.onreadystatechange=function(e){4==a.readyState&&(200==a.status?(i.tmp.source_svg=e.currentTarget.response,i.fn.vendors.checkBeforeDraw()):(console.log("Error pJS - Image not found"),i.tmp.img_error=!0))},a.send()}else{var t=new Image;t.addEventListener("load",function(){i.tmp.img_obj=t,i.fn.vendors.checkBeforeDraw()}),t.src=i.particles.shape.image.src}else console.log("Error pJS - No image.src"),i.tmp.img_error=!0},i.fn.vendors.draw=function(){"image"==i.particles.shape.type?"svg"==i.tmp.img_type?i.tmp.count_svg>=i.particles.number.value?(i.fn.particlesDraw(),i.particles.move.enable?i.fn.drawAnimFrame=requestAnimFrame(i.fn.vendors.draw):cancelRequestAnimFrame(i.fn.drawAnimFrame)):i.tmp.img_error||(i.fn.drawAnimFrame=requestAnimFrame(i.fn.vendors.draw)):void 0!=i.tmp.img_obj?(i.fn.particlesDraw(),i.particles.move.enable?i.fn.drawAnimFrame=requestAnimFrame(i.fn.vendors.draw):cancelRequestAnimFrame(i.fn.drawAnimFrame)):i.tmp.img_error||(i.fn.drawAnimFrame=requestAnimFrame(i.fn.vendors.draw)):(i.fn.particlesDraw(),i.particles.move.enable?i.fn.drawAnimFrame=requestAnimFrame(i.fn.vendors.draw):cancelRequestAnimFrame(i.fn.drawAnimFrame))},i.fn.vendors.checkBeforeDraw=function(){"image"==i.particles.shape.type?"svg"==i.tmp.img_type&&void 0==i.tmp.source_svg?i.tmp.checkAnimFrame=requestAnimFrame(check):(cancelRequestAnimFrame(i.tmp.checkAnimFrame),i.tmp.img_error||(i.fn.vendors.init(),i.fn.vendors.draw())):(i.fn.vendors.init(),i.fn.vendors.draw())},i.fn.vendors.init=function(){i.fn.retinaInit(),i.fn.canvasInit(),i.fn.canvasSize(),i.fn.canvasPaint(),i.fn.particlesCreate(),i.fn.vendors.densityAutoParticles(),i.particles.line_linked.color_rgb_line=hexToRgb(i.particles.line_linked.color)},i.fn.vendors.start=function(){isInArray("image",i.particles.shape.type)?(i.tmp.img_type=i.particles.shape.image.src.substr(i.particles.shape.image.src.length-3),i.fn.vendors.loadImg(i.tmp.img_type)):i.fn.vendors.checkBeforeDraw()},i.fn.vendors.eventsListeners(),i.fn.vendors.start()};Object.deepExtend=function(e,a){for(var t in a)a[t]&&a[t].constructor&&a[t].constructor===Object?(e[t]=e[t]||{},arguments.callee(e[t],a[t])):e[t]=a[t];return e},window.requestAnimFrame=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(e){window.setTimeout(e,1e3/60)}}(),window.cancelRequestAnimFrame=function(){return window.cancelAnimationFrame||window.webkitCancelRequestAnimationFrame||window.mozCancelRequestAnimationFrame||window.oCancelRequestAnimationFrame||window.msCancelRequestAnimationFrame||clearTimeout}(),window.pJSDom=[],window.particlesJS=function(e,a){"string"!=typeof e&&(a=e,e="particles-js"),e||(e="particles-js");var t=document.getElementById(e),i="particles-js-canvas-el",s=t.getElementsByClassName(i);if(s.length)for(;s.length>0;)t.removeChild(s[0]);var n=document.createElement("canvas");n.className=i,n.style.width="100%",n.style.height="100%";var r=document.getElementById(e).appendChild(n);null!=r&&pJSDom.push(new pJS(e,a))},window.particlesJS.load=function(e,a,t){var i=new XMLHttpRequest;i.open("GET",a),i.onreadystatechange=function(a){if(4==i.readyState)if(200==i.status){var s=JSON.parse(a.currentTarget.response);window.particlesJS(e,s),t&&t()}else console.log("Error pJS - XMLHttpRequest status: "+i.status),console.log("Error pJS - File config not found")},i.send()};
\ No newline at end of file
diff --git a/zy-acs-cv/src/main/webapp/static/js/tools/layx.min.js b/zy-acs-cv/src/main/webapp/static/js/tools/layx.min.js
new file mode 100644
index 0000000..80620d2
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/js/tools/layx.min.js
@@ -0,0 +1,10 @@
+/*!
+ * file : layx.js
+ * gitee : https://gitee.com/monksoul/LayX
+ * github : https://github.com/MonkSoul/Layx/
+ * author : 鐧惧皬鍍�/MonkSoul
+ * version : v2.5.4
+ * create time : 2018.05.11
+ * update time : 2018.11.03
+ */
+!function(n,t){var r={version:"2.5.4",defaults:{id:"",icon:!0,title:"",width:800,height:600,minWidth:200,minHeight:200,position:"ct",storeStatus:!0,control:!0,style:"",controlStyle:"",existFlicker:!0,bgColor:"#fff",shadow:!0,border:!0,borderRadius:"3px",skin:"default",type:"html",focusToReveal:!0,enableDomainFocus:!0,dialogType:"",frames:[],frameIndex:0,preload:1,mergeTitle:!0,content:"",dialogIcon:!1,cloneElementContent:!0,url:"",useFrameTitle:!1,opacity:1,escKey:!0,floatTarget:!1,floatDirection:"bottom",shadable:!1,shadeDestroy:!1,readonly:!1,loadingText:"鍐呭姝e湪鍔犺浇涓紝璇风◢鍚�",dragInTopToMax:!0,isOverToMax:!0,stickMenu:!1,stickable:!0,minMenu:!0,minable:!0,maxMenu:!0,maxable:!0,closeMenu:!0,closable:!0,debugMenu:!1,restorable:!0,resizable:!0,autodestroy:!1,autodestroyText:"姝ょ獥鍙e皢鍦� <strong>{second}<\/strong> 绉掑唴鑷姩鍏抽棴.",resizeLimit:{t:!1,r:!1,b:!1,l:!1,lt:!1,rt:!1,lb:!1,rb:!1},buttonKey:"enter",buttons:[],movable:!0,moveLimit:{vertical:!1,horizontal:!1,leftOut:!0,rightOut:!0,topOut:!0,bottomOut:!0},focusable:!0,alwaysOnTop:!1,allowControlDbclick:!0,statusBar:!1,statusBarStyle:"",event:{onload:{before:function(){},after:function(){}},onmin:{before:function(){},after:function(){}},onmax:{before:function(){},after:function(){}},onrestore:{before:function(){},after:function(){}},ondestroy:{before:function(){},after:function(){}},onvisual:{before:function(){},after:function(){}},onmove:{before:function(){},progress:function(){},after:function(){}},onresize:{before:function(){},progress:function(){},after:function(){}},onfocus:function(){},onexist:function(){},onswitch:{before:function(){},after:function(){}},onstick:{before:function(){},after:function(){}}}},defaultButtons:{label:"纭畾",callback:function(){},id:"",classes:[],style:""},defaultFrames:{id:"",title:"",type:"html",url:"",content:"",useFrameTitle:!1,cloneElementContent:!0,bgColor:"#fff"},zIndex:1e7,windows:{},stickZIndex:2e7,prevFocusId:null,focusId:null,create:function(n){var s=this,e=layxDeepClone({},s.defaults,n||{}),o={},ct,lt,at,h,vi,yi,d,rt,ut,ft,ki,yt,oi,pi,l,p,pt,wt,v,bt,g,y,si,kt,wi,et,ot,k,nt,tt,st,a,hi,dt,vt,gi,c,b,ht,bi,ci,li,w,gt,ni,ti,ii,ri,ui,fi,ei,it,di,ai;if(!e.id){console.error("绐楀彛id涓嶈兘涓虹┖涓斿敮涓�");return}if(r.prevFocusId=r.focusId,r.focusId=e.id,ct=s.windows[e.id],ct){if(ct.status==="min"&&s.restore(ct.id),ct.existFlicker===!0&&s.flicker(e.id),i.isFunction(e.event.onexist))e.event.onexist(ct.layxWindow,ct);return ai=setInterval(function(){e.id!==r.focusId?s.updateZIndex(e.id):clearInterval(ai)},0),ct}if(i.isArray(e.frames))for(c=0;c<e.frames.length;c++)if(e.frames[c]=layxDeepClone({},s.defaultFrames,e.frames[c]),!e.frames[c].id){console.error("绐楀彛缁勭獥鍙d涓嶈兘涓虹┖涓旂獥鍙g粍鍐呭敮涓�");return}if(i.isArray(e.buttons))for(c=0;c<e.buttons.length;c++)e.buttons[c]=layxDeepClone({},s.defaultButtons,e.buttons[c]);if((e.shadable===!0||/^(0(\.[0-9])?$)|(1)$/.test(e.shadable))&&(lt=document.createElement("div"),lt.setAttribute("id","layx-"+e.id+"-shade"),lt.classList.add("layx-shade"),lt.style.zIndex=e.alwaysOnTop===!0?++s.stickZIndex:++s.zIndex,/^(0(\.[0-9])?$)|(1)$/.test(e.shadable)&&(lt.style.backgroundColor="rgba(0,0,0,"+e.shadable+")"),lt.oncontextmenu=function(n){return n=n||window.event,n.returnValue=!1,!1},lt.onclick=function(n){n=n||window.event;e.shadeDestroy===!0?s.destroy(e.id,null,!0):e.existFlicker===!0&&s.flicker(e.id);n.stopPropagation()},document.body.appendChild(lt)),e.style&&(at=document.getElementById("layx-style"),at?at.innerHTML+=e.style:(at=document.createElement("style"),at.setAttribute("id","layx-style"),at.type="text/css",at.innerHTML=e.style,document.getElementsByTagName("HEAD").item(0).appendChild(at))),h=document.createElement("div"),h.setAttribute("id","layx-"+e.id),h.classList.add("layx-window"),h.classList.add("layx-flexbox"),h.classList.add("layx-skin-"+e.skin),e.shadow===!0&&(h.style.setProperty("box-shadow","1px 1px 24px rgba(0, 0, 0, .3)"),h.style.setProperty("-moz-box-shadow","1px 1px 24px rgba(0, 0, 0, .3)"),h.style.setProperty("-webkit-box-shadow","1px 1px 24px rgba(0, 0, 0, .3)")),vi=i.compileLayxWidthOrHeight("width",e.minWidth,s.defaults.minWidth),yi=i.compileLayxWidthOrHeight("height",e.minHeight,s.defaults.minHeight),d=i.compileLayxWidthOrHeight("width",e.width,s.defaults.width),rt=i.compileLayxWidthOrHeight("height",e.height,s.defaults.height),d=Math.max(d,vi),rt=Math.max(rt,yi),ki=i.compileLayxPosition(d,rt,e.position),ut=ki.top,ft=ki.left,ut=Math.max(ut,0),ut=Math.min(t.innerHeight-15,ut),ft=Math.max(ft,-(d-15)),ft=Math.min(ft,t.innerWidth-15),e.storeStatus===!0&&e.floatTarget===!1?(yt=s.getStoreWindowAreaInfo(e.id),yt?(d=yt.width,rt=yt.height,ut=yt.top,ft=yt.left):s.storeWindowAreaInfo(e.id,{width:d,height:rt,top:ut,left:ft})):s.removeStoreWindowAreaInfo(e.id),i.isDom(e.floatTarget)&&(h.classList.add("layx-bubble-type"),oi=document.createElement("div"),oi.classList.add("layx-bubble"),oi.classList.add("layx-bubble-"+e.floatDirection),h.appendChild(oi),pi=document.createElement("div"),pi.classList.add("layx-bubble-inlay"),pi.classList.add("layx-bubble-inlay-"+e.floatDirection),oi.appendChild(pi)),h.style.zIndex=e.alwaysOnTop===!0?++s.stickZIndex:++s.zIndex,h.style.width=d+"px",h.style.height=rt+"px",h.style.minWidth=vi+"px",h.style.minHeight=yi+"px",h.style.top=ut+"px",h.style.left=ft+"px",h.style.setProperty("border",i.isBoolean(e.border)?e.skin==="default"&&e.border===!0?"":"none":e.border),h.style.backgroundColor=e.bgColor,h.style.setProperty("border-radius",e.borderRadius),h.style.setProperty("-moz-border-radius",e.borderRadius),h.style.setProperty("-webkit-border-radius",e.borderRadius),h.style.opacity=/^(0(\.[0-9])?$)|(1)$/.test(e.opacity)?e.opacity:1,e.focusable===!0&&(h.onclick=function(n){if(n=n||window.event,i.isFunction(e.event.onfocus)){var t=i.isFunction(e.event.onfocus);if(t===!1)return;e.event.onfocus(h,o)}s.updateZIndex(e.id)}),document.body.appendChild(h),l=h.currentStyle?h.currentStyle:t.getComputedStyle(h,null),o.id=e.id,o.title=e.title,o.layxWindowId=h.getAttribute("id"),o.layxWindow=h,o.createDate=new Date,o.status="normal",o.type=e.type,o.buttons=e.buttons,o.frames=e.frames,o.useFrameTitle=e.useFrameTitle,o.cloneElementContent=e.cloneElementContent,o.storeStatus=e.storeStatus,o.url=e.url,o.content=e.content,o.escKey=e.escKey,o.focusToReveal=e.focusToReveal,o.dialogType=e.dialogType,o.enableDomainFocus=e.enableDomainFocus,o.buttonKey=e.buttonKey,o.existFlicker=e.existFlicker,o.groupCurrentId=i.isArray(e.frames)&&e.frames.length>0&&e.frames[e.frameIndex]?e.frames[e.frameIndex].id:null,o.area={width:d,height:rt,minWidth:vi,minHeight:yi,top:ut,left:ft},o.border=e.border,o.control=e.control,o.isFloatTarget=i.isDom(e.floatTarget),o.floatTarget=e.floatTarget,o.floatDirection=e.floatDirection,o.loadingText=e.loadingText,o.focusable=e.focusable,o.isStick=e.alwaysOnTop===!0,o.zIndex=e.alwaysOnTop===!0?s.stickZIndex:s.zIndex,o.movable=e.movable,o.moveLimit=e.moveLimit,o.resizable=e.resizable,o.resizeLimit=e.resizeLimit,o.stickable=e.stickable,o.minable=e.minable,o.maxable=e.maxable,o.restorable=e.restorable,o.closable=e.closable,o.skin=e.skin,o.event=e.event,o.dragInTopToMax=e.dragInTopToMax,s.windows[e.id]=o,e.control===!0){if(p=document.createElement("div"),p.classList.add("layx-control-bar"),p.classList.add("layx-flexbox"),p.style.setProperty("border-radius",l.borderRadius+" "+l.borderRadius+" 0 0"),p.style.setProperty("-moz-border-radius",l.borderRadius+" "+l.borderRadius+" 0 0"),p.style.setProperty("-webkit-border-radius",l.borderRadius+" "+l.borderRadius+" 0 0"),e.controlStyle&&p.setAttribute("style",e.controlStyle),e.type==="group"&&e.mergeTitle===!0&&p.classList.add("layx-type-group"),h.appendChild(p),e.icon!==!1&&(pt=document.createElement("div"),pt.classList.add("layx-left-bar"),pt.classList.add("layx-flexbox"),pt.classList.add("layx-flex-vertical"),p.appendChild(pt),wt=document.createElement("div"),wt.classList.add("layx-icon"),wt.classList.add("layx-window-icon"),wt.innerHTML=e.icon===!0?'<svg class="layx-iconfont" aria-hidden="true"><use xlink:href="#layx-icon-default-icon"><\/use><\/svg>':e.icon,e.icon===!0&&(wt.ondblclick=function(n){n=n||window.event;s.destroy(e.id,null,!0);n.stopPropagation()}),pt.appendChild(wt)),v=document.createElement("div"),v.classList.add("layx-title"),v.classList.add("layx-flexauto"),v.classList.add("layx-flexbox"),v.classList.add("layx-flex-vertical"),e.type==="group"&&e.mergeTitle===!0&&v.classList.add("layx-type-group"),e.allowControlDbclick===!0&&(v.ondblclick=function(n){n=n||window.event;e.restorable===!0&&s.restore(e.id);n.stopPropagation()}),e.movable===!0&&i.isDom(e.floatTarget)==!1&&new f(v),p.appendChild(v),e.type!=="group")g=document.createElement("label"),g.classList.add("layx-label"),g.innerHTML=e.useFrameTitle===!0?"":e.title,v.setAttribute("title",g.innerText),v.appendChild(g);else if(i.isArray(e.frames))for(e.mergeTitle===!1&&(bt=document.createElement("div"),bt.classList.add("layx-group-tab"),bt.classList.add("layx-flexbox"),bt.classList.add("layx-type-group"),h.appendChild(bt),g=document.createElement("label"),g.classList.add("layx-label"),g.innerHTML=e.useFrameTitle===!0?"":e.title,v.setAttribute("title",g.innerText),v.appendChild(g)),c=0;c<e.frames.length;c++)b=layxDeepClone({},s.defaultFrames,e.frames[c]),y=document.createElement("div"),y.setAttribute("data-frameId",b.id),y.classList.add("layx-group-title"),y.classList.add("layx-flexauto"),y.classList.add("layx-flex-vertical"),c===e.frameIndex&&y.setAttribute("data-enable","1"),i.isSupportTouch?(y.ontouchstart=function(n){n=n||window.event;s._setGroupIndex(e.id,this)},i.IsPC()&&(y.onclick=function(n){n=n||window.event;s._setGroupIndex(e.id,this);n.stopPropagation()})):y.onclick=function(n){n=n||window.event;s._setGroupIndex(e.id,this);n.stopPropagation()},e.mergeTitle===!1?bt.appendChild(y):v.appendChild(y),si=document.createElement("label"),si.classList.add("layx-label"),si.innerHTML=b.title,y.setAttribute("title",si.innerText),y.appendChild(si);kt=document.createElement("div");kt.classList.add("layx-right-bar");kt.classList.add("layx-flexbox");p.appendChild(kt);wi=document.createElement("div");wi.classList.add("layx-custom-menus");wi.classList.add("layx-flexbox");kt.appendChild(wi);(e.stickMenu===!0||e.minMenu===!0||e.maxMenu===!0||e.closeMenu===!0||e.debugMenu===!0)&&(et=document.createElement("div"),et.classList.add("layx-inlay-menus"),et.classList.add("layx-flexbox"),kt.appendChild(et),i.isDom(e.floatTarget)||(e.debugMenu===!0&&(ot=document.createElement("div"),ot.classList.add("layx-icon"),ot.classList.add("layx-flexbox"),ot.classList.add("layx-flex-center"),ot.classList.add("layx-debug-menu"),ot.setAttribute("title","璋冭瘯淇℃伅"),ot.innerHTML='<svg class="layx-iconfont" aria-hidden="true"><use xlink:href="#layx-icon-debug"><\/use><\/svg>',ot.onclick=function(n){n=n||window.event;var t=JSON.stringify(o,null,4).replace(/</g,"&lt;").replace(/>/g,"&gt;");s.create({id:"layx-"+e.id+"-debug",title:"绐楀彛璋冭瘯淇℃伅",width:300,height:300,content:'<div class="layx-padding" style="padding:10px;height:100%;overflow:hidden;"><div class="layx-code"><pre class="layx-pre">'+t+"<\/pre><\/div><\/div>",shadable:!0,debugMenu:!1,minMenu:!1,minable:!1,position:[h.offsetTop+10,h.offsetLeft+10],storeStatus:!1})},et.appendChild(ot)),(e.stickMenu===!0||e.alwaysOnTop===!0&&e.stickMenu)&&(k=document.createElement("div"),k.classList.add("layx-icon"),k.classList.add("layx-flexbox"),k.classList.add("layx-flex-center"),k.classList.add("layx-stick-menu"),e.alwaysOnTop===!0?k.setAttribute("title","鍙栨秷缃《"):k.setAttribute("title","缃《"),e.alwaysOnTop===!0&&k.setAttribute("data-enable","1"),k.innerHTML='<svg class="layx-iconfont" aria-hidden="true"><use xlink:href="#layx-icon-stick"><\/use><\/svg>',e.stickable===!0&&(k.onclick=function(n){n=n||window.event;s.stickToggle(e.id)}),et.appendChild(k)),e.minMenu===!0&&(nt=document.createElement("div"),nt.classList.add("layx-icon"),nt.classList.add("layx-flexbox"),nt.classList.add("layx-flex-center"),nt.classList.add("layx-min-menu"),nt.setAttribute("title","鏈�灏忓寲"),nt.setAttribute("data-menu","min"),nt.innerHTML='<svg class="layx-iconfont" aria-hidden="true"><use xlink:href="#layx-icon-min"><\/use><\/svg>',nt.onclick=function(n){n=n||window.event;this.classList.contains("layx-restore-menu")?e.restorable===!0&&s.restore(e.id):e.minable===!0&&s.min(e.id)},et.appendChild(nt)),e.maxMenu===!0&&(tt=document.createElement("div"),tt.classList.add("layx-icon"),tt.classList.add("layx-flexbox"),tt.classList.add("layx-flex-center"),tt.classList.add("layx-max-menu"),tt.setAttribute("title","鏈�澶у寲"),tt.setAttribute("data-menu","max"),tt.innerHTML='<svg class="layx-iconfont" aria-hidden="true"><use xlink:href="#layx-icon-max"><\/use><\/svg>',tt.onclick=function(n){n=n||window.event;this.classList.contains("layx-restore-menu")?e.restorable===!0&&s.restore(e.id):e.maxable===!0&&s.max(e.id)},et.appendChild(tt))),e.closeMenu===!0&&(st=document.createElement("div"),st.classList.add("layx-icon"),st.classList.add("layx-flexbox"),st.classList.add("layx-flex-center"),st.classList.add("layx-destroy-menu"),st.setAttribute("title","鍏抽棴"),st.innerHTML='<svg class="layx-iconfont" aria-hidden="true"><use xlink:href="#layx-icon-destroy"><\/use><\/svg>',st.onclick=function(n){n=n||window.event;e.closable===!0&&s.destroy(e.id,null,!0)},et.appendChild(st)))}a=document.createElement("div");a.classList.add("layx-main");a.classList.add("layx-flexauto");e.statusBar||(a.style.setProperty("border-radius","0 0 "+l.borderRadius+" "+l.borderRadius),a.style.setProperty("-moz-border-radius","0 0 "+l.borderRadius+" "+l.borderRadius),a.style.setProperty("-webkit-border-radius","0 0 "+l.borderRadius+" "+l.borderRadius));h.appendChild(a);e.readonly===!0&&(hi=document.createElement("div"),hi.classList.add("layx-readonly"),hi.oncontextmenu=function(n){return n=n||window.event,n.returnValue=!1,!1},e.focusable===!0&&(hi.onclick=function(n){if(n=n||window.event,i.isFunction(e.event.onfocus)){var t=i.isFunction(e.event.onfocus);if(t===!1)return;e.event.onfocus(h,o)}s.updateZIndex(e.id);n.stopPropagation()}),a.appendChild(hi));switch(e.type){case"html":default:if(i.isFunction(e.event.onload.before)&&(dt=e.event.onload.before(h,o),dt===!1))return;vt=s.createContenLoadAnimate(a,e.loadingText,o);s.createHtmlBody(a,e,e.content);vt&&a.removeChild(vt);o.loadingTextTimer&&(clearInterval(o.loadingTextTimer),delete o.loadingTextTimer);i.isFunction(e.event.onload.after)&&e.event.onload.after(h,o);break;case"url":if(i.isFunction(e.event.onload.before)&&(dt=e.event.onload.before(h,o),dt===!1))return;vt=s.createContenLoadAnimate(a,e.loadingText,o);s.createFrameBody(a,e,h,o);break;case"group":if(i.isArray(e.frames)){if(i.isFunction(e.event.onload.before)&&(dt=e.event.onload.before(h,o),dt===!1))return;for(vt=s.createContenLoadAnimate(a,e.loadingText,o),e.preload=/(^[1-9]\d*$)/.test(e.preload)===!1?!0:Math.min(e.preload,e.frames.length),gi=setInterval(function(){var n=h.querySelectorAll(".layx-group-main[data-complete='1']");(n.length===i.isBoolean(e.preload)?e.frames.length:e.preload)&&(clearInterval(gi),o.loadingTextTimer&&(clearInterval(o.loadingTextTimer),delete o.loadingTextTimer),h.setAttribute("data-group-init","1"),vt&&a.removeChild(vt),i.isFunction(e.event.onload.after)&&e.event.onload.after(h,o))},100),c=0;c<e.frames.length;c++)b=layxDeepClone({},s.defaultFrames,e.frames[c]),ht=document.createElement("div"),ht.classList.add("layx-group-main"),ht.style.backgroundColor=b.bgColor,ht.setAttribute("data-frameId",b.id),c===e.frameIndex&&ht.setAttribute("data-enable","1"),a.appendChild(ht),bi=c===e.frameIndex?!0:i.isBoolean(e.preload)?!0:c+1<=e.preload,b.type==="html"?(s.createHtmlBody(ht,e,b.content,"group",b,bi),bi&&ht.setAttribute("data-complete","1")):b.type==="url"&&s.createFrameBody(ht,e,h,o,"group",b,bi)}}return/(^[1-9]\d*$)/.test(e.autodestroy)&&(ci=e.autodestroy/1e3,e.autodestroyText!==!1&&(li=document.createElement("div"),li.classList.add("layx-auto-destroy-tip"),li.innerHTML=e.autodestroyText.replace("{second}",ci),h.appendChild(li)),o.destroyTimer=setInterval(function(){--ci;e.autodestroyText!==!1&&(li.innerHTML=e.autodestroyText.replace("{second}",ci));ci<=0&&(clearInterval(o.destroyTimer),s.destroy(e.id,null,!0))},1e3)),w=document.createElement("div"),w.classList.add("layx-resizes"),e.resizable===!1&&w.setAttribute("data-enable","0"),h.appendChild(w),gt=document.createElement("div"),gt.classList.add("layx-resize-top"),i.isSupportTouch&&gt.classList.add("layx-reisize-touch"),e.resizeLimit.t===!0&&gt.setAttribute("data-enable","0"),new u(gt,!0,!1,!0,!1),w.appendChild(gt),ni=document.createElement("div"),ni.classList.add("layx-resize-left"),i.isSupportTouch&&ni.classList.add("layx-reisize-touch"),e.resizeLimit.l===!0&&ni.setAttribute("data-enable","0"),new u(ni,!1,!0,!1,!0),w.appendChild(ni),ti=document.createElement("div"),ti.classList.add("layx-resize-left-top"),i.isSupportTouch&&ti.classList.add("layx-reisize-touch"),e.resizeLimit.lt===!0&&ti.setAttribute("data-enable","0"),new u(ti,!0,!0,!1,!1),w.appendChild(ti),ii=document.createElement("div"),ii.classList.add("layx-resize-right-top"),i.isSupportTouch&&ii.classList.add("layx-reisize-touch"),e.resizeLimit.rt===!0&&ii.setAttribute("data-enable","0"),new u(ii,!0,!1,!1,!1),w.appendChild(ii),ri=document.createElement("div"),ri.classList.add("layx-resize-left-bottom"),i.isSupportTouch&&ri.classList.add("layx-reisize-touch"),e.resizeLimit.lb===!0&&ri.setAttribute("data-enable","0"),new u(ri,!1,!0,!1,!1),w.appendChild(ri),ui=document.createElement("div"),ui.classList.add("layx-resize-right"),i.isSupportTouch&&ui.classList.add("layx-reisize-touch"),e.resizeLimit.r===!0&&ui.setAttribute("data-enable","0"),new u(ui,!1,!1,!1,!0),w.appendChild(ui),fi=document.createElement("div"),fi.classList.add("layx-resize-bottom"),i.isSupportTouch&&fi.classList.add("layx-reisize-touch"),e.resizeLimit.b===!0&&fi.setAttribute("data-enable","0"),new u(fi,!1,!1,!0,!1),w.appendChild(fi),ei=document.createElement("div"),ei.classList.add("layx-resize-right-bottom"),i.isSupportTouch&&ei.classList.add("layx-reisize-touch"),e.resizeLimit.rb===!0&&ei.setAttribute("data-enable","0"),new u(ei,!1,!1,!1,!1),w.appendChild(ei),e.statusBar&&(it=document.createElement("div"),it.classList.add("layx-statu-bar"),it.style.setProperty("border-radius","0 0 "+l.borderRadius+" "+l.borderRadius),it.style.setProperty("-moz-border-radius","0 0 "+l.borderRadius+" "+l.borderRadius),it.style.setProperty("-webkit-border-radius","0 0 "+l.borderRadius+" "+l.borderRadius),e.statusBarStyle&&it.setAttribute("style",e.statusBarStyle),e.statusBar===!0&&i.isArray(e.buttons)?(di=s.createLayxButtons(e.buttons,e.id,e.dialogType==="prompt"?!0:!1),di&&it.appendChild(di)):i.isDom(e.statusBar)?it.appendChild(e.statusBar):it.innerHTML=e.statusBar,h.appendChild(it)),i.isDom(e.floatTarget)&&s.updateFloatWinPosition(e.id,e.floatDirection),e.isOverToMax===!0&&i.isDom(e.floatTarget)===!1&&(d>window.innerWidth||rt>window.innerHeight)&&s.max(e.id),ai=setInterval(function(){e.id!==r.focusId?s.updateZIndex(e.id):clearInterval(ai)},0),o},updateFloatWinPosition:function(n,r){var l=this,y="layx-"+n,s=document.getElementById(y),u=l.windows[n],e,o,a,v;if(s&&u&&u.isFloatTarget===!0&&(r=["top","bottom","left","right"].indexOf(r)>-1?r:u.floatDirection,e=s.querySelector(".layx-bubble"),o=s.querySelector(".layx-bubble-inlay"),e&&o)){e.classList.remove("layx-bubble-"+u.floatDirection);e.style["border"+u.floatDirection.toFirstUpperCase()+"Color"]="transparent";o.classList.remove("layx-bubble-inlay-"+u.floatDirection);o.style["border"+u.floatDirection.toFirstUpperCase()+"Color"]="transparent";e.classList.add("layx-bubble-"+r);o.classList.add("layx-bubble-inlay-"+r);var f=s.currentStyle?s.currentStyle:t.getComputedStyle(s,null),h=s.querySelector(".layx-control-bar"),c=h&&(h.currentStyle?h.currentStyle:t.getComputedStyle(h,null));u.control===!0&&h&&c?(e.style["border"+r.toFirstUpperCase()+"Color"]=f.borderColor==="rgba(0, 0, 0, 0)"||f.borderColor==="transparent"||!f.borderColor||i.isBoolean(u.border)?u.skin==="default"?"#3baced":c.backgroundColor:f.borderColor,o.style["border"+r.toFirstUpperCase()+"Color"]=c.backgroundColor):(e.style["border"+r.toFirstUpperCase()+"Color"]=f.borderColor==="rgba(0, 0, 0, 0)"||f.borderColor==="transparent"||!f.borderColor||i.isBoolean(u.border)?u.skin==="default"?"#3baced":"#fff":f.borderColor,o.style["border"+r.toFirstUpperCase()+"Color"]=f.backgroundColor);a=i.compilebubbleDirection(r,u.floatTarget,u.area.width,u.area.height);l.setPosition(n,{top:a.top,left:a.left},!0);v=i.getElementPos(u.floatTarget);(r==="top"||r==="bottom")&&(e.style.left=Math.abs(v.x+u.floatTarget.offsetWidth/2-u.layxWindow.offsetLeft-9)+"px");(r==="left"||r==="right")&&(e.style.top=Math.abs(v.y+u.floatTarget.offsetHeight/2-u.layxWindow.offsetTop-9)+"px");(r==="top"||(r==="right"||r==="left")&&u.control===!0&&h&&c&&e.offsetTop>h.offsetHeight)&&(e.style["border"+r.toFirstUpperCase()+"Color"]=f.borderColor==="rgba(0, 0, 0, 0)"||f.borderColor==="transparent"||!f.borderColor||i.isBoolean(u.border)?u.skin==="default"?"#3baced":"#fff":f.borderColor,o.style["border"+r.toFirstUpperCase()+"Color"]=f.backgroundColor);u.floatDirection=r;l.updateFloatWinResize(n,r)}},updateFloatWinResize:function(n,t){var u=this,f="layx-"+n,i=document.getElementById(f),r=u.windows[n];if(i&&r&&r.isFloatTarget===!0){t=["top","bottom","left","right"].indexOf(t)>-1?t:r.floatDirection;switch(t){case"bottom":i.querySelector(".layx-resize-left").setAttribute("data-enable","0");i.querySelector(".layx-resize-top").setAttribute("data-enable","0");i.querySelector(".layx-resize-left-top").setAttribute("data-enable","0");i.querySelector(".layx-resize-left-bottom").setAttribute("data-enable","0");i.querySelector(".layx-resize-right-top").setAttribute("data-enable","0");r.resizeLimit.r===!1&&i.querySelector(".layx-resize-right").removeAttribute("data-enable");r.resizeLimit.b===!1&&i.querySelector(".layx-resize-bottom").removeAttribute("data-enable");r.resizeLimit.rb===!1&&i.querySelector(".layx-resize-right-bottom").removeAttribute("data-enable");break;case"top":i.querySelector(".layx-resize-left").setAttribute("data-enable","0");i.querySelector(".layx-resize-left-top").setAttribute("data-enable","0");i.querySelector(".layx-resize-bottom").setAttribute("data-enable","0");i.querySelector(".layx-resize-left-bottom").setAttribute("data-enable","0");i.querySelector(".layx-resize-right-bottom").setAttribute("data-enable","0");r.resizeLimit.r===!1&&i.querySelector(".layx-resize-right").removeAttribute("data-enable");r.resizeLimit.t===!1&&i.querySelector(".layx-resize-top").removeAttribute("data-enable");r.resizeLimit.rt===!1&&i.querySelector(".layx-resize-right-top").removeAttribute("data-enable");break;case"right":i.querySelector(".layx-resize-left").setAttribute("data-enable","0");i.querySelector(".layx-resize-top").setAttribute("data-enable","0");i.querySelector(".layx-resize-left-top").setAttribute("data-enable","0");i.querySelector(".layx-resize-left-bottom").setAttribute("data-enable","0");i.querySelector(".layx-resize-right-top").setAttribute("data-enable","0");r.resizeLimit.r===!1&&i.querySelector(".layx-resize-right").removeAttribute("data-enable");r.resizeLimit.b===!1&&i.querySelector(".layx-resize-bottom").removeAttribute("data-enable");r.resizeLimit.rb===!1&&i.querySelector(".layx-resize-right-bottom").removeAttribute("data-enable");break;case"left":i.querySelector(".layx-resize-top").setAttribute("data-enable","0");i.querySelector(".layx-resize-right").setAttribute("data-enable","0");i.querySelector(".layx-resize-left-top").setAttribute("data-enable","0");i.querySelector(".layx-resize-right-top").setAttribute("data-enable","0");i.querySelector(".layx-resize-right-bottom").setAttribute("data-enable","0");r.resizeLimit.l===!1&&i.querySelector(".layx-resize-left").removeAttribute("data-enable");r.resizeLimit.b===!1&&i.querySelector(".layx-resize-bottom").removeAttribute("data-enable");r.resizeLimit.lb===!1&&i.querySelector(".layx-resize-left-bottom").removeAttribute("data-enable")}}},removeStoreWindowAreaInfo:function(n){var u=this,i="layx-"+n,r=typeof Storage!="undefined"&&!(t.location.protocol.indexOf("file:")>-1)&&localStorage.getItem(i);r&&localStorage.removeItem(i)},storeWindowAreaInfo:function(n,i){var u=this,r="layx-"+n;typeof Storage=="undefined"||t.location.protocol.indexOf("file:")>-1||localStorage.setItem(r,JSON.stringify(i))},getStoreWindowAreaInfo:function(n){var u=this,r="layx-"+n,i=typeof Storage!="undefined"&&!(t.location.protocol.indexOf("file:")>-1)&&localStorage.getItem(r);return i?JSON.parse(i):null},_setGroupIndex:function(n,t){var s=this,a="layx-"+n,u=document.getElementById(a),r=s.windows[n],h,c,f;if(u&&r&&r.type==="group"&&(h=u.querySelector(".layx-group-title[data-enable='1']"),h!==t)){if(i.isFunction(r.event.onswitch.before)&&(c=r.event.onswitch.before(u,r,h.getAttribute("data-frameId")),c===!1))return;h.removeAttribute("data-enable");t.setAttribute("data-enable","1");var e=t.getAttribute("data-frameId"),l=u.querySelector(".layx-group-main[data-enable='1']"),o=u.querySelector(".layx-group-main[data-frameId='"+e+"']");o!==l&&(l.removeAttribute("data-enable"),o.setAttribute("data-enable","1"),r.groupCurrentId=e,o.getAttribute("data-preload")==="1"&&(f=s.getGroupFrame(r.frames,e),f.type==="url"&&(s.setGroupUrl(n,e,f.url),o.removeAttribute("data-preload")),f.type==="html"&&(s.setGroupContent(n,e,f.content,f.cloneElementContent),o.removeAttribute("data-preload"))));i.isFunction(r.event.onswitch.after)&&r.event.onswitch.after(u,r,t.getAttribute("data-frameId"))}},setGroupIndex:function(n,t){var u=this,f="layx-"+n,i=document.getElementById(f),e=u.windows[n],r;i&&e&&(r=i.querySelector(".layx-group-title[data-frameId='"+t+"']"),r.click())},cloneStore:{},createHtmlBody:function(n,u,f,e,o,s){var v=this,c=document.createElement("div"),h,l,a;c.classList.add("layx-html");c.setAttribute("id","layx-"+u.id+(e==="group"?"-"+o.id+"-":"-")+"html");s!==!1?i.isDom(f)?(l=f.currentStyle?f.currentStyle:t.getComputedStyle(f,null),e!=="group"&&u.cloneElementContent===!1&&(r.cloneStore[u.id]={prev:f.previousSibling,parent:f.parentNode,next:f.nextSibling,display:l.display}),e==="group"&&o.cloneElementContent===!1&&(r.cloneStore[u.id]||(r.cloneStore[u.id]={frames:{}}),r.cloneStore[u.id].frames[o.id]={prev:f.previousSibling,parent:f.parentNode,next:f.nextSibling,display:l.display}),h=c.appendChild((e==="group"?o:u).cloneElementContent===!0?f.cloneNode(!0):f)):c.innerHTML=f:n.setAttribute("data-preload","1");n.appendChild(c);i.isDom(h)&&(a=h.currentStyle?h.currentStyle:t.getComputedStyle(h,null),a.display==="none"&&(h.style.display=""))},frameLoadHandle:function(n,t,u,f,o,s,h,c){var v=this,l=(s==="group"?n.parentNode.parentNode:n.parentNode).querySelector(".layx-content-shade"),a;try{u.focusable===!0&&u.enableDomainFocus===!0&&(n.getAttribute("data-focus")||(e.track(n,function(){if(i.isFunction(u.event.onfocus)){var n=i.isFunction(u.event.onfocus);if(n===!1)return;u.event.onfocus(f,o)}v.updateZIndex(u.id)}),n.setAttribute("data-focus","true")));a=u.title;s==="group"?h.useFrameTitle===!0&&(a=n.contentWindow.document.querySelector("title").innerText,v.setGroupTitle(u.id,h.id,a)):u.useFrameTitle===!0&&(a=n.contentWindow.document.querySelector("title").innerText,v.setTitle(u.id,a));n.contentWindow.document.addEventListener("click",function(n){var r=n||window.event||arguments.callee.caller.arguments[0],t;if(u.focusable===!0){if(i.isFunction(u.event.onfocus)){if(t=i.isFunction(u.event.onfocus),t===!1)return;u.event.onfocus(f,o)}v.updateZIndex(u.id)}},!1);n.contentWindow.document.addEventListener("keydown",function(n){var i=n||window.event||arguments.callee.caller.arguments[0],t=r.windows[r.focusId],u;i&&i.keyCode==27&&t&&r.destroy(r.focusId,{},!1,!0);i&&i.keyCode===13&&t&&t.buttons.length>0&&(t.buttonKey.toLowerCase()!=="enter"||i.ctrlKey?t.buttonKey.toLowerCase()==="ctrl+enter"&&i.ctrlKey&&(t.dialogType!=="prompt"?t.buttons[0].callback(t.id,r.getButton(t.id,t.buttons[0].id,i)):(u=r.getPromptTextArea(t.id),t.buttons[0].callback(t.id,(u?u.value:"").replace(/(^\s*)|(\s*$)/g,""),u,r.getButton(t.id,t.buttons[0].id,i)))):t.dialogType!=="prompt"?t.buttons[0].callback(t.id,r.getButton(t.id,t.buttons[0].id,i)):(u=r.getPromptTextArea(t.id),t.buttons[0].callback(t.id,(u?u.value:"").replace(/(^\s*)|(\s*$)/g,""),u,r.getButton(t.id,t.buttons[0].id,i))))},!1)}catch(y){s==="group"&&l&&l.parentNode.removeChild(l);console.warn(y)}finally{s==="group"?(c&&t.setAttribute("data-complete","1"),f.getAttribute("data-group-init")==="1"&&(o.loadingTextTimer&&(clearInterval(o.loadingTextTimer),delete o.loadingTextTimer),l&&l.parentNode.removeChild(l),i.isFunction(u.event.onload.after)&&u.event.onload.after(f,o))):(l&&l.parentNode.removeChild(l),o.loadingTextTimer&&(clearInterval(o.loadingTextTimer),delete o.loadingTextTimer),i.isFunction(u.event.onload.after)&&u.event.onload.after(f,o))}},createFrameBody:function(n,i,r,u,f,e,o){var h=this,s=document.createElement("iframe");s.setAttribute("id","layx-"+i.id+(f==="group"?"-"+e.id+"-":"-")+"iframe");s.classList.add("layx-iframe");s.classList.add("layx-flexbox");s.setAttribute("allowtransparency","true");s.setAttribute("frameborder","0");t.navigator.userAgent.toLowerCase().indexOf("iphone")>-1||!!navigator.userAgent.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/)?s.setAttribute("scrolling","no"):s.setAttribute("scrolling","auto");s.setAttribute("allowfullscreen","");s.setAttribute("mozallowfullscreen","");s.setAttribute("webkitallowfullscreen","");s.src=o!==!1?(f==="group"?e.url:i.url)||"about:blank":"about:blank";s.attachEvent?s.attachEvent("onreadystatechange",function(){(s.readyState==="complete"||s.readyState=="loaded")&&(s.detachEvent("onreadystatechange",arguments.callee),h.frameLoadHandle(s,n,i,r,u,f,e,o))}):s.addEventListener("load",function(){this.removeEventListener("load",arguments.call,!1);h.frameLoadHandle(s,n,i,r,u,f,e,o)},!1);o===!1&&n.setAttribute("data-preload","1");n.appendChild(s)},setContent:function(n,u,f){var l=this,p="layx-"+n,h=document.getElementById(p),e=l.windows[n],o,a,c,s,v,y;if(h&&e&&e.type==="html"&&(o=h.querySelector("#layx-"+n+"-html"),o)){if(i.isFunction(e.event.onload.before)&&(a=e.event.onload.before(h,e),a===!1))return;try{c=l.createContenLoadAnimate(o.parentNode,e.loadingText,e);f=i.isBoolean(f)?f:e.cloneElementContent;i.isDom(u)?(v=u.currentStyle?u.currentStyle:t.getComputedStyle(u,null),f===!1&&(r.cloneStore[n]={prev:u.previousSibling,parent:u.parentNode,next:u.nextSibling,display:v.display}),o.innerHTML="",s=o.appendChild(f===!0?u.cloneNode(!0):u)):o.innerHTML=u;i.isDom(s)&&(y=s.currentStyle?s.currentStyle:window.getComputedStyle(s,null),y.display==="none"&&(s.style.display=""));e.content=u}finally{c&&o.parentNode.removeChild(c);e.loadingTextTimer&&(clearInterval(e.loadingTextTimer),delete e.loadingTextTimer);i.isFunction(e.event.onload.after)&&e.event.onload.after(h,e)}}},getGroupFrame:function(n,t){for(var r={},i=0;i<n.length;i++)if(n[i].id===t){r=n[i];break}return r},reloadGroupFrame:function(n,t){var i=this,s="layx-"+n,f=document.getElementById(s),r=i.windows[n],e,u,o;f&&r&&r.type==="group"&&(e=i.getGroupFrame(r.frames,t),e.type==="url"&&(u=f.querySelector("#layx-"+n+"-"+t+"-iframe"),u&&(o=u.getAttribute("src"),i.setGroupUrl(n,t,o))))},setGroupContent:function(n,u,f,e){var a=this,b="layx-"+n,c=document.getElementById(b),o=a.windows[n],l,s,y,v,h,p,w;if(c&&o&&o.type==="group"&&(l=a.getGroupFrame(o.frames,u),l.type==="html"&&(s=c.querySelector("#layx-"+n+"-"+u+"-html"),s))){if(i.isFunction(o.event.onload.before)&&(y=o.event.onload.before(c,o),y===!1))return;try{v=a.createContenLoadAnimate(s.parentNode.parentNode,o.loadingText,o);e=i.isBoolean(e)?e:l.cloneElementContent;i.isDom(f)?(p=f.currentStyle?f.currentStyle:t.getComputedStyle(f,null),e===!1&&(r.cloneStore[n]||(r.cloneStore[n]={frames:{}}),r.cloneStore[n].frames[u]={prev:f.previousSibling,parent:f.parentNode,next:f.nextSibling,display:p.display}),s.innerHTML="",h=s.appendChild(e===!0?f.cloneNode(!0):f)):s.innerHTML=f;i.isDom(h)&&(w=h.currentStyle?h.currentStyle:window.getComputedStyle(h,null),w.display==="none"&&(h.style.display=""));l.content=f}finally{v&&s.parentNode.parentNode.removeChild(v);o.loadingTextTimer&&(clearInterval(o.loadingTextTimer),delete o.loadingTextTimer);i.isFunction(o.event.onload.after)&&o.event.onload.after(c,o)}}},createContenLoadAnimate:function(n,t,r,u){var h=this,f,e,s,o;if(t!==!1)return i.isArray(t)&&t.length===2&&t[0]===!0?h.createContenLoadAnimate(n,t[1],r,!1):(f=document.createElement("div"),f.classList.add("layx-content-shade"),f.classList.add("layx-flexbox"),f.classList.add("layx-flex-center"),i.isDom(t)?f.appendChild(t):(u!==!1&&f.appendChild(h.createLoadAnimate()),e=document.createElement("div"),e.classList.add("layx-load-content-msg"),e.innerHTML=t,f.appendChild(e),s=document.createElement("span"),s.classList.add("layx-dot"),e.appendChild(s),o=0,r.loadingTextTimer=setInterval(function(){var n,t;for(o===5&&(o=0),++o,n="",t=0;t<o;t++)n+=".";s.innerHTML=n},200)),n.appendChild(f))},setUrl:function(n,t){var u,o,h;t=t||"about:blank";var e=this,s="layx-"+n,f=document.getElementById(s),r=e.windows[n];if(f&&r&&r.type==="url"&&(u=f.querySelector("#layx-"+n+"-iframe"),u)){if(i.isFunction(r.event.onload.before)&&(o=r.event.onload.before(f,r),o===!1))return;h=e.createContenLoadAnimate(u.parentNode,r.loadingText,r);u.setAttribute("src",t)}},setGroupUrl:function(n,t,r){var s,f,h,l;r=r||"about:blank";var e=this,c="layx-"+n,o=document.getElementById(c),u=e.windows[n];if(o&&u&&u.type==="group"&&(s=e.getGroupFrame(u.frames,t),s.type==="url"&&(f=o.querySelector("#layx-"+n+"-"+t+"-iframe"),f))){if(i.isFunction(u.event.onload.before)&&(h=u.event.onload.before(o,u),h===!1))return;f.parentNode.removeAttribute("data-complete");l=e.createContenLoadAnimate(f.parentNode.parentNode,u.loadingText,u);f.setAttribute("src",r)}},setGroupTitle:function(n,t,i,r){var h=this,l="layx-"+n,e=document.getElementById(l),o=h.windows[n],u,s,c,f;if(e&&o&&o.type==="group"&&(u=e.querySelector(".layx-group-title[data-frameId='"+t+"']"),u)){if(s=h.getGroupFrame(o.frames,t),r===!0&&s.type==="url"){c=e.querySelector("#layx-"+n+"-"+t+"-iframe");try{i=c.contentDocument.querySelector("title").innerText}catch(a){}}f=u.querySelector(".layx-label");f&&(f.innerHTML=i,u.setAttribute("title",f.innerHTML),s.title=i)}},setTitle:function(n,t,i){var s=this,h="layx-"+n,f=document.getElementById(h),e=s.windows[n],r,o,u;if(f&&e&&(r=f.querySelector(".layx-title"),r)){if(i===!0&&e.type==="url"){o=f.querySelector("#layx-"+n+"-iframe");try{t=o.contentDocument.querySelector("title").innerText}catch(c){}}u=r.querySelector(".layx-label");u&&(u.innerHTML=t,r.setAttribute("title",u.innerHTML),e.title=t)}},stickToggle:function(n){var f=this,o="layx-"+n,u=document.getElementById(o),t=f.windows[n],e,r;if(u&&t){if(f.updateZIndex(n),i.isFunction(t.event.onstick.before)&&(e=t.event.onstick.before(u,t),e===!1))return;t.isStick=!t.isStick;r=u.querySelector(".layx-stick-menu");r&&(r.setAttribute("data-enable",t.isStick?"1":"0"),t.isStick?r.setAttribute("title","鍙栨秷缃《"):r.setAttribute("title","缃《"));f.updateZIndex(n);i.isFunction(t.event.onstick.after)&&t.event.onstick.after(u,t)}},reloadFrame:function(n){var i=this,e="layx-"+n,r=document.getElementById(e),u=i.windows[n],t,f;r&&u&&u.type==="url"&&(t=r.querySelector("#layx-"+n+"-iframe"),t&&(f=t.getAttribute("src"),i.setUrl(n,f)))},restore:function(n){var e=this,c="layx-"+n,t=document.getElementById(c),r=e.windows[n],h,f,u,o,s;if(t&&r){if(r.restorable!==!0)return;if(e.updateZIndex(n),i.isFunction(r.event.onrestore.before)&&(h=r.event.onrestore.before(t,r),h===!1))return;f=r.area;r.status==="normal"?e.max(n):r.status==="max"&&(document.body.classList.contains("ilayx-body")&&document.body.classList.remove("ilayx-body"),t.style.top=f.top+"px",t.style.left=f.left+"px",t.style.width=f.width+"px",t.style.height=f.height+"px",t.classList.remove("layx-max-statu"),r.status="normal",u=t.querySelector(".layx-restore-menu[data-menu='max']"),u&&(u.classList.remove("layx-restore-menu"),u.classList.add("layx-max-menu"),u.setAttribute("title","鏈�澶у寲"),u.innerHTML='<svg class="layx-iconfont" aria-hidden="true"><use xlink:href="#layx-icon-max"><\/use><\/svg>'),o=t.querySelector(".layx-resizes"),o&&o.removeAttribute("data-enable"));r.status==="min"&&(r.minBefore==="normal"?(t.style.top=f.top+"px",t.style.left=f.left+"px",t.style.width=f.width+"px",t.style.height=f.height+"px",r.status="normal",u=t.querySelector(".layx-restore-menu[data-menu='min']"),u&&(u.classList.remove("layx-restore-menu"),u.classList.add("layx-min-menu"),u.setAttribute("title","鏈�灏忓寲"),u.innerHTML='<svg class="layx-iconfont" aria-hidden="true"><use xlink:href="#layx-icon-min"><\/use><\/svg>'),o=t.querySelector(".layx-resizes"),o&&o.removeAttribute("data-enable")):r.minBefore==="max"&&e.max(n),e.updateMinLayout());s=layxDeepClone({},{},r);delete e.windows[n];e.windows[n]=s;e.updateMinLayout();t.classList.contains("layx-min-statu")&&t.classList.remove("layx-min-statu");i.isFunction(s.event.onrestore.after)&&s.event.onrestore.after(t,s)}},min:function(n){var e=this,c="layx-"+n,r=document.getElementById(c),t=e.windows[n],s,l,u,o,f,h;if(r&&t&&t.isFloatTarget===!1){if(t.minable!==!0||t.status==="min")return;if(e.updateZIndex(n),i.isFunction(t.event.onmin.before)&&(s=t.event.onmin.before(r,t),s===!1))return;l=i.innerArea();t.minBefore=t.status;t.status="min";u=r.querySelector(".layx-min-menu");u&&(u.classList.remove("layx-max-menu"),u.classList.add("layx-restore-menu"),u.setAttribute("title","杩樺師"),u.innerHTML='<svg class="layx-iconfont" aria-hidden="true"><use xlink:href="#layx-icon-restore"><\/use><\/svg>');o=r.querySelector(".layx-resizes");o&&o.setAttribute("data-enable","0");f=r.querySelector(".layx-restore-menu[data-menu='max']");f&&(f.classList.remove("layx-restore-menu"),f.classList.add("layx-max-menu"),f.setAttribute("title","鏈�澶у寲"),f.innerHTML='<svg class="layx-iconfont" aria-hidden="true"><use xlink:href="#layx-icon-max"><\/use><\/svg>');r.classList.contains("layx-max-statu")&&r.classList.remove("layx-max-statu");h=layxDeepClone({},t);delete e.windows[n];e.windows[n]=h;e.updateMinLayout();document.body.classList.contains("ilayx-body")&&document.body.classList.remove("ilayx-body");i.isFunction(t.event.onmin.after)&&t.event.onmin.after(r,t)}},updateZIndex:function(n){var i=this,e="layx-"+n,f=document.getElementById(e),t=i.windows[n],u;f&&t&&(t.dialogType!=="load"&&t.dialogType!=="msg"&&(r.focusId=n),t.focusToReveal===!0&&(u=document.getElementById("layx-"+n+"-shade"),u&&(u.style.zIndex=t.isStick===!0?++i.stickZIndex:++i.zIndex),t.zIndex=t.isStick===!0?++i.stickZIndex+1:++i.zIndex+1,f.style.zIndex=t.zIndex))},updateMinLayout:function(){var a=this,s=a.windows,h=i.innerArea(),t=10,r=240,u=0,c=Math.floor(h.width/(r+t)),f,l,n,e,o;for(f in s)l=s[f],n=document.getElementById("layx-"+f),n&&l.status==="min"&&(e=n.querySelector(".layx-control-bar"),e&&(o=e.offsetHeight,n.classList.add("layx-min-statu"),n.style.width=r+"px",n.style.height=o+"px",n.style.top=h.height-(Math.floor(u/c)+1)*(o+10)+"px",n.style.left=u%c*(r+t)+t+"px",u++))},max:function(n){var e=this,l="layx-"+n,t=document.getElementById(l),r=e.windows[n],o=i.innerArea(),h,u,s,f,c;if(t&&r&&r.isFloatTarget===!1){if(r.maxable!==!0)return;if(r.status==="max")t.style.top=0,t.style.left=0,t.style.width=o.width+"px",t.style.height=o.height+"px";else{if(e.updateZIndex(n),i.isFunction(r.event.onmax.before)&&(h=r.event.onmax.before(t,r),h===!1))return;document.body.classList.add("ilayx-body");t.style.top=0;t.style.left=0;t.style.width=o.width+"px";t.style.height=o.height+"px";t.classList.add("layx-max-statu");r.status="max";u=t.querySelector(".layx-max-menu");u&&(u.classList.remove("layx-max-menu"),u.classList.add("layx-restore-menu"),u.setAttribute("title","杩樺師"),u.innerHTML='<svg class="layx-iconfont" aria-hidden="true"><use xlink:href="#layx-icon-restore"><\/use><\/svg>');s=t.querySelector(".layx-resizes");s&&s.setAttribute("data-enable","0");f=t.querySelector(".layx-restore-menu[data-menu='min']");f&&(f.classList.remove("layx-restore-menu"),f.classList.add("layx-min-menu"),f.setAttribute("title","鏈�灏忓寲"),f.innerHTML='<svg class="layx-iconfont" aria-hidden="true"><use xlink:href="#layx-icon-min"><\/use><\/svg>');c=layxDeepClone({},r);delete e.windows[n];e.windows[n]=c;e.updateMinLayout();t.classList.contains("layx-min-statu")&&t.classList.remove("layx-min-statu");i.isFunction(r.event.onmax.after)&&r.event.onmax.after(t,r)}}},visual:function(n,t,r,u){var o=this,s="layx-"+n,e=document.getElementById(s),c=document.getElementById(s+"-shade"),f=o.windows[n],h;if(e&&f){if(i.isFunction(f.event.onvisual.before)&&(h=f.event.onvisual.before(e,f,r||{},u===!0,t!==!1),h===!1))return;t!==!1?e.classList.remove("layx-hide-statu"):e.classList.add("layx-hide-statu");o.updateMinLayout();i.isFunction(f.event.onvisual.after)&&f.event.onvisual.after(e,f,t!==!1)}},destroyInlay:function(n){var t=this;t.destroy(n,null,!0)},destroy:function(n,t,u,f,e){var l=this,w="layx-"+n,a=document.getElementById(w),y=document.getElementById(w+"-shade"),o=l.windows[n],b,s,p,c,v,h,k;if(a&&o){if(o.escKey===!1&&f===!0)return;if(l.updateZIndex(n),i.isFunction(o.event.ondestroy.before)&&(b=o.event.ondestroy.before(a,o,t||{},u===!0,f===!0),e!==!0&&b===!1))return;if(o.closable!==!0)return;if(s=l.cloneStore[n],o.type==="html"&&s&&(v=a.querySelector("#layx-"+n+"-html"),v&&(h=v.children[0],h&&h.style&&(h.style.display=s.display),s.prev?setTimeout(function(){i.insertAfter(h,s.prev)},0):setTimeout(function(){s.parent&&s.parent.insertBefore(h,s.next)},0))),o.type==="group"&&s&&s&&s.frames)for(p in s.frames)c=s.frames[p],v=a.querySelector("#layx-"+n+"-"+p+"-html"),v&&(h=v.children[0],h&&h.style&&(h.style.display=c.display),c.prev?setTimeout(function(){i.insertAfter(h,c.prev)},0):setTimeout(function(){c.parent&&c.parent.insertBefore(h,c.next)},0));r.focusId=r.prevFocusId;delete l.cloneStore[n];delete l.windows[n];document.body.classList.contains("ilayx-body")&&document.body.classList.remove("ilayx-body");a.parentNode.removeChild(a);y&&y.parentNode.removeChild(y);l.updateMinLayout();i.isFunction(o.event.ondestroy.after)&&o.event.ondestroy.after();o.destroyTimer&&clearInterval(o.destroyTimer);o.loadTimer&&clearInterval(o.loadTimer);o.loadingTextTimer&&clearInterval(o.loadingTextTimer);for(k in o)delete o[k];o=undefined}},destroyAll:function(){var n=this;for(var t in r.windows)n.destroy(t)},flicker:function(n){var i=this,r,u="layx-"+n,t=document.getElementById(u),f=i.windows[n];t&&f&&(i.updateZIndex(n),t.classList.contains("layx-flicker")&&t.classList.remove("layx-flicker"),t.classList.add("layx-flicker"),r=setTimeout(function(){t.classList.remove("layx-flicker");clearTimeout(r)},960))},setPosition:function(n,t,r){var o=this,s="layx-"+n,e=document.getElementById(s),u=o.windows[n],f;e&&u&&(f=r===!0?t:i.compileLayxPosition(u.area.width,u.area.height,t),u.area.left=f.left,u.area.top=f.top,u.storeStatus===!0&&o.storeWindowAreaInfo(n,u.area),e.style.left=f.left+"px",e.style.top=f.top+"px")},setSize:function(n,t){var u=this,s="layx-"+n,f=document.getElementById(s),r=u.windows[n],e,o;f&&r&&t&&(t.width&&(e=i.compileLayxWidthOrHeight("width",t.width,u.defaults.width),r.area.width=e,f.style.width=e+"px"),t.height&&(o=i.compileLayxWidthOrHeight("height",t.height,u.defaults.height),r.area.height=o,f.style.height=o+"px"),r.storeStatus===!0&&u.storeWindowAreaInfo(n,r.area))},getFrameContext:function(n){var f=this,e="layx-"+n,i=document.getElementById(e),r=f.windows[n],u=null,t;if(i&&r&&r.type==="url"&&(t=i.querySelector(".layx-iframe"),t))try{u=t.contentWindow}catch(o){}return u},getParentContext:function(n){var i=this,t=i.getFrameContext(n);return t?t.parent:null},getGroupFrameContext:function(n,t){var u=this,s="layx-"+n,f=document.getElementById(s),i=u.windows[n],e=null,o,r;if(f&&i&&i.type==="group"&&(o=u.getGroupFrame(i.frames,t),o.type==="url"&&(r=f.querySelector("#layx-"+n+"-"+t+"-iframe"),r)))try{e=r.contentWindow}catch(h){}return e},createLayxButtons:function(n,t,r){var o=this,h=document.createElement("div"),e,f,u,s;for(h.classList.add("layx-buttons"),e=0;e<n.length;e++){if(f=document.createElement("button"),u=layxDeepClone({},o.defaultButtons,n[e]),f.classList.add("layx-button-item"),f.setAttribute("title",u.label),f.innerText=u.label,u.id&&f.setAttribute("id","layx-"+t+"-button-"+u.id),i.isArray(u.classes))for(s=0;s<u.classes.length;s++)f.classList.add(u.classes[s]);else u.classes&&f.classList.add(u.classes.toString());u.style&&f.setAttribute("style",u.style);f.callback=n[e].callback;f.onclick=function(n){if(n=n||window.event||arguments.callee.caller.arguments[0],i.isFunction(this.callback))if(r===!0){var u=o.getPromptTextArea(t);o.updateZIndex(t);this.callback(t,(u?u.value:"").replace(/(^\s*)|(\s*$)/g,""),u,this,n)}else o.updateZIndex(t),this.callback(t,this,n)};h.appendChild(f)}return h},setButtonStatus:function(n,t,i){var f=this,e="layx-"+n,u=document.getElementById(e),o=f.windows[n],r;u&&o&&(r=u.querySelector("#layx-"+n+"-button-"+t),r&&(i===!1?r.setAttribute("disabled","disabled"):r.removeAttribute("disabled")))},getStrSizeRange:function(n,t,i,r,u,f){var o=0,s=0,e=document.createElement("span");return e.innerHTML=n,e.classList.add("layx-calc-text"),e.style.visibility="hidden",e.style.display="inline-block",e.style.minWidth=t+"px",e.style.minHeight=i+"px",e.style.maxWidth=r+"px",e.style.maxHeight=u+"px",e.style.paddingLeft="10px",e.style.paddingRight="10px",e.style.paddingTop="10px",e.style.paddingBottom="10px",e.style.margin="0",e.style.border="none",e.style.lineHeight=1.5,document.body.appendChild(e),o=e.offsetWidth,s=e.offsetHeight+1,document.body.removeChild(e),{width:o+(f===!0?45:0),height:s}},getButton:function(n,t){var r=this,u="layx-"+n,i=document.getElementById(u),f=r.windows[n];return i&&f?i.querySelector("#layx-"+n+"-button"+(t?"-"+t:"")):null},tip:function(n,t,r,u){var f=this,e;i.isDom(t)&&(e=u&&u.id?u.id:"layx-dialog-tip-"+i.rndNum(8),t.addEventListener("mouseover",function(){var i=f.getStrSizeRange(n,20,20,320,90,u&&u.dialogIcon?!0:!1);f.create(layxDeepClone({},{id:e,type:"html",control:!1,content:f.createDialogContent("tip",n,u&&u.dialogIcon?u.dialogIcon:!1),width:i.width,height:i.height,minHeight:i.height,minWidth:i.width,stickMenu:!1,minMenu:!1,floatTarget:t,floatDirection:r||"bottom",maxMenu:!1,closeMenu:!1,alwaysOnTop:!0,resizable:!1,movable:!1,allowControlDbclick:!1,autodestroyText:!1,loadingText:!1,storeStatus:!1},u))},!1),t.addEventListener("mouseout",function(){f.destroy(e,null,!0)},!1))},msg:function(n,t){var r=this,u=r.getStrSizeRange(n,120,20,320,90,t&&t.dialogIcon?!0:!1),f=r.create(layxDeepClone({},{id:t&&t.id?t.id:"layx-dialog-msg-"+i.rndNum(8),type:"html",control:!1,content:r.createDialogContent("msg",n,t&&t.dialogIcon?t.dialogIcon:!1),autodestroy:5e3,width:u.width,height:u.height,minHeight:u.height,stickMenu:!1,minMenu:!1,maxMenu:!1,closeMenu:!1,alwaysOnTop:!0,resizable:!1,movable:!1,allowControlDbclick:!1,position:[10,"tc"],autodestroyText:!1,loadingText:!1,storeStatus:!1,dialogType:"msg"},t));return r.flicker(f.id),f},createDialogContent:function(n,t,i){var o=this,u=document.createElement("div"),e,r,f;if(u.classList.add("layx-dialog-"+n),u.classList.add("layx-flexbox"),i){e=document.createElement("div");e.classList.add("layx-dialog-icon");r=document.createElement("div");r.classList.add("layx-icon");r.classList.add("layx-dialog-icon-"+i);switch(i){case"success":r.innerHTML='<svg class="layx-iconfont" aria-hidden="true"><use xlink:href="#layx-icon-right"><\/use><\/svg>';break;case"warn":r.innerHTML='<svg class="layx-iconfont" aria-hidden="true"><use xlink:href="#layx-icon-warn"><\/use><\/svg>';break;case"error":r.innerHTML='<svg class="layx-iconfont" aria-hidden="true"><use xlink:href="#layx-icon-error"><\/use><\/svg>';break;case"help":r.innerHTML='<svg class="layx-iconfont" aria-hidden="true"><use xlink:href="#layx-icon-help"><\/use><\/svg>'}e.appendChild(r);u.appendChild(e)}return f=document.createElement("div"),f.classList.add("layx-dialog-content"),f.classList.add("layx-flexauto"),f.innerHTML=t,u.appendChild(f),u},alert:function(n,t,u,f){var e=this,o=e.getStrSizeRange(t,137,66,352,157,f&&f.dialogIcon?!0:!1);return e.create(layxDeepClone({},{id:f&&f.id?f.id:"layx-dialog-alert-"+i.rndNum(8),title:n||"鎻愮ず娑堟伅",icon:!1,type:"html",content:e.createDialogContent("alert",t,f&&f.dialogIcon?f.dialogIcon:!1),width:o.width+20,height:o.height+73,minHeight:o.height+73,stickMenu:!1,dialogType:"alert",minMenu:!1,minable:!1,maxMenu:!1,maxable:!1,alwaysOnTop:!0,resizable:!1,allowControlDbclick:!1,shadable:!0,statusBar:!0,buttons:[{label:"纭畾",callback:function(n,t,f){if(f=f||window.event||arguments.callee.caller.arguments[0],f.stopPropagation(),i.isFunction(u)){var e=u(n,t,f);e!==!1&&r.destroy(n)}else r.destroy(n)}}],position:"ct",loadingText:!1,storeStatus:!1},f))},confirm:function(n,t,u,f){var e=this,o=e.getStrSizeRange(t,180,137,352,180,f&&f.dialogIcon?!0:!1);return e.create(layxDeepClone({},{id:f&&f.id?f.id:"layx-dialog-confirm-"+i.rndNum(8),title:n||"璇㈤棶娑堟伅",icon:!1,type:"html",content:e.createDialogContent("confirm",t,f&&f.dialogIcon?f.dialogIcon:!1),width:o.width+20,height:o.height,minHeight:o.height,stickMenu:!1,dialogType:"confirm",minMenu:!1,minable:!1,maxMenu:!1,maxable:!1,alwaysOnTop:!0,resizable:!1,allowControlDbclick:!1,shadable:!0,buttons:[{label:"纭畾",callback:function(n,t,f){if(f=f||window.event||arguments.callee.caller.arguments[0],f.stopPropagation(),i.isFunction(u)){var e=u(n,t);e!==!1&&r.destroy(n)}}},{label:"鍙栨秷",callback:function(n,t,i){i=i||window.event;i.stopPropagation();r.destroy(n)}}],statusBar:!0,position:"ct",loadingText:!1,storeStatus:!1},f))},getPromptTextArea:function(n){var f=this,e="layx-"+n,r=document.getElementById(e),u=f.windows[n],t,i;return r&&u&&u.type==="html"&&(t=r.querySelector(".layx-dialog-prompt"),t&&(i=t.querySelector(".layx-textarea"),i))?i:null},prompt:function(n,t,u,f,e){var o=this,s=o.getStrSizeRange(t,200,184,352,200);return o.create(layxDeepClone({},{id:e&&e.id?e.id:"layx-dialog-prompt-"+i.rndNum(8),title:n||"璇疯緭鍏ヤ俊鎭�",icon:!1,type:"html",content:o.createDialogContent("prompt","<label>"+t+"<\/label><textarea class='layx-textarea'>"+(f?f.toString():"")+"<\/textarea>"),width:s.width+20,height:s.height,minHeight:s.height,stickMenu:!1,dialogType:"prompt",minMenu:!1,minable:!1,maxMenu:!1,maxable:!1,alwaysOnTop:!0,resizable:!1,allowControlDbclick:!1,shadable:!0,statusBar:!0,buttonKey:"ctrl+enter",buttons:[{label:"纭畾",callback:function(n,t,f,e,o){if(o=o||window.event||arguments.callee.caller.arguments[0],o.stopPropagation(),f&&t.length===0)f.focus();else if(i.isFunction(u)){var s=u(n,t,f,e,o);s!==!1&&r.destroy(n)}}},{label:"鍙栨秷",callback:function(n,t,i,u,f){f=f||window.event;f.stopPropagation();r.destroy(n)}}],position:"ct",loadingText:!1,storeStatus:!1},e))},createLoadAnimate:function(){var t=document.createElement("div"),n,r,u,f,i;return t.classList.add("layx-load-animate"),n=document.createElement("div"),n.classList.add("layx-load-inner"),r=document.createElement("div"),r.classList.add("layx-load-spiner"),n.appendChild(r),u=document.createElement("div"),u.classList.add("layx-load-filler"),n.appendChild(u),f=document.createElement("div"),f.classList.add("layx-load-masker"),n.appendChild(f),t.appendChild(n),i=n.cloneNode(!0),i.classList.remove("layx-load-inner"),i.classList.add("layx-load-inner2"),t.appendChild(i),t},load:function(n,t,r){var s=this,h=s.getStrSizeRange(t,120,53,320,90),u=document.createElement("div"),f,e;u.classList.add("layx-dialog-load");u.classList.add("layx-flexbox");u.classList.add("layx-flex-center");u.appendChild(s.createLoadAnimate());f=document.createElement("div");f.classList.add("layx-load-msg");f.innerHTML=t;u.appendChild(f);e=document.createElement("span");e.classList.add("layx-dot");f.appendChild(e);var o=0,l=setInterval(function(){var n,t;for(o===5&&(o=0),++o,n="",t=0;t<o;t++)n+=".";e.innerHTML=n},200),c=s.create(layxDeepClone({},{id:n?n:"layx-dialog-load-"+i.rndNum(8),type:"html",control:!1,shadable:!0,content:u,cloneElementContent:!1,width:h.width+70,height:h.height,minHeight:h.height,stickMenu:!1,minMenu:!1,maxMenu:!1,closeMenu:!1,escKey:!1,alwaysOnTop:!0,resizable:!1,movable:!1,allowControlDbclick:!1,position:"ct",loadingText:!1,storeStatus:!1,dialogType:"load"},r));return c.loadTimer=l,c}};String.prototype.toFirstUpperCase=function(){return this.replace(/^\S/,function(n){return n.toUpperCase()})};"classList"in document.documentElement||Object.defineProperty(HTMLElement.prototype,"classList",{get:function(){function t(t){return function(i){var r=n.className.split(/\s+/g),u=r.indexOf(i);t(r,u,i);n.className=r.join(" ")}}var n=this;return{add:t(function(n,t,i){~t||n.push(i)}),remove:t(function(n,t){~t&&n.splice(t,1)}),toggle:t(function(n,t,i){~t?n.splice(t,1):n.push(i)}),contains:function(t){return!!~n.className.split(/\s+/g).indexOf(t)},item:function(t){return n.className.split(/\s+/g)[t]||null}}}});var e={resolution:0,iframes:[],interval:null,Iframe:function(){this.element=arguments[0];this.cb=arguments[1];this.hasTracked=!1},track:function(n,t){if(this.iframes.push(new this.Iframe(n,t)),!this.interval){var i=this;this.interval=setInterval(function(){i.checkClick()},this.resolution)}},checkClick:function(){var i,n;if(document.activeElement){i=document.activeElement;for(n in this.iframes)i===this.iframes[n].element?this.iframes[n].hasTracked==!1&&(this.iframes[n].cb.apply(t,[]),this.iframes[n].hasTracked=!0):this.iframes[n].hasTracked=!1}}},i={isSupportTouch:"ontouchstart"in document?!0:!1,isSupportMouse:"onmouseup"in document?!0:!1,IsPC:function(){for(var r=navigator.userAgent,t=["Android","iPhone","SymbianOS","Windows Phone","iPad","iPod"],i=!0,n=0;n<t.length;n++)if(r.indexOf(t[n])>0){i=!1;break}return i},isBoolean:function(n){return typeof n=="boolean"},isString:function(n){return typeof n=="string"},isNumber:function(n){return typeof n=="number"},isArray:function(n){return Object.prototype.toString.call(n)=="[object Array]"},isFunction:function(n){return n&&Object.prototype.toString.call(n)==="[object Function]"},isDom:function(n){return!!(n&&typeof window!="undefined"&&(n===window||n.nodeType))},insertAfter:function(n,t){var i=t.parentNode;n&&(i.lastChild==t?i.appendChild(n):i.insertBefore(n,t.nextSibling))},innerArea:function(){return{width:t.innerWidth,height:t.innerHeight}},getCross:function(n,t,i){return(t.x-n.x)*(i.y-n.y)-(i.x-n.x)*(t.y-n.y)},IsPointInMatrix:function(n,t){var i=this,r=n.p1,u=n.p2,f=n.p3,e=n.p4;return i.getCross(r,u,t)*i.getCross(f,e,t)>=0&&i.getCross(u,f,t)*i.getCross(e,r,t)>=0},checkElementIsVisual:function(n,t,i){var f=this,o=f.innerArea(),e=f.getElementPos(n),s={x:e.x+n.offsetWidth,y:e.y+n.offsetHeight},r=f.getElementPos(t),u={x:r.x+t.offsetWidth,y:r.y+t.offsetHeight};if(i===!1){var h={p1:{x:e.x,y:s.y},p2:{x:e.x,y:e.y},p3:{x:s.x,y:e.y},p4:{x:s.x,y:s.y}},c={p1:{x:0,y:o.height},p2:{x:0,y:0},p3:{x:o.width,y:0},p4:{x:o.width,y:o.height}},l=f.IsPointInMatrix(h,{x:r.x,y:r.y}),a=f.IsPointInMatrix(h,{x:u.x,y:r.y}),v=f.IsPointInMatrix(h,{x:r.x,y:u.y}),y=f.IsPointInMatrix(h,{x:u.x,y:u.y}),p=f.IsPointInMatrix(c,{x:r.x,y:r.y}),w=f.IsPointInMatrix(c,{x:u.x,y:r.y}),b=f.IsPointInMatrix(c,{x:r.x,y:u.y}),k=f.IsPointInMatrix(c,{x:u.x,y:u.y});return(l||a||v||y)&&(p||w||b||k)}return r.x>=e.x&&u.x<=s.x&&r.y>=e.y&&u.y<=s.y&&r.x>=0&&u.x<=o.width&&r.y>=0&&u.y<=o.height},compilebubbleDirection:function(n,t,i,r){var s=this,f=s.getElementPos(t),e=s.innerArea(),o=11,u={top:0,left:0};n=["top","bottom","left","right"].indexOf(n)>-1?n:"bottom";switch(n){case"bottom":u.top=f.y+t.offsetHeight+o;u.left=f.x;f.x+i>=e.width&&(u.left=e.width-i);break;case"top":u.top=f.y-(r+o);u.left=f.x;f.x+i>=e.width&&(u.left=e.width-i);break;case"right":u.top=f.y;u.left=f.x+t.offsetWidth+o;f.y+r>=e.height&&(u.top=e.height-r);break;case"left":u.top=f.y;u.left=f.x-(i+o);f.y+r>=e.height&&(u.top=e.height-r)}return u},compileLayxPosition:function(n,t,i){var f=this,u=f.innerArea(),r={top:0,left:0};if(f.isArray(i)&&i.length===2)r.top=f.isNumber(i[0])?i[0]:f.compileLayxPosition(n,t,i[0]).top,r.left=f.isNumber(i[1])?i[1]:f.compileLayxPosition(n,t,i[1]).left;else{i=["ct","lt","rt","lb","rb","lc","tc","rc","bc"].indexOf(i.toString())>-1?i.toString():"ct";switch(i){case"ct":r.top=(u.height-t)/2;r.left=(u.width-n)/2;break;case"lt":r.top=0;r.left=0;break;case"rt":r.top=0;r.left=u.width-n;break;case"lb":r.top=u.height-t;r.left=0;break;case"rb":r.top=u.height-t;r.left=u.width-n;break;case"lc":r.left=0;r.top=(u.height-t)/2;break;case"tc":r.top=0;r.left=(u.width-n)/2;break;case"rc":r.left=u.width-n;r.top=(u.height-t)/2;break;case"bc":r.top=u.height-t;r.left=(u.width-n)/2}}return r},rndNum:function(n){for(var t="",i=0;i<n;i++)t+=Math.floor(Math.random()*10);return t},compileLayxWidthOrHeight:function(n,t,i){var f=this,r=f.innerArea(),u;if(/(^[1-9]\d*$)/.test(t))return Number(t);if(/^(100|[1-9]?\d(\.\d\d?)?)%$/.test(t)){if(u=Number(t.toString().replace("%","")),n==="width")return r.width*(u/100);if(n==="height")return r.height*(u/100)}if(/^[1-9]\d*v[hw]$/.test(t)){if(n==="width")return r.width*parseFloat(t)/100;if(n==="height")return r.height*parseFloat(t)/100}return i},getNodeByClassName:function(n,i,r){var u,f;return(r=r||t,u=this,n===r.document.body)?null:(f=n.classList,f.contains(i)?n:u.getNodeByClassName(n.parentNode,i))},getMousePosition:function(n){var t;if(n=n||window.event,n.touches){if(i.IsPC()&&(t=n.button||n.which,t==1&&n.shiftKey==!1)){var r=document.documentElement.scrollLeft||document.body.scrollLeft,u=document.documentElement.scrollTop||document.body.scrollTop,f=n.pageX||n.clientX+r,e=n.pageY||n.clientY+u;return{x:f,y:e}}return{x:n.touches[0].clientX,y:n.touches[0].clientY}}var r=document.documentElement.scrollLeft||document.body.scrollLeft,u=document.documentElement.scrollTop||document.body.scrollTop,f=n.pageX||n.clientX+r,e=n.pageY||n.clientY+u;return{x:f,y:e}},getElementPos:function(n){var u=navigator.userAgent.toLowerCase(),h=u.indexOf("opera")!=-1,c=u.indexOf("msie")!=-1&&!h,t,i,r,f,e,o,s;if(n.parentNode===null||n.style.display=="none")return!1;if(t=null,i=[],n.getBoundingClientRect)return r=n.getBoundingClientRect(),f=Math.max(document.documentElement.scrollTop,document.body.scrollTop),e=Math.max(document.documentElement.scrollLeft,document.body.scrollLeft),{x:r.left+e,y:r.top+f};if(document.getBoxObjectFor)r=document.getBoxObjectFor(n),o=n.style.borderLeftWidth?parseInt(n.style.borderLeftWidth):0,s=n.style.borderTopWidth?parseInt(n.style.borderTopWidth):0,i=[r.x-o,r.y-s];else{if(i=[n.offsetLeft,n.offsetTop],t=n.offsetParent,t!=n)while(t)i[0]+=t.offsetLeft,i[1]+=t.offsetTop,t=t.offsetParent;(u.indexOf("opera")!=-1||u.indexOf("safari")!=-1&&n.style.position=="absolute")&&(i[0]-=document.body.offsetLeft,i[1]-=document.body.offsetTop)}for(t=n.parentNode?n.parentNode:null;t&&t.tagName!="BODY"&&t.tagName!="HTML";)i[0]-=t.scrollLeft,i[1]-=t.scrollTop,t=t.parentNode?t.parentNode:null;return{x:i[0],y:i[1]}}},u=function(n,f,e,o,s){u.isResizing=!1;u.isFirstResizing=!0;var h=function(t){var y,w;t=t||window.event;var p=i.getMousePosition(t),a=p.x-n.mouseStartCoord.x,v=p.y-n.mouseStartCoord.y;if(i.isSupportTouch){if(t.cancelable&&(t.defaultPrevented||t.preventDefault()),((a!==0||v!==0)&&new Date-n.touchDate>100)==!1)return;if(i.IsPC()){if(y=t.button||t.which,(y==1&&t.shiftKey==!1)==!1)return;if(t.defaultPrevented||t.preventDefault(),(a!==0||v!==0)==!1)return}}else{if(y=t.button||t.which,(y==1&&t.shiftKey==!1)==!1)return;if(t.defaultPrevented||t.preventDefault(),(a!==0||v!==0)==!1)return}var r=n.winform.area.top+v,h=n.winform.area.left+a,c=f?n.winform.area.height-v:n.winform.area.height+v,l=e?n.winform.area.width-a:n.winform.area.width+a;if(u.isResizing=!0,u.isFirstResizing===!0&&(u.isFirstResizing=!1,i.isFunction(n.winform.event.onresize.before)&&(w=n.winform.event.onresize.before(n.layxWindow,n.winform),w===!1))){u.isResizing=!1;u.isFirstResizing=!0;i.isSupportTouch?(document.ontouchend=null,document.ontouchmove=null,i.IsPC()&&(document.onmouseup=null,document.onmousemove=null)):(document.onmouseup=null,document.onmousemove=null);return}l=Math.max(l,n.winform.area.minWidth);e?(h=Math.min(h,n.winform.area.left+n.winform.area.width-n.winform.area.minWidth),h=Math.max(0,h),l=Math.min(l,n.winform.area.left+n.winform.area.width)):(h=Math.min(h,n.winform.area.left),h=Math.max(n.winform.area.left,h),l=Math.min(l,n.innerArea.width-n.winform.area.left));c=Math.max(c,n.winform.area.minHeight);f?(r=Math.min(r,n.winform.area.top+n.winform.area.height-n.winform.area.minHeight),r=Math.max(0,r),c=Math.min(c,n.winform.area.top+n.winform.area.height)):(r=Math.min(r,n.winform.area.top),r=Math.max(n.winform.area.top,r),c=Math.min(c,n.innerArea.height-n.winform.area.top));s&&(n.layxWindow.style.width=l+"px",n.layxWindow.style.left=h+"px");o&&(n.layxWindow.style.top=r+"px",n.layxWindow.style.height=c+"px");s===!1&&o===!1&&(n.layxWindow.style.width=l+"px",n.layxWindow.style.left=h+"px",n.layxWindow.style.top=r+"px",n.layxWindow.style.height=c+"px");i.isFunction(n.winform.event.onresize.progress)&&n.winform.event.onresize.progress(n.layxWindow,n.winform)},c=function(t){var h,s,f,e,o;if(t=t||window.event,i.isSupportTouch){if(document.ontouchend=null,document.ontouchmove=null,i.IsPC()){if(h=t.button||t.which,h==1&&t.shiftKey==!1)for(s=n.layxWindow.querySelectorAll(".layx-resizes > div"),f=0;f<s.length;f++)s[f].classList.add("layx-reisize-touch");document.onmouseup=null;document.onmousemove=null}}else document.onmouseup=null,document.onmousemove=null;e=n.layxWindow.querySelector(".layx-mouse-preventDefault");e&&e.parentNode.removeChild(e);o=document.getElementById("layx-window-move");o&&o.parentNode.removeChild(o);u.isResizing===!0&&(u.isResizing=!1,u.isFirstResizing=!0,n.winform.area.top=n.layxWindow.offsetTop,n.winform.area.left=n.layxWindow.offsetLeft,n.winform.area.width=n.layxWindow.offsetWidth,n.winform.area.height=n.layxWindow.offsetHeight,n.winform.storeStatus===!0&&r.storeWindowAreaInfo(n.winform.id,{top:n.winform.area.top,left:n.winform.area.left,width:n.winform.area.width,height:n.winform.area.height}),i.isFunction(n.winform.event.onresize.after)&&n.winform.event.onresize.after(n.layxWindow,n.winform))},l=function(u){var f,l,e,o,p,s,v,w,y,a;if(u=u||window.event,f=i.getNodeByClassName(n,"layx-window",t),f&&(l=f.getAttribute("id").substr(5),e=r.windows[l],e))if(e.status!=="min"&&e.resizable===!0)if(o=document.getElementById("layx-window-move"),o||(o=document.createElement("div"),o.setAttribute("id","layx-window-move"),document.body.appendChild(o)),r.updateZIndex(l),o.style.zIndex=e.zIndex-1,p=i.getMousePosition(u),n.mouseStartCoord=p,n.layxWindow=f,n.winform=e,n.innerArea=i.innerArea(),n.touchDate=new Date,s=f.querySelector(".layx-mouse-preventDefault"),s||(s=document.createElement("div"),s.classList.add("layx-mouse-preventDefault"),v=f.querySelector(".layx-main"),v&&v.appendChild(s)),i.isSupportTouch){if(document.ontouchend=c,document.ontouchmove=h,i.IsPC()){if(w=u.button||u.which,w==1&&u.shiftKey==!1)for(y=f.querySelectorAll(".layx-resizes > div"),a=0;a<y.length;a++)y[a].classList.remove("layx-reisize-touch");document.onmouseup=c;document.onmousemove=h}}else document.onmouseup=c,document.onmousemove=h;else r.restore(l);return!1};i.isSupportTouch?(n.ontouchstart=l,i.IsPC()&&(n.onmousedown=l)):n.onmousedown=l},f=function(n){f.isMoveing=!1;f.isFirstMoveing=!0;var u=function(t){var c,l,u,o;t=t||window.event;var e=i.getMousePosition(t),s=e.x-n.mouseStartCoord.x,h=e.y-n.mouseStartCoord.y;if(i.isSupportTouch){if(t.cancelable&&(t.defaultPrevented||t.preventDefault()),((s!==0||h!==0)&&new Date-n.touchDate>100)==!1)return;if(i.IsPC()){if(c=t.button||t.which,(c==1&&t.shiftKey==!1)==!1)return;if(t.defaultPrevented||t.preventDefault(),(s!==0||h!==0)==!1)return}}else{if(c=t.button||t.which,(c==1&&t.shiftKey==!1)==!1)return;if(t.defaultPrevented||t.preventDefault(),(s!==0||h!==0)==!1)return}if(f.isMoveing=!0,f.isFirstMoveing===!0&&(f.isFirstMoveing=!1,i.isFunction(n.winform.event.onmove.before)&&(l=n.winform.event.onmove.before(n.layxWindow,n.winform),l===!1))){f.isMoveing=!1;f.isFirstMoveing=!0;i.isSupportTouch?(document.ontouchend=null,document.ontouchmove=null):(document.onmouseup=null,document.onmousemove=null);return}u=n.winform.area.left+s;o=n.winform.area.top+h;n.winform.status==="max"&&n.winform.resizable===!0&&(e.x<n.winform.area.width/2?u=0:e.x>n.winform.area.width/2&&e.x<n.innerArea.width-n.winform.area.width?u=e.x-n.winform.area.width/2:n.innerArea.width-e.x<n.winform.area.width/2?u=n.innerArea.width-n.winform.area.width:n.innerArea.width-e.x>n.winform.area.width/2&&e.x>=n.innerArea.width-n.winform.area.width&&(u=e.x-n.winform.area.width/2),o=0,n.winform.area.top=0,n.winform.area.left=u,r.restore(n.winform.id));n.winform.moveLimit.horizontal===!0&&(u=n.winform.area.left);n.winform.moveLimit.vertical===!0&&(o=n.winform.area.top);n.winform.moveLimit.leftOut===!1&&(u=Math.max(u,0));n.winform.moveLimit.rightOut===!1&&(u=Math.min(u,n.innerArea.width-n.winform.area.width));n.winform.moveLimit.bottomOut===!1&&(o=Math.min(o,n.innerArea.height-n.winform.area.height));o=Math.max(o,0);o=Math.min(n.innerArea.height-15,o);u=Math.max(u,-(n.winform.area.width-15));u=Math.min(u,n.innerArea.width-15);n.layxWindow.style.left=u+"px";n.layxWindow.style.top=o+"px";i.isFunction(n.winform.event.onmove.progress)&&n.winform.event.onmove.progress(n.layxWindow,n.winform)},e=function(t){var h,s,u,e,o;if(t=t||window.event,i.isSupportTouch){if(document.ontouchend=null,document.ontouchmove=null,i.IsPC()){if(h=t.button||t.which,h==1&&t.shiftKey==!1)for(s=n.layxWindow.querySelectorAll(".layx-resizes > div"),u=0;u<s.length;u++)s[u].classList.add("layx-reisize-touch");document.onmouseup=null;document.onmousemove=null}}else document.onmouseup=null,document.onmousemove=null;e=n.layxWindow.querySelector(".layx-mouse-preventDefault");e&&e.parentNode.removeChild(e);o=document.getElementById("layx-window-move");o&&o.parentNode.removeChild(o);f.isMoveing===!0&&(f.isMoveing=!1,f.isFirstMoveing=!0,n.winform.area.top=n.layxWindow.offsetTop,n.winform.area.left=n.layxWindow.offsetLeft,n.winform.storeStatus===!0&&r.storeWindowAreaInfo(n.winform.id,{top:n.winform.area.top,left:n.winform.area.left,width:n.winform.area.width,height:n.winform.area.height}),n.winform.area.top===0&&n.winform.status==="normal"&&n.winform.maxable===!0&&n.winform.resizable===!0&&n.winform.dragInTopToMax===!0&&(n.winform.area.top=n.defaultArea.top,n.winform.area.left=n.defaultArea.left,n.winform.storeStatus===!0&&r.storeWindowAreaInfo(n.winform.id,{top:n.winform.area.top,left:n.winform.area.left,width:n.winform.area.width,height:n.winform.area.height}),r.max(n.winform.id)),i.isFunction(n.winform.event.onmove.after)&&n.winform.event.onmove.after(n.layxWindow,n.winform))},o=function(f){var o,l,s,h,p,c,v,w,y,a;if(f=f||window.event,o=i.getNodeByClassName(n,"layx-window",t),o&&(l=o.getAttribute("id").substr(5),s=r.windows[l],s))if(s.status!=="min"&&s.movable===!0)if(h=document.getElementById("layx-window-move"),h||(h=document.createElement("div"),h.setAttribute("id","layx-window-move"),document.body.appendChild(h)),r.updateZIndex(l),h.style.zIndex=s.zIndex-1,p=i.getMousePosition(f),n.mouseStartCoord=p,n.layxWindow=o,n.winform=s,n.innerArea=i.innerArea(),n.defaultArea=layxDeepClone({},s.area),n.touchDate=new Date,c=o.querySelector(".layx-mouse-preventDefault"),c||(c=document.createElement("div"),c.classList.add("layx-mouse-preventDefault"),v=o.querySelector(".layx-main"),v&&v.appendChild(c)),i.isSupportTouch){if(document.ontouchend=e,document.ontouchmove=u,i.IsPC()){if(w=f.button||f.which,w==1&&f.shiftKey==!1)for(y=o.querySelectorAll(".layx-resizes > div"),a=0;a<y.length;a++)y[a].classList.remove("layx-reisize-touch");document.onmouseup=e;document.onmousemove=u}}else document.onmouseup=e,document.onmousemove=u;else r.restore(l);return!1};i.isSupportTouch?(n.ontouchstart=o,i.IsPC()&&(n.onmousedown=o)):n.onmousedown=o};t.layx={v:function(){return r.version}(),open:function(n){return r.create(n)},html:function(n,t,i,u){return r.create(layxDeepClone({},{id:n,title:t,type:"html",content:i},u||{}))},iframe:function(n,t,i,u){return r.create(layxDeepClone({},{id:n,title:t,type:"url",url:i,useFrameTitle:t===!0?!0:!1},u||{}))},group:function(n,t,i,u){return r.create(layxDeepClone({},{id:n,type:"group",frames:t,frameIndex:typeof i=="number"?i>t.length?0:i:0},u||{}))},windows:function(){return r.windows},getWindow:function(n){return r.windows[n]},destroy:function(n,t,i){r.destroy(n,t,!1,!1,i)},visual:function(n,t,i){r.visual(n,t,i)},min:function(n){r.min(n)},max:function(n){r.max(n)},setTitle:function(n,t,i){r.setTitle(n,t,i)},flicker:function(n){r.flicker(n)},restore:function(n){r.restore(n)},updateZIndex:function(n){r.updateZIndex(n)},updateMinLayout:function(){r.updateMinLayout()},stickToggle:function(n){r.stickToggle(n)},setPosition:function(n,t){r.setPosition(n,t)},getFrameContext:function(n){return r.getFrameContext(n)},getParentContext:function(n){return r.getParentContext(n)},setContent:function(n,t,i){r.setContent(n,t,i)},setUrl:function(n,t){r.setUrl(n,t)},setGroupContent:function(n,t,i,u){r.setGroupContent(n,t,i,u)},setGroupTitle:function(n,t,i,u){r.setGroupTitle(n,t,i,u)},setGroupUrl:function(n,t,i){r.setGroupUrl(n,t,i)},setGroupIndex:function(n,t){r.setGroupIndex(n,t)},getGroupFrameContext:function(n,t){return r.getGroupFrameContext(n,t)},destroyAll:function(){r.destroyAll()},tip:function(n,t,i,u){r.tip(n,t,i,u)},msg:function(n,t){return r.msg(n,t)},alert:function(n,t,i,u){return r.alert(n,t,i,u)},confirm:function(n,t,i,u){return r.confirm(n,t,i,u)},getPromptTextArea:function(n){return r.getPromptTextArea(n)},prompt:function(n,t,i,u,f){return r.prompt(n,t,i,u,f)},load:function(n,t,i){return r.load(n,t,i)},multiLine:function(n){return n.toString().replace(/^[^\/]+\/\*!?\s?/,"").replace(/\*\/[^\/]+$/,"")},reloadFrame:function(n){r.reloadFrame(n)},reloadGroupFrame:function(n,t){r.reloadGroupFrame(n,t)},setButtonStatus:function(n,t,i){r.setButtonStatus(n,t,i)},updateFloatWinPosition:function(n,t){r.updateFloatWinPosition(n,t)},getElementPos:function(n){return i.getElementPos(n)},destroyInlay:function(n){r.destroyInlay(n)},checkVisual:function(n,t,r){return i.checkElementIsVisual(n,t,r)},getButton:function(n,t){return r.getButton(n,t)},setSize:function(n,t){r.setSize(n,t)}};t.document.addEventListener("keydown",function(n){var i=n||window.event||arguments.callee.caller.arguments[0],t=r.windows[r.focusId],u;i&&i.keyCode==27&&t&&r.destroy(r.focusId,{},!1,!0);i&&i.keyCode===13&&t&&t.buttons.length>0&&(t.buttonKey.toLowerCase()!=="enter"||i.ctrlKey?t.buttonKey.toLowerCase()==="ctrl+enter"&&i.ctrlKey&&(t.dialogType!=="prompt"?t.buttons[0].callback(t.id,r.getButton(t.id,t.buttons[0].id,i)):(u=r.getPromptTextArea(t.id),t.buttons[0].callback(t.id,(u?u.value:"").replace(/(^\s*)|(\s*$)/g,""),u,r.getButton(t.id,t.buttons[0].id,i)))):t.dialogType!=="prompt"?t.buttons[0].callback(t.id,r.getButton(t.id,t.buttons[0].id,i)):(u=r.getPromptTextArea(t.id),t.buttons[0].callback(t.id,(u?u.value:"").replace(/(^\s*)|(\s*$)/g,""),u,r.getButton(t.id,t.buttons[0].id,i))))},!1)}(top,window,self);!function(n){var i,r,t;t=function(n){return Object.prototype.toString.call(n)==="[object Object]"};r=function u(n,i){for(var r in n)if(n.hasOwnProperty(r))if(t(n[r])&&t(i[r])&&u(n[r],i[r]),i.hasOwnProperty(r))continue;else i[r]=n[r]};i=function(){var n=arguments,u={},i;if(!n.length)return{};for(i=n.length-1;i>=0;i--)t(n[i])&&r(n[i],u);return n[0]=u,u};n.layxDeepClone=i}(window);!function(n){function o(){var i,n;i=document.createElement("div");i.innerHTML=t;t=null;n=i.getElementsByTagName("svg")[0];n&&(n.setAttribute("aria-hidden","true"),n.style.position="absolute",n.style.width=0,n.style.height=0,n.style.overflow="hidden",e(n,document.body))}var t='<svg><symbol id="layx-icon-warn" viewBox="0 0 1044 1024"><path d="M589.8368 120.10666667q2.88 4.8 19.68 33.12t42.24 71.52 57.12 97.92 65.28 111.84 66.72 113.28 60.48 103.2 47.04 80.64 27.36 46.08q14.4 24 17.76 48t-2.88 43.2-22.08 31.2-38.88 11.04q-11.52 0-48.96-0.48t-90.24-0.48l-120 0-135.36 0q-69.12 0-137.28 0.48t-126.72 0.48l-102.72 0-65.28 0q-36.48 0-56.16-12.48t-26.4-32.16-1.44-42.72 18.72-43.2q6.72-10.56 26.4-43.2t47.52-79.2 61.44-102.72 68.16-114.24 67.2-112.8 58.56-98.88 43.2-72.96l20.16-33.6q13.44-21.12 35.04-32.16t44.64-11.04 44.64 10.08 35.04 30.24zM565.8368 308.26666667q0-11.52-5.28-21.6t-13.92-18.24-19.68-12.96-22.56-4.8q-22.08 0-40.8 17.28t-18.72 39.36l0 251.52q0 22.08 18.72 39.84t40.8 17.76q23.04 0 42.24-16.8t19.2-38.88l0-252.48zM504.3968 673.06666667q-24.96 0-42.72 17.28t-17.76 42.24 17.76 42.72 42.72 17.76 42.24-17.76 17.28-42.72-17.28-42.24-42.24-17.28z"  ><\/path><\/symbol><symbol id="layx-icon-help" viewBox="0 0 1024 1024"><path d="M512.697383 63.444984c-247.538793 0-448.208115 200.649879-448.208115 448.208115 0 247.520373 200.66932199 448.208115 448.208115 448.20811499s448.208115-200.68774199 448.20811499-448.20811499C960.90549801 264.094864 760.236176 63.444984 512.697383 63.444984zM510.98846199 735.138056c-25.550932 0-46.25958-21.30114199-46.25958-47.563272s20.708648-47.563272 46.25958-47.563272c25.56116599 0 46.269813 21.30114199 46.26981301 47.563272S536.548604 735.138056 510.98846199 735.138056zM640.211569 436.222129c-6.383384 12.29195401-13.970176 22.86986999-22.75116701 31.769564-8.78098999 8.936533-24.55730201 23.927969-47.29925899 45.046962-6.291287 5.945409-11.334139 11.161201-15.11934899 15.684214-3.792373 4.48719799-6.619768 8.608052-8.46274201 12.365632-1.868557 3.71971799-3.291976 7.47729799-4.303003 11.197016-1.013073 3.756557-2.543939 10.32208999-4.57929499 19.73343699-3.518127 19.95037801-14.524808 29.910217-33.02720802 29.91021701-9.611915 0-17.70831401-3.24797401-24.26565998-9.775644-6.573719-6.529717-9.848299-16.194844-9.84829901-29.071106 0-16.086373 2.39862999-30.05552601 7.204076-41.83685101 4.814656-11.818163 11.18882999-22.177092 19.150152-31.07678599 7.960299-8.89969399 18.684548-19.514449 32.17991-31.806403 11.835559-10.724249 20.39858601-18.821671 25.660426-24.293289 5.287423-5.470595 9.72038601-11.562337 13.32344701-18.273179 3.610224-6.711865 5.415336-14.007015 5.415336-21.84861101 0-15.355733-5.508457-28.305673-16.50388201-38.84572699-11.016915-10.541077-25.205055-15.830547-42.594097-15.830547-20.354584 0-35.33578599 5.325285-44.94770099 15.975856-9.62010199 10.650571-17.754363 26.29794599-24.42017901 47.05264199-6.291287 21.66646199-18.219967 32.49918199-35.791158 32.49918201-10.349719 0-19.10308-3.793396-26.217105-11.380188-7.121188-7.586792-10.6782-15.793708-10.6782-24.583908 0-18.237363 5.635347-36.694737 16.915251-55.405891 11.279904-18.67533799 27.757181-34.17638 49.396014-46.43251901 21.63064599-12.292977 46.888913-18.420535 75.742055-18.42053499 26.825972 0 50.489928 5.143137 71.025637 15.392572 20.534685 10.249435 36.39286199 24.219611 47.580668 41.83685099 11.189853 17.654079 16.788361 36.839023 16.78836099 57.557904C649.785621 409.668357 646.593929 423.96701401 640.211569 436.222129z"  ><\/path><\/symbol><symbol id="layx-icon-right" viewBox="0 0 1024 1024"><path d="M511.59752247 82.09957256c-237.19528125 0-429.47861308 192.28333184-429.4786131 429.47771397 0 237.19528125 192.28333184 429.47771396 429.47861309 429.47771396 237.19438213 0 429.47681484-192.28153271 429.47681485-429.47771396C941.07343818 274.38380352 748.79100547 82.09957256 511.59752247 82.09957256zM416.15603193 750.07218711L225.32791396 559.24676651l47.61641602-47.61641602L416.15603193 654.84205332l334.09018653-334.09198564 47.6155169 47.61461689L416.15603193 750.07218711z"  ><\/path><\/symbol><symbol id="layx-icon-restore" viewBox="0 0 1157 1024"><path d="M1016.52185234 724.44050175L833.87364805 724.44050175 833.87364805 898.52098643 833.87364805 960.05279112 833.87364805 961.2211168 772.34184336 961.2211168 772.34184336 960.05279112 124.31068789 960.05279112 124.31068789 961.2211168 62.7788832 961.2211168 62.7788832 960.05279112 62.7788832 898.52098643 62.7788832 360.31241885 62.7788832 298.78061416 124.31068789 298.78061416 298.78061416 298.78061416 298.78061416 62.7788832 303.06447442 62.7788832 360.31241885 62.7788832 1016.52185234 62.7788832 1074.15923838 62.7788832 1078.05365615 62.7788832 1078.05365615 662.90869795 1078.05365615 724.44050175 1016.52185234 724.44050175ZM124.31068789 898.52098643L772.34184336 898.52098643 772.34184336 724.44050175 772.34184336 662.90869795 772.34184336 360.31241885 124.31068789 360.31241885 124.31068789 898.52098643ZM1016.52185234 124.31068789L360.31241885 124.31068789 360.31241885 298.78061416 772.34184336 298.78061416 833.87364805 298.78061416 833.87364805 360.31241885 833.87364805 662.90869795 1016.52185234 662.90869795 1016.52185234 124.31068789Z"  ><\/path><\/symbol><symbol id="layx-icon-reload" viewBox="0 0 1024 1024"><path d="M919.8125 399.5L751.0625 399.5c-23.203125 0-42.1875-18.984375-42.1875-42.1875 0-23.203125 18.984375-42.1875 42.1875-42.1875l68.90625 0C755.28125 213.875 641.375 146.375 512 146.375c-201.796875 0-365.625 163.828125-365.625 365.625 0 201.796875 163.828125 365.625 365.625 365.625 196.875 0 357.890625-156.09375 364.921875-351.5625l0.703125 0c0-23.203125 18.984375-42.1875 42.1875-42.1875 23.203125 0 42.1875 18.984375 42.1875 42.1875 0 2.8125 0 5.625-0.703125 7.734375C950.046875 772.15625 753.171875 962 512 962 263.796875 962 62 760.203125 62 512 62 263.796875 263.796875 62 512 62c150.46875 0 284.0625 73.828125 365.625 187.734375L877.625 188.5625c0-23.203125 18.984375-42.1875 42.1875-42.1875 23.203125 0 42.1875 18.984375 42.1875 42.1875l0 168.75C962 380.515625 943.015625 399.5 919.8125 399.5z"  ><\/path><\/symbol><symbol id="layx-icon-default-icon" viewBox="0 0 1024 1024"><path d="M891.88743395 61.93952995L132.11256605 61.93952995c-38.92547129 0-70.60411733 31.65534435-70.60411734 70.5924665L61.50844871 891.46800355c0 38.91382045 31.67864605 70.59246649 70.60411734 70.5924665l759.7748679 0c38.92547129 0 70.60411733-31.67864605 70.60411734-70.5924665L962.49155129 132.53199645C962.49155129 93.59487431 930.81290525 61.93952995 891.88743395 61.93952995zM844.02576498 142.29540409c16.71896178 0 30.25724302 13.54993209 30.25724302 30.26889386 0 16.70731093-13.53828125 30.25724302-30.25724302 30.25724303s-30.25724302-13.54993209-30.25724303-30.25724303C813.76852195 155.84533618 827.3068032 142.29540409 844.02576498 142.29540409zM735.60300658 142.29540409c16.71896178 0 30.25724302 13.54993209 30.25724302 30.26889386 0 16.70731093-13.53828125 30.25724302-30.25724302 30.25724303s-30.25724302-13.54993209-30.25724303-30.25724303C705.34576355 155.84533618 718.8840448 142.29540409 735.60300658 142.29540409zM881.80945351 881.37837227L142.19054649 881.37837227 142.19054649 277.92288427l739.60725618 0L881.79780267 881.37837227zM758.85809209 638.26020125l-0.01165084-180.19196018 90.09598008 90.09598008L758.85809209 638.26020125zM265.15355875 638.26020125l-90.09598008-90.0959801 90.08432924-90.08432924L265.15355875 638.26020125z"  ><\/path><\/symbol><symbol id="layx-icon-min" viewBox="0 0 1024 1024"><path d="M65.23884 456.152041 958.760137 456.152041l0 111.695918L65.23884 567.847959 65.23884 456.152041z"  ><\/path><\/symbol><symbol id="layx-icon-max" viewBox="0 0 1024 1024"><path d="M75.74912227 948.24738475L75.74912227 75.75145131l872.50059037 0 0 872.49593344L75.74912227 948.24738475zM839.18786674 184.81446115L184.81213326 184.81446115l0 654.37573462 654.37573461 0L839.18786674 184.81446115z"  ><\/path><\/symbol><symbol id="layx-icon-debug" viewBox="0 0 1024 1024"><path d="M990.18635001 578.93861562c0 10.3648125-3.782715 19.33089375-11.35486126 26.90304001-7.57310531 7.57310531-16.5372675 11.3606175-26.89728375 11.3606175L818.04354219 617.20227312c0 68.14739625-13.34551219 125.92518281-40.04900719 173.34295313l124.32690656 124.934175c7.57214625 7.56159281 11.3606175 16.53247125 11.3606175 26.89728375 0 10.36001625-3.782715 19.32609657-11.3606175 26.89824281-7.17497531 7.56159281-16.13434125 11.350065-26.89728375 11.350065-10.75814625 0-19.72518656-3.78847125-26.89728375-11.350065L730.17287844 851.51860625c-1.99161001 1.98585375-4.97710594 4.578975-8.96128407 7.765935-3.9928125 3.186-12.3564225 8.872065-25.11097499 17.03612906-12.74879625 8.17078031-25.70193375 15.44360906-38.84982 21.82136531-13.1526825 6.37295906-29.49616125 12.15591844-49.02180283 17.33736563-19.52564156 5.17281281-38.85653531 7.76785313-57.97733155 7.76785312L550.251665 387.6750125l-76.51100531 0 0 535.57224188c-20.31422719 0-40.54690875-2.69481281-60.66351-8.07676407-20.13099094-5.376195-37.46260031-11.95253625-52.00921781-19.72422656-14.54853562-7.77169125-27.69546281-15.53666625-39.44749501-23.31315376-11.75778844-7.77265031-20.419755-14.24346281-26.0060475-19.4201128l-8.96128406-8.3741625L177.26614999 968.07478156c-7.96931719 8.36360906-17.53115344 12.55021125-28.69318593 12.55021125-9.56375531 0-18.12691031-3.19175625-25.69617844-9.56471531-7.57406437-7.17401625-11.659935-16.040325-12.26336531-26.59892625-0.59383781-10.55956031 2.49334969-19.82208094 9.27499125-27.79427531l120.73797938-135.68176782c-23.10977156-45.43575469-34.66897406-100.03041937-34.66897407-163.79071031L72.06771406 617.19459781c-10.36673156 0-19.32801562-3.78847125-26.89728375-11.35486124-7.57406437-7.5769425-11.36253657-16.5382275-11.36253656-26.90304 0-10.36001625 3.78847125-19.33089375 11.36253656-26.89632469 7.56926812-7.56830906 16.53055219-11.35102406 26.89728375-11.35102407l133.88874375 0L205.95645781 364.95953375l-103.40828906-103.40828906c-7.57022719-7.57310531-11.35678031-16.5382275-11.35678031-26.89824281 0-10.35905625 3.79134938-19.33089375 11.35678031-26.89728376 7.56734906-7.57214625 16.53630844-11.36541469 26.89824281-11.36541469 10.36577156 0 19.32417844 3.79902469 26.89920188 11.3654147l103.40828906 103.40828906 504.49507219 0 103.40924812-103.40828907c7.56639001-7.57214625 16.53055219-11.36541469 26.89728375-11.36541469 10.36001625 0 19.32897469 3.79902469 26.89632469 11.36541469 7.57310531 7.56639001 11.36157655 16.5382275 11.36157656 26.89728375 0 10.36001625-3.78847125 19.32609657-11.36157656 26.89824282l-103.40828906 103.40828906 0 175.73269312 133.88970281 0c10.3648125 0 19.32993469 3.782715 26.89728375 11.35678032 7.57214625 7.56543094 11.3606175 16.53630844 11.3606175 26.89056843l0 0L990.18635001 578.93861562 990.18635001 578.93861562zM703.26983938 234.64820469L320.72056719 234.64820469c0-52.99351031 18.62960906-98.12611031 55.89074625-135.38820656 37.25058375-37.26209625 82.3899-55.88594906 135.38532843-55.88594907 52.99638844 0 98.13570375 18.62385281 135.38724751 55.88594907C684.64694563 136.52113438 703.26983938 181.65469437 703.26983938 234.64820469L703.26983938 234.64820469 703.26983938 234.64820469 703.26983938 234.64820469z"  ><\/path><\/symbol><symbol id="layx-icon-destroy" viewBox="0 0 1024 1024"><path d="M933.89254819 139.71606348L884.23129279 90.08990363 511.96490363 462.39138834 140.40044113 90.82692583 90.84447403 140.34779656 462.40893653 511.91225907 90.10745181 884.2137446 139.73361166 933.875 512.03509637 561.53841892 883.59955887 933.10288141 933.15552597 883.58201068 561.59106347 512.01754819Z"  ><\/path><\/symbol><symbol id="layx-icon-error" viewBox="0 0 1024 1024"><path d="M482 50.66666667C235.99999999 50.66666667 32 254.66666667 32 500.66666667s204.00000001 450 450 450 450-204.00000001 450-450S728 50.66666667 482 50.66666667z m192 576c18 18 18 42 0 60-18 18-42 18-60 0L488 560.66666667 356 692.66666667c-18 18-48 18-66 0-18-18-18-48 0-66L422 494.66666667 296 368.66666667c-18-18-18-42 0-60 18-18 42-18 60 0L482 434.66666667l132-132c18-18 48-18 66 0 18 18 18 48-1e-8 66L548 500.66666667l126 126z" fill="" ><\/path><\/symbol><symbol id="layx-icon-stick" viewBox="0 0 1024 1024"><path d="M863.92416068 184.3484319H160.07583932a50.27488011 50.27488011 0 0 1 0-100.5497602h703.84832136a50.27488011 50.27488011 0 0 1 0 100.5497602z m-50.27488007 804.39808157a50.22460522 50.22460522 0 0 1-35.69516489-14.57971521L512 708.21268254l-265.95411572 265.95411572A50.27488011 50.27488011 0 0 1 160.07583932 938.47163339V335.1730722a50.27488011 50.27488011 0 0 1 50.27488007-50.27488013h603.29856122a50.27488011 50.27488011 0 0 1 50.27488007 50.27488013v603.29856119a50.27488011 50.27488011 0 0 1-50.27488007 50.27488008z m-301.64928061-402.19904078a50.22460522 50.22460522 0 0 1 35.69516487 14.57971522L763.37440051 816.80642355V385.44795228H260.62559949v431.86122007l215.67923564-215.67923564A50.27488011 50.27488011 0 0 1 512 586.54747269z"  ><\/path><\/symbol><\/svg>',i=function(){var n=document.getElementsByTagName("script");return n[n.length-1]}(),r=i.getAttribute("data-injectcss"),u=function(t){function r(n,t){var i=n.document,r=!1,u=function(){r||(r=!0,t())},f=function(){try{i.documentElement.doScroll("left")}catch(n){setTimeout(f,50);return}u()};f();i.onreadystatechange=function(){i.readyState=="complete"&&(i.onreadystatechange=null,u())}}if(document.addEventListener)if(~["complete","loaded","interactive"].indexOf(document.readyState))setTimeout(t,0);else{var i=function(){document.removeEventListener("DOMContentLoaded",i,!1);t()};document.addEventListener("DOMContentLoaded",i,!1)}else document.attachEvent&&r(n,t)},f=function(n,t){t.parentNode.insertBefore(n,t)},e=function(n,t){t.firstChild?f(n,t.firstChild):t.appendChild(n)};if(r&&!n.__iconfont__svg__cssinject__){n.__iconfont__svg__cssinject__=!0;try{document.write("<style>.svgfont {display: inline-block;width: 1em;height: 1em;fill: currentColor;vertical-align: -0.1em;font-size:16px;}<\/style>")}catch(s){console&&console.log(s)}}u(o)}(window);
\ No newline at end of file
diff --git a/zy-acs-cv/src/main/webapp/static/js/tools/md5.js b/zy-acs-cv/src/main/webapp/static/js/tools/md5.js
new file mode 100644
index 0000000..bd10e20
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/js/tools/md5.js
@@ -0,0 +1,211 @@
+var hexcase = 0;
+var b64pad = "";
+var chrsz = 8;
+
+function hex_md5(s) {
+    return binl2hex(core_md5(str2binl(s), s.length * chrsz));
+}
+
+/*
+ * Perform a simple self-test to see if the VM is working
+ */
+function md5_vm_test() {
+    return hex_md5("abc") == "900150983cd24fb0d6963f7d28e17f72";
+}
+
+/*
+ * Calculate the MD5 of an array of little-endian words, and a bit length
+ */
+function core_md5(x, len) {
+    /* append padding */
+    x[len >> 5] |= 0x80 << ((len) % 32);
+    x[(((len + 64) >>> 9) << 4) + 14] = len;
+    var a = 1732584193;
+    var b = -271733879;
+    var c = -1732584194;
+    var d = 271733878;
+    for (var i = 0; i < x.length; i += 16) {
+        var olda = a;
+        var oldb = b;
+        var oldc = c;
+        var oldd = d;
+        a = md5_ff(a, b, c, d, x[i + 0], 7, -680876936);
+        d = md5_ff(d, a, b, c, x[i + 1], 12, -389564586);
+        c = md5_ff(c, d, a, b, x[i + 2], 17, 606105819);
+        b = md5_ff(b, c, d, a, x[i + 3], 22, -1044525330);
+        a = md5_ff(a, b, c, d, x[i + 4], 7, -176418897);
+        d = md5_ff(d, a, b, c, x[i + 5], 12, 1200080426);
+        c = md5_ff(c, d, a, b, x[i + 6], 17, -1473231341);
+        b = md5_ff(b, c, d, a, x[i + 7], 22, -45705983);
+        a = md5_ff(a, b, c, d, x[i + 8], 7, 1770035416);
+        d = md5_ff(d, a, b, c, x[i + 9], 12, -1958414417);
+        c = md5_ff(c, d, a, b, x[i + 10], 17, -42063);
+        b = md5_ff(b, c, d, a, x[i + 11], 22, -1990404162);
+        a = md5_ff(a, b, c, d, x[i + 12], 7, 1804603682);
+        d = md5_ff(d, a, b, c, x[i + 13], 12, -40341101);
+        c = md5_ff(c, d, a, b, x[i + 14], 17, -1502002290);
+        b = md5_ff(b, c, d, a, x[i + 15], 22, 1236535329);
+        a = md5_gg(a, b, c, d, x[i + 1], 5, -165796510);
+        d = md5_gg(d, a, b, c, x[i + 6], 9, -1069501632);
+        c = md5_gg(c, d, a, b, x[i + 11], 14, 643717713);
+        b = md5_gg(b, c, d, a, x[i + 0], 20, -373897302);
+        a = md5_gg(a, b, c, d, x[i + 5], 5, -701558691);
+        d = md5_gg(d, a, b, c, x[i + 10], 9, 38016083);
+        c = md5_gg(c, d, a, b, x[i + 15], 14, -660478335);
+        b = md5_gg(b, c, d, a, x[i + 4], 20, -405537848);
+        a = md5_gg(a, b, c, d, x[i + 9], 5, 568446438);
+        d = md5_gg(d, a, b, c, x[i + 14], 9, -1019803690);
+        c = md5_gg(c, d, a, b, x[i + 3], 14, -187363961);
+        b = md5_gg(b, c, d, a, x[i + 8], 20, 1163531501);
+        a = md5_gg(a, b, c, d, x[i + 13], 5, -1444681467);
+        d = md5_gg(d, a, b, c, x[i + 2], 9, -51403784);
+        c = md5_gg(c, d, a, b, x[i + 7], 14, 1735328473);
+        b = md5_gg(b, c, d, a, x[i + 12], 20, -1926607734);
+        a = md5_hh(a, b, c, d, x[i + 5], 4, -378558);
+        d = md5_hh(d, a, b, c, x[i + 8], 11, -2022574463);
+        c = md5_hh(c, d, a, b, x[i + 11], 16, 1839030562);
+        b = md5_hh(b, c, d, a, x[i + 14], 23, -35309556);
+        a = md5_hh(a, b, c, d, x[i + 1], 4, -1530992060);
+        d = md5_hh(d, a, b, c, x[i + 4], 11, 1272893353);
+        c = md5_hh(c, d, a, b, x[i + 7], 16, -155497632);
+        b = md5_hh(b, c, d, a, x[i + 10], 23, -1094730640);
+        a = md5_hh(a, b, c, d, x[i + 13], 4, 681279174);
+        d = md5_hh(d, a, b, c, x[i + 0], 11, -358537222);
+        c = md5_hh(c, d, a, b, x[i + 3], 16, -722521979);
+        b = md5_hh(b, c, d, a, x[i + 6], 23, 76029189);
+        a = md5_hh(a, b, c, d, x[i + 9], 4, -640364487);
+        d = md5_hh(d, a, b, c, x[i + 12], 11, -421815835);
+        c = md5_hh(c, d, a, b, x[i + 15], 16, 530742520);
+        b = md5_hh(b, c, d, a, x[i + 2], 23, -995338651);
+        a = md5_ii(a, b, c, d, x[i + 0], 6, -198630844);
+        d = md5_ii(d, a, b, c, x[i + 7], 10, 1126891415);
+        c = md5_ii(c, d, a, b, x[i + 14], 15, -1416354905);
+        b = md5_ii(b, c, d, a, x[i + 5], 21, -57434055);
+        a = md5_ii(a, b, c, d, x[i + 12], 6, 1700485571);
+        d = md5_ii(d, a, b, c, x[i + 3], 10, -1894986606);
+        c = md5_ii(c, d, a, b, x[i + 10], 15, -1051523);
+        b = md5_ii(b, c, d, a, x[i + 1], 21, -2054922799);
+        a = md5_ii(a, b, c, d, x[i + 8], 6, 1873313359);
+        d = md5_ii(d, a, b, c, x[i + 15], 10, -30611744);
+        c = md5_ii(c, d, a, b, x[i + 6], 15, -1560198380);
+        b = md5_ii(b, c, d, a, x[i + 13], 21, 1309151649);
+        a = md5_ii(a, b, c, d, x[i + 4], 6, -145523070);
+        d = md5_ii(d, a, b, c, x[i + 11], 10, -1120210379);
+        c = md5_ii(c, d, a, b, x[i + 2], 15, 718787259);
+        b = md5_ii(b, c, d, a, x[i + 9], 21, -343485551);
+        a = safe_add(a, olda);
+        b = safe_add(b, oldb);
+        c = safe_add(c, oldc);
+        d = safe_add(d, oldd);
+    }
+    return Array(a, b, c, d);
+}
+
+/*
+ * These functions implement the four basic operations the algorithm uses.
+ */
+function md5_cmn(q, a, b, x, s, t) {
+    return safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s), b);
+}
+
+function md5_ff(a, b, c, d, x, s, t) {
+    return md5_cmn((b & c) | ((~b) & d), a, b, x, s, t);
+}
+
+function md5_gg(a, b, c, d, x, s, t) {
+    return md5_cmn((b & d) | (c & (~d)), a, b, x, s, t);
+}
+
+function md5_hh(a, b, c, d, x, s, t) {
+    return md5_cmn(b ^ c ^ d, a, b, x, s, t);
+}
+
+function md5_ii(a, b, c, d, x, s, t) {
+    return md5_cmn(c ^ (b | (~d)), a, b, x, s, t);
+}
+
+/*
+ * Calculate the HMAC-MD5, of a key and some data
+ */
+function core_hmac_md5(key, data) {
+    var bkey = str2binl(key);
+    if (bkey.length > 16) bkey = core_md5(bkey, key.length * chrsz);
+    var ipad = Array(16), opad = Array(16);
+    for (var i = 0; i < 16; i++) {
+        ipad[i] = bkey[i] ^ 0x36363636;
+        opad[i] = bkey[i] ^ 0x5C5C5C5C;
+    }
+    var hash = core_md5(ipad.concat(str2binl(data)), 512 + data.length * chrsz);
+    return core_md5(opad.concat(hash), 512 + 128);
+}
+
+/*
+ * Add integers, wrapping at 2^32. This uses 16-bit operations internally
+ * to work around bugs in some JS interpreters.
+ */
+function safe_add(x, y) {
+    var lsw = (x & 0xFFFF) + (y & 0xFFFF);
+    var msw = (x >> 16) + (y >> 16) + (lsw >> 16);
+    return (msw << 16) | (lsw & 0xFFFF);
+}
+
+/*
+ * Bitwise rotate a 32-bit number to the left.
+ */
+function bit_rol(num, cnt) {
+    return (num << cnt) | (num >>> (32 - cnt));
+}
+
+/*
+ * Convert a string to an array of little-endian words
+ * If chrsz is ASCII, characters >255 have their hi-byte silently ignored.
+ */
+function str2binl(str) {
+    var bin = Array();
+    var mask = (1 << chrsz) - 1;
+    for (var i = 0; i < str.length * chrsz; i += chrsz)
+        bin[i >> 5] |= (str.charCodeAt(i / chrsz) & mask) << (i % 32);
+    return bin;
+}
+
+/*
+ * Convert an array of little-endian words to a string
+ */
+function binl2str(bin) {
+    var str = "";
+    var mask = (1 << chrsz) - 1;
+    for (var i = 0; i < bin.length * 32; i += chrsz)
+        str += String.fromCharCode((bin[i >> 5] >>> (i % 32)) & mask);
+    return str;
+}
+
+/*
+ * Convert an array of little-endian words to a hex string.
+ */
+function binl2hex(binarray) {
+    var hex_tab = hexcase ? "0123456789ABCDEF" : "0123456789abcdef";
+    var str = "";
+    for (var i = 0; i < binarray.length * 4; i++) {
+        str += hex_tab.charAt((binarray[i >> 2] >> ((i % 4) * 8 + 4)) & 0xF) +
+            hex_tab.charAt((binarray[i >> 2] >> ((i % 4) * 8)) & 0xF);
+    }
+    return str;
+}
+
+/*
+ * Convert an array of little-endian words to a base-64 string
+ */
+function binl2b64(binarray) {
+    var tab = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
+    var str = "";
+    for (var i = 0; i < binarray.length * 4; i += 3) {
+        var triplet = (((binarray[i >> 2] >> 8 * (i % 4)) & 0xFF) << 16)
+            | (((binarray[i + 1 >> 2] >> 8 * ((i + 1) % 4)) & 0xFF) << 8)
+            | ((binarray[i + 2 >> 2] >> 8 * ((i + 2) % 4)) & 0xFF);
+        for (var j = 0; j < 4; j++) {
+            if (i * 8 + j * 6 > binarray.length * 32) str += b64pad;
+            else str += tab.charAt((triplet >> 6 * (3 - j)) & 0x3F);
+        }
+    }
+    return str;
+}
\ No newline at end of file
diff --git a/zy-acs-cv/src/main/webapp/static/layui/css/layui.css b/zy-acs-cv/src/main/webapp/static/layui/css/layui.css
new file mode 100644
index 0000000..9e9d28a
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/css/layui.css
@@ -0,0 +1,2 @@
+/** layui-v2.5.4 MIT License By https://www.layui.com */
+ .layui-inline,img{display:inline-block;vertical-align:middle}h1,h2,h3,h4,h5,h6{font-weight:400}.layui-edge,.layui-header,.layui-inline,.layui-main{position:relative}.layui-body,.layui-edge,.layui-elip{overflow:hidden}.layui-btn,.layui-edge,.layui-inline,img{vertical-align:middle}.layui-btn,.layui-disabled,.layui-icon,.layui-unselect{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.layui-elip,.layui-form-checkbox span,.layui-form-pane .layui-form-label{text-overflow:ellipsis;white-space:nowrap}.layui-breadcrumb,.layui-tree-btnGroup{visibility:hidden}blockquote,body,button,dd,div,dl,dt,form,h1,h2,h3,h4,h5,h6,input,li,ol,p,pre,td,textarea,th,ul{margin:0;padding:0;-webkit-tap-highlight-color:rgba(0,0,0,0)}a:active,a:hover{outline:0}img{border:none}li{list-style:none}table{border-collapse:collapse;border-spacing:0}h4,h5,h6{font-size:100%}button,input,optgroup,option,select,textarea{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;outline:0}pre{white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word}body{line-height:24px;font:14px Helvetica Neue,Helvetica,PingFang SC,Tahoma,Arial,sans-serif}hr{height:1px;margin:10px 0;border:0;clear:both}a{color:#333;text-decoration:none}a:hover{color:#777}a cite{font-style:normal;*cursor:pointer}.layui-border-box,.layui-border-box *{box-sizing:border-box}.layui-box,.layui-box *{box-sizing:content-box}.layui-clear{clear:both;*zoom:1}.layui-clear:after{content:'\20';clear:both;*zoom:1;display:block;height:0}.layui-inline{*display:inline;*zoom:1}.layui-edge{display:inline-block;width:0;height:0;border-width:6px;border-style:dashed;border-color:transparent}.layui-edge-top{top:-4px;border-bottom-color:#999;border-bottom-style:solid}.layui-edge-right{border-left-color:#999;border-left-style:solid}.layui-edge-bottom{top:2px;border-top-color:#999;border-top-style:solid}.layui-edge-left{border-right-color:#999;border-right-style:solid}.layui-disabled,.layui-disabled:hover{color:#d2d2d2!important;cursor:not-allowed!important}.layui-circle{border-radius:100%}.layui-show{display:block!important}.layui-hide{display:none!important}@font-face{font-family:layui-icon;src:url(../font/iconfont.eot?v=250);src:url(../font/iconfont.eot?v=250#iefix) format('embedded-opentype'),url(../font/iconfont.woff2?v=250) format('woff2'),url(../font/iconfont.woff?v=250) format('woff'),url(../font/iconfont.ttf?v=250) format('truetype'),url(../font/iconfont.svg?v=250#layui-icon) format('svg')}.layui-icon{font-family:layui-icon!important;font-size:16px;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.layui-icon-reply-fill:before{content:"\e611"}.layui-icon-set-fill:before{content:"\e614"}.layui-icon-menu-fill:before{content:"\e60f"}.layui-icon-search:before{content:"\e615"}.layui-icon-share:before{content:"\e641"}.layui-icon-set-sm:before{content:"\e620"}.layui-icon-engine:before{content:"\e628"}.layui-icon-close:before{content:"\1006"}.layui-icon-close-fill:before{content:"\1007"}.layui-icon-chart-screen:before{content:"\e629"}.layui-icon-star:before{content:"\e600"}.layui-icon-circle-dot:before{content:"\e617"}.layui-icon-chat:before{content:"\e606"}.layui-icon-release:before{content:"\e609"}.layui-icon-list:before{content:"\e60a"}.layui-icon-chart:before{content:"\e62c"}.layui-icon-ok-circle:before{content:"\1005"}.layui-icon-layim-theme:before{content:"\e61b"}.layui-icon-table:before{content:"\e62d"}.layui-icon-right:before{content:"\e602"}.layui-icon-left:before{content:"\e603"}.layui-icon-cart-simple:before{content:"\e698"}.layui-icon-face-cry:before{content:"\e69c"}.layui-icon-face-smile:before{content:"\e6af"}.layui-icon-survey:before{content:"\e6b2"}.layui-icon-tree:before{content:"\e62e"}.layui-icon-upload-circle:before{content:"\e62f"}.layui-icon-add-circle:before{content:"\e61f"}.layui-icon-download-circle:before{content:"\e601"}.layui-icon-templeate-1:before{content:"\e630"}.layui-icon-util:before{content:"\e631"}.layui-icon-face-surprised:before{content:"\e664"}.layui-icon-edit:before{content:"\e642"}.layui-icon-speaker:before{content:"\e645"}.layui-icon-down:before{content:"\e61a"}.layui-icon-file:before{content:"\e621"}.layui-icon-layouts:before{content:"\e632"}.layui-icon-rate-half:before{content:"\e6c9"}.layui-icon-add-circle-fine:before{content:"\e608"}.layui-icon-prev-circle:before{content:"\e633"}.layui-icon-read:before{content:"\e705"}.layui-icon-404:before{content:"\e61c"}.layui-icon-carousel:before{content:"\e634"}.layui-icon-help:before{content:"\e607"}.layui-icon-code-circle:before{content:"\e635"}.layui-icon-water:before{content:"\e636"}.layui-icon-username:before{content:"\e66f"}.layui-icon-find-fill:before{content:"\e670"}.layui-icon-about:before{content:"\e60b"}.layui-icon-location:before{content:"\e715"}.layui-icon-up:before{content:"\e619"}.layui-icon-pause:before{content:"\e651"}.layui-icon-date:before{content:"\e637"}.layui-icon-layim-uploadfile:before{content:"\e61d"}.layui-icon-delete:before{content:"\e640"}.layui-icon-play:before{content:"\e652"}.layui-icon-top:before{content:"\e604"}.layui-icon-friends:before{content:"\e612"}.layui-icon-refresh-3:before{content:"\e9aa"}.layui-icon-ok:before{content:"\e605"}.layui-icon-layer:before{content:"\e638"}.layui-icon-face-smile-fine:before{content:"\e60c"}.layui-icon-dollar:before{content:"\e659"}.layui-icon-group:before{content:"\e613"}.layui-icon-layim-download:before{content:"\e61e"}.layui-icon-picture-fine:before{content:"\e60d"}.layui-icon-link:before{content:"\e64c"}.layui-icon-diamond:before{content:"\e735"}.layui-icon-log:before{content:"\e60e"}.layui-icon-rate-solid:before{content:"\e67a"}.layui-icon-fonts-del:before{content:"\e64f"}.layui-icon-unlink:before{content:"\e64d"}.layui-icon-fonts-clear:before{content:"\e639"}.layui-icon-triangle-r:before{content:"\e623"}.layui-icon-circle:before{content:"\e63f"}.layui-icon-radio:before{content:"\e643"}.layui-icon-align-center:before{content:"\e647"}.layui-icon-align-right:before{content:"\e648"}.layui-icon-align-left:before{content:"\e649"}.layui-icon-loading-1:before{content:"\e63e"}.layui-icon-return:before{content:"\e65c"}.layui-icon-fonts-strong:before{content:"\e62b"}.layui-icon-upload:before{content:"\e67c"}.layui-icon-dialogue:before{content:"\e63a"}.layui-icon-video:before{content:"\e6ed"}.layui-icon-headset:before{content:"\e6fc"}.layui-icon-cellphone-fine:before{content:"\e63b"}.layui-icon-add-1:before{content:"\e654"}.layui-icon-face-smile-b:before{content:"\e650"}.layui-icon-fonts-html:before{content:"\e64b"}.layui-icon-form:before{content:"\e63c"}.layui-icon-cart:before{content:"\e657"}.layui-icon-camera-fill:before{content:"\e65d"}.layui-icon-tabs:before{content:"\e62a"}.layui-icon-fonts-code:before{content:"\e64e"}.layui-icon-fire:before{content:"\e756"}.layui-icon-set:before{content:"\e716"}.layui-icon-fonts-u:before{content:"\e646"}.layui-icon-triangle-d:before{content:"\e625"}.layui-icon-tips:before{content:"\e702"}.layui-icon-picture:before{content:"\e64a"}.layui-icon-more-vertical:before{content:"\e671"}.layui-icon-flag:before{content:"\e66c"}.layui-icon-loading:before{content:"\e63d"}.layui-icon-fonts-i:before{content:"\e644"}.layui-icon-refresh-1:before{content:"\e666"}.layui-icon-rmb:before{content:"\e65e"}.layui-icon-home:before{content:"\e68e"}.layui-icon-user:before{content:"\e770"}.layui-icon-notice:before{content:"\e667"}.layui-icon-login-weibo:before{content:"\e675"}.layui-icon-voice:before{content:"\e688"}.layui-icon-upload-drag:before{content:"\e681"}.layui-icon-login-qq:before{content:"\e676"}.layui-icon-snowflake:before{content:"\e6b1"}.layui-icon-file-b:before{content:"\e655"}.layui-icon-template:before{content:"\e663"}.layui-icon-auz:before{content:"\e672"}.layui-icon-console:before{content:"\e665"}.layui-icon-app:before{content:"\e653"}.layui-icon-prev:before{content:"\e65a"}.layui-icon-website:before{content:"\e7ae"}.layui-icon-next:before{content:"\e65b"}.layui-icon-component:before{content:"\e857"}.layui-icon-more:before{content:"\e65f"}.layui-icon-login-wechat:before{content:"\e677"}.layui-icon-shrink-right:before{content:"\e668"}.layui-icon-spread-left:before{content:"\e66b"}.layui-icon-camera:before{content:"\e660"}.layui-icon-note:before{content:"\e66e"}.layui-icon-refresh:before{content:"\e669"}.layui-icon-female:before{content:"\e661"}.layui-icon-male:before{content:"\e662"}.layui-icon-password:before{content:"\e673"}.layui-icon-senior:before{content:"\e674"}.layui-icon-theme:before{content:"\e66a"}.layui-icon-tread:before{content:"\e6c5"}.layui-icon-praise:before{content:"\e6c6"}.layui-icon-star-fill:before{content:"\e658"}.layui-icon-rate:before{content:"\e67b"}.layui-icon-template-1:before{content:"\e656"}.layui-icon-vercode:before{content:"\e679"}.layui-icon-cellphone:before{content:"\e678"}.layui-icon-screen-full:before{content:"\e622"}.layui-icon-screen-restore:before{content:"\e758"}.layui-icon-cols:before{content:"\e610"}.layui-icon-export:before{content:"\e67d"}.layui-icon-print:before{content:"\e66d"}.layui-icon-slider:before{content:"\e714"}.layui-icon-addition:before{content:"\e624"}.layui-icon-subtraction:before{content:"\e67e"}.layui-icon-service:before{content:"\e626"}.layui-icon-transfer:before{content:"\e691"}.layui-main{width:1140px;margin:0 auto}.layui-header{z-index:1000;height:60px}.layui-header a:hover{transition:all .5s;-webkit-transition:all .5s}.layui-side{position:fixed;left:0;top:0;bottom:0;z-index:999;width:200px;overflow-x:hidden}.layui-side-scroll{position:relative;width:220px;height:100%;overflow-x:hidden}.layui-body{position:absolute;left:200px;right:0;top:0;bottom:0;z-index:998;width:auto;overflow-y:auto;box-sizing:border-box}.layui-layout-body{overflow:hidden}.layui-layout-admin .layui-header{background-color:#23262E}.layui-layout-admin .layui-side{top:60px;width:200px;overflow-x:hidden}.layui-layout-admin .layui-body{position:fixed;top:60px;bottom:44px}.layui-layout-admin .layui-main{width:auto;margin:0 15px}.layui-layout-admin .layui-footer{position:fixed;left:200px;right:0;bottom:0;height:44px;line-height:44px;padding:0 15px;background-color:#eee}.layui-layout-admin .layui-logo{position:absolute;left:0;top:0;width:200px;height:100%;line-height:60px;text-align:center;color:#009688;font-size:16px}.layui-layout-admin .layui-header .layui-nav{background:0 0}.layui-layout-left{position:absolute!important;left:200px;top:0}.layui-layout-right{position:absolute!important;right:0;top:0}.layui-container{position:relative;margin:0 auto;padding:0 15px;box-sizing:border-box}.layui-fluid{position:relative;margin:0 auto;padding:0 15px}.layui-row:after,.layui-row:before{content:'';display:block;clear:both}.layui-col-lg1,.layui-col-lg10,.layui-col-lg11,.layui-col-lg12,.layui-col-lg2,.layui-col-lg3,.layui-col-lg4,.layui-col-lg5,.layui-col-lg6,.layui-col-lg7,.layui-col-lg8,.layui-col-lg9,.layui-col-md1,.layui-col-md10,.layui-col-md11,.layui-col-md12,.layui-col-md2,.layui-col-md3,.layui-col-md4,.layui-col-md5,.layui-col-md6,.layui-col-md7,.layui-col-md8,.layui-col-md9,.layui-col-sm1,.layui-col-sm10,.layui-col-sm11,.layui-col-sm12,.layui-col-sm2,.layui-col-sm3,.layui-col-sm4,.layui-col-sm5,.layui-col-sm6,.layui-col-sm7,.layui-col-sm8,.layui-col-sm9,.layui-col-xs1,.layui-col-xs10,.layui-col-xs11,.layui-col-xs12,.layui-col-xs2,.layui-col-xs3,.layui-col-xs4,.layui-col-xs5,.layui-col-xs6,.layui-col-xs7,.layui-col-xs8,.layui-col-xs9{position:relative;display:block;box-sizing:border-box}.layui-col-xs1,.layui-col-xs10,.layui-col-xs11,.layui-col-xs12,.layui-col-xs2,.layui-col-xs3,.layui-col-xs4,.layui-col-xs5,.layui-col-xs6,.layui-col-xs7,.layui-col-xs8,.layui-col-xs9{float:left}.layui-col-xs1{width:8.33333333%}.layui-col-xs2{width:16.66666667%}.layui-col-xs3{width:25%}.layui-col-xs4{width:33.33333333%}.layui-col-xs5{width:41.66666667%}.layui-col-xs6{width:50%}.layui-col-xs7{width:58.33333333%}.layui-col-xs8{width:66.66666667%}.layui-col-xs9{width:75%}.layui-col-xs10{width:83.33333333%}.layui-col-xs11{width:91.66666667%}.layui-col-xs12{width:100%}.layui-col-xs-offset1{margin-left:8.33333333%}.layui-col-xs-offset2{margin-left:16.66666667%}.layui-col-xs-offset3{margin-left:25%}.layui-col-xs-offset4{margin-left:33.33333333%}.layui-col-xs-offset5{margin-left:41.66666667%}.layui-col-xs-offset6{margin-left:50%}.layui-col-xs-offset7{margin-left:58.33333333%}.layui-col-xs-offset8{margin-left:66.66666667%}.layui-col-xs-offset9{margin-left:75%}.layui-col-xs-offset10{margin-left:83.33333333%}.layui-col-xs-offset11{margin-left:91.66666667%}.layui-col-xs-offset12{margin-left:100%}@media screen and (max-width:768px){.layui-hide-xs{display:none!important}.layui-show-xs-block{display:block!important}.layui-show-xs-inline{display:inline!important}.layui-show-xs-inline-block{display:inline-block!important}}@media screen and (min-width:768px){.layui-container{width:750px}.layui-hide-sm{display:none!important}.layui-show-sm-block{display:block!important}.layui-show-sm-inline{display:inline!important}.layui-show-sm-inline-block{display:inline-block!important}.layui-col-sm1,.layui-col-sm10,.layui-col-sm11,.layui-col-sm12,.layui-col-sm2,.layui-col-sm3,.layui-col-sm4,.layui-col-sm5,.layui-col-sm6,.layui-col-sm7,.layui-col-sm8,.layui-col-sm9{float:left}.layui-col-sm1{width:8.33333333%}.layui-col-sm2{width:16.66666667%}.layui-col-sm3{width:25%}.layui-col-sm4{width:33.33333333%}.layui-col-sm5{width:41.66666667%}.layui-col-sm6{width:50%}.layui-col-sm7{width:58.33333333%}.layui-col-sm8{width:66.66666667%}.layui-col-sm9{width:75%}.layui-col-sm10{width:83.33333333%}.layui-col-sm11{width:91.66666667%}.layui-col-sm12{width:100%}.layui-col-sm-offset1{margin-left:8.33333333%}.layui-col-sm-offset2{margin-left:16.66666667%}.layui-col-sm-offset3{margin-left:25%}.layui-col-sm-offset4{margin-left:33.33333333%}.layui-col-sm-offset5{margin-left:41.66666667%}.layui-col-sm-offset6{margin-left:50%}.layui-col-sm-offset7{margin-left:58.33333333%}.layui-col-sm-offset8{margin-left:66.66666667%}.layui-col-sm-offset9{margin-left:75%}.layui-col-sm-offset10{margin-left:83.33333333%}.layui-col-sm-offset11{margin-left:91.66666667%}.layui-col-sm-offset12{margin-left:100%}}@media screen and (min-width:992px){.layui-container{width:970px}.layui-hide-md{display:none!important}.layui-show-md-block{display:block!important}.layui-show-md-inline{display:inline!important}.layui-show-md-inline-block{display:inline-block!important}.layui-col-md1,.layui-col-md10,.layui-col-md11,.layui-col-md12,.layui-col-md2,.layui-col-md3,.layui-col-md4,.layui-col-md5,.layui-col-md6,.layui-col-md7,.layui-col-md8,.layui-col-md9{float:left}.layui-col-md1{width:8.33333333%}.layui-col-md2{width:16.66666667%}.layui-col-md3{width:25%}.layui-col-md4{width:33.33333333%}.layui-col-md5{width:41.66666667%}.layui-col-md6{width:50%}.layui-col-md7{width:58.33333333%}.layui-col-md8{width:66.66666667%}.layui-col-md9{width:75%}.layui-col-md10{width:83.33333333%}.layui-col-md11{width:91.66666667%}.layui-col-md12{width:100%}.layui-col-md-offset1{margin-left:8.33333333%}.layui-col-md-offset2{margin-left:16.66666667%}.layui-col-md-offset3{margin-left:25%}.layui-col-md-offset4{margin-left:33.33333333%}.layui-col-md-offset5{margin-left:41.66666667%}.layui-col-md-offset6{margin-left:50%}.layui-col-md-offset7{margin-left:58.33333333%}.layui-col-md-offset8{margin-left:66.66666667%}.layui-col-md-offset9{margin-left:75%}.layui-col-md-offset10{margin-left:83.33333333%}.layui-col-md-offset11{margin-left:91.66666667%}.layui-col-md-offset12{margin-left:100%}}@media screen and (min-width:1200px){.layui-container{width:1170px}.layui-hide-lg{display:none!important}.layui-show-lg-block{display:block!important}.layui-show-lg-inline{display:inline!important}.layui-show-lg-inline-block{display:inline-block!important}.layui-col-lg1,.layui-col-lg10,.layui-col-lg11,.layui-col-lg12,.layui-col-lg2,.layui-col-lg3,.layui-col-lg4,.layui-col-lg5,.layui-col-lg6,.layui-col-lg7,.layui-col-lg8,.layui-col-lg9{float:left}.layui-col-lg1{width:8.33333333%}.layui-col-lg2{width:16.66666667%}.layui-col-lg3{width:25%}.layui-col-lg4{width:33.33333333%}.layui-col-lg5{width:41.66666667%}.layui-col-lg6{width:50%}.layui-col-lg7{width:58.33333333%}.layui-col-lg8{width:66.66666667%}.layui-col-lg9{width:75%}.layui-col-lg10{width:83.33333333%}.layui-col-lg11{width:91.66666667%}.layui-col-lg12{width:100%}.layui-col-lg-offset1{margin-left:8.33333333%}.layui-col-lg-offset2{margin-left:16.66666667%}.layui-col-lg-offset3{margin-left:25%}.layui-col-lg-offset4{margin-left:33.33333333%}.layui-col-lg-offset5{margin-left:41.66666667%}.layui-col-lg-offset6{margin-left:50%}.layui-col-lg-offset7{margin-left:58.33333333%}.layui-col-lg-offset8{margin-left:66.66666667%}.layui-col-lg-offset9{margin-left:75%}.layui-col-lg-offset10{margin-left:83.33333333%}.layui-col-lg-offset11{margin-left:91.66666667%}.layui-col-lg-offset12{margin-left:100%}}.layui-col-space1{margin:-.5px}.layui-col-space1>*{padding:.5px}.layui-col-space3{margin:-1.5px}.layui-col-space3>*{padding:1.5px}.layui-col-space5{margin:-2.5px}.layui-col-space5>*{padding:2.5px}.layui-col-space8{margin:-3.5px}.layui-col-space8>*{padding:3.5px}.layui-col-space10{margin:-5px}.layui-col-space10>*{padding:5px}.layui-col-space12{margin:-6px}.layui-col-space12>*{padding:6px}.layui-col-space15{margin:-7.5px}.layui-col-space15>*{padding:7.5px}.layui-col-space18{margin:-9px}.layui-col-space18>*{padding:9px}.layui-col-space20{margin:-10px}.layui-col-space20>*{padding:10px}.layui-col-space22{margin:-11px}.layui-col-space22>*{padding:11px}.layui-col-space25{margin:-12.5px}.layui-col-space25>*{padding:12.5px}.layui-col-space30{margin:-15px}.layui-col-space30>*{padding:15px}.layui-btn,.layui-input,.layui-select,.layui-textarea,.layui-upload-button{outline:0;-webkit-appearance:none;transition:all .3s;-webkit-transition:all .3s;box-sizing:border-box}.layui-elem-quote{margin-bottom:10px;padding:15px;line-height:22px;border-left:5px solid #009688;border-radius:0 2px 2px 0;background-color:#f2f2f2}.layui-quote-nm{border-style:solid;border-width:1px 1px 1px 5px;background:0 0}.layui-elem-field{margin-bottom:10px;padding:0;border-width:1px;border-style:solid}.layui-elem-field legend{margin-left:20px;padding:0 10px;font-size:20px;font-weight:300}.layui-field-title{margin:10px 0 20px;border-width:1px 0 0}.layui-field-box{padding:10px 15px}.layui-field-title .layui-field-box{padding:10px 0}.layui-progress{position:relative;height:6px;border-radius:20px;background-color:#e2e2e2}.layui-progress-bar{position:absolute;left:0;top:0;width:0;max-width:100%;height:6px;border-radius:20px;text-align:right;background-color:#5FB878;transition:all .3s;-webkit-transition:all .3s}.layui-progress-big,.layui-progress-big .layui-progress-bar{height:18px;line-height:18px}.layui-progress-text{position:relative;top:-20px;line-height:18px;font-size:12px;color:#666}.layui-progress-big .layui-progress-text{position:static;padding:0 10px;color:#fff}.layui-collapse{border-width:1px;border-style:solid;border-radius:2px}.layui-colla-content,.layui-colla-item{border-top-width:1px;border-top-style:solid}.layui-colla-item:first-child{border-top:none}.layui-colla-title{position:relative;height:42px;line-height:42px;padding:0 15px 0 35px;color:#333;background-color:#f2f2f2;cursor:pointer;font-size:14px;overflow:hidden}.layui-colla-content{display:none;padding:10px 15px;line-height:22px;color:#666}.layui-colla-icon{position:absolute;left:15px;top:0;font-size:14px}.layui-card{margin-bottom:15px;border-radius:2px;background-color:#fff;box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.layui-card:last-child{margin-bottom:0}.layui-card-header{position:relative;height:42px;line-height:42px;padding:0 15px;border-bottom:1px solid #f6f6f6;color:#333;border-radius:2px 2px 0 0;font-size:14px}.layui-bg-black,.layui-bg-blue,.layui-bg-cyan,.layui-bg-green,.layui-bg-orange,.layui-bg-red{color:#fff!important}.layui-card-body{position:relative;padding:10px 15px;line-height:24px}.layui-card-body[pad15]{padding:15px}.layui-card-body[pad20]{padding:20px}.layui-card-body .layui-table{margin:5px 0}.layui-card .layui-tab{margin:0}.layui-panel-window{position:relative;padding:15px;border-radius:0;border-top:5px solid #E6E6E6;background-color:#fff}.layui-auxiliar-moving{position:fixed;left:0;right:0;top:0;bottom:0;width:100%;height:100%;background:0 0;z-index:9999999999}.layui-form-label,.layui-form-mid,.layui-form-select,.layui-input-block,.layui-input-inline,.layui-textarea{position:relative}.layui-bg-red{background-color:#FF5722!important}.layui-bg-orange{background-color:#FFB800!important}.layui-bg-green{background-color:#009688!important}.layui-bg-cyan{background-color:#2F4056!important}.layui-bg-blue{background-color:#1E9FFF!important}.layui-bg-black{background-color:#393D49!important}.layui-bg-gray{background-color:#eee!important;color:#666!important}.layui-badge-rim,.layui-colla-content,.layui-colla-item,.layui-collapse,.layui-elem-field,.layui-form-pane .layui-form-item[pane],.layui-form-pane .layui-form-label,.layui-input,.layui-layedit,.layui-layedit-tool,.layui-quote-nm,.layui-select,.layui-tab-bar,.layui-tab-card,.layui-tab-title,.layui-tab-title .layui-this:after,.layui-textarea{border-color:#e6e6e6}.layui-timeline-item:before,hr{background-color:#e6e6e6}.layui-text{line-height:22px;font-size:14px;color:#666}.layui-text h1,.layui-text h2,.layui-text h3{font-weight:500;color:#333}.layui-text h1{font-size:30px}.layui-text h2{font-size:24px}.layui-text h3{font-size:18px}.layui-text a:not(.layui-btn){color:#01AAED}.layui-text a:not(.layui-btn):hover{text-decoration:underline}.layui-text ul{padding:5px 0 5px 15px}.layui-text ul li{margin-top:5px;list-style-type:disc}.layui-text em,.layui-word-aux{color:#999!important;padding:0 5px!important}.layui-btn{display:inline-block;height:38px;line-height:38px;padding:0 18px;background-color:#009688;color:#fff;white-space:nowrap;text-align:center;font-size:14px;border:none;border-radius:2px;cursor:pointer}.layui-btn:hover{opacity:.8;filter:alpha(opacity=80);color:#fff}.layui-btn:active{opacity:1;filter:alpha(opacity=100)}.layui-btn+.layui-btn{margin-left:10px}.layui-btn-container{font-size:0}.layui-btn-container .layui-btn{margin-right:10px;margin-bottom:10px}.layui-btn-container .layui-btn+.layui-btn{margin-left:0}.layui-table .layui-btn-container .layui-btn{margin-bottom:9px}.layui-btn-radius{border-radius:100px}.layui-btn .layui-icon{margin-right:3px;font-size:18px;vertical-align:bottom;vertical-align:middle\9}.layui-btn-primary{border:1px solid #C9C9C9;background-color:#fff;color:#555}.layui-btn-primary:hover{border-color:#009688;color:#333}.layui-btn-normal{background-color:#1E9FFF}.layui-btn-warm{background-color:#FFB800}.layui-btn-danger{background-color:#FF5722}.layui-btn-checked{background-color:#5FB878}.layui-btn-disabled,.layui-btn-disabled:active,.layui-btn-disabled:hover{border:1px solid #e6e6e6;background-color:#FBFBFB;color:#C9C9C9;cursor:not-allowed;opacity:1}.layui-btn-lg{height:44px;line-height:44px;padding:0 25px;font-size:16px}.layui-btn-sm{height:30px;line-height:30px;padding:0 10px;font-size:12px}.layui-btn-sm i{font-size:16px!important}.layui-btn-xs{height:22px;line-height:22px;padding:0 5px;font-size:12px}.layui-btn-xs i{font-size:14px!important}.layui-btn-group{display:inline-block;vertical-align:middle;font-size:0}.layui-btn-group .layui-btn{margin-left:0!important;margin-right:0!important;border-left:1px solid rgba(255,255,255,.5);border-radius:0}.layui-btn-group .layui-btn-primary{border-left:none}.layui-btn-group .layui-btn-primary:hover{border-color:#C9C9C9;color:#009688}.layui-btn-group .layui-btn:first-child{border-left:none;border-radius:2px 0 0 2px}.layui-btn-group .layui-btn-primary:first-child{border-left:1px solid #c9c9c9}.layui-btn-group .layui-btn:last-child{border-radius:0 2px 2px 0}.layui-btn-group .layui-btn+.layui-btn{margin-left:0}.layui-btn-group+.layui-btn-group{margin-left:10px}.layui-btn-fluid{width:100%}.layui-input,.layui-select,.layui-textarea{height:38px;line-height:1.3;line-height:38px\9;border-width:1px;border-style:solid;background-color:#fff;border-radius:2px}.layui-input::-webkit-input-placeholder,.layui-select::-webkit-input-placeholder,.layui-textarea::-webkit-input-placeholder{line-height:1.3}.layui-input,.layui-textarea{display:block;width:100%;padding-left:10px}.layui-input:hover,.layui-textarea:hover{border-color:#D2D2D2!important}.layui-input:focus,.layui-textarea:focus{border-color:#C9C9C9!important}.layui-textarea{min-height:100px;height:auto;line-height:20px;padding:6px 10px;resize:vertical}.layui-select{padding:0 10px}.layui-form input[type=checkbox],.layui-form input[type=radio],.layui-form select{display:none}.layui-form [lay-ignore]{display:initial}.layui-form-item{margin-bottom:15px;clear:both;*zoom:1}.layui-form-item:after{content:'\20';clear:both;*zoom:1;display:block;height:0}.layui-form-label{float:left;display:block;padding:9px 15px;width:80px;font-weight:400;line-height:20px;text-align:right}.layui-form-label-col{display:block;float:none;padding:9px 0;line-height:20px;text-align:left}.layui-form-item .layui-inline{margin-bottom:5px;margin-right:10px}.layui-input-block{margin-left:110px;min-height:36px}.layui-input-inline{display:inline-block;vertical-align:middle}.layui-form-item .layui-input-inline{float:left;width:190px;margin-right:10px}.layui-form-text .layui-input-inline{width:auto}.layui-form-mid{float:left;display:block;padding:9px 0!important;line-height:20px;margin-right:10px}.layui-form-danger+.layui-form-select .layui-input,.layui-form-danger:focus{border-color:#FF5722!important}.layui-form-select .layui-input{padding-right:30px;cursor:pointer}.layui-form-select .layui-edge{position:absolute;right:10px;top:50%;margin-top:-3px;cursor:pointer;border-width:6px;border-top-color:#c2c2c2;border-top-style:solid;transition:all .3s;-webkit-transition:all .3s}.layui-form-select dl{display:none;position:absolute;left:0;top:42px;padding:5px 0;z-index:899;min-width:100%;border:1px solid #d2d2d2;max-height:300px;overflow-y:auto;background-color:#fff;border-radius:2px;box-shadow:0 2px 4px rgba(0,0,0,.12);box-sizing:border-box}.layui-form-select dl dd,.layui-form-select dl dt{padding:0 10px;line-height:36px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.layui-form-select dl dt{font-size:12px;color:#999}.layui-form-select dl dd{cursor:pointer}.layui-form-select dl dd:hover{background-color:#f2f2f2;-webkit-transition:.5s all;transition:.5s all}.layui-form-select .layui-select-group dd{padding-left:20px}.layui-form-select dl dd.layui-select-tips{padding-left:10px!important;color:#999}.layui-form-select dl dd.layui-this{background-color:#5FB878;color:#fff}.layui-form-checkbox,.layui-form-select dl dd.layui-disabled{background-color:#fff}.layui-form-selected dl{display:block}.layui-form-checkbox,.layui-form-checkbox *,.layui-form-switch{display:inline-block;vertical-align:middle}.layui-form-selected .layui-edge{margin-top:-9px;-webkit-transform:rotate(180deg);transform:rotate(180deg);margin-top:-3px\9}:root .layui-form-selected .layui-edge{margin-top:-9px\0/IE9}.layui-form-selectup dl{top:auto;bottom:42px}.layui-select-none{margin:5px 0;text-align:center;color:#999}.layui-select-disabled .layui-disabled{border-color:#eee!important}.layui-select-disabled .layui-edge{border-top-color:#d2d2d2}.layui-form-checkbox{position:relative;height:30px;line-height:30px;margin-right:10px;padding-right:30px;cursor:pointer;font-size:0;-webkit-transition:.1s linear;transition:.1s linear;box-sizing:border-box}.layui-form-checkbox span{padding:0 10px;height:100%;font-size:14px;border-radius:2px 0 0 2px;background-color:#d2d2d2;color:#fff;overflow:hidden}.layui-form-checkbox:hover span{background-color:#c2c2c2}.layui-form-checkbox i{position:absolute;right:0;top:0;width:30px;height:28px;border:1px solid #d2d2d2;border-left:none;border-radius:0 2px 2px 0;color:#fff;font-size:20px;text-align:center}.layui-form-checkbox:hover i{border-color:#c2c2c2;color:#c2c2c2}.layui-form-checked,.layui-form-checked:hover{border-color:#5FB878}.layui-form-checked span,.layui-form-checked:hover span{background-color:#5FB878}.layui-form-checked i,.layui-form-checked:hover i{color:#5FB878}.layui-form-item .layui-form-checkbox{margin-top:4px}.layui-form-checkbox[lay-skin=primary]{height:auto!important;line-height:normal!important;min-width:18px;min-height:18px;border:none!important;margin-right:0;padding-left:28px;padding-right:0;background:0 0}.layui-form-checkbox[lay-skin=primary] span{padding-left:0;padding-right:15px;line-height:18px;background:0 0;color:#666}.layui-form-checkbox[lay-skin=primary] i{right:auto;left:0;width:16px;height:16px;line-height:16px;border:1px solid #d2d2d2;font-size:12px;border-radius:2px;background-color:#fff;-webkit-transition:.1s linear;transition:.1s linear}.layui-form-checkbox[lay-skin=primary]:hover i{border-color:#5FB878;color:#fff}.layui-form-checked[lay-skin=primary] i{border-color:#5FB878!important;background-color:#5FB878;color:#fff}.layui-checkbox-disbaled[lay-skin=primary] span{background:0 0!important;color:#c2c2c2}.layui-checkbox-disbaled[lay-skin=primary]:hover i{border-color:#d2d2d2}.layui-form-item .layui-form-checkbox[lay-skin=primary]{margin-top:10px}.layui-form-switch{position:relative;height:22px;line-height:22px;min-width:35px;padding:0 5px;margin-top:8px;border:1px solid #d2d2d2;border-radius:20px;cursor:pointer;background-color:#fff;-webkit-transition:.1s linear;transition:.1s linear}.layui-form-switch i{position:absolute;left:5px;top:3px;width:16px;height:16px;border-radius:20px;background-color:#d2d2d2;-webkit-transition:.1s linear;transition:.1s linear}.layui-form-switch em{position:relative;top:0;width:25px;margin-left:21px;padding:0!important;text-align:center!important;color:#999!important;font-style:normal!important;font-size:12px}.layui-form-onswitch{border-color:#5FB878;background-color:#5FB878}.layui-checkbox-disbaled,.layui-checkbox-disbaled i{border-color:#e2e2e2!important}.layui-form-onswitch i{left:100%;margin-left:-21px;background-color:#fff}.layui-form-onswitch em{margin-left:5px;margin-right:21px;color:#fff!important}.layui-checkbox-disbaled span{background-color:#e2e2e2!important}.layui-checkbox-disbaled:hover i{color:#fff!important}[lay-radio]{display:none}.layui-form-radio,.layui-form-radio *{display:inline-block;vertical-align:middle}.layui-form-radio{line-height:28px;margin:6px 10px 0 0;padding-right:10px;cursor:pointer;font-size:0}.layui-form-radio *{font-size:14px}.layui-form-radio>i{margin-right:8px;font-size:22px;color:#c2c2c2}.layui-form-radio>i:hover,.layui-form-radioed>i{color:#5FB878}.layui-radio-disbaled>i{color:#e2e2e2!important}.layui-form-pane .layui-form-label{width:110px;padding:8px 15px;height:38px;line-height:20px;border-width:1px;border-style:solid;border-radius:2px 0 0 2px;text-align:center;background-color:#FBFBFB;overflow:hidden;box-sizing:border-box}.layui-form-pane .layui-input-inline{margin-left:-1px}.layui-form-pane .layui-input-block{margin-left:110px;left:-1px}.layui-form-pane .layui-input{border-radius:0 2px 2px 0}.layui-form-pane .layui-form-text .layui-form-label{float:none;width:100%;border-radius:2px;box-sizing:border-box;text-align:left}.layui-form-pane .layui-form-text .layui-input-inline{display:block;margin:0;top:-1px;clear:both}.layui-form-pane .layui-form-text .layui-input-block{margin:0;left:0;top:-1px}.layui-form-pane .layui-form-text .layui-textarea{min-height:100px;border-radius:0 0 2px 2px}.layui-form-pane .layui-form-checkbox{margin:4px 0 4px 10px}.layui-form-pane .layui-form-radio,.layui-form-pane .layui-form-switch{margin-top:6px;margin-left:10px}.layui-form-pane .layui-form-item[pane]{position:relative;border-width:1px;border-style:solid}.layui-form-pane .layui-form-item[pane] .layui-form-label{position:absolute;left:0;top:0;height:100%;border-width:0 1px 0 0}.layui-form-pane .layui-form-item[pane] .layui-input-inline{margin-left:110px}@media screen and (max-width:450px){.layui-form-item .layui-form-label{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.layui-form-item .layui-inline{display:block;margin-right:0;margin-bottom:20px;clear:both}.layui-form-item .layui-inline:after{content:'\20';clear:both;display:block;height:0}.layui-form-item .layui-input-inline{display:block;float:none;left:-3px;width:auto;margin:0 0 10px 112px}.layui-form-item .layui-input-inline+.layui-form-mid{margin-left:110px;top:-5px;padding:0}.layui-form-item .layui-form-checkbox{margin-right:5px;margin-bottom:5px}}.layui-layedit{border-width:1px;border-style:solid;border-radius:2px}.layui-layedit-tool{padding:3px 5px;border-bottom-width:1px;border-bottom-style:solid;font-size:0}.layedit-tool-fixed{position:fixed;top:0;border-top:1px solid #e2e2e2}.layui-layedit-tool .layedit-tool-mid,.layui-layedit-tool .layui-icon{display:inline-block;vertical-align:middle;text-align:center;font-size:14px}.layui-layedit-tool .layui-icon{position:relative;width:32px;height:30px;line-height:30px;margin:3px 5px;color:#777;cursor:pointer;border-radius:2px}.layui-layedit-tool .layui-icon:hover{color:#393D49}.layui-layedit-tool .layui-icon:active{color:#000}.layui-layedit-tool .layedit-tool-active{background-color:#e2e2e2;color:#000}.layui-layedit-tool .layui-disabled,.layui-layedit-tool .layui-disabled:hover{color:#d2d2d2;cursor:not-allowed}.layui-layedit-tool .layedit-tool-mid{width:1px;height:18px;margin:0 10px;background-color:#d2d2d2}.layedit-tool-html{width:50px!important;font-size:30px!important}.layedit-tool-b,.layedit-tool-code,.layedit-tool-help{font-size:16px!important}.layedit-tool-d,.layedit-tool-face,.layedit-tool-image,.layedit-tool-unlink{font-size:18px!important}.layedit-tool-image input{position:absolute;font-size:0;left:0;top:0;width:100%;height:100%;opacity:.01;filter:Alpha(opacity=1);cursor:pointer}.layui-layedit-iframe iframe{display:block;width:100%}#LAY_layedit_code{overflow:hidden}.layui-laypage{display:inline-block;*display:inline;*zoom:1;vertical-align:middle;margin:10px 0;font-size:0}.layui-laypage>a:first-child,.layui-laypage>a:first-child em{border-radius:2px 0 0 2px}.layui-laypage>a:last-child,.layui-laypage>a:last-child em{border-radius:0 2px 2px 0}.layui-laypage>:first-child{margin-left:0!important}.layui-laypage>:last-child{margin-right:0!important}.layui-laypage a,.layui-laypage button,.layui-laypage input,.layui-laypage select,.layui-laypage span{border:1px solid #e2e2e2}.layui-laypage a,.layui-laypage span{display:inline-block;*display:inline;*zoom:1;vertical-align:middle;padding:0 15px;height:28px;line-height:28px;margin:0 -1px 5px 0;background-color:#fff;color:#333;font-size:12px}.layui-flow-more a *,.layui-laypage input,.layui-table-view select[lay-ignore]{display:inline-block}.layui-laypage a:hover{color:#009688}.layui-laypage em{font-style:normal}.layui-laypage .layui-laypage-spr{color:#999;font-weight:700}.layui-laypage a{text-decoration:none}.layui-laypage .layui-laypage-curr{position:relative}.layui-laypage .layui-laypage-curr em{position:relative;color:#fff}.layui-laypage .layui-laypage-curr .layui-laypage-em{position:absolute;left:-1px;top:-1px;padding:1px;width:100%;height:100%;background-color:#009688}.layui-laypage-em{border-radius:2px}.layui-laypage-next em,.layui-laypage-prev em{font-family:Sim sun;font-size:16px}.layui-laypage .layui-laypage-count,.layui-laypage .layui-laypage-limits,.layui-laypage .layui-laypage-refresh,.layui-laypage .layui-laypage-skip{margin-left:10px;margin-right:10px;padding:0;border:none}.layui-laypage .layui-laypage-limits,.layui-laypage .layui-laypage-refresh{vertical-align:top}.layui-laypage .layui-laypage-refresh i{font-size:18px;cursor:pointer}.layui-laypage select{height:22px;padding:3px;border-radius:2px;cursor:pointer}.layui-laypage .layui-laypage-skip{height:30px;line-height:30px;color:#999}.layui-laypage button,.layui-laypage input{height:30px;line-height:30px;border-radius:2px;vertical-align:top;background-color:#fff;box-sizing:border-box}.layui-laypage input{width:40px;margin:0 10px;padding:0 3px;text-align:center}.layui-laypage input:focus,.layui-laypage select:focus{border-color:#009688!important}.layui-laypage button{margin-left:10px;padding:0 10px;cursor:pointer}.layui-table,.layui-table-view{margin:10px 0}.layui-flow-more{margin:10px 0;text-align:center;color:#999;font-size:14px}.layui-flow-more a{height:32px;line-height:32px}.layui-flow-more a *{vertical-align:top}.layui-flow-more a cite{padding:0 20px;border-radius:3px;background-color:#eee;color:#333;font-style:normal}.layui-flow-more a cite:hover{opacity:.8}.layui-flow-more a i{font-size:30px;color:#737383}.layui-table{width:100%;background-color:#fff;color:#666}.layui-table tr{transition:all .3s;-webkit-transition:all .3s}.layui-table th{text-align:left;font-weight:400}.layui-table tbody tr:hover,.layui-table thead tr,.layui-table-click,.layui-table-header,.layui-table-hover,.layui-table-mend,.layui-table-patch,.layui-table-tool,.layui-table-total,.layui-table-total tr,.layui-table[lay-even] tr:nth-child(even){background-color:#f2f2f2}.layui-table td,.layui-table th,.layui-table-col-set,.layui-table-fixed-r,.layui-table-grid-down,.layui-table-header,.layui-table-page,.layui-table-tips-main,.layui-table-tool,.layui-table-total,.layui-table-view,.layui-table[lay-skin=line],.layui-table[lay-skin=row]{border-width:1px;border-style:solid;border-color:#e6e6e6}.layui-table td,.layui-table th{position:relative;padding:9px 15px;min-height:20px;line-height:20px;font-size:14px}.layui-table[lay-skin=line] td,.layui-table[lay-skin=line] th{border-width:0 0 1px}.layui-table[lay-skin=row] td,.layui-table[lay-skin=row] th{border-width:0 1px 0 0}.layui-table[lay-skin=nob] td,.layui-table[lay-skin=nob] th{border:none}.layui-table img{max-width:100px}.layui-table[lay-size=lg] td,.layui-table[lay-size=lg] th{padding:15px 30px}.layui-table-view .layui-table[lay-size=lg] .layui-table-cell{height:40px;line-height:40px}.layui-table[lay-size=sm] td,.layui-table[lay-size=sm] th{font-size:12px;padding:5px 10px}.layui-table-view .layui-table[lay-size=sm] .layui-table-cell{height:20px;line-height:20px}.layui-table[lay-data]{display:none}.layui-table-box{position:relative;overflow:hidden}.layui-table-view .layui-table{position:relative;width:auto;margin:0}.layui-table-view .layui-table[lay-skin=line]{border-width:0 1px 0 0}.layui-table-view .layui-table[lay-skin=row]{border-width:0 0 1px}.layui-table-view .layui-table td,.layui-table-view .layui-table th{padding:5px 0;border-top:none;border-left:none}.layui-table-view .layui-table th.layui-unselect .layui-table-cell span{cursor:pointer}.layui-table-view .layui-table td{cursor:default}.layui-table-view .layui-table td[data-edit=text]{cursor:text}.layui-table-view .layui-form-checkbox[lay-skin=primary] i{width:18px;height:18px}.layui-table-view .layui-form-radio{line-height:0;padding:0}.layui-table-view .layui-form-radio>i{margin:0;font-size:20px}.layui-table-init{position:absolute;left:0;top:0;width:100%;height:100%;text-align:center;z-index:110}.layui-table-init .layui-icon{position:absolute;left:50%;top:50%;margin:-15px 0 0 -15px;font-size:30px;color:#c2c2c2}.layui-table-header{border-width:0 0 1px;overflow:hidden}.layui-table-header .layui-table{margin-bottom:-1px}.layui-table-tool .layui-inline[lay-event]{position:relative;width:26px;height:26px;padding:5px;line-height:16px;margin-right:10px;text-align:center;color:#333;border:1px solid #ccc;cursor:pointer;-webkit-transition:.5s all;transition:.5s all}.layui-table-tool .layui-inline[lay-event]:hover{border:1px solid #999}.layui-table-tool-temp{padding-right:120px}.layui-table-tool-self{position:absolute;right:17px;top:10px}.layui-table-tool .layui-table-tool-self .layui-inline[lay-event]{margin:0 0 0 10px}.layui-table-tool-panel{position:absolute;top:29px;left:-1px;padding:5px 0;min-width:150px;min-height:40px;border:1px solid #d2d2d2;text-align:left;overflow-y:auto;background-color:#fff;box-shadow:0 2px 4px rgba(0,0,0,.12)}.layui-table-cell,.layui-table-tool-panel li{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layui-table-tool-panel li{padding:0 10px;line-height:30px;-webkit-transition:.5s all;transition:.5s all}.layui-table-tool-panel li .layui-form-checkbox[lay-skin=primary]{width:100%;padding-left:28px}.layui-table-tool-panel li:hover{background-color:#f2f2f2}.layui-table-tool-panel li .layui-form-checkbox[lay-skin=primary] i{position:absolute;left:0;top:0}.layui-table-tool-panel li .layui-form-checkbox[lay-skin=primary] span{padding:0}.layui-table-tool .layui-table-tool-self .layui-table-tool-panel{left:auto;right:-1px}.layui-table-col-set{position:absolute;right:0;top:0;width:20px;height:100%;border-width:0 0 0 1px;background-color:#fff}.layui-table-sort{width:10px;height:20px;margin-left:5px;cursor:pointer!important}.layui-table-sort .layui-edge{position:absolute;left:5px;border-width:5px}.layui-table-sort .layui-table-sort-asc{top:3px;border-top:none;border-bottom-style:solid;border-bottom-color:#b2b2b2}.layui-table-sort .layui-table-sort-asc:hover{border-bottom-color:#666}.layui-table-sort .layui-table-sort-desc{bottom:5px;border-bottom:none;border-top-style:solid;border-top-color:#b2b2b2}.layui-table-sort .layui-table-sort-desc:hover{border-top-color:#666}.layui-table-sort[lay-sort=asc] .layui-table-sort-asc{border-bottom-color:#000}.layui-table-sort[lay-sort=desc] .layui-table-sort-desc{border-top-color:#000}.layui-table-cell{height:28px;line-height:28px;padding:0 15px;position:relative;box-sizing:border-box}.layui-table-cell .layui-form-checkbox[lay-skin=primary]{top:-1px;padding:0}.layui-table-cell .layui-table-link{color:#01AAED}.laytable-cell-checkbox,.laytable-cell-numbers,.laytable-cell-radio,.laytable-cell-space{padding:0;text-align:center}.layui-table-body{position:relative;overflow:auto;margin-right:-1px;margin-bottom:-1px}.layui-table-body .layui-none{line-height:26px;padding:15px;text-align:center;color:#999}.layui-table-fixed{position:absolute;left:0;top:0;z-index:101}.layui-table-fixed .layui-table-body{overflow:hidden}.layui-table-fixed-l{box-shadow:0 -1px 8px rgba(0,0,0,.08)}.layui-table-fixed-r{left:auto;right:-1px;border-width:0 0 0 1px;box-shadow:-1px 0 8px rgba(0,0,0,.08)}.layui-table-fixed-r .layui-table-header{position:relative;overflow:visible}.layui-table-mend{position:absolute;right:-49px;top:0;height:100%;width:50px}.layui-table-tool{position:relative;z-index:890;width:100%;min-height:50px;line-height:30px;padding:10px 15px;border-width:0 0 1px}.layui-table-tool .layui-btn-container{margin-bottom:-10px}.layui-table-page,.layui-table-total{border-width:1px 0 0;margin-bottom:-1px;overflow:hidden}.layui-table-page{position:relative;width:100%;padding:7px 7px 0;height:41px;font-size:12px;white-space:nowrap}.layui-table-page>div{height:26px}.layui-table-page .layui-laypage{margin:0}.layui-table-page .layui-laypage a,.layui-table-page .layui-laypage span{height:26px;line-height:26px;margin-bottom:10px;border:none;background:0 0}.layui-table-page .layui-laypage a,.layui-table-page .layui-laypage span.layui-laypage-curr{padding:0 12px}.layui-table-page .layui-laypage span{margin-left:0;padding:0}.layui-table-page .layui-laypage .layui-laypage-prev{margin-left:-7px!important}.layui-table-page .layui-laypage .layui-laypage-curr .layui-laypage-em{left:0;top:0;padding:0}.layui-table-page .layui-laypage button,.layui-table-page .layui-laypage input{height:26px;line-height:26px}.layui-table-page .layui-laypage input{width:40px}.layui-table-page .layui-laypage button{padding:0 10px}.layui-table-page select{height:18px}.layui-table-patch .layui-table-cell{padding:0;width:30px}.layui-table-edit{position:absolute;left:0;top:0;width:100%;height:100%;padding:0 14px 1px;border-radius:0;box-shadow:1px 1px 20px rgba(0,0,0,.15)}.layui-table-edit:focus{border-color:#5FB878!important}select.layui-table-edit{padding:0 0 0 10px;border-color:#C9C9C9}.layui-table-view .layui-form-checkbox,.layui-table-view .layui-form-radio,.layui-table-view .layui-form-switch{top:0;margin:0;box-sizing:content-box}.layui-table-view .layui-form-checkbox{top:-1px;height:26px;line-height:26px}.layui-table-view .layui-form-checkbox i{height:26px}.layui-table-grid .layui-table-cell{overflow:visible}.layui-table-grid-down{position:absolute;top:0;right:0;width:26px;height:100%;padding:5px 0;border-width:0 0 0 1px;text-align:center;background-color:#fff;color:#999;cursor:pointer}.layui-table-grid-down .layui-icon{position:absolute;top:50%;left:50%;margin:-8px 0 0 -8px}.layui-table-grid-down:hover{background-color:#fbfbfb}body .layui-table-tips .layui-layer-content{background:0 0;padding:0;box-shadow:0 1px 6px rgba(0,0,0,.12)}.layui-table-tips-main{margin:-44px 0 0 -1px;max-height:150px;padding:8px 15px;font-size:14px;overflow-y:scroll;background-color:#fff;color:#666}.layui-table-tips-c{position:absolute;right:-3px;top:-13px;width:20px;height:20px;padding:3px;cursor:pointer;background-color:#666;border-radius:50%;color:#fff}.layui-table-tips-c:hover{background-color:#777}.layui-table-tips-c:before{position:relative;right:-2px}.layui-upload-file{display:none!important;opacity:.01;filter:Alpha(opacity=1)}.layui-upload-drag,.layui-upload-form,.layui-upload-wrap{display:inline-block}.layui-upload-list{margin:10px 0}.layui-upload-choose{padding:0 10px;color:#999}.layui-upload-drag{position:relative;padding:30px;border:1px dashed #e2e2e2;background-color:#fff;text-align:center;cursor:pointer;color:#999}.layui-upload-drag .layui-icon{font-size:50px;color:#009688}.layui-upload-drag[lay-over]{border-color:#009688}.layui-upload-iframe{position:absolute;width:0;height:0;border:0;visibility:hidden}.layui-upload-wrap{position:relative;vertical-align:middle}.layui-upload-wrap .layui-upload-file{display:block!important;position:absolute;left:0;top:0;z-index:10;font-size:100px;width:100%;height:100%;opacity:.01;filter:Alpha(opacity=1);cursor:pointer}.layui-transfer-active,.layui-transfer-box{display:inline-block;vertical-align:middle}.layui-transfer-box,.layui-transfer-header,.layui-transfer-search{border-width:0;border-style:solid;border-color:#e6e6e6}.layui-transfer-box{position:relative;border-width:1px;width:200px;height:360px;border-radius:2px;background-color:#fff}.layui-transfer-box .layui-form-checkbox{width:100%;margin:0!important}.layui-transfer-header{height:38px;line-height:38px;padding:0 10px;border-bottom-width:1px}.layui-transfer-search{position:relative;padding:10px;border-bottom-width:1px}.layui-transfer-search .layui-input{height:32px;padding-left:30px;font-size:12px}.layui-transfer-search .layui-icon-search{position:absolute;left:20px;top:50%;margin-top:-8px;color:#666}.layui-transfer-active{margin:0 15px}.layui-transfer-active .layui-btn{display:block;margin:0;padding:0 15px;background-color:#5FB878;border-color:#5FB878;color:#fff}.layui-transfer-active .layui-btn-disabled{background-color:#FBFBFB;border-color:#e6e6e6;color:#C9C9C9}.layui-transfer-active .layui-btn:first-child{margin-bottom:15px}.layui-transfer-active .layui-btn .layui-icon{margin:0;font-size:14px!important}.layui-transfer-data{padding:5px 0;overflow:auto}.layui-transfer-data li{height:32px;line-height:32px;padding:0 10px}.layui-transfer-data li:hover{background-color:#f2f2f2;transition:.5s all}.layui-transfer-data .layui-none{padding:15px 10px;text-align:center;color:#999}.layui-nav{position:relative;padding:0 20px;background-color:#393D49;color:#fff;border-radius:2px;font-size:0;box-sizing:border-box}.layui-nav *{font-size:14px}.layui-nav .layui-nav-item{position:relative;display:inline-block;*display:inline;*zoom:1;vertical-align:middle;line-height:60px}.layui-nav .layui-nav-item a{display:block;padding:0 20px;color:#fff;color:rgba(255,255,255,.7);transition:all .3s;-webkit-transition:all .3s}.layui-nav .layui-this:after,.layui-nav-bar,.layui-nav-tree .layui-nav-itemed:after{position:absolute;left:0;top:0;width:0;height:5px;background-color:#5FB878;transition:all .2s;-webkit-transition:all .2s}.layui-nav-bar{z-index:1000}.layui-nav .layui-nav-item a:hover,.layui-nav .layui-this a{color:#fff}.layui-nav .layui-this:after{content:'';top:auto;bottom:0;width:100%}.layui-nav-img{width:30px;height:30px;margin-right:10px;border-radius:50%}.layui-nav .layui-nav-more{content:'';width:0;height:0;border-style:solid dashed dashed;border-color:#fff transparent transparent;overflow:hidden;cursor:pointer;transition:all .2s;-webkit-transition:all .2s;position:absolute;top:50%;right:3px;margin-top:-3px;border-width:6px;border-top-color:rgba(255,255,255,.7)}.layui-nav .layui-nav-mored,.layui-nav-itemed>a .layui-nav-more{margin-top:-9px;border-style:dashed dashed solid;border-color:transparent transparent #fff}.layui-nav-child{display:none;position:absolute;left:0;top:65px;min-width:100%;line-height:36px;padding:5px 0;box-shadow:0 2px 4px rgba(0,0,0,.12);border:1px solid #d2d2d2;background-color:#fff;z-index:100;border-radius:2px;white-space:nowrap}.layui-nav .layui-nav-child a{color:#333}.layui-nav .layui-nav-child a:hover{background-color:#f2f2f2;color:#000}.layui-nav-child dd{position:relative}.layui-nav .layui-nav-child dd.layui-this a,.layui-nav-child dd.layui-this{background-color:#5FB878;color:#fff}.layui-nav-child dd.layui-this:after{display:none}.layui-nav-tree{width:200px;padding:0}.layui-nav-tree .layui-nav-item{display:block;width:100%;line-height:45px}.layui-nav-tree .layui-nav-item a{position:relative;height:45px;line-height:45px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.layui-nav-tree .layui-nav-item a:hover{background-color:#4E5465}.layui-nav-tree .layui-nav-bar{width:5px;height:0;background-color:#009688}.layui-nav-tree .layui-nav-child dd.layui-this,.layui-nav-tree .layui-nav-child dd.layui-this a,.layui-nav-tree .layui-this,.layui-nav-tree .layui-this>a,.layui-nav-tree .layui-this>a:hover{background-color:#009688;color:#fff}.layui-nav-tree .layui-this:after{display:none}.layui-nav-itemed>a,.layui-nav-tree .layui-nav-title a,.layui-nav-tree .layui-nav-title a:hover{color:#fff!important}.layui-nav-tree .layui-nav-child{position:relative;z-index:0;top:0;border:none;box-shadow:none}.layui-nav-tree .layui-nav-child a{height:40px;line-height:40px;color:#fff;color:rgba(255,255,255,.7)}.layui-nav-tree .layui-nav-child,.layui-nav-tree .layui-nav-child a:hover{background:0 0;color:#fff}.layui-nav-tree .layui-nav-more{right:10px}.layui-nav-itemed>.layui-nav-child{display:block;padding:0;background-color:rgba(0,0,0,.3)!important}.layui-nav-itemed>.layui-nav-child>.layui-this>.layui-nav-child{display:block}.layui-nav-side{position:fixed;top:0;bottom:0;left:0;overflow-x:hidden;z-index:999}.layui-bg-blue .layui-nav-bar,.layui-bg-blue .layui-nav-itemed:after,.layui-bg-blue .layui-this:after{background-color:#93D1FF}.layui-bg-blue .layui-nav-child dd.layui-this{background-color:#1E9FFF}.layui-bg-blue .layui-nav-itemed>a,.layui-nav-tree.layui-bg-blue .layui-nav-title a,.layui-nav-tree.layui-bg-blue .layui-nav-title a:hover{background-color:#007DDB!important}.layui-breadcrumb{font-size:0}.layui-breadcrumb>*{font-size:14px}.layui-breadcrumb a{color:#999!important}.layui-breadcrumb a:hover{color:#5FB878!important}.layui-breadcrumb a cite{color:#666;font-style:normal}.layui-breadcrumb span[lay-separator]{margin:0 10px;color:#999}.layui-tab{margin:10px 0;text-align:left!important}.layui-tab[overflow]>.layui-tab-title{overflow:hidden}.layui-tab-title{position:relative;left:0;height:40px;white-space:nowrap;font-size:0;border-bottom-width:1px;border-bottom-style:solid;transition:all .2s;-webkit-transition:all .2s}.layui-tab-title li{display:inline-block;*display:inline;*zoom:1;vertical-align:middle;font-size:14px;transition:all .2s;-webkit-transition:all .2s;position:relative;line-height:40px;min-width:65px;padding:0 15px;text-align:center;cursor:pointer}.layui-tab-title li a{display:block}.layui-tab-title .layui-this{color:#000}.layui-tab-title .layui-this:after{position:absolute;left:0;top:0;content:'';width:100%;height:41px;border-width:1px;border-style:solid;border-bottom-color:#fff;border-radius:2px 2px 0 0;box-sizing:border-box;pointer-events:none}.layui-tab-bar{position:absolute;right:0;top:0;z-index:10;width:30px;height:39px;line-height:39px;border-width:1px;border-style:solid;border-radius:2px;text-align:center;background-color:#fff;cursor:pointer}.layui-tab-bar .layui-icon{position:relative;display:inline-block;top:3px;transition:all .3s;-webkit-transition:all .3s}.layui-tab-item{display:none}.layui-tab-more{padding-right:30px;height:auto!important;white-space:normal!important}.layui-tab-more li.layui-this:after{border-bottom-color:#e2e2e2;border-radius:2px}.layui-tab-more .layui-tab-bar .layui-icon{top:-2px;top:3px\9;-webkit-transform:rotate(180deg);transform:rotate(180deg)}:root .layui-tab-more .layui-tab-bar .layui-icon{top:-2px\0/IE9}.layui-tab-content{padding:10px}.layui-tab-title li .layui-tab-close{position:relative;display:inline-block;width:18px;height:18px;line-height:20px;margin-left:8px;top:1px;text-align:center;font-size:14px;color:#c2c2c2;transition:all .2s;-webkit-transition:all .2s}.layui-tab-title li .layui-tab-close:hover{border-radius:2px;background-color:#FF5722;color:#fff}.layui-tab-brief>.layui-tab-title .layui-this{color:#009688}.layui-tab-brief>.layui-tab-more li.layui-this:after,.layui-tab-brief>.layui-tab-title .layui-this:after{border:none;border-radius:0;border-bottom:2px solid #5FB878}.layui-tab-brief[overflow]>.layui-tab-title .layui-this:after{top:-1px}.layui-tab-card{border-width:1px;border-style:solid;border-radius:2px;box-shadow:0 2px 5px 0 rgba(0,0,0,.1)}.layui-tab-card>.layui-tab-title{background-color:#f2f2f2}.layui-tab-card>.layui-tab-title li{margin-right:-1px;margin-left:-1px}.layui-tab-card>.layui-tab-title .layui-this{background-color:#fff}.layui-tab-card>.layui-tab-title .layui-this:after{border-top:none;border-width:1px;border-bottom-color:#fff}.layui-tab-card>.layui-tab-title .layui-tab-bar{height:40px;line-height:40px;border-radius:0;border-top:none;border-right:none}.layui-tab-card>.layui-tab-more .layui-this{background:0 0;color:#5FB878}.layui-tab-card>.layui-tab-more .layui-this:after{border:none}.layui-timeline{padding-left:5px}.layui-timeline-item{position:relative;padding-bottom:20px}.layui-timeline-axis{position:absolute;left:-5px;top:0;z-index:10;width:20px;height:20px;line-height:20px;background-color:#fff;color:#5FB878;border-radius:50%;text-align:center;cursor:pointer}.layui-timeline-axis:hover{color:#FF5722}.layui-timeline-item:before{content:'';position:absolute;left:5px;top:0;z-index:0;width:1px;height:100%}.layui-timeline-item:last-child:before{display:none}.layui-timeline-item:first-child:before{display:block}.layui-timeline-content{padding-left:25px}.layui-timeline-title{position:relative;margin-bottom:10px}.layui-badge,.layui-badge-dot,.layui-badge-rim{position:relative;display:inline-block;padding:0 6px;font-size:12px;text-align:center;background-color:#FF5722;color:#fff;border-radius:2px}.layui-badge{height:18px;line-height:18px}.layui-badge-dot{width:8px;height:8px;padding:0;border-radius:50%}.layui-badge-rim{height:18px;line-height:18px;border-width:1px;border-style:solid;background-color:#fff;color:#666}.layui-btn .layui-badge,.layui-btn .layui-badge-dot{margin-left:5px}.layui-nav .layui-badge,.layui-nav .layui-badge-dot{position:absolute;top:50%;margin:-8px 6px 0}.layui-tab-title .layui-badge,.layui-tab-title .layui-badge-dot{left:5px;top:-2px}.layui-carousel{position:relative;left:0;top:0;background-color:#f8f8f8}.layui-carousel>[carousel-item]{position:relative;width:100%;height:100%;overflow:hidden}.layui-carousel>[carousel-item]:before{position:absolute;content:'\e63d';left:50%;top:50%;width:100px;line-height:20px;margin:-10px 0 0 -50px;text-align:center;color:#c2c2c2;font-family:layui-icon!important;font-size:30px;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.layui-carousel>[carousel-item]>*{display:none;position:absolute;left:0;top:0;width:100%;height:100%;background-color:#f8f8f8;transition-duration:.3s;-webkit-transition-duration:.3s}.layui-carousel-updown>*{-webkit-transition:.3s ease-in-out up;transition:.3s ease-in-out up}.layui-carousel-arrow{display:none\9;opacity:0;position:absolute;left:10px;top:50%;margin-top:-18px;width:36px;height:36px;line-height:36px;text-align:center;font-size:20px;border:0;border-radius:50%;background-color:rgba(0,0,0,.2);color:#fff;-webkit-transition-duration:.3s;transition-duration:.3s;cursor:pointer}.layui-carousel-arrow[lay-type=add]{left:auto!important;right:10px}.layui-carousel:hover .layui-carousel-arrow[lay-type=add],.layui-carousel[lay-arrow=always] .layui-carousel-arrow[lay-type=add]{right:20px}.layui-carousel[lay-arrow=always] .layui-carousel-arrow{opacity:1;left:20px}.layui-carousel[lay-arrow=none] .layui-carousel-arrow{display:none}.layui-carousel-arrow:hover,.layui-carousel-ind ul:hover{background-color:rgba(0,0,0,.35)}.layui-carousel:hover .layui-carousel-arrow{display:block\9;opacity:1;left:20px}.layui-carousel-ind{position:relative;top:-35px;width:100%;line-height:0!important;text-align:center;font-size:0}.layui-carousel[lay-indicator=outside]{margin-bottom:30px}.layui-carousel[lay-indicator=outside] .layui-carousel-ind{top:10px}.layui-carousel[lay-indicator=outside] .layui-carousel-ind ul{background-color:rgba(0,0,0,.5)}.layui-carousel[lay-indicator=none] .layui-carousel-ind{display:none}.layui-carousel-ind ul{display:inline-block;padding:5px;background-color:rgba(0,0,0,.2);border-radius:10px;-webkit-transition-duration:.3s;transition-duration:.3s}.layui-carousel-ind li{display:inline-block;width:10px;height:10px;margin:0 3px;font-size:14px;background-color:#e2e2e2;background-color:rgba(255,255,255,.5);border-radius:50%;cursor:pointer;-webkit-transition-duration:.3s;transition-duration:.3s}.layui-carousel-ind li:hover{background-color:rgba(255,255,255,.7)}.layui-carousel-ind li.layui-this{background-color:#fff}.layui-carousel>[carousel-item]>.layui-carousel-next,.layui-carousel>[carousel-item]>.layui-carousel-prev,.layui-carousel>[carousel-item]>.layui-this{display:block}.layui-carousel>[carousel-item]>.layui-this{left:0}.layui-carousel>[carousel-item]>.layui-carousel-prev{left:-100%}.layui-carousel>[carousel-item]>.layui-carousel-next{left:100%}.layui-carousel>[carousel-item]>.layui-carousel-next.layui-carousel-left,.layui-carousel>[carousel-item]>.layui-carousel-prev.layui-carousel-right{left:0}.layui-carousel>[carousel-item]>.layui-this.layui-carousel-left{left:-100%}.layui-carousel>[carousel-item]>.layui-this.layui-carousel-right{left:100%}.layui-carousel[lay-anim=updown] .layui-carousel-arrow{left:50%!important;top:20px;margin:0 0 0 -18px}.layui-carousel[lay-anim=updown]>[carousel-item]>*,.layui-carousel[lay-anim=fade]>[carousel-item]>*{left:0!important}.layui-carousel[lay-anim=updown] .layui-carousel-arrow[lay-type=add]{top:auto!important;bottom:20px}.layui-carousel[lay-anim=updown] .layui-carousel-ind{position:absolute;top:50%;right:20px;width:auto;height:auto}.layui-carousel[lay-anim=updown] .layui-carousel-ind ul{padding:3px 5px}.layui-carousel[lay-anim=updown] .layui-carousel-ind li{display:block;margin:6px 0}.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-this{top:0}.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-carousel-prev{top:-100%}.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-carousel-next{top:100%}.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-carousel-next.layui-carousel-left,.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-carousel-prev.layui-carousel-right{top:0}.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-this.layui-carousel-left{top:-100%}.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-this.layui-carousel-right{top:100%}.layui-carousel[lay-anim=fade]>[carousel-item]>.layui-carousel-next,.layui-carousel[lay-anim=fade]>[carousel-item]>.layui-carousel-prev{opacity:0}.layui-carousel[lay-anim=fade]>[carousel-item]>.layui-carousel-next.layui-carousel-left,.layui-carousel[lay-anim=fade]>[carousel-item]>.layui-carousel-prev.layui-carousel-right{opacity:1}.layui-carousel[lay-anim=fade]>[carousel-item]>.layui-this.layui-carousel-left,.layui-carousel[lay-anim=fade]>[carousel-item]>.layui-this.layui-carousel-right{opacity:0}.layui-fixbar{position:fixed;right:15px;bottom:15px;z-index:999999}.layui-fixbar li{width:50px;height:50px;line-height:50px;margin-bottom:1px;text-align:center;cursor:pointer;font-size:30px;background-color:#9F9F9F;color:#fff;border-radius:2px;opacity:.95}.layui-fixbar li:hover{opacity:.85}.layui-fixbar li:active{opacity:1}.layui-fixbar .layui-fixbar-top{display:none;font-size:40px}body .layui-util-face{border:none;background:0 0}body .layui-util-face .layui-layer-content{padding:0;background-color:#fff;color:#666;box-shadow:none}.layui-util-face .layui-layer-TipsG{display:none}.layui-util-face ul{position:relative;width:372px;padding:10px;border:1px solid #D9D9D9;background-color:#fff;box-shadow:0 0 20px rgba(0,0,0,.2)}.layui-util-face ul li{cursor:pointer;float:left;border:1px solid #e8e8e8;height:22px;width:26px;overflow:hidden;margin:-1px 0 0 -1px;padding:4px 2px;text-align:center}.layui-util-face ul li:hover{position:relative;z-index:2;border:1px solid #eb7350;background:#fff9ec}.layui-code{position:relative;margin:10px 0;padding:15px;line-height:20px;border:1px solid #ddd;border-left-width:6px;background-color:#F2F2F2;color:#333;font-family:Courier New;font-size:12px}.layui-rate,.layui-rate *{display:inline-block;vertical-align:middle}.layui-rate{padding:10px 5px 10px 0;font-size:0}.layui-rate li i.layui-icon{font-size:20px;color:#FFB800;margin-right:5px;transition:all .3s;-webkit-transition:all .3s}.layui-rate li i:hover{cursor:pointer;transform:scale(1.12);-webkit-transform:scale(1.12)}.layui-rate[readonly] li i:hover{cursor:default;transform:scale(1)}.layui-colorpicker{width:26px;height:26px;border:1px solid #e6e6e6;padding:5px;border-radius:2px;line-height:24px;display:inline-block;cursor:pointer;transition:all .3s;-webkit-transition:all .3s}.layui-colorpicker:hover{border-color:#d2d2d2}.layui-colorpicker.layui-colorpicker-lg{width:34px;height:34px;line-height:32px}.layui-colorpicker.layui-colorpicker-sm{width:24px;height:24px;line-height:22px}.layui-colorpicker.layui-colorpicker-xs{width:22px;height:22px;line-height:20px}.layui-colorpicker-trigger-bgcolor{display:block;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==);border-radius:2px}.layui-colorpicker-trigger-span{display:block;height:100%;box-sizing:border-box;border:1px solid rgba(0,0,0,.15);border-radius:2px;text-align:center}.layui-colorpicker-trigger-i{display:inline-block;color:#FFF;font-size:12px}.layui-colorpicker-trigger-i.layui-icon-close{color:#999}.layui-colorpicker-main{position:absolute;z-index:66666666;width:280px;padding:7px;background:#FFF;border:1px solid #d2d2d2;border-radius:2px;box-shadow:0 2px 4px rgba(0,0,0,.12)}.layui-colorpicker-main-wrapper{height:180px;position:relative}.layui-colorpicker-basis{width:260px;height:100%;position:relative}.layui-colorpicker-basis-white{width:100%;height:100%;position:absolute;top:0;left:0;background:linear-gradient(90deg,#FFF,hsla(0,0%,100%,0))}.layui-colorpicker-basis-black{width:100%;height:100%;position:absolute;top:0;left:0;background:linear-gradient(0deg,#000,transparent)}.layui-colorpicker-basis-cursor{width:10px;height:10px;border:1px solid #FFF;border-radius:50%;position:absolute;top:-3px;right:-3px;cursor:pointer}.layui-colorpicker-side{position:absolute;top:0;right:0;width:12px;height:100%;background:linear-gradient(red,#FF0,#0F0,#0FF,#00F,#F0F,red)}.layui-colorpicker-side-slider{width:100%;height:5px;box-shadow:0 0 1px #888;box-sizing:border-box;background:#FFF;border-radius:1px;border:1px solid #f0f0f0;cursor:pointer;position:absolute;left:0}.layui-colorpicker-main-alpha{display:none;height:12px;margin-top:7px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.layui-colorpicker-alpha-bgcolor{height:100%;position:relative}.layui-colorpicker-alpha-slider{width:5px;height:100%;box-shadow:0 0 1px #888;box-sizing:border-box;background:#FFF;border-radius:1px;border:1px solid #f0f0f0;cursor:pointer;position:absolute;top:0}.layui-colorpicker-main-pre{padding-top:7px;font-size:0}.layui-colorpicker-pre{width:20px;height:20px;border-radius:2px;display:inline-block;margin-left:6px;margin-bottom:7px;cursor:pointer}.layui-colorpicker-pre:nth-child(11n+1){margin-left:0}.layui-colorpicker-pre-isalpha{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.layui-colorpicker-pre.layui-this{box-shadow:0 0 3px 2px rgba(0,0,0,.15)}.layui-colorpicker-pre>div{height:100%;border-radius:2px}.layui-colorpicker-main-input{text-align:right;padding-top:7px}.layui-colorpicker-main-input .layui-btn-container .layui-btn{margin:0 0 0 10px}.layui-colorpicker-main-input div.layui-inline{float:left;margin-right:10px;font-size:14px}.layui-colorpicker-main-input input.layui-input{width:150px;height:30px;color:#666}.layui-slider{height:4px;background:#e2e2e2;border-radius:3px;position:relative;cursor:pointer}.layui-slider-bar{border-radius:3px;position:absolute;height:100%}.layui-slider-step{position:absolute;top:0;width:4px;height:4px;border-radius:50%;background:#FFF;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.layui-slider-wrap{width:36px;height:36px;position:absolute;top:-16px;-webkit-transform:translateX(-50%);transform:translateX(-50%);z-index:10;text-align:center}.layui-slider-wrap-btn{width:12px;height:12px;border-radius:50%;background:#FFF;display:inline-block;vertical-align:middle;cursor:pointer;transition:.3s}.layui-slider-wrap:after{content:"";height:100%;display:inline-block;vertical-align:middle}.layui-slider-wrap-btn.layui-slider-hover,.layui-slider-wrap-btn:hover{transform:scale(1.2)}.layui-slider-wrap-btn.layui-disabled:hover{transform:scale(1)!important}.layui-slider-tips{position:absolute;top:-42px;z-index:66666666;white-space:nowrap;display:none;-webkit-transform:translateX(-50%);transform:translateX(-50%);color:#FFF;background:#000;border-radius:3px;height:25px;line-height:25px;padding:0 10px}.layui-slider-tips:after{content:'';position:absolute;bottom:-12px;left:50%;margin-left:-6px;width:0;height:0;border-width:6px;border-style:solid;border-color:#000 transparent transparent}.layui-slider-input{width:70px;height:32px;border:1px solid #e6e6e6;border-radius:3px;font-size:16px;line-height:32px;position:absolute;right:0;top:-15px}.layui-slider-input-btn{display:none;position:absolute;top:0;right:0;width:20px;height:100%;border-left:1px solid #d2d2d2}.layui-slider-input-btn i{cursor:pointer;position:absolute;right:0;bottom:0;width:20px;height:50%;font-size:12px;line-height:16px;text-align:center;color:#999}.layui-slider-input-btn i:first-child{top:0;border-bottom:1px solid #d2d2d2}.layui-slider-input-txt{height:100%;font-size:14px}.layui-slider-input-txt input{height:100%;border:none}.layui-slider-input-btn i:hover{color:#009688}.layui-slider-vertical{width:4px;margin-left:34px}.layui-slider-vertical .layui-slider-bar{width:4px}.layui-slider-vertical .layui-slider-step{top:auto;left:0;-webkit-transform:translateY(50%);transform:translateY(50%)}.layui-slider-vertical .layui-slider-wrap{top:auto;left:-16px;-webkit-transform:translateY(50%);transform:translateY(50%)}.layui-slider-vertical .layui-slider-tips{top:auto;left:2px}@media \0screen{.layui-slider-wrap-btn{margin-left:-20px}.layui-slider-vertical .layui-slider-wrap-btn{margin-left:0;margin-bottom:-20px}.layui-slider-vertical .layui-slider-tips{margin-left:-8px}.layui-slider>span{margin-left:8px}}.layui-tree{line-height:22px}.layui-tree .layui-form-checkbox{margin:0!important}.layui-tree-set{width:100%;position:relative}.layui-tree-pack{display:none;padding-left:20px;position:relative}.layui-tree-iconClick,.layui-tree-main{display:inline-block;vertical-align:middle}.layui-tree-line .layui-tree-pack{padding-left:27px}.layui-tree-line .layui-tree-set .layui-tree-set:after{content:'';position:absolute;top:14px;left:-9px;width:17px;height:0;border-top:1px dotted #c0c4cc}.layui-tree-entry{position:relative;padding:3px 0;height:20px;white-space:nowrap}.layui-tree-entry:hover{background-color:#eee}.layui-tree-line .layui-tree-entry:hover{background-color:rgba(0,0,0,0)}.layui-tree-line .layui-tree-entry:hover .layui-tree-txt{color:#999;text-decoration:underline;transition:.3s}.layui-tree-main{cursor:pointer;padding-right:10px}.layui-tree-line .layui-tree-set:before{content:'';position:absolute;top:0;left:-9px;width:0;height:100%;border-left:1px dotted #c0c4cc}.layui-tree-line .layui-tree-set.layui-tree-setLineShort:before{height:13px}.layui-tree-line .layui-tree-set.layui-tree-setHide:before{height:0}.layui-tree-iconClick{position:relative;height:20px;line-height:20px;margin:0 10px;color:#c0c4cc}.layui-tree-icon{height:12px;line-height:12px;width:12px;text-align:center;border:1px solid #c0c4cc}.layui-tree-iconClick .layui-icon{font-size:18px}.layui-tree-icon .layui-icon{font-size:12px;color:#666}.layui-tree-iconArrow{padding:0 5px}.layui-tree-iconArrow:after{content:'';position:absolute;left:4px;top:3px;z-index:100;width:0;height:0;border-width:5px;border-style:solid;border-color:transparent transparent transparent #c0c4cc;transition:.5s}.layui-tree-btnGroup,.layui-tree-editInput{position:relative;vertical-align:middle;display:inline-block}.layui-tree-spread>.layui-tree-entry>.layui-tree-iconClick>.layui-tree-iconArrow:after{transform:rotate(90deg) translate(3px,4px)}.layui-tree-txt{display:inline-block;vertical-align:middle;color:#555}.layui-tree-search{margin-bottom:15px;color:#666}.layui-tree-btnGroup .layui-icon{display:inline-block;vertical-align:middle;padding:0 2px;cursor:pointer}.layui-tree-btnGroup .layui-icon:hover{color:#999;transition:.3s}.layui-tree-entry:hover .layui-tree-btnGroup{visibility:visible}.layui-tree-editInput{height:20px;line-height:20px;padding:0 3px;border:none;background-color:rgba(0,0,0,.05)}.layui-tree-emptyText{text-align:center;color:#999}.layui-anim{-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.layui-anim.layui-icon{display:inline-block}.layui-anim-loop{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.layui-trans,.layui-trans a{transition:all .3s;-webkit-transition:all .3s}@-webkit-keyframes layui-rotate{from{-webkit-transform:rotate(0)}to{-webkit-transform:rotate(360deg)}}@keyframes layui-rotate{from{transform:rotate(0)}to{transform:rotate(360deg)}}.layui-anim-rotate{-webkit-animation-name:layui-rotate;animation-name:layui-rotate;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-timing-function:linear;animation-timing-function:linear}@-webkit-keyframes layui-up{from{-webkit-transform:translate3d(0,100%,0);opacity:.3}to{-webkit-transform:translate3d(0,0,0);opacity:1}}@keyframes layui-up{from{transform:translate3d(0,100%,0);opacity:.3}to{transform:translate3d(0,0,0);opacity:1}}.layui-anim-up{-webkit-animation-name:layui-up;animation-name:layui-up}@-webkit-keyframes layui-upbit{from{-webkit-transform:translate3d(0,30px,0);opacity:.3}to{-webkit-transform:translate3d(0,0,0);opacity:1}}@keyframes layui-upbit{from{transform:translate3d(0,30px,0);opacity:.3}to{transform:translate3d(0,0,0);opacity:1}}.layui-anim-upbit{-webkit-animation-name:layui-upbit;animation-name:layui-upbit}@-webkit-keyframes layui-scale{0%{opacity:.3;-webkit-transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1)}}@keyframes layui-scale{0%{opacity:.3;-ms-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-ms-transform:scale(1);transform:scale(1)}}.layui-anim-scale{-webkit-animation-name:layui-scale;animation-name:layui-scale}@-webkit-keyframes layui-scale-spring{0%{opacity:.5;-webkit-transform:scale(.5)}80%{opacity:.8;-webkit-transform:scale(1.1)}100%{opacity:1;-webkit-transform:scale(1)}}@keyframes layui-scale-spring{0%{opacity:.5;transform:scale(.5)}80%{opacity:.8;transform:scale(1.1)}100%{opacity:1;transform:scale(1)}}.layui-anim-scaleSpring{-webkit-animation-name:layui-scale-spring;animation-name:layui-scale-spring}@-webkit-keyframes layui-fadein{0%{opacity:0}100%{opacity:1}}@keyframes layui-fadein{0%{opacity:0}100%{opacity:1}}.layui-anim-fadein{-webkit-animation-name:layui-fadein;animation-name:layui-fadein}@-webkit-keyframes layui-fadeout{0%{opacity:1}100%{opacity:0}}@keyframes layui-fadeout{0%{opacity:1}100%{opacity:0}}.layui-anim-fadeout{-webkit-animation-name:layui-fadeout;animation-name:layui-fadeout}
\ No newline at end of file
diff --git a/zy-acs-cv/src/main/webapp/static/layui/css/layui.mobile.css b/zy-acs-cv/src/main/webapp/static/layui/css/layui.mobile.css
new file mode 100644
index 0000000..801ee24
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/css/layui.mobile.css
@@ -0,0 +1,2 @@
+/** layui-v2.5.4 MIT License By https://www.layui.com */
+ blockquote,body,button,dd,div,dl,dt,form,h1,h2,h3,h4,h5,h6,input,legend,li,ol,p,td,textarea,th,ul{margin:0;padding:0;-webkit-tap-highlight-color:rgba(0,0,0,0)}html{font:12px 'Helvetica Neue','PingFang SC',STHeitiSC-Light,Helvetica,Arial,sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}a,button,input{-webkit-tap-highlight-color:rgba(255,0,0,0)}a{text-decoration:none;background:0 0}a:active,a:hover{outline:0}table{border-collapse:collapse;border-spacing:0}li{list-style:none}b,strong{font-weight:700}h1,h2,h3,h4,h5,h6{font-weight:500}address,cite,dfn,em,var{font-style:normal}dfn{font-style:italic}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}img{border:0;vertical-align:bottom}.layui-inline,input,label{vertical-align:middle}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0;outline:0}button,select{text-transform:none}select{-webkit-appearance:none;border:none}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}@font-face{font-family:layui-icon;src:url(../font/iconfont.eot?v=1.0.7);src:url(../font/iconfont.eot?v=1.0.7#iefix) format('embedded-opentype'),url(../font/iconfont.woff?v=1.0.7) format('woff'),url(../font/iconfont.ttf?v=1.0.7) format('truetype'),url(../font/iconfont.svg?v=1.0.7#iconfont) format('svg')}.layui-icon{font-family:layui-icon!important;font-size:16px;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.layui-box,.layui-box *{-webkit-box-sizing:content-box!important;-moz-box-sizing:content-box!important;box-sizing:content-box!important}.layui-border-box,.layui-border-box *{-webkit-box-sizing:border-box!important;-moz-box-sizing:border-box!important;box-sizing:border-box!important}.layui-inline{position:relative;display:inline-block;*display:inline;*zoom:1}.layui-edge,.layui-upload-iframe{position:absolute;width:0;height:0}.layui-edge{border-style:dashed;border-color:transparent;overflow:hidden}.layui-elip{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.layui-unselect{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.layui-disabled,.layui-disabled:active{background-color:#d2d2d2!important;color:#fff!important;cursor:not-allowed!important}.layui-circle{border-radius:100%}.layui-show{display:block!important}.layui-hide{display:none!important}.layui-upload-iframe{border:0;visibility:hidden}.layui-upload-enter{border:1px solid #009E94;background-color:#009E94;color:#fff;-webkit-transform:scale(1.1);transform:scale(1.1)}@-webkit-keyframes layui-m-anim-scale{0%{opacity:0;-webkit-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes layui-m-anim-scale{0%{opacity:0;-webkit-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}.layui-m-anim-scale{animation-name:layui-m-anim-scale;-webkit-animation-name:layui-m-anim-scale}@-webkit-keyframes layui-m-anim-up{0%{opacity:0;-webkit-transform:translateY(800px);transform:translateY(800px)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes layui-m-anim-up{0%{opacity:0;-webkit-transform:translateY(800px);transform:translateY(800px)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}.layui-m-anim-up{-webkit-animation-name:layui-m-anim-up;animation-name:layui-m-anim-up}@-webkit-keyframes layui-m-anim-left{0%{-webkit-transform:translateX(100%);transform:translateX(100%)}100%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes layui-m-anim-left{0%{-webkit-transform:translateX(100%);transform:translateX(100%)}100%{-webkit-transform:translateX(0);transform:translateX(0)}}.layui-m-anim-left{-webkit-animation-name:layui-m-anim-left;animation-name:layui-m-anim-left}@-webkit-keyframes layui-m-anim-right{0%{-webkit-transform:translateX(-100%);transform:translateX(-100%)}100%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes layui-m-anim-right{0%{-webkit-transform:translateX(-100%);transform:translateX(-100%)}100%{-webkit-transform:translateX(0);transform:translateX(0)}}.layui-m-anim-right{-webkit-animation-name:layui-m-anim-right;animation-name:layui-m-anim-right}@-webkit-keyframes layui-m-anim-lout{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{-webkit-transform:translateX(-100%);transform:translateX(-100%)}}@keyframes layui-m-anim-lout{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{-webkit-transform:translateX(-100%);transform:translateX(-100%)}}.layui-m-anim-lout{-webkit-animation-name:layui-m-anim-lout;animation-name:layui-m-anim-lout}@-webkit-keyframes layui-m-anim-rout{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{-webkit-transform:translateX(100%);transform:translateX(100%)}}@keyframes layui-m-anim-rout{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{-webkit-transform:translateX(100%);transform:translateX(100%)}}.layui-m-anim-rout{-webkit-animation-name:layui-m-anim-rout;animation-name:layui-m-anim-rout}.layui-m-layer{position:relative;z-index:19891014}.layui-m-layer *{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.layui-m-layermain,.layui-m-layershade{position:fixed;left:0;top:0;width:100%;height:100%}.layui-m-layershade{background-color:rgba(0,0,0,.7);pointer-events:auto}.layui-m-layermain{display:table;font-family:Helvetica,arial,sans-serif;pointer-events:none}.layui-m-layermain .layui-m-layersection{display:table-cell;vertical-align:middle;text-align:center}.layui-m-layerchild{position:relative;display:inline-block;text-align:left;background-color:#fff;font-size:14px;border-radius:5px;box-shadow:0 0 8px rgba(0,0,0,.1);pointer-events:auto;-webkit-overflow-scrolling:touch;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.2s;animation-duration:.2s}.layui-m-layer0 .layui-m-layerchild{width:90%;max-width:640px}.layui-m-layer1 .layui-m-layerchild{border:none;border-radius:0}.layui-m-layer2 .layui-m-layerchild{width:auto;max-width:260px;min-width:40px;border:none;background:0 0;box-shadow:none;color:#fff}.layui-m-layerchild h3{padding:0 10px;height:60px;line-height:60px;font-size:16px;font-weight:400;border-radius:5px 5px 0 0;text-align:center}.layui-m-layerbtn span,.layui-m-layerchild h3{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.layui-m-layercont{padding:50px 30px;line-height:22px;text-align:center}.layui-m-layer1 .layui-m-layercont{padding:0;text-align:left}.layui-m-layer2 .layui-m-layercont{text-align:center;padding:0;line-height:0}.layui-m-layer2 .layui-m-layercont i{width:25px;height:25px;margin-left:8px;display:inline-block;background-color:#fff;border-radius:100%;-webkit-animation:layui-m-anim-loading 1.4s infinite ease-in-out;animation:layui-m-anim-loading 1.4s infinite ease-in-out;-webkit-animation-fill-mode:both;animation-fill-mode:both}.layui-m-layerbtn,.layui-m-layerbtn span{position:relative;text-align:center;border-radius:0 0 5px 5px}.layui-m-layer2 .layui-m-layercont p{margin-top:20px}@-webkit-keyframes layui-m-anim-loading{0%,100%,80%{transform:scale(0);-webkit-transform:scale(0)}40%{transform:scale(1);-webkit-transform:scale(1)}}@keyframes layui-m-anim-loading{0%,100%,80%{transform:scale(0);-webkit-transform:scale(0)}40%{transform:scale(1);-webkit-transform:scale(1)}}.layui-m-layer2 .layui-m-layercont i:first-child{margin-left:0;-webkit-animation-delay:-.32s;animation-delay:-.32s}.layui-m-layer2 .layui-m-layercont i.layui-m-layerload{-webkit-animation-delay:-.16s;animation-delay:-.16s}.layui-m-layer2 .layui-m-layercont>div{line-height:22px;padding-top:7px;margin-bottom:20px;font-size:14px}.layui-m-layerbtn{display:box;display:-moz-box;display:-webkit-box;width:100%;height:50px;line-height:50px;font-size:0;border-top:1px solid #D0D0D0;background-color:#F2F2F2}.layui-m-layerbtn span{display:block;-moz-box-flex:1;box-flex:1;-webkit-box-flex:1;font-size:14px;cursor:pointer}.layui-m-layerbtn span[yes]{color:#40AFFE}.layui-m-layerbtn span[no]{border-right:1px solid #D0D0D0;border-radius:0 0 0 5px}.layui-m-layerbtn span:active{background-color:#F6F6F6}.layui-m-layerend{position:absolute;right:7px;top:10px;width:30px;height:30px;border:0;font-weight:400;background:0 0;cursor:pointer;-webkit-appearance:none;font-size:30px}.layui-m-layerend::after,.layui-m-layerend::before{position:absolute;left:5px;top:15px;content:'';width:18px;height:1px;background-color:#999;transform:rotate(45deg);-webkit-transform:rotate(45deg);border-radius:3px}.layui-m-layerend::after{transform:rotate(-45deg);-webkit-transform:rotate(-45deg)}body .layui-m-layer .layui-m-layer-footer{position:fixed;width:95%;max-width:100%;margin:0 auto;left:0;right:0;bottom:10px;background:0 0}.layui-m-layer-footer .layui-m-layercont{padding:20px;border-radius:5px 5px 0 0;background-color:rgba(255,255,255,.8)}.layui-m-layer-footer .layui-m-layerbtn{display:block;height:auto;background:0 0;border-top:none}.layui-m-layer-footer .layui-m-layerbtn span{background-color:rgba(255,255,255,.8)}.layui-m-layer-footer .layui-m-layerbtn span[no]{color:#FD482C;border-top:1px solid #c2c2c2;border-radius:0 0 5px 5px}.layui-m-layer-footer .layui-m-layerbtn span[yes]{margin-top:10px;border-radius:5px}body .layui-m-layer .layui-m-layer-msg{width:auto;max-width:90%;margin:0 auto;bottom:-150px;background-color:rgba(0,0,0,.7);color:#fff}.layui-m-layer-msg .layui-m-layercont{padding:10px 20px}
\ No newline at end of file
diff --git a/zy-acs-cv/src/main/webapp/static/layui/css/modules/code.css b/zy-acs-cv/src/main/webapp/static/layui/css/modules/code.css
new file mode 100644
index 0000000..f36a04f
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/css/modules/code.css
@@ -0,0 +1,2 @@
+/** layui-v2.5.4 MIT License By https://www.layui.com */
+ html #layuicss-skincodecss{display:none;position:absolute;width:1989px}.layui-code-h3,.layui-code-view{position:relative;font-size:12px}.layui-code-view{display:block;margin:10px 0;padding:0;border:1px solid #e2e2e2;border-left-width:6px;background-color:#F2F2F2;color:#333;font-family:Courier New}.layui-code-h3{padding:0 10px;height:32px;line-height:32px;border-bottom:1px solid #e2e2e2}.layui-code-h3 a{position:absolute;right:10px;top:0;color:#999}.layui-code-view .layui-code-ol{position:relative;overflow:auto}.layui-code-view .layui-code-ol li{position:relative;margin-left:45px;line-height:20px;padding:0 5px;border-left:1px solid #e2e2e2;list-style-type:decimal-leading-zero;*list-style-type:decimal;background-color:#fff}.layui-code-view pre{margin:0}.layui-code-notepad{border:1px solid #0C0C0C;border-left-color:#3F3F3F;background-color:#0C0C0C;color:#C2BE9E}.layui-code-notepad .layui-code-h3{border-bottom:none}.layui-code-notepad .layui-code-ol li{background-color:#3F3F3F;border-left:none}
\ No newline at end of file
diff --git a/zy-acs-cv/src/main/webapp/static/layui/css/modules/laydate/default/laydate.css b/zy-acs-cv/src/main/webapp/static/layui/css/modules/laydate/default/laydate.css
new file mode 100644
index 0000000..c08d10a
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/css/modules/laydate/default/laydate.css
@@ -0,0 +1,2 @@
+/** layui-v2.5.4 MIT License By https://www.layui.com */
+ .laydate-set-ym,.layui-laydate,.layui-laydate *,.layui-laydate-list{box-sizing:border-box}html #layuicss-laydate{display:none;position:absolute;width:1989px}.layui-laydate *{margin:0;padding:0}.layui-laydate{position:absolute;z-index:66666666;margin:5px 0;border-radius:2px;font-size:14px;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-name:laydate-upbit;animation-name:laydate-upbit}.layui-laydate-main{width:272px}.layui-laydate-content td,.layui-laydate-header *,.layui-laydate-list li{transition-duration:.3s;-webkit-transition-duration:.3s}@-webkit-keyframes laydate-upbit{from{-webkit-transform:translate3d(0,20px,0);opacity:.3}to{-webkit-transform:translate3d(0,0,0);opacity:1}}@keyframes laydate-upbit{from{transform:translate3d(0,20px,0);opacity:.3}to{transform:translate3d(0,0,0);opacity:1}}.layui-laydate-static{position:relative;z-index:0;display:inline-block;margin:0;-webkit-animation:none;animation:none}.laydate-ym-show .laydate-next-m,.laydate-ym-show .laydate-prev-m{display:none!important}.laydate-ym-show .laydate-next-y,.laydate-ym-show .laydate-prev-y{display:inline-block!important}.laydate-time-show .laydate-set-ym span[lay-type=month],.laydate-time-show .laydate-set-ym span[lay-type=year],.laydate-time-show .layui-laydate-header .layui-icon,.laydate-ym-show .laydate-set-ym span[lay-type=month]{display:none!important}.layui-laydate-header{position:relative;line-height:30px;padding:10px 70px 5px}.laydate-set-ym span,.layui-laydate-header i{padding:0 5px;cursor:pointer}.layui-laydate-header *{display:inline-block;vertical-align:bottom}.layui-laydate-header i{position:absolute;top:10px;color:#999;font-size:18px}.layui-laydate-header i.laydate-prev-y{left:15px}.layui-laydate-header i.laydate-prev-m{left:45px}.layui-laydate-header i.laydate-next-y{right:15px}.layui-laydate-header i.laydate-next-m{right:45px}.laydate-set-ym{width:100%;text-align:center;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.laydate-time-text{cursor:default!important}.layui-laydate-content{position:relative;padding:10px;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.layui-laydate-content table{border-collapse:collapse;border-spacing:0}.layui-laydate-content td,.layui-laydate-content th{width:36px;height:30px;padding:5px;text-align:center}.layui-laydate-content td{position:relative;cursor:pointer}.laydate-day-mark{position:absolute;left:0;top:0;width:100%;height:100%;line-height:30px;font-size:12px;overflow:hidden}.laydate-day-mark::after{position:absolute;content:'';right:2px;top:2px;width:5px;height:5px;border-radius:50%}.layui-laydate-footer{position:relative;height:46px;line-height:26px;padding:10px 20px}.layui-laydate-footer span{margin-right:15px;display:inline-block;cursor:pointer;font-size:12px}.layui-laydate-footer span:hover{color:#5FB878}.laydate-footer-btns{position:absolute;right:10px;top:10px}.laydate-footer-btns span{height:26px;line-height:26px;margin:0 0 0 -1px;padding:0 10px;border:1px solid #C9C9C9;background-color:#fff;white-space:nowrap;vertical-align:top;border-radius:2px}.layui-laydate-list>li,.layui-laydate-range .layui-laydate-main{display:inline-block;vertical-align:middle}.layui-laydate-list{position:absolute;left:0;top:0;width:100%;height:100%;padding:10px;background-color:#fff}.layui-laydate-list>li{position:relative;width:33.3%;height:36px;line-height:36px;margin:3px 0;text-align:center;cursor:pointer}.laydate-month-list>li{width:25%;margin:17px 0}.laydate-time-list>li{height:100%;margin:0;line-height:normal;cursor:default}.laydate-time-list p{position:relative;top:-4px;line-height:29px}.laydate-time-list ol{height:181px;overflow:hidden}.laydate-time-list>li:hover ol{overflow-y:auto}.laydate-time-list ol li{width:130%;padding-left:33px;line-height:30px;text-align:left;cursor:pointer}.layui-laydate-hint{position:absolute;top:115px;left:50%;width:250px;margin-left:-125px;line-height:20px;padding:15px;text-align:center;font-size:12px}.layui-laydate-range{width:546px}.layui-laydate-range .laydate-main-list-0 .laydate-next-m,.layui-laydate-range .laydate-main-list-0 .laydate-next-y,.layui-laydate-range .laydate-main-list-1 .laydate-prev-m,.layui-laydate-range .laydate-main-list-1 .laydate-prev-y{display:none}.layui-laydate-range .laydate-main-list-1 .layui-laydate-content{border-left:1px solid #e2e2e2}.layui-laydate,.layui-laydate-hint{border:1px solid #d2d2d2;box-shadow:0 2px 4px rgba(0,0,0,.12);background-color:#fff;color:#666}.layui-laydate-header{border-bottom:1px solid #e2e2e2}.layui-laydate-header i:hover,.layui-laydate-header span:hover{color:#5FB878}.layui-laydate-content{border-top:none 0;border-bottom:none 0}.layui-laydate-content th{font-weight:400;color:#333}.layui-laydate-content td{color:#666}.layui-laydate-content td.laydate-selected{background-color:#00F7DE}.laydate-selected:hover{background-color:#00F7DE!important}.layui-laydate-content td:hover,.layui-laydate-list li:hover{background-color:#eaeaea;color:#333}.laydate-time-list li ol{margin:0;padding:0;border:1px solid #e2e2e2;border-left-width:0}.laydate-time-list li:first-child ol{border-left-width:1px}.laydate-time-list>li:hover{background:0 0}.layui-laydate-content .laydate-day-next,.layui-laydate-content .laydate-day-prev{color:#d2d2d2}.laydate-selected.laydate-day-next,.laydate-selected.laydate-day-prev{background-color:#f8f8f8!important}.layui-laydate-footer{border-top:1px solid #e2e2e2}.layui-laydate-hint{color:#FF5722}.laydate-day-mark::after{background-color:#5FB878}.layui-laydate-content td.layui-this .laydate-day-mark::after{display:none}.layui-laydate-footer span[lay-type=date]{color:#5FB878}.layui-laydate .layui-this{background-color:#009688!important;color:#fff!important}.layui-laydate .laydate-disabled,.layui-laydate .laydate-disabled:hover{background:0 0!important;color:#d2d2d2!important;cursor:not-allowed!important;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.laydate-theme-molv{border:none}.laydate-theme-molv.layui-laydate-range{width:548px}.laydate-theme-molv .layui-laydate-main{width:274px}.laydate-theme-molv .layui-laydate-header{border:none;background-color:#009688}.laydate-theme-molv .layui-laydate-header i,.laydate-theme-molv .layui-laydate-header span{color:#f6f6f6}.laydate-theme-molv .layui-laydate-header i:hover,.laydate-theme-molv .layui-laydate-header span:hover{color:#fff}.laydate-theme-molv .layui-laydate-content{border:1px solid #e2e2e2;border-top:none;border-bottom:none}.laydate-theme-molv .laydate-main-list-1 .layui-laydate-content{border-left:none}.laydate-theme-grid .laydate-month-list>li,.laydate-theme-grid .laydate-year-list>li,.laydate-theme-grid .layui-laydate-content td,.laydate-theme-grid .layui-laydate-content thead,.laydate-theme-molv .layui-laydate-footer{border:1px solid #e2e2e2}.laydate-theme-grid .laydate-selected,.laydate-theme-grid .laydate-selected:hover{background-color:#f2f2f2!important;color:#009688!important}.laydate-theme-grid .laydate-selected.laydate-day-next,.laydate-theme-grid .laydate-selected.laydate-day-prev{color:#d2d2d2!important}.laydate-theme-grid .laydate-month-list,.laydate-theme-grid .laydate-year-list{margin:1px 0 0 1px}.laydate-theme-grid .laydate-month-list>li,.laydate-theme-grid .laydate-year-list>li{margin:0 -1px -1px 0}.laydate-theme-grid .laydate-year-list>li{height:43px;line-height:43px}.laydate-theme-grid .laydate-month-list>li{height:71px;line-height:71px}
\ No newline at end of file
diff --git a/zy-acs-cv/src/main/webapp/static/layui/css/modules/layer/default/icon-ext.png b/zy-acs-cv/src/main/webapp/static/layui/css/modules/layer/default/icon-ext.png
new file mode 100644
index 0000000..bbbb669
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/css/modules/layer/default/icon-ext.png
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/css/modules/layer/default/icon.png b/zy-acs-cv/src/main/webapp/static/layui/css/modules/layer/default/icon.png
new file mode 100644
index 0000000..3e17da8
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/css/modules/layer/default/icon.png
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/css/modules/layer/default/layer.css b/zy-acs-cv/src/main/webapp/static/layui/css/modules/layer/default/layer.css
new file mode 100644
index 0000000..d323d27
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/css/modules/layer/default/layer.css
@@ -0,0 +1,2 @@
+/** layui-v2.5.4 MIT License By https://www.layui.com */
+ .layui-layer-imgbar,.layui-layer-imgtit a,.layui-layer-tab .layui-layer-title span,.layui-layer-title{text-overflow:ellipsis;white-space:nowrap}html #layuicss-layer{display:none;position:absolute;width:1989px}.layui-layer,.layui-layer-shade{position:fixed;_position:absolute;pointer-events:auto}.layui-layer-shade{top:0;left:0;width:100%;height:100%;_height:expression(document.body.offsetHeight+"px")}.layui-layer{-webkit-overflow-scrolling:touch;top:150px;left:0;margin:0;padding:0;background-color:#fff;-webkit-background-clip:content;border-radius:2px;box-shadow:1px 1px 50px rgba(0,0,0,.3)}.layui-layer-close{position:absolute}.layui-layer-content{position:relative}.layui-layer-border{border:1px solid #B2B2B2;border:1px solid rgba(0,0,0,.1);box-shadow:1px 1px 5px rgba(0,0,0,.2)}.layui-layer-load{background:url(loading-1.gif) center center no-repeat #eee}.layui-layer-ico{background:url(icon.png) no-repeat}.layui-layer-btn a,.layui-layer-dialog .layui-layer-ico,.layui-layer-setwin a{display:inline-block;*display:inline;*zoom:1;vertical-align:top}.layui-layer-move{display:none;position:fixed;*position:absolute;left:0;top:0;width:100%;height:100%;cursor:move;opacity:0;filter:alpha(opacity=0);background-color:#fff;z-index:2147483647}.layui-layer-resize{position:absolute;width:15px;height:15px;right:0;bottom:0;cursor:se-resize}.layer-anim{-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.3s;animation-duration:.3s}@-webkit-keyframes layer-bounceIn{0%{opacity:0;-webkit-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes layer-bounceIn{0%{opacity:0;-webkit-transform:scale(.5);-ms-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}.layer-anim-00{-webkit-animation-name:layer-bounceIn;animation-name:layer-bounceIn}@-webkit-keyframes layer-zoomInDown{0%{opacity:0;-webkit-transform:scale(.1) translateY(-2000px);transform:scale(.1) translateY(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateY(60px);transform:scale(.475) translateY(60px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}@keyframes layer-zoomInDown{0%{opacity:0;-webkit-transform:scale(.1) translateY(-2000px);-ms-transform:scale(.1) translateY(-2000px);transform:scale(.1) translateY(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateY(60px);-ms-transform:scale(.475) translateY(60px);transform:scale(.475) translateY(60px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}.layer-anim-01{-webkit-animation-name:layer-zoomInDown;animation-name:layer-zoomInDown}@-webkit-keyframes layer-fadeInUpBig{0%{opacity:0;-webkit-transform:translateY(2000px);transform:translateY(2000px)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes layer-fadeInUpBig{0%{opacity:0;-webkit-transform:translateY(2000px);-ms-transform:translateY(2000px);transform:translateY(2000px)}100%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.layer-anim-02{-webkit-animation-name:layer-fadeInUpBig;animation-name:layer-fadeInUpBig}@-webkit-keyframes layer-zoomInLeft{0%{opacity:0;-webkit-transform:scale(.1) translateX(-2000px);transform:scale(.1) translateX(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateX(48px);transform:scale(.475) translateX(48px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}@keyframes layer-zoomInLeft{0%{opacity:0;-webkit-transform:scale(.1) translateX(-2000px);-ms-transform:scale(.1) translateX(-2000px);transform:scale(.1) translateX(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateX(48px);-ms-transform:scale(.475) translateX(48px);transform:scale(.475) translateX(48px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}.layer-anim-03{-webkit-animation-name:layer-zoomInLeft;animation-name:layer-zoomInLeft}@-webkit-keyframes layer-rollIn{0%{opacity:0;-webkit-transform:translateX(-100%) rotate(-120deg);transform:translateX(-100%) rotate(-120deg)}100%{opacity:1;-webkit-transform:translateX(0) rotate(0);transform:translateX(0) rotate(0)}}@keyframes layer-rollIn{0%{opacity:0;-webkit-transform:translateX(-100%) rotate(-120deg);-ms-transform:translateX(-100%) rotate(-120deg);transform:translateX(-100%) rotate(-120deg)}100%{opacity:1;-webkit-transform:translateX(0) rotate(0);-ms-transform:translateX(0) rotate(0);transform:translateX(0) rotate(0)}}.layer-anim-04{-webkit-animation-name:layer-rollIn;animation-name:layer-rollIn}@keyframes layer-fadeIn{0%{opacity:0}100%{opacity:1}}.layer-anim-05{-webkit-animation-name:layer-fadeIn;animation-name:layer-fadeIn}@-webkit-keyframes layer-shake{0%,100%{-webkit-transform:translateX(0);transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px);transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px);transform:translateX(10px)}}@keyframes layer-shake{0%,100%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px);-ms-transform:translateX(-10px);transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px);-ms-transform:translateX(10px);transform:translateX(10px)}}.layer-anim-06{-webkit-animation-name:layer-shake;animation-name:layer-shake}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}.layui-layer-title{padding:0 80px 0 20px;height:42px;line-height:42px;border-bottom:1px solid #eee;font-size:14px;color:#333;overflow:hidden;background-color:#F8F8F8;border-radius:2px 2px 0 0}.layui-layer-setwin{position:absolute;right:15px;*right:0;top:15px;font-size:0;line-height:initial}.layui-layer-setwin a{position:relative;width:16px;height:16px;margin-left:10px;font-size:12px;_overflow:hidden}.layui-layer-setwin .layui-layer-min cite{position:absolute;width:14px;height:2px;left:0;top:50%;margin-top:-1px;background-color:#2E2D3C;cursor:pointer;_overflow:hidden}.layui-layer-setwin .layui-layer-min:hover cite{background-color:#2D93CA}.layui-layer-setwin .layui-layer-max{background-position:-32px -40px}.layui-layer-setwin .layui-layer-max:hover{background-position:-16px -40px}.layui-layer-setwin .layui-layer-maxmin{background-position:-65px -40px}.layui-layer-setwin .layui-layer-maxmin:hover{background-position:-49px -40px}.layui-layer-setwin .layui-layer-close1{background-position:1px -40px;cursor:pointer}.layui-layer-setwin .layui-layer-close1:hover{opacity:.7}.layui-layer-setwin .layui-layer-close2{position:absolute;right:-28px;top:-28px;width:30px;height:30px;margin-left:0;background-position:-149px -31px;*right:-18px;_display:none}.layui-layer-setwin .layui-layer-close2:hover{background-position:-180px -31px}.layui-layer-btn{text-align:right;padding:0 15px 12px;pointer-events:auto;user-select:none;-webkit-user-select:none}.layui-layer-btn a{height:28px;line-height:28px;margin:5px 5px 0;padding:0 15px;border:1px solid #dedede;background-color:#fff;color:#333;border-radius:2px;font-weight:400;cursor:pointer;text-decoration:none}.layui-layer-btn a:hover{opacity:.9;text-decoration:none}.layui-layer-btn a:active{opacity:.8}.layui-layer-btn .layui-layer-btn0{border-color:#1E9FFF;background-color:#1E9FFF;color:#fff}.layui-layer-btn-l{text-align:left}.layui-layer-btn-c{text-align:center}.layui-layer-dialog{min-width:260px}.layui-layer-dialog .layui-layer-content{position:relative;padding:20px;line-height:24px;word-break:break-all;overflow:hidden;font-size:14px;overflow-x:hidden;overflow-y:auto}.layui-layer-dialog .layui-layer-content .layui-layer-ico{position:absolute;top:16px;left:15px;_left:-40px;width:30px;height:30px}.layui-layer-ico1{background-position:-30px 0}.layui-layer-ico2{background-position:-60px 0}.layui-layer-ico3{background-position:-90px 0}.layui-layer-ico4{background-position:-120px 0}.layui-layer-ico5{background-position:-150px 0}.layui-layer-ico6{background-position:-180px 0}.layui-layer-rim{border:6px solid #8D8D8D;border:6px solid rgba(0,0,0,.3);border-radius:5px;box-shadow:none}.layui-layer-msg{min-width:180px;border:1px solid #D3D4D3;box-shadow:none}.layui-layer-hui{min-width:100px;background-color:#000;filter:alpha(opacity=60);background-color:rgba(0,0,0,.6);color:#fff;border:none}.layui-layer-hui .layui-layer-content{padding:12px 25px;text-align:center}.layui-layer-dialog .layui-layer-padding{padding:20px 20px 20px 55px;text-align:left}.layui-layer-page .layui-layer-content{position:relative;overflow:auto}.layui-layer-iframe .layui-layer-btn,.layui-layer-page .layui-layer-btn{padding-top:10px}.layui-layer-nobg{background:0 0}.layui-layer-iframe iframe{display:block;width:100%}.layui-layer-loading{border-radius:100%;background:0 0;box-shadow:none;border:none}.layui-layer-loading .layui-layer-content{width:60px;height:24px;background:url(loading-0.gif) no-repeat}.layui-layer-loading .layui-layer-loading1{width:37px;height:37px;background:url(loading-1.gif) no-repeat}.layui-layer-ico16,.layui-layer-loading .layui-layer-loading2{width:32px;height:32px;background:url(loading-2.gif) no-repeat}.layui-layer-tips{background:0 0;box-shadow:none;border:none}.layui-layer-tips .layui-layer-content{position:relative;line-height:22px;min-width:12px;padding:8px 15px;font-size:12px;_float:left;border-radius:2px;box-shadow:1px 1px 3px rgba(0,0,0,.2);background-color:#000;color:#fff}.layui-layer-tips .layui-layer-close{right:-2px;top:-1px}.layui-layer-tips i.layui-layer-TipsG{position:absolute;width:0;height:0;border-width:8px;border-color:transparent;border-style:dashed;*overflow:hidden}.layui-layer-tips i.layui-layer-TipsB,.layui-layer-tips i.layui-layer-TipsT{left:5px;border-right-style:solid;border-right-color:#000}.layui-layer-tips i.layui-layer-TipsT{bottom:-8px}.layui-layer-tips i.layui-layer-TipsB{top:-8px}.layui-layer-tips i.layui-layer-TipsL,.layui-layer-tips i.layui-layer-TipsR{top:5px;border-bottom-style:solid;border-bottom-color:#000}.layui-layer-tips i.layui-layer-TipsR{left:-8px}.layui-layer-tips i.layui-layer-TipsL{right:-8px}.layui-layer-lan[type=dialog]{min-width:280px}.layui-layer-lan .layui-layer-title{background:#4476A7;color:#fff;border:none}.layui-layer-lan .layui-layer-btn{padding:5px 10px 10px;text-align:right;border-top:1px solid #E9E7E7}.layui-layer-lan .layui-layer-btn a{background:#fff;border-color:#E9E7E7;color:#333}.layui-layer-lan .layui-layer-btn .layui-layer-btn1{background:#C9C5C5}.layui-layer-molv .layui-layer-title{background:#009f95;color:#fff;border:none}.layui-layer-molv .layui-layer-btn a{background:#009f95;border-color:#009f95}.layui-layer-molv .layui-layer-btn .layui-layer-btn1{background:#92B8B1}.layui-layer-iconext{background:url(icon-ext.png) no-repeat}.layui-layer-prompt .layui-layer-input{display:block;width:230px;height:36px;margin:0 auto;line-height:30px;padding-left:10px;border:1px solid #e6e6e6;color:#333}.layui-layer-prompt textarea.layui-layer-input{width:300px;height:100px;line-height:20px;padding:6px 10px}.layui-layer-prompt .layui-layer-content{padding:20px}.layui-layer-prompt .layui-layer-btn{padding-top:0}.layui-layer-tab{box-shadow:1px 1px 50px rgba(0,0,0,.4)}.layui-layer-tab .layui-layer-title{padding-left:0;overflow:visible}.layui-layer-tab .layui-layer-title span{position:relative;float:left;min-width:80px;max-width:260px;padding:0 20px;text-align:center;overflow:hidden;cursor:pointer}.layui-layer-tab .layui-layer-title span.layui-this{height:43px;border-left:1px solid #eee;border-right:1px solid #eee;background-color:#fff;z-index:10}.layui-layer-tab .layui-layer-title span:first-child{border-left:none}.layui-layer-tabmain{line-height:24px;clear:both}.layui-layer-tabmain .layui-layer-tabli{display:none}.layui-layer-tabmain .layui-layer-tabli.layui-this{display:block}.layui-layer-photos{-webkit-animation-duration:.8s;animation-duration:.8s}.layui-layer-photos .layui-layer-content{overflow:hidden;text-align:center}.layui-layer-photos .layui-layer-phimg img{position:relative;width:100%;display:inline-block;*display:inline;*zoom:1;vertical-align:top}.layui-layer-imgbar,.layui-layer-imguide{display:none}.layui-layer-imgnext,.layui-layer-imgprev{position:absolute;top:50%;width:27px;_width:44px;height:44px;margin-top:-22px;outline:0;blr:expression(this.onFocus=this.blur())}.layui-layer-imgprev{left:10px;background-position:-5px -5px;_background-position:-70px -5px}.layui-layer-imgprev:hover{background-position:-33px -5px;_background-position:-120px -5px}.layui-layer-imgnext{right:10px;_right:8px;background-position:-5px -50px;_background-position:-70px -50px}.layui-layer-imgnext:hover{background-position:-33px -50px;_background-position:-120px -50px}.layui-layer-imgbar{position:absolute;left:0;bottom:0;width:100%;height:32px;line-height:32px;background-color:rgba(0,0,0,.8);background-color:#000\9;filter:Alpha(opacity=80);color:#fff;overflow:hidden;font-size:0}.layui-layer-imgtit *{display:inline-block;*display:inline;*zoom:1;vertical-align:top;font-size:12px}.layui-layer-imgtit a{max-width:65%;overflow:hidden;color:#fff}.layui-layer-imgtit a:hover{color:#fff;text-decoration:underline}.layui-layer-imgtit em{padding-left:10px;font-style:normal}@-webkit-keyframes layer-bounceOut{100%{opacity:0;-webkit-transform:scale(.7);transform:scale(.7)}30%{-webkit-transform:scale(1.05);transform:scale(1.05)}0%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes layer-bounceOut{100%{opacity:0;-webkit-transform:scale(.7);-ms-transform:scale(.7);transform:scale(.7)}30%{-webkit-transform:scale(1.05);-ms-transform:scale(1.05);transform:scale(1.05)}0%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}.layer-anim-close{-webkit-animation-name:layer-bounceOut;animation-name:layer-bounceOut;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.2s;animation-duration:.2s}@media screen and (max-width:1100px){.layui-layer-iframe{overflow-y:auto;-webkit-overflow-scrolling:touch}}
\ No newline at end of file
diff --git a/zy-acs-cv/src/main/webapp/static/layui/css/modules/layer/default/loading-0.gif b/zy-acs-cv/src/main/webapp/static/layui/css/modules/layer/default/loading-0.gif
new file mode 100644
index 0000000..6f3c953
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/css/modules/layer/default/loading-0.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/css/modules/layer/default/loading-1.gif b/zy-acs-cv/src/main/webapp/static/layui/css/modules/layer/default/loading-1.gif
new file mode 100644
index 0000000..db3a483
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/css/modules/layer/default/loading-1.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/css/modules/layer/default/loading-2.gif b/zy-acs-cv/src/main/webapp/static/layui/css/modules/layer/default/loading-2.gif
new file mode 100644
index 0000000..5bb90fd
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/css/modules/layer/default/loading-2.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/font/iconfont.eot b/zy-acs-cv/src/main/webapp/static/layui/font/iconfont.eot
new file mode 100644
index 0000000..f30753f
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/font/iconfont.eot
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/font/iconfont.svg b/zy-acs-cv/src/main/webapp/static/layui/font/iconfont.svg
new file mode 100644
index 0000000..0a5beca
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/font/iconfont.svg
@@ -0,0 +1,789 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
+<!--
+2013-9-30: Created.
+-->
+<svg>
+    <metadata>
+        Created by iconfont
+    </metadata>
+    <defs>
+
+        <font id="layui-icon" horiz-adv-x="1024">
+            <font-face
+                    font-family="layui-icon"
+                    font-weight="500"
+                    font-stretch="normal"
+                    units-per-em="1024"
+                    ascent="896"
+                    descent="-128"
+            />
+            <missing-glyph/>
+
+            <glyph glyph-name="reply-fill" unicode="&#58897;"
+                   d="M507.904 835.5840000000001q93.184 1.024 175.104-33.792t143.872-94.72 97.792-141.312 36.864-174.592q1.024-88.064-30.208-165.888t-87.04-137.728-131.072-98.816-162.304-48.128q-22.528-3.072-48.128-5.12t-56.832-3.072-69.632 0-86.528 6.144q-106.496 10.24-158.208 26.624t-41.472 18.432q54.272 9.216 93.184 29.696 20.48 11.264 16.896 32.256t-19.968 39.424q-52.224 57.344-84.48 133.632t-34.304 164.352q-1.024 93.184 33.792 175.104t95.232 143.36 142.336 97.28 175.104 36.864zM707.584 385.024q0-26.624 18.432-45.568t45.056-18.944 45.568 18.944 18.944 45.568-18.944 45.056-45.568 18.432-45.056-18.432-18.432-45.056zM450.56 385.024q0-26.624 19.456-46.08t46.08-19.456q27.648 0 46.592 19.456t18.944 46.08q0 27.648-18.944 46.592t-46.592 18.944q-26.624 0-46.08-18.944t-19.456-46.592zM196.608 386.048q0-26.624 18.944-46.08t45.568-19.456q27.648 0 46.592 19.456t18.944 46.08-18.944 45.568-46.592 18.944q-26.624 0-45.568-18.944t-18.944-45.568z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="set-fill" unicode="&#58900;"
+                   d="M916.9398 445.2101l-69.9664 10.7833c-18.6619 2.863-38.1388 17.826-43.3424 33.2487-5.1618 15.3809-15.0883 65.4524-3.9288 80.6661l41.9004 57.135c11.1595 15.2346 9.3832 38.5985-3.9706 51.9314l-30.6364 30.6573c-13.3538 13.3538-36.7177 15.151-51.9314 3.9497l-57.135-41.8795c-15.2346-11.1804-39.4344-14.3987-53.7704-7.168-14.3569 7.2307-57.3022 35.7773-60.1652 54.4183l-10.7833 69.9664C570.3471 807.6016 552.542 822.8571 533.6712 822.8571h-43.34236734693877c-18.8709 0-36.6759-15.2555-39.5389-33.9174l-10.7833-69.9664c-2.863-18.6619-17.826-38.1388-33.2487-43.3424-15.4018-5.1827-65.4524-15.1092-80.687-3.9288L268.9567 713.5817c-15.2346 11.1804-38.6194 9.3832-51.9523-3.9497l-30.6364-30.6573c-13.3747-13.3538-15.151-36.7177-3.9706-51.9314l41.9004-57.135c11.1595-15.2346 14.3778-39.4136 7.168-53.7704-7.2307-14.3569-35.7773-57.2813-54.4183-60.1443l-69.9664-10.7833C88.3984 442.3471 73.1429 424.542 73.1429 405.6712v-43.34236734693877c0-18.8709 15.2555-36.6759 33.9174-39.5389l69.9664-10.7833c18.6619-2.863 38.1388-17.8469 43.3424-33.2487 5.1618-15.4018 15.0883-65.4733 3.9288-80.687l-41.9004-57.135c-11.1595-15.2346-9.3832-38.6194 3.9706-51.9314l30.6364-30.6573c13.3538-13.3538 36.7177-15.151 51.9523-3.9706l57.135 41.9213c15.2346 11.1386 39.4136 14.3778 53.7704 7.168 14.3569-7.2307 57.2813-35.7773 60.1443-54.4183l10.7833-69.9664c2.863-18.6619 20.6472-33.9174 39.5389-33.9174h43.34236734693877c18.8709 0 36.6759 15.2555 39.5389 33.9174l10.7833 69.9664c2.863 18.6619 17.826 38.1388 33.2487 43.3215 15.4018 5.1827 65.4524 15.0883 80.6661 3.9288l57.1559-41.9213c15.2346-11.1595 38.5985-9.3623 51.9314 3.9706l30.6364 30.6573c13.3747 13.3329 15.151 36.7177 3.9706 51.9314l-41.9004 57.135c-11.1595 15.2346-14.3778 39.4136-7.168 53.7496 7.2307 14.3778 35.7773 57.3231 54.4183 60.1861l69.9664 10.7833c18.6619 2.863 33.9174 20.6472 33.9174 39.5389v43.34236734693877C950.8571 424.542 935.6016 442.3471 916.9398 445.2101zM512 210.4633c-95.838 0-173.5367 77.6986-173.5367 173.5367s77.6986 173.5367 173.5367 173.5367 173.5367-77.6986 173.5367-173.5367S607.838 210.4633 512 210.4633zM512 384m-104.7824 0a5.014 5.014 0 1 1 209.5647 0 5.014 5.014 0 1 1-209.5647 0Z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="menu-fill" unicode="&#58895;"
+                   d="M511.999488 834.254727c-248.678712 0-450.273176-201.585181-450.273176-450.254727s201.594464-450.254727 450.273176-450.254727 450.273176 201.585181 450.273176 450.254727S760.6782 834.254727 511.999488 834.254727zM266.371377 589.705012l491.256222 0 0-33.772174L266.371377 555.932838 266.371377 589.705012zM757.627599 178.29396499999996L266.371377 178.29396499999996l0 33.773198 491.256222 0L757.627599 178.29396499999996zM140.487278 367.11340099999995l0 33.771151 743.024421 0 0-33.771151L140.487278 367.11340099999995z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="search" unicode="&#58901;"
+                   d="M439.323351 120.52219c-49.280352 0-97.09834 9.656941-142.126681 28.699646-43.480015 18.388812-82.522793 44.706201-116.043584 78.225619s-59.841305 72.560596-78.230871 116.03883C83.878729 388.513804 74.222416 436.330856 74.222416 485.609189c0 49.284473 9.656313 97.104595 28.699798 142.133138 18.388542 43.479257 44.71008 82.520435 78.231894 116.03883 33.518745 33.515325 72.562546 59.832713 116.043584 78.219479 45.027318 19.039635 92.846329 28.694529 142.125658 28.694529 49.280352 0 97.099364-9.653871 142.126681-28.694529 43.481039-18.385742 82.525863-44.704155 116.044608-78.220502 33.520791-33.518395 59.842328-72.559573 78.230871-116.03883 19.042462-45.028543 28.699798-92.848665 28.699798-142.133138 0-49.278333-9.657336-97.095385-28.701845-142.122905-18.388542-43.47721-44.708033-82.520435-78.228824-116.03883s-72.563569-59.838853-116.043584-78.226642C536.422715 130.177084 488.603703 120.52219 439.323351 120.52219zM439.323351 797.483242c-171.975699 0-311.887855-139.906423-311.887855-311.875077S267.347652 173.734112 439.323351 173.734112s311.887855 139.907447 311.887855 311.874053S611.299051 797.483242 439.323351 797.483242zM890.678206-48.734702c-22.121716 0-42.90387 8.562003-58.541653 24.115234L674.672953 128.025071l37.039062 38.20616 157.888289-153.058978c5.606924-5.606695 13.091693-8.692986 21.077901-8.692986 7.983139 0 15.464837 3.087315 21.070738 8.69094 5.616135 5.622044 8.715856 13.126972 8.715856 21.123087 0 7.980765-3.091535 15.46318-8.702552 21.067828l-0.301888 0.306992L758.714395 213.230662l38.207726 37.035498 152.611906-157.427472c15.571265-15.638165 24.144876-36.422538 24.144876-58.549487 0-22.195511-8.625801-43.054585-24.287121-58.735729C933.723298-40.112324 912.876674-48.734702 890.678206-48.734702zM281.015489 327.245392c-42.340005 42.320874-65.652899 98.584296-65.643689 158.421102 0.008187 59.818387 23.319034 116.074645 65.637549 158.4078l37.634651-37.619806c-66.60666-66.629513-66.60973-175.00071-0.007163-241.577011L281.015489 327.245392z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="share" unicode="&#58945;"
+                   d="M769.714 306.453c-51.754 0-97.702-24.851-126.571-63.269L394.479 367.94100000000003c3.93 13.798 6.034 28.364 6.034 43.424 0 16.496-2.527 32.399-7.211 47.35l247.724 124.288c28.71-40.052 75.647-66.151 128.687-66.151 87.388 0 158.229 70.84 158.229 158.229 0 87.388-70.841 158.229-158.229 158.229-87.389 0-158.229-70.841-158.229-158.229 0-6.046 0.352-12.009 1.011-17.88L351.22 526.116c-28.371 26.943-66.723 43.479-108.938 43.479-87.388 0-158.229-70.84-158.229-158.229s70.84-158.229 158.229-158.229c43.752 0 83.354 17.758 111.997 46.459l258.676-129.779c-0.964-7.062-1.474-14.266-1.474-21.592 0-87.389 70.84-158.229 158.229-158.229s158.229 70.84 158.229 158.229C927.938 235.61199999999997 857.103 306.453 769.714 306.453L769.714 306.453z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="set-sm" unicode="&#58912;"
+                   d="M946.367 405.895c0.02 21.85-13.04 38.49-31.74 41.57-18.69 3.07-79.05 13.01-85.99 14.14-6.95 1.15-14.09 8.07-15.4 11.45-1.32 3.37-8.94 22.2-11.87 29.46-2.95 7.27-1.92 16.58 4.39 25.52 6.3 8.93 39.9 55.87 48.38 67.72 8.49 11.87 8.65 34.61-4.84 48.39-13.48 13.78-47.75 47.09-56.73 55.86-8.99 8.76-31.08 8.64-42.67 0.43-11.58-8.2-71.69-51.01-71.69-51.01s-9.97-6.89-20.67-2.64c-10.7 4.24-33.43 14.07-33.43 14.07s-7.19 5.43-9.68 19.79c-2.5 14.37-11.11 65.28-14.07 82.7-2.97 17.42-20.67 29.62-37.83 29.46-17.16-0.14-57.91 0-74.33 0s-32.26-15.68-34.75-29.46c-2.49-13.79-11.56-69.16-14.07-84.45-2.52-15.3-11.44-18.48-11.44-18.48s-19.56-8.06-29.91-12.31c-10.34-4.26-15.39-2.64-30.35 7.48-14.95 10.11-44.74 31.03-63.04 43.83-18.3 12.81-38.12 7.92-49.26-3.52s-36.06-35.77-51.02-50.43c-14.95-14.66-12.61-37.54 0.58-55.71 13.2-18.18 32.34-45.43 41.35-58.21 9.01-12.78 10.84-19.5 8.36-26.82-2.49-7.34-6.64-16.58-11.43-27.72-4.81-11.13-9.69-13.64-27.86-17.01-17.36-3.21-58.42-9.92-77.4-13.31-18.99-3.37-30.66-21.43-30.66-41.81l0-64.66c0-24.34 13.2-37.24 38.42-41.93 25.22-4.69 62.66-10.66 74.77-12.61 12.1-1.95 17.67-6.6 21.41-15.54 3.73-8.94 5.13-10.12 9.37-22.57 4.26-12.47 6.46-15.55-4.98-31.67-11.44-16.13-34.31-48.11-46.03-64.51-11.74-16.4-6.45-37.83 4.98-49.85 11.44-12.03 35.47-35.64 48.97-48.97 13.49-13.33 35.19-16.28 53.36-3.52 18.19 12.75 54.98 38.99 65.69 46.62 10.7 7.63 21.91 5.28 27.85 2.94 5.94-2.35 11.25-4.6 22-9.1 10.73-4.48 13.85-11.2 16.41-23.45 2.57-12.24 10.19-56.85 13.93-78.59 3.75-21.72 18.91-33.43 40.62-33.72 21.7-0.29 33.27-0.12 61.57 0 28.29 0.13 41.86 12.61 45.45 31.38 3.59 18.76 12.45 72.94 14.22 83.72 1.78 10.76 5.94 14.73 13.63 18.47 7.7 3.74 14.32 6.47 26.84 11.88 12.51 5.4 18.91 0.66 27.7-5.72 8.8-6.39 47.51-33.78 63.78-45.31 16.28-11.53 36.73-10.33 51.9 4.4 15.18 14.73 31.62 30.99 49.27 48.38 17.64 17.4 12.16 39.59 4.4 51.46-7.77 11.88-44.49 62.95-49.71 70.23-5.21 7.28-4.4 18.62-1.75 24.63 2.64 6.01 8.44 18.24 11.72 25.22 3.29 6.97 9.6 11.22 18.18 12.9 8.58 1.69 62.72 11 83.75 14.61 21.03 3.64 31.11 19.92 31.26 39.92C946.427 359.93499999999995 946.347 388.525 946.367 405.895zM908.587 338.615c0.21-5.76-4.66-10.65-8.82-11.38-4.17-0.73-63.26-11.38-81.48-14.29-18.21-2.92-33.23-15.07-38.72-28.06-3.98-9.44-5.47-13.51-10.59-26.96-5.12-13.44-4.64-32.19 2.56-42.26 7.2-10.08 46.82-64.9 50.38-70.45s4.27-11.95-1.28-17.5-40.99-41.2-47.39-47.39c-6.41-6.19-11.83-4.8-18.79 0-6.95 4.8-39.61 26.39-64.44 44.36-16.96 12.28-32.82 12.43-48.7 6.02-15.87-6.42 1.28 0.28-22.2-8.97-23.48-9.25-30.23-27.62-33.73-48.24-3.5-20.63-10.67-62.98-11.95-70.45-1.28-7.47-5.55-11.1-13.66-11.1l-64.9 0c-8.11 0-11.74 2.99-14.52 11.95-2.77 8.97-10.03 54.87-12.8 74.29-2.78 19.43-13.82 36.12-24.77 40.56-10.94 4.45-4.98 2.14-27.32 11.1-22.34 8.97-39.63 4.5-51.23-3.84-11.61-8.34-58.64-42.69-65.33-46.96-6.68-4.28-14.65-3.28-18.35 0.42-3.7 3.7-40.56 40.56-46.54 46.54-5.98 5.98-5.36 12.92 0 20.49 5.36 7.58 28.39 40.76 40.99 57.95 12.59 17.2 17.93 34.74 9.82 53.49-8.12 18.74-4.42 10.24-12.39 28.6-7.96 18.36-24.28 24.46-38.42 26.9-14.14 2.43-68.88 11.53-76.85 13.23-7.97 1.71-11.95 7.26-11.95 14.09l0 66.18c0 9.53 7.67 12.44 12.38 13.23 4.7 0.8 54.22 9.18 73 12.39 18.79 3.2 36.36 11.32 43.55 29.03 7.19 17.7 4.27 11.1 11.1 27.32 6.83 16.23 3.8 33.94-7.68 49.96-11.49 16.01-38.85 54-44.4 61.9-5.55 7.9-5.77 12.6 0.85 19.21 6.62 6.62 42.05 42.48 46.96 46.97 4.91 4.48 12.07 5.4 18.36 0.85 6.3-4.55 49.31-35.65 64.04-46.11 14.73-10.46 32.35-12.56 49.1-5.55 16.75 7.02 10.25 4.48 26.9 11.1s24.84 19.09 28.18 39.71c3.33 20.61 11.95 74.14 12.81 77.7 0.85 3.55 5.55 10.46 11.74 10.46s65.82-0.07 69.8 0c3.99 0.07 10.3-3.29 11.32-9.18 1.02-5.9 13.02-74.29 14.94-86.25 1.92-11.95 15.58-28.57 25.54-32.73 9.96-4.16 21.35-8.75 31.31-13.09 9.97-4.34 30.13-1.91 36.15 2.28 6.03 4.18 70.52 48.81 75.43 52.37 4.91 3.56 11.52 3.27 17.64-2.85s43.34-43.19 47.54-47.53c4.19-4.34 4.66-8.66 1.14-13.66-3.53-5.01-36.72-51.8-47.54-67.46-10.81-15.65-11.73-33.73-5.41-48.96 6.33-15.22 3.99-9.39 9.11-21.91 5.13-12.53 16.28-29.03 33.59-31.88 17.31-2.85 76.92-12.74 84.82-13.95 7.9-1.21 11.1-7.18 11.1-13.37S908.377 344.385 908.587 338.615zM526.833 573.1949999999999c-110.45 0-200-89.54-200-200s89.55-200 200-200c110.46 0 200 89.54 200 200S637.293 573.1949999999999 526.833 573.1949999999999zM526.833 208.19500000000005c-91.12 0-165 73.87-165 165s73.88 165 165 165c91.13 0 165-73.87 165-165S617.963 208.19500000000005 526.833 208.19500000000005z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="engine" unicode="&#58920;"
+                   d="M422.214332 360.70413299999996L186.183684 360.70413299999996l0 46.568461 236.030648 0c10.379577 40.075407 46.47537 69.794509 89.785668 69.794509 51.432433 0 93.067103-41.657943 93.067103-93.067103C605.067103 332.56756700000005 563.40916 290.909624 512 290.909624 468.689703 290.909624 432.593909 320.65199900000005 422.214332 360.70413299999996L422.214332 360.70413299999996zM512 779.634098c-218.529658 0-395.634098-177.10444-395.634098-395.634098 0-218.529658 177.10444-395.634098 395.634098-395.634098 154.76275 0 288.417257 89.064217 353.440885 218.55293l101.398692-59.112389-23.063141-39.959044-62.161099 35.909613c-33.745261-51.595341-77.42792-96.115813-129.093079-129.744711l35.653614-61.765464-40.308133-23.295867-35.653614 61.765464c-53.620057-27.345298-113.360805-44.404109-176.894987-47.73209L535.319139-127.99706800000001l-46.568461 0 0 70.981412c-63.534182 3.327981-123.27493 20.386792-176.894987 47.73209l-35.653614-61.765464-40.308133 23.295867 35.653614 61.765464c-51.665159 33.628898-95.347818 78.149371-129.093079 129.744711l-62.161099-35.909613-23.295867 40.308133 62.114553 35.863067c-27.415116 53.550239-44.799743 113.104807-48.127724 176.685534L0.002932 360.70413299999996l0 46.568461 70.958139 0c3.327981 63.580727 20.712609 123.135295 48.127724 176.685534l-62.114553 35.863067 23.295867 40.308133 62.161099-35.909613c33.745261 51.595341 77.42792 96.115813 129.093079 129.744711l-35.653614 61.765464 40.308133 23.295867 35.653614-61.765464c53.620057 27.345298 113.360805 44.404109 176.894987 47.73209L488.727406 895.997068l46.568461 0 0-70.981412c63.534182-3.327981 123.27493-20.386792 176.894987-47.73209l35.653614 61.765464 40.308133-23.295867-35.653614-61.765464c51.665159-33.628898 95.347818-78.149371 129.093079-129.744711l62.161099 35.909613 23.063141-39.959044-101.398692-59.112389C800.417257 690.569881 666.76275 779.634098 512 779.634098L512 779.634098z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="close" unicode="&#4102;"
+                   d="M783.483 701.249L512 429.775 240.517 701.249c-10.082 10.083-26.429 10.083-36.51 0-10.083-10.082-10.083-26.429 0-36.509l271.481-271.475L204.008 121.78800000000001c-10.083-10.081-10.083-26.428 0-36.508 10.082-10.082 26.429-10.082 36.51 0L512 356.755l271.483-271.475c10.082-10.082 26.429-10.082 36.513 0 10.081 10.083 10.081 26.428 0 36.508L548.51 393.265l271.485 271.474c10.081 10.083 10.081 26.429 0 36.509C809.912 711.33 793.564 711.33 783.483 701.249z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="close-fill" unicode="&#4103;"
+                   d="M512 822.022125c-217.47508 0-394.423141-176.949085-394.423141-394.423141 0-217.474057 176.948061-394.422118 394.423141-394.422118 217.473033 0 394.422118 176.948061 394.422118 394.422118C906.422118 645.07304 729.473033 822.022125 512 822.022125zM702.228529 270.92978200000005c8.030907-8.030907 8.030907-21.052478 0-29.083385s-21.052478-8.030907-29.083385 0L512 402.992563 350.853833 241.84741899999995c-8.030907-8.030907-21.052478-8.030907-29.083385 0s-8.030907 21.052478 0 29.083385l161.146167 161.146167L321.771471 593.222115c-8.030907 8.030907-8.030907 21.052478 0 29.083385s21.052478 8.030907 29.083385 0l161.146167-161.146167L673.145144 622.305501c8.030907 8.030907 21.052478 8.030907 29.083385 0s8.030907-21.052478 0-29.083385L541.082362 432.075949 702.228529 270.92978200000005z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="chart-screen" unicode="&#58921;"
+                   d="M963.930903 179.21903299999997l0 34.824133-37.354769-2.675946L926.576133 694.8538169999999 691.413206 694.8538169999999l0 70.462818L330.260819 765.316635l0-70.462818L95.690386 694.8538169999999l0-480.809627-35.621289 0 0-34.824133 432.583253 0 0-141.228535-90.313935 0 0-35.307134 216.753649 0 0 35.307134-90.313935 0L528.778128 179.21903299999997 963.930903 179.21903299999997zM366.212636 730.008478L655.216819 730.008478l0-35.307134L366.212636 694.7013440000001 366.212636 730.008478zM364.817869 332.73133600000006L222.224244 406.252817l14.295588 27.736715 123.238812-63.523779 173.928285 159.755494 127.5807-92.634794 93.13826 122.414027 12.420891-9.449209 12.420891-9.449209L667.639756 394.365068l-131.636063 95.621824L364.817869 332.73133600000006z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="star" unicode="&#58880;"
+                   d="M749.624889-84.152889c-15.672889 0-31.246222 3.882667-45.084444 11.306667l-192.526222 103.637333L319.544889-72.817778c-31.203556-16.64-70.314667-14.392889-99.043556 5.304889-29.511111 20.337778-44.743111 55.921778-38.840889 90.695111l37.703111 225.251556L56.661333 410.908444c-25.002667 24.888889-33.464889 60.984889-22.058667 94.193778 11.349333 32.910222 40.064 56.576 74.965333 61.752889l221.326222 32.896 96.128 199.580444c15.488 32.085333 48.853333 52.807111 84.992 52.807111 36.167111 0 69.518222-20.736 84.963556-52.807111l96.156444-199.580444 221.297778-32.910222c34.872889-5.162667 63.616-28.8 74.979556-61.696 11.392-33.28 2.944-69.361778-22.030222-94.250667L804.622222 248.433778l37.745778-225.28c5.845333-34.773333-9.386667-70.357333-38.812444-90.638222C787.569778-78.392889 768.938667-84.152889 749.624889-84.152889zM512.014222 91.548444c4.636444 0 9.272889-1.137778 13.482667-3.384889l205.937778-110.862222c12.373333-6.641778 28.316444-5.802667 39.936 2.133333 11.392 7.836444 17.123556 21.006222 14.890667 34.304L746.097778 253.496889c-1.507556 9.088 1.450667 18.332444 7.964444 24.832l173.141333 172.842667c9.457778 9.429333 12.686222 23.025778 8.405333 35.484444-4.380444 12.672-15.701333 21.873778-29.525333 23.921778L669.866667 545.706667c-9.315556 1.379556-17.365333 7.296-21.447111 15.786667L545.720889 774.641778c-6.030222 12.529778-19.256889 20.608-33.706667 20.608s-27.690667-8.092444-33.763556-20.622222L375.608889 561.493333c-4.081778-8.490667-12.131556-14.407111-21.447111-15.786667L117.930667 510.577778c-13.624889-2.033778-25.201778-11.434667-29.539556-23.992889-4.266667-12.416-1.024-25.984 8.433778-35.399111L269.937778 278.328889c6.513778-6.499556 9.472-15.744 7.964444-24.832l-40.135111-239.744c-2.247111-13.312 3.484444-26.439111 14.976-34.360889 11.434667-7.836444 27.349333-8.775111 39.950222-2.062222l205.852444 110.833778C502.741333 90.410667 507.377778 91.548444 512.014222 91.548444zM200.32 439.210667c-6.840889 0-12.885333 4.963556-14.023111 11.946667-1.251556 7.751111 4.010667 15.061333 11.761778 16.312889l9.443556 1.536c7.793778 1.336889 15.061333-4.010667 16.312889-11.761778 1.251556-7.751111-4.010667-15.061333-11.761778-16.312889l-9.443556-1.536C201.856 439.267556 201.073778 439.210667 200.32 439.210667zM252.544 447.687111c-6.684444 0-12.643556 4.721778-13.937778 11.534222-1.493333 7.708444 3.555556 15.175111 11.264 16.654222l153.927111 29.696 58.055111 133.148444c3.157333 7.182222 11.548444 10.496 18.716444 7.352889 7.210667-3.143111 10.510222-11.52 7.367111-18.716444l-61.056-140.017778c-1.877333-4.295111-5.745778-7.395556-10.353778-8.277333l-161.28-31.118222C254.336 447.758222 253.44 447.687111 252.544 447.687111z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="circle-dot" unicode="&#58903;"
+                   d="M513.133312 830.6731560000001c-247.538793 0-448.208115-200.669322-448.208115-448.207092 0-247.538793 200.670346-448.208115 448.208115-448.208115 247.538793 0 448.208115 200.670346 448.208115 448.208115C961.341427 630.004857 760.673128 830.6731560000001 513.133312 830.6731560000001zM513.132288-6.649187999999981c-214.901465 0-389.113205 174.212764-389.113205 389.114229 0 214.902488 174.21174 389.115252 389.113205 389.115252 214.903511 0 389.115252-174.212764 389.115252-389.115252C902.24754 167.563576 728.0358-6.649187999999981 513.132288-6.649187999999981zM513.133312 382.46504100000004m-344.602456 0a336.754 336.754 0 1 1 689.204911 0 336.754 336.754 0 1 1-689.204911 0Z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="chat" unicode="&#58886;"
+                   d="M132.682393 414.567179c0 208.287837 166.471452 377.143593 379.317095 377.143593s385.380184-168.855756 385.380184-377.143593c0-177.196725-122.197086-325.812507-290.49821-366.259708l-116.291586-51.04763 0 41.126676C290.570353 52.175568999999996 132.682393 215.31206599999996 132.682393 414.567179zM83.799056 414.567179c0-211.946157 160.764474-387.135154 369.469819-415.152255-3.2623-20.458961-10.036587-65.024969-7.286963-65.024969 2.384303 0 114.89068 47.294143 189.700503 78.865185 176.193885 51.91437 304.518528 211.946157 304.518528 401.312038 0 231.432976-191.70823 419.042865-428.200432 419.042865S83.799056 646.0001560000001 83.799056 414.567179zM340.71952 276.63573699999995c22.935362-41.481763 89.831958-75.102489 170.391738-75.102489 79.650061 0 148.489916 32.909527 172.168198 73.681116-12.701277 5.979178-19.068288 8.02886-28.131711 12.21009-19.894096-31.257911-75.425853-59.661821-142.729725-59.661821-66.969251 0-122.836653 28.40391-143.598512 61.083194L340.71952 276.63573699999995z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="release" unicode="&#58889;"
+                   d="M990.78144 828.5388800000001c-3.35872 1.59744-7.04512 2.37568-11.01824 2.37568-14.45888 0-27.60704-10.81344-27.40224-10.81344-8.8064-4.42368-880.59904-443.22816-911.44192-459.44832-17.408-9.13408-27.36128-24.73984-25.92768-40.71424 1.10592-13.14816 9.78944-23.51104 23.10144-27.77088 26.17344-8.27392 290.24256-91.58656 290.24256-91.58656l4.83328-1.47456 16.67072 50.05312-254.32064 79.54432 780.73856 406.28224c-82.82112-93.88032-420.53632-476.32384-436.10112-493.93664-20.11136-22.48704-29.4912-45.09696-29.40928-70.98368l0.28672-153.27232-0.08192 0c0 0 0.08192-53.49376 0.08192-53.6576l0-1.96608 0 0c1.18784-13.5168 12.73856-24.24832 26.54208-24.24832s25.51808 10.73152 26.74688 24.24832l0 0c0 0 0.53248 191.03744 0 205.08672-0.49152 12.4928 5.07904 26.54208 10.69056 33.05472 5.65248 6.38976 390.63552 442.61376 465.75616 527.81056-21.38112-106.41408-126.68928-629.76-128.24576-637.41952-0.8192-4.05504-2.58048-4.05504-3.35872-4.05504-0.6144 0-1.31072 0.12288-2.048 0.36864-7.45472 2.37568-268.82048 81.55136-279.92064 84.91008l-4.7104 1.4336-17.16224-50.50368 5.07904-1.59744c2.58048-0.77824 258.90816-79.09376 284.38528-86.46656 5.07904-1.47456 10.24-2.2528 15.44192-2.2528 26.99264 0 49.5616 19.37408 54.8864 46.98112 2.08896 10.93632 27.0336 134.67648 55.9104 277.99552 39.77216 197.14048 84.7872 420.61824 85.93408 427.6224l0.6144 3.31776C1009.70496 798.96576 1013.26848 817.9712 990.78144 828.5388800000001z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="list" unicode="&#58890;"
+                   d="M618.04471 733.97072l-397.175835 0c-16.927531 0-30.699186-13.771655-30.699186-30.699186l0-638.543068c0-16.927531 13.771655-30.699186 30.699186-30.699186l582.261227 0c16.927531 0 30.699186 13.771655 30.699186 30.699186l-0.726547 476.760404L618.04471 733.97072zM803.771715 541.488871 619.537713 541.488871 619.537713 705.552483 803.771715 541.488871zM813.363164 64.728466c0-5.64251-4.590552-10.233062-10.233062-10.233062l-582.261227 0c-5.64251 0-10.233062 4.590552-10.233062 10.233062l0 638.543068c0 5.64251 4.590552 10.233062 10.233062 10.233062l378.202715 0 0-192.481849 214.291574 0L813.363164 64.728466zM298.129516 482.495268l55.258535 0 0-55.258535-55.258535 0 0 55.258535ZM399.777591 468.168981l323.364759 0 0-26.605961-323.364759 0 0 26.605961ZM298.129516 342.044446l55.258535 0 0-55.258535-55.258535 0 0 55.258535ZM399.777591 327.718159l323.364759 0 0-26.605961-323.364759 0 0 26.605961ZM298.129516 199.804884l55.258535 0 0-55.258535-55.258535 0 0 55.258535ZM399.777591 185.478598l323.364759 0 0-26.605961-323.364759 0 0 26.605961ZM881.315812 53.053566"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="chart" unicode="&#58924;"
+                   d="M953.440991 315.668729L784.061302 315.668729 681.06451 437.392024c-0.312108 0.373507-0.635473 0.737804-0.969071 1.094938-0.013303 0.014326-0.026606 0.027629-0.039909 0.041956-0.276293 0.293689-0.559748 0.582261-0.851391 0.86367-0.053212 0.051165-0.107447 0.099261-0.160659 0.150426-0.249687 0.237407-0.50142 0.470721-0.76134 0.697895-0.089028 0.078795-0.181125 0.153496-0.272199 0.230244-0.225127 0.191358-0.451278 0.381693-0.683569 0.565888-0.124843 0.099261-0.251733 0.192382-0.3776 0.288572-0.200568 0.153496-0.402159 0.306992-0.607844 0.454348-0.159636 0.11461-0.322341 0.224104-0.485047 0.334621-0.177032 0.12075-0.354064 0.242524-0.535189 0.35918-0.195451 0.12689-0.394996 0.246617-0.593518 0.367367-0.152473 0.092098-0.302899 0.186242-0.457418 0.275269-0.237407 0.137123-0.477884 0.268106-0.718361 0.397043-0.121773 0.065492-0.2415 0.132006-0.364297 0.195451-0.283456 0.146333-0.571005 0.285502-0.859577 0.420579-0.085958 0.040932-0.170892 0.082888-0.257873 0.122797-0.337691 0.154519-0.679475 0.298805-1.022283 0.437975-0.044002 0.017396-0.086981 0.036839-0.130983 0.055259-1.604544 0.638543-3.2623 1.113357-4.948709 1.416256-0.343831 0.062422-0.687662 0.112564-1.031493 0.160659-0.055259 0.008186-0.110517 0.01842-0.165776 0.025583-1.633197 0.216941-3.25923 0.26913-4.861728 0.173962-0.013303-0.001023-0.026606-0.001023-0.040932-0.002047-0.363274-0.022513-0.724501-0.054235-1.085728-0.091074-0.060375-0.00614-0.119727-0.011256-0.180102-0.017396-0.310062-0.034792-0.618077-0.077771-0.926092-0.122797-0.116657-0.017396-0.232291-0.032746-0.348947-0.051165-0.24764-0.040932-0.494257-0.086981-0.740874-0.135076-0.178055-0.033769-0.355087-0.067538-0.532119-0.105401-0.183172-0.039909-0.36532-0.083911-0.547469-0.127913-0.237407-0.056282-0.474814-0.113587-0.710175-0.176009-0.12075-0.032746-0.240477-0.068562-0.360204-0.102331-0.292666-0.082888-0.584308-0.168846-0.874927-0.26299-0.063445-0.020466-0.125867-0.042979-0.188288-0.063445-0.338714-0.112564-0.675382-0.230244-1.010003-0.357134-0.019443-0.007163-0.038886-0.01535-0.058328-0.022513-1.493004-0.571005-2.948145-1.284249-4.340865-2.149966-0.067538-0.041956-0.13303-0.088004-0.200568-0.12996-0.273223-0.172939-0.545422-0.346901-0.813528-0.531096-1.416256-0.971118-2.734274-2.089591-3.936659-3.333932-0.025583-0.026606-0.049119-0.053212-0.074701-0.079818-0.26299-0.275269-0.521886-0.555655-0.773619-0.843204-0.058328-0.066515-0.112564-0.134053-0.169869-0.200568-0.211824-0.246617-0.420579-0.496304-0.62217-0.751107-0.083911-0.106424-0.164752-0.214894-0.246617-0.322341-0.167822-0.218988-0.334621-0.437975-0.49528-0.663102-0.102331-0.14224-0.199545-0.287549-0.298805-0.431835-0.13303-0.194428-0.26606-0.387833-0.393973-0.586354-0.115634-0.179079-0.225127-0.360204-0.335644-0.541329-0.103354-0.168846-0.207731-0.336668-0.306992-0.508583-0.12689-0.220011-0.24764-0.443092-0.36839-0.666172-0.074701-0.138146-0.151449-0.275269-0.223081-0.416486-0.137123-0.265036-0.265036-0.533143-0.39295-0.802272-0.050142-0.105401-0.101307-0.209778-0.150426-0.316202-0.144286-0.317225-0.279363-0.63752-0.410346-0.958838-0.026606-0.064468-0.055259-0.127913-0.080841-0.193405-0.150426-0.378623-0.291642-0.760317-0.423649-1.14508-0.005117-0.016373-0.011256-0.031722-0.017396-0.048095-0.157589-0.463558-0.303922-0.930185-0.434905-1.400906l-97.897657-342.642824L435.093423 811.832042c-0.071631 0.569982-0.165776 1.13587-0.275269 1.696642-0.008186 0.040932-0.017396 0.081864-0.025583 0.12382-0.071631 0.356111-0.148379 0.709151-0.234337 1.061169-0.031722 0.128937-0.065492 0.255827-0.099261 0.38374-0.066515 0.254803-0.135076 0.508583-0.208754 0.760317-0.060375 0.206708-0.124843 0.411369-0.190335 0.615007-0.053212 0.166799-0.107447 0.332575-0.164752 0.49835-0.092098 0.26913-0.190335 0.535189-0.290619 0.800225-0.037862 0.098237-0.074701 0.196475-0.113587 0.293689-0.12382 0.313132-0.25378 0.623193-0.38988 0.930185-0.022513 0.050142-0.044002 0.100284-0.066515 0.150426-0.152473 0.338714-0.311085 0.672312-0.477884 1.00284-0.01228 0.024559-0.024559 0.049119-0.037862 0.074701-0.173962 0.343831-0.356111 0.682545-0.545422 1.017166-0.011256 0.019443-0.022513 0.039909-0.033769 0.059352-0.188288 0.330528-0.382717 0.654916-0.584308 0.975211-0.021489 0.034792-0.044002 0.068562-0.065492 0.103354-0.190335 0.298805-0.385786 0.592494-0.587378 0.88209-0.045025 0.065492-0.091074 0.12996-0.137123 0.194428-0.180102 0.252757-0.363274 0.502443-0.551562 0.74906-0.079818 0.105401-0.162706 0.208754-0.24457 0.312108-0.157589 0.199545-0.317225 0.396019-0.480954 0.590448-0.124843 0.149403-0.252757 0.295735-0.381693 0.442068-0.125867 0.14224-0.251733 0.284479-0.38067 0.424672-0.174985 0.191358-0.355087 0.378623-0.536212 0.563842-0.088004 0.090051-0.176009 0.180102-0.26606 0.26913-0.224104 0.222057-0.452301 0.440022-0.684592 0.653893-0.054235 0.050142-0.10847 0.100284-0.163729 0.150426-0.265036 0.240477-0.535189 0.474814-0.810459 0.704035-0.028653 0.023536-0.056282 0.047072-0.084934 0.070608-0.294712 0.243547-0.595564 0.479931-0.902556 0.711198-0.01535 0.011256-0.029676 0.022513-0.045025 0.033769-0.311085 0.232291-0.627287 0.458441-0.949628 0.677429-0.019443 0.013303-0.037862 0.025583-0.057305 0.038886-0.309038 0.208754-0.623193 0.411369-0.942465 0.606821-0.045025 0.027629-0.090051 0.054235-0.134053 0.081864-0.288572 0.174985-0.581238 0.343831-0.877997 0.50756-0.090051 0.050142-0.181125 0.098237-0.272199 0.147356-0.25071 0.134053-0.502443 0.265036-0.759293 0.391926-0.156566 0.077771-0.314155 0.151449-0.472767 0.226151-0.194428 0.091074-0.38988 0.182149-0.587378 0.268106-0.239454 0.105401-0.481977 0.204661-0.724501 0.302899-0.12382 0.049119-0.246617 0.100284-0.37146 0.148379-0.334621 0.128937-0.673335 0.249687-1.014096 0.36532-0.042979 0.014326-0.085958 0.029676-0.128937 0.044002-1.6158 0.536212-3.296069 0.915859-5.02034 1.119497-0.01535 0.002047-0.029676 0.004093-0.044002 0.00614-0.309038 0.035816-0.620124 0.062422-0.931209 0.086981-0.132006 0.010233-0.265036 0.025583-0.397043 0.033769-0.174985 0.011256-0.349971 0.01535-0.525979 0.022513-0.270153 0.01228-0.539282 0.024559-0.808412 0.027629-0.054235 0.001023-0.10847-0.001023-0.162706-0.001023-1.696642 0.010233-3.371794-0.149403-5.006014-0.466628-0.065492-0.01228-0.12996-0.027629-0.195451-0.039909-0.331551-0.067538-0.662079-0.13917-0.989537-0.218988-0.148379-0.035816-0.295735-0.075725-0.443092-0.11461-0.234337-0.061398-0.468674-0.124843-0.700965-0.192382-0.224104-0.065492-0.445138-0.135076-0.666172-0.206708-0.149403-0.048095-0.297782-0.096191-0.446162-0.147356-0.286526-0.098237-0.568958-0.201591-0.850367-0.309038-0.079818-0.030699-0.160659-0.061398-0.240477-0.093121-0.330528-0.12996-0.655939-0.267083-0.979304-0.410346-0.033769-0.01535-0.067538-0.029676-0.101307-0.045025-0.355087-0.159636-0.705058-0.325411-1.050935-0.500397-0.008186-0.004093-0.016373-0.008186-0.023536-0.01228-0.360204-0.182149-0.714268-0.372483-1.064238-0.569982-0.004093-0.002047-0.008186-0.005117-0.013303-0.007163-0.344854-0.196475-0.684592-0.399089-1.019213-0.610914-0.020466-0.013303-0.040932-0.025583-0.060375-0.038886-0.313132-0.199545-0.621147-0.404206-0.925069-0.61603-0.050142-0.034792-0.099261-0.070608-0.149403-0.105401-0.268106-0.190335-0.532119-0.38374-0.791016-0.583285-0.091074-0.069585-0.181125-0.141216-0.271176-0.212848-0.212848-0.167822-0.422625-0.337691-0.629333-0.512676-0.137123-0.11461-0.271176-0.232291-0.406253-0.349971-0.154519-0.1361-0.308015-0.272199-0.459464-0.412392-0.179079-0.164752-0.354064-0.332575-0.528026-0.502443-0.102331-0.100284-0.204661-0.199545-0.304945-0.301875-0.211824-0.212848-0.418532-0.430812-0.623193-0.651846-0.059352-0.064468-0.119727-0.128937-0.179079-0.194428-0.231267-0.254803-0.456395-0.515746-0.678452-0.780783-0.031722-0.037862-0.063445-0.075725-0.095167-0.11461-0.23536-0.285502-0.465604-0.577145-0.688685-0.874927-0.01842-0.024559-0.036839-0.048095-0.055259-0.072655-0.226151-0.301875-0.445138-0.60989-0.657986-0.923022-0.019443-0.028653-0.038886-0.057305-0.058328-0.084934-0.202615-0.300852-0.400113-0.606821-0.590448-0.916882-0.032746-0.053212-0.064468-0.105401-0.096191-0.158612-0.169869-0.282433-0.335644-0.567935-0.49528-0.857531-0.053212-0.097214-0.105401-0.194428-0.158612-0.292666-0.130983-0.24457-0.258896-0.490164-0.381693-0.73985-0.080841-0.162706-0.157589-0.326435-0.234337-0.491187-0.088004-0.189312-0.177032-0.378623-0.260943-0.571005-0.107447-0.245593-0.209778-0.493234-0.310062-0.741897-0.047072-0.11768-0.095167-0.234337-0.141216-0.354064-0.130983-0.340761-0.25378-0.684592-0.370437-1.030469-0.013303-0.037862-0.026606-0.075725-0.038886-0.113587-0.180102-0.543376-0.345877-1.092891-0.48914-1.650593L244.22942 305.59939599999996 67.355037 305.59939599999996c-14.128789 0-25.582655-11.453866-25.582655-25.582655s11.453866-25.582655 25.582655-25.582655l191.314257 0c0.867764 0 1.725294 0.044002 2.570545 0.128937 0.828878-0.080841 1.656733-0.1361 2.478448-0.1361 11.218506 0 21.512966 7.439436 24.644283 18.779715l113.358791 410.43686 103.412254-723.884758c0.00921-0.072655 0.021489-0.145309 0.030699-0.217964l0.046049-0.320295c0.002047-0.011256 0.005117-0.021489 0.00614-0.032746 0.109494-0.7552 0.25071-1.502213 0.425695-2.238994 0.01535-0.064468 0.031722-0.12689 0.047072-0.191358 0.166799-0.679475 0.358157-1.350764 0.579191-2.01182 0.041956-0.124843 0.088004-0.24764 0.130983-0.37146 0.210801-0.600681 0.437975-1.194198 0.692778-1.77646 0.068562-0.156566 0.144286-0.309038 0.215918-0.464581 0.223081-0.484024 0.460488-0.961908 0.713244-1.431605 0.106424-0.196475 0.213871-0.390903 0.325411-0.584308 0.265036-0.462534 0.545422-0.914836 0.838088-1.359974 0.088004-0.13303 0.170892-0.268106 0.260943-0.399089 0.354064-0.51677 0.732687-1.016143 1.12359-1.506307 0.078795-0.099261 0.156566-0.198521 0.237407-0.296759 0.420579-0.511653 0.864694-1.004887 1.325182-1.482771 0.051165-0.052189 0.101307-0.105401 0.152473-0.157589 0.494257-0.50449 1.010003-0.989537 1.548262-1.454118 0.00921-0.007163 0.017396-0.014326 0.026606-0.022513 1.636267-1.408069 3.466961-2.620687 5.466502-3.592828 0.075725-0.036839 0.151449-0.074701 0.228197-0.11154 0.576121-0.273223 1.165546-0.525979 1.768273-0.75827 0.158612-0.061398 0.319272-0.118704 0.478907-0.177032 0.558725-0.202615 1.124614-0.393973 1.704828-0.559748 0.005117-0.001023 0.010233-0.002047 0.01535-0.004093 0.278339-0.079818 0.562818-0.13917 0.844228-0.209778 0.394996-0.098237 0.789992-0.194428 1.184989-0.274246 0.283456-0.056282 0.568958-0.103354 0.854461-0.149403 0.445138-0.073678 0.889253-0.134053 1.333368-0.183172 0.229221-0.024559 0.456395-0.052189 0.686638-0.071631 0.710175-0.059352 1.418302-0.099261 2.122337-0.099261 0.337691 0 0.671289 0.027629 1.007957 0.040932 0.276293 0.011256 0.550539 0.013303 0.828878 0.033769 0.401136 0.029676 0.799202 0.079818 1.196245 0.127913 0.191358 0.022513 0.38067 0.033769 0.572028 0.061398 0.069585 0.010233 0.1361 0.024559 0.205685 0.034792 0.232291 0.034792 0.462534 0.075725 0.692778 0.116657 0.463558 0.082888 0.921999 0.176009 1.3743 0.283456 0.109494 0.025583 0.218988 0.047072 0.327458 0.074701 0.582261 0.145309 1.152243 0.316202 1.716084 0.499373 0.098237 0.031722 0.196475 0.063445 0.293689 0.097214 1.90335 0.644683 3.694135 1.50119 5.351891 2.540869 0.014326 0.00921 0.028653 0.01842 0.042979 0.027629 1.089821 0.686638 2.121314 1.452071 3.087315 2.287089 0.083911 0.071631 0.167822 0.143263 0.25071 0.215918 0.424672 0.3776 0.837064 0.76748 1.235131 1.170662 0.12382 0.124843 0.243547 0.254803 0.36532 0.382717 0.317225 0.334621 0.626263 0.677429 0.925069 1.028423 0.155543 0.183172 0.308015 0.36839 0.458441 0.556679 0.26606 0.331551 0.523933 0.670266 0.773619 1.01512 0.130983 0.180102 0.261966 0.35918 0.387833 0.543376 0.294712 0.429789 0.575098 0.86981 0.843204 1.316995 0.099261 0.165776 0.195451 0.334621 0.290619 0.503467 0.283456 0.499373 0.555655 1.004887 0.806365 1.52268 0.031722 0.065492 0.060375 0.13303 0.091074 0.199545 0.276293 0.584308 0.530073 1.178849 0.762363 1.784646 0.00614 0.017396 0.014326 0.034792 0.020466 0.051165 0.251733 0.661056 0.472767 1.336438 0.669242 2.020006 0.002047 0.008186 0.00614 0.016373 0.008186 0.024559l0.061398 0.215918c0.029676 0.106424 0.062422 0.210801 0.090051 0.317225l117.579929 411.527704 79.800487-94.308923c0.070608-0.083911 0.146333-0.161682 0.217964-0.243547 0.190335-0.220011 0.38374-0.436952 0.581238-0.649799 0.134053-0.144286 0.26913-0.285502 0.405229-0.425695 0.164752-0.168846 0.331551-0.335644 0.50142-0.500397 0.164752-0.159636 0.329505-0.319272 0.496304-0.473791 0.138146-0.12689 0.279363-0.25071 0.419556-0.37453 0.198521-0.174985 0.397043-0.350994 0.599657-0.518816 0.081864-0.067538 0.166799-0.132006 0.249687-0.198521 0.817622-0.661056 1.667989-1.264806 2.545986-1.811252 0.098237-0.061398 0.195451-0.125867 0.294712-0.185218 0.228197-0.138146 0.459464-0.267083 0.691755-0.398066 0.157589-0.089028 0.315178-0.178055 0.474814-0.264013 0.200568-0.107447 0.403183-0.208754 0.606821-0.311085 0.202615-0.101307 0.406253-0.201591 0.611937-0.297782 0.173962-0.080841 0.348947-0.159636 0.523933-0.237407 0.245593-0.10847 0.494257-0.212848 0.743944-0.313132 0.144286-0.058328 0.289596-0.115634 0.434905-0.171915 0.291642-0.11154 0.586354-0.216941 0.883113-0.317225 0.11154-0.037862 0.223081-0.076748 0.334621-0.113587 0.337691-0.109494 0.677429-0.210801 1.02126-0.305969 0.078795-0.021489 0.157589-0.046049 0.236384-0.066515 0.376577-0.101307 0.757247-0.193405 1.140986-0.277316 0.050142-0.011256 0.100284-0.023536 0.150426-0.034792 0.405229-0.085958 0.813528-0.162706 1.225921-0.229221 0.031722-0.005117 0.063445-0.01228 0.096191-0.017396 0.412392-0.065492 0.828878-0.12075 1.24741-0.165776 0.032746-0.004093 0.064468-0.00921 0.097214-0.01228 0.382717-0.039909 0.768503-0.068562 1.155313-0.092098 0.068562-0.004093 0.1361-0.01228 0.204661-0.01535 0.25992-0.013303 0.521886-0.01535 0.782829-0.020466 0.188288-0.004093 0.376577-0.01535 0.564865-0.01535 0.008186 0 0.01535 0.001023 0.023536 0.001023l181.208085 0c14.129812 0 25.582655 11.453866 25.582655 25.582655S967.56978 315.668729 953.440991 315.668729z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="ok-circle" unicode="&#4101;"
+                   d="M516.152065-63.152063c-60.696384 0-119.594819 11.894911-175.056991 35.353183-53.55473 22.651906-101.646028 55.073316-142.936433 96.364745-41.291428 41.291428-73.712839 89.381703-96.363721 142.936433-23.458271 55.462173-35.353183 114.359584-35.353183 175.055968s11.894911 119.594819 35.353183 175.056991c22.651906 53.55473 55.073316 101.646028 96.363721 142.936433 41.290405 41.291428 89.381703 73.712839 142.936433 96.363721 55.462173 23.458271 114.359584 35.353183 175.056991 35.353183s119.594819-11.894911 175.056991-35.353183c53.55473-22.651906 101.645005-55.073316 142.936433-96.363721 41.291428-41.290405 73.711815-89.38068 96.363721-142.936433 23.459295-55.462173 35.353183-114.359584 35.353183-175.056991 0-60.696384-11.893888-119.593795-35.353183-175.055968-22.651906-53.55473-55.072293-101.645005-96.363721-142.936433s-89.381703-73.712839-142.936433-96.364745C635.747907-51.25715200000002 576.849472-63.152063 516.152065-63.152063zM516.152065 774.870222c-214.115566 0-388.311956-174.196391-388.311956-388.311956s174.196391-388.311956 388.311956-388.311956 388.311956 174.196391 388.311956 388.311956S730.268654 774.870222 516.152065 774.870222zM434.74908 132.830517L209.49278 358.08784 289.087583 437.68162 434.74908 292.020122 743.218594 600.488613 822.812373 520.89381Z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="layim-theme" unicode="&#58907;"
+                   d="M958.830745 538.643056L740.659817 692.753993l-100.539834 0-3.977591-9.332553c-0.37146-0.871857-38.021965-86.8613-124.772748-88.667435-35.691897 0.76441-67.206658 15.500019-93.680613 43.828204-20.658506 22.106484-30.374798 44.584428-30.456662 44.776809l-3.955078 9.393951-100.587929 0L64.518433 538.643056 169.320337 379.756349l89.956801 65.019853-19.016099-368.05254 268.86654 0 4.093225 0 269.866311 0-19.016099 368.051517 89.956801-65.018829L958.830745 538.643056zM730.105437 507.20402l20.655436-399.781172-237.540068 0-4.093225 0L272.587282 107.42284700000005l20.656459 399.781172-115.938546-83.797521-36.3243 55.070246 159.440315 111.641683-19.276019 30.638811L121.066333 508.667348l-14.548344 22.056342 185.921433 131.330094 71.077825 0c5.332449-10.04375 15.433504-26.779923 30.951943-43.580564 32.047904-34.69622 72.256674-53.486168 116.345822-54.411237l0-0.031722c0.203638 0.00307 0.406253 0.01228 0.60989 0.016373 0.203638-0.00307 0.406253-0.013303 0.60989-0.016373l0 0.031722c44.073798 0.925069 84.359316 19.703761 116.566856 54.379515 15.623839 16.821107 25.814945 33.579793 31.188326 43.612287l71.120804 0 185.921433-131.330094-14.548344-22.056342L742.203986 620.7551920000001l-19.276019-30.638811 159.440315-111.641683-36.3243-55.070246L730.105437 507.20402z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="table" unicode="&#58925;"
+                   d="M304.738028 343.684806M729.544153 511.153982M595.52788 637.723655M143.806755 686.614156l0-601.704045L881.172549 84.91011100000003l0 601.704045L143.806755 686.614156zM420.318416 299.80441299999995l0 128.936581 184.341448 0 0-128.936581L420.318416 299.80441299999995zM604.659865 256.825552l0-128.936581L420.318416 127.88897099999997l0 128.936581L604.659865 256.825552zM604.659865 600.656435l0-128.936581L420.318416 471.719854l0 128.936581L604.659865 600.656435zM374.232798 600.656435l0-128.936581L189.89135 471.719854l0 128.936581L374.232798 600.656435zM189.89135 428.740994L374.232798 428.740994l0-128.936581L189.89135 299.80441299999995 189.89135 428.740994zM650.745483 428.740994l184.341448 0 0-128.936581L650.745483 299.80441299999995 650.745483 428.740994zM650.745483 471.719854l0 128.936581 184.341448 0 0-128.936581L650.745483 471.719854zM189.89135 256.825552L374.232798 256.825552l0-128.936581L189.89135 127.88897099999997 189.89135 256.825552zM650.745483 127.88897099999997l0 128.936581 184.341448 0 0-128.936581L650.745483 127.88897099999997z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="right" unicode="&#58882;"
+                   d="M283.648 721.9189759999999L340.873216 780.926976 740.352 383.99795200000005 340.876288-12.925952000000052 283.648 46.07795199999998 619.52 383.99795200000005Z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="left" unicode="&#58883;"
+                   d="M740.352 721.9189759999999L683.126784 780.926976 283.648 383.99795200000005 683.123712-12.925952000000052 740.352 46.07795199999998 404.48 383.99795200000005Z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="cart-simple" unicode="&#59032;"
+                   d="M235.097303 196.866982C247.384597 160.417152 286.382106 132.37606800000003 324.772759 132.37606800000003L861.658537 132.37606800000003 880.429732 132.37606800000003 885.649214 150.54185399999994 1009.08775 580.154957C1021.388907 622.967661 993.187631 660.786325 949.051586 660.786325L424.585365 660.786325C410.791718 660.786325 399.609756 649.5207379999999 399.609756 635.623932 399.609756 621.727125 410.791718 610.461538 424.585365 610.461538L949.051586 610.461538C959.924 610.461538 964.161052 604.779539 961.106394 594.148171L837.667859 164.53506800000002 861.658537 182.70085500000005 324.772759 182.70085500000005C307.742153 182.70085500000005 287.789837 197.04752900000005 282.395194 213.05054900000005L73.600164 832.433664C69.16437 845.592294 54.980454 852.636656 41.919502 848.167687 28.858551 843.698719 21.86648 829.408727 26.302275 816.250097L235.097303 196.866982ZM399.609756-6.017094000000043C399.609756 49.57012899999995 354.881911 94.63247799999999 299.707317 94.63247799999999 244.532723 94.63247799999999 199.804878 49.57012899999995 199.804878-6.017094000000043 199.804878-61.604318000000035 244.532723-106.66666699999996 299.707317-106.66666699999996 354.881911-106.66666699999996 399.609756-61.604318000000035 399.609756-6.017094000000043ZM249.756098-6.017094000000043C249.756098 21.77651800000001 272.120021 44.30769299999997 299.707317 44.30769299999997 327.294613 44.30769299999997 349.658537 21.77651800000001 349.658537-6.017094000000043 349.658537-33.810704999999984 327.294613-56.34187899999995 299.707317-56.34187899999995 272.120021-56.34187899999995 249.756098-33.810704999999984 249.756098-6.017094000000043ZM924.097562-6.017094000000043C924.097562 49.57012899999995 879.369715 94.63247799999999 824.195121 94.63247799999999 769.020529 94.63247799999999 724.292683 49.57012899999995 724.292683-6.017094000000043 724.292683-61.604318000000035 769.020529-106.66666699999996 824.195121-106.66666699999996 879.369715-106.66666699999996 924.097562-61.604318000000035 924.097562-6.017094000000043ZM774.243902-6.017094000000043C774.243902 21.77651800000001 796.607825 44.30769299999997 824.195121 44.30769299999997 851.782419 44.30769299999997 874.146342 21.77651800000001 874.146342-6.017094000000043 874.146342-33.810704999999984 851.782419-56.34187899999995 824.195121-56.34187899999995 796.607825-56.34187899999995 774.243902-33.810704999999984 774.243902-6.017094000000043Z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="face-cry" unicode="&#59036;"
+                   d="M1024 384C1024 666.769792 794.769792 896 512 896 229.230208 896 0 666.769792 0 384 0 101.23020799999995 229.230208-128 512-128 629.410831-128 740.826187-88.33104600000001 830.768465-16.686661999999956 841.557579-8.092490999999995 843.33693 7.620766000000003 834.742758 18.409879000000046 826.148587 29.198990999999978 810.43533 30.978341999999998 799.646219 22.384173000000033 718.470035-42.277495000000044 618.001779-78.04878099999996 512-78.04878099999996 256.817504-78.04878099999996 49.951219 128.81750399999999 49.951219 384 49.951219 639.182496 256.817504 846.048781 512 846.048781 767.182496 846.048781 974.048781 639.182496 974.048781 384 974.048781 296.507166 949.714859 212.66323599999998 904.470807 140.039307 897.177109 128.33175700000004 900.755245 112.92820300000005 912.462793 105.63450699999999 924.170342 98.34080900000004 939.573897 101.91894200000002 946.867595 113.62649199999998 997.013826 194.11920399999997 1024 287.101621 1024 384ZM337.170731 396.487806C371.654852 396.487806 399.609756 424.442709 399.609756 458.926829 399.609756 493.41095 371.654852 521.365854 337.170731 521.365854 302.686611 521.365854 274.731708 493.41095 274.731708 458.926829 274.731708 424.442709 302.686611 396.487806 337.170731 396.487806ZM711.804879 396.487806C746.288998 396.487806 774.243902 424.442709 774.243902 458.926829 774.243902 493.41095 746.288998 521.365854 711.804879 521.365854 677.320757 521.365854 649.365854 493.41095 649.365854 458.926829 649.365854 424.442709 677.320757 396.487806 711.804879 396.487806ZM352.788105 191.21547499999997C396.165222 225.91716899999994 453.151987 246.639629 524.487806 246.639629 595.823622 246.639629 652.810387 225.91716899999994 696.187505 191.21547499999997 722.700531 170.00505399999997 738.882517 148.42907300000002 746.631548 132.931012 752.800254 120.59359800000004 747.799529 105.59142399999996 735.462114 99.42271600000004 723.124702 93.25401 708.122526 98.25473499999998 701.953818 110.59214899999995 701.03616 112.42746499999998 698.492224 116.61747600000001 694.165854 122.38597100000004 686.602473 132.47047699999996 676.927317 142.654852 664.983226 152.21012499999995 630.311565 179.947456 584.273939 196.68840999999998 524.487806 196.68840999999998 464.70167 196.68840999999998 418.664045 179.947456 383.992384 152.21012499999995 372.048292 142.654852 362.373137 132.47047699999996 354.809756 122.38597100000004 350.483386 116.61747600000001 347.93945 112.42746499999998 347.021792 110.59214899999995 340.853084 98.25473499999998 325.850908 93.25401 313.513495 99.42271600000004 301.176081 105.59142399999996 296.175356 120.59359800000004 302.344062 132.931012 310.093092 148.42907300000002 326.275078 170.00505399999997 352.788105 191.21547499999997Z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="face-smile" unicode="&#59055;"
+                   d="M1024 384C1024 666.769792 794.769792 896 512 896 229.230208 896 0 666.769792 0 384 0 101.23020799999995 229.230208-128 512-128 629.410831-128 740.826187-88.33104600000001 830.768465-16.686661999999956 841.557579-8.092490999999995 843.33693 7.620766000000003 834.742758 18.409879000000046 826.148587 29.198990999999978 810.43533 30.978341999999998 799.646219 22.384173000000033 718.470035-42.277495000000044 618.001779-78.04878099999996 512-78.04878099999996 256.817504-78.04878099999996 49.951219 128.81750399999999 49.951219 384 49.951219 639.182496 256.817504 846.048781 512 846.048781 767.182496 846.048781 974.048781 639.182496 974.048781 384 974.048781 296.507166 949.714859 212.66323599999998 904.470807 140.039307 897.177109 128.33175700000004 900.755245 112.92820300000005 912.462793 105.63450699999999 924.170342 98.34080900000004 939.573897 101.91894200000002 946.867595 113.62649199999998 997.013826 194.11920399999997 1024 287.101621 1024 384ZM337.170731 396.487806C371.654852 396.487806 399.609756 424.442709 399.609756 458.926829 399.609756 493.41095 371.654852 521.365854 337.170731 521.365854 302.686611 521.365854 274.731708 493.41095 274.731708 458.926829 274.731708 424.442709 302.686611 396.487806 337.170731 396.487806ZM711.804879 396.487806C746.288998 396.487806 774.243902 424.442709 774.243902 458.926829 774.243902 493.41095 746.288998 521.365854 711.804879 521.365854 677.320757 521.365854 649.365854 493.41095 649.365854 458.926829 649.365854 424.442709 677.320757 396.487806 711.804879 396.487806ZM352.788105 127.22903299999996C396.165222 92.52733899999998 453.151987 71.80487900000003 524.487806 71.80487900000003 595.823622 71.80487900000003 652.810387 92.52733899999998 696.187505 127.22903299999996 722.700531 148.43945399999996 738.882517 170.01543500000002 746.631548 185.51349500000003 752.800254 197.850908 747.799529 212.85308399999997 735.462114 219.021792 723.124702 225.19049800000005 708.122526 220.18977299999995 701.953818 207.85235799999998 701.03616 206.01704299999994 698.492224 201.82703100000003 694.165854 196.058537 686.602473 185.97402899999997 676.927317 175.78965500000004 664.983226 166.23438299999998 630.311565 138.49705200000005 584.273939 121.75609799999995 524.487806 121.75609799999995 464.70167 121.75609799999995 418.664045 138.49705200000005 383.992384 166.23438299999998 372.048292 175.78965500000004 362.373137 185.97402899999997 354.809756 196.058537 350.483386 201.82703100000003 347.93945 206.01704299999994 347.021792 207.85235799999998 340.853084 220.18977299999995 325.850908 225.19049800000005 313.513495 219.021792 301.176081 212.85308399999997 296.175356 197.850908 302.344062 185.51349500000003 310.093092 170.01543500000002 326.275078 148.43945399999996 352.788105 127.22903299999996Z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="survey" unicode="&#59058;"
+                   d="M722.355804 849.454545C761.006291 849.454545 792.380951 818.166023 792.380951 779.627344L792.380951 437.500928 799.081094 453.813218 401.874746 51.22138 418.539682 58.181818 138.070006 58.181818C99.387643 58.181818 68.063492 89.328555 68.063492 127.771428L68.063492 872.727273 44.698413 849.454545 722.355804 849.454545ZM21.333333 896 21.333333 872.727273 21.333333 127.771428C21.333333 63.604277 73.59726 11.636363 138.070006 11.636363L418.539682 11.636363 428.337293 11.636363 435.204619 18.596802 832.410967 421.18864 839.11111 427.979625 839.11111 437.500928 839.11111 779.627344C839.11111 843.859757 786.827324 896 722.355804 896L44.698413 896 21.333333 896ZM775.859347 307.365395 759.337741 290.90909 775.859347 274.452787 869.319663 181.361879 885.841269 164.905574 902.362876 181.361879 972.458114 251.18006 988.979721 267.636363 972.458114 284.092668 878.997796 377.183575 862.47619 393.639878 845.954583 377.183575 775.859347 307.365395ZM845.954583 344.27097 939.414901 251.18006 939.414901 284.092668 869.319663 214.274485 902.362876 214.274485 808.902558 307.365395 808.902558 274.452787 878.997796 344.27097 845.954583 344.27097ZM518.843473 51.365395 513.841133 46.382827 512.453734 39.473248 489.088655-76.890387 482.215251-111.121568 516.58227-104.275332 633.407665-81.002605 640.344663-79.620689 645.347004-74.638121 902.362876 181.361879 918.884482 197.818182 902.362876 214.274485 808.902558 307.365395 792.380951 323.821698 775.859347 307.365395 518.843473 51.365395ZM775.859347 274.452787 869.319663 181.361879 869.319663 214.274485 612.303791-41.725515 624.243127-35.361033 507.41773-58.633758 534.911345-86.018703 558.276425 30.344934 551.886686 18.452787 808.902558 274.452787 775.859347 274.452787ZM426.576706 298.269073C444.201086 298.269073 458.488469 284.053815 458.488469 266.500753L458.488469 258.086116C458.488469 240.540958 444.323959 226.317797 426.576706 226.317797L426.576706 226.317797C408.952326 226.317797 394.664943 240.533054 394.664943 258.086116L394.664943 266.500753C394.664943 284.045911 408.829453 298.269073 426.576706 298.269073L426.576706 298.269073ZM278.349205 552.435127C278.349205 552.435127 280.851125 530.485568 305.477133 530.485568 330.103138 530.485568 331.559155 552.435127 331.559155 552.435127 329.927383 623.508937 362.988497 657.25782 430.67155 653.905282 475.722639 648.839223 499.06407 623.508937 500.624896 577.839917 497.503245 557.501184 480.405116 531.202385 449.969026 499.092521 409.671358 458.489557 389.522524 422.133143 389.522524 390.023279L389.522524 357.093903C389.522524 357.093903 392.614705 337.454532 414.885933 337.454532 437.157161 337.454532 440.249342 357.093903 440.249342 357.093903L440.249342 379.965664C440.249342 406.785969 459.546816 439.044836 498.21271 476.369762 538.652271 513.471183 558.730159 547.369069 558.730159 577.839917 555.395669 662.323878 511.195938 706.353877 425.776235 709.780917 327.515198 711.419936 278.349205 658.971339 278.349205 552.435127Z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="tree" unicode="&#58926;"
+                   d="M962.691679 258.53447400000005c-8.721639 54.163597-34.298154 97.584526-73.089645 133.8638-44.721551 41.825594-99.282191 65.724911-156.512636 84.432994-26.935466 8.80555-54.079686 16.971533-81.129762 25.427112 41.188074 7.485485 81.495082 10.991332 121.872698 12.269441 39.906895 1.26276 79.885422 0.276293 120.633475 0.276293-30.644951 44.233434-74.588789 71.110571-127.260405 84.384899-53.004191 13.357216-103.742782 9.715269-152.261822-32.081673 18.715247 66.336848 12.464893 120.18936-38.810934 160.830989-32.450063 25.719778-77.127611 31.000038-111.319341 14.916734 58.583257-31.127951 82.051761-84.265172 94.304829-145.102772-44.638663 69.056795-110.067838 96.432283-187.710173 86.487793-56.123228-7.187703-110.723777-26.270317-166.003801-40.048111 15.677051-14.358009 31.136138-24.116257 47.932686-27.839045 51.427276-11.399631 103.405091-20.301372 155.098427-30.524201 37.036521-7.323802 75.163887-12.144598 104.448864-40.879036-78.096682 23.458271-155.928329 30.034037-235.541551 9.092076C186.718589 530.20385 104.838743 479.821369 81.996502 429.437865c46.955428 23.955598 95.807043 18.776645 144.606469 17.139356 37.737486-1.266853 76.089979-3.461845 113.238041 1.594311 52.683896 7.170307 104.513332 20.624736 159.209048 31.909757-91.88164-62.077847-186.516997-122.342396-159.194722-259.889075 58.852386 100.205213 163.392324 150.107763 229.951229 238.105956-16.239869-91.498924 6.980995-169.376619 66.432015-237.83785 41.815361-48.152696 89.979314-92.010577 110.706381-156.013263 12.758582 141.877311-25.823132 270.789333-97.911984 396.334677C755.996107 391.809873 858.199837 325.909977 962.691679 258.53447400000005zM513.476631 320.10169099999996c-27.767414-14.065344-39.008432-35.954887-42.252313-64.998363-6.078439-54.437843-15.162328-108.532879-21.799492-162.916487-3.90903-32.026414-5.519714-64.333214-8.16496-96.53052 30.078039 0 55.507198 0 79.961146 0 9.912767 78.200036 19.732413 154.247037 28.913517 230.369761 0.883113 7.322779-0.756223 15.746636-3.705392 22.591531C536.246217 272.25086999999996 524.967336 295.41135899999995 513.476631 320.10169099999996z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="upload-circle" unicode="&#58927;"
+                   d="M512-128c282.768 0 512 229.216 512 512C1024 666.768 794.768 896 512 896 229.216 896 0 666.768 0 384 0 101.21600000000001 229.216-128 512-128zM512 848c256.272 0 464-207.744 464-464 0-256.272-207.728-464-464-464S48 127.72799999999995 48 384C48 640.256 255.728 848 512 848zM377.728 534.544L480 534.544l0-478c0-17.664 14.336-32 32-32s32 14.336 32 32L544 534.544l102.272 0c17.616 0 23.424 11.568 12.944 25.68l-128.128 172.624c-10.496 14.128-27.664 14.128-38.16 0L364.8 560.24C354.32 546.1120000000001 360.128 534.544 377.728 534.544z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="add-circle" unicode="&#58911;"
+                   d="M675.04 412.736l-127.04 0 0 127.264c0 20.064-16.288 36.32-36.32 36.32-20.064 0-36.32-16.192-36.32-36.32l0-127.232-127.072 0c-20.064 0-36.352-16.32-36.352-36.352 0-20.064 16.224-36.352 36.352-36.352l127.072 0 0-127.232c0-20 16.256-36.384 36.32-36.384 20.032 0 36.32 16.256 36.32 36.384l0 127.136 127.04 0c19.968 0 36.352 16.256 36.352 36.384C711.36 396.448 695.136 412.736 675.04 412.736L675.04 412.736zM511.328 830.56c-250.24 0-453.952-203.616-453.952-453.952 0-250.336 203.712-453.952 453.952-453.952 250.336 0 453.984 203.584 453.984 453.952C965.312 626.944 761.696 830.56 511.328 830.56L511.328 830.56zM511.328-20.576000000000022c-219.04 0-397.184 178.176-397.184 397.152 0 219.104 178.144 397.216 397.184 397.216s397.216-178.112 397.216-397.216C908.576 157.63199999999995 730.368-20.576000000000022 511.328-20.576000000000022L511.328-20.576000000000022zM511.328-20.576000000000022"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="download-circle" unicode="&#58881;"
+                   d="M510.771521 828.211081c-244.998947 0-443.597097-198.60429-443.597097-443.590957s198.59815-443.591981 443.597097-443.591981c244.986667 0 443.583794 198.60429 443.583794 443.591981S755.758188 828.211081 510.771521 828.211081zM510.771521-30.044013999999947c-229.010811 0-414.664138 185.65435-414.664138 414.664138 0 229.010811 185.653327 414.657998 414.664138 414.657998 228.996484 0 414.652881-185.647187 414.652881-414.657998C925.424402 155.60931300000004 739.768005-30.044013999999947 510.771521-30.044013999999947zM662.749888 352.39518799999996L537.719266 245.82501100000002l0 324.388065c0 14.887059-12.06478 26.953885-26.947745 26.953885-14.894222 0-26.961048-12.066827-26.961048-26.953885l0-325.410348L357.936647 352.39518799999996c-10.56359 10.599406-27.693736 10.599406-38.267559 0-10.56359-10.596336-10.56359-27.777647 0-38.375006l170.181961-161.220868c5.629207-5.652743 13.111622-8.060583 20.49887-7.680936 7.373944-0.379647 14.859429 2.02717 20.488637 7.680936l170.181961 161.220868c10.562567 10.597359 10.562567 27.77867 0 38.375006C690.443623 362.99561700000004 673.313477 362.99561700000004 662.749888 352.39518799999996z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="templeate-1" unicode="&#58928;"
+                   d="M320 384L106.666667 384c-35.349333 0-64-28.650667-64-64l0-213.333333c0-35.349333 28.650667-64 64-64l213.333333 0c35.349333 0 64 28.650667 64 64L384 320C384 355.349333 355.349333 384 320 384zM256 341.33333300000004l0-256L170.666667 85.33333300000004 170.666667 341.33333300000004 256 341.33333300000004zM85.333333 106.66666699999996L85.333333 320c0 11.754667 9.578667 21.333333 21.333333 21.333333l42.666667 0 0-256L106.666667 85.33333300000004C94.912 85.33333300000004 85.333333 94.91200000000003 85.333333 106.66666699999996zM341.333333 106.66666699999996c0-11.754667-9.578667-21.333333-21.333333-21.333333l-42.666667 0L277.333333 341.33333300000004l42.666667 0c11.754667 0 21.333333-9.578667 21.333333-21.333333L341.333333 106.66666699999996zM576 554.666667L234.666667 554.666667c-47.061333 0-85.333333-38.272-85.333333-85.333333l0-42.666667 42.666667 0 0 42.666667c0 23.530667 19.136 42.666667 42.666667 42.666667l42.666667 0 0-96 21.333333 0L298.666667 512l213.333333 0 0-426.666667-85.333333 0-21.333333-42.666667 170.666667 0c47.061333 0 85.333333 38.272 85.333333 85.333333L661.333333 469.333333C661.333333 516.394667 623.061333 554.666667 576 554.666667zM618.666667 128c0-23.530667-19.136-42.666667-42.666667-42.666667l-42.666667 0L533.333333 512l42.666667 0c23.530667 0 42.666667-19.136 42.666667-42.666667L618.666667 128zM853.333333 42.66666699999996c47.061333 0 85.333333 38.272 85.333333 85.333333L938.666667 640c0 47.061333-38.272 85.333333-85.333333 85.333333L341.333333 725.333333c-47.061333 0-85.333333-38.272-85.333333-85.333333l0-42.666667 42.666667 0 0 42.666667c0 23.530667 19.136 42.666667 42.666667 42.666667l85.333333 0 0-85.333333 21.333333 0 0 85.333333 298.666667 0 0-597.333333-42.666667 0-21.333333-42.666667L853.333333 42.66666699999996zM896 128c0-23.530667-19.136-42.666667-42.666667-42.666667l-85.333333 0L768 682.666667l85.333333 0c23.530667 0 42.666667-19.136 42.666667-42.666667L896 128z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="util" unicode="&#58929;"
+                   d="M282.127566 639.0826059999999c-13.120832-13.221116-30.625508-20.50808-49.278333-20.50808-18.618033 0-36.157501 7.286963-49.311079 20.50808l-32.885991 33.019021 98.623181 99.027387 32.885991-33.019021c13.186324-13.221116 20.473287-30.829146 20.473287-49.548486C302.599829 669.8769589999999 295.347658 652.26893 282.127566 639.0826059999999L282.127566 639.0826059999999zM249.308089 705.0899489999999l-0.032746 0-32.884968-32.987299c4.418636-4.417613 10.252505-6.845918 16.458857-6.845918 6.206352 0 12.041244 2.428306 16.426111 6.813173 4.418636 4.452405 6.845918 10.288321 6.845918 16.493649C256.121262 694.802652 253.693979 700.671313 249.308089 705.0899489999999L249.308089 705.0899489999999zM396.703067 496.343671L249.578242 638.778684l32.278147 33.626865 147.157571-142.468782L396.703067 496.343671 396.703067 496.343671zM751.45979 133.92852400000004L618.131179 274.071332l32.884968 32.985252 133.330658-140.141784L751.45979 133.92852400000004 751.45979 133.92852400000004zM850.184279 67.95597399999997c-22.700001-22.766516-52.481282-34.168194-82.264609-34.168194-29.714765 0-59.395762 11.333116-81.994456 34.033118L538.194592 222.398462l32.884968 33.021068L718.811206 100.806149c27.117614-27.183106 71.269183-27.116591 98.488105 0.169869 27.186176 27.287483 27.117614 71.773673-0.135076 99.196233l-147.426701 154.273642 32.851199 33.021068 147.461493-154.308435C895.447159 187.557956 895.514697 113.421468 850.184279 67.95597399999997L850.184279 67.95597399999997zM801.716404 468.380806c-30.726815-30.860868-71.605851-47.861054-115.082038-47.861054-43.442418 0-84.321454 16.999163-115.082038 47.861054-30.760584 30.861892-47.692209 71.877027-47.692209 115.521037s16.931624 84.691891 47.692209 115.554806l42.497906 42.666752 32.885991-32.986275-42.497906-42.667775c-21.99085-22.090111-34.099632-51.367925-34.065863-82.566484 0-31.163767 12.108782-60.441581 34.065863-82.499969 21.956058-22.058388 51.16531-34.20094 82.196047-34.20094 31.064506 0 60.239989 12.142551 82.196047 34.20094l42.49893 42.665729 32.884968-33.019021L801.716404 468.380806 801.716404 468.380806zM844.214311 511.049604l-49.311079 49.51267-16.45988-16.493649c-17.538445-17.638729-40.879036-27.352975-65.73719-27.352975l-0.032746 0c-24.824385 0-48.198745 9.713222-65.73719 27.352975-17.539468 17.607006-27.252691 41.082674-27.252691 66.007343 0 24.925692 9.679453 48.400337 27.252691 66.040089l16.458857 16.495696-49.344848 49.51267 32.885991 33.021068 82.196047-82.533738-49.311079-49.482995c-8.769734-8.835226-13.626345-20.571525-13.626345-33.051767 0-12.446473 4.856611-24.183795 13.626345-32.987299 8.768711-8.835226 20.439518-13.69286 32.884968-13.69286 12.411681 0 24.082488 4.857635 32.852222 13.69286l49.344848 49.514717 82.196047-82.534761L844.214311 511.049604 844.214311 511.049604zM233.591129 129.139451l0 46.681182 46.512337 0 0-46.681182L233.591129 129.139451 233.591129 129.139451zM538.160823 356.538555l-92.247984 91.572602 32.717146 33.18889 92.214215-91.539856L538.160823 356.538555 538.160823 356.538555zM304.2187 101.04355599999997l173.634596 239.842507 37.641295-27.454282L338.318332 69.23715300000003c-21.923312-22.057365-51.132564-34.20094-82.19707-34.20094-31.028691 0-60.237943 12.143575-82.196047 34.168194-21.958104 22.057365-34.065863 51.335179-34.065863 82.533738 0 31.198559 12.107759 60.476373 34.065863 82.533738l2.765997 2.360767L417.243893 412.054963l27.353998-37.742603L205.596542 200.00340600000004c-12.411681-13.053294-19.224854-30.119995-19.224854-48.26526 0-18.71934 7.252171-36.291554 20.438495-49.513694C232.747925 76.15265599999998 277.775444 75.71263499999998 304.2187 101.04355599999997L304.2187 101.04355599999997z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="face-surprised" unicode="&#58980;"
+                   d="M485.656116-128C221.592397-128 6.762016 86.81718000000001 6.762016 350.87649799999997s214.830381 478.867697 478.8941 478.867697c264.041716 0 478.854495-214.812779 478.854495-478.867697S749.697832-128 485.656116-128zM485.656116 798.834741c-247.024795 0-447.975846-200.959852-447.975846-447.962644 0-247.002792 200.951051-447.962644 447.975846-447.962644 247.002792 0 447.953843 200.959852 447.953843 447.962644C933.609959 597.8748889999999 732.658908 798.834741 485.656116 798.834741zM352.033458 447.380528c0-30.469398-24.682677-55.147675-55.143274-55.147675-30.451796 0-55.143274 24.678276-55.143274 55.147675 0 30.460597 24.691478 55.138874 55.143274 55.138874C327.350781 502.519402 352.033458 477.845526 352.033458 447.380528zM674.417647 502.519402c-30.460597 0-55.156476-24.678276-55.156476-55.138874 0-30.469398 24.695879-55.147675 55.156476-55.147675 30.451796 0 55.143274 24.678276 55.143274 55.147675C729.560922 477.845526 704.869444 502.519402 674.417647 502.519402zM562.005634 165.30976499999997c0-59.733046-34.192262-108.165484-76.349518-108.165484-42.166057 0-76.36272 48.432438-76.36272 108.165484 0 59.724245 34.196663 108.152282 76.36272 108.152282C527.813371 273.45764699999995 562.005634 225.03400999999997 562.005634 165.30976499999997zM835.631745 793.712503c0 0 12.871605 56.819883 41.959231 85.925112 29.083226 29.096427 69.915916 15.124685 78.492585-8.801097 9.461179-26.385689-2.033053-50.069442-29.092027-56.164202C899.404495 808.463141 874.880237 826.192952 835.631745 793.712503zM916.698651 757.570797c0 0 35.767659 20.576965 64.877288 19.393218 29.136032-1.174946 41.431165-29.144833 33.109728-45.110024-9.192746-17.588993-27.054573-22.966463-43.217788-11.797871C954.979023 731.44034 952.453108 752.721393 916.698651 757.570797z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="edit" unicode="&#58946;"
+                   d="M769.089 516.251l-125.896 125.89 62.974 62.947c20.866 20.838 54.652 20.838 75.517 0l50.353-50.351c20.865-20.865 20.865-54.703 0-75.567L769.089 516.251zM403.349 150.52700000000004L277.453 276.418 619.706 615.982 745.601 490.09ZM176.314 47.283000000000015L252.912 251.87699999999995 377.753 127.01199999999994Z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="speaker" unicode="&#58949;"
+                   d="M587.182306 754.7203c-6.003737 2.705622-13.043061 1.642406-17.984606-2.721994l-259.223926-229.293243-148.246369 0c-9.253758 0-16.752546-7.498788-16.752546-16.756639l0-267.886213c0-9.249665 7.498788-16.756639 16.752546-16.756639l144.050814 0c9.253758 0 16.752546 7.506974 16.752546 16.756639L322.530764 490.391099c1.774413 0.704035 3.433192 1.719154 4.892427 3.010567l236.127905 208.861912 0-653.332912-160.751171 137.64287c-2.12643 1.824555-90.300632 78.69941-93.927229 76.162634-4.427846-3.097548-15.768125-17.59882-18.419512-22.512736-0.953721-1.768273-2.196015-1.334391 15.413038-16.379039 25.674753-21.936615 73.780377-61.548798 75.144444-62.717414l10.007935-8.570189 178.388876-152.761196c3.093455-2.653433 6.978948-4.028757 10.900258-4.028757 2.369977 0 4.756327 0.503467 7.003508 1.534959 5.939269 2.738367 9.749038 8.677637 9.749038 15.217586L597.060281 739.446431C597.060281 746.034477 593.190137 752.013655 587.182306 754.7203L587.182306 754.7203zM290.453185 254.814756l-115.040083 0L175.413102 489.195877l115.03906 0 0-234.381122L290.453185 254.814756zM747.742119 375.98444300000006c0-51.55212-34.83232-96.658434-84.702124-109.693308-1.415232-0.375553-2.846838-0.551562-4.245697-0.551562-7.438413 0-14.234189 4.992711-16.200984 12.523221-2.338255 8.949836 3.021823 18.104333 11.967566 20.442588 35.136242 9.18929 59.672054 40.96397 59.672054 77.279061 0 36.307927-24.535813 68.090794-59.672054 77.271898-8.945743 2.346441-14.305821 11.492752-11.967566 20.450774 2.342348 8.953929 11.499915 14.305821 20.446681 11.967566C712.909799 472.643899 747.742119 427.530422 747.742119 375.98444300000006L747.742119 375.98444300000006zM864.950588 375.793084c0-88.87619-48.554856-170.44495-126.718053-212.883505-2.537799-1.375324-5.276167-2.02717-7.982812-2.02717-5.939269 0-11.69946 3.166109-14.733563 8.762571-4.417613 8.134261-1.39886 18.303878 6.727215 22.720468 67.350944 36.566824 109.198028 106.851587 109.198028 183.427636 0 76.844156-42.055838 147.272181-109.741403 183.78784-8.154727 4.396123-11.192923 14.557554-6.795776 22.700001 4.38896 8.142447 14.558577 11.184737 22.701025 6.795776C816.151162 546.697499 864.950588 464.976266 864.950588 375.793084L864.950588 375.793084z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="down" unicode="&#58906;"
+                   d="M888.306 619.94c15.615 15.617 40.93 15.617 56.545 0v0c15.617-15.615 15.617-40.93 0-56.545l-405.733-405.734c-15.615-15.617-40.928-15.617-56.545 0v0c-15.615 15.615-15.615 40.93 0 56.545l405.733 405.734zM538.619 214.20600000000002c15.617-15.615 15.617-40.93 0-56.545v0c-15.615-15.617-40.928-15.617-56.545 0l-405.734 405.734c-15.615 15.615-15.615 40.93 0 56.545v0c15.617 15.617 40.93 15.617 56.547 0l405.732-405.734zM538.619 214.20600000000002z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="file" unicode="&#58913;"
+                   d="M887.443911 598.6304l0-44.578133 0-45.511111 0-477.866667c0-37.705956-30.560711-68.266667-68.266667-68.266667l-614.4 0c-37.705956 0-68.266667 30.560711-68.266667 68.266667l0 705.422222c0 37.6832 30.560711 68.266667 68.266667 68.266667l386.844444 0 45.511111 0 38.024533 0c7.805156 2.594133 16.566044 1.2288 22.778311-5.006222l183.136711-183.159467C885.919289 611.373511 887.876267 604.9564439999999 887.443911 598.6304zM659.888356 531.296711c-12.583822 0-22.755556 10.171733-22.755556 22.755556l0 204.8-45.511111 0-364.088889 0c-25.122133 0-45.511111-20.388978-45.511111-45.511111l0-659.911111c0-25.122133 20.388978-45.511111 45.511111-45.511111l568.888889 0c25.122133 0 45.511111 20.388978 45.511111 45.511111l0 455.111111 0 22.755556L659.888356 531.296711zM682.643911 750.273422l0-173.4656 159.288889 0 0 14.176711L682.643911 750.273422z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="layouts" unicode="&#58930;"
+                   d="M917.213-103.239h-810.426c-23.151 0-41.918 18.766-41.918 41.917l0 698.644c0 23.148 18.767 41.917 41.918 41.917h810.426c23.149 0 41.918-18.769 41.918-41.917v-698.643c0-23.151-18.769-41.918-41.918-41.918zM316.38-61.321h600.833v363.294h-600.833v-363.294zM106.787-61.321h167.674v363.294h-167.674v-363.294zM148.705 637.322c-23.151 0-41.918-18.769-41.918-41.92s18.767-41.92 41.918-41.92 41.92 18.768 41.92 41.92-18.769 41.92-41.92 41.92zM274.461 637.322c-23.151 0-41.918-18.769-41.918-41.92s18.767-41.92 41.918-41.92c23.151 0 41.92 18.768 41.92 41.92s-18.77 41.92-41.92 41.92zM400.216 637.322c-23.15 0-41.918-18.769-41.918-41.92s18.769-41.92 41.918-41.92c23.152 0 41.92 18.768 41.92 41.92s-18.768 41.92-41.92 41.92zM875.293 511.566h-768.506v-167.675h810.426l0 167.675h-41.921z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="rate-half" unicode="&#59081;"
+                   d="M1012.064 504l-359.552 31.008-140.512 331.04-140.512-331.552-359.552-30.496 273.024-236.544-82.016-351.552 309.056 186.528 309.056-186.528-81.504 351.552 272.544 236.544zM512 195.96799999999996l0 465.056 85.504-202.016 219.04-19.008-166.016-144.032 50.016-214.016-188.512 114.016z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="add-circle-fine" unicode="&#58888;"
+                   d="M509.989715-60.972421000000054c-246.734474 0-446.75195 200.023616-446.75195 446.75809 0 246.732427 200.017476 446.75195 446.75195 446.75195 246.733451 0 446.757067-200.019523 446.757067-446.75195C956.746782 139.051195 756.723166-60.972421000000054 509.989715-60.972421000000054L509.989715-60.972421000000054zM509.989715 812.433746c-235.633648 0-426.650123-191.014428-426.650123-426.648077 0-235.639788 191.016475-426.654216 426.650123-426.654216 235.638765 0 426.654216 191.014428 426.654216 426.654216C936.643931 621.419318 745.62848 812.433746 509.989715 812.433746L509.989715 812.433746zM527.863804 153.46957999999995l-35.741016 0L492.122789 367.909533 277.678742 367.909533 277.678742 403.653619l214.443024 0L492.121765 618.0956189999999l35.741016 0L527.862781 403.653619l214.442 0 0-35.744086L527.863804 367.909533 527.863804 153.46957999999995 527.863804 153.46957999999995zM527.863804 153.46957999999995"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="prev-circle" unicode="&#58931;"
+                   d="M508.638018 827.97307c-246.403458 0-446.845649-200.463469-446.845649-446.845649 0-246.382179 200.442191-446.845649 446.845649-446.845649 246.382179 0 446.845649 200.463469 446.845649 446.845649C955.483667 627.5096 755.041476 827.97307 508.638018 827.97307zM508.638018-23.16149900000005c-222.933422 0-404.28892 181.355498-404.28892 404.28892 0 222.933422 181.355498 404.28892 404.28892 404.28892 222.912144 0 404.28892-181.355498 404.28892-404.28892C912.926939 158.19399899999996 731.57144-23.16149900000005 508.638018-23.16149900000005zM252.87208 485.1999c8.639016 26.129831-32.470784 37.215859-41.067243 11.32009-27.810822-83.730363-22.321004-168.545923 14.086277-248.573851 11.362646-24.938243 48.025268-3.298146 36.747735 21.491148C230.976644 339.081373 228.806251 412.853462 252.87208 485.1999zM599.262572 247.73335499999996l-127.627629 133.394065 127.47868 133.223838c9.043305 9.064583 9.022026 23.789211-0.021278 32.832516-8.809243 8.830521-24.087108 8.766686-32.832516 0l-148.310199-148.310199c-4.617405-4.638683-6.979303-11.064749-6.553736-17.746156-0.404289-6.702685 1.936331-13.107472 6.575015-17.788712l148.310199-148.28892c4.383343-4.383343 10.213615-6.787798 16.405619-6.787798 6.170726 0 12.000997 2.404455 16.405619 6.787798C608.156928 224.114371 608.156928 238.83899899999994 599.262572 247.73335499999996z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="read" unicode="&#59141;"
+                   d="M335.282306 712.495464C399.587328 713.451107 442.778899 696.882717 470.183494 669.3706540000001 479.127332 660.39174 485.691302 650.857363 490.241971 641.442689 492.795622 636.159553 494.049041 632.438701 494.358795 631.0740940000001L493.723712 636.7409230000001 493.723706 196.90019600000005C493.723706 199.018106 495.816045 203.920655 503.591595 207.36436700000002 511.039185 210.66283299999998 515.68422 209.16527399999995 517.176538 207.906613L500.671543 188.33763 521.297207 203.50146800000005C514.140179 213.23636899999997 499.631258 225.71450900000002 476.134074 237.35914000000002 439.577969 255.475456 390.86048 266.10507900000005 328.491925 266.10508200000004 265.860796 266.10508200000004 219.424582 255.71817999999996 186.827162 237.741581 164.977332 225.69198700000004 152.538132 212.28117299999997 147.220271 201.30886999999996L170.257196 190.14374199999997 151.035786 207.05224299999998C152.884078 209.15336100000002 158.307299 211.80336599999998 167.849005 208.050434 177.092077 204.41496099999995 179.2 199.20011699999998 179.2 196.66445199999998L179.2 497.049743 179.2 636.7409230000001 175.817447 624.023021C177.078908 626.226721 180.088681 630.807811 184.828724 636.965629 192.95423 647.521524 202.792594 658.127492 214.297641 668.007961 247.526453 696.544681 287.381649 713.209056 334.514421 712.495571L335.282306 712.495464ZM335.289387 763.689705C274.661039 764.607483 223.081402 743.04085 180.940156 706.850184 156.32698 685.712527 139.975514 664.470237 131.382553 649.4588249999999L128 643.549699 128 636.7409230000001 128 497.049743 128 196.66445199999998C128 159.26104999999995 164.542545 144.88818300000003 189.478606 173.23524099999997L191.776657 175.84764199999995 193.294121 178.978613C194.07832 180.59664399999997 199.156367 186.07133399999998 211.552092 192.907243 236.030601 206.40648099999999 274.024879 214.905082 328.491925 214.905082 383.221547 214.905079 424.163878 205.97190999999998 453.399258 191.483569 469.376966 183.56540600000005 477.614626 176.48075300000005 480.045882 173.17379000000005L481.844905 170.72677999999996 484.166551 168.768644C511.279708 145.90070000000003 544.923706 160.801293 544.923706 196.90019600000005L544.923712 636.740922 544.288627 642.407751C540.427211 659.419023 529.175531 682.697124 506.45814 705.503602 468.987716 743.1209699999999 412.352271 764.846461 334.521502 763.689812L335.289387 763.689705ZM0 506.026694L0 27.856867999999963C0-8.875636999999983 34.793167-23.40043300000002 61.4635 1.2485080000000153L63.46242 3.315859000000046C65.301149 5.444836000000009 69.655573 9.862312999999972 76.498228 15.820363000000043 88.306297 26.101906999999983 102.566352 36.46294 119.251411 46.17438500000003 167.295691 74.13829099999998 224.90855 90.95018200000004 292.337329 90.95018200000004 358.378978 90.95018000000005 409.459345 71.66956600000003 448.125308 39.64774 461.506042 28.56627400000002 472.380655 16.734758000000056 480.912593 4.997000999999955 485.832384-1.7713730000000396 488.762874-6.741985999999997 489.872527-9.02252199999998 496.058545-21.73590200000001 511.379537-27.027375000000006 524.092917-20.84135500000002 536.806298-14.655337000000031 542.097771 0.6656550000000152 535.91175 13.379036000000042 527.471002 30.726293000000055 509.777717 55.06771800000001 480.782336 79.08069999999998 433.134118 118.54132300000003 370.586889 142.15017999999998 292.337329 142.15018199999997 215.474895 142.15018499999996 149.074727 122.77408400000002 93.495781 90.424668 59.761154 70.78961500000003 36.872315 50.859801999999945 24.713677 36.78188399999999L44.088049 20.048869999999965 26.712598 38.84923500000002C28.162783 40.189508000000046 32.877261 41.946117999999956 40.792576 38.64178100000004 49.035365 35.200736000000006 51.2 30.12989200000004 51.2 27.856867999999963L51.2 506.026694C51.2 520.165184 39.73849 531.626694 25.6 531.626694 11.46151 531.626694 0 520.165184 0 506.026694L0 506.026694ZM696.80221 763.689812C618.971441 764.846461 562.335996 743.1209699999999 524.86557 705.503602 502.148181 682.697124 490.896501 659.419023 487.035083 642.407751L486.4 636.740922 486.400004 196.90019600000005C486.400006 160.801293 520.044004 145.90070000000003 547.157161 168.768644L549.478807 170.72677999999996 551.27783 173.17379000000005C553.709086 176.48075300000005 561.946746 183.56540600000005 577.924452 191.483569 607.159834 205.97190999999998 648.102165 214.905079 702.831787 214.905082 757.298833 214.905082 795.293111 206.40648099999999 819.77162 192.907243 832.167345 186.07133399999998 837.245391 180.59664399999997 838.029591 178.978613L839.547055 175.84764199999995 841.845105 173.23524099999997C866.781167 144.88818300000003 903.323712 159.26104999999995 903.323712 196.66445199999998L903.323712 497.049743 903.323712 636.7409230000001 903.323712 643.549699 899.941158 649.4588249999999C891.348196 664.470237 874.996732 685.712527 850.383556 706.850184 808.24231 743.04085 756.662673 764.607483 696.034325 763.689705L696.80221 763.689812ZM696.809291 712.495571C743.942063 713.209056 783.797257 696.544681 817.026071 668.007961 828.531119 658.127492 838.369481 647.521524 846.494989 636.965629 851.235031 630.807811 854.244804 626.226721 855.506263 624.023021L852.123712 636.7409230000001 852.123712 497.049743 852.123712 196.66445199999998C852.123712 199.20011699999998 854.231635 204.41496099999995 863.474707 208.050434 873.016412 211.80336599999998 878.439633 209.15336100000002 880.287925 207.05224299999998L861.066515 190.14374199999997 884.103441 201.30886999999996C878.785579 212.28117299999997 866.346381 225.69198700000004 844.49655 237.741581 811.89913 255.71817999999996 765.462916 266.10508200000004 702.831785 266.10508200000004 640.463232 266.10507900000005 591.745741 255.475456 555.189638 237.35914000000002 531.692454 225.71450900000002 517.183533 213.23636899999997 510.026502 203.50146800000005L530.652166 188.33763 514.147172 207.906613C515.63949 209.16527399999995 520.284527 210.66283299999998 527.732117 207.36436700000002 535.507665 203.920655 537.600004 199.018106 537.600004 196.90019600000005L537.6 636.7409230000001 536.964917 631.0740940000001C537.274671 632.438701 538.52809 636.159553 541.081741 641.442689 545.63241 650.857363 552.196378 660.39174 561.140218 669.3706540000001 588.544813 696.882717 631.736384 713.451107 696.041406 712.495464L696.809291 712.495571ZM972.799998 506.026694L972.799998 27.856867999999963C972.799998 30.12989200000004 974.964631 35.200736000000006 983.207422 38.64178100000004 991.122737 41.946117999999956 995.837214 40.189508000000046 997.287401 38.84923500000002L979.911949 20.048869999999965 999.286321 36.78188399999999C987.127682 50.859801999999945 964.238844 70.78961500000003 930.504218 90.424668 874.925269 122.77408400000002 808.525103 142.15018499999996 731.662669 142.15018199999997 653.132708 142.15017999999998 590.55104 117.26282200000003 543.127755 75.73800100000005 514.370099 50.55719499999998 496.945662 25.10259599999995 488.705389 7.022771000000034 482.841769-5.842485000000011 488.517717-21.02524200000005 501.382974-26.888862000000017 514.248233-32.752481999999986 529.430987-27.07653300000004 535.294607-14.211275 536.420563-11.740835999999945 539.350332-6.450639000000024 544.25735 0.7178109999999833 552.731727 13.097653000000037 563.54464 25.561581000000047 576.856734 37.21792900000003 615.190044 70.78337499999998 665.901421 90.95018000000005 731.662669 90.95018200000004 799.091447 90.95018200000004 856.704307 74.13829099999998 904.748587 46.17438500000003 921.433645 36.46294 935.6937 26.101906999999983 947.501771 15.820363000000043 954.344425 9.862312999999972 958.698848 5.444836000000009 960.537577 3.315859000000046L962.536497 1.2485080000000153C989.206831-23.40043300000002 1023.999998-8.875636999999983 1023.999998 27.856867999999963L1023.999998 506.026694C1023.999998 520.165184 1012.538487 531.626694 998.399998 531.626694 984.261508 531.626694 972.799998 520.165184 972.799998 506.026694L972.799998 506.026694Z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="404" unicode="&#58908;"
+                   d="M300.197309 299.705317l4.427931 1.803972c1.147982-2.787956 10.167841-7.543882 26.89558-14.267777l5.411915-12.955798c10.659833-24.927611 23.123639-62.483024 37.555413-112.66624 14.431775 5.575913 34.439462 0.983985 60.351057-13.611787l1.803972-4.427931L389.575913 107.828315l18.203716-42.639334c2.459962-5.575913-12.463805-15.579757-44.7713-29.847534-11.151826 7.215887-19.84369 9.675849-26.403587 7.05189l-0.983985 2.131967c-10.823831 25.419603-16.235746 42.311339-16.399744 50.675208l-4.427931-1.803972 6.3959-14.923767-11.151826-4.263933c-41.655349-16.235746-71.830878-18.695708-90.690583-7.871877l-4.427931-1.803972-1.803972 4.263933c-7.05189 16.727739 3.607944 77.406791 32.307495 182.037156 11.479821 4.427931 19.1877 14.923767 22.959641 31.323511C281.337604 290.685458 291.83344 296.425368 300.197309 299.705317L300.197309 299.705317zM216.230621 80.276746c28.371557 19.515695 40.999359 32.799488 38.047406 39.68738-0.983985 2.131967-0.65599 5.575913 0.65599 10.167841l-0.983985 2.131967c-25.5836-21.483664-38.047406-32.963485-37.391416-34.439462C215.246637 88.804612 215.082639 83.064702 216.230621 80.276746L216.230621 80.276746zM216.722614 72.896861l0.983985-2.131967c11.643818 1.147982 21.155669 3.279949 28.699552 6.231903 0.819987 0.327995 7.379885 5.411915 19.84369 15.251762l-0.983985 2.131967c-7.543882-2.951954-12.7918-0.983985-15.743754 6.067905C226.398463 85.032671 215.574632 75.848815 216.722614 72.896861L216.722614 72.896861zM225.90647 143.743754l11.151826 4.263933c-1.147982-2.623959-6.3959-8.691864-15.579757-18.53171-2.295964-10.823831-2.787956-17.547726-1.639974-20.335682 27.715567 20.663677 40.34337 33.783472 37.883408 39.523382l0.819987 10.331839-3.443946-3.935939-9.019859-3.443946-0.983985 2.131967c11.151826 4.263933 17.875721 16.891736 20.49968 37.719411l-0.983985 2.131967C239.35426 172.443306 227.21845 160.307495 227.874439 157.027546L225.90647 143.743754 225.90647 143.743754zM231.646381 173.42729l0.983985-2.131967 2.131967 0.819987c28.371557 23.123639 40.179372 40.179372 35.423447 51.331198 1.475977 0.65599 1.967969 1.639974 1.475977 2.951954l-2.295964-0.819987c-28.863549-21.647662-40.999359-38.047406-36.407431-49.035234C231.482383 175.723254 230.990391 174.73927 231.646381 173.42729L231.646381 173.42729zM240.994234 211.966688l0.983985-2.131967c13.775785 10.331839 35.915439 29.847534 66.418962 58.21909l2.131967 0.819987-6.3959 14.923767 0.491992 5.083921-2.295964-0.819987c-36.571429-32.963485-55.431134-51.82319-56.579116-56.743113L240.994234 211.966688 240.994234 211.966688zM311.67713 107.336323l-35.751441-13.939782c-1.475977-0.491992-6.887892-4.263933-16.235746-11.315823l0.819987-1.967969 12.299808 2.131967 20.007687 7.871877c11.643818 4.591928 32.143498 19.84369 61.171044 46.08328l-6.3959 14.923767-2.131967-0.819987c-24.107623-16.891736-34.439462-29.191544-31.159513-36.899423C315.449071 110.616272 314.629084 108.484305 311.67713 107.336323L311.67713 107.336323zM267.889814 264.773863l0.819987-1.967969c17.875721 16.891736 27.387572 25.419603 28.207559 25.747598l-0.983985 2.131967-8.855862-3.443946C274.941704 282.485586 268.545804 274.941704 267.889814 264.773863L267.889814 264.773863zM275.597694 222.954516c16.071749-37.883408 20.007687-67.894939 11.971813-90.034593l-3.443946-28.863549 26.89558 10.495836c-7.543882 30.011531-18.367713 65.598975-32.471493 106.926329l-0.983985 2.131967L275.597694 222.954516 275.597694 222.954516zM279.369635 231.810378l6.3959-14.923767c13.44779 15.087764 24.435618 24.271621 32.63549 27.55157l-3.607944 8.527867-2.459962 11.643818-2.131967-0.819987C289.045484 247.06214 278.713645 236.566304 279.369635 231.810378L279.369635 231.810378zM292.817425 194.58296c23.943626 17.219731 33.619475 30.995516 29.191544 41.491352l-2.787956 6.3959-2.295964-0.819987c-21.483664-18.859705-30.667521-31.651505-27.879564-38.3754L292.817425 194.58296 292.817425 194.58296zM294.457399 190.483024l2.787956-6.3959 2.295964-11.807816 2.295964 0.819987-0.491992-5.083921 6.3959-14.923767 32.471493 27.387572-6.3959 15.087764c-9.347854-10.331839-16.235746-16.399744-20.827675-18.203716l-2.295964-0.983985c-0.65599 1.639974 6.067905 10.167841 20.335682 25.419603l-3.115951 13.611787-0.983985 2.131967L294.457399 190.483024 294.457399 190.483024zM307.413197 148.171685l2.787956-6.3959 2.295964-11.643818c23.943626 17.219731 35.259449 27.387572 33.94747 30.503523l-5.411915 12.955798C329.224856 165.719411 318.07303 157.191544 307.413197 148.171685L307.413197 148.171685zM355.792441 131.935939c-23.779628-17.711723-34.111467-30.011531-30.995516-37.227418l1.475977-9.347854c25.255605 18.039718 36.899423 29.355541 34.931454 33.783472 24.435618 21.155669 38.703395 32.471493 42.803331 33.94747l-0.819987 1.967969c-1.803972 2.787956-6.723895 4.099936-14.595772 4.427931l-30.831518-31.9795L355.792441 131.935939 355.792441 131.935939zM327.912876 81.26073l4.591928-10.659833-0.491992-5.083921 2.295964 0.819987c23.451634 14.595772 34.275464 23.615631 32.63549 27.55157l-5.411915 12.955798L327.912876 81.26073 327.912876 81.26073zM333.816784 61.253043l5.411915-12.7918c25.747598 13.283792 37.719411 22.139654 35.915439 26.403587l-4.591928 10.659833C348.412556 70.272902 336.112748 62.237028 333.816784 61.253043L333.816784 61.253043zM357.596413 139.971813l1.803972-4.099936c4.919923 1.967969 8.527867 9.839846 10.823831 23.943626l-2.295964-0.819987C364.648302 147.679693 361.204356 141.44779 357.596413 139.971813L357.596413 139.971813zM731.674568 256.081999l3.935939-0.163997c-0.163997-2.459962 4.755926-9.019859 14.759769-19.515695l-0.65599-11.315823c-1.147982-21.975657-5.411915-53.955157-12.955798-95.774504 12.627803-0.65599 25.911595-10.659833 39.68738-30.175529l-0.163997-3.935939-47.887252-10.823831-1.967969-37.719411c-0.327995-4.919923-14.923767-7.379885-43.951313-7.379885-5.575913 9.019859-11.151826 13.775785-16.891736 13.939782l0.163997 1.967969c1.147982 22.467649 3.279949 36.735426 6.231903 42.967329l-3.935939 0.163997-0.65599-13.119795-9.839846 0.491992c-36.571429 1.803972-60.023062 9.839846-70.026906 24.271621l-3.935939 0.163997 0.163997 3.771941c0.819987 14.759769 30.667521 56.087124 89.706598 124.14606 10.167841-0.491992 19.515695 4.755926 28.371557 15.579757C714.290839 255.754004 724.294683 256.573991 731.674568 256.081999L731.674568 256.081999zM587.848815 115.86419l-0.163997-1.967969c9.019859-2.951954 16.891736-4.591928 23.615631-4.919923 0.65599 0 7.379885 1.475977 20.171685 4.755926l0.163997 1.967969c-6.723895 0.327995-9.839846 3.607944-9.511851 9.675849C599.328635 121.6041 588.012812 118.324151 587.848815 115.86419L587.848815 115.86419zM590.144779 121.440102c28.043562 5.083921 42.147341 10.659833 42.475336 16.727739 0.163997 1.803972 1.475977 4.263933 4.099936 7.215887l0.163997 1.967969c-26.731582-7.379885-40.015375-11.807816-40.179372-13.119795C592.440743 128.163997 590.308776 123.900064 590.144779 121.440102L590.144779 121.440102zM620.15631 165.227418l9.839846-0.491992c-1.803972-1.475977-7.871877-4.427931-18.367713-8.527867-5.575913-7.215887-8.527867-12.13581-8.527867-14.595772 28.043562 6.067905 42.147341 11.643818 42.311339 16.727739l4.263933 7.379885-3.935939-1.803972-8.035874 0.327995 0.163997 1.967969c9.839846-0.491992 19.351698 6.559898 28.863549 21.155669l0.163997 1.967969c-26.23959-7.379885-39.68738-12.463805-40.34337-14.923767L620.15631 165.227418 620.15631 165.227418zM670.667521 109.960282l-31.487508 1.475977c-1.31198 0-6.559898-0.983985-16.071749-2.951954l-0.163997-1.803972 9.839846-2.459962 17.711723-0.819987c10.331839-0.491992 30.995516 4.099936 61.991031 13.939782l0.65599 13.119795-1.803972 0.163997c-23.943626-4.591928-36.079436-10.167841-36.407431-16.891736C674.603459 110.944266 673.29148 109.796284 670.667521 109.960282L670.667521 109.960282zM635.244074 185.399103l-0.163997-1.967969 1.803972-0.163997c29.355541 7.70788 44.279308 16.563741 44.7713 26.23959 1.31198 0 2.131967 0.491992 2.131967 1.639974l-1.967969 0.163997c-29.191544-6.3959-44.115311-14.595772-44.607303-24.271621C635.900064 187.039078 635.244074 186.547085 635.244074 185.399103L635.244074 185.399103zM685.755285 207.37476c-1.803972-33.29148-9.675849-56.907111-23.615631-70.682896l-12.955798-20.171685 23.779628-1.147982c5.247918 24.763613 10.167841 54.611147 14.595772 89.870596l0.163997 1.967969L685.755285 207.37476 685.755285 207.37476zM656.071749 210.818706l-0.163997-1.967969c13.939782 3.115951 37.391416 10.167841 70.354901 21.155669l1.803972-0.163997 0.65599 13.119795 2.295964 3.607944-1.967969 0.163997c-39.03139-12.299808-59.859065-20.007687-62.483024-23.287636L656.071749 210.818706 656.071749 210.818706zM670.339526 68.46893l-0.65599-11.315823c23.943626 1.31198 35.915439 3.935939 36.079436 7.70788l0.491992 9.347854C684.443306 70.272902 672.471493 68.304933 670.339526 68.46893L670.339526 68.46893zM673.29148 85.196669l-0.491992-9.347854-2.295964-3.607944 1.967969-0.163997c22.631646 2.951954 33.94747 6.231903 34.111467 9.511851l0.65599 11.315823L673.29148 85.196669 673.29148 85.196669zM712.158873 113.568225c-23.943626-5.247918-36.079436-10.987828-36.407431-17.219731l-2.295964-7.379885c25.255605 5.083921 37.883408 9.511851 38.211403 13.44779 25.747598 7.543882 40.34337 11.151826 43.951313 10.987828l0.163997 1.803972c-0.327995 2.623959-3.443946 5.247918-9.347854 8.035874l-34.439462-13.44779L712.158873 113.568225 712.158873 113.568225zM682.147341 141.611787l-0.327995-5.73991-2.459962-9.347854c23.943626 4.755926 36.079436 8.691864 36.079436 11.479821l0.65599 11.315823C704.778988 147.351698 693.463165 144.727739 682.147341 141.611787L682.147341 141.611787zM688.051249 177.199231l-0.327995-5.73991-2.623959-9.511851 1.967969-0.163997-2.295964-3.607944-0.65599-13.119795 33.94747 9.511851 0.65599 13.283792c-10.659833-4.591928-18.039718-6.723895-21.975657-6.559898l-1.967969 0.163997c0 1.475977 8.199872 5.411915 24.271621 12.13581l2.623959 11.151826 0.163997 1.967969L688.051249 177.199231 688.051249 177.199231zM688.215247 180.807175c23.943626 4.755926 36.243434 11.807816 36.735426 20.991672l0.327995 5.73991-1.967969 0.163997c-22.631646-6.887892-34.275464-13.283792-34.603459-19.1877L688.215247 180.807175 688.215247 180.807175zM691.82319 212.786675l-0.65599-13.119795c15.415759 6.723895 26.89558 10.003844 34.111467 9.511851l0.327995 7.543882 2.459962 9.511851-1.803972 0.163997C704.450993 220.986547 692.971172 216.558616 691.82319 212.786675L691.82319 212.786675zM695.103139 240.994234l-0.163997-1.803972c19.351698 6.559898 29.355541 9.839846 30.339526 9.839846l0.163997 1.967969-7.871877 0.327995C706.746957 251.818065 699.367072 248.374119 695.103139 240.994234L695.103139 240.994234zM716.422806 118.980141l-0.163997-3.607944c4.427931-0.163997 10.003844 4.427931 16.727739 14.10378l-1.967969 0.163997C724.45868 122.26009 719.538757 118.816143 716.422806 118.980141L716.422806 118.980141zM479.118514 382.196028c53.627162 10.167841 89.870596 1.967969 109.222293-24.599616 9.675849-18.695708 15.579757-33.455477 17.875721-44.279308 11.807816-56.743113-5.903908-103.154388-53.299167-138.741832-12.463805-5.083921-22.631646-8.363869-30.339526-10.003844-31.651505-6.067905-63.631006 5.083921-95.938501 33.455477-9.347854 16.399744-15.251762 31.159513-18.039718 44.279308-13.283792 63.795003 1.967969 108.238309 45.919283 133.165919L479.118514 382.196028 479.118514 382.196028zM410.075593 265.429853c6.231903 5.247918 11.479821 8.199872 15.579757 9.019859-9.675849-9.347854-14.431775-15.087764-13.939782-17.219731-0.327995-5.411915-0.163997-10.167841 0.819987-14.267777l2.131967 0.327995c24.271621 15.743754 35.915439 25.5836 35.095452 29.519539l-2.131967 10.003844c-4.099936-3.607944-8.035874-5.73991-11.643818-6.559898l-0.819987 4.099936c10.823831 2.131967 15.251762 11.971813 13.44779 29.519539l-1.967969-0.327995c-22.467649-16.399744-34.603459-27.715567-36.407431-33.94747C409.255605 273.30173 409.255605 269.857783 410.075593 265.429853L410.075593 265.429853zM410.23959 286.257527c33.127482 21.647662 47.887252 40.34337 44.607303 56.251121-29.683536-23.615631-44.443306-36.079436-44.279308-37.555413C409.747598 295.769379 409.5836 289.537476 410.23959 286.257527L410.23959 286.257527zM412.699552 315.777066l0.491992-2.131967c27.059577 20.663677 44.607303 37.227418 52.643177 49.527226 10.331839 1.967969 17.055734 7.379885 20.49968 16.235746l-2.131967-0.491992C447.303011 372.028187 423.523382 350.872518 412.699552 315.777066L412.699552 315.777066zM414.339526 234.926329c2.459962-4.919923 4.263933-9.347854 5.083921-13.44779 18.859705 14.759769 30.339526 22.467649 34.111467 23.123639l-3.771941 18.039718C444.18706 261.493914 432.379244 252.310058 414.339526 234.926329L414.339526 234.926329zM421.883408 220.002562c2.131967-9.839846 5.247918-14.759769 9.675849-14.759769l27.879564 21.975657c-0.327995 1.147982-2.131967 6.231903-5.411915 15.415759C437.299167 228.530429 426.639334 220.986547 421.883408 220.002562L421.883408 220.002562zM432.707239 199.174888c5.083921-5.903908 8.527867-8.691864 10.495836-8.363869l3.935939 0.819987c10.987828 10.495836 19.1877 16.235746 24.599616 17.219731-0.819987 3.935939-3.935939 8.855862-9.511851 14.759769C442.21909 209.014734 432.379244 200.814862 432.707239 199.174888L432.707239 199.174888zM448.450993 185.563101l0.491992-2.131967c2.459962 0.491992 6.3959-0.819987 11.807816-3.771941 18.859705 10.003844 28.207559 16.727739 28.207559 19.84369-6.067905 1.639974-9.511851 4.427931-10.331839 8.363869C466.818706 202.946829 456.814862 195.566944 448.450993 185.563101L448.450993 185.563101zM469.442665 179.331198l0.491992-2.131967 14.923767 0.65599 12.627803 2.459962c2.459962 0.491992 8.199872 3.771941 17.547726 9.839846l-0.491992 2.131967c-6.887892-1.31198-13.611787 0.163997-20.49968 4.263933L469.442665 179.331198 469.442665 179.331198zM476.494555 249.030109l4.591928-21.811659c2.951954-14.431775 12.463805-25.091608 28.535554-31.9795l4.099936 0.819987c24.599616 34.275464 32.143498 73.798847 22.795644 118.570147l-2.459962 11.971813-6.231903 19.515695-6.067905-1.147982c-3.935939-0.819987-14.267777 0-30.831518 2.295964C473.870596 316.597053 469.278668 283.961563 476.494555 249.030109L476.494555 249.030109zM476.494555 363.172325l0.327995-1.967969c10.823831-2.131967 17.547726-3.115951 20.007687-2.623959 13.939782 10.167841 21.647662 17.875721 23.287636 23.287636l-21.319667-1.967969C496.174247 379.408072 488.630365 373.832159 476.494555 363.172325L476.494555 363.172325zM508.966047 363.172325l3.771941 2.787956c1.147982 0.163997 6.231903-2.951954 15.087764-9.675849 10.331839 13.119795 18.203716 20.171685 23.779628 21.155669-0.65599 2.951954-8.199872 4.263933-22.467649 4.099936C515.361947 370.716208 508.638053 364.648302 508.966047 363.172325L508.966047 363.172325zM511.590006 185.235106l0.491992-2.131967 4.099936 0.819987c19.84369 3.771941 35.751441 17.219731 47.723254 40.34337C554.557335 214.754644 537.173607 201.634849 511.590006 185.235106L511.590006 185.235106zM521.921845 197.534914c38.211403 24.271621 56.087124 42.311339 53.79116 53.79116 1.967969 4.919923 2.623959 8.527867 2.295964 10.823831-35.095452-26.567585-51.495195-44.935298-49.363229-54.939142C526.349776 206.71877 524.217809 203.602819 521.921845 197.534914L521.921845 197.534914zM528.64574 352.348495l7.543882-15.251762 2.131967 0.491992c4.263933 5.73991 13.283792 14.431775 27.059577 25.911595l-0.491992 2.131967c-5.411915 5.247918-8.363869 8.855862-8.855862 10.823831l-4.099936-0.819987L528.64574 352.348495 528.64574 352.348495zM536.845612 333.324792l4.263933-9.675849-0.491992-8.363869 4.099936 0.819987c19.515695 17.711723 29.027546 27.059577 28.863549 28.371557l-0.491992 2.131967c-1.967969 9.347854-4.263933 13.611787-7.05189 13.119795C548.817425 342.508648 539.141576 333.652787 536.845612 333.324792L536.845612 333.324792zM539.797566 236.402306c27.715567 19.84369 40.999359 32.63549 39.68738 38.703395 1.31198 7.215887 1.803972 12.13581 1.147982 14.759769l-1.967969-0.327995-35.095452-29.519539C540.78155 245.586163 539.469571 237.714286 539.797566 236.402306L539.797566 236.402306zM542.257527 307.413197l2.459962-11.971813 10.003844 3.935939c-7.05189-7.871877-10.331839-12.627803-10.003844-14.267777-0.65599-10.495836-0.819987-16.727739-0.327995-18.695708 18.695708 13.611787 30.831518 24.927611 36.243434 33.94747l-2.459962 11.971813c-7.05189-7.05189-12.7918-10.987828-16.727739-11.807816 8.035874 11.315823 13.939782 17.383728 17.711723 18.039718l-4.099936 19.84369C554.557335 320.532992 543.733504 310.201153 542.257527 307.413197L542.257527 307.413197zM307.249199 569.153107c-9.675849 0-17.711723-6.887892-19.84369-16.071749-4.263933-12.463805 1.639974-28.863549 29.519539-35.751441 1.31198 35.587444 0 49.527226 0 49.527226C313.809097 568.33312 310.693145 569.153107 307.249199 569.153107L307.249199 569.153107zM709.862908 537.173607c0-1.147982 0-2.131967-0.163997-3.115951 2.131967 3.279949 3.279949 7.215887 3.279949 11.479821 0 11.643818-9.183857 21.155669-20.49968 21.155669-3.443946 0-6.723895-0.819987-9.511851-2.459962C697.891095 563.905189 709.862908 551.933376 709.862908 537.173607L709.862908 537.173607zM531.761691 520.281871c0.65599 15.743754-32.963485 49.199231-32.963485 49.199231 0-18.203716 9.347854-42.803331 12.463805-48.707239-8.035874-11.643818-13.283792-32.307495-13.283792-32.307495S531.105701 504.374119 531.761691 520.281871L531.761691 520.281871zM488.794363 507.326073c2.459962 0 4.427931 1.967969 4.427931 4.427931 0 2.459962-1.967969 4.427931-4.427931 4.427931-2.459962 0-4.427931-1.967969-4.427931-4.427931C484.366432 509.294042 486.334401 507.326073 488.794363 507.326073L488.794363 507.326073zM445.335042 629.668161c-0.819987 8.855862-2.131967 16.235746-2.131967 16.235746s-53.627162 7.05189-63.959001-30.503523C395.151826 632.94811 427.623318 631.144138 445.335042 629.668161L445.335042 629.668161zM620.648302 614.908392c-9.675849 37.719411-63.303011 31.651505-63.303011 31.651505s-1.475977-7.379885-2.459962-16.235746C572.597053 631.636131 605.232543 632.784113 620.648302 614.908392L620.648302 614.908392zM419.587444 518.313901c29.847534 0 53.955157 21.975657 53.955157 49.035234 0 27.059577-24.271621 49.035234-53.955157 49.035234-29.847534 0-53.955157-21.975657-53.955157-49.035234C365.632287 540.289558 389.903908 518.313901 419.587444 518.313901L419.587444 518.313901zM419.587444 613.76041c28.371557 0 51.331198-20.827675 51.331198-46.411275 0-25.5836-22.959641-46.411275-51.331198-46.411275-28.207559 0-51.331198 20.827675-51.331198 46.411275C368.256246 592.932735 391.379885 613.76041 419.587444 613.76041L419.587444 613.76041zM419.587444 534.38565c20.007687 0 36.243434 14.759769 36.243434 32.799488 0 18.203716-16.235746 32.799488-36.243434 32.799488s-36.243434-14.759769-36.243434-32.799488C383.34401 549.14542 399.579757 534.38565 419.587444 534.38565L419.587444 534.38565zM435.331198 552.261371c1.967969 2.131967 4.919923 2.623959 6.559898 1.147982 1.639974-1.475977 1.475977-4.263933-0.491992-6.3959-1.967969-2.131967-4.919923-2.623959-6.559898-1.147982C433.035234 547.341448 433.199231 550.129404 435.331198 552.261371L435.331198 552.261371zM395.971813 585.880846c5.411915 5.73991 13.283792 7.05189 17.875721 3.115951 4.591928-3.935939 3.935939-11.807816-1.475977-17.547726-5.411915-5.73991-13.283792-7.05189-17.875721-3.115951C389.903908 572.433056 390.559898 580.304933 395.971813 585.880846L395.971813 585.880846zM584.240871 518.313901c29.847534 0 53.955157 21.975657 53.955157 49.035234 0 27.059577-24.271621 49.035234-53.955157 49.035234-29.847534 0-53.955157-21.975657-53.955157-49.035234C530.121717 540.289558 554.393338 518.313901 584.240871 518.313901L584.240871 518.313901zM584.240871 613.76041c28.371557 0 51.331198-20.827675 51.331198-46.411275 0-25.5836-22.959641-46.411275-51.331198-46.411275-28.207559 0-51.331198 20.827675-51.331198 46.411275C532.909673 592.932735 555.869315 613.76041 584.240871 613.76041L584.240871 613.76041zM584.240871 534.38565c20.007687 0 36.243434 14.759769 36.243434 32.799488 0 18.203716-16.235746 32.799488-36.243434 32.799488-20.007687 0-36.243434-14.759769-36.243434-32.799488C547.997438 549.14542 564.233184 534.38565 584.240871 534.38565L584.240871 534.38565zM599.820628 552.261371c1.967969 2.131967 4.919923 2.623959 6.559898 1.147982 1.639974-1.475977 1.475977-4.263933-0.491992-6.3959-1.967969-2.131967-4.919923-2.623959-6.559898-1.147982C597.688661 547.341448 597.852659 550.129404 599.820628 552.261371L599.820628 552.261371zM560.62524 585.880846c5.411915 5.73991 13.283792 7.05189 17.875721 3.115951 4.591928-3.935939 3.935939-11.807816-1.475977-17.547726-5.411915-5.73991-13.283792-7.05189-17.875721-3.115951C554.557335 572.433056 555.213325 580.304933 560.62524 585.880846L560.62524 585.880846zM957.171044 381.540038C957.171044 381.540038 957.171044 381.540038 957.171044 381.540038c-0.65599 0.983985-1.31198 1.803972-1.967969 2.951954-0.327995 0.327995-0.491992 0.65599-0.819987 0.983985-0.327995 0.327995-1.967969 0.65599-2.295964 0.983985-11.315823 14.759769-29.355541 40.34337-62.975016 46.247277l0 34.931454c0 4.263933-0.819987 8.691864-5.083921 8.691864L685.919283 476.330557c-0.163997 10.331839-0.327995 18.203716-0.65599 27.879564 24.435618 1.803972 43.295324 19.351698 43.295324 41.491352 0 22.467649-19.84369 40.671365-45.263293 41.819347-1.967969 78.226778-5.903908 143.98975-7.70788 150.549648l-0.491992 0.983985c-1.967969 2.295964-9.511851 5.247918-21.155669 8.363869 0.327995 13.939782-3.279949 29.355541-11.643818 46.08328 3.443946-21.647662-22.795644-36.079436-26.567585-38.047406-0.163997 0-0.327995 0-0.491992 0 0.163997 4.427931 0 57.727098-88.230621 97.90647-1.475977-44.115311-14.10378-70.682896-31.9795-86.754644L494.534273 766.606022l-5.411915-0.327995 0-0.163997 0 0 0 0 0.327995 0 0.327995-0.163997c-0.819987-0.163997-0.983985-0.491992-1.147982-1.147982-10.331839-8.035874-28.043562-18.203716-64.450993-18.203716-13.283792 0-28.207559 1.31198-44.607303 3.935939-4.099936 0.819987-7.70788 1.147982-11.151826 1.147982-5.575913 0-10.003844-0.983985-16.071749-2.295964l-0.327995 0-0.327995-0.163997c-17.547726-4.099936-27.55157-7.70788-30.011531-10.659833l-0.491992-0.983985c-0.491992-2.131967-2.295964-8.363869-5.73991-150.549648-25.255605-0.983985-45.263293-19.351698-45.263293-41.983344 0-22.139654 18.859705-39.523382 43.459321-41.163357-0.163997-9.675849-0.327995-17.547726-0.65599-27.879564L132.099936 476.002562c-4.427931 0-10.495836-4.591928-10.495836-8.691864l0-97.414478c-11.807816-0.65599-19.679693-2.295964-26.731582-4.755926-29.027546-10.495836-35.751441-35.915439-35.587444-60.023062 0-1.475977 0.491992-2.787956 0.983985-3.771941-6.723895-11.643818-6.231903-25.5836-5.083921-35.587444 0.983985-8.035874 2.623959-12.13581 4.427931-13.939782-4.263933-8.855862-0.983985-18.859705 1.967969-26.731582 3.771941-10.167841 12.13581-11.971813 22.139654-10.003844-4.755926-9.019859-2.459962-17.219731 11.643818-28.699552 4.427931-3.607944 14.267777 7.05189 26.075593 16.071749l0-267.151826c0-4.263933 6.067905-6.067905 10.331839-6.067905l751.928251 0c4.427931 0 5.083921 1.803972 5.083921 6.067905L888.784113 248.374119c16.727739 0.983985 29.355541 7.70788 38.539398 19.84369 4.591928 6.231903 7.871877 11.807816 8.691864 16.891736C977.670724 313.153107 982.262652 344.640615 957.171044 381.540038L957.171044 381.540038zM316.433056 508.638053c-22.959641 0.491992-40.835362 16.727739-40.835362 36.735426 0 20.335682 18.859705 36.899423 41.983344 36.899423l0 2.623959 0.163997-0.65599c0-0.819987 0-1.475977 0-2.295964 0.491992 0.163997 0.983985 0.163997 1.475977 0.327995l1.803972 0 0 0.491992c5.247918 1.31198 12.7918 2.951954 19.351698 3.771941 10.003844 35.095452 34.111467 64.122998 34.111467 64.122998s-9.839846 28.863549-13.939782 67.238949c51.167201-85.11467 229.268418-81.178732 280.107623-10.823831-4.591928-32.799488-12.627803-56.415119-12.627803-56.415119s24.107623-28.863549 34.111467-64.122998c6.559898-0.819987 13.939782-1.147982 19.023703-2.295964 0 0.491992 0 2.623959 0 2.623959l0.491992 0c23.123639 0 41.983344-18.695708 41.983344-39.03139 0-9.347854-3.935939-18.695708-10.495836-25.419603-10.167841-6.723895-25.091608-10.331839-40.835362-10.331839 0-6.723895 0.983985-19.351698 1.803972-35.423447L318.401025 476.658552c0.163997 10.331839 0.491992 19.84369 0.65599 30.175529l0 2.131967L316.433056 508.638053 316.433056 508.638053zM126.524023 462.554773c0 4.099936 6.3959 9.183857 10.823831 9.183857l741.432415 0c4.263933 0 5.575913-4.919923 5.575913-9.183857l0-29.027546c0 0.491992-6.723895 1.475977-10.823831 1.147982-22.795644-2.295964-44.443306-3.607944-60.679052-9.183857L176.215247 425.491352l-1.31198-2.787956 0-60.18706c-10.823831 5.903908-25.5836 8.363869-48.215247 7.871877L126.68802 462.554773 126.524023 462.554773zM821.381166-13.693786 180.807175-13.693786 180.807175 282.649584c10.823831 4.263933 15.579757 10.987828 15.087764 21.975657-0.491992 8.363869-4.263933 13.611787-15.087764 16.727739l0 7.379885c5.903908 1.967969 3.935939 4.263933 5.247918 6.723895 5.411915 10.495836 5.575913 18.203716-5.247918 23.779628l0 55.759129 615.318386 0c-2.787956-5.575913-4.755926-7.871877-5.575913-12.299808-1.475977-8.035874-1.639974-18.367713-1.147982-28.207559L697.891095 315.449071c0 0-28.371557-15.251762-16.727739-32.799488 11.643818-17.383728 32.307495-11.479821 50.511211-0.327995 12.13581 7.379885 39.68738 23.287636 63.959001 40.179372 0.163997-0.163997 0.327995-0.163997 0.491992-0.327995-1.803972-1.31198-2.951954-2.295964-2.951954-2.295964-11.151826-7.543882-6.887892-36.899423 15.415759-41.327354 3.115951-0.65599 9.675849 0 9.675849 1.147982l0-293.391416L821.381166-13.693786 821.381166-13.693786zM177.855221 271.169763c0 3.443946-2.131967 6.231903-4.755926 8.035874 1.639974 0.491992 3.771941 0.983985 4.755926 1.475977L177.855221 271.169763 177.855221 271.169763zM177.855221 322.828956c-0.983985 0.163997-1.639974 0.327995-2.459962 0.491992 0.819987 0.491992 1.475977 0.983985 2.459962 1.475977L177.855221 322.828956 177.855221 322.828956zM878.780269-65.516976 137.347854-65.516976c-4.263933 0-10.823831 2.131967-10.823831 6.3959L126.524023 206.882767c5.903908 1.147982 4.919923 2.295964 6.723895 3.279949 19.679693 8.035874 38.047406 25.255605 25.747598 33.127482-0.163997 0-1.475977 0.163997-1.639974 0.163997 9.511851 3.771941 17.547726 9.839846 17.547726 20.663677l0-289.29148 655.169763 2.459962 0 291.915439c9.839846-9.675849 21.647662-14.595772 34.603459-10.331839 3.279949-6.559898 13.611787-9.839846 19.515695-10.331839l0-307.495195C884.192184-63.38501 883.044202-65.516976 878.780269-65.516976L878.780269-65.516976zM878.780269-65.516976"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="carousel" unicode="&#58932;"
+                   d="M1002.069333 144.38400000000001L1002.069333 611.6906670000001c0 24.213333-16.917333 49.578667-42.069333 49.578667l-64 0 1.152 6.4c0 31.338667-26.005333 57.6-58.538667 57.6L186.432 725.269333c-31.936 0-58.410667-31.957333-58.410667-64l-0.213333 0.96L67.178667 662.229333c-25.152 0-45.226667-20.288-45.226667-44.501333l0-467.328L21.354667 150.39999999999998c0-24.789333 20.629333-44.693333 45.312-44.693333L127.786667 105.70666700000004l0-5.184C127.786667 69.03466700000001 153.792 42.66666699999996 186.432 42.66666699999996l652.842667 0c31.658667 0 56.277333 10.901333 56.725333 42.602667l64 0c24.661333 0 42.666667 34.325333 42.666667 59.114667L1002.069333 144.38400000000001zM128 149.26933299999996L64 149.26933299999996l0 469.333333 64 0L128 149.26933299999996zM853.333333 106.602667c0-6.421333-14.848-21.333333-21.333333-21.333333l-640 0c-6.485333 0-21.333333 14.848-21.333333 21.333333l0 554.666667c0 6.378667 9.258667 18.56 15.744 18.56l5.589333 2.773333 640 0c6.442667 0 21.333333-14.954667 21.333333-21.333333L853.333333 106.602667zM960 127.93600000000004l-64 0 0 490.666667 60.842667 1.984c4.970667 0 3.157333 2.944 3.157333-1.984l0-469.333333C960 144.29866700000002 965.013333 127.93600000000004 960 127.93600000000004zM412.458667 399.829333c43.925333 0 79.637333 34.773333 79.637333 77.482667 0 42.752-35.712 77.482667-79.637333 77.482667-43.925333 0-79.637333-34.730667-79.637333-77.482667C332.8 434.602667 368.533333 399.829333 412.458667 399.829333zM412.458667 516.0533330000001c21.952 0 39.829333-17.365333 39.829333-38.741333 0-21.333333-17.877333-38.741333-39.829333-38.741333-21.952 0-39.829333 17.408-39.829333 38.741333C372.629333 498.709333 390.506667 516.0533330000001 412.458667 516.0533330000001zM785.92 457.386667c-95.914667-23.338667-137.728-87.765333-168.256-134.805333-24.213333-37.269333-39.082667-58.346667-65.109333-58.346667l-0.042667 0c-35.456 0-57.109333 14.272-80.042667 28.16-24.362667 14.741333-49.536 29.952-88.64 29.952-75.648 0-156.906667-93.269333-165.930667-103.893333L213.333333 167.38133300000004c0-10.709333 8.917333-18.112 19.925333-18.112l557.504 0c10.986667 0 19.904 7.402667 19.904 18.112L810.666667 438.570667c0 5.973333-2.837333 11.626667-7.658667 15.296C798.186667 457.536 791.872 458.858667 785.92 457.386667zM770.858667 188.52266699999996L253.162667 188.52266699999996c24.874667 27.733333 85.290667 95.082667 130.666667 95.082667 27.733333 0 46.229333-11.157333 67.605333-24.128 25.152-15.168 53.632-32.426667 99.712-33.941333l2.944-0.064c47.637333 0 71.722667 37.12 97.237333 76.416 26.645333 41.088 56.469333 79.104 119.530667 102.485333L770.858667 188.52266699999996z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="help" unicode="&#58887;"
+                   d="M690.2 741.8C635.2 783.6 573.2 798 494.6 798c-59.6 0-110.6-12.2-151-39.4C284 718 256 649.8 256 542l153.6 0c0 28.8-2.8 59.8 14 86.4 16.8 26.6 40.2 47 80.4 47 40.8 0 61.8-11.8 81.6-36.2 16.8-20.8 23.2-45.6 23.2-72 0-22.8-11.6-43.8-25.4-62.8-7.6-11.2-17.6-21.2-30.2-30.8 0 0-83-49.4-112.2-96.2-21.8-34.8-29.6-78.4-31.4-130.6-0.2-3.8 1.2-11.6 14.4-11.6 13 0 112 0 123.6 0 11.6 0 14 8.8 14.2 12.4 0.8 19 3.2 48.2 6.6 59.2 6.6 20.8 19.4 39 39.4 54.6l41.4 28.6c37.4 29.2 67.2 53 80.4 71.8 22.6 30.8 38.4 68.8 38.4 113.8C768 649 741 703.2 690.2 741.8zM484 155.6c-51.8 1.6-94.6-34.4-96.4-90.6-1.6-56.4 39-93.4 91-95 54-1.6 95.8 33.2 97.4 89.4C577.6 115.6 538 154 484 155.6z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="code-circle" unicode="&#58933;"
+                   d="M513.544163 893.525741c-282.101629 0-510.78094-228.679311-510.78094-510.76288 0-282.083569 228.679311-510.76288 510.78094-510.76288s510.76288 228.679311 510.76288 510.76288C1024.325103 664.8464309999999 795.645793 893.525741 513.544163 893.525741zM513.544163-83.46335899999997c-257.503523 0-466.22622 208.740757-466.22622 466.22622S256.0587 848.989082 513.544163 848.989082s466.22622-208.740757 466.22622-466.22622S771.047686-83.46335899999997 513.544163-83.46335899999997zM171.771357 359.77212099999997L414.357086 256.088033 414.357086 300.805295 221.978945 380.50532599999997 414.357086 459.464886 414.357086 504.182148 171.771357 401.76228ZM442.585309 193.38272800000004L478.814238 193.38272800000004 584.737801 572.1429949999999 548.743656 572.1429949999999ZM612.749301 504.182148L612.749301 459.464886 804.874598 380.50532599999997 612.749301 300.805295 612.749301 256.088033 855.33503 359.77212099999997 855.33503 401.76228Z"
+                   horiz-adv-x="1025"/>
+
+
+            <glyph glyph-name="water" unicode="&#58934;"
+                   d="M862.315763 33.684211000000005C802.869868 33.684211000000005 754.526289 82.94399999999996 754.526289 143.50371900000005 754.526289 162.33094700000004 759.35885 180.96056099999998 768.520956 197.43438600000002 768.64671 197.79368399999998 768.808394 198.15298199999995 769.006008 198.49431600000003L849.075622 334.542596 849.057657 334.542596 862.315763 357.052632 875.573868 334.542596 875.573868 334.542596 955.140464 199.356632C955.715341 198.67396499999995 956.164464 197.865544 956.380043 196.96729800000003 965.380464 180.60126300000002 970.123201 162.151298 970.105236 143.50371900000005 970.105236 82.94399999999996 921.761657 33.684211000000005 862.315763 33.684211000000005L862.315763 33.684211000000005ZM924.33064 188.57768399999998C924.204885 188.79326300000002 924.115061 189.02680699999996 924.025236 189.27831600000002L862.315763 302.996211 800.606289 189.260351C800.516464 189.02680699999996 800.42664 188.79326300000002 800.300885 188.57768399999998 793.977236 176.505263 790.635763 162.81600000000003 790.635763 148.965053 790.635763 105.29235100000005 822.792956 69.75775399999998 862.333727 69.75775399999998 901.856534 69.75775399999998 933.995763 105.29235100000005 933.995763 148.98301800000002 933.995763 162.81600000000003 930.654289 176.52322800000002 924.33064 188.57768399999998L924.33064 188.57768399999998ZM682.684605 392.982456C593.50678 392.982456 520.982429 469.602807 520.982429 563.8108070000001 520.982429 593.093614 528.240254 622.071018 541.965447 647.706947 542.163061 648.281825 542.396605 648.820772 542.684043 649.341754L662.815412 860.968421 662.797447 860.968421 682.684605 896 702.571763 860.968421 702.535833 860.968421 821.89471 650.689123C822.774991 649.647158 823.439692 648.3716489999999 823.781026 646.970386 837.25471 621.514105 844.368815 592.8241399999999 844.35085 563.8108070000001 844.35085 469.602807 771.844464 392.982456 682.684605 392.982456L682.684605 392.982456ZM791.408254 630.1192980000001C791.21064 630.4965609999999 791.030991 630.891789 790.887271 631.322947L682.684605 823.924772 574.446008 631.287018C574.320254 630.891789 574.140605 630.4965609999999 573.942991 630.1013330000001 562.840675 609.6931930000001 556.912254 596.075789 556.912254 572.631579 556.912254 498.634105 613.375973 428.876351 682.684605 428.876351 751.993236 428.876351 808.367131 489.058807 808.367131 563.056281 808.367131 586.500491 802.492605 609.6931930000001 791.408254 630.1192980000001L791.408254 630.1192980000001ZM538.695833 276.983018C540.115061 275.330246 541.174991 273.33614 541.713938 271.12645599999996 563.433517 231.11859600000003 574.895131 186.02666699999997 574.895131 140.43171900000004 574.895131-7.581192999999985 458.051341-128 314.403903-128 170.738499-128 53.89471-7.581192999999985 53.89471 140.43171900000004 53.89471 186.47578899999996 65.589868 231.998877 87.704675 272.294175 88.010078 273.17445599999996 88.387341 274.01880700000004 88.872394 274.863158L282.408394 607.411649 282.372464 607.411649 314.403903 662.45614 346.453306 607.411649 346.399412 607.411649 538.695833 276.983018 538.695833 276.983018ZM314.403903 590.614456L119.807973 257.79649099999995C119.556464 257.113825 119.251061 256.449123 118.873798 255.78442099999995 98.932745 220.48336800000004 88.387341 180.42161399999998 88.387341 139.91073700000004 88.387341 12.072420999999963 189.799271-91.89052600000002 314.421868-91.89052600000002 439.026499-91.89052600000002 540.420464 12.072420999999963 540.402499 139.91073700000004 540.402499 180.42161399999998 529.857096 220.50133300000005 509.916043 255.78442099999995 509.53878 256.449123 509.233377 257.131789 508.963903 257.86835099999996L314.403903 590.614456 314.403903 590.614456Z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="username" unicode="&#58991;"
+                   d="M514.594 824.888c-144.11 0-260.979-118.46-260.979-264.558 0-88.783 43.497-166.928 109.711-214.898-135.361-59.354-230.159-195.858-230.159-354.931h0.894c1.541-21.375 18.641-38.377 40.117-38.377s38.575 17.051 40.117 38.377h0.645c0 0.944-0.099 1.79-0.099 2.734 0 0.05 0 0.099 0 0.149 0 0.099-0.05 0.149-0.05 0.199 0.05 159.967 120 291.054 273.009 304.924 8.948-0.944 17.598-2.734 26.844-2.734 144.11 0 260.979 118.46 260.979 264.558s-116.919 264.558-261.029 264.558zM514.594 377.54499999999996c-99.769 0-180.698 81.972-180.698 183.183s80.879 183.183 180.698 183.183c99.719 0 180.647-81.972 180.647-183.183s-80.879-183.183-180.647-183.183zM896.021-6.615000000000009c0 0.348-0.199 0.645-0.199 0.994-1.043 105.038-43.397 200.034-111.35 269.131v0c-7.157 7.357-17.001 11.98-27.986 11.98-21.574 0-39.122-17.747-39.122-39.668 0-11.135 4.573-21.127 11.83-28.334l-0.099-0.05c52.742-55.229 85.302-130.589 85.302-213.853 0-1.043-0.149-1.987-0.149-3.034h0.994c1.491-21.375 18.691-38.377 40.117-38.377 21.475 0 38.575 17.051 40.117 38.377h0.597c0 0.796-0.099 1.491-0.099 2.287-0.05 0.149 0.05 0.348 0.05 0.547z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="find-fill" unicode="&#58992;"
+                   d="M512 896C229.236364 896 0 666.763636 0 384c0-282.786909 229.236364-512 512-512s512 229.213091 512 512C1024 666.763636 794.763636 896 512 896zM657.291636 383.976727c0-77.195636-60.392727-139.729455-136.424727-144.407273l-175.732364-151.714909-22.877091 13.242182 58.228364 222.021818c-8.634182 18.548364-13.800727 39.074909-13.800727 60.858182 0 77.195636 60.369455 139.729455 136.378182 144.430545l175.802182 151.714909 22.877091-13.172364-58.251636-222.068364C652.125091 426.309818 657.291636 405.806545 657.291636 383.976727zM512 384m-66.048 0a2.838 2.838 0 1 1 132.096 0 2.838 2.838 0 1 1-132.096 0Z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="about" unicode="&#58891;"
+                   d="M514.27174 834.607768c-249.516844 0-451.789687-202.272843-451.789687-451.789687s202.272843-451.789687 451.789687-451.789687 451.789687 202.272843 451.789687 451.789687S763.788583 834.607768 514.27174 834.607768zM514.27174-20.12919999999997c-222.541469 0-402.947282 180.405813-402.947282 402.947282s180.405813 402.947282 402.947282 402.947282 402.947282-180.405813 402.947282-402.947282S736.814232-20.12919999999997 514.27174-20.12919999999997zM514.295276 593.979362c-9.44614-10.360975-14.307867-22.951735-14.307867-37.483706 0-11.960403 3.886517-22.396079 11.534707-30.457686 7.783267-8.211009 17.853623-12.450567 29.313629-12.450567 9.312086 0 23.139 2.849908 35.782971 16.900925 9.865695 10.641361 14.866592 23.437805 14.866592 37.693484 0 11.68104-4.031826 21.900799-11.744485 29.832446C562.925856 615.325529 532.358677 613.449809 514.295276 593.979362zM549.461193 293.282882c-12.110829-11.541871-20.589944-18.759249-26.236548-23.316032 2.77009 14.953573 9.976212 44.614104 27.330462 103.023398 17.297968 57.890478 18.799158 67.991534 18.799158 72.955592 0 8.65717-3.63683 16.335037-9.921977 21.642926-14.124695 11.661597-39.035038 9.349949-69.131497-7.677866-16.779152-9.408277-34.595936-24.759917-54.493102-46.576805l-10.377348-11.541871 34.425044-26.548656 8.818853 8.715499c9.573029 9.292644 16.086373 15.35164 20.411889 19.393699-26.294876-86.460164-39.093367-140.190903-39.093367-164.262134 0-10.907421 3.172249-19.970844 9.573029-26.839275 6.460132-7.039323 15.510252-10.736529 25.891693-10.736529 10.146081 0 21.792329 3.926426 35.922141 11.949146 12.741185 7.212262 31.883151 23.029506 58.641585 48.190559l10.837836 10.391674-31.30703 30.475082L549.461193 293.282882z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="location" unicode="&#59157;"
+                   d="M451.673935-98.39569900000004C478.883834-129.01914699999998 524.254807-128.8089789999999 551.400292-97.92885100000001 553.755808-95.38790800000004 558.821323-89.79676199999994 565.872444-81.84834999999998 577.572838-68.65901699999995 590.597131-53.62432000000001 604.615947-36.99831500000005 644.662065 10.495494000000008 684.708678 61.282182000000034 722.129538 113.35355300000003 759.658524 165.575381 792.492213 216.29072599999995 819.314991 264.54153799999995 868.685946 353.35368300000005 896 430.456574 896 493.714285 896 715.890551 719.301715 896 501.333333 896 283.364952 896 106.666667 715.890551 106.666667 493.714285 106.666667 430.401284 134.05152 353.19426999999996 183.54613 264.23737800000004 210.371803 216.02347099999997 243.193308 165.34812399999998 280.699364 113.16684599999996 318.155192 61.05544999999995 358.239268 10.22578999999996 398.322835-37.31103099999996 412.354743-53.95207300000004 425.391185-69.00072999999998 437.102468-82.20257900000001 444.160087-90.15846599999998 449.230214-95.75492099999997 451.982775-98.73670600000003L451.673935-98.39569900000004ZM486.822684-65.32134799999994C484.281231-62.568254000000024 479.425084-57.207989 472.585916-49.49835900000005 461.135889-36.591016999999965 448.364015-21.84776099999999 434.602351-5.527214999999956 395.275714 41.11192700000004 355.949587 90.98045200000001 319.289224 141.985137 282.808749 192.739548 250.983685 241.87642200000005 225.158316 288.29247799999996 179.388826 370.55419500000005 154.50505 440.709839 154.50505 493.714285 154.50505 688.960095 309.785362 847.238095 501.333333 847.238095 692.881306 847.238095 848.161617 688.960095 848.161617 493.714285 848.161617 440.753978 823.345286 370.701737 777.693969 288.58074899999997 751.873483 242.13293399999998 720.038415 192.96007499999996 683.537446 142.16873799999996 646.912604 91.20503299999996 607.624538 41.38032599999997 568.335977-5.21503800000005 554.587654-21.52024300000005 541.828177-36.24924999999996 530.389289-49.14379699999995 523.556841-56.84571100000005 518.705521-62.20043499999997 516.166694-64.95052599999997 507.543772-74.74891100000002 495.255793-74.80583000000001 487.131524-65.66235300000005L486.822684-65.32134799999994ZM714.955981 428.971194C723.919106 453.372045 728.565658 479.331002 728.565658 505.904762 728.565658 627.091817 632.184774 725.333333 513.29293 725.333333 394.401086 725.333333 298.020202 627.091817 298.020202 505.904762 298.020202 384.717709 394.401086 286.47619 513.29293 286.47619 549.003859 286.47619 583.510052 295.36805300000003 614.373097 312.125591 626.032316 318.456132 630.449257 333.22218 624.238611 345.10648100000003 618.027966 356.99078199999997 603.541579 361.49299399999995 591.882359 355.16245100000003 567.900883 342.14136099999996 541.111735 335.23809500000004 513.29293 335.23809500000004 420.821495 335.23809500000004 345.858586 411.648164 345.858586 505.904762 345.858586 600.161359 420.821495 676.571428 513.29293 676.571428 605.764365 676.571428 680.727273 600.161359 680.727273 505.904762 680.727273 485.192019 677.117041 465.022684 670.154965 446.069408 665.522846 433.459117 671.796821 419.408892 684.168282 414.687349 696.53974 409.965809 710.323861 416.360905 714.955981 428.971194L714.955981 428.971194Z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="up" unicode="&#58905;"
+                   d="M513.6 539.2l384-384c12.8-12.8 32-12.8 44.8 0 12.801 12.8 12.801 32 0 44.8l-403.2 403.2C532.8 609.6 520 616 513.6 616c-6.4 0-19.2 0-25.599-6.4L78.399 200c-12.8-12.8-12.8-32 0-44.8s32-12.8 44.8 0L513.6 539.2z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="pause" unicode="&#58961;"
+                   d="M512-128c-282.714 0-511.893 229.232-511.893 512 0 282.768 229.179 512 511.893 512 282.714 0 511.893-229.232 511.893-512 0-282.768-229.179-512-511.893-512zM512 863.996c-265.043 0-479.9-214.91-479.9-479.996 0-265.097 214.857-479.996 479.9-479.996 265.043 0 479.9 214.899 479.9 479.996 0 265.086-214.857 479.996-479.9 479.996zM639.973 181.32299999999998h-21.329c-23.558 0-42.658 19.1-42.658 42.658v319.933c0 23.558 19.1 42.658 42.658 42.658h21.329c23.558 0 42.658-19.1 42.658-42.658v-319.933c0-23.558-19.1-42.658-42.658-42.658zM405.356 181.32299999999998h-21.329c-23.558 0-42.658 19.1-42.658 42.658v319.933c0 23.558 19.1 42.658 42.658 42.658h21.329c23.558 0 42.658-19.1 42.658-42.658v-319.933c0-23.558-19.1-42.658-42.658-42.658z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="date" unicode="&#58935;"
+                   d="M933.185668 758.3591759999999l-167.054737 0 0 56.506968L732.333174 814.866145l0-56.506968L539.505447 758.3591759999999l0 56.506968-33.796734 0 0-56.506968-216.255299 0 0 56.506968-33.796734 0 0-56.506968L88.005356 758.3591759999999c-12.255115 0-22.224164-9.970072-22.224164-22.224164l0-706.60521c0-12.255115 9.970072-22.225187 22.224164-22.225187l845.179288 0c12.255115 0 22.225187 9.970072 22.225187 22.225187L955.409832 736.135012C955.409832 748.389104 945.43976 758.3591759999999 933.185668 758.3591759999999zM939.036933 29.528778999999986c0-3.226484-2.62478-5.852288-5.852288-5.852288l-845.179288 0c-3.226484 0-5.851265 2.62478-5.851265 5.852288L82.154092 736.135012c0 3.226484 2.62478 5.851265 5.851265 5.851265l167.650301 0 0-55.657624 33.796734 0 0 55.657624 216.255299 0 0-55.657624 33.796734 0 0 55.657624L732.333174 741.986277l0-55.657624 33.796734 0 0 55.657624 167.054737 0c3.226484 0 5.852288-2.62478 5.852288-5.851265L939.036933 29.528778999999986zM206.835765 608.260623l129.098263 0 0-94.008071-129.098263 0 0 94.008071ZM458.879152 608.260623l129.098263 0 0-94.008071-129.098263 0 0 94.008071ZM684.827207 608.260623l129.098263 0 0-94.008071-129.098263 0 0 94.008071ZM206.835765 433.345871l129.098263 0 0-94.008071-129.098263 0 0 94.008071ZM458.879152 433.345871l129.098263 0 0-94.008071-129.098263 0 0 94.008071ZM684.827207 433.345871l129.098263 0 0-94.008071-129.098263 0 0 94.008071ZM206.835765 257.877511l129.098263 0 0-94.008071-129.098263 0 0 94.008071ZM458.879152 257.877511l129.098263 0 0-94.008071-129.098263 0 0 94.008071ZM684.827207 257.877511l129.098263 0 0-94.008071-129.098263 0 0 94.008071Z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="layim-uploadfile" unicode="&#58909;"
+                   d="M914.7359263333336 663.0359498888887c-20.806884999999987 20.806885000000012-48.471967999999976 32.265868000000026-77.89816099999994 32.265868000000054l-352.221993 2.2737367544323206e-13-120.26099099999992 95.03035300000005-11.157106999999995 8.816806000000007-14.220886 9.769962616701378e-15L197.09333633333344 799.148976888889c-51.69538300000001 2.1316282072803006e-14-93.75224400000005-42.88778599999995-93.75224400000006-95.60442799999993l-1.5631940186722204e-13-255.13888799999998c-1.7763568394002505e-15-2.302439 0.08391099999999785-4.716417999999999 0.24968699999999489-7.196911999999999l-1.9895196601282805e-13-340.692403c-1.9539925233402755e-14-29.426192999999998 11.458982999999954-57.09127599999999 32.26586799999994-77.89816100000002 20.806884999999987-20.806885000000012 48.471967999999976-32.265868000000026 77.89816099999994-32.265868000000054l623.083981-3.410605131648481e-13c29.426192999999998-1.9539925233402755e-14 57.09127599999999 11.458982999999954 77.89816100000002 32.26586799999994 20.806885000000012 20.806884999999987 32.265868000000026 48.471967999999976 32.265868000000054 77.89816099999994L947.0028173333335 585.1377888888885C947.0017943333336 614.5639818888885 935.5428113333334 642.2280418888886 914.7359263333336 663.0359498888887zM197.09333633333372 758.2167298888891l141.88345099999998-8.526512829121202e-14L470.3948853333333 654.369569888889l366.44287999999995-2.2737367544323206e-13c38.236859-2.1316282072803006e-14 69.23178099999997-30.99492100000004 69.23178099999994-69.23178100000004L906.0695463333333 465.9195468888886 144.27334033333327 465.91954688888893 144.2733403333336 703.5445488888892C144.2733403333336 733.7361748888891 167.92296933333355 758.2167298888891 197.09333633333372 758.2167298888891zM836.8377653333331 31.28558888888881L213.75480733333322 31.28558888888915c-38.236859 2.1316282072803006e-14-69.23178099999997 30.99492100000004-69.23178099999994 69.23178100000004L144.52302633333338 424.4776928888892l761.546519-6.252776074688882e-13-2.2737367544323206e-13-323.96134599999993C906.0695463333333 62.28050988888867 875.0746243333334 31.285588888888583 836.8377653333331 31.28558888888881z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="delete" unicode="&#58944;"
+                   d="M738.923 24.288h-451.956c-27.2 0-49.327 21.603-49.327 48.157v418.017c0 26.548 22.129 48.147 49.327 48.147h451.956c27.2 0 49.327-21.598 49.327-48.147v-418.017c0-26.555-22.129-48.157-49.327-48.157zM286.966 494.547c-4.447 0-7.168-2.644-7.168-4.084v-418.017c0-1.443 2.722-4.093 7.168-4.093h451.956c4.448 0 7.168 2.651 7.168 4.093v418.017c0 1.44-2.722 4.084-7.168 4.084h-451.956zM832.199 496.302h-640.401c-27.201 0-49.327 20.131-49.327 44.876v61.045c0 24.74 22.128 44.867 49.327 44.867h640.401c27.2 0 49.327-20.127 49.327-44.867v-61.045c0-24.744-22.129-44.876-49.327-44.876zM184.631 541.327c0.387-0.733 2.722-2.866 7.168-2.866h640.401c4.445 0 6.782 2.132 7.168 2.867v60.741c-0.393 0.736-2.733 2.863-7.168 2.863h-640.401c-4.437 0-6.776-2.128-7.168-2.863v-60.742zM600.748 605.354h-174.546c-27.201 0-49.327 20.13-49.327 44.876v10.736c0 24.74 22.128 44.867 49.327 44.867h174.546c27.2 0 49.327-20.126 49.327-44.867v-10.736c0-24.745-22.128-44.876-49.327-44.876zM419.034 650.378c0.387-0.733 2.722-2.865 7.168-2.865h174.546c4.446 0 6.782 2.131 7.168 2.865v10.432c-0.393 0.736-2.734 2.862-7.168 2.862h-174.546c-4.437 0-6.776-2.126-7.168-2.862v-10.432zM404.099 430.833h-30.097c-7.297 0-13.213-5.916-13.213-13.213v-272.34c0-7.297 5.916-13.212 13.213-13.212h30.098c7.297 0 13.212 5.916 13.212 13.212v272.341c0 7.297-5.916 13.213-13.212 13.213zM659.583 430.833h-30.097c-7.298 0-13.213-5.916-13.213-13.213v-272.34c0-7.297 5.917-13.212 13.213-13.212h30.097c7.297 0 13.212 5.916 13.212 13.212v272.341c0 7.297-5.916 13.213-13.212 13.213zM531.841 430.833h-30.098c-7.297 0-13.213-5.916-13.213-13.213v-272.34c0-7.297 5.917-13.212 13.213-13.212h30.098c7.297 0 13.212 5.916 13.212 13.212v272.341c0 7.297-5.916 13.213-13.212 13.213z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="play" unicode="&#58962;"
+                   d="M512 896C229.376 896 0 666.624 0 384 0 101.37599999999998 229.376-128 512-128 794.624-128 1024 101.37599999999998 1024 384 1024 666.624 794.624 896 512 896L512 896 512 896zM512-95.23199999999997C245.76-95.23199999999997 32.768 117.75999999999999 32.768 384 32.768 650.24 245.76 863.232 512 863.232S991.232 650.24 991.232 384C991.232 117.75999999999999 778.24-95.23199999999997 512-95.23199999999997L512-95.23199999999997 512-95.23199999999997zM733.184 392.192L393.216 588.8c-4.096 4.096-8.192 4.096-12.288 0C376.832 588.8 372.736 584.704 372.736 580.608l0-393.216c0-4.096 4.096-8.192 4.096-8.192 4.096-4.096 8.192-4.096 12.288 0l344.064 196.608c4.096 4.096 4.096 4.096 4.096 8.192C741.376 388.096 737.28 392.192 733.184 392.192L733.184 392.192 733.184 392.192zM733.184 392.192"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="top" unicode="&#58884;"
+                   d="M812 153.4l-300 172.8-300-172.8 300 604L812 153.4zM264.5 209.2l247.5 142.5 247.5-142.5L512 707.5 264.5 209.2zM371.7 138.3l0-126.2-15.9 0 0 126.2-45.9 0L309.9 153l107.4 0 0-14.8L371.7 138.2zM506.6 154.5c26.6 0 43.3-3.9 50-11.7 6.7-7.8 10-27.2 10-58.3 0-33.5-3.2-54.2-9.6-62-6.4-7.8-23.2-11.8-50.4-11.8-27 0-43.8 3.9-50.3 11.7-6.5 7.8-9.8 27.9-9.8 60.3l0 9.9 0.2 13.3c0 18.7 4.2 31.5 12.6 38.4C467.8 151 483.5 154.5 506.6 154.5zM506.5 141c-22.3 0-35.3-2.5-39.1-7.4-3.8-5-5.7-22-5.7-51 0-29.1 1.9-46.1 5.7-51.1 3.8-5 16.8-7.4 39.1-7.4 22.4 0 35.4 2.5 39.2 7.4 3.8 5 5.7 22 5.7 51.1l0 9.2-0.1 13.3c0 15.6-2.6 25.4-7.8 29.6S525.9 141 506.5 141zM608.4 12.1 608.4 153l59.2 0 5.4 0c15.9 0 26.7-3.1 32.5-9.2 5.8-6.1 8.7-17.6 8.7-34.4 0-16.1-3-27.1-9-32.9-6-5.9-17.3-8.8-33.9-8.8l-6.2-0.1-40.7 0 0-55.5L608.4 12.1zM624.3 81.1l37.7 0c15.8 0 25.9 1.6 30.3 4.9 4.4 3.2 6.7 10.7 6.7 22.3 0 13.6-1.5 22.2-4.5 25.9-3 3.6-10.1 5.4-21.3 5.4l-6.1 0.1-42.7 0L624.4 81.1z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="friends" unicode="&#58898;"
+                   d="M672.02974 765.933689c7.66047-32.266891 8.420787-62.237483 7.713682-95.365998-0.283456-12.778024-7.291057-71.832002-5.3918-89.926102 1.561565-14.936177 5.132904-16.128329 10.759041-28.436656 9.803273-21.422915 6.51846-50.970882 2.76088-72.566736-2.056845-11.816117-6.404873-28.64541-13.017478-38.287001-7.291057-10.645454-21.864984-10.711969-28.319999-23.12365-9.29469-17.848507-4.045129-42.930765-9.903557-62.21497-6.65763-21.883403-23.599488-23.420409-24.877597-52.040237 8.316409-1.243317 16.59598-2.479471 24.877597-3.722788 8.316409-18.498306 23.533996-55.70265 39.08518-66.900689 13.024641-3.728928 26.048259-7.448646 39.07904-11.156084 45.641503-19.593244 96.365768-43.032072 142.108578-63.215764 41.656749-18.381649 91.51325-24.937972 106.575294-70.629617 0-31.026644 2.795673-104.309694 2.025123-144.978952L58.155515-56.631556000000046c-0.757247 40.669258 2.029216 113.952308 2.029216 144.978952 15.065114 45.691645 64.928778 52.247968 106.578364 70.629617 45.74281 20.182668 96.467075 43.62252 142.098345 63.215764 13.027711 3.707438 26.054399 7.427156 39.08211 11.156084 15.554254 11.197016 30.78105 48.402383 39.09439 66.900689l18.492166 4.710278c-4.196579 24.429389-18.658965 26.322505-24.682146 43.62559-2.356674 26.013467-4.729721 52.052516-7.095605 78.079286 0.107447-1.234107-17.006326 3.246951-19.252483 4.716418-24.130583 15.838733-24.618701 80.075757-26.941606 106.793258-1.063215 12.222369 15.163351 22.240537 10.654664 44.62536-26.433022 131.125433 11.437493 219.776496 71.330582 240.123916 41.564651 17.633612 119.167077 50.323129 191.563944 3.716648l17.971303-17.428951 29.061896-5.237281C662.71663 795.172617 672.02974 765.933689 672.02974 765.933689z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="refresh-3" unicode="&#59818;"
+                   d="M820.376904 697.14807C740.637816 774.519228 631.884926 822.157201 511.999488 822.157201c-244.621347 0-442.925808-198.305485-442.925808-442.926832 0-244.6193 198.304462-442.925808 442.925808-442.925808 206.075449 0 379.271046 140.739395 428.740738 331.337337L822.859445 267.64189899999997c-45.759183-127.45381-167.656441-218.623229-310.859957-218.623229-182.371584 0-330.210677 147.842163-330.210677 330.210677 0 182.371584 147.840116 330.2117 330.210677 330.2117 88.762603 0 169.32443-35.035958 228.655723-92.015693L557.051567 433.822732l280.641725 0 113.880677 0 3.351328 0L954.925297 831.695438 820.376904 697.14807z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="ok" unicode="&#58885;"
+                   d="M960 640L915.2 684.8 371.2 172.79999999999995 108.8 454.4 64 409.6 358.4 83.20000000000005 364.8 89.60000000000002 371.2 83.20000000000005Z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="layer" unicode="&#58936;"
+                   d="M96.089 724.318l0-684.236 831.822 0L927.911 724.318 96.089 724.318zM884.178 84.457L140.464 84.457 140.464 489.559l743.714 0L884.178 84.457z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="face-smile-fine" unicode="&#58892;"
+                   d="M511.558443 852.9315573333333c-246.787686 0-447.597201-200.783932-447.597201-447.598224 0-246.815315 200.783932-447.598224 447.597201-447.598224 246.841921 0 447.64939 200.782909 447.64939 447.598224C959.207833 652.1476253333334 758.400365 852.9315573333333 511.558443 852.9315573333333zM511.558443-4.962310666666667c-226.247884 0-410.295644 184.046736-410.295644 410.295644 0 226.249931 184.072319 410.296667 410.295644 410.296667 226.27449 0 410.346809-184.046736 410.346809-410.296667C921.905252 179.08442633333334 737.832933-4.962310666666667 511.558443-4.962310666666667zM724.38055 303.5726953333334c-9.698896 3.457752-20.366863-1.566682-23.848151-11.264555-28.500101-79.45461-104.372116-132.844587-188.82353-132.844587-84.798315 0-160.770614 53.689806-189.070146 133.590578-3.432169 9.723455-14.075577 14.772448-23.823592 11.364839-9.699919-3.432169-14.797008-14.100136-11.364839-23.823592 33.547047-94.77248 123.668601-158.434405 224.234017-158.434405 100.142791 0 190.140525 63.314001 223.935212 157.564595C739.125369 289.3978573333334 734.102982 300.0903843333334 724.38055 303.5726953333334zM302.49494 515.3479593333334c0-24.653493 19.98517-44.638663 44.638663-44.638663 24.653493 0 44.638663 19.98517 44.638663 44.638663s-19.98517 44.63764-44.638663 44.63764C322.48011 559.9855993333333 302.49494 540.0014523333333 302.49494 515.3479593333334L302.49494 515.3479593333334zM631.398856 515.3479593333334c0-24.653493 19.98517-44.638663 44.63764-44.638663 24.653493 0 44.63764 19.98517 44.63764 44.638663s-19.984147 44.63764-44.63764 44.63764C651.384026 559.9855993333333 631.398856 540.0014523333333 631.398856 515.3479593333334L631.398856 515.3479593333334z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="dollar" unicode="&#58969;"
+                   d="M517.565-65.45399999999995c-244.263 0-442.299 198.014-442.299 442.299s198.014 442.299 442.299 442.299c244.263 0 442.299-198.014 442.299-442.299 0-244.263-198.014-442.299-442.299-442.299zM517.565 863.383c-268.751 0-486.564-217.834-486.564-486.564s217.834-486.564 486.564-486.564c268.751 0 486.564 217.834 486.564 486.564 0 268.751-217.834 486.564-486.564 486.564zM497.036 425.349c-18.443 6.957-33.605 16.314-45.238 27.617-11.581 11.306-20.059 23.465-25.468 36.742-5.423 13.177-8.178 26.235-8.178 39.172-0.004 18.194 2.564 34.357 7.846 48.514 5.327 14.231 13.748 25.85 25.468 35.02 11.581 9.167 26.798 15.204 45.482 18.295v-205.52zM534.455 356.13199999999995c16.937-6.756 32.277-14.997 46.035-24.855 13.748-9.678 24.613-21.601 32.929-35.57 8.204-13.909 12.436-30.734 12.622-50.307 0-14.231-1.859-27.907-5.785-40.833-3.858-12.866-9.542-24.531-17.271-34.804-7.691-10.211-17.271-18.443-28.678-24.613-11.328-6.318-24.613-9.678-39.76-10.341v221.377zM534.455 94.18299999999999c29.037 3.318 53.978 11.306 74.785 24.134 20.985 12.866 37.018 30.15 48.281 51.734 11.125 21.535 16.876 46.832 16.937 76.196 0 16.08-1.67 30.377-5.033 42.985-3.318 12.622-8.204 24.15-14.836 34.357-6.739 10.341-14.836 20.189-24.613 29.326-8.853 8.204-19.107 15.957-30.659 23.041-11.328 7.197-22.836 13.706-34.281 19.261-11.581 5.694-21.601 10.516-30.659 14.231v221.377c14.527-3.318 26.662-8.594 36.62-16.192 9.859-7.395 17.766-16.192 23.776-26.384 5.941-10.211 10.341-20.985 12.972-32.345 2.666-11.328 4.026-22.836 3.858-34.097h46.155c0.004 16.314-1.566 32.345-5.327 48.281-3.543 15.957-9.938 30.909-19.107 44.969-8.996 13.909-21.601 26.235-37.684 36.742-16.192 10.521-36.62 18.295-61.318 23.562v49.426h-37.441v-53.316c-23.465-2.624-42.985-8.178-58.595-16.314-15.633-8.204-28.279-18.194-37.684-29.562-9.441-11.328-16.523-23.302-21.226-35.317-4.59-12.062-7.846-23.302-9.316-33.326-1.566-10.211-2.256-18.194-2.115-24.029 0.004-21.601 3.452-40.612 9.863-57.238 6.479-16.523 15.58-30.909 27.178-43.441 11.659-12.436 25.361-23.562 40.833-33.204 15.633-9.678 32.649-18.443 51.098-26.235v-237.329c-18.194 1.984-33.326 7.197-45.094 15.633-11.97 8.369-21.074 19.107-27.714 31.902-6.739 12.972-11.011 27.178-13.363 42.701-2.256 15.58-3.034 31.313-2.115 47.367h-47.803c-1.183-23.776 0.397-46.035 5.033-66.676s12.357-39.03 23.376-55.019c10.892-16.08 25.361-29.037 43.142-39.03 17.847-9.863 39.472-16.08 64.586-18.295v-65.283h37.441v65.283z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="group" unicode="&#58899;"
+                   d="M1383.17753-39.75895700000001L1380.048488-13.938771999999972 1373.005994 17.35852699999998 1362.834458 47.090445000000045 1348.751189 77.605053 1334.667921 101.07716700000003 1315.107539 123.76659099999995 1293.199086 141.76331100000004 1262.684478 158.97562200000004 1240.777745 169.147158 1211.828518 176.18965200000002 1182.87757 183.23042599999997 1157.840075 192.61927200000002 1126.544497 207.48523 1101.507002 219.22214799999995 1070.992393 233.30541600000004 1047.52028 246.607714 1047.52028 329.54366300000004 1057.690095 341.280581 1067.080661 356.92751 1074.121435 372.57615899999996 1079.598549 392.136541 1085.858352 415.610375 1088.204704 433.605376 1091.595216 432.822685 1098.37624 433.866846 1103.593603 438.040048 1109.330466 447.428894 1112.982449 458.3814 1115.06905 471.943448 1117.676871 496.459723 1118.719312 517.324016 1117.676871 535.059266 1114.024889 546.0134929999999 1106.722645 550.186695 1102.549442 549.142535 1106.201425 572.614649 1109.330466 600.782906 1110.374627 626.341621 1109.851687 646.684693 1106.722645 665.4623839999999 1100.984061 683.718855 1093.160597 700.409945 1082.20637 719.189356 1069.688483 734.838006 1055.082274 746.8346730000001 1036.304583 758.83134 1012.832469 769.785566 993.010617 775.00121 969.017283 779.174412 945.543448 779.695632 921.550114 775.52243 898.599221 767.698965 878.256148 759.35256 860.520898 747.877113 844.089558 733.2726250000001 828.440908 716.058594 814.35764 695.715522 804.186104 673.8087889999999 797.92802 648.771294 797.14533 616.691305 800.274372 586.959387 804.186104 548.621314 795.579949 548.621314 790.102836 541.57882 788.539175 529.060933 790.102836 499.329015 794.014568 464.902674 797.14533 447.688644 802.622443 438.299798 812.793979 432.822685 819.052063 433.605376 822.965515 406.221529 826.877248 389.790189 833.137051 371.79346899999996 841.743207 353.79846799999996 851.914743 339.7152 859.738207 329.54366300000004 858.955517 245.04233299999999 867.267518 242.13003600000002 878.734364 238.975192 891.063029 234.389141 902.817148 229.80137100000002 913.712888 225.78814699999998 923.459535 220.91310299999998 935.215374 216.03977999999995 948.116866 208.58615799999995 961.018358 201.13081599999998 971.625104 193.38992099999996 985.386695 183.06872699999997 997.142535 172.174708 1008.323827 158.41311700000006 1020.077947 143.21860000000004 1032.549389 125.72933699999999 1043.300632 105.086951 1052.476173 82.72436500000003 1060.502621 62.08197800000005 1066.093267 42.72974099999999 1069.963715 22.517404000000056 1073.834162-0.27523199999995995 1076.41446-26.93831499999999 1076.84451-45.000403000000006 1075.984411-61.12726799999996 1072.328988-73.59870999999998 1065.377664-87.28805299999999 1057.277248-96.391345 1042.440532-103.91721500000006 1351.099261-103.91721500000006 1365.182529-96.87472100000002 1376.136756-85.92221500000005 1383.17753-74.18529799999999 1384.742911-59.319339000000014ZM438.650719 816.389195L421.44873 797.467007 405.96694 775.104421 394.785647 751.021637 387.904851 723.498455 387.044752 688.234377 390.48515 655.550598 394.785647 613.4057250000001 385.324553 613.4057250000001 379.303857 605.6648299999999 377.583658 591.903239 379.303857 559.21946 383.604354 521.375084 387.044752 502.452896 393.065448 492.131703 404.246741 486.111007 411.127537 486.971106 415.428034 456.867625 419.728531 438.805537 426.609327 419.02325 436.070421 399.240962 447.251713 383.75917200000004 455.852708 372.57787900000005 454.992609 279.687139 440.370918 270.226045 405.96694 253.88415499999996 370.702863 238.40236500000003 342.319581 224.64077399999996 319.956995 215.17967999999996 295.014111 207.43878500000005 269.211128 202.278188 244.268244 196.25749199999996 218.46526 185.07619899999997 194.382475 173.034807 172.879989 157.55301699999995 148.797205 133.470232 131.595216 108.52734799999996 118.693724 84.44456400000001 108.372531 58.641579999999976 98.051337 29.398198999999977 92.89074 6.175514000000021 88.590243-13.606772999999976 86.009945-36.829458000000045 86.009945-57.47184500000003 89.450343-78.11423200000002 99.771536-91.87582299999997 115.253326-102.19701699999996 135.035613-103.91721500000006 995.995162-103.91721500000006 1011.476952-96.17632000000003 1023.518344-84.13492799999995 1031.259239-71.23343599999998 1032.979438-54.891546999999946 1031.259239-33.38906099999997 1027.818842-5.005778999999961 1020.077947 29.398198999999977 1008.896654 62.08197800000005 993.414864 95.625857 977.933074 121.42884000000004 956.430587 146.37172399999997 932.347803 166.15401199999997 898.803924 185.07619899999997 874.72114 196.25749199999996 842.89746 203.99838699999998 811.07378 211.739282 783.550598 222.060476 749.14662 238.40236500000003 721.623438 251.303857 688.079559 266.78564700000004 662.276576 281.407338 662.276576 372.57787900000005 673.457869 385.479371 683.779062 402.68136 691.519957 419.883349 697.540653 441.385835 704.421449 467.188819 707.001747 486.971106 710.729418 486.111007 718.18304 487.258379 723.916463 491.84443 730.224432 502.165623 734.237656 514.207015 736.532402 529.1159789999999 739.398253 556.066335 740.545626 579.001747 739.398253 598.496761 735.385029 610.538153 727.356861 615.1259239999999 722.77081 613.9785509999999 726.784034 639.7815350000001 730.224432 670.7451149999999 731.371805 698.842844 730.797258 721.205429 727.356861 741.847816 721.050611 761.915656 712.449617 780.265018 700.408225 800.907405 686.646634 818.109394 670.590297 831.2981589999999 649.94791 844.485204 624.144927 856.526596 602.356888 862.261739 575.979358 866.847789 550.176374 867.422336 523.800564 862.834565 498.570407 854.233571 476.207822 845.05975 456.712807 832.443811Z"
+                   horiz-adv-x="1449"/>
+
+
+            <glyph glyph-name="layim-download" unicode="&#58910;"
+                   d="M186.888458 77.07363199999998l0 581.729108c14.85022-14.450107 35.050284-23.436782 57.359382-23.436782l560.03604 0 0-151.561881 25.029046 0 0 176.591951-585.065086 0c-31.191396 0-57.359382 26.166963-57.359382 57.359382 0 31.191396 26.165939 57.359382 57.359382 57.359382l572.551074 0L816.798914 800.143838 244.24784 800.143838c-45.431725 0-82.388429-36.957727-82.388429-82.388429l0-640.681778c0-41.796942 34.000372-75.789127 75.789127-75.789127l225.950102 0 0 25.029046L237.648538 26.31355099999996C209.661114 26.31355099999996 186.888458 49.078021000000035 186.888458 77.07363199999998zM236.947574 730.269421l560.38601 0 0-25.029046-560.38601 0 0 25.029046ZM686.086897 428.171012c-85.917812 0-164.908864-55.248302-194.553021-135.882783-30.013571-81.641415-4.269233-175.567621 62.624293-230.942813 67.00302-55.465243 164.474982-62.808488 238.931764-17.720593 74.094532 44.868907 113.272833 133.533272 96.080266 218.517829C869.882923 357.47283300000004 783.297916 428.171012 686.086897 428.171012zM686.086897 38.82858599999997c-75.595722 0-145.060817 48.634674-171.092703 119.595842-26.354228 71.839165-3.63069 154.438395 55.287187 203.074092 59.017138 48.718585 144.762011 55.029314 210.191186 15.237029 65.11195-39.59888 99.396801-117.681236 84.064604-192.408171C847.384513 100.72940100000005 771.387655 38.82858599999997 686.086897 38.82858599999997zM698.600909 152.23547199999996L698.600909 311.02496499999995 673.571862 311.02496499999995 673.571862 152.28459099999998 604.675726 221.17254100000002 586.978668 203.47548400000005 686.111456 104.35190499999999 785.185916 203.42738799999995 767.489882 221.123422Z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="picture-fine" unicode="&#58893;"
+                   d="M958.648085 84.30682933333333L65.772494 84.30682933333333 65.772494 721.9115253333333l892.87559 0L958.648085 84.30682933333333zM97.660762 116.20328333333339l829.099055 0L926.759817 690.0570263333334 97.660762 690.0570263333334 97.660762 116.20328333333339zM648.731616 419.05893933333334l-1.991354 0c-47.801702 0-86.696548 38.900985-86.696548 86.695524l0 1.978051c0 47.809889 38.894845 86.671988 86.696548 86.671988l1.991354 0c47.801702 0 86.698594-38.862099 86.698594-86.671988l0-1.978051C735.43021 457.95992433333333 696.533318 419.05893933333334 648.731616 419.05893933333334zM646.740262 562.5193053333333c-30.224372 0-54.810327-24.582885-54.810327-54.787814l0-1.978051c0-30.230512 24.584931-54.803163 54.810327-54.803163l1.991354 0c30.222325 0 54.810327 24.572652 54.810327 54.803163l0 1.978051c0 30.203906-24.586978 54.787814-54.810327 54.787814L646.740262 562.5193053333333zM91.097276 181.7900473333334l-22.748097 22.338774 274.373974 279.332916 22.750143-22.351054L91.097276 181.7900473333334zM604.886015 215.92242633333342L339.999113 480.74793033333333l22.548552 22.525016L627.433544 238.4638153333334 604.886015 215.92242633333342zM619.007641 202.70744933333333l-22.763446 22.337751 167.989015 171.035398 22.765493-22.350031L619.007641 202.70744933333333zM925.622924 222.7939273333334L758.534418 389.8343373333333l22.548552 22.529109 167.086459-167.044504L925.622924 222.7939273333334z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="link" unicode="&#58956;"
+                   d="M262.4-121.60000000000002c-64 0-128 25.6-179.2 76.8-102.4 102.4-102.4 262.4 0 364.8l134.4 134.4 89.6-89.6-134.4-134.4c-51.2-51.2-51.2-128 0-179.2 51.2-51.2 128-51.2 179.2 0l179.2 179.2c25.6 25.6 38.4 57.6 38.4 89.6S556.8 384 537.6 409.6L467.2 473.6l89.6 89.6 70.4-70.4C672 448 697.6 384 697.6 313.6c0-70.4-25.6-134.4-76.8-179.2l-179.2-179.2C396.8-96 326.4-121.60000000000002 262.4-121.60000000000002zM467.2 204.79999999999995L396.8 268.79999999999995c-102.4 102.4-102.4 262.4 0 364.8l179.2 179.2c102.4 102.4 262.4 102.4 364.8 0 102.4-102.4 102.4-262.4 0-364.8l-134.4-134.4-89.6 89.6 134.4 134.4c51.2 51.2 51.2 128 0 179.2-51.2 51.2-134.4 51.2-179.2 0L486.4 544c-51.2-51.2-51.2-128 0-179.2l70.4-70.4L467.2 204.79999999999995z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="diamond" unicode="&#59189;"
+                   d="M998.4 526.933333L797.866667 802.133333c-4.266667 6.4-12.8 10.666667-19.2 10.666667L243.2 812.8c0 0-14.933333-2.133333-23.466667-17.066667C194.133333 753.066667 32 512 32 512L21.333333 494.933333l12.8-14.933333L469.333333-27.733333000000016c4.266667-4.266667 6.4-6.4 10.666667-8.533333 6.4-4.266667 32-10.666667 46.933333 0 4.266667 2.133333 6.4 6.4 10.666667 8.533333l409.6 420.266667c10.666667 8.533333 10.666667 25.6 0 34.133333-8.533333 10.666667-23.466667 10.666667-32 0L561.066667 61.86666700000001l153.6 422.4 0 0 251.733333 0c2.133333 0 19.2 0 23.466667 4.266667l2.133333 2.133333C1004.8 497.066667 1006.933333 512 998.4 526.933333zM782.933333 763.733333l-96-226.133333L341.333333 537.6l-85.333333 226.133333L782.933333 763.733333zM221.866667 714.666667l72.533333-179.2-192 0L221.866667 714.666667zM91.733333 488.533333l215.466667 0 138.666667-416L91.733333 488.533333zM503.466667 44.799999999999955l-147.2 443.733333 307.2 0L503.466667 44.799999999999955zM736 535.4666669999999L810.666667 701.866667l119.466667-168.533333L736 533.333333z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="log" unicode="&#58894;"
+                   d="M828.01742 700.357158C743.476979 784.899646 631.076002 831.458031 511.516999 831.458031c-119.55798 0-231.959979-46.558385-316.500421-131.09985C110.47716 615.81774 63.918775 503.41574 63.918775 383.85776c0-87.103824 25.045419-171.548074 72.429613-244.204861 9.393951-14.402011 28.685319-18.46249 43.087331-9.071609 14.404058 9.393951 18.46556 28.685319 9.072633 43.089377-40.768519 62.511729-62.317301 135.194098-62.317301 210.187093 0 212.469066 172.85586 385.326972 385.325949 385.326972s385.325949-172.857906 385.325949-385.326972-172.85586-385.326972-385.325949-385.326972c-70.357418 0-139.188062 19.131733-199.052498 55.323003-14.71412 8.900717-33.856086 4.180206-42.753733-10.534937-8.896624-14.71719-4.180206-33.856086 10.534937-42.753733 69.584821-42.070164 149.556201-64.307631 231.271294-64.307631 119.559003 0 231.959979 46.558385 316.500421 131.09985 84.539418 84.539418 131.097804 196.941418 131.097804 316.499397S912.556838 615.81774 828.01742 700.357158zM494.28964 690.216193c-21.782096 0-39.397289-17.658172-39.397289-39.439244l0-283.524378c0-1.360997 0.358157-2.706645 0.493234-4.03285 2.020006-19.886933 18.959817-34.573423 39.379892-34.573423l0 0 0.146333 0.832971 223.590358 0c21.782096 0 39.438221 17.616216 39.438221 39.397289s-17.658172 39.397289-39.439244 39.397289L533.686928 408.273846l0 242.503103C533.686928 672.5580219999999 516.071735 690.216193 494.28964 690.216193z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="rate-solid" unicode="&#59002;"
+                   d="M957.111079 492.519576c-3.927449 11.669784-14.447037 19.86442-26.723641 20.816095L647.68068 535.250796 540.183388 811.873997c-4.586458 11.803837-15.951297 19.579941-28.614711 19.579941s-24.02723-7.776104-28.614711-19.579941L375.458719 535.250796l-282.708803-21.915126c-12.276604-0.951675-22.796192-9.146311-26.723641-20.816095-3.927449-11.669784-0.50142-24.557302 8.701173-32.737612l217.547735-193.358823-67.980277-291.298436c-2.848884-12.20702 2.009773-24.919553 12.273535-32.114418 10.264784-7.195889 23.87271-7.42818 34.375925-0.586354l240.624313 156.709111 240.625336-156.709111c5.099135-3.320629 10.92891-4.974291 16.752546-4.974291 6.173606 0 12.342096 1.858324 17.623379 5.561669 10.263761 7.194866 15.122419 19.907399 12.273535 32.114418l-67.980277 291.299459L948.409906 459.781964C957.613522 467.962274 961.037505 480.849792 957.111079 492.519576z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="fonts-del" unicode="&#58959;"
+                   d="M928 448l-143.616 0c-3.456 55.616-14.272 106.56-29.504 144.96C725.504 666.816 617.344 768 464.32 768L256 768l0-320L96 448C78.336 448 64 433.664 64 416S78.336 384 96 384L256 384l0-320 229.632 0c156.288 0 240.768 97.856 267.904 167.488C772.736 280.96000000000004 782.272 333.312 784.96 384L928 384C945.664 384 960 398.336 960 416S945.664 448 928 448zM349.376 711.488l63.936 0c35.712 0 251.84 27.968 266.944-263.488l-330.88 0L349.376 711.488zM439.296 120.51199999999994L349.376 120.51199999999994 349.376 382.528 349.376 384l330.88 0C665.344 113.98400000000004 467.968 120.51199999999994 439.296 120.51199999999994z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="unlink" unicode="&#58957;"
+                   d="M150.336 767.6800000000001C133.44 762.304 124.16 744.3199999999999 129.472 727.488 131.2 722.1759999999999 134.208 717.44 138.304 713.664l122.624-122.432C270.208 576.192 289.92 571.52 304.96 580.736 320 590.0799999999999 324.672 609.7280000000001 315.456 624.832 312.832 629.056 309.184 632.64 304.96 635.264L182.336 757.696C175.168 765.44 164.672 769.216 154.304 767.6800000000001 152.96 767.808 151.552 767.808 150.336 767.6800000000001L150.336 767.6800000000001zM406.08 831.424c-13.696-4.48-22.72-17.6-22.016-32L384.064 672c0-17.664 14.336-32 32-32s31.872 14.336 31.872 32L447.936 799.424C448.256 817.088 434.304 831.6800000000001 416.64 832 414.464 832.064 412.16 831.808 410.048 831.424 408.704 831.552 407.296 831.552 406.08 831.424L406.08 831.424zM91.392 511.872C73.728 509.12 61.632 492.544 64.384 474.88 67.136 457.28 83.712 445.248 101.376 448L224 448C241.664 448 256 462.208 256 479.872s-14.336 32-32 32L101.376 511.872c-1.984 0.192-3.968 0.192-6.016 0C94.016 512 92.608 512 91.392 511.872L91.392 511.872zM795.456 320c-17.728-2.752-29.824-14.08-27.072-31.744 2.752-17.6 19.328-35.008 36.992-32.256L928 256c17.664 0 32 19.584 32 37.248S945.664 320 928 320l-122.624 0c-1.984 0.192-3.968 0.192-6.016 0-1.344 0.128-2.688 0.128-4.032 0L795.456 320zM598.272 127.42399999999998c-13.76-4.48-22.72-17.6-22.08-32L576.192-32c0-17.664 14.336-32 32-32S640-49.66399999999999 640-32l0 127.424c0.32 17.6-13.568 32.256-31.232 32.576-2.176 0.064-4.352-0.192-6.592-0.576-1.344 0.128-2.688 0.128-4.032 0L598.272 127.42399999999998zM726.272 191.67999999999995c-16.896-5.376-26.24-23.36-20.864-40.192 1.664-5.312 4.736-10.048 8.832-13.824l122.56-122.432c9.28-15.04 28.928-19.776 44.032-10.496 14.976 9.344 19.712 28.992 10.368 44.032-2.624 4.224-6.144 7.808-10.368 10.432l-122.56 122.432c-7.168 7.744-17.6 11.52-28.032 9.984-1.344 0.128-2.688 0.128-4.032 0L726.272 191.61599999999999zM339.968 28.03200000000004c-49.152 0-98.304 18.688-135.744 56.128-74.816 74.88-74.816 196.608 0 271.488l87.744 87.744c12.48 12.48 32.768 12.48 45.248 0s12.48-32.768 0-45.248L249.408 310.46400000000006c-49.92-49.856-49.92-131.136 0-180.992 49.856-49.856 131.136-49.856 180.992 0l87.744 87.744c12.48 12.48 32.768 12.48 45.248 0s12.48-32.768 0-45.248l-87.744-87.744C438.272 46.72000000000003 389.12 28.03200000000004 339.968 28.03200000000004zM702.144 323.712c-8.192 0-16.384 3.136-22.656 9.344-12.48 12.48-12.48 32.768 0 45.248l87.744 87.744c49.856 49.92 49.856 131.072 0 180.992-49.856 49.856-131.136 49.856-180.992 0L498.496 559.296c-12.48-12.48-32.768-12.48-45.248 0s-12.48 32.768 0 45.248l87.744 87.744c74.88 74.88 196.608 74.88 271.488 0 74.88-74.816 74.88-196.672 0-271.488l-87.744-87.744C718.528 326.784 710.336 323.712 702.144 323.712z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="fonts-clear" unicode="&#58937;"
+                   d="M944.787709 197.20939699999997L857.081297 197.20939699999997 741.092979-127.73993700000005 815.146059-127.73993700000005 832.440281-65.58476199999996 966.82809-65.58476199999996 984.512408-127.73993700000005 1062.011328-127.73993700000005 944.787709 197.20939699999997 944.787709 197.20939699999997ZM848.04409 1.1865400000000363L898.951519 153.25866699999995 949.923963 1.1865400000000363 848.04409 1.1865400000000363 848.04409 1.1865400000000363ZM210.238376 489.910857L183.386821 513.121524 12.46009 313.522794C-5.874386 292.652698-3.728862 260.989968 17.271265 242.720508 38.401424 224.45104800000001 70.454249 226.66158700000005 88.853741 247.53168300000004L100.361551 260.599873C106.603075 267.55657099999996 117.200662 268.20673 124.287392 262.22527 131.309106 256.048762 132.024281 245.51619000000005 125.912789 238.55949199999998 107.448281 217.62438099999997 98.085995 173.08850800000005 119.216154 154.81904799999995 140.281297 136.614603 183.841932 151.76330199999995 202.371455 172.69841299999996 208.417932 179.525079 219.145551 180.30526999999995 226.167265 174.19377799999995 233.188979 168.14730199999997 233.904154 157.61473 227.792662 150.65803200000005 209.328154 129.85295199999996 199.965868 85.05701599999998 221.096027 66.91758700000003 242.16117 48.648127000000045 285.656789 63.86184100000003 304.186313 84.666921 310.362821 91.62361899999996 321.025424 92.40381000000002 327.982122 86.29231700000003 335.068852 80.18082500000003 335.784027 69.71326999999997 329.672535 62.75657100000001 311.143011 41.82146 301.845741-2.9094599999999673 322.910884-20.983873000000017 344.041043-39.253333 387.601678-24.039619000000016 406.00117-3.234540000000038 412.177678 3.7221590000000333 422.840281 4.437332999999967 429.927011-1.6091430000000173 436.948725-7.720635000000016 437.598884-18.31822199999999 431.487392-25.144889000000035 413.022884-46.08000000000004 403.725614-90.81092100000001 424.790757-109.01536499999997 445.920916-127.15479400000004 477.973741-125.00927000000001 496.373233-104.20419000000004L667.299963 95.52457100000004 658.652852 132.90869799999996 210.238376 489.910857 210.238376 489.910857ZM844.013106 329.516698L680.10809 471.12127 929.639011 715.190857C933.2799 718.376635 936.725741 721.562413 939.976535 725.203302 977.815773 768.048762 973.524725 833.129651 930.28917 870.513778 887.183646 907.702857 821.58263 903.281778 783.808408 860.631365L783.483328 860.761397 564.249805 571.3107299999999 399.824662 713.56546C385.391138 726.113524 363.480789 724.553143 350.867709 710.249651L248.14263 593.871238 225.322059 567.994921 251.393424 545.434413 695.7119 161.25561900000002 726.26936 136.679619 847.328916 281.014857C859.941995 295.318349 858.44663 316.96863499999995 844.013106 329.516698L844.013106 329.516698ZM817.941741 830.724063C839.136916 854.779937 876.000916 857.315556 900.186821 836.250413 924.372725 815.380317 926.908344 778.906413 905.648154 754.85054 884.452979 730.924698 847.588979 728.389079 823.403075 749.3892060000001 799.21717 770.324317 796.811582 806.798222 817.941741 830.724063L817.941741 830.724063ZM765.473932 758.491429C768.919773 741.522286 777.6319 725.593397 791.80536 713.305397 806.043836 701.017397 823.533106 694.580825 841.087392 693.540571L643.634186 494.526984 593.116852 538.2176509999999 765.473932 758.491429 765.473932 758.491429ZM776.006503 299.739429L709.755328 219.314794 307.502122 566.369524 376.809043 645.03873C382.920535 651.865397 393.38809 652.5155560000001 400.409805 646.534095L774.381106 323.01511100000005C781.337805 317.098667 782.117995 306.69612700000005 776.006503 299.739429L776.006503 299.739429Z"
+                   horiz-adv-x="1063"/>
+
+
+            <glyph glyph-name="triangle-r" unicode="&#58915;" d="M293.291 728.256l426.88-355.456-426.88-355.52z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="circle" unicode="&#58943;"
+                   d="M511.998 847.999C255.739 847.999 48 640.26 48 383.999c0-256.258 207.739-463.998 463.998-463.998C768.261-79.99900000000002 976 127.74199999999996 976 383.999 976 640.26 768.261 847.999 511.998 847.999zM512.002-16.000999999999976c-220.915 0-400.002 179.088-400.002 400 0 220.917 179.086 400 400.002 400 220.912 0 399.998-179.083 399.998-400C912 163.087 732.914-16.000999999999976 512.002-16.000999999999976z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="radio" unicode="&#58947;"
+                   d="M512.5 383.5m-192 0a192 192 0 1 1 384 0 192 192 0 1 1-384 0ZM511.998 847.999C255.739 847.999 48 640.26 48 383.999c0-256.258 207.739-463.998 463.998-463.998C768.261-79.99900000000002 976 127.74199999999996 976 383.999 976 640.26 768.261 847.999 511.998 847.999zM512.002-16.000999999999976c-220.915 0-400.002 179.088-400.002 400 0 220.917 179.086 400 400.002 400 220.912 0 399.998-179.083 399.998-400C912 163.087 732.914-16.000999999999976 512.002-16.000999999999976z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="align-center" unicode="&#58951;"
+                   d="M992 448L32 448C14.32 448 0 462.336 0 480 0 497.664 14.32 512 32 512L992 512C1009.68 512 1024 497.664 1024 480 1024 462.336 1009.68 448 992 448ZM800 704C817.664 704 832 689.664 832 672 832 654.336 817.664 640 800 640L224 640C206.32 640 192 654.336 192 672 192 689.664 206.32 704 224 704L800 704ZM992 832L32 832C14.32 832 0 846.336 0 864 0 881.664 14.32 896 32 896L992 896C1009.68 896 1024 881.664 1024 864 1024 846.336 1009.68 832 992 832ZM224 256C206.32 256 192 270.336 192 288 192 305.664 206.32 320 224 320L800 320C817.664 320 832 305.664 832 288 832 270.336 817.664 256 800 256L224 256ZM32 128L992 128C1009.68 128 1024 113.66399999999999 1024 96 1024 78.33600000000001 1009.68 64 992 64L32 64C14.32 64 0 78.33600000000001 0 96 0 113.66399999999999 14.32 128 32 128ZM224-64L800-64C817.664-64 832-78.33600000000001 832-96 832-113.66399999999999 817.664-128 800-128L224-128C206.32-128 192-113.66399999999999 192-96 192-78.33600000000001 206.32-64 224-64Z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="align-right" unicode="&#58952;"
+                   d="M992 64L32 64C14.32 64 0 78.33600000000001 0 96 0 113.66399999999999 14.32 128 32 128L992 128C1009.68 128 1024 113.66399999999999 1024 96 1024 78.33600000000001 1009.68 64 992 64ZM992 256L288 256C270.32 256 256 270.336 256 288 256 305.664 270.32 320 288 320L992 320C1009.68 320 1024 305.664 1024 288 1024 270.336 1009.68 256 992 256ZM992 448L32 448C14.32 448 0 462.336 0 480 0 497.664 14.32 512 32 512L992 512C1009.68 512 1024 497.664 1024 480 1024 462.336 1009.68 448 992 448ZM992 640L288 640C270.32 640 256 654.336 256 672 256 689.664 270.32 704 288 704L992 704C1009.68 704 1024 689.664 1024 672 1024 654.336 1009.68 640 992 640ZM992 832L32 832C14.32 832 0 846.336 0 864 0 881.664 14.32 896 32 896L992 896C1009.68 896 1024 881.664 1024 864 1024 846.336 1009.68 832 992 832ZM288-64L992-64C1009.68-64 1024-78.33600000000001 1024-96 1024-113.66399999999999 1009.68-128 992-128L288-128C270.32-128 256-113.66399999999999 256-96 256-78.33600000000001 270.32-64 288-64Z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="align-left" unicode="&#58953;"
+                   d="M992 448L32 448C14.336 448 0 462.336 0 480 0 497.664 14.336 512 32 512L992 512C1009.664 512 1024 497.664 1024 480 1024 462.336 1009.664 448 992 448ZM32 704L736 704C753.68 704 768 689.664 768 672 768 654.336 753.68 640 736 640L32 640C14.336 640 0 654.336 0 672 0 689.664 14.336 704 32 704ZM992 832L32 832C14.336 832 0 846.336 0 864 0 881.664 14.336 896 32 896L992 896C1009.664 896 1024 881.664 1024 864 1024 846.336 1009.664 832 992 832ZM32 320L736 320C753.68 320 768 305.664 768 288 768 270.336 753.68 256 736 256L32 256C14.336 256 0 270.336 0 288 0 305.664 14.336 320 32 320ZM32 128L992 128C1009.664 128 1024 113.66399999999999 1024 96 1024 78.33600000000001 1009.664 64 992 64L32 64C14.336 64 0 78.33600000000001 0 96 0 113.66399999999999 14.336 128 32 128ZM32-64L736-64C753.68-64 768-78.33600000000001 768-96 768-113.66399999999999 753.68-128 736-128L32-128C14.336-128 0-113.66399999999999 0-96 0-78.33600000000001 14.336-64 32-64Z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="loading-1" unicode="&#58942;"
+                   d="M537.574469 831.696462c-14.123672 0-25.574469-11.447726-25.574469-25.574469 0-14.123672 11.450796-25.574469 25.574469-25.574469 204.495464 0 370.82877-166.358889 370.82877-370.82877 0-14.123672 11.450796-25.574469 25.574469-25.574469 14.123672 0 25.574469 11.450796 25.574469 25.574469C959.551152 642.385838 770.241552 831.696462 537.574469 831.696462z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="return" unicode="&#58972;"
+                   d="M927.858848 417.938973L168.863431 417.938973l308.721247 308.86758c11.685133 11.69025 11.435447 30.881334-0.557702 42.868343-11.992125 11.985986-31.18321 12.226462-42.868343 0.536212L75.199191 411.071565c-1.994424-1.662873-3.773953-3.583618-5.294586-5.713119-4.047176-5.373381-6.013971-11.839653-5.9055-18.328437-0.12996-7.794523 2.725064-15.561417 8.595772-21.432125l361.565802-361.744881c11.685133-11.691273 30.876218-11.449773 42.868343 0.535189 11.993149 11.985986 12.242835 31.17707 0.557702 42.868343L168.441828 356.54571799999997l759.417019 0c16.527418 0 29.925566 13.738909 29.925566 30.694069S944.386266 417.938973 927.858848 417.938973z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="fonts-strong" unicode="&#58923;"
+                   d="M199.092919 848.487893l355.326704 0c70.335928 0 122.780371-2.942005 157.349701-8.809643 34.568307-5.884011 65.491597-18.131963 92.78522-36.759205 27.27725-18.627243 50.01409-43.427068 68.209498-74.397431 18.195408-30.986735 27.293623-65.699328 27.293623-104.169501 0-41.7161-11.17655-79.977519-33.496905-114.802676s-52.604078-60.951187-90.818425-78.362742c54.075593-15.765055 95.647407-42.626843 124.715443-80.585363s43.602054-82.58388 43.602054-133.877103c0-40.388872-9.417487-79.673597-28.220738-117.839849-18.803251-38.182624-44.482097-68.673056-77.035514-91.489714-32.55444-22.833031-72.702835-36.855396-120.414487-42.09984-29.931706-3.229554-102.122889-5.260817-216.572524-6.060019L199.092919-40.765192999999954 199.092919 848.487893zM378.171504 700.1084940000001l0-205.684546 117.64849 0c69.935816 0 113.410979 1.006933 130.390699 3.038196 30.730908 3.629667 54.891168 14.246469 72.478731 31.850405 17.588587 17.588587 26.381857 40.756239 26.381857 69.473281 0 27.501354-7.594979 49.838082-22.75219 67.042929-15.158235 17.188474-37.702694 27.597545-67.618027 31.242562-17.796318 2.01489-68.945255 3.038196-153.431461 3.038196L378.171504 700.109518zM378.171504 346.04454999999996l0-236.383732 166.622902 0c64.85203 0 106.008382 1.807159 123.43631 5.420453 26.750247 4.828982 48.543599 16.58063 65.363683 35.272341s25.247011 43.714617 25.247011 75.085092c0 26.526143-6.491855 49.03888-19.459191 67.538209-12.983709 18.48398-31.722492 31.961946-56.250118 40.404222s-77.739549 12.663414-159.619394 12.663414L378.171504 346.04454999999996z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="upload" unicode="&#59004;"
+                   d="M831.488 478.208C831.488 478.208 831.488 478.208 831.488 478.208c0 143.36-114.688 258.048-253.952 258.048-98.304 0-184.32-57.344-225.28-139.264C327.68 605.184 307.2 609.28 286.72 609.28c-90.112 0-159.744-73.728-159.744-159.744 0-16.384 4.096-28.672 8.192-40.96C57.344 379.904 0 310.27200000000005 0 224.25599999999997c0-106.496 86.016-192.512 192.512-192.512l192.512 0 0 192.512L258.048 224.25599999999997l258.048 258.048 258.048-258.048-126.976 0 0-192.512 192.512 0L839.68 35.84000000000003c106.496 16.384 192.512 110.592 192.512 221.184C1024 371.712 937.984 465.92 831.488 478.208z"
+                   horiz-adv-x="1033"/>
+
+
+            <glyph glyph-name="dialogue" unicode="&#58938;"
+                   d="M998.4 500.992C998.4 682.24 811.392 829.696 581.632 829.696c-121.216 0-235.904-41.472-315.264-114.048 37.504 8.192 76.416 13.056 115.456 14.464 59.264 30.592 128.256 46.72 199.808 46.72 198.144 0 359.296-123.776 359.296-275.968 0-31.872-7.04-63.232-20.992-93.056 7.552-28.16 11.264-57.344 11.008-86.528C975.104 374.784 998.4 436.736 998.4 500.992L998.4 500.992zM442.368 398.72c-30.72 0-55.808-23.04-55.808-51.328s25.088-51.328 55.808-51.328 55.808 23.04 55.808 51.328S473.088 398.72 442.368 398.72zM243.328 398.72c-30.72 0-55.808-23.04-55.808-51.328s25.088-51.328 55.808-51.328 55.808 23.04 55.808 51.328C299.264 375.67999999999995 274.176 398.72 243.328 398.72zM641.28 398.72c-30.72 0-55.808-23.04-55.808-51.328s25.088-51.328 55.808-51.328 55.808 23.04 55.808 51.328S672.128 398.72 641.28 398.72zM442.368 677.888C212.608 677.888 25.6 530.432 25.6 349.312c0-179.968 173.696-296.192 332.544-321.664l60.8-78.336c5.632-7.424 14.464-11.008 23.296-11.008 8.832 0 17.792 3.712 23.424 11.008l60.8 78.464C685.312 53.24800000000005 859.008 169.47199999999998 859.008 349.44000000000005 859.136 530.432 672.128 677.888 442.368 677.888zM714.88 173.82399999999996c-52.224-45.184-124.288-77.952-197.376-89.6C503.168 81.91999999999996 490.112 74.24000000000001 481.28 62.72000000000003l-38.784-49.92-38.912 49.92c-8.96 11.52-21.888 19.2-36.224 21.504-73.216 11.776-145.152 44.416-197.376 89.728-39.68 34.304-86.912 92.544-86.912 175.36 0 69.76 35.584 136.192 100.352 187.264 68.736 54.144 160.768 84.096 258.944 84.096 98.304 0 190.336-29.824 259.072-84.096 64.768-51.072 100.352-117.504 100.352-187.264C801.664 266.36800000000005 754.56 208.12800000000004 714.88 173.82399999999996z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="video" unicode="&#59117;"
+                   d="M952.523633 599.2477269999999L952.523633 599.2477269999999 952.523633 599.2477269999999zM100.53762400000005 661.054062C100.53762400000005 661.054062 100.53762400000005 661.054062 100.53762400000005 661.054062 100.53762400000005 661.054062 100.53762400000005 661.054062 100.53762400000005 661.054062zM100.74228 720.404517L100.74228 720.404517 100.74228 720.404517zM660.990107 739.9449716666666c8.697911 0 17.498151-0.511642 25.684421-2.353553 12.279404-2.865194 23.22854-8.18627 34.382332-16.679524 15.144599-11.460777 26.196063-29.572899 32.02878-52.187469 3.479165-13.405016 2.967523-28.651944 2.558209-42.05696-0.102328-4.195463-0.204657-8.083941-0.204657-11.665434l0-37.759169 101.407415 70.401919 25.479764 17.60048c0.511642 0.306985 1.330269 1.023284 2.148896 1.637254 4.40012 3.376836 11.051464 8.595583 20.977316 11.051464 3.274508 0.818627 6.549016 1.22794 10.02818 1.22794 9.618867 0 19.44239-3.274508 27.730987999999996-9.311882 18.82842-13.916657999999998 18.726092-35.405616 18.726092-51.061857 0-1.023284 0-2.148896 0-3.172179l0-409.620466c0-15.963226 0.102328-37.963825-19.647047-51.982812-6.753672-4.809433-16.679524-8.390926-27.219346-8.390926-5.01409 0-10.130509 0.818627-15.144599 2.762866-7.162986 2.762866-12.279404 6.856000999999999-16.065554 9.823524-0.920955 0.716299-1.841911 1.432597-2.353553 1.841911l-24.968122 17.395823-101.10043 70.094934 0-37.963825c0-3.581493 0.102328-7.367643 0.204657-11.460777 0.409313-14.735285 0.818627-29.982212-2.865194-43.796542-5.62806-21.488957999999997-16.679524-39.396423-31.107825-50.447886-7.879285-6.037374-18.930748-13.405016-34.075347-16.986509-7.776956-1.841911-16.167882-2.353553-24.45648-2.353553-4.297792 0-8.595583 0.102328-12.688718 0.204657-3.683821 0.102328-7.162986 0.204657-10.232837 0.204657L167.15339300000005 84.94107466666674c-1.944239 0-3.888478 0-5.832717 0-1.944239 0-3.990806 0-5.935045 0-16.577196 0-33.461377 0.61397-47.787349 6.549016-27.935644999999997 11.563106-46.764065 37.759169-53.006096 73.574098l-0.409313 2.251224 0 2.353553c-0.102328 18.930748-0.204657 37.861497-0.306985 56.792245l0 0.511642L53.87588699999998 598.0155226666666c0 4.40012-0.102328 8.902568-0.102328 13.712001999999998-0.306985 27.01469-0.716299 54.950335 9.311882 76.643949 9.823524 21.284300999999996 27.526331999999996 38.066154 48.708304 45.945438 5.730389 2.148896 11.051464 2.762866 15.04227 3.172179 1.023284 0.102328 2.353553 0.306985 3.069851 0.409313l4.093135 1.534926 500.9997 0c3.581493 0 7.572299 0.102328 11.767763 0.306985C651.166583 739.7403146666667 656.078345 739.9449716666666 660.990107 739.9449716666666M304.273409 266.7785886666668L559.889677 394.2797376666667l0 33.973019L304.273409 555.9585626666667 304.273409 266.7785886666668M660.990107 780.8763196666666c-5.62806 0-10.949136-0.204657-15.758569-0.306985-3.888478-0.102328-7.469971-0.204657-10.437494-0.204657L133.79434400000002 780.3646776666667l-7.265314 0-6.446687-2.353553c-5.3210749999999996-0.61397-13.609673-1.841911-22.716898-5.218747-31.210153-11.665434-57.303887-36.121915-71.629859-67.229739-13.814329999999998-30.084541-13.405016-64.159888-12.995703-94.244429 0.102328-4.604777 0.102328-9.004897 0.102328-13.20036l0-371.349655 0-0.102328 0-0.102328 0-0.511642c0.102328-18.930748 0.204657-37.861497 0.306985-56.792245l0-2.251224 0-3.479165 0.61397-3.376836 0.409313-2.251224c4.195463-23.944839 12.791046-45.126811 25.479764-62.727291 13.609673-18.82842 31.107825-32.847407 52.08514-41.545318 21.488957999999997-8.902568 44.001199-9.618867 63.443589-9.618867 2.046567 0 4.093135 0 6.139702 0 1.841911 0 3.78615 0 5.62806 0l473.166384 0c2.558209 0 5.62806-0.102328 9.004897-0.204657 4.195463-0.102328 8.902568-0.306985 13.916657999999998-0.306985 13.302688 0 24.149495 1.125612 33.973019 3.479165 22.819227 5.423404 39.089437 16.474868 49.322274 24.251824 21.693613999999997 16.577196 37.963825 42.363944999999994 45.84311 72.653143 2.251224 8.595583 3.376836 17.088838 3.990806 25.377436l36.838213-25.582093 24.558809-17.088838c0.306985-0.204657 0.61397-0.511642 0.920955-0.716299 4.809433-3.683821 13.609673-10.642149999999999 26.400719-15.656241 9.516538-3.683821 19.647047-5.62806 30.084541-5.62806 18.009793 0 36.53122799999999 5.832717 50.8572 15.963226 16.577196 11.767763 27.730987999999996 27.935644999999997 33.052064 48.094334 3.78615 14.4283 3.78615 27.628659999999996 3.78615 37.34985499999999l0 409.518137c0 0.920955 0 1.739582 0 2.660538l0 0.409313c0 9.41421 0.102328 22.409913-3.479165 36.53122799999999-5.116419 19.749375-15.758569 35.81493-31.721795 47.68502-15.144599 11.153792-33.666034 17.293495-52.08514 17.293495-6.753672 0-13.507345-0.818627-19.954032-2.455881-18.21445-4.604777-30.289198-13.916657999999998-36.019586-18.419107l0 0c-0.204657-0.204657-0.511642-0.409313-0.716299-0.511642l-25.172779-17.293495-0.102328 0-0.102328 0-37.14519799999999-25.786749c-0.511642 7.674628-1.637254 15.553912-3.683821 23.433197-8.18627 31.721795-24.354152 57.508544-46.866394 74.597382-15.758569 11.972419-32.02878 19.851704-49.833916 23.944839C685.8559009999999 779.7507076666667 674.702109 780.8763196666666 660.990107 780.8763196666666L660.990107 780.8763196666666zM345.204757 332.9850436666668L345.204757 489.75210666666663l157.074048-78.48586L345.204757 332.9850436666668 345.204757 332.9850436666668zM347.455981 429.177975L347.455981 308.02118499999995 347.455981 429.177975Z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="headset" unicode="&#59132;"
+                   d="M356.285031 2.1522690000000466L356.396571 2.1522690000000466 356.396571 285.236626 253.462201 285.236626 253.462201 2.1522690000000466ZM665.076886 285.236626l103.042841 0 0-283.08538-103.042841 0 0 283.08538ZM63.809793 301.950286c0-38.758746-3.195785-112.220874 5.457292-148.208507l65.735144 0c-10.112312 35.644825-7.747451 109.176538-7.747451 148.208507 0 219.937155 172.264389 398.231887 384.763131 398.231887 212.498742 0 384.763131-178.294732 384.763131-398.231887 0-39.031968 2.266623-112.563682-7.845689-148.208507l65.735144 0c8.653077 35.987632 5.555529 109.449761 5.555529 148.208507 0 256.20415-200.670346 463.898469-448.208115 463.898469C264.479115 765.848755 63.809793 558.1544349999999 63.809793 301.950286z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="cellphone-fine" unicode="&#58939;"
+                   d="M731.514252 896L292.485748 896C195.323702 896 116.154627 816.830925 116.154627 719.6688790000001l0-671.337759c0-97.162046 79.169075-176.331121 176.331121-176.331121l438.628661 0c97.162046 0 176.331121 79.169075 176.331121 176.331121L907.445529 719.6688790000001C907.845373 816.830925 828.676298 896 731.514252 896zM292.485748 853.216712l438.628661 0c70.772355 0 128.349863-55.178446 133.147989-124.751269L159.737602 728.465443C164.135884 798.038266 222.113237 853.216712 292.485748 853.216712zM865.062085 48.73096399999997c0-73.571261-59.976572-133.547833-133.547833-133.547833L292.485748-84.816868c-73.571261 0-133.547833 59.976572-133.547833 133.547833l0 45.582194 705.724326 0L864.662241 48.73096399999997zM865.062085 137.096447L158.937915 137.096447 158.937915 685.682155l705.724326 0L864.662241 137.096447zM512-54.82858299999998c13.59469 0 26.789535 5.597813 36.385787 15.194065 9.596251 9.596251 15.194065 22.791097 15.194065 36.385787 0 13.59469-5.597813 26.789535-15.194065 36.385787-9.596251 9.596251-22.791097 15.194065-36.385787 15.194065-13.59469 0-26.789535-5.597813-36.385787-15.194065-9.596251-9.596251-15.194065-22.791097-15.194065-36.385787 0-13.59469 5.597813-26.789535 15.194065-36.385787C485.210465-49.23076900000001 498.40531-54.82858299999998 512-54.82858299999998z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="add-1" unicode="&#58964;"
+                   d="M566.935 57.63900000000001c0-30.366-24.612-54.972-54.935-54.972v0c-30.384 0-54.996 24.612-54.996 54.972v610.057c0 30.361 24.612 54.972 54.996 54.972v0c30.33 0 54.935-24.612 54.935-54.972v-610.057zM817.004 417.633c30.384 0 54.996-24.606 54.996-54.966v0c0-30.354-24.612-54.966-54.996-54.966h-610.062c-30.33 0-54.942 24.612-54.942 54.966v0c0 30.359 24.612 54.966 54.942 54.966h610.062zM817.004 417.633z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="face-smile-b" unicode="&#58960;"
+                   d="M511.931733-128c-136.738133 0-265.284267 53.213867-361.984 149.879467C53.282133 118.51093300000002 0 247.09119999999996 0 384c0 136.738133 53.282133 265.3184 150.050133 362.0864C246.749867 842.683733 375.296 896 512.136533 896s265.4208-53.316267 362.1888-149.9136c199.645867-199.714133 199.543467-524.5952 0-724.206933C777.454933-74.71786699999996 648.772267-128 511.931733-128L511.931733-128 511.931733-128 511.931733-128 511.931733-128 511.931733-128zM512.034133 829.303467c-118.920533 0-230.741333-46.2848-314.914133-130.389333C113.083733 614.8778669999999 66.7648 502.8864 66.7648 384c0-118.9888 46.2848-230.912 130.3552-315.016533 84.0704-84.0704 195.857067-130.321067 314.811733-130.321067 119.022933 0 230.946133 46.318933 315.016533 130.423467 173.704533 173.636267 173.704533 456.157867 0 629.794133C742.877867 782.984533 631.057067 829.303467 512.034133 829.303467L512.034133 829.303467 512.034133 829.303467 512.034133 829.303467 512.034133 829.303467 512.034133 829.303467zM330.103467 244.25813300000004c0 0 59.904-95.9488 181.828267-95.9488s201.8304 95.9488 201.8304 95.9488 45.294933 0.136533 45.192533-47.957333c0 0-78.506667-111.8208-247.022933-111.8208s-223.368533 111.8208-223.368533 111.8208S286.856533 244.25813300000004 330.103467 244.25813300000004L330.103467 244.25813300000004 330.103467 244.25813300000004 330.103467 244.25813300000004 330.103467 244.25813300000004zM363.2128 548.590933c-34.5088 0-62.702933-28.091733-62.702933-62.737067 0-34.679467 28.194133-62.6688 62.702933-62.6688 34.679467 0 62.702933 28.091733 62.702933 62.6688C425.915733 520.4992 397.858133 548.590933 363.2128 548.590933L363.2128 548.590933 363.2128 548.590933 363.2128 548.590933 363.2128 548.590933 363.2128 548.590933zM684.544 548.590933c-34.679467 0-62.702933-28.091733-62.702933-62.737067 0-34.679467 28.023467-62.6688 62.702933-62.6688 34.6112 0 62.600533 28.091733 62.600533 62.6688C747.144533 520.4992 719.121067 548.590933 684.544 548.590933L684.544 548.590933 684.544 548.590933 684.544 548.590933 684.544 548.590933 684.544 548.590933zM684.544 548.590933"
+                   horiz-adv-x="1025"/>
+
+
+            <glyph glyph-name="fonts-html" unicode="&#58955;"
+                   d="M194.33 416.235h-101.295v101.28h-46.035v-267.03h46.035v119.7h101.28v-119.7h46.035v267.03h-46.035v-101.28zM277.205 480.69h73.665v-230.205h46.035v230.205h73.665v36.825h-193.365v-36.825zM627.815 335.58000000000004l-46.755 181.935h-73.665v-267.03h46.035v211.785l46.035-211.785h55.245l46.83 213.93-0.795-213.93h46.035v267.03h-73.665l-45.3-181.935zM848.09 287.30999999999995v230.205h-46.035v-267.03h174.945v36.825h-128.91z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="screen-full" unicode="&#58914;"
+                   d="M641.750109 511.899972l205.227128 204.519-0.704035-115.89966c-0.282433-9.611915 7.489578-18.09103 17.101493-17.808598l12.297071 0c9.611915 0.283456 17.667382 5.936199 17.808598 15.689331l0.565888 172.57752c0 0.14224 0.282433 9.187243 0.282433 9.187243 0.14224 4.804423-0.99056 9.187243-4.100388 12.297071-3.109828 3.109828-7.347339 5.086855-12.297071 4.946662l-8.763594-0.14224c-0.141216 0-0.278339 0-0.420579-0.14224L697.581696 797.833213c-9.611915-0.283456-17.667382-8.200776-17.808598-17.950837l0-12.297071c1.416256-11.44875 10.458189-18.092054 20.070104-17.808598l112.789832-0.283456-204.66124-203.814965c-9.329483-9.329483-9.329483-24.449855 0-33.778314 9.329483-9.470699 24.452925-9.470699 33.782408 0L641.750109 511.899972zM383.095141 319.11010699999997L177.726797 115.29411900000002l0.707105 115.338888c0.283456 9.607822-7.492648 18.086937-17.104563 17.808598l-13.001105 0c-9.611915-0.283456-17.667382-5.937223-17.808598-15.690354l-0.565888-172.718737c0-0.14224-0.282433-9.187243-0.282433-9.187243-0.14224-4.808516 0.99056-9.187243 4.096295-12.297071 3.109828-3.109828 7.351432-5.086855 12.297071-4.946662l8.762571 0.14224c0.14224 0 0.283456 0 0.425695 0.14224l171.873486-0.708128c9.607822 0.283456 17.667382 8.196683 17.808598 17.950837L344.93503 63.42477399999996c-1.415232 11.44875-10.461259 18.092054-20.074198 17.808598L212.069977 81.51682800000003 416.59 285.32872299999997c9.329483 9.329483 9.329483 24.453948 0 33.782408C407.40685 328.58182999999997 392.424624 328.58182999999997 383.095141 319.11010699999997L383.095141 319.11010699999997zM894.047276 60.03251399999999l-0.424672 172.718737c-0.283456 9.612938-8.200776 15.406898-17.809621 15.690354l-12.296047 0c-9.612938 0.278339-17.243733-8.200776-17.105586-17.808598l0.708128-115.903753L641.750109 319.11010699999997c-9.329483 9.329483-24.452925 9.329483-33.782408 0-9.325389-9.328459-9.325389-24.452925 0-33.782408L812.490795 81.51682800000003l-112.789832-0.283456c-9.611915 0.283456-18.515702-6.502088-20.073174-17.808598l0-12.297071c0.282433-9.611915 8.200776-17.667382 17.808598-17.950837l171.166381 0.708128c0.141216 0 0.282433-0.14224 0.424672-0.14224l8.763594-0.14224c4.803399-0.141216 9.187243 1.694595 12.296047 4.946662 3.109828 3.109828 4.238534 7.488555 4.097318 12.297071 0 0-0.14224 9.046027-0.14224 9.187243L894.047276 60.03149099999996zM212.216309 749.493252l112.789832 0.283456c9.607822-0.283456 18.512632 6.502088 20.070104 17.808598L345.076246 779.883399c-0.283456 9.611915-8.196683 17.667382-17.808598 17.950837l-172.011632-0.708128c-0.14224 0-0.283456 0.14224-0.425695 0.14224l-8.761548 0.14224c-4.808516 0.141216-9.187243-1.694595-12.297071-4.946662-3.109828-3.109828-4.242627-7.488555-4.096295-12.297071 0 0 0.282433-9.046027 0.282433-9.187243l0.420579-172.718737c0.14224-9.608845 8.200776-15.406898 17.808598-15.686261l13.005198 0c9.611915-0.282433 17.242709 8.196683 17.10047 17.808598l-0.564865 115.334795 205.231221-203.958228c9.324366-9.329483 24.448832-9.329483 33.777291 0 9.329483 9.329483 9.329483 24.452925 0 33.782408L212.216309 749.493252 212.216309 749.493252zM212.216309 749.493252"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="form" unicode="&#58940;"
+                   d="M314.278111 437.019389l395.439892 0 0-30.297458-395.439892 0L314.278111 437.019389zM314.278111 315.83495200000004l395.439892 0 0-30.297458-395.439892 0L314.278111 315.83495200000004zM314.278111 194.62833l263.626661 0 0-30.297458L314.278111 164.330872 314.278111 194.62833zM609.376235 739.9931730000001c-7.849678 42.966669-48.394988 75.742447-97.378777 75.742447-48.961604 0-89.51311-32.775778-97.380776-75.742447L116.55177 739.9931730000001l0-787.725922 790.893774 0 0 787.725922L609.376235 739.9931730000001zM446.091342 670.440529l0 17.613058 0 36.791056c0 33.410348 29.57295 60.594317 65.906116 60.594317 36.352353 0 65.907115-27.183969 65.907115-60.594317l0-36.791056 0-17.621053 16.672696-8.712493c32.358061-16.929922 57.169039-42.663874 71.406386-73.213161L358.043239 588.50688c14.240345 30.555683 39.051523 56.281241 71.408385 73.213161L446.091342 670.440529zM874.489888-17.436289999999985L149.505227-17.436289999999985 149.505227 709.694715 413.138884 709.694715l0-21.641327c-51.44492-26.923746-88.727643-74.124144-98.86377-129.845165l395.44289 0c-10.102151 55.730615-47.40466 102.921419-98.859773 129.845165l0 21.641327 263.631658 0L874.489888-17.436289999999985z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="cart" unicode="&#58967;"
+                   d="M365.920994 84.618469c-39.030945 0-70.78516-31.754215-70.78516-70.78516s31.754215-70.784136 70.78516-70.784136c39.030945 0 70.784136 31.753191 70.784136 70.784136S404.951939 84.618469 365.920994 84.618469zM365.920994-5.784493999999995c-10.818393 0-19.61985 8.801457-19.61985 19.618826 0 10.818393 8.801457 19.61985 19.61985 19.61985s19.618826-8.801457 19.618826-19.61985C385.540843 3.015939000000003 376.739387-5.784493999999995 365.920994-5.784493999999995zM808.821219 84.618469c-39.030945 0-70.784136-31.754215-70.784136-70.78516s31.753191-70.784136 70.784136-70.784136 70.78516 31.753191 70.78516 70.784136S847.852164 84.618469 808.821219 84.618469zM808.821219-5.784493999999995c-10.81737 0-19.618826 8.801457-19.618826 19.618826 0 10.818393 8.801457 19.61985 19.618826 19.61985 10.818393 0 19.61985-8.801457 19.61985-19.61985C828.441069 3.015939000000003 819.640636-5.784493999999995 808.821219-5.784493999999995zM443.99107 305.940157c-14.057157-1.416256-24.305569-13.959943-22.890336-28.0171 1.328251-13.187347 12.446473-23.02132 25.423019-23.02132 0.856507 0 1.723248 0.042979 2.594081 0.130983l439.314561 44.245713c0.088004 0.007163 0.174985 0.01842 0.261966 0.026606l0.180102 0.01842c0.50449 0.051165 1.001817 0.119727 1.496074 0.198521 0.222057 0.035816 0.443092 0.076748 0.663102 0.11768 0.552585 0.103354 1.100054 0.217964 1.638313 0.355087 0.085958 0.022513 0.169869 0.047072 0.254803 0.069585 0.586354 0.156566 1.161453 0.334621 1.728364 0.530073 0.077771 0.026606 0.155543 0.051165 0.233314 0.078795 0.626263 0.222057 1.239224 0.469698 1.840928 0.737804 0.039909 0.017396 0.078795 0.035816 0.118704 0.054235 1.277086 0.577145 2.496867 1.252527 3.647063 2.020006 0.001023 0.001023 0.002047 0.001023 0.00307 0.002047 0.553609 0.369414 1.088798 0.76134 1.609661 1.170662 0.069585 0.054235 0.137123 0.10847 0.205685 0.163729 0.48607 0.38988 0.958838 0.795109 1.413186 1.218758 0.092098 0.084934 0.180102 0.173962 0.270153 0.25992 0.394996 0.378623 0.778736 0.76748 1.14815 1.169639 0.11154 0.121773 0.222057 0.243547 0.331551 0.367367 0.333598 0.3776 0.653893 0.766456 0.964978 1.163499 0.12382 0.158612 0.249687 0.314155 0.370437 0.475837 0.322341 0.432859 0.629333 0.876973 0.925069 1.329275 0.113587 0.173962 0.224104 0.348947 0.333598 0.525979 0.296759 0.479931 0.580215 0.968048 0.845251 1.467421 0.069585 0.130983 0.134053 0.265036 0.201591 0.397043 0.289596 0.568958 0.563842 1.147126 0.811482 1.738597 0.00307 0.007163 0.005117 0.014326 0.008186 0.021489 0.569982 1.369184 1.019213 2.796696 1.345648 4.26514 0 0.001023 0 0.002047 0.001023 0.00307l0.00307 0.013303c0.035816 0.162706 0.075725 0.323365 0.10847 0.487094l56.17951 252.734118c0.895393 4.030803 0.780783 8.04728-0.165776 11.794627 0.50449 2.003634 0.774643 4.101411 0.774643 6.261611 0 14.128789-11.452843 25.582655-25.582655 25.582655L195.47502 616.098125l-52.358485 159.553902c-3.631714 11.067057-14.093996 17.972327-25.177426 17.590634-0.207731 0.005117-0.413416 0.01535-0.62217 0.01535L54.663994 793.258011c-14.128789 0-25.582655-11.453866-25.582655-25.582655s11.453866-25.582655 25.582655-25.582655l45.614897 0 197.955514-603.235934c3.536546-10.776438 13.546527-17.613146 24.303522-17.613146 2.067079 0 4.16281 0.26299 6.245238 0.788969l567.583946 0c14.129812 0 25.582655 11.453866 25.582655 25.582655s-11.452843 25.582655-25.582655 25.582655L340.816223 173.1979 212.265428 564.933839l701.224666 0-48.137347-216.557174L443.99107 305.940157z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="camera-fill" unicode="&#58973;"
+                   d="M512 480C436.515555 480 375.111111 419.712 375.111111 345.6 375.111111 271.48800000000006 436.515555 211.20000000000005 512 211.20000000000005 587.484446 211.20000000000005 648.888887 271.48800000000006 648.888887 345.6 648.888887 419.712 587.484446 480 512 480M512 172.79999999999995C414.808889 172.79999999999995 336 250.15679999999998 336 345.6 336 441.0432 414.808889 518.4 512 518.4 609.210667 518.4 688 441.0432 688 345.6 688 250.15679999999998 609.210667 172.79999999999995 512 172.79999999999995M903.111113 691.2L723.767113 691.2C713.383113 691.2 703.448887 695.2512 696.115554 702.4512L640.792887 756.7488C633.459554 763.9488 623.505779 768 613.141333 768L512 768 410.878222 768C400.494222 768 390.56 763.9488 383.226667 756.7488L327.904 702.4512C320.570667 695.2512 310.616889 691.2 300.252445 691.2L120.888889 691.2C77.866667 691.2 42.666667 656.64 42.666667 614.4L42.666667 76.79999999999995C42.666667 34.559999999999945 77.866667 0 120.888889 0L903.111113 0C946.133333 0 981.333333 34.559999999999945 981.333333 76.79999999999995L981.333333 614.4C981.333333 656.64 946.133333 691.2 903.111113 691.2"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="tabs" unicode="&#58922;"
+                   d="M310.30303 523.636364L124.121212 523.636364c-17.128727 0-31.030303-13.901576-31.030303-31.030303l0-186.181818c0-17.128727 13.901576-31.030303 31.030303-31.030303l186.181818 0c17.128727 0 31.030303 13.901576 31.030303 31.030303L341.333333 492.606061C341.333333 509.734788 327.431758 523.636364 310.30303 523.636364zM294.787879 306.42424200000005L139.636364 306.42424200000005c-17.128727 0-15.515152-1.613576-15.515152 15.515152L124.121212 477.090909c0 17.128727-1.613576 15.515152 15.515152 15.515152l155.151515 0c17.128727 0 15.515152 1.613576 15.515152-15.515152l0-155.151515C310.30303 304.81066699999997 311.916606 306.42424200000005 294.787879 306.42424200000005zM418.909091 352.969697l480.969697 0 0 31.030303L418.909091 384 418.909091 352.969697zM418.909091 228.84848499999998l480.969697 0 0 31.030303L418.909091 259.878788 418.909091 228.84848499999998zM418.909091 89.21212100000002l480.969697 0 0 31.030303L418.909091 120.24242400000003 418.909091 89.21212100000002zM418.909091 492.606061l480.969697 0 0 31.030303L418.909091 523.636364 418.909091 492.606061zM992.969697 725.333333l-15.515152 0L977.454545 849.454545c0 17.128727-13.901576 31.030303-31.030303 31.030303L775.757576 880.484848c-17.128727 0-31.030303-13.901576-31.030303-31.030303l0-124.121212-139.636364 0L605.090909 849.454545c0 17.128727-13.901576 31.030303-31.030303 31.030303L403.393939 880.484848c-17.128727 0-31.030303-13.901576-31.030303-31.030303l0-124.121212-124.121212 0L248.242424 849.454545c0 17.128727-13.901576 31.030303-31.030303 31.030303L31.030303 880.484848C13.901576 880.484848 0 866.583273 0 849.454545l0-946.424242c0-17.128727 13.901576-31.030303 31.030303-31.030303l961.939394 0c17.128727 0 31.030303 13.901576 31.030303 31.030303L1024 694.30303C1024 711.431758 1010.098424 725.333333 992.969697 725.333333zM992.969697-65.939394c0-17.128727-13.901576-31.030303-31.030303-31.030303L62.060606-96.969697c-17.128727 0-31.030303 13.901576-31.030303 31.030303L31.030303 818.424242c0 17.128727 13.901576 31.030303 31.030303 31.030303l124.121212 0c17.128727 0 31.030303-13.901576 31.030303-31.030303l0-124.121212 744.727273 0c17.128727 0 31.030303-13.901576 31.030303-31.030303L992.969697-65.939394z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="fonts-code" unicode="&#58958;"
+                   d="M270 626c-12 12-32 12-44 0L9 409c-12-12-12-32 0-44l217-217c6-6 14-9 22-9s16 3 22 9c12 12 12 32 0 44L75 387 270 582C282 595 282 614 270 626zM1015 409L798 626c-12 12-32 12-44 0-12-12-12-32 0-44l195-195L754 192c-12-12-12-32 0-44 6-6 14-9 22-9s16 3 22 9l217 217C1027 377 1027 397 1015 409zM624 696L624 696c-16 6-34-3-40-19L382 119c-6-16 2-34 19-40l0 0c16-6 34 3 40 19l202 558C648 672 640 690 624 696z"
+                   horiz-adv-x="1025"/>
+
+
+            <glyph glyph-name="fire" unicode="&#59222;"
+                   d="M890.059904 352.19948999999997C845.890699 458.956706 840.554889 548.4951550000001 857.396326 618.42714 859.144623 625.686731 860.991676 631.9776790000001 862.858846 637.425182 863.763607 640.064841 865.906573 645.659889 866.16406 646.532651L880.890349 696.448108 833.062903 675.9309969999999C832.106692 675.5208 830.618069 674.894716 827.426684 673.550492 824.667648 672.380966 822.310677 671.354022 819.868514 670.244809 813.291441 667.2575449999999 807.049466 664.090938 800.697749 660.4128450000001 784.089623 650.795565 768.486253 638.656896 753.86285 623.033596 727.630498 595.007563 706.526618 557.766355 691.78157 509.713231 675.041103 455.157161 671.516484 411.46006 673.004574 347.939834 673.477918 327.73476900000003 673.463923 322.197583 672.83965 318.324215 673.779618 324.156339 684.455526 333.67819899999995 696.104608 329.19567600000005 693.056849 330.36844199999996 685.695898 339.012828 676.314007 361.368339 660.550914 398.92921 646.834249 460.170272 636.817284 549.350468 625.445924 650.588768 630.103925 734.7280519999999 644.646978 801.338628 647.677924 815.221065 650.899934 827.082435 654.086773 836.904609 655.91465 842.538316 657.254607 846.094657 657.880284 847.554385L678.645286 896 628.243642 880.578031C617.409833 877.263087 599.94569 869.52239 578.105438 855.845223 542.547644 833.577626 507.199569 802.385036 474.400401 760.836776 447.596676 726.883228 423.611383 687.30061 403.118547 641.7016189999999 378.907516 587.829195 363.003277 542.798944 353.158029 503.238462 349.274261 487.632585 346.433259 473.323627 344.1945 458.925156 343.334411 453.39353 342.592734 448.063234 341.804612 441.911844 341.502524 439.553997 340.356619 430.329551 340.073506 428.145504 337.596047 409.033293 335.848224 404.35337 329.235273 398.312868 336.081933 404.566848 343.232634 404.098227 346.608002 402.086756 344.852318 403.133013 341.598345 406.493651 337.991853 411.887149 327.030897 428.279226 317.980358 454.883162 313.690598 489.339595 311.250185 508.941598 310.203772 539.08627 310.370048 576.545325 310.480474 601.422138 311.113088 628.122479 312.099068 654.977888 312.481453 665.393013 312.891081 675.105466 313.30045 683.8491750000001 313.545346 689.079919 313.735044 692.813105 313.84201 694.783403L317.55517 763.179488 271.360516 712.604139C270.467691 711.626645 268.852992 709.837042 266.618705 707.326295 262.927895 703.178805 258.823678 698.493751 254.407949 693.3614689999999 241.78797 678.693606 229.164348 663.340425 217.341267 648.004036 211.724185 640.717803 206.411389 633.591345 201.450577 626.6638379999999 176.017063 591.147305 156.617347 555.4025280000001 138.122768 512.155497 90.841957 401.595812 76.97672 299.64870599999995 99.261816 188.13489300000003 126.80821 50.29373899999996 188.553235-37.64422200000001 278.8297-84.690336 344.19104-118.75233700000001 408.837235-128 507.940695-128 525.713007-128 557.977207-125.567138 590.857378-120.46215900000004 641.152493-112.65333099999998 687.496192-99.78932299999997 726.063273-80.59104400000001 738.155853-74.57148800000004 743.07901-59.88870199999997 737.059454-47.79612199999997 731.039898-35.70354299999997 716.357111-30.780384000000026 704.264531-36.79993999999999 670.855859-53.43041900000003 629.092954-65.02289699999994 583.352478-72.12456999999995 552.984316-76.83953499999996 523.228215-79.08327499999996 507.940695-79.08327499999996 416.16215-79.08327499999996 357.934257-70.75375399999996 301.436271-41.310745999999995 224.830174-1.3887230000000272 171.977796 73.88423 147.230072 197.72094500000003 126.99711 298.965952 139.514783 391.004811 183.099329 492.921284 200.282663 533.1021499999999 218.020237 565.784358 241.22153 598.183718 245.831691 604.6215589999999 250.802959 611.289899 256.082244 618.137961 267.31885 632.713596 279.402035 647.409487 291.488864 661.457681 298.732051 669.8762429999999 304.338773 676.1767130000001 307.478705 679.614406L264.997214 697.435142C264.883874 695.347445 264.688038 691.493511 264.43725 686.13688 264.020474 677.234965 263.603959 667.359281 263.215279 656.7726250000001 262.21142 629.430212 261.566827 602.224414 261.453805 576.7624579999999 261.278897 537.3588179999999 262.385015 505.49418 265.148621 483.296209 276.058157 395.668083 322.627019 326.024497 362.226031 362.19561799999997 379.341732 377.829698 384.756649 392.328523 388.584361 421.857186 397.932742 493.974714 407.332926 531.746825 447.736538 621.64966 466.587287 663.594818 488.484326 699.731218 512.795234 730.526996 542.034492 767.565749 573.156162 795.028785 604.068111 814.386984 614.696751 821.043029 624.472062 826.201428 633.124687 830.036563 638.02329 832.207788 641.258688 833.404991 642.556233 833.802016L612.91959 866.825663C608.658554 856.884484 602.686705 838.478616 596.856038 811.772799 581.186705 740.003594 576.231674 650.498985 588.206246 543.890345 607.295279 373.94226100000003 638.819345 298.82556999999997 678.537329 283.542234 701.302332 274.78234499999996 717.731637 289.43566899999996 721.133156 310.5407 722.475759 318.870999 722.489387 324.26340300000004 721.907881 349.08549100000005 720.532565 407.791853 723.691247 446.952173 738.546223 495.36355 751.151827 536.44438 768.544047 567.135763 789.576147 589.605967 809.230566 610.60429 821.725461 617.839716 852.347733 630.9761169999999L842.705318 653.453557 819.246577 660.374464C822.235501 670.505564 813.450321 644.87463 809.839253 629.8801189999999 790.647573 550.1890470000001 796.611315 450.1135 844.8591 333.498332 883.105728 241.056017 874.587669 126.06492400000002 824.002925 61.39712899999995 815.680378 50.75754500000005 817.558709 35.38570000000004 828.198295 27.063153000000057 838.837879 18.740607999999952 854.209724 20.618939999999952 862.532269 31.258523999999966 924.762731 110.81426299999998 934.658528 244.404363 890.059904 352.19948999999997Z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="set" unicode="&#59158;"
+                   d="M466.496-126.62400000000002l-1.056 0.064c-25.184 2.08-47.456 22.368-51.744 47.232l-17.344 102.4c-0.672 4.064-6.624 11.04-10.56 12.416l-30.336 12.416c-5.44 2.496-15.424 0.8-17.472-0.64l-84.992-60.16c-19.584-14.016-51.456-12.736-70.08 3.168l-64.288 64c-17.952 20.48-19.488 50.592-4.736 71.296l60.416 84.672c2.176 3.072 2.784 11.52 1.024 15.04l0 0c0 0-1.664 3.104-7.264 16.608-6.176 14.848-6.816 17.44-6.816 17.44-0.992 3.04-7.456 8.672-11.36 9.376l-102.56 17.248c-25.152 4.288-45.44 26.624-47.168 52L0 428.288c2.112 27.36 22.496 49.6 47.52 53.728l102.528 17.344c4.128 0.672 11.008 6.56 12.416 10.496l12.608 30.336c2.368 4.992 1.6 14.112-0.8 17.504L113.984 642.24C99.36 662.88 100.704 692.896 117.056 712.192l64.416 64.224c20.672 18.208 51.296 18.784 71.36 4.64l84.992-60.16c1.952-1.376 13.28-2.016 15.04-1.056 0.384 0.192 2.528 1.344 16.704 7.168 14.24 5.92 16.576 6.592 16.576 6.592 3.84 1.184 9.504 7.648 10.144 11.424l17.44 102.4c4.32 25.152 26.752 45.376 52.128 47.104l90.528 0.064c27.328-2.112 49.632-22.368 53.952-47.232l17.344-102.432c0.672-4.064 6.656-11.04 10.624-12.48l30.304-12.352c6.24-2.784 15.456-0.8 17.44 0.608l85.024 60.16c19.52 14.016 51.392 12.704 70.08-3.136l64.288-64.032c17.952-20.48 19.456-50.56 4.736-71.264l-60.416-84.672c-2.208-3.136-2.848-11.616-1.056-15.04 0.16-0.352 1.376-2.56 7.232-16.672 5.856-14.112 6.592-16.512 6.592-16.512 1.248-4.032 7.712-9.6 11.648-10.304l102.56-17.248c25.152-4.224 45.44-26.592 47.168-52l0.096-90.304c-2.112-27.392-22.528-49.6-47.552-53.728l-102.528-17.376c-4.128-0.672-10.944-6.496-12.32-10.432l-12.736-30.432c-2.336-4.928-1.568-14.112 0.832-17.472l60.288-84.512c14.624-20.736 13.216-50.816-3.232-70.048l-64.192-64.096c-11.328-9.92-24.64-14.72-38.784-14.72l0 0c-11.904 0-23.52 3.552-32.704 10.016l-84.992 60.16c-1.952 1.408-13.312 2.016-15.072 1.056-0.288-0.16-2.432-1.312-16.608-7.2-14.08-5.792-16.384-6.496-16.384-6.496-4.16-1.28-9.792-7.776-10.432-11.52l-17.408-102.4c-4.352-25.152-26.72-45.344-52.032-47.104L466.496-126.62400000000002zM347.84 100.60799999999995c10.368 0 20.192-2.112 28.48-6.112l27.648-11.296c20.416-7.072 38.976-28.992 42.848-51.584l17.344-102.336c0.288-1.6 3.136-4.32 5.056-4.832l87.296 0.064c-0.032 0.064 3.04 2.944 3.328 4.672l17.408 102.368c3.872 22.656 23.328 44.832 45.28 51.584 0 0 0 0 0 0-0.096 0 2.976 1.152 12.448 5.056 9.472 3.936 12.384 5.248 13.12 5.568 18.208 9.6 49.44 8.032 67.776-4.96l84.928-60.16c0.192-0.128 1.312-0.64 3.104-0.64l0 0c2.048 0 3.52 0.672 3.872 0.96l61.536 61.408 0 0c-0.16 0 0.064 4.416-0.992 5.952l-60.224 84.448c-13.248 18.624-15.68 47.168-5.792 67.872l11.648 27.84c6.944 19.968 29.408 38.912 51.68 42.496l102.464 17.376c1.824 0.384 4.736 3.648 4.864 5.408L972.8 428.288l0 0c-0.096 0-2.88 3.072-4.576 3.424l-102.72 17.28c-23.168 4.032-44.896 22.976-51.776 45.056l0 0c-0.032 0-1.216 3.04-5.12 12.512-3.968 9.568-5.28 12.512-5.632 13.248-10.24 19.36-8.288 48.736 4.96 67.456L868.448 672c0.96 1.408 0.736 5.6-0.384 6.912l-61.408 61.184c0.704-0.8-0.768-0.192-2.848-0.192-1.728 0-2.784-0.416-3.008-0.576l-85.024-60.16c-17.824-12.8-47.776-15.36-68-5.664l-27.712 11.296c-20.512 7.2-39.04 29.088-42.88 51.584l-17.344 102.336c-0.288 1.76-3.616 4.704-5.504 4.864L467.616 843.52c0-0.064-3.104-2.944-3.392-4.672l-17.408-102.336c-3.84-22.624-23.264-44.8-45.216-51.584 0-0.032-3.008-1.184-12.416-5.088-9.568-3.936-12.512-5.248-13.248-5.568-17.984-9.568-49.344-8.032-67.744 4.992L223.264 739.36c-0.416 0.32-6.176 0.288-6.848-0.224L154.688 677.6320000000001c0 0 0 0 0 0 0.224 0 0.032-4.384 1.056-5.856L216 587.264c13.312-18.752 15.744-47.296 5.76-67.968l-11.52-27.648c-6.976-20.032-29.472-38.944-51.776-42.624L55.968 431.68c-1.824-0.384-4.704-3.648-4.832-5.408l0.096-86.56 0 0c0.096 0 2.912-3.104 4.608-3.424l102.656-17.28c23.04-4 44.704-22.912 51.712-44.928 0.256-0.736 1.44-3.84 5.088-12.64 3.68-8.832 5.024-11.84 5.472-12.736 10.592-20.288 8.672-48.96-4.672-67.904l-60.512-84.768c-0.96-1.408-0.736-5.632 0.384-6.912l61.408-61.184c-0.736 0.8 0.736 0.224 2.816 0.192 1.728 0 2.784 0.416 3.008 0.576l84.992 60.16C318.624 96.32000000000005 333.088 100.60799999999995 347.84 100.60799999999995zM512.032 133.856c-138.336 0-250.848 112.224-250.848 250.176 0 137.92 112.544 250.144 250.848 250.144s250.848-112.224 250.848-250.144C762.88 246.08000000000004 650.336 133.856 512.032 133.856zM512.032 583.136c-110.08 0-199.648-89.312-199.648-199.104s89.568-199.136 199.648-199.136 199.648 89.344 199.648 199.136S622.112 583.136 512.032 583.136z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="fonts-u" unicode="&#58950;"
+                   d="M0-49.23076900000001L945.230769-49.23076900000001 945.230769-128 0-128 0-49.23076900000001ZM0 896L407.076943 896 407.076943 834.065644 319.153861 827.872177 299.076923 809.911217 299.076923 365.841959C299.076923 281.19796199999996 317.076716 220.709337 353.076933 184.37435100000005 389.077071 148.03936499999998 448.153442 129.87210800000003 530.307702 129.87210800000003 606.000364 129.87210800000003 660.807522 149.17482299999995 694.730752 187.78072599999996 728.653982 226.38662899999997 745.61536 289.66226700000004 745.61536 377.60953099999995L745.61536 804.956475 724.153817 826.633531 633.461524 834.065644 633.461524 896 955.384596 896 955.384596 834.065644 868.846119 826.633531 849.461563 804.956475 849.461563 364.60331299999996C849.461563 246.92743900000005 819.923338 161.66533900000002 760.846178 108.81441500000005 701.76894 55.96348999999998 606.462188 29.53846199999998 474.923087 29.53846199999998 406.153531 29.53846199999998 345.807951 38.51886300000001 293.884613 56.47990200000004 241.961275 74.44093999999996 201.230887 100.143419 171.692347 133.58820400000002 149.076834 160.01362700000004 133.038474 190.25793999999996 123.57695 224.32200899999998 114.115348 258.386078 109.384625 307.21047599999997 109.384625 370.796702L109.384625 809.911217 89.307687 827.872177 0 834.065644 0 896Z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="triangle-d" unicode="&#58917;"
+                   d="M773.128299 88.65234199999998M889.696178 575.195553L158.862147 575.195553 524.357446 209.64704300000005 889.696178 575.195553Z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="tips" unicode="&#59138;"
+                   d="M967.280184 578.537671c-24.915459 58.887178-60.544935 111.76755-105.96745 157.161413-45.393863 45.393863-98.273211 81.051991-157.160389 105.96745-60.988026 25.803689-125.735679 38.853913-192.494129 38.853913-66.729797 0-131.504056-13.0799-192.494129-38.853913-58.887178-24.916483-111.766526-60.544935-157.160389-105.96745-45.393863-45.393863-81.051991-98.274234-105.96745-157.161413-25.803689-60.988026-38.884612-125.734656-38.884612-192.464453s13.0799-131.50508 38.884612-192.464453c24.915459-58.887178 60.544935-111.737874 105.96745-157.161413 45.393863-45.393863 98.273211-81.051991 157.160389-105.96745 60.988026-25.803689 125.735679-38.853913 192.494129-38.853913 66.729797 0 131.504056 13.0799 192.494129 38.853913 58.887178 24.916483 111.766526 60.544935 157.160389 105.96745 45.393863 45.393863 81.051991 98.274234 105.96745 157.161413 25.803689 60.988026 38.853913 125.734656 38.853913 192.464453S993.084896 517.549645 967.280184 578.537671zM511.687892-55.138552000000004c-243.302305 0-441.241446 197.909465-441.241446 441.21177S268.385587 827.284989 511.687892 827.284989c243.273652-0.029676 441.210747-197.938118 441.210747-441.21177S754.990197-55.138552000000004 511.687892-55.138552000000004zM511.657192 573.565427m-45.511543 0a44.475 44.475 0 1 1 91.023086 0 44.475 44.475 0 1 1-91.023086 0ZM542.729885 184.14011300000004c0-17.162892-13.906731-31.071669-31.070646-31.071669l0 0c-17.163915 0-31.070646 13.907755-31.070646 31.071669L480.588593 426.998303c0 17.162892 13.906731 31.071669 31.070646 31.071669l0 0c17.163915 0 31.070646-13.907755 31.070646-31.071669L542.729885 184.14011300000004z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="picture" unicode="&#58954;"
+                   d="M765.376 615.424c0 0 103.04 1.024 103.04-100.992 0 0 9.536-98.752-103.04-100.928 0 0-100.864-2.176-99.84 100.928C665.536 514.496 664.448 605.8879999999999 765.376 615.424ZM968.32 770.56c0 0 54.208-4.224 54.208-52.032l0-712.832c0 0-3.2-51.008-54.208-52.096L968.32 770.56ZM1.472 5.631999999999948c0 0 2.176-52.096 52.096-52.096L968.32-46.464000000000055l0 150.848-99.712 0-203.072 206.144-153.024-153.984L304.32 413.568l-205.056-307.072-45.632-1.024L52.48 718.4639999999999 1.472 718.4639999999999 1.472 5.631999999999948ZM968.32 770.56L53.568 770.56c0 0-52.096 1.088-52.096-52.032L968.32 718.528 968.32 770.56Z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="more-vertical" unicode="&#58993;"
+                   d="M511.998465 623.681848c40.525995 0 73.386404 35.771715 73.386404 79.892585s-32.860409 79.892585-73.386404 79.892585c-40.524972 0-73.384357-35.771715-73.384357-79.892585S471.47247 623.681848 511.998465 623.681848L511.998465 623.681848zM511.998465 463.893608c-40.524972 0-73.384357-35.772738-73.384357-79.893608 0-44.12087 32.859385-79.892585 73.384357-79.892585 40.525995 0 73.386404 35.772738 73.386404 79.892585C585.384869 428.12087 552.52446 463.893608 511.998465 463.893608L511.998465 463.893608zM511.998465 144.320199c-40.524972 0-73.384357-35.733852-73.384357-79.894631 0-44.119847 32.859385-79.893608 73.384357-79.893608 40.525995 0 73.386404 35.772738 73.386404 79.893608C585.383846 108.58634600000005 552.52446 144.320199 511.998465 144.320199L511.998465 144.320199z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="flag" unicode="&#58988;"
+                   d="M878.368178 798.272211c-11.363815 4.799306-24.470321 2.360767-33.31578-6.245238-0.36532-0.350994-37.162388-35.304064-95.163383-56.05262-75.462692-26.993794-150.763702-18.409279-223.812415 25.517163-38.347376 23.060205-81.875752 40.665165-129.376603 52.327786-37.582967 9.228175-77.742619 14.777565-119.363552 16.496719-70.805626 2.925632-121.493052-6.224772-123.615389-6.615675-14.56574-2.682086-25.140587-15.380292-25.140587-30.191626L128.58047-31.312913999999978c0-16.954137 13.745049-30.699186 30.699186-30.699186s30.699186 13.745049 30.699186 30.699186L189.978842 266.68306099999995c15.562441 5.250584 47.994084 14.447037 91.40171 17.48728 35.985586 2.51938 72.440869 0.378623 108.35073-6.363941 44.847417-8.420787 89.059362-24.102954 131.409912-46.611597 46.26879-24.591071 93.776803-41.069371 141.203976-48.977481 38.270629-6.380314 76.541257-7.219425 113.740484-2.491751 64.277956 8.16803 103.877859 30.461779 105.532545 31.406291 9.56689 5.464455 15.471366 15.637142 15.471366 26.656103L897.089565 769.958352C897.091612 782.298402 889.73711 793.470859 878.368178 798.272211zM835.69324 257.496841c-14.58416-5.755074-38.82526-13.530155-70.319555-17.225313-30.990828-3.635807-62.940494-2.676969-94.952582 2.851954-40.201607 6.943133-80.731696 21.171182-120.464629 42.289152-48.455595 25.753547-99.208513 43.61945-150.848637 53.101405-29.29214 5.378497-58.896388 8.079002-88.407516 8.079002-12.228509 0-24.443715-0.464581-36.609803-1.39272-34.879392-2.663666-63.618946-8.741082-84.111676-14.355963L189.978842 766.569162c19.971867 2.003634 50.446949 3.910053 86.392626 2.334161 58.186214-2.554172 143.250588-15.041578 218.064504-60.029188 61.32674-36.877909 119.196753-49.491181 169.691797-49.488111 42.293245 0.002047 79.416747 8.854669 109.019972 19.711947 24.269753 8.901741 45.327348 19.747763 62.544475 30.179346L835.692217 257.496841z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="loading" unicode="&#58941;"
+                   d="M511.999488 756.654348m-70.608128 0a69 69 0 1 1 141.216255 0 69 69 0 1 1-141.216255 0ZM236.047576 639.997442m-68.561515 0a67 67 0 1 1 137.123031 0 67 67 0 1 1-137.123031 0ZM125.530506 382.12428m-62.421678 0a61 61 0 1 1 124.843356 0 61 61 0 1 1-124.843356 0ZM227.861126 100.71507499999996m-54.235229 0a53 53 0 1 1 108.470457 0 53 53 0 1 1-108.470457 0ZM514.166851-16.84438799999998m-47.192835 0a46.118 46.118 0 1 1 94.385671 0 46.118 46.118 0 1 1-94.385671 0ZM804.730553 91.450061m-33.834596 0a33.064 33.064 0 1 1 67.669192 0 33.064 33.064 0 1 1-67.669192 0ZM935.55411 383.395226m-23.969924 0a23.424 23.424 0 1 1 47.939849 0 23.424 23.424 0 1 1-47.939849 0ZM856.723717 634.80007m-17.135262 0a16.745 16.745 0 1 1 34.270525 0 16.745 16.745 0 1 1-34.270525 0Z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="fonts-i" unicode="&#58948;"
+                   d="M897.948 834.255l0-64.322-128.65 0L447.674-1.9329999999999927l128.65 0 0-64.32L126.052-66.25300000000004l0 64.32 128.65 0 321.622 771.866-128.65 0L447.674 834.255 897.948 834.255z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="refresh-1" unicode="&#58982;"
+                   d="M688.146 736l-192 128v-256l192 128.001zM496.146 767.7090000000001c-231.174-8.416-416-198.479-416-431.709 0-238.587 193.413-432 432-432 233.23 0 423.293 184.826 431.709 416h-64.05c-8.377-195.817-169.778-352-367.658-352-203.241 0-368 164.759-368 368 0 197.88 156.183 359.282 352 367.658v64.051z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="rmb" unicode="&#58974;"
+                   d="M511.998465 896C229.23338 896 0.004605 666.769178 0.004605 384.001023c0-282.773272 229.227752-512.001023 511.99386-512.001023 282.769178 0 511.994883 229.227752 511.994883 512.001023C1023.994372 666.769178 794.767644 896 511.998465 896zM511.998465-91.59690499999999c-262.660188 0-475.589742 212.930577-475.589742 475.597929 0 262.663258 212.929554 475.594859 475.589742 475.594859 262.663258 0 475.590765-212.9316 475.590765-475.594859C987.590254 121.33469500000001 774.662747-91.59690499999999 511.998465-91.59690499999999zM738.742652 301.137781L544.432155 301.137781l0 69.780273 194.310497 0c17.835204 0 32.249495 14.43885 32.249495 32.220842 0 17.784038-14.414291 32.19526-32.249495 32.19526L589.7462 435.334155l149.620669 209.579249c8.916067 15.397688 3.63069 35.099403-11.82021 43.988864-15.398712 8.891508-35.097356 3.629667-44.017516-11.793604L512.187777 437.098335 340.84334 677.108664c-8.864902 15.423271-28.617781 20.685111-44.016493 11.793604-15.395642-8.889461-20.685111-28.590152-11.82021-43.988864l149.622716-209.579249L285.628808 435.334155c-17.781992 0-32.245402-14.411221-32.245402-32.19526 0-17.781992 14.46341-32.220842 32.245402-32.220842l194.310497 0 0-69.780273L285.628808 301.137781c-17.781992 0-32.245402-14.413268-32.245402-32.19526s14.46341-32.220842 32.245402-32.220842l194.310497 0 0-132.435265c0-17.780969 14.46341-32.19526 32.248472-32.19526 17.835204 0 32.245402 14.414291 32.245402 32.19526L544.433178 236.72065499999997l194.310497 0c17.835204 0 32.249495 14.43885 32.249495 32.220842S756.577856 301.137781 738.742652 301.137781"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="addition" unicode="&#58916;"
+                   d="M544 768L480 768 480 416 128 416 128 352 480 352 480 0 544 0 544 352 895.936 352 895.936 416 544 416Z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="home" unicode="&#59022;"
+                   d="M824.084343-40.42033900000001H232.898863c-74.604138 0-85.85232 28.334325-85.852321 49.997718l-0.584307 5.314029V447.645552h48.806589v-402.916582c0-25.547863 13.548574-36.343743 37.629015-36.343743h568.020898c25.928532 0 27.978215 6.220678 27.978215 37.84391V447.585177l48.806589 0.118704c0.022513-14.346753 0-382.76666 0-433.098999 0-38.130436-12.726859-54.765301-51.858088-54.765301l-1.76111-0.25992zM1012.470921 493.103884C849.773422 615.120868 687.101505 737.137853 524.404006 859.153814c-6.207375 4.659113-18.433838 4.659113-24.641213 0C337.077573 737.137853 174.393377 615.120868 11.696902 493.103884c-24.856108-18.635429-0.572028-61.044308 24.642236-42.13361A15995638.709915 15995638.709915 0 0 1 512.025071 807.737794c0.988514-0.715291 1.644453-1.144056 2.823302-2.037403 18.040888-13.524015 36.057217-27.036773 54.073546-40.560788 58.291614-43.718711 116.583229-87.437421 174.874843-131.143852 81.33647-61.008492 162.696476-122.015961 244.033969-183.024454 25.212218-18.911722 49.496298 23.497157 24.64019 42.132587z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="user" unicode="&#59248;"
+                   d="M611.2 342.4c70.4 54.4 115.2 140.8 115.2 230.4 0 156.8-128 288-284.8 288s-284.8-128-284.8-284.8c0-92.8 44.8-182.4 115.2-236.8C108.8 272 0 105.60000000000002 0-80c0-9.6 9.6-19.2 19.2-19.2h848c9.6 0 19.2 9.6 19.2 19.2 0 188.8-112 355.2-275.2 422.4z m-576-396.8C44.8 115.20000000000005 156.8 268.79999999999995 320 320c6.4 3.2 12.8 9.6 12.8 16s-3.2 16-9.6 19.2c-76.8 41.6-128 131.2-128 224 0 134.4 112 246.4 246.4 246.4s246.4-112 246.4-249.6c0-89.6-51.2-176-128-220.8-6.4-3.2-9.6-9.6-9.6-19.2 0-6.4 6.4-12.8 12.8-16 160-51.2 275.2-204.8 281.6-377.6H35.2zM812.8 361.6c54.4 41.6 86.4 108.8 86.4 176 0 89.6-54.4 172.8-134.4 208-9.6 3.2-22.4 0-25.6-9.6-3.2-9.6 0-22.4 9.6-25.6 67.2-28.8 112-99.2 112-172.8 0-67.2-38.4-131.2-96-163.2-6.4-3.2-9.6-9.6-9.6-19.2 0-6.4 6.4-12.8 12.8-16 131.2-41.6 217.6-160 217.6-297.6 0-9.6 9.6-19.2 19.2-19.2s19.2 9.6 19.2 19.2c-3.2 140.8-86.4 262.4-211.2 320z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="notice" unicode="&#58983;"
+                   d="M544 798.976V864h-64v-65.024C289.536 786.304 160 658.624 160 416v-288h64V416c0 192 115.456 320 288 320 180.544 0 288-128 288-320v-288h64V416c0 242.88-122.496 370.56-320 382.976zM672 64a160 160 0 1 0-320 0h64a96 96 0 0 1 192 0h64zM64 128h896v-64H64v64z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="login-weibo" unicode="&#58997;"
+                   d="M411.270737 288.350316c-17.973895 7.504842-41.189053-0.229053-52.264421-17.542737-11.223579-17.394526-5.955368-38.103579 11.870316-46.201263 18.108632-8.232421 42.132211-0.417684 53.342316 17.421474C435.253895 260.05557899999997 429.446737 280.62989500000003 411.270737 288.350316zM455.545263 306.64757899999995c-6.885053 2.721684-15.508211-0.579368-19.550316-7.329684-3.920842-6.790737-1.751579-14.524632 5.146947-17.367579 7.019789-2.883368 16.006737 0.458105 20.048842 7.370105C465.071158 296.259368 462.551579 304.087579 455.545263 306.64757899999995zM427.52 426.684632c-115.968-11.439158-203.924211-82.216421-196.378947-158.073263 7.531789-75.910737 107.654737-128.161684 223.649684-116.749474 115.994947 11.439158 203.924211 82.216421 196.392421 158.140632C643.664842 385.859368 543.541895 438.110316 427.52 426.684632zM529.300211 247.70021099999997c-23.673263-53.355789-91.769263-81.798737-149.530947-63.232-55.754105 17.933474-79.373474 72.811789-54.945684 122.246737 23.956211 48.464842 86.352842 75.870316 141.541053 61.561263C523.506526 353.562947 552.663579 299.85684200000003 529.300211 247.70021099999997zM512 896C229.241263 896 0 666.772211 0 384c0-282.758737 229.241263-512 512-512 282.772211 0 512 229.241263 512 512C1024 666.772211 794.772211 896 512 896zM455.531789 101.02568399999996c-145.354105 0-293.941895 70.197895-293.941895 185.667368 0 60.362105 38.386526 130.182737 104.474947 196.069053 88.252632 87.929263 191.164632 127.986526 229.874526 89.397895 17.084632-17.003789 18.741895-46.457263 7.760842-81.623579-5.726316-17.690947 16.666947-7.895579 16.666947-7.936 71.343158 29.763368 133.564632 31.514947 156.321684-0.862316 12.139789-17.246316 10.954105-41.472-0.215579-69.510737-5.173895-12.921263 1.589895-14.928842 11.466105-17.879579 40.178526-12.422737 84.924632-42.455579 84.924632-95.380211C772.837053 211.36168399999997 646.090105 101.02568399999996 455.531789 101.02568399999996zM718.672842 468.197053c4.715789 14.457263 1.765053 30.962526-9.202526 43.061895-10.954105 12.072421-27.136 16.666947-42.037895 13.527579l0 0.026947c-12.463158-2.694737-24.724211 5.268211-27.392 17.664-2.667789 12.463158 5.281684 24.697263 17.744842 27.338105 30.531368 6.467368 63.595789-2.937263 85.989053-27.715368 22.447158-24.764632 28.456421-58.489263 18.849684-88.064-3.907368-12.099368-16.936421-18.728421-29.062737-14.848-12.139789 3.920842-18.782316 16.922947-14.874947 28.995368L718.672842 468.183579zM853.261474 424.865684c-0.013474-0.013474-0.013474-0.080842-0.013474-0.107789-4.567579-14.026105-19.712-21.706105-33.778526-17.165474-14.133895 4.554105-21.854316 19.590737-17.300211 33.670737l0 0.013474c13.999158 43.169684 5.12 92.429474-27.567158 128.565895-32.714105 36.122947-80.949895 49.92-125.507368 40.488421-14.484211-3.085474-28.752842 6.130526-31.838316 20.574316-3.098947 14.403368 6.144 28.631579 20.641684 31.717053l0.026947 0c62.625684 13.271579 130.519579-6.117053 176.545684-56.966737C860.483368 554.886737 872.892632 485.618526 853.261474 424.865684z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="voice" unicode="&#59016;"
+                   d="M463.380164 644.0568969999999v-0.003069c-4.550643 4.549619-10.484795 7.02295-16.913205 7.02295s-12.365632-2.473331-16.915251-7.02295c-4.549619-4.551666-7.020904-10.485819-7.020904-16.914229s2.471284-12.365632 7.020904-16.915251c60.437487-60.438511 93.675496-140.756791 93.675496-226.222301 0-85.464487-33.238009-165.783791-93.675496-226.220255-4.549619-4.551666-7.020904-10.487865-7.020904-16.915252 0-6.429433 2.471284-12.365632 7.020904-16.914228 4.550643-4.549619 10.486842-7.02295 16.915251-7.02295s12.364609 2.473331 16.913205 7.02295c35.114752 35.116799 62.317301 76.06849 80.814584 121.668037 17.904789 44.018539 26.90579 90.608647 26.90579 138.384768s-9.101285 94.26799-26.90579 138.384767c-18.59552 45.697785-45.698808 86.550215-80.814584 121.667013zM781.892405 618.929614v-0.002047c-31.358195 77.452-77.550237 146.990772-137.098471 206.539007-4.550643 4.549619-10.485819 7.02295-16.915252 7.02295-6.42841 0-12.363585-2.473331-16.914228-7.02295-9.29776-9.299807-9.29776-24.531719 0-33.82948 54.997592-54.998615 97.631598-119.195729 126.613676-190.71153 27.993564-69.044516 42.237987-142.045133 42.237987-216.924541s-14.244422-147.882072-42.237987-216.923518c-28.982078-71.517847-71.616084-135.616724-126.613676-190.711529-9.29776-9.298783-9.29776-24.531719 0-33.82948 4.551666-4.551666 10.485819-7.02295 16.914228-7.02295 6.429433 0 12.366655 2.471284 16.915252 7.02295 59.547211 59.547211 105.740276 129.085984 137.098471 206.53696 30.369681 74.78117 45.699832 153.817248 45.699831 234.928591 0 81.111343-15.331173 160.146397-45.699831 234.927567zM299.474141 427.621497c-11.670807 11.573593-27.103288 18.004049-43.522236 18.004049-16.419971 0-31.852452-6.429433-43.52326-18.004049-11.57257-11.57257-18.003026-27.104311-18.003026-43.522236 0-16.420995 6.42841-31.851429 18.003026-43.52326 11.574616-11.57257 27.103288-18.003026 43.52326-18.003025s31.852452 6.429433 43.522236 18.003025c11.573593 11.573593 18.003026 27.104311 18.003025 43.52326 0 16.419971-6.427386 31.852452-18.003025 43.522236z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="upload-drag" unicode="&#59009;"
+                   d="M666.931 445.918l-124.245 99.362c-7.221 5.639-16.428 9.042-26.429 9.042-9.963 0-19.136-3.376-26.438-9.047l-124.215-99.391c-9.615-7.772-15.713-19.565-15.713-32.782 0-9.946 3.453-19.084 9.223-26.284 13.828-17.359 41.51-20.465 58.918-6.505l56.252 45.022v-261.12c0-23.177 18.842-41.984 41.95-41.984s41.95 18.842 41.95 41.984v261.12l56.286-45.056c17.545-13.892 45.09-10.718 58.914 6.554 5.754 7.137 9.236 16.316 9.236 26.308 0 13.211-6.086 24.999-15.609 32.716zM235.827 142.95000000000005c-85.026 0-152.542 31.71-188.655 89.839-36.113 58.095-34.406 134.724 4.335 195.174 37.342 58.334 102.366 92.023 178.995 94.549-19.866 130.492 42.667 202.377 84.753 235.008 90.112 69.871 234.257 79.053 335.565 21.367 58.982-33.587 94.037-85.675 100.454-146.978 113.937 18.978 177.562-33.826 206.814-69.905 63.317-78.131 71.27-204.39 18.91-300.203-46.524-85.06-130.389-127.317-229.82-116.497-18.739 2.116-32.222 18.978-30.174 37.683s19.285 32.017 37.683 30.174c96.7-10.718 143.258 46.353 162.406 81.408 39.014 71.373 33.826 167.868-12.049 224.495-38.673 47.684-100.352 60.518-178.483 37.069-2.94-0.916-6.319-1.443-9.822-1.443-18.851 0-34.133 15.282-34.133 34.133 0 1.495 0.096 2.969 0.283 4.414 8.549 68.506-31.114 106.53-65.93 126.362-77.346 44.066-191.522 37.035-259.925-15.974-58.266-45.193-75.947-117.18-51.132-208.179 0.761-2.688 1.198-5.775 1.198-8.963 0-18.851-15.282-34.133-34.133-34.133-1.481 0-2.94 0.094-4.371 0.277-70.759 8.822-128.991-13.535-159.677-61.424-24.61-38.434-26.146-86.46-3.823-122.368 27.716-44.578 86.05-64.375 164.147-55.637 1.132 0.133 2.443 0.209 3.772 0.209 18.853 0 34.138-15.284 34.138-34.138 0-17.525-13.205-31.965-30.208-33.914-14.153-1.653-27.874-2.404-41.118-2.404z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="login-qq" unicode="&#58998;"
+                   d="M512 896C229.227789 896 0 666.772211 0 384c0-282.745263 229.227789-512 512-512s512 229.254737 512 512C1024 666.772211 794.772211 896 512 896L512 896zM738.856421 258.93726300000003c0 0-16.208842-44.220632-45.945263-83.941053 0 0 53.126737-18.054737 48.64-64.983579 0 0 1.778526-52.345263-113.461895-48.734316 0 0-81.071158 6.319158-105.377684 40.609684l-21.423158 0c-24.306526-34.304-105.350737-40.609684-105.350737-40.609684-115.280842-3.610947-113.475368 48.734316-113.475368 48.734316-4.500211 46.928842 48.626526 64.983579 48.626526 64.983579-29.709474 39.720421-45.918316 83.941053-45.918316 83.941053-72.057263-116.439579-64.848842 16.249263-64.848842 16.249263 13.527579 78.524632 70.238316 129.967158 70.238316 129.967158-8.111158 71.316211 21.611789 83.941053 21.611789 83.941053C318.410105 709.712842 508.025263 705.859368 512 705.751579c3.988211 0.107789 193.576421 3.961263 199.828211-216.643368 0 0 29.709474-12.638316 21.611789-83.941053 0 0 56.737684-51.442526 70.238316-129.967158l0 0C803.678316 275.18652599999996 810.873263 142.49768400000005 738.856421 258.93726300000003L738.856421 258.93726300000003zM738.856421 258.93726300000003"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="snowflake" unicode="&#59057;"
+                   d="M480.695-64h63.725V59.291000000000054l68.854-68.242 44.945 44.546-113.798 112.79v180.02l177.271-102.44 41.67-155.652 60.725 16.284-25.398 94.872 85.259-49.266 31.87 55.246-84.726 48.961 94.497 25.343-16.495 61.622-156.068-41.855-176.934 102.245 177.667 102.667 155.513-41.709 16.274 60.793-94.78 25.418 85.255 49.264-31.869 55.247-84.733-48.965 25.326 94.594-61.557 16.51-41.817-156.206-176.948-102.251V644.461l113.849 113.951-44.459 44.496-69.392-69.454V832h-63.725v-97.935l-69.188 69.249-45.068-45.107 114.256-114.355V438.89l-156.557 90.469L283.45 684.39l-60.188-16.458 24.84-94.632-107.544 62.145-31.868-55.247 106.667-61.639-93.463-25.557 16.074-61.237 154.482 42.243 156.169-90.243-156.138-90.226-154.485 42.243-15.855-60.409 94.289-25.784-107.534-62.14 31.868-55.247 106.672 61.642-24.621-93.801 61.012-16.685 40.69 155.028 156.179 90.25v-180.455l-113.801-112.79 44.338-43.944 69.463 68.845V-64z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="file-b" unicode="&#58965;"
+                   d="M790.08 177.91999999999996l-138.112-119.232V177.91999999999996h138.112zM198.848 763.008h627.328v-516.16H617.088a34.56 34.56 0 0 1-34.816-34.432v-206.528H198.848V763.008z m662.208 68.8H164.032a34.56 34.56 0 0 1-34.816-34.432v-825.92a34.56 34.56 0 0 1 34.816-34.432h453.056l278.784 240.896V797.376a34.56 34.56 0 0 1-34.816 34.432z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="template" unicode="&#58979;"
+                   d="M734 172.89999999999998v82.8h-59.9v-37l-35.7-9.7 15.7-57.8zM674.1 419.3H734v-81.8h-59.9zM734 600.2l-95.6-26 15.7-57.8 20 5.4v-20.7H734zM866.1 131.29999999999995v-37l-35.7-9.7 7.9-28.9 7.8-28.9 79.9 21.7v82.8h-29.9zM740.9 60.299999999999955L651.4 36l7.9-28.9 7.8-29 89.5 24.4-7.8 28.9zM740.9 781.7l-89.5-24.3 7.9-28.9 7.8-28.9 89.5 24.3-7.8 28.9zM830.4 806l7.9-28.9 7.8-28.9 20 5.5v-20.8H926V832zM866.1 612.6v-120.3H926V612.6h-29.9zM866.1 371.9v-120.3H926V371.9h-29.9zM541.9 665.6l35.7 9.7-7.8 28.9-7.8 28.9-50-13.6L98 832v-783.5l384.1-104.3L512-64l29.9 8.1 35.7 9.7-7.8 28.9-7.8 28.9-20-5.4V120.79999999999995l35.7 9.7-15.7 57.8-20-5.4V486l35.7 9.7-15.7 57.8-20-5.4V665.6z m-59.8-659.4l-324.2 88.1V753.7l324.2-88.1V548l-192 52.2v-427.3l192-52.2v-114.5z m0 360.9V182.79999999999995l-132.2 35.9V521.8l132.2-35.9v-118.8z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="transfer" unicode="&#59025;"
+                   d="M320 768H128c-35.2 0-64-28.8-64-64v-640c0-35.2 28.8-64 64-64h192c35.2 0 64 28.8 64 64V704c0 35.2-28.8 64-64 64z m0-672c0-16-16-32-32-32H160c-16 0-32 16-32 32V672c0 16 16 32 32 32h128c16 0 32-16 32-32v-576z m256 544h-64c-19.2 0-32-12.8-32-32s16-32 32-32h64c19.2 0 32 12.8 32 32s-16 32-32 32z m-64-448h-64c-19.2 0-32-12.8-32-32s16-32 32-32h64c19.2 0 32 12.8 32 32s-16 32-32 32z m384 576H704c-35.2 0-64-28.8-64-64v-640c0-35.2 28.8-64 64-64h192c35.2 0 64 28.8 64 64V704c0 35.2-28.8 64-64 64z m0-672c0-16-16-32-32-32H736c-16 0-32 16-32 32V672c0 16 16 32 32 32h128c16 0 32-16 32-32v-576z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="auz" unicode="&#58994;"
+                   d="M324.266667 435.2c-17.066667 17.066667-39.822222 17.066667-51.2 0-17.066667-17.066667-17.066667-39.822222 0-51.2l153.6-159.288889c5.688889-5.688889 17.066667-11.377778 28.444444-11.377778s17.066667 5.688889 28.444445 11.377778l295.822222 290.133333c17.066667 17.066667 17.066667 39.822222 0 51.2-17.066667 17.066667-39.822222 17.066667-51.2 0L455.111111 304.355556 324.266667 435.2zM927.288889 753.777778L523.377778 896h-22.755556L96.711111 753.777778c-17.066667-5.688889-28.444444-17.066667-28.444444-34.133334v-432.355555c11.377778-250.311111 409.6-409.6 426.666666-415.288889h22.755556c17.066667 5.688889 415.288889 159.288889 426.666667 415.288889V719.644444c11.377778 17.066667 0 28.444444-17.066667 34.133334z m-45.511111-460.8c-5.688889-182.044444-301.511111-312.888889-369.777778-341.333334-113.777778 45.511111-358.4 182.044444-369.777778 341.333334v398.222222L512 822.044444l369.777778-125.155555v-403.911111z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="console" unicode="&#58981;"
+                   d="M30.552 104.72699999999998c4.654-16.29 23.272-23.272 37.236-18.618 16.291 4.655 23.273 23.273 18.618 37.236C16.588 314.182 84.08 521.31 237.68 640c11.636 9.31 23.273 16.29 37.236 25.6 25.6 16.29 53.528 30.255 83.782 39.564 58.182 20.945 118.691 30.254 176.873 27.927h25.6c6.982 0 11.636 0 18.618-2.327 30.255-4.655 58.182-11.637 88.436-23.273 235.055-86.11 356.073-346.764 269.964-581.818-4.654-16.291 2.327-32.582 18.618-37.237 16.291-4.654 32.582 2.328 37.237 18.619 41.89 116.363 39.563 239.709 0 349.09h2.327C921.897 656.2909999999999 738.043 784.2909999999999 537.897 793.6h-48.873c-200.145-9.31-384-137.31-458.472-337.455-39.564-109.381-41.891-232.727 0-351.418z m707.49 386.328a29.498 29.498 0 0 1-41.89 0L521.606 316.509c-4.654 2.327-9.309 2.327-13.963 2.327-32.582 0-58.182-25.6-58.182-58.181s25.6-58.182 58.182-58.182 58.181 25.6 58.181 58.182c0 4.654 0 9.309-2.327 16.29l174.546 174.546c11.636 11.636 11.636 30.254 0 39.564z m228.073-458.473H58.48c-16.29 0-30.255-13.964-30.255-30.255 0-16.29 13.964-30.254 30.255-30.254h907.636c16.291 0 30.255 13.963 30.255 30.254 0 16.291-13.964 30.255-30.255 30.255z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="app" unicode="&#58963;"
+                   d="M432.022 818.946h-376.324c-6.627 0-12.078-5.45-12.078-12.078v-376.324c0-6.627 5.45-12.078 12.078-12.078h376.324c6.627 0 12.078 5.45 12.078 12.078v376.473c0 6.627-5.45 11.93-12.078 11.93zM391.517 471.196h-295.169v295.169h295.021v-295.169zM976.847 635.717l-211.95 211.95c-8.837 8.837-23.124 8.837-31.963 0l-211.95-211.95c-8.837-8.837-8.837-23.124 0-31.963l211.95-212.098c8.837-8.837 23.124-8.837 31.963 0l211.95 211.95c8.837 8.987 8.837 23.271 0 32.109zM432.022 313.45000000000005h-376.324c-6.627 0-12.078-5.45-12.078-12.078v-376.324c0-6.627 5.45-12.078 12.078-12.078h376.324c6.627 0 12.078 5.45 12.078 12.078v376.473c0 6.627-5.45 11.93-12.078 11.93zM391.517-34.15499999999997h-295.169v295.021h295.021v-295.021zM932.511 313.45000000000005h-376.324c-6.627 0-12.078-5.45-12.078-12.078v-376.324c0-6.627 5.45-12.078 12.078-12.078h376.324c6.627 0 12.078 5.45 12.078 12.078v376.473c0 6.627-5.45 11.93-12.078 11.93zM891.859-34.15499999999997h-295.021v295.021h295.021v-295.021z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="prev" unicode="&#58970;"
+                   d="M62.573 384.103l423.401 423.662c18.985 18.985 49.757 18.985 68.727 0 18.982-18.972 18.985-49.746 0-68.729l-355.058-355.067 356.796-356.796c18.977-18.971 18.976-49.746 0-68.727-18.982-18.976-49.751-18.976-68.727 0l-39.753 39.753 0.269 0.246-385.655 385.661zM451.365 384.103l423.407 423.662c18.985 18.985 49.757 18.985 68.727 0 18.982-18.972 18.985-49.746 0-68.729l-355.058-355.067 356.796-356.796c18.977-18.971 18.976-49.746 0-68.727-18.982-18.976-49.757-18.977-68.727 0l-39.762 39.754 0.273 0.249-385.662 385.661zM451.365 384.103z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="website" unicode="&#59310;"
+                   d="M777.073418 147.443038c-30.460759 21.387342-40.83038 40.182278-76.47595 53.792405 25.275949 60.273418 40.182278 83.605063 42.126583 154.896203H887.898734c-3.888608-99.159494-45.367089-143.878481-110.825316-208.688608zM136.101266 356.13164600000005h167.210126c1.944304-71.291139 16.850633-94.622785 42.126583-154.896203-34.997468-13.610127-68.050633-31.756962-98.511393-53.792405C181.468354 212.25316499999997 139.989873 256.97215200000005 136.101266 356.13164600000005z m103.048101 259.888607c29.164557-23.979747 61.56962-42.774684 96.567089-57.681012-19.443038-53.792405-30.460759-90.734177-31.756962-152.951899H136.101266c3.240506 90.734177 46.663291 147.767089 103.048101 210.632911z m309.144304-209.98481V523.989873c47.311392 1.296203 71.291139 10.36962 114.065823 25.27595 18.146835-51.2 28.516456-84.901266 30.460759-143.23038H548.293671z m104.344304-195.078481c-40.182278 12.962025-60.273418 20.091139-104.344304 21.387342V356.13164600000005h144.526582c-1.944304-68.050633-16.202532-88.141772-40.182278-145.174684z m36.941772-57.681013c31.756962-12.313924 39.534177-28.516456 66.75443-47.311392-51.848101-44.718987-114.713924-73.883544-182.116455-84.901266 36.941772 37.589873 90.734177 82.308861 115.362025 132.212658z m-163.321519-137.397468l22.035443 165.913924c40.182278-1.296203 56.38481-7.777215 92.678481-18.794937-27.220253-56.38481-66.106329-106.288608-113.417722-147.118987h-1.296202z m-75.827848 5.18481c-67.402532 11.017722-130.268354 40.83038-182.764557 84.901266 27.868354 19.443038 57.681013 34.997468 88.789873 47.311392 23.331646-48.607595 55.088608-93.326582 93.974684-132.212658z m47.311392 335.068355v-123.787342c-44.070886-1.296203-64.162025-8.425316-104.344304-21.387342-23.979747 57.681013-38.237975 77.124051-40.182278 145.174684h144.526582zM383.675949 549.265823c42.774684-14.906329 66.75443-23.331646 114.065823-25.27595v-117.95443H353.21519c1.944304 58.329114 12.313924 92.03038 30.460759 143.23038z m-37.589873 57.032911c-31.756962 12.962025-60.921519 30.460759-88.141772 51.848101 53.792405 51.848101 115.362025 91.382278 192.486076 104.344304-44.718987-44.718987-80.364557-97.863291-104.344304-156.192405z m151.655696 161.377215v-193.782278c-44.070886 1.296203-64.162025 9.073418-103.696202 22.683544 29.164557 68.698734 49.903797 127.027848 102.4 171.098734h1.296202z m75.827848-4.536708c77.772152-13.610127 149.711392-49.903797 206.744304-104.344304-29.164557-22.035443-46.01519-37.589873-80.364557-51.848102-25.275949 59.625316-82.956962 112.76962-126.379747 156.192406z m-46.01519 4.536708c54.440506-46.01519 97.21519-104.992405 124.435443-171.098734-39.534177-13.610127-59.625316-21.387342-103.696202-22.683544l-22.035443 193.782278h1.296202z m-31.10886-751.149367c-46.663291 38.886076-62.865823 88.789873-91.382279 147.118988 36.293671 11.665823 53.144304 17.498734 93.326582 18.794936v-165.913924h-1.944303zM887.898734 406.035443h-145.174683c-1.296203 61.56962-12.313924 98.511392-31.756962 152.303798 37.589873 15.55443 57.032911 33.053165 88.789873 57.681012 56.38481-62.865823 84.901266-119.898734 88.141772-209.98481z m-375.898734 427.746835c-244.334177 0-442.005063-197.670886-442.005063-442.005063S267.665823-50.227847999999994 512-50.227847999999994s442.005063 197.670886 442.005063 442.005063S756.334177 833.782278 512 833.782278z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="next" unicode="&#58971;"
+                   d="M948.066926 382.958838l-411.990051-412.24426c-18.47333-18.47333-48.417689-18.47333-66.875207 0-18.47333 18.461167-18.47333 48.405526 0 66.875207L814.691135 383.088983 467.512212 730.269123c-18.466032 18.458735-18.466032 48.405526 0 66.873991 18.468465 18.464816 48.410391 18.464816 66.872774 0l38.682336-38.682336-0.261507-0.239614 375.259894-375.265975v0.003649m-378.312834 0L157.756743-29.28542200000004c-18.47333-18.47333-48.415256-18.47333-66.872775 0-18.47333 18.461167-18.47333 48.405526 0 66.875207L436.369787 383.088983 89.19208 730.269123c-18.4636 18.458735-18.4636 48.405526 0 66.873991 18.470898 18.464816 48.415256 18.464816 66.872774 0l38.692067-38.682336-0.266372-0.239614 375.267191-375.265975-0.004865 0.003649m0 0z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="component" unicode="&#59479;"
+                   d="M917.376 652.544L500.8 891.2a34.304 34.304 0 0 1-34.176 0L50.112 652.48a33.92 33.92 0 0 1-17.088-29.376v-477.44c0-12.16 6.528-23.296 17.088-29.44l416.512-238.72a35.136 35.136 0 0 1 34.176 0l416.576 238.72a33.92 33.92 0 0 1 17.088 29.44v477.44a33.92 33.92 0 0 1-17.088 29.44z m-51.264-487.36l-382.4-219.136-382.336 219.136V603.52l382.336 219.136 382.4-219.136v-438.272zM198.784 535.488a33.792 33.792 0 0 1 12.544-46.4l237.824-136.32V83.20000000000005c0-18.816 15.232-33.92 34.176-33.92a33.92 33.92 0 0 1 34.176 33.92V352.384l238.656 136.832a33.856 33.856 0 0 1 12.544 46.4 34.368 34.368 0 0 1-46.72 12.416L483.712 411.52 245.504 548.0319999999999a34.432 34.432 0 0 1-46.72-12.544z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="more" unicode="&#58975;"
+                   d="M224 288c-52.928 0-96 43.072-96 96s43.072 96 96 96 96-43.072 96-96-43.072-96-96-96z m288 0c-52.928 0-96 43.072-96 96s43.072 96 96 96 96-43.072 96-96-43.072-96-96-96z m288 0c-52.928 0-96 43.072-96 96s43.072 96 96 96 96-43.072 96-96-43.072-96-96-96z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="login-wechat" unicode="&#58999;"
+                   d="M516.464646 896C233.714646 896 4.464646 666.75 4.464646 384S233.714646-128 516.464646-128s512 229.25 512 512S799.214646 896 516.464646 896z m-74-523.375c-0.25-0.75-0.5-1.125-0.75-1.875-0.25-0.75-0.5-1.125-0.75-1.875-0.25-0.75-0.5-1.125-0.75-1.875-0.25-0.75-0.5-1.125-0.75-1.875-0.25-0.75-0.5-1.125-0.75-1.875-0.25-0.75-0.5-1.125-0.75-1.875-0.25-0.75-0.5-1.125-0.75-1.875-0.25-0.75-0.5-1.125-0.75-1.875-0.25-0.75-0.5-1.125-0.5-1.875-0.25-0.75-0.5-1.125-0.5-1.875-0.25-0.75-0.5-1.125-0.5-1.875-0.25-0.75-0.25-1.125-0.5-1.875s-0.5-1.125-0.5-1.875c-0.25-0.75-0.25-1.125-0.5-1.875s-0.25-1.125-0.5-1.875-0.25-1.125-0.5-1.875-0.25-1.125-0.5-1.875-0.25-1.125-0.5-1.875-0.25-1.125-0.5-1.875-0.25-1.125-0.5-1.875-0.25-1.125-0.5-1.875c0-0.75-0.25-1.125-0.25-1.875s-0.25-1.125-0.25-1.875-0.25-1.125-0.25-1.875-0.25-1.125-0.25-1.875-0.25-1.125-0.25-1.875-0.25-1.125-0.25-1.875-0.25-1.125-0.25-1.875-0.25-1.125-0.25-1.875-0.25-1.125-0.25-1.875 0-1.125-0.25-1.875c0-0.75-0.25-1.125-0.25-1.875s0-1.125-0.25-1.875c0-0.75 0-1.125-0.25-1.875 0-0.75 0-1.125-0.25-1.875v-22.5c0-0.75 0-1.125 0.25-1.875 0-0.75 0-1.125 0.25-1.875 0-0.75 0-1.125 0.25-1.875 0-0.75 0-1.125 0.25-1.875 0-0.75 0.25-1.125 0.25-1.875s0.25-1.125 0.25-1.875 0.25-1.125 0.25-1.875 0.25-1.125 0.25-1.875 0.25-1.125 0.25-1.875 0.25-1.125 0.25-1.875 0.25-1.125 0.25-1.875 0.25-1.125 0.25-1.875 0.25-1.125 0.25-1.875 0.25-1.125 0.5-1.875 0.25-1.125 0.5-1.875 0.25-1.125 0.5-1.875 0.25-1.125 0.5-1.875 0.25-1.125 0.5-1.875 0.25-1.125 0.5-1.875 0.25-1.125 0.5-1.875 0.25-1.125 0.5-1.875 0.25-1.125 0.5-1.875 0.25-1.125 0.5-1.875l0.25-0.875c-4.25-0.25-8.625-0.75-12.75-0.75-3.75-0.25-7.25-0.25-11-0.25-3.5 0-7 0-10.5 0.25-7.25 0.25-14 0.875-20.75 1.875-4.25 0.5-8.125 1.125-12.375 1.875-3.5 0.5-6.75 1.125-10.25 1.875-3 0.5-6.25 1.125-9.25 1.875-3 0.75-5.875 1.125-8.875 1.875-2.75 0.75-5.875 1.125-8.875 1.875-2.75 0.5-5.625 1.125-8.375 1.625l-3.25-1.625-3.75-1.875-4 1.375-3.75-1.875-3.75-1.875-3.75-1.875-3.75-1.875-3.75-1.875-3.75-1.875-3.75-1.875-3.75-1.875-2.75-1.375-3.75-1.875-3.75-1.875-3.75-1.875-3.75-1.875-3.75-1.875-3.75-1.875-3.75-1.875-3.75-1.875-3.75-1.875-3.75-1.875-3.75-1.875-3.75-1.875-2.5-1.375 0.5 1.375 0.75 1.875 0.75 1.875 0.75 1.875 0.75 1.875 0.75 1.875 0.75 1.875 0.75 1.875 0.75 1.875 0.75 1.875 0.75 1.875 0.75 1.875 0.75 1.875 0.75 1.875 0.75 1.875 0.75 1.875 0.75 1.875 0.75 1.875 0.75 1.875 0.75 1.875 0.75 1.875 0.75 1.875 0.75 1.875 0.75 1.875 0.75 1.875 0.75 1.875 0.75 1.875 0.75 1.875 0.75 1.875 0.75 1.875 0.75 1.875 0.75 1.875 0.75 1.875 0.75 1.875 0.75 1.875 0.75 1.875 0.75 1.875 0.75 1.875 0.75 1.875 0.75 1.875 0.75 1.875 0.75 1.875 0.5 1.125c-0.5 0.25-0.75 0.5-1.125 0.75-0.875 0.75-1.625 1.125-2.5 1.875s-1.625 1.125-2.5 1.875-1.625 1.125-2.5 1.875c-0.75 0.75-1.625 1.125-2.375 1.875-0.75 0.75-1.625 1.125-2.375 1.875-0.75 0.75-1.625 1.125-2.375 1.875-0.75 0.75-1.625 1.125-2.375 1.875-0.75 0.75-1.375 1.125-2.375 1.875-0.75 0.75-1.375 1.125-2.125 1.875-0.75 0.75-1.375 1.125-2.125 1.875-0.75 0.75-1.375 1.125-2.125 1.875-0.75 0.75-1.375 1.125-2.125 1.875-0.75 0.75-1.375 1.125-2.125 1.875-0.75 0.75-1.375 1.125-2.125 1.875-0.75 0.75-1.375 1.125-1.875 1.875-0.75 0.75-1.375 1.125-1.875 1.875l-1.875 1.875-1.875 1.875-1.875 1.875-1.875 1.875c-0.75 0.75-1.125 1.125-1.625 1.875s-1.125 1.125-1.625 1.875-1.125 1.125-1.625 1.875-1.125 1.125-1.625 1.875-1.125 1.125-1.625 1.875-1.125 1.125-1.625 1.875-0.875 1.125-1.625 1.875c-0.5 0.75-0.875 1.125-1.625 1.875-0.5 0.75-0.875 1.125-1.375 1.875-0.5 0.75-0.875 1.125-1.375 1.875-0.5 0.75-0.875 1.125-1.375 1.875-0.5 0.75-0.875 1.125-1.375 1.875-0.5 0.75-0.875 1.125-1.375 1.875-0.5 0.75-0.875 1.125-1.375 1.875-0.5 0.75-0.875 1.125-1.375 1.875-0.5 0.75-0.875 1.125-1.375 1.875-0.5 0.75-0.875 1.125-1.125 1.875-0.5 0.75-0.875 1.125-1.125 1.875-0.5 0.75-0.75 1.125-1.125 1.875-0.5 0.75-0.75 1.125-1.125 1.875-0.5 0.75-0.75 1.125-1.125 1.875-0.5 0.75-0.75 1.125-1.125 1.875-0.5 0.75-0.75 1.125-1.125 1.875-0.5 0.75-0.75 1.125-1.125 1.875-0.25 0.75-0.75 1.125-0.875 1.875-0.25 0.75-0.75 1.125-0.875 1.875-0.25 0.75-0.75 1.125-0.875 1.875-0.25 0.75-0.75 1.125-0.875 1.875-0.25 0.75-0.75 1.125-0.875 1.875-0.25 0.75-0.75 1.125-0.875 1.875-0.25 0.75-0.75 1.125-0.875 1.875-0.25 0.75-0.5 1.125-0.875 1.875-0.25 0.75-0.5 1.125-0.875 1.875-0.25 0.75-0.5 1.125-0.875 1.875-0.25 0.75-0.5 1.125-0.75 1.875-0.25 0.75-0.5 1.125-0.75 1.875-0.25 0.75-0.5 1.125-0.75 1.875-0.25 0.75-0.5 1.125-0.75 1.875-0.25 0.75-0.5 1.125-0.75 1.875-0.25 0.75-0.5 1.125-0.75 1.875-0.25 0.75-0.5 1.125-0.75 1.875-0.25 0.75-0.5 1.125-0.75 1.875-0.25 0.75-0.5 1.125-0.75 1.875-0.25 0.75-0.5 1.125-0.75 1.875-0.25 0.75-0.5 1.125-0.5 1.875-0.25 0.75-0.5 1.125-0.5 1.875-0.25 0.75-0.5 1.125-0.5 1.875-0.25 0.75-0.25 1.125-0.5 1.875s-0.25 1.125-0.5 1.875-0.25 1.125-0.5 1.875-0.25 1.125-0.5 1.875-0.25 1.125-0.5 1.875-0.25 1.125-0.5 1.875-0.25 1.125-0.5 1.875-0.25 1.125-0.5 1.875-0.25 1.125-0.25 1.875-0.25 1.125-0.25 1.875-0.25 1.125-0.25 1.875-0.25 1.125-0.25 1.875-0.25 1.125-0.25 1.875-0.25 1.125-0.25 1.875-0.25 1.125-0.25 1.875-0.25 1.125-0.25 1.875-0.25 1.125-0.25 1.875 0 1.125-0.25 1.875c0 0.75 0 1.125-0.25 1.875 0 0.75 0 1.125-0.25 1.875 0 0.75 0 1.125-0.25 1.875V457.25v1.875 1.875 1.875 1.875 1.875 0.875 0.875 1.875 1.875 1.875 1.875 1.875 1.875c0 0.75 0 1.125 0.25 1.875 0 0.75 0 1.125 0.25 1.875 0 0.75 0 1.125 0.25 1.875 0 0.75 0.25 1.125 0.25 1.875s0.25 1.125 0.25 1.875 0.25 1.125 0.25 1.875 0.25 1.125 0.25 1.875 0.25 1.125 0.25 1.875 0.25 1.125 0.25 1.875 0.25 1.125 0.25 1.875 0.25 1.125 0.25 1.875 0.25 1.125 0.25 1.875 0.25 1.125 0.5 1.875c0 0.75 0.25 1.125 0.5 1.875s0.25 1.125 0.5 1.875 0.25 1.125 0.5 1.875 0.25 1.125 0.5 1.875 0.25 1.125 0.5 1.875 0.25 1.125 0.5 1.875 0.25 1.125 0.5 1.875 0.25 1.125 0.5 1.875 0.25 1.125 0.5 1.875 0.25 1.125 0.5 1.875 0.5 1.125 0.5 1.875c0.25 0.75 0.5 1.125 0.5 1.875 0.25 0.75 0.5 1.125 0.5 1.875 0.25 0.75 0.5 1.125 0.75 1.875 0.25 0.75 0.5 1.125 0.75 1.875 0.25 0.75 0.5 1.125 0.75 1.875 0.25 0.75 0.5 1.125 0.75 1.875 0.25 0.75 0.5 1.125 0.75 1.875 0.25 0.75 0.5 1.125 0.75 1.875 0.25 0.75 0.5 1.125 0.75 1.875 0.25 0.75 0.5 1.125 0.75 1.875 0.25 0.75 0.5 1.125 0.75 1.875 0.25 0.75 0.5 1.125 0.75 1.875 0.25 0.75 0.5 1.125 0.75 1.875 0.25 0.75 0.5 1.125 0.875 1.875 0.25 0.75 0.5 1.125 0.875 1.875 0.25 0.75 0.5 1.125 0.875 1.875 0.25 0.75 0.75 1.125 0.875 1.875 0.25 0.75 0.75 1.125 0.875 1.875 0.25 0.75 0.75 1.125 0.875 1.875 0.25 0.75 0.75 1.125 0.875 1.875 0.25 0.75 0.75 1.125 0.875 1.875 0.25 0.75 0.75 1.125 0.875 1.875 0.25 0.75 0.75 1.125 1.125 1.875 0.5 0.75 0.75 1.125 1.125 1.875 0.5 0.75 0.75 1.125 1.125 1.875 0.5 0.75 0.75 1.125 1.125 1.875 0.5 0.75 0.75 1.125 1.125 1.875 0.5 0.75 0.75 1.125 1.125 1.875 0.5 0.75 0.75 1.125 1.125 1.875 0.5 0.75 0.875 1.125 1.125 1.875 0.5 0.75 0.875 1.125 1.125 1.875 0.5 0.75 0.875 1.125 1.125 1.875 0.5 0.75 0.875 1.125 1.375 1.875 0.5 0.75 0.875 1.125 1.375 1.875 0.5 0.75 0.875 1.125 1.375 1.875 0.5 0.75 0.875 1.125 1.375 1.875 0.5 0.75 0.875 1.125 1.375 1.875 0.5 0.75 0.875 1.125 1.375 1.875 0.5 0.75 0.875 1.125 1.375 1.875 0.5 0.75 0.875 1.125 1.625 1.875 0.5 0.75 0.875 1.125 1.625 1.875 0.5 0.75 1.125 1.125 1.625 1.875s1.125 1.125 1.625 1.875 1.125 1.125 1.625 1.875 1.125 1.125 1.625 1.875 1.125 1.125 1.625 1.875l1.875 1.875 1.875 1.875 1.875 1.875 1.875 1.875c0.75 0.75 1.375 1.125 1.875 1.875 0.75 0.75 1.375 1.125 2.125 1.875 0.75 0.75 1.375 1.125 2.125 1.875 0.75 0.75 1.375 1.125 2.125 1.875 0.75 0.75 1.375 1.125 2.125 1.875 0.75 0.75 1.375 1.125 2.125 1.875 0.75 0.75 1.375 1.125 2.375 1.875 0.75 0.75 1.625 1.125 2.375 1.875 0.75 0.75 1.625 1.125 2.375 1.875 0.75 0.75 1.625 1.125 2.375 1.875 0.875 0.75 1.625 1.125 2.5 1.875s1.625 1.125 2.5 1.875 1.875 1.125 2.5 1.875c0.875 0.75 1.875 1.125 2.75 1.875 0.875 0.75 1.875 1.125 2.75 1.875 0.875 0.75 1.875 1.125 2.75 1.875 0.875 0.75 1.875 1.125 3 1.875 0.875 0.75 2.125 1.125 3 1.875s2.125 1.125 3 1.875c1.125 0.75 2.125 1.125 3.25 1.875 1.125 0.75 2.375 1.125 3.25 1.875 1.125 0.75 2.375 1.125 3.5 1.875 1.125 0.75 2.375 1.125 3.75 1.875 1.125 0.75 2.5 1.125 3.75 1.875 1.375 0.75 2.5 1.125 4 1.875 1.375 0.75 2.75 1.125 4.25 1.875 1.375 0.75 2.75 1.125 4.25 1.875 1.375 0.75 3 1.125 4.375 1.875 1.625 0.75 3 1.125 4.625 1.875 1.625 0.75 3.25 1.125 4.875 1.875 1.875 0.75 3.5 1.125 5.375 1.875s3.75 1.125 5.625 1.875c2.125 0.75 4.25 1.125 6 1.875 2.375 0.75 4.375 1.125 6.75 1.875 2.5 0.75 4.875 1.125 7.5 1.875 2.75 0.75 5.625 1.125 8.625 1.875 3.5 0.75 6.75 1.125 10.25 1.875 4.375 0.75 8.875 1.375 13.25 1.875 11 1.125 22.125 1.875 33.25 1.875h2.5c11.125 0 22.375-0.75 33.5-1.875 4.375-0.5 8.875-1.125 13.25-1.875 3.5-0.5 7-1.125 10.25-1.875 2.75-0.5 5.875-1.125 8.625-1.875 2.5-0.5 5.125-1.125 7.625-1.875 2.375-0.5 4.625-1.125 6.75-1.875 2.125-0.5 4.25-1.125 6.25-1.875 1.875-0.75 4-1.125 5.875-1.875s3.75-1.125 5.375-1.875c1.625-0.75 3.5-1.125 5.125-1.875 1.625-0.75 3.25-1.125 4.875-1.875 1.625-0.75 3-1.125 4.625-1.875 1.375-0.75 3-1.125 4.375-1.875s2.75-1.125 4.25-1.875c1.375-0.75 2.75-1.125 4-1.875 1.375-0.75 2.5-1.125 3.75-1.875 1.125-0.75 2.5-1.125 3.75-1.875 1.125-0.75 2.375-1.125 3.5-1.875 1.125-0.75 2.375-1.125 3.5-1.875 1.125-0.75 2.375-1.125 3.25-1.875 1.125-0.75 2.125-1.125 3.25-1.875 1.125-0.75 2.125-1.125 3-1.875s2.125-1.125 3-1.875 1.875-1.125 3-1.875c0.875-0.75 1.875-1.125 2.75-1.875 0.875-0.75 1.875-1.125 2.75-1.875 0.875-0.75 1.875-1.125 2.75-1.875 0.875-0.75 1.875-1.125 2.5-1.875 0.875-0.75 1.625-1.125 2.5-1.875s1.625-1.125 2.5-1.875 1.625-1.125 2.375-1.875c0.75-0.75 1.625-1.125 2.375-1.875 0.75-0.75 1.625-1.125 2.375-1.875 0.75-0.75 1.375-1.125 2.375-1.875 0.75-0.75 1.375-1.125 2.375-1.875 0.75-0.75 1.375-1.125 2.125-1.875 0.75-0.75 1.375-1.125 2.125-1.875 0.75-0.75 1.375-1.125 2.125-1.875 0.75-0.75 1.375-1.125 2.125-1.875 0.75-0.75 1.375-1.125 1.875-1.875 0.75-0.75 1.375-1.125 1.875-1.875l1.875-1.875 1.875-1.875 1.875-1.875 1.875-1.875c0.75-0.75 1.125-1.125 1.625-1.875s1.125-1.125 1.625-1.875 1.125-1.125 1.625-1.875 1.125-1.125 1.625-1.875 1.125-1.125 1.625-1.875 0.875-1.125 1.625-1.875c0.5-0.75 0.875-1.125 1.625-1.875 0.5-0.75 0.875-1.125 1.375-1.875 0.5-0.75 0.875-1.125 1.375-1.875 0.5-0.75 0.875-1.125 1.375-1.875 0.5-0.75 0.875-1.125 1.375-1.875 0.5-0.75 0.875-1.125 1.375-1.875 0.5-0.75 0.875-1.125 1.375-1.875 0.5-0.75 0.875-1.125 1.375-1.875 0.5-0.75 0.875-1.125 1.125-1.875 0.5-0.75 0.875-1.125 1.125-1.875 0.5-0.75 0.875-1.125 1.125-1.875 0.5-0.75 0.75-1.125 1.125-1.875 0.5-0.75 0.75-1.125 1.125-1.875 0.5-0.75 0.75-1.125 1.125-1.875 0.5-0.75 0.75-1.125 1.125-1.875 0.5-0.75 0.75-1.125 1.125-1.875 0.5-0.75 0.75-1.125 1.125-1.875 0.5-0.75 0.75-1.125 0.875-1.875 0.25-0.75 0.75-1.125 0.875-1.875 0.25-0.75 0.75-1.125 0.875-1.875 0.25-0.75 0.75-1.125 0.875-1.875 0.25-0.75 0.75-1.125 0.875-1.875 0.25-0.75 0.75-1.125 0.875-1.875 0.25-0.75 0.75-1.125 0.875-1.875 0.25-0.75 0.75-1.125 0.875-1.875 0.25-0.75 0.5-1.125 0.875-1.875 0.25-0.75 0.5-1.125 0.875-1.875 0.25-0.75 0.5-1.125 0.75-1.875 0.25-0.75 0.5-1.125 0.75-1.875 0.25-0.75 0.5-1.125 0.75-1.875 0.25-0.75 0.5-1.125 0.75-1.875 0.25-0.75 0.5-1.125 0.75-1.875 0.25-0.75 0.5-1.125 0.75-1.875 0.25-0.75 0.5-1.125 0.75-1.875 0.25-0.75 0.5-1.125 0.75-1.875 0.25-0.75 0.5-1.125 0.75-1.875 0.25-0.75 0.5-1.125 0.75-1.875 0.25-0.75 0.5-1.125 0.75-1.875 0.25-0.75 0.5-1.125 0.5-1.875 0.25-0.75 0.5-1.125 0.5-1.875 0.25-0.75 0.25-1.125 0.5-1.875s0.5-1.125 0.5-1.875c0.25-0.75 0.25-1.125 0.5-1.875s0.25-1.125 0.5-1.875 0.25-1.125 0.5-1.875 0.25-1.125 0.5-1.875 0.25-1.125 0.5-1.875c0-0.5 0.25-0.75 0.25-1.125-4.625 0.5-9.25 0.875-14 1.125-3.5 0.25-7 0.25-10.75 0.25-4 0-8.125 0-12.125-0.25-6.75-0.25-13.25-0.875-19.5-1.875-3.75-0.5-7.625-1.125-11.375-1.875-3-0.5-5.875-1.125-8.875-1.875-2.5-0.5-5.125-1.125-7.5-1.875-2.125-0.5-4.375-1.125-6.5-1.875-1.875-0.5-4-1.125-5.875-1.875-1.875-0.5-3.5-1.125-5.375-1.875-1.625-0.75-3.25-1.125-4.875-1.875-1.625-0.75-3-1.125-4.625-1.875-1.375-0.75-3-1.125-4.375-1.875s-2.75-1.125-4.25-1.875c-1.375-0.75-2.5-1.125-4-1.875-1.125-0.75-2.5-1.125-3.75-1.875-1.125-0.75-2.375-1.125-3.5-1.875-1.125-0.75-2.375-1.125-3.5-1.875-1.125-0.75-2.125-1.125-3.25-1.875-0.875-0.75-2.125-1.125-3-1.875s-2.125-1.125-3-1.875-1.875-1.125-3-1.875c-0.875-0.75-1.875-1.125-2.75-1.875-0.875-0.75-1.875-1.125-2.75-1.875-0.875-0.75-1.875-1.125-2.5-1.875-0.875-0.75-1.625-1.125-2.5-1.875s-1.625-1.125-2.5-1.875c-0.75-0.75-1.625-1.125-2.375-1.875-0.75-0.75-1.625-1.125-2.375-1.875-0.75-0.75-1.625-1.125-2.375-1.875-0.75-0.75-1.375-1.125-2.125-1.875-0.75-0.75-1.375-1.125-2.125-1.875-0.75-0.75-1.375-1.125-2.125-1.875-0.75-0.75-1.375-1.125-2.125-1.875-0.75-0.75-1.375-1.125-2.125-1.875-0.75-0.75-1.375-1.125-1.875-1.875l-1.875-1.875-1.875-1.875-1.875-1.875c-0.75-0.75-1.125-1.125-1.625-1.875s-1.125-1.125-1.625-1.875-1.125-1.125-1.625-1.875-1.125-1.125-1.625-1.875-1.125-1.125-1.625-1.875-0.875-1.125-1.625-1.875c-0.5-0.75-0.875-1.125-1.625-1.875-0.5-0.75-0.875-1.125-1.375-1.875-0.5-0.75-0.875-1.125-1.375-1.875-0.5-0.75-0.875-1.125-1.375-1.875-0.5-0.75-0.875-1.125-1.375-1.875-0.5-0.75-0.875-1.125-1.375-1.875-0.5-0.75-0.875-1.125-1.375-1.875-0.5-0.75-0.875-1.125-1.125-1.875-0.5-0.75-0.875-1.125-1.125-1.875-0.5-0.75-0.75-1.125-1.125-1.875-0.5-0.75-0.75-1.125-1.125-1.875-0.5-0.75-0.75-1.125-1.125-1.875-0.5-0.75-0.75-1.125-1.125-1.875-0.5-0.75-0.75-1.125-1.125-1.875-0.5-0.75-0.75-1.125-1.125-1.875-0.5-0.75-0.75-1.125-1.125-1.875-0.25-0.75-0.75-1.125-0.875-1.875-0.25-0.75-0.75-1.125-0.875-1.875-0.25-0.75-0.75-1.125-0.875-1.875-0.25-0.75-0.75-1.125-0.875-1.875-0.25-0.75-0.75-1.125-0.875-1.875-0.25-0.75-0.75-1.125-0.875-1.875-0.25-0.75-0.75-1.125-0.875-1.875-0.25-0.75-0.5-1.125-0.875-1.875-0.25-0.75-0.5-1.125-0.875-1.875-0.25-0.75-0.5-1.125-0.875-1.875-0.25-0.75-0.5-1.125-0.75-1.875-3.125-4.625-3.375-5.125-3.625-5.75z m433.625-71.25v-11.375c0-0.5 0-0.875-0.25-1.625 0-0.5 0-0.875-0.25-1.625 0-0.5 0-0.875-0.25-1.625 0-0.5-0.25-0.875-0.25-1.625 0-0.5-0.25-0.875-0.25-1.625 0-0.5-0.25-0.875-0.25-1.625 0-0.5-0.25-0.875-0.25-1.625 0-0.5-0.25-0.875-0.25-1.625 0-0.5-0.25-0.875-0.25-1.625 0-0.5-0.25-0.875-0.25-1.625 0-0.5-0.25-0.875-0.25-1.625 0-0.5-0.25-0.875-0.25-1.625 0-0.5-0.25-0.875-0.5-1.625-0.25-0.5-0.25-0.875-0.5-1.625-0.25-0.5-0.25-0.875-0.5-1.625-0.25-0.5-0.25-0.875-0.5-1.625-0.25-0.5-0.25-0.875-0.5-1.625-0.25-0.5-0.25-0.875-0.5-1.625-0.25-0.5-0.25-0.875-0.5-1.625-0.25-0.5-0.25-0.875-0.5-1.625-0.25-0.5-0.25-0.875-0.5-1.625-0.25-0.5-0.25-0.875-0.5-1.625-0.25-0.5-0.5-0.875-0.5-1.625-0.25-0.5-0.5-0.875-0.5-1.625-0.25-0.5-0.5-0.875-0.5-1.625-0.25-0.5-0.5-0.875-0.75-1.625-0.25-0.5-0.5-0.875-0.75-1.625-0.25-0.5-0.5-0.875-0.75-1.625-0.25-0.5-0.5-0.875-0.75-1.625-0.25-0.5-0.5-0.875-0.75-1.625-0.25-0.5-0.5-0.875-0.75-1.625-0.25-0.5-0.5-0.875-0.75-1.625-0.25-0.5-0.5-0.875-0.75-1.625-0.25-0.5-0.5-0.875-0.75-1.625-0.25-0.5-0.5-0.875-0.75-1.625-0.25-0.5-0.5-0.875-0.75-1.625-0.25-0.5-0.5-0.875-0.875-1.625-0.25-0.5-0.5-0.875-0.875-1.625-0.25-0.5-0.5-0.875-0.875-1.625-0.25-0.5-0.5-0.875-0.875-1.625-0.25-0.5-0.75-0.875-0.875-1.625-0.25-0.5-0.75-0.875-0.875-1.625-0.25-0.5-0.75-0.875-0.875-1.625-0.25-0.5-0.75-0.875-0.875-1.625-0.25-0.5-0.75-0.875-0.875-1.625-0.25-0.5-0.75-0.875-0.875-1.625-0.25-0.5-0.75-0.875-0.875-1.625-0.25-0.5-0.75-0.875-0.875-1.625-0.5-0.5-0.75-0.875-1.125-1.625-0.5-0.5-0.75-0.875-1.125-1.625-0.5-0.5-0.75-0.875-1.125-1.625-0.5-0.5-0.75-0.875-1.125-1.625-0.5-0.5-0.75-0.875-1.125-1.625-0.5-0.5-0.75-0.875-1.125-1.625-0.5-0.5-0.75-0.875-1.125-1.625-0.5-0.5-0.75-0.875-1.125-1.625-0.5-0.5-0.75-0.875-1.125-1.625-0.5-0.5-0.875-0.875-1.125-1.625-0.5-0.5-0.875-0.875-1.125-1.625-0.5-0.5-0.875-0.875-1.375-1.625-0.5-0.5-0.875-0.875-1.375-1.625-0.5-0.5-0.875-0.875-1.375-1.625-0.5-0.5-0.875-0.875-1.375-1.625-0.5-0.5-0.875-0.875-1.375-1.625-0.5-0.5-0.875-0.875-1.375-1.625-0.5-0.5-0.875-0.875-1.375-1.625-0.5-0.5-0.875-0.875-1.375-1.625-0.5-0.5-0.875-0.875-1.375-1.625-0.5-0.5-0.875-0.875-1.375-1.625l-1.625-1.625-1.625-1.625c-0.5-0.5-1.125-0.875-1.625-1.625-0.5-0.5-1.125-0.875-1.625-1.625-0.5-0.5-1.125-0.875-1.625-1.625-0.5-0.5-1.125-0.875-1.625-1.625-0.5-0.5-1.125-0.875-1.625-1.625-0.5-0.5-1.125-0.875-1.625-1.625-0.5-0.5-1.125-0.875-1.625-1.625-0.75-0.5-1.125-0.875-1.875-1.625-0.75-0.5-1.125-0.875-1.875-1.625-0.75-0.5-1.125-0.875-1.875-1.625-0.75-0.5-1.125-0.875-1.875-1.625-0.75-0.5-1.125-0.875-1.875-1.625-0.75-0.5-1.125-0.875-1.875-1.625-0.75-0.5-1.375-0.875-1.875-1.625-0.75-0.5-1.375-0.875-1.875-1.625-0.75-0.5-1.375-0.875-2.125-1.625-0.75-0.5-1.375-0.875-2.125-1.625l-0.75-0.5 0.25-0.875 0.5-1.625 0.5-1.625 0.5-1.625 0.5-1.625 0.5-1.625 0.5-1.625 0.5-1.625 0.5-1.625 0.5-1.625 0.5-1.625 0.5-1.625 0.5-1.625 0.5-1.625 0.5-1.625 0.5-1.625 0.5-1.625 0.5-1.625 0.5-1.625 0.5-1.625 0.5-1.625 0.5-1.625 0.5-1.625 0.5-1.625 0.5-1.625 0.5-1.625 0.5-1.625 0.5-1.625 0.5-1.625 0.5-1.625 0.5-1.625 0.5-1.625 0.5-1.625 0.5-1.625 0.5-1.625 0.5-1.625 0.5-1.625 0.5-1.625 0.5-1.625 0.5-1.625 0.5-1.625 0.25-1.125-2.125 1.125-2.75 1.625-2.75 1.625-2.75 1.625-2.75 1.625-2.75 1.625-2.75 1.625-2.75 1.625-2.75 1.625-2.75 1.625-2.75 1.625-2.75 1.625-2.75 1.625-2.75 1.625-2.75 1.625-2.75 1.625-2.75 1.625-2.75 1.625-2.75 1.625-2.75 1.625-2.75 1.625-2.75 1.625-2.75 1.625-2.75 1.625-2.75 1.625-0.5 0.25-0.875-0.25c-2.125-0.5-4.25-0.875-6-1.625-2.125-0.5-4.25-0.875-6.25-1.625-2.125-0.5-4.25-0.875-6.5-1.625-2.375-0.5-4.375-0.875-6.75-1.625-2.375-0.5-4.875-1.125-7.25-1.625-2.75-0.5-5.375-1.125-8.125-1.625-3.25-0.5-6.5-1.125-9.75-1.625-5.375-0.75-10.75-1.125-15.875-1.625-2.75-0.25-5.875-0.25-8.625-0.25-3.75 0-7.5 0-11.125 0.25-6.5 0.25-12.75 0.75-19.125 1.625-3.75 0.5-7.5 0.875-11 1.625-2.75 0.5-5.875 0.875-8.625 1.625-2.375 0.5-4.875 0.875-7.25 1.625-2.125 0.5-4.25 0.875-6.25 1.625-1.875 0.5-3.75 0.875-5.625 1.625-1.875 0.5-3.5 0.875-5.125 1.625-1.625 0.5-3.25 0.875-4.875 1.625-1.375 0.5-3 0.875-4.375 1.625-1.375 0.5-2.75 0.875-4.25 1.625-1.375 0.5-2.5 0.875-4 1.625-1.125 0.5-2.5 0.875-3.75 1.625-1.125 0.5-2.375 0.875-3.75 1.625-1.125 0.5-2.375 0.875-3.5 1.625-1.125 0.5-2.125 0.875-3.25 1.625-1.125 0.5-2.125 0.875-3.25 1.625-0.875 0.5-2.125 0.875-3 1.625-0.875 0.5-1.875 0.875-3 1.625-0.875 0.5-1.875 0.875-2.75 1.625-0.875 0.5-1.875 0.875-2.75 1.625-0.875 0.5-1.875 0.875-2.5 1.625-0.875 0.5-1.625 0.875-2.5 1.625-0.875 0.5-1.625 0.875-2.5 1.625-0.75 0.5-1.625 0.875-2.375 1.625-0.75 0.5-1.625 0.875-2.375 1.625-0.75 0.5-1.625 0.875-2.375 1.625-0.75 0.5-1.375 0.875-2.375 1.625-0.75 0.5-1.375 0.875-2.125 1.625-0.75 0.5-1.375 0.875-2.125 1.625-0.75 0.5-1.375 0.875-2.125 1.625-0.75 0.5-1.375 0.875-2.125 1.625-0.75 0.5-1.375 0.875-1.875 1.625-0.75 0.5-1.375 0.875-1.875 1.625-0.75 0.5-1.125 0.875-1.875 1.625-0.75 0.5-1.125 0.875-1.875 1.625-0.75 0.5-1.125 0.875-1.875 1.625-0.75 0.5-1.125 0.875-1.875 1.625-0.5 0.5-1.125 0.875-1.625 1.625-0.5 0.5-1.125 0.875-1.625 1.625-0.5 0.5-1.125 0.875-1.625 1.625-0.5 0.5-1.125 0.875-1.625 1.625l-1.625 1.625-1.625 1.625c-0.5 0.5-0.875 0.875-1.375 1.625-0.5 0.5-0.875 0.875-1.375 1.625-0.5 0.5-0.875 0.875-1.375 1.625-0.5 0.5-0.875 0.875-1.375 1.625-0.5 0.5-0.875 0.875-1.375 1.625-0.5 0.5-0.875 0.875-1.375 1.625-0.5 0.5-0.875 0.875-1.375 1.625-0.5 0.5-0.875 0.875-1.125 1.625-0.5 0.5-0.875 0.875-1.125 1.625-0.5 0.5-0.875 0.875-1.125 1.625-0.5 0.5-0.75 0.875-1.125 1.625-0.5 0.5-0.75 0.875-1.125 1.625-0.5 0.5-0.75 0.875-1.125 1.625-0.5 0.5-0.75 0.875-1.125 1.625-0.5 0.5-0.75 0.875-1.125 1.625-0.5 0.5-0.75 0.875-1.125 1.625-0.5 0.5-0.75 0.875-1.125 1.625-0.25 0.5-0.75 0.875-0.875 1.625-0.25 0.5-0.75 0.875-0.875 1.625-0.25 0.5-0.75 0.875-0.875 1.625-0.25 0.5-0.75 0.875-0.875 1.625-0.25 0.5-0.75 0.875-0.875 1.625-0.25 0.5-0.75 0.875-0.875 1.625-0.25 0.5-0.75 0.875-0.875 1.625-0.25 0.5-0.75 0.875-0.875 1.625-0.25 0.5-0.5 0.875-0.875 1.625-0.25 0.5-0.5 0.875-0.875 1.625-0.25 0.5-0.5 0.875-0.75 1.625-0.25 0.5-0.5 0.875-0.75 1.625-0.25 0.5-0.5 0.875-0.75 1.625-0.25 0.5-0.5 0.875-0.75 1.625-0.25 0.5-0.5 0.875-0.75 1.625-0.25 0.5-0.5 0.875-0.75 1.625-0.25 0.5-0.5 0.875-0.75 1.625-0.25 0.5-0.5 0.875-0.75 1.625-0.25 0.5-0.5 0.875-0.75 1.625-0.25 0.5-0.5 0.875-0.75 1.625-0.25 0.5-0.5 0.875-0.75 1.625-0.25 0.5-0.5 0.875-0.75 1.625-0.25 0.5-0.5 0.875-0.5 1.625-0.25 0.5-0.5 0.875-0.5 1.625-0.25 0.5-0.5 0.875-0.5 1.625-0.25 0.5-0.5 0.875-0.5 1.625-0.25 0.5-0.5 0.875-0.5 1.625-0.25 0.5-0.25 0.875-0.5 1.625-0.25 0.5-0.25 0.875-0.5 1.625-0.25 0.5-0.25 0.875-0.5 1.625-0.25 0.5-0.25 0.875-0.5 1.625-0.25 0.5-0.25 0.875-0.5 1.625-0.25 0.5-0.25 0.875-0.5 1.625-0.25 0.5-0.25 0.875-0.5 1.625-0.25 0.5-0.25 0.875-0.5 1.625-0.25 0.5-0.25 0.875-0.5 1.625-0.25 0.5-0.25 0.875-0.25 1.625 0 0.5-0.25 0.875-0.25 1.625 0 0.5-0.25 0.875-0.25 1.625 0 0.5-0.25 0.875-0.25 1.625 0 0.5-0.25 0.875-0.25 1.625 0 0.5-0.25 0.875-0.25 1.625 0 0.5-0.25 0.875-0.25 1.625 0 0.5-0.25 0.875-0.25 1.625 0 0.5-0.25 0.875-0.25 1.625 0 0.5-0.25 0.875-0.25 1.625 0 0.5-0.25 0.875-0.25 1.625 0 0.5-0.25 0.875-0.25 1.625 0 0.5 0 0.875-0.25 1.625 0 0.5 0 0.875-0.25 1.625 0 0.5 0 0.875-0.25 1.625v1.625 1.625 1.625 3.25 1.625 3.25 1.375 1.625 1.625 1.625 1.625 1.625 1.625 1.625 1.625 1.625c0 0.5 0 0.875 0.25 1.625 0 0.5 0 0.875 0.25 1.625 0 0.5 0 0.875 0.25 1.625 0 0.5 0.25 0.875 0.25 1.625 0 0.5 0.25 0.875 0.25 1.625 0 0.5 0.25 0.875 0.25 1.625 0 0.5 0.25 0.875 0.25 1.625 0 0.5 0.25 0.875 0.25 1.625 0 0.5 0.25 0.875 0.25 1.625 0 0.5 0.25 0.875 0.25 1.625 0 0.5 0.25 0.875 0.25 1.625 0 0.5 0.25 0.875 0.25 1.625 0 0.5 0.25 0.875 0.25 1.625 0 0.5 0.25 0.875 0.25 1.625 0 0.5 0.25 0.875 0.25 1.625 0.25 0.5 0.25 0.875 0.5 1.625 0.25 0.5 0.25 0.875 0.5 1.625 0.25 0.5 0.25 0.875 0.5 1.625 0.25 0.5 0.25 0.875 0.5 1.625 0.25 0.5 0.25 0.875 0.5 1.625 0.25 0.5 0.25 0.875 0.5 1.625 0.25 0.5 0.25 0.875 0.5 1.625 0.25 0.5 0.25 0.875 0.5 1.625 0.25 0.5 0.25 0.875 0.5 1.625 0.25 0.5 0.5 0.875 0.5 1.625 0.25 0.5 0.5 0.875 0.5 1.625 0.25 0.5 0.5 0.875 0.5 1.625 0.25 0.5 0.5 0.875 0.5 1.625 0.25 0.5 0.5 0.875 0.5 1.625 0.25 0.5 0.5 0.875 0.75 1.625 0.25 0.5 0.5 0.875 0.75 1.625 0.25 0.5 0.5 0.875 0.75 1.625 0.25 0.5 0.5 0.875 0.75 1.625 0.25 0.5 0.5 0.875 0.75 1.625 0.25 0.5 0.5 0.875 0.75 1.625 0.25 0.5 0.5 0.875 0.75 1.625 0.25 0.5 0.5 0.875 0.75 1.625 0.25 0.5 0.5 0.875 0.75 1.625 0.25 0.5 0.5 0.875 0.75 1.625 0.25 0.5 0.5 0.875 0.75 1.625 0.25 0.5 0.5 0.875 0.875 1.625 0.25 0.5 0.5 0.875 0.875 1.625 0.25 0.5 0.5 0.875 0.875 1.625 0.25 0.5 0.75 0.875 0.875 1.625 0.25 0.5 0.75 0.875 0.875 1.625 0.25 0.5 0.75 0.875 0.875 1.625 0.25 0.5 0.75 0.875 0.875 1.625 0.25 0.5 0.75 0.875 0.875 1.625 0.25 0.5 0.75 0.875 0.875 1.625 0.25 0.5 0.75 0.875 0.875 1.625 0.25 0.5 0.75 0.875 0.875 1.625 0.25 0.5 0.75 0.875 1.125 1.625 0.5 0.5 0.75 0.875 1.125 1.625 0.5 0.5 0.75 0.875 1.125 1.625 0.5 0.5 0.75 0.875 1.125 1.625 0.5 0.5 0.75 0.875 1.125 1.625 0.5 0.5 0.75 0.875 1.125 1.625 0.5 0.5 0.75 0.875 1.125 1.625 0.5 0.5 0.875 0.875 1.125 1.625 0.5 0.5 0.875 0.875 1.125 1.625 0.5 0.5 0.875 0.875 1.125 1.625 0.5 0.5 0.875 0.875 1.375 1.625 0.5 0.5 0.875 0.875 1.375 1.625 0.5 0.5 0.875 0.875 1.375 1.625 0.5 0.5 0.875 0.875 1.375 1.625 0.5 0.5 0.875 0.875 1.375 1.625 0.5 0.5 0.875 0.875 1.375 1.625 0.5 0.5 0.875 0.875 1.375 1.625l1.625 1.625 1.625 1.625c0.5 0.5 1.125 0.875 1.625 1.625 0.5 0.5 1.125 0.875 1.625 1.625 0.5 0.5 1.125 0.875 1.625 1.625 0.5 0.5 1.125 0.875 1.625 1.625 0.5 0.5 1.125 0.875 1.875 1.625 0.75 0.5 1.125 0.875 1.875 1.625 0.75 0.5 1.125 0.875 1.875 1.625 0.75 0.5 1.125 0.875 1.875 1.625 0.75 0.5 1.375 0.875 1.875 1.625 0.75 0.5 1.375 0.875 1.875 1.625 0.75 0.5 1.375 0.875 2.125 1.625 0.75 0.5 1.375 0.875 2.125 1.625 0.75 0.5 1.375 0.875 2.125 1.625 0.75 0.5 1.375 0.875 2.125 1.625 0.75 0.5 1.375 0.875 2.375 1.625 0.75 0.5 1.625 0.875 2.375 1.625 0.75 0.5 1.625 0.875 2.375 1.625 0.75 0.5 1.625 0.875 2.375 1.625 0.875 0.5 1.625 0.875 2.5 1.625 0.875 0.5 1.625 0.875 2.5 1.625 0.875 0.5 1.875 0.875 2.5 1.625 0.875 0.5 1.875 0.875 2.75 1.625 0.875 0.5 1.875 0.875 2.75 1.625 0.875 0.5 1.875 0.875 3 1.625 0.875 0.5 2.125 0.875 3 1.625 1.125 0.5 2.125 0.875 3.25 1.625 1.125 0.5 2.125 0.875 3.25 1.625 1.125 0.5 2.375 0.875 3.5 1.625 1.125 0.5 2.375 0.875 3.75 1.625 1.125 0.5 2.5 0.875 3.75 1.625 1.375 0.5 2.5 0.875 4 1.625 1.375 0.5 2.75 0.875 4.25 1.625 1.375 0.5 3 0.875 4.375 1.625 1.625 0.5 3.25 0.875 4.875 1.625 1.625 0.5 3.5 0.875 5.125 1.625 1.875 0.5 3.75 0.875 5.875 1.625 2.125 0.5 4.25 1.125 6.25 1.625 2.375 0.5 4.875 1.125 7.25 1.625 2.75 0.5 5.875 1.125 8.625 1.625 3.75 0.75 7.5 1.125 11.125 1.625 9.25 1.125 19.125 1.625 28.875 1.625h1.375c9.25 0 18.375-0.75 27.5-1.625 3.75-0.5 7.25-0.875 10.75-1.625 2.75-0.5 5.625-0.875 8.375-1.625 2.375-0.5 4.625-0.875 7-1.625 2.125-0.5 4.25-0.875 6.25-1.625 1.875-0.5 3.75-0.875 5.625-1.625 1.625-0.5 3.5-0.875 5.125-1.625 1.625-0.5 3.25-0.875 4.625-1.625 1.375-0.5 3-0.875 4.375-1.625 1.375-0.5 2.75-0.875 4.25-1.625 1.375-0.5 2.5-0.875 4-1.625 1.125-0.5 2.5-0.875 3.75-1.625 1.125-0.5 2.375-0.875 3.5-1.625 1.125-0.5 2.375-0.875 3.5-1.625 1.125-0.5 2.125-0.875 3.25-1.625 1.125-0.5 2.125-0.875 3.25-1.625 0.875-0.5 2.125-0.875 3-1.625 0.875-0.5 1.875-0.875 3-1.625 0.875-0.5 1.875-0.875 2.75-1.625 0.875-0.5 1.875-0.875 2.75-1.625 0.875-0.5 1.875-0.875 2.5-1.625 0.875-0.5 1.625-0.875 2.5-1.625 0.875-0.5 1.625-0.875 2.5-1.625 0.875-0.5 1.625-0.875 2.5-1.625 0.75-0.5 1.625-0.875 2.375-1.625 0.75-0.5 1.625-0.875 2.375-1.625 0.75-0.5 1.375-0.875 2.375-1.625 0.75-0.5 1.375-0.875 2.125-1.625 0.75-0.5 1.375-0.875 2.125-1.625 0.75-0.5 1.375-0.875 2.125-1.625 0.75-0.5 1.375-0.875 2.125-1.625 0.75-0.5 1.375-0.875 1.875-1.625 0.75-0.5 1.375-0.875 1.875-1.625 0.75-0.5 1.125-0.875 1.875-1.625 0.75-0.5 1.125-0.875 1.875-1.625 0.75-0.5 1.125-0.875 1.875-1.625 0.75-0.5 1.125-0.875 1.875-1.625 0.5-0.5 1.125-0.875 1.625-1.625 0.5-0.5 1.125-0.875 1.625-1.625 0.5-0.5 1.125-0.875 1.625-1.625 0.5-0.5 1.125-0.875 1.625-1.625 0.5-0.5 1.125-0.875 1.625-1.625l1.625-1.625 1.625-1.625c0.5-0.5 0.875-0.875 1.375-1.625 0.5-0.5 0.875-0.875 1.375-1.625 0.5-0.5 0.875-0.875 1.375-1.625 0.5-0.5 0.875-0.875 1.375-1.625 0.5-0.5 0.875-0.875 1.375-1.625 0.5-0.5 0.875-0.875 1.375-1.625 0.5-0.5 0.875-0.875 1.375-1.625 0.5-0.5 0.875-0.875 1.375-1.625 0.5-0.5 0.875-0.875 1.125-1.625 0.5-0.5 0.75-0.875 1.125-1.625 0.5-0.5 0.875-0.875 1.125-1.625 0.5-0.5 0.75-0.875 1.125-1.625 0.5-0.5 0.75-0.875 1.125-1.625 0.5-0.5 0.75-0.875 1.125-1.625 0.5-0.5 0.75-0.875 1.125-1.625 0.5-0.5 0.75-0.875 1.125-1.625 0.5-0.5 0.75-0.875 1.125-1.625 0.5-0.5 0.75-0.875 0.875-1.625 0.25-0.5 0.75-0.875 0.875-1.625 0.25-0.5 0.75-0.875 0.875-1.625 0.25-0.5 0.75-0.875 0.875-1.625 0.25-0.5 0.75-0.875 0.875-1.625 0.25-0.5 0.75-0.875 0.875-1.625 0.25-0.5 0.75-0.875 0.875-1.625 0.25-0.5 0.5-0.875 0.875-1.625 0.25-0.5 0.75-0.875 0.875-1.625 0.25-0.5 0.5-0.875 0.875-1.625 0.25-0.5 0.5-0.875 0.875-1.625 0.25-0.5 0.5-0.875 0.875-1.625 0.25-0.5 0.5-0.875 0.75-1.625 0.25-0.5 0.5-0.875 0.75-1.625 0.25-0.5 0.5-0.875 0.75-1.625 0.25-0.5 0.5-0.875 0.75-1.625 0.25-0.5 0.5-0.875 0.75-1.625 0.25-0.5 0.5-0.875 0.75-1.625 0.25-0.5 0.5-0.875 0.75-1.625 0.25-0.5 0.5-0.875 0.75-1.625 0.25-0.5 0.5-0.875 0.75-1.625 0.25-0.5 0.5-0.875 0.75-1.625 0.25-0.5 0.5-0.875 0.75-1.625 0.25-0.5 0.5-0.875 0.5-1.625 0.25-0.5 0.5-0.875 0.5-1.625 0.25-0.5 0.5-0.875 0.5-1.625 0.25-0.5 0.25-0.875 0.5-1.625 0.25-0.5 0.25-0.875 0.5-1.625 0.25-0.5 0.25-0.875 0.5-1.625 0.25-0.5 0.25-0.875 0.5-1.625 0.25-0.5 0.25-0.875 0.5-1.625 0.25-0.5 0.25-0.875 0.5-1.625 0.25-0.5 0.25-0.875 0.5-1.625 0.25-0.5 0.25-0.875 0.5-1.625 0.25-0.5 0.25-0.875 0.5-1.625 0.25-0.5 0.25-0.875 0.5-1.625 0.25-0.5 0.25-0.875 0.5-1.625 0.25-0.5 0.25-0.875 0.5-1.625 0-0.5 0.25-0.875 0.25-1.625 0-0.5 0.25-0.875 0.25-1.625 0-0.5 0.25-0.875 0.25-1.625 0-0.5 0.25-0.875 0.25-1.625 0-0.5 0.25-0.875 0.25-1.625 0-0.5 0.25-0.875 0.25-1.625 0-0.5 0.25-0.875 0.25-1.625 0-0.5 0.25-0.875 0.25-1.625 0-0.5 0.25-0.875 0.25-1.625 0-0.5 0-0.875 0.25-1.625 0-0.5 0-0.875 0.25-1.625 0-0.5 0-0.875 0.25-1.625 0-0.5 0-0.875 0.25-1.625 0-0.5 0-0.875 0.25-1.625v-11.375h-3.125zM589.714646 384c-12.625 0-25.375-12.75-25.375-25.375 0-12.75 12.75-25.375 25.375-25.375 19.375 0 31.875 12.625 31.875 25.375-0.125 12.625-12.75 25.375-31.875 25.375zM729.589646 384c-12.625 0-25.375-12.75-25.375-25.375 0-12.75 12.75-25.375 25.375-25.375 19.125 0 31.875 12.625 31.875 25.375 0 12.625-12.75 25.375-31.875 25.375zM328.714646 568.75c-19.125 0-38.375-12.625-38.375-31.625 0-19.125 19.375-31.875 38.375-31.875s31.875 12.75 31.875 31.875-12.875 31.625-31.875 31.625zM506.964646 568.75c-19.125 0-38.125-12.625-38.125-31.625 0-19.125 19.125-31.875 38.125-31.875 19.125 0 31.875 12.75 31.875 31.875s-12.875 31.625-31.875 31.625z"
+                   horiz-adv-x="1059"/>
+
+
+            <glyph glyph-name="shrink-right" unicode="&#58984;"
+                   d="M52.294-28.71900000000005h899.793c16.546 0 29.999 13.405 29.999 29.999v59.974c-0.013 16.562-13.436 29.985-29.998 29.999h-899.795c-16.57 0-29.999-13.429-29.999-29.999v-59.974c0-16.617 13.429-29.999 29.999-29.999zM952.087 451.165h-479.884c-16.57 0-29.999-13.405-29.999-29.999v-59.974c0 0 0 0 0 0 0-16.572 13.428-30.01 29.997-30.022h479.885c16.571 0.013 29.999 13.448 29.999 30.022 0 0 0 0 0 0v59.974c0 16.593-13.429 29.999-29.999 29.999zM52.294 691.0840000000001h899.793c16.554 0.013 29.972 13.423 29.999 29.974v59.999c0 16.57-13.429 29.999-29.999 29.999h-899.793c-16.57 0-29.999-13.429-29.999-29.999v-59.997c0-16.546 13.429-29.975 29.999-29.975zM45.183 383.53499999999997l239.919-150.598v301.196l-239.919-150.598z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="spread-left" unicode="&#58987;"
+                   d="M942.974 770.924h-843.556c-15.513 0-28.124-12.567-28.124-28.124v-56.226c0.012-15.527 12.596-28.111 28.123-28.124h843.559c15.534 0 28.124 12.59 28.124 28.124v56.226c0 15.578-12.59 28.124-28.124 28.124zM99.418 321.033h449.891c15.534 0 28.124 12.567 28.124 28.124v56.226c0 0 0 0 0 0 0 15.537-12.589 28.134-28.122 28.146h-449.892c-15.534-0.012-28.124-12.608-28.124-28.146 0 0 0 0 0 0v-56.226c0-15.556 12.59-28.124 28.124-28.124zM942.974 96.10900000000004h-843.556c-15.519-0.012-28.099-12.584-28.124-28.101v-56.249c0-15.534 12.59-28.124 28.124-28.124h843.556c15.534 0 28.124 12.59 28.124 28.124v56.248c0 15.513-12.59 28.103-28.124 28.102zM949.641 384.436l-224.924 141.186v-282.37l224.924 141.186z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="camera" unicode="&#58976;"
+                   d="M884.3 648.6H704.2L679.5 698l-0.2 0.4c-1.9 3.6-3.6 6.9-5.1 9.9-12 23.4-21.5 41.9-54.1 41.9H416.7c-32.9 0-43.7-21.3-55.1-43.8-1.3-2.6-2.7-5.3-4.2-8.1l-24.8-49.7H152.4c-34 0-61.7-27.7-61.7-61.7v-488c0-34 27.7-61.7 61.7-61.7h731.9c34 0 61.7 27.7 61.7 61.7v488c0 34-27.7 61.7-61.7 61.7zM904 98.89999999999998c0-10.8-8.8-19.7-19.7-19.7H152.4c-10.8 0-19.7 8.8-19.7 19.7v488c0 10.8 8.8 19.7 19.7 19.7h206.1l36.2 72.5c1.5 2.9 2.9 5.7 4.3 8.3 10.6 20.8 11.1 20.8 17.7 20.8H620c4.6 0 5.8-0.6 5.8-0.6 2-1.2 7.2-11.2 10.9-18.5 1.6-3.1 3.3-6.5 5.3-10.1l36.2-72.4h206.1c10.8 0 19.7-8.8 19.7-19.7v-488zM525.5 565.5c-123.5 0-223.6-100.1-223.6-223.6S402 118.20000000000005 525.5 118.20000000000005s223.7 100.1 223.7 223.7c0 123.5-100.2 223.6-223.7 223.6z m0-402.5c-98.8 0-178.9 80.1-178.9 178.9 0 98.8 80.1 178.9 178.9 178.9 98.8 0 178.9-80.1 178.9-178.9 0-98.8-80.1-178.9-178.9-178.9z m246 402.5v-44.7H861v44.7h-89.5z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="note" unicode="&#58990;"
+                   d="M987.2 384.36L512.43 859.13a84.75 84.75 0 0 1-65 24.71L111.55 864.09a84.83 84.83 0 0 1-79.65-79.65L12.15 448.57a84.57 84.57 0 0 1 24.69-65l474.8-474.8a84.91 84.91 0 0 1 119.93 0L987.2 264.41999999999996a84.9 84.9 0 0 1 0 119.94z m-39.28-80.66L592.29-51.91999999999996a29.31 29.31 0 0 0-41.37 0L76.1 422.9a29.22 29.22 0 0 0-8.49 22.38l19.74 335.88a29.29 29.29 0 0 0 27.48 27.48l335.9 19.75a29.32 29.32 0 0 0 22.38-8.52l474.8-474.8a29.31 29.31 0 0 0 0.01-41.37zM236.86 659.14c-50.92-50.95-50.92-133.8 0-184.72a130.61 130.61 0 1 1 184.71 184.72c-50.89 50.86-133.77 50.86-184.71 0zM382.29 513.7c-28.38-28.38-77.78-28.38-106.15 0a75.08 75.08 0 1 0 106.15 0z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="refresh" unicode="&#58985;"
+                   d="M928 810.666667c-18.133333 0-32-13.866667-32-32v-164.266667C816 747.733333 669.866667 832 512 832 264.533333 832 64 631.4666669999999 64 384s200.533333-448 448-448c230.4 0 422.4 172.8 445.866667 402.133333 2.133333 17.066667-10.666667 33.066667-28.8 35.2-17.066667 2.133333-33.066667-10.666667-35.2-28.8C873.6 148.26666699999998 709.333333 0 512 0c-212.266667 0-384 171.733333-384 384s171.733333 384 384 384c137.6 0 264.533333-74.666667 332.8-192H693.333333c-18.133333 0-32-13.866667-32-32s13.866667-32 32-32h266.666667V778.666667c0 18.133333-14.933333 32-32 32z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="female" unicode="&#58977;"
+                   d="M774.4 800c-48 35.2-108.8 51.2-172.8 51.2-105.6 0-208-51.2-268.8-150.4-89.6-134.4-57.6-313.6 60.8-416l-32-51.2-188.8 121.6S128 384 108.8 352c-22.4-35.2 22.4-64 22.4-64l188.8-121.6-105.6-163.2s-19.2-32 16-51.2c38.4-22.4 57.6 12.8 57.6 12.8l102.4 160 185.6-121.6s48-28.8 70.4 6.4c19.2 28.8-25.6 57.6-25.6 57.6L432 192l32 48c44.8-22.4 92.8-32 137.6-32 105.6 0 208 51.2 268.8 150.4 96 147.2 51.2 345.6-96 441.6z m35.2-400c-44.8-67.2-118.4-108.8-201.6-108.8-44.8 0-92.8 12.8-131.2 38.4-112 73.6-147.2 220.8-73.6 332.8 44.8 64 121.6 105.6 201.6 108.8 44.8 0 92.8-12.8 131.2-38.4 112-73.6 147.2-220.8 73.6-332.8z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="male" unicode="&#58978;"
+                   d="M889.6 800h-240s-35.2 0-38.4-41.6c0-19.2 16-38.4 38.4-38.4h140.8l-179.2-179.2C556.8 582.4 489.6 608 416 608 240 608 96 464 96 288s144-320 320-320 320 144 320 320c0 73.6-25.6 140.8-67.2 195.2l179.2 179.2v-140.8c0-22.4 19.2-38.4 38.4-38.4 22.4 0 38.4 19.2 38.4 41.6V764.8h3.2C924.8 800 889.6 800 889.6 800zM416 48c-131.2 0-236.8 105.6-236.8 236.8 0 131.2 105.6 236.8 236.8 236.8s236.8-105.6 236.8-236.8c0-131.2-105.6-236.8-236.8-236.8z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="screen-restore" unicode="&#59224;"
+                   d="M582.6 454.6v320h50V540l274 274 35.4-35.4-274-274h234.6v-50h-320zM117.4-46l274 274v-234.6h50v320h-320v-50H356l-274-274 35.4-35.4zM132 764h302V814H82v-352h50V764z m760-760H590v-50h352V306h-50v-302z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="password" unicode="&#58995;"
+                   d="M519.2 343.29999999999995c-41.1 0-74.4-33.3-74.4-74.4 0-29.7 17.5-55 42.5-67.1v-81.9c0-17.6 14.3-31.9 31.9-31.9 17.6 0 31.9 14.3 31.9 31.9v81.9c25.1 12 42.5 37.4 42.5 66.9 0 41.3-33.2 74.6-74.4 74.6zM827.6-62.10000000000002H189.4c-35.9 0-65.1 29.2-65.1 65.1V428.4c0 35.9 29.2 65.1 65.1 65.1h638.2c17.3 0 33.7-6.7 46-19.1 12.3-12.3 19.1-28.7 19.1-46V3c0-35.9-29.2-65.1-65.1-65.1zM231.9 427.2c-34.8 0-41.3-6.6-41.3-41.3v-340.4c0-34.8 6.6-41.3 41.3-41.3h553.2c34.8 0 41.3 6.6 41.3 41.3V385.9c0 34.8-6.6 41.3-41.3 41.3H231.9zM519.2 86.70000000000005c-18.3 0-33.2 14.8-33.2 33.2V201c-26.3 12.8-42.6 38.8-42.6 67.8 0 41.8 33.9 75.7 75.7 75.7s75.7-33.9 75.7-75.7c0-29-16.3-55-42.5-67.8v-81.1c0.1-18.2-14.9-33.2-33.1-33.2zM519.2 342c-40.4 0-73.2-32.9-73.2-73.2 0-28.3 16.1-53.6 41.9-65.8l0.7-0.4V120c0-17 13.7-30.7 30.7-30.7S550 103.10000000000002 550 120v82.6l0.7 0.4c25.8 12.3 41.9 37.5 41.9 65.8-0.2 40.4-33.1 73.2-73.4 73.2zM207 523.1c-9.1 0-17.6 3.5-23.9 10-6.4 6.4-10 15-10 23.9v2h-0.2l0.2 1.4c0.1 0.5 0.1 0.9 0.2 1.4l0.2 1c0.1 0.6 0.2 1.4 0.4 2 15.3 75.7 57 144.2 117.2 193 29.9 24.2 63.4 43 99.8 56 37.5 13.3 77 20.2 117.5 20.2 61 0 120.8-16.3 173-47.2 50.6-29.9 93-72.8 122.5-123.8 4-5.6 6.1-12.2 6.1-19.2 0-18.3-15-33.3-33.3-33.3-13.2 0-25.1 7.7-30.4 19.8-49.2 84.6-140.4 137.4-238 137.4-128.1 0-238.2-87.1-267.6-211.8v-0.2c-0.7-18.4-15.4-32.6-33.7-32.6z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="senior" unicode="&#58996;"
+                   d="M719.9 249.39999999999998L514.7 379.5V485.1C615.6 419 731.5 344 731.5 344s139.2-45.6 139.2 106.5c0 93-172.5 112.1-197.2 11.8l-69.6 47.3s24.2 101.5 162.4 106.5c138.2 4.9 192-94.6 190.9-199.6-1.2-104.7-136-198.3-237.3-167.1zM561 414c-4-19-23-33.7-47.6-33.7l-6.9 4.3-217.3 137.8S171 555.2 160.8 439c-10.2-116.1 147.4-129.5 186.8-23.8l81.7-47.6s-65.1-119.1-198.5-119.1C97.3 248.5 0.6 423.8 114 546.3c113.5 122.4 218.6 64.6 257 35.7 16.4-12.4 85.3-57.9 158.6-105.9l3.1-2.4c28.3-18.2 33.4-35.6 28.3-59.7zM434.1 149.70000000000005h212c16.7 0 30.3-13.6 30.3-30.3v-15.1c0-16.7-13.6-30.3-30.3-30.3h-212c-16.7 0-30.3 13.6-30.3 30.3v15.1c0 16.8 13.6 30.3 30.3 30.3z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="theme" unicode="&#58986;"
+                   d="M512 800C229.696 800 0 570.304 0 288c0-90.368 30.304-174.496 85.344-236.896 55.264-62.624 129.152-97.12 208.128-97.12 81.568 0 161.536 36.832 231.264 106.592l2.272 2.496c65.792 81.472 132.896 121.056 205.088 121.056 46.72 0 89.216-15.872 126.688-29.92 30.336-11.328 56.576-21.12 81.216-21.12C1024 133.08799999999997 1024 241.664 1024 288c0 282.304-229.696 512-512 512z m428-602.912c-13.088 0-35.296 8.288-58.784 17.088-40.48 15.136-90.848 33.952-149.12 33.952-92.352 0-175.328-46.944-253.76-143.456-57.184-56.704-121.056-86.688-184.832-86.688-60.352 0-117.216 26.784-160.128 75.456C88.64 144.12800000000004 64 213.216 64 288 64 535.04 264.96 736 512 736s448-200.96 448-448c0-27.328-1.952-90.912-20-90.912zM800.704 379.93600000000004m-64 0a64 64 0 1 1 128 0 64 64 0 1 1-128 0ZM457.024 582.624m-64 0a64 64 0 1 1 128 0 64 64 0 1 1-128 0ZM672.704 555.9359999999999m-64 0a64 64 0 1 1 128 0 64 64 0 1 1-128 0ZM291.392 443.936m-64 0a64 64 0 1 1 128 0 64 64 0 1 1-128 0ZM278.4 197.24800000000005m-96 0a96 96 0 1 1 192 0 96 96 0 1 1-192 0Z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="tread" unicode="&#59077;"
+                   d="M860.8 172.79999999999995l6.4-57.6-6.4 57.6c12.8 0 25.6 3.2 35.2 12.8 6.4 9.6 6.4 22.4 3.2 32l57.6 12.8-57.6-12.8L800 553.6c-6.4 28.8-25.6 51.2-48 64-9.6 6.4-22.4 9.6-32 9.6H182.4c-22.4 3.2-41.6-6.4-51.2-25.6-6.4-9.6-6.4-19.2-9.6-28.8v-342.4c0-19.2 9.6-38.4 28.8-48 6.4-3.2 12.8-6.4 19.2-6.4h192l19.2-25.6 147.2-188.8c6.4-9.6 19.2-12.8 28.8-9.6 16 3.2 25.6 19.2 22.4 35.2l-9.6 118.4-6.4 67.2h297.6z m-233.6-57.6l9.6-128c3.2-28.8-9.6-54.4-28.8-73.6-35.2-32-92.8-28.8-124.8 6.4l-156.8 195.2H179.2c-19.2 0-38.4 6.4-57.6 16-35.2 19.2-57.6 57.6-57.6 99.2V572.8c0 19.2 6.4 38.4 16 57.6 19.2 38.4 57.6 60.8 99.2 54.4h537.6c67.2-3.2 121.6-48 137.6-112l102.4-339.2c6.4-28.8 3.2-57.6-12.8-80-19.2-22.4-48-38.4-76.8-38.4h-240zM304 627.2v-451.2h57.6V627.2H304z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="praise" unicode="&#59078;"
+                   d="M860.8 595.2h-297.6l6.4 67.2 9.6 118.4c3.2 16-6.4 32-22.4 35.2-9.6 3.2-22.4 0-28.8-9.6l-147.2-188.8-19.2-25.6h-192c-6.4 0-12.8-3.2-19.2-6.4-19.2-9.6-28.8-28.8-28.8-48v-342.4c0-9.6 3.2-22.4 9.6-28.8 9.6-19.2 28.8-28.8 48-25.6h537.6c12.8 0 22.4 3.2 32 9.6 25.6 12.8 44.8 35.2 48 64l102.4 336 57.6-12.8-57.6 12.8c3.2 9.6 0 22.4-3.2 32-9.6 6.4-22.4 12.8-35.2 12.8l6.4 57.6-6.4-57.6z m-233.6 57.6h240c28.8 0 57.6-12.8 76.8-38.4 16-22.4 19.2-54.4 12.8-80l-102.4-339.2c-16-64-70.4-108.8-137.6-112H179.2c-41.6-3.2-80 19.2-99.2 54.4-9.6 19.2-16 38.4-16 57.6V537.6c0 41.6 22.4 80 57.6 99.2 19.2 9.6 38.4 12.8 57.6 16h144L480 848c32 35.2 89.6 38.4 124.8 6.4 19.2-19.2 32-44.8 28.8-73.6l-6.4-128z m-323.2-512h57.6V592H304v-451.2z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="star-fill" unicode="&#58968;"
+                   d="M752-43.200000000000045c-9.6 0-20.8 3.2-30.4 8l-208 104-209.6-104c-20.8-11.2-48-9.6-67.2 4.8-19.2 14.4-30.4 40-25.6 64l43.2 224L89.6 411.2C72 428.8 65.6 456 72 478.4c8 24 27.2 41.6 52.8 44.8l228.8 41.6 102.4 208c11.2 22.4 33.6 36.8 57.6 36.8s48-14.4 57.6-36.8l102.4-208 228.8-40c24-3.2 44.8-20.8 51.2-44.8 8-24 1.6-49.6-16-67.2L772.8 257.6l41.6-224c4.8-25.6-6.4-49.6-25.6-64-9.6-8-22.4-12.8-36.8-12.8z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="rate" unicode="&#59003;"
+                   d="M959.008 489.984l-308 47.008L512 832 372.992 536.992l-308-47.008 223.008-228-52.992-324L512 90.976l276.992-152.992-52.992 324zM512 156L304 39.00800000000004l40 235.008-179.008 182.016 242.016 32 104.992 224 104-224 240.992-34.016L680 273.024l36.992-235.008z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="template-1" unicode="&#58966;"
+                   d="M512 384zM43.52 601.6l409.6-176.64c58.88-30.72 110.08 0 110.08 0l414.72 174.08 2.56 2.56c10.24 5.12 15.36 15.36 15.36 28.16 0 15.36-10.24 28.16-23.04 30.72L563.2 837.12c-56.32 23.04-97.28 0-97.28 0L46.08 660.48c-12.8-5.12-20.48-17.92-20.48-30.72s7.68-23.04 17.92-28.16z m0 0M512 222.72000000000003c-2.56 0-7.68 0-10.24 2.56l-486.4 215.04c-12.8 5.12-17.92 20.48-12.8 33.28 5.12 12.8 20.48 17.92 33.28 12.8L512 276.48 988.16 486.4c12.8 5.12 28.16 0 33.28-12.8 5.12-12.8 0-28.16-12.8-33.28l-486.4-215.04c-2.56-2.56-7.68-2.56-10.24-2.56zM512 71.67999999999995c-2.56 0-7.68 0-10.24 2.56l-486.4 215.04c-12.8 5.12-17.92 20.48-12.8 33.28 5.12 10.24 20.48 17.92 33.28 10.24L512 125.44000000000005 988.16 332.79999999999995c12.8 5.12 28.16 0 33.28-12.8 5.12-12.8 0-28.16-12.8-33.28l-486.4-215.04H512zM512-79.36000000000001c-2.56 0-7.68 0-10.24 2.56l-486.4 215.04c-12.8 5.12-17.92 20.48-12.8 33.28 5.12 12.8 20.48 17.92 33.28 12.8L512-25.600000000000023l476.16 209.92c12.8 5.12 28.16 0 33.28-12.8 5.12-12.8 0-28.16-12.8-33.28l-486.4-215.04c-2.56-2.56-7.68-2.56-10.24-2.56z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="vercode" unicode="&#59001;"
+                   d="M513.807059-128C351.171765-128 58.428235 126.19294100000002 54.211765 376.16941199999997V662.287059a93.364706 93.364706 0 0 0 81.317647 88.545882 570.428235 570.428235 0 0 1 163.237647 40.357647A393.336471 393.336471 0 0 1 446.945882 872.508235a101.797647 101.797647 0 0 0 120.470589 5.421177A629.458824 629.458824 0 0 1 716.8 792.395294a1255.303529 1255.303529 0 0 1 169.863529-38.550588 98.785882 98.785882 0 0 0 79.510589-90.955294 2911.171765 2911.171765 0 0 0-3.011765-291.538824C924.611765 49.09176500000001 672.828235-128 513.807059-128z m0 963.764706a39.152941 39.152941 0 0 1-24.696471-7.830588A438.512941 438.512941 0 0 0 319.247059 734.569412a608.376471 608.376471 0 0 0-180.705883-43.369412 33.731765 33.731765 0 0 1-24.094117-30.117647v-283.708235C118.663529 155.10588199999995 389.722353-67.76470600000005 513.807059-67.76470600000005s354.183529 148.178824 391.529412 444.536471c9.035294 175.887059 0 281.901176 0 283.105882a38.550588 38.550588 0 0 1-29.515295 33.731765 1287.830588 1287.830588 0 0 0-180.705882 41.562353A676.442353 676.442353 0 0 0 536.094118 829.741176a37.345882 37.345882 0 0 1-24.094118 6.02353zM784.865882 479.171765L487.905882 198.47529399999996a40.357647 40.357647 0 0 0-49.392941-4.818823l-7.830588 6.625882-161.430588 171.068235a40.357647 40.357647 0 1 0 60.235294 55.416471l133.722353-141.552941 267.444706 252.988235a40.357647 40.357647 0 1 0 55.41647-60.235294"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="service" unicode="&#58918;"
+                   d="M895.44035 502.006246A31.340412 31.340412 0 0 1 895.44035 512.2398499999999 383.76015 383.76015 0 0 1 127.92005 512.2398499999999a31.340412 31.340412 0 0 1 0-10.233604 167.575265 167.575265 0 0 1-127.92005-159.900062V320.359775a168.854466 168.854466 0 0 1 140.712055-163.098064A351.140537 351.140537 0 0 1 401.029357-63.400375000000054h5.756402a95.940037 95.940037 0 1 1 0 63.960025 287.180512 287.180512 0 0 0-195.717677 156.062461h35.817614A40.294816 40.294816 0 0 1 287.820112 192.43972499999995V468.747033a40.294816 40.294816 0 0 1-40.934416 39.015615H191.880075A30.061212 30.061212 0 0 1 191.880075 512.2398499999999a319.800125 319.800125 0 0 0 639.60025 0 30.061212 30.061212 0 0 1 0-3.837601h-55.005622a40.294816 40.294816 0 0 1-40.934416-39.015616V192.43972499999995a40.294816 40.294816 0 0 1 40.934416-39.015615h72.274829A170.773267 170.773267 0 0 1 1023.3604 320.359775v21.746409a167.575265 167.575265 0 0 1-127.92005 159.900062zM496.329794 0.5596500000000333a31.980012 31.980012 0 1 0-31.980013-31.980012 31.980012 31.980012 0 0 0 31.980013 31.980012zM223.860087 220.582136h-49.249219A106.813242 106.813242 0 0 0 63.960025 320.359775v21.746409a106.813242 106.813242 0 0 0 110.650843 102.33604h49.249219zM959.400375 320.359775a106.813242 106.813242 0 0 0-110.650843-102.33604h-49.24922V444.442224h49.24922A106.813242 106.813242 0 0 0 959.400375 342.106184zM650.473454 750.171143l-23.665209 8.314803a31.980012 31.980012 0 0 1-19.827608-63.960025l18.548407-7.035602a31.980012 31.980012 0 1 1 24.94441 58.843223zM305.089319 674.698314A31.980012 31.980012 0 0 1 358.17614 640.1599 202.113679 202.113679 0 0 0 511.6802 716.91193a31.980012 31.980012 0 0 1 0 63.960025 263.515303 263.515303 0 0 1-206.590881-106.173641z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="cellphone" unicode="&#59000;"
+                   d="M785.066667 896H238.933333a102.4 102.4 0 0 1-102.4-102.4v-819.2a102.4 102.4 0 0 1 102.4-102.4h546.133334a102.4 102.4 0 0 1 102.4 102.4V793.6a102.4 102.4 0 0 1-102.4 102.4zM238.933333 827.733333h546.133334a34.133333 34.133333 0 0 0 34.133333-34.133333v-648.533333H204.8V793.6a34.133333 34.133333 0 0 0 34.133333 34.133333z m546.133334-887.466666H238.933333a34.133333 34.133333 0 0 0-34.133333 34.133333v102.4h614.4v-102.4a34.133333 34.133333 0 0 0-34.133333-34.133333zM512 8.53333299999997m-34.133333 0a34.133333 34.133333 0 1 1 68.266666 0 34.133333 34.133333 0 1 1-68.266666 0ZM426.666667 725.333333h170.666666a17.066667 17.066667 0 0 1 0 34.133334h-170.666666a17.066667 17.066667 0 0 1 0-34.133334z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="print" unicode="&#58989;"
+                   d="M843.946667 603.733333h-47.36V725.333333a90.026667 90.026667 0 0 1-94.72 85.333334H312.32a81.493333 81.493333 0 0 1-85.333333-85.333334v-121.6H170.666667a81.493333 81.493333 0 0 1-85.333334-85.333333v-325.12a89.173333 89.173333 0 0 1 85.333334-93.866667h56.746666v-52.48a89.6 89.6 0 0 1 89.6-89.6h389.973334a89.6 89.6 0 0 1 89.6 89.6v52.48h47.36a97.706667 97.706667 0 0 1 94.72 93.866667V518.4a90.026667 90.026667 0 0 1-94.72 85.333333zM279.466667 725.333333a30.72 30.72 0 0 0 32.853333 33.706667h389.546667c18.773333 0 42.666667-11.52 42.666666-33.706667v-121.6H279.466667z m465.066666-678.4a37.546667 37.546667 0 0 0-37.546666-37.973333H317.013333a37.546667 37.546667 0 0 0-37.546666 37.973333v170.666667a37.546667 37.546667 0 0 0 37.546666 38.4h389.973334a37.546667 37.546667 0 0 0 37.546666-37.973333z m142.506667 146.346667a45.653333 45.653333 0 0 0-42.666667-42.666667h-47.786666v66.133334a89.6 89.6 0 0 1-89.6 89.6H317.013333a89.6 89.6 0 0 1-89.6-89.6v-65.28H170.666667a37.546667 37.546667 0 0 0-33.28 42.666666v324.266667A31.146667 31.146667 0 0 0 170.666667 552.106667h673.28c19.2 0 42.666667-11.52 42.666666-33.706667z m-640 281.173333h-37.546667a13.226667 13.226667 0 0 0 0 26.026667h38.826667a13.226667 13.226667 0 1 0 0-26.026667z m94.293333 0H298.666667a13.226667 13.226667 0 1 0 0 26.026667h42.666666a13.226667 13.226667 0 0 0 0-26.026667z m426.666667-116.48H248.32a13.226667 13.226667 0 0 0 0 26.026667H768a13.226667 13.226667 0 0 0 0-26.026667z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="cols" unicode="&#58896;"
+                   d="M128 448h384V832H128z m64 320h256v-256H192zM576 832v-384h384V832z m320-320H640V768h256zM192 384h64v-384H192zM384 384h64v-384H384zM640 384h64v-384H640zM832 384h64v-384h-64z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="export" unicode="&#59005;"
+                   d="M896.4374528 479.830016c0 26.673152-21.6236032 48.2967552-48.2967552 48.2967552H630.8069376c-26.673152 0-48.2967552-21.6236032-48.2967552-48.2967552v-83.04831147H384.69522773l-2.71428266 5.36849067c-41.336832 87.44686933-35.95195733 204.128256 150.601728 199.94487467v-108.91537067l172.19037866 164.757504L532.58267307 822.7110912v-106.57245867c-228.64418133 5.70709333-263.651328-183.517184-157.433856-314.01028266l4.6891008-5.34664534h-88.46595414c-26.673152 0-48.2967552-21.6236032-48.2967552-48.2967552v-66.78882986h-98.43616426c-26.673152 0-40.4258816-21.6236032-30.71781547-48.2967552l79.10304427-217.33485227c9.70806613-26.673152 39.20145067-48.2967552 65.87460266-48.2967552h603.70670934c23.75898453 0 37.2506624 17.16169387 33.05745066 39.76178347 0.4980736 2.77108053 0.77441707 5.619712 0.77441707 8.53497173v463.765504z m-60.37067093-306.4528896l-21.8464256 60.02223787c-9.70806613 26.673152-39.20145067 48.2967552-65.87460267 48.2967552H303.44697173v30.56708266c0 13.336576 10.81125547 24.14783147 24.14783147 24.14783147h315.28605013v107.1972352c0 13.336576 10.81125547 24.14783147 24.14783147 24.14783147h144.88917333c13.336576 0 24.14783147-10.81125547 24.14783147-24.14783147v-270.2311424z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="slider" unicode="&#59156;"
+                   d="M228.7 683.9v-66.7H112v66.7h116.7z m333.2-266.6v-66.7H112v66.7h449.9zM295.4 150.60000000000002V84H112v66.7h183.4v-0.1z m116.6 600c9 0 16.8-3.3 23.5-9.9 6.5-6.5 9.9-14.5 9.9-23.5v-133.3c0-9-3.3-16.8-9.9-23.5-6.5-6.5-14.5-9.9-23.5-9.9H278.8c-9 0-16.8 3.3-23.5 9.9-6.5 6.5-9.9 14.3-9.9 23.5V717.1c0 9 3.3 16.8 9.9 23.5 6.5 6.5 14.3 9.9 23.5 9.9h133.3v0.1h-0.1z m66.7-533.3c9 0 16.8-3.3 23.5-9.9 6.5-6.5 9.9-14.5 9.9-23.5v-133.3c0-9-3.3-16.8-9.9-23.5-6.5-6.5-14.5-9.9-23.5-9.9H345.3c-9 0-16.8 3.3-23.5 9.9-6.5 6.5-9.9 14.5-9.9 23.5V183.89999999999998c0 9 3.3 16.8 9.9 23.5 6.5 6.5 14.3 9.9 23.5 9.9h133.4v0.1zM912 683.9v-66.7H462.1v66.7H912z m0-533.3V84H528.6v66.7h383.3v-0.1h0.1zM745.2 483.9c9 0 16.8-3.3 23.5-9.9 6.5-6.5 9.9-14.5 9.9-23.5v-133.3c0-9-3.3-16.8-9.9-23.5-6.5-6.5-14.5-9.9-23.5-9.9H612c-9 0-16.8 3.3-23.5 9.9-6.5 6.5-9.9 14.3-9.9 23.5V450.6c0 9 3.3 16.8 9.9 23.5 6.5 6.5 14.5 9.9 23.5 9.9l133.2-0.1zM912 417.3v-66.7H795.3v66.7H912z"
+                   horiz-adv-x="1024"/>
+
+
+            <glyph glyph-name="subtraction" unicode="&#59006;"
+                   d="M785 348H239c-19.8 0-36 16.2-36 36s16.2 36 36 36h546c19.8 0 36-16.2 36-36s-16.2-36-36-36z"
+                   horiz-adv-x="1024"/>
+
+
+        </font>
+    </defs>
+</svg>
diff --git a/zy-acs-cv/src/main/webapp/static/layui/font/iconfont.ttf b/zy-acs-cv/src/main/webapp/static/layui/font/iconfont.ttf
new file mode 100644
index 0000000..3c22a23
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/font/iconfont.ttf
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/font/iconfont.woff b/zy-acs-cv/src/main/webapp/static/layui/font/iconfont.woff
new file mode 100644
index 0000000..8c660ce
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/font/iconfont.woff
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/font/iconfont.woff2 b/zy-acs-cv/src/main/webapp/static/layui/font/iconfont.woff2
new file mode 100644
index 0000000..928d66a
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/font/iconfont.woff2
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/images/face/0.gif b/zy-acs-cv/src/main/webapp/static/layui/images/face/0.gif
new file mode 100644
index 0000000..a63f0d5
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/images/face/0.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/images/face/1.gif b/zy-acs-cv/src/main/webapp/static/layui/images/face/1.gif
new file mode 100644
index 0000000..b2b78b2
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/images/face/1.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/images/face/10.gif b/zy-acs-cv/src/main/webapp/static/layui/images/face/10.gif
new file mode 100644
index 0000000..556c7e3
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/images/face/10.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/images/face/11.gif b/zy-acs-cv/src/main/webapp/static/layui/images/face/11.gif
new file mode 100644
index 0000000..2bfc58b
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/images/face/11.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/images/face/12.gif b/zy-acs-cv/src/main/webapp/static/layui/images/face/12.gif
new file mode 100644
index 0000000..1c321c7
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/images/face/12.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/images/face/13.gif b/zy-acs-cv/src/main/webapp/static/layui/images/face/13.gif
new file mode 100644
index 0000000..300bbc2
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/images/face/13.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/images/face/14.gif b/zy-acs-cv/src/main/webapp/static/layui/images/face/14.gif
new file mode 100644
index 0000000..43b6d0a
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/images/face/14.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/images/face/15.gif b/zy-acs-cv/src/main/webapp/static/layui/images/face/15.gif
new file mode 100644
index 0000000..c9f25fa
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/images/face/15.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/images/face/16.gif b/zy-acs-cv/src/main/webapp/static/layui/images/face/16.gif
new file mode 100644
index 0000000..34f28e4
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/images/face/16.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/images/face/17.gif b/zy-acs-cv/src/main/webapp/static/layui/images/face/17.gif
new file mode 100644
index 0000000..39cd035
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/images/face/17.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/images/face/18.gif b/zy-acs-cv/src/main/webapp/static/layui/images/face/18.gif
new file mode 100644
index 0000000..7bce299
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/images/face/18.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/images/face/19.gif b/zy-acs-cv/src/main/webapp/static/layui/images/face/19.gif
new file mode 100644
index 0000000..adac542
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/images/face/19.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/images/face/2.gif b/zy-acs-cv/src/main/webapp/static/layui/images/face/2.gif
new file mode 100644
index 0000000..7edbb58
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/images/face/2.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/images/face/20.gif b/zy-acs-cv/src/main/webapp/static/layui/images/face/20.gif
new file mode 100644
index 0000000..50631a6
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/images/face/20.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/images/face/21.gif b/zy-acs-cv/src/main/webapp/static/layui/images/face/21.gif
new file mode 100644
index 0000000..b984212
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/images/face/21.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/images/face/22.gif b/zy-acs-cv/src/main/webapp/static/layui/images/face/22.gif
new file mode 100644
index 0000000..1f0bd8b
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/images/face/22.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/images/face/23.gif b/zy-acs-cv/src/main/webapp/static/layui/images/face/23.gif
new file mode 100644
index 0000000..e05e0f9
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/images/face/23.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/images/face/24.gif b/zy-acs-cv/src/main/webapp/static/layui/images/face/24.gif
new file mode 100644
index 0000000..f35928a
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/images/face/24.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/images/face/25.gif b/zy-acs-cv/src/main/webapp/static/layui/images/face/25.gif
new file mode 100644
index 0000000..0b4a883
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/images/face/25.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/images/face/26.gif b/zy-acs-cv/src/main/webapp/static/layui/images/face/26.gif
new file mode 100644
index 0000000..45c4fb5
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/images/face/26.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/images/face/27.gif b/zy-acs-cv/src/main/webapp/static/layui/images/face/27.gif
new file mode 100644
index 0000000..7a4c013
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/images/face/27.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/images/face/28.gif b/zy-acs-cv/src/main/webapp/static/layui/images/face/28.gif
new file mode 100644
index 0000000..fc5a0cf
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/images/face/28.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/images/face/29.gif b/zy-acs-cv/src/main/webapp/static/layui/images/face/29.gif
new file mode 100644
index 0000000..5dd7442
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/images/face/29.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/images/face/3.gif b/zy-acs-cv/src/main/webapp/static/layui/images/face/3.gif
new file mode 100644
index 0000000..86df67b
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/images/face/3.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/images/face/30.gif b/zy-acs-cv/src/main/webapp/static/layui/images/face/30.gif
new file mode 100644
index 0000000..b751f98
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/images/face/30.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/images/face/31.gif b/zy-acs-cv/src/main/webapp/static/layui/images/face/31.gif
new file mode 100644
index 0000000..c9476d7
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/images/face/31.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/images/face/32.gif b/zy-acs-cv/src/main/webapp/static/layui/images/face/32.gif
new file mode 100644
index 0000000..9931b06
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/images/face/32.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/images/face/33.gif b/zy-acs-cv/src/main/webapp/static/layui/images/face/33.gif
new file mode 100644
index 0000000..59111a3
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/images/face/33.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/images/face/34.gif b/zy-acs-cv/src/main/webapp/static/layui/images/face/34.gif
new file mode 100644
index 0000000..a334548
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/images/face/34.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/images/face/35.gif b/zy-acs-cv/src/main/webapp/static/layui/images/face/35.gif
new file mode 100644
index 0000000..a932264
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/images/face/35.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/images/face/36.gif b/zy-acs-cv/src/main/webapp/static/layui/images/face/36.gif
new file mode 100644
index 0000000..6de432a
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/images/face/36.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/images/face/37.gif b/zy-acs-cv/src/main/webapp/static/layui/images/face/37.gif
new file mode 100644
index 0000000..d05f2da
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/images/face/37.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/images/face/38.gif b/zy-acs-cv/src/main/webapp/static/layui/images/face/38.gif
new file mode 100644
index 0000000..8b1c88a
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/images/face/38.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/images/face/39.gif b/zy-acs-cv/src/main/webapp/static/layui/images/face/39.gif
new file mode 100644
index 0000000..38b84a5
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/images/face/39.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/images/face/4.gif b/zy-acs-cv/src/main/webapp/static/layui/images/face/4.gif
new file mode 100644
index 0000000..d52200c
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/images/face/4.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/images/face/40.gif b/zy-acs-cv/src/main/webapp/static/layui/images/face/40.gif
new file mode 100644
index 0000000..ae42991
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/images/face/40.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/images/face/41.gif b/zy-acs-cv/src/main/webapp/static/layui/images/face/41.gif
new file mode 100644
index 0000000..b9c715c
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/images/face/41.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/images/face/42.gif b/zy-acs-cv/src/main/webapp/static/layui/images/face/42.gif
new file mode 100644
index 0000000..0eb1434
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/images/face/42.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/images/face/43.gif b/zy-acs-cv/src/main/webapp/static/layui/images/face/43.gif
new file mode 100644
index 0000000..ac0b700
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/images/face/43.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/images/face/44.gif b/zy-acs-cv/src/main/webapp/static/layui/images/face/44.gif
new file mode 100644
index 0000000..ad44497
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/images/face/44.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/images/face/45.gif b/zy-acs-cv/src/main/webapp/static/layui/images/face/45.gif
new file mode 100644
index 0000000..6837fca
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/images/face/45.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/images/face/46.gif b/zy-acs-cv/src/main/webapp/static/layui/images/face/46.gif
new file mode 100644
index 0000000..d62916d
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/images/face/46.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/images/face/47.gif b/zy-acs-cv/src/main/webapp/static/layui/images/face/47.gif
new file mode 100644
index 0000000..58a0836
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/images/face/47.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/images/face/48.gif b/zy-acs-cv/src/main/webapp/static/layui/images/face/48.gif
new file mode 100644
index 0000000..7ffd161
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/images/face/48.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/images/face/49.gif b/zy-acs-cv/src/main/webapp/static/layui/images/face/49.gif
new file mode 100644
index 0000000..959b992
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/images/face/49.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/images/face/5.gif b/zy-acs-cv/src/main/webapp/static/layui/images/face/5.gif
new file mode 100644
index 0000000..4e8b09f
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/images/face/5.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/images/face/50.gif b/zy-acs-cv/src/main/webapp/static/layui/images/face/50.gif
new file mode 100644
index 0000000..6e22e7f
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/images/face/50.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/images/face/51.gif b/zy-acs-cv/src/main/webapp/static/layui/images/face/51.gif
new file mode 100644
index 0000000..ad3f4d3
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/images/face/51.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/images/face/52.gif b/zy-acs-cv/src/main/webapp/static/layui/images/face/52.gif
new file mode 100644
index 0000000..39f8a22
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/images/face/52.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/images/face/53.gif b/zy-acs-cv/src/main/webapp/static/layui/images/face/53.gif
new file mode 100644
index 0000000..a181ee7
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/images/face/53.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/images/face/54.gif b/zy-acs-cv/src/main/webapp/static/layui/images/face/54.gif
new file mode 100644
index 0000000..e289d92
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/images/face/54.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/images/face/55.gif b/zy-acs-cv/src/main/webapp/static/layui/images/face/55.gif
new file mode 100644
index 0000000..4351083
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/images/face/55.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/images/face/56.gif b/zy-acs-cv/src/main/webapp/static/layui/images/face/56.gif
new file mode 100644
index 0000000..e0eff22
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/images/face/56.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/images/face/57.gif b/zy-acs-cv/src/main/webapp/static/layui/images/face/57.gif
new file mode 100644
index 0000000..0bf130f
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/images/face/57.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/images/face/58.gif b/zy-acs-cv/src/main/webapp/static/layui/images/face/58.gif
new file mode 100644
index 0000000..0f06508
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/images/face/58.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/images/face/59.gif b/zy-acs-cv/src/main/webapp/static/layui/images/face/59.gif
new file mode 100644
index 0000000..7081e4f
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/images/face/59.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/images/face/6.gif b/zy-acs-cv/src/main/webapp/static/layui/images/face/6.gif
new file mode 100644
index 0000000..f7715bf
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/images/face/6.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/images/face/60.gif b/zy-acs-cv/src/main/webapp/static/layui/images/face/60.gif
new file mode 100644
index 0000000..6e15f89
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/images/face/60.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/images/face/61.gif b/zy-acs-cv/src/main/webapp/static/layui/images/face/61.gif
new file mode 100644
index 0000000..f092d7e
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/images/face/61.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/images/face/62.gif b/zy-acs-cv/src/main/webapp/static/layui/images/face/62.gif
new file mode 100644
index 0000000..7fe4984
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/images/face/62.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/images/face/63.gif b/zy-acs-cv/src/main/webapp/static/layui/images/face/63.gif
new file mode 100644
index 0000000..cf8e23e
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/images/face/63.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/images/face/64.gif b/zy-acs-cv/src/main/webapp/static/layui/images/face/64.gif
new file mode 100644
index 0000000..a779719
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/images/face/64.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/images/face/65.gif b/zy-acs-cv/src/main/webapp/static/layui/images/face/65.gif
new file mode 100644
index 0000000..7bb98f2
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/images/face/65.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/images/face/66.gif b/zy-acs-cv/src/main/webapp/static/layui/images/face/66.gif
new file mode 100644
index 0000000..bb6d077
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/images/face/66.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/images/face/67.gif b/zy-acs-cv/src/main/webapp/static/layui/images/face/67.gif
new file mode 100644
index 0000000..6e33f7c
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/images/face/67.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/images/face/68.gif b/zy-acs-cv/src/main/webapp/static/layui/images/face/68.gif
new file mode 100644
index 0000000..1a6c400
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/images/face/68.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/images/face/69.gif b/zy-acs-cv/src/main/webapp/static/layui/images/face/69.gif
new file mode 100644
index 0000000..a02f0b2
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/images/face/69.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/images/face/7.gif b/zy-acs-cv/src/main/webapp/static/layui/images/face/7.gif
new file mode 100644
index 0000000..e6d4db8
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/images/face/7.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/images/face/70.gif b/zy-acs-cv/src/main/webapp/static/layui/images/face/70.gif
new file mode 100644
index 0000000..416c5c1
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/images/face/70.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/images/face/71.gif b/zy-acs-cv/src/main/webapp/static/layui/images/face/71.gif
new file mode 100644
index 0000000..c17d60c
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/images/face/71.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/images/face/8.gif b/zy-acs-cv/src/main/webapp/static/layui/images/face/8.gif
new file mode 100644
index 0000000..66f967b
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/images/face/8.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/images/face/9.gif b/zy-acs-cv/src/main/webapp/static/layui/images/face/9.gif
new file mode 100644
index 0000000..6044740
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/images/face/9.gif
Binary files differ
diff --git a/zy-acs-cv/src/main/webapp/static/layui/lay/modules/carousel.js b/zy-acs-cv/src/main/webapp/static/layui/lay/modules/carousel.js
new file mode 100644
index 0000000..78bfb11
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/lay/modules/carousel.js
@@ -0,0 +1,2 @@
+/** layui-v2.5.4 MIT License By https://www.layui.com */
+ ;layui.define("jquery",function(e){"use strict";var i=layui.$,n=(layui.hint(),layui.device(),{config:{},set:function(e){var n=this;return n.config=i.extend({},n.config,e),n},on:function(e,i){return layui.onevent.call(this,t,e,i)}}),t="carousel",a="layui-this",l=">*[carousel-item]>*",o="layui-carousel-left",r="layui-carousel-right",d="layui-carousel-prev",s="layui-carousel-next",u="layui-carousel-arrow",c="layui-carousel-ind",m=function(e){var t=this;t.config=i.extend({},t.config,n.config,e),t.render()};m.prototype.config={width:"600px",height:"100%",full:!1,arrow:"hover",indicator:"inside",autoplay:!0,interval:3e3,anim:"",trigger:"click",index:0},m.prototype.render=function(){var e=this,n=e.config;n.elem=i(n.elem),n.elem[0]&&(e.elemItem=n.elem.find(l),n.index<0&&(n.index=0),n.index>=e.elemItem.length&&(n.index=e.elemItem.length-1),n.interval<800&&(n.interval=800),n.full?n.elem.css({position:"fixed",width:"100%",height:"100%",zIndex:9999}):n.elem.css({width:n.width,height:n.height}),n.elem.attr("lay-anim",n.anim),e.elemItem.eq(n.index).addClass(a),e.elemItem.length<=1||(e.indicator(),e.arrow(),e.autoplay(),e.events()))},m.prototype.reload=function(e){var n=this;clearInterval(n.timer),n.config=i.extend({},n.config,e),n.render()},m.prototype.prevIndex=function(){var e=this,i=e.config,n=i.index-1;return n<0&&(n=e.elemItem.length-1),n},m.prototype.nextIndex=function(){var e=this,i=e.config,n=i.index+1;return n>=e.elemItem.length&&(n=0),n},m.prototype.addIndex=function(e){var i=this,n=i.config;e=e||1,n.index=n.index+e,n.index>=i.elemItem.length&&(n.index=0)},m.prototype.subIndex=function(e){var i=this,n=i.config;e=e||1,n.index=n.index-e,n.index<0&&(n.index=i.elemItem.length-1)},m.prototype.autoplay=function(){var e=this,i=e.config;i.autoplay&&(clearInterval(e.timer),e.timer=setInterval(function(){e.slide()},i.interval))},m.prototype.arrow=function(){var e=this,n=e.config,t=i(['<button class="layui-icon '+u+'" lay-type="sub">'+("updown"===n.anim?"&#xe619;":"&#xe603;")+"</button>",'<button class="layui-icon '+u+'" lay-type="add">'+("updown"===n.anim?"&#xe61a;":"&#xe602;")+"</button>"].join(""));n.elem.attr("lay-arrow",n.arrow),n.elem.find("."+u)[0]&&n.elem.find("."+u).remove(),n.elem.append(t),t.on("click",function(){var n=i(this),t=n.attr("lay-type");e.slide(t)})},m.prototype.indicator=function(){var e=this,n=e.config,t=e.elemInd=i(['<div class="'+c+'"><ul>',function(){var i=[];return layui.each(e.elemItem,function(e){i.push("<li"+(n.index===e?' class="layui-this"':"")+"></li>")}),i.join("")}(),"</ul></div>"].join(""));n.elem.attr("lay-indicator",n.indicator),n.elem.find("."+c)[0]&&n.elem.find("."+c).remove(),n.elem.append(t),"updown"===n.anim&&t.css("margin-top",-(t.height()/2)),t.find("li").on("hover"===n.trigger?"mouseover":n.trigger,function(){var t=i(this),a=t.index();a>n.index?e.slide("add",a-n.index):a<n.index&&e.slide("sub",n.index-a)})},m.prototype.slide=function(e,i){var n=this,l=n.elemItem,u=n.config,c=u.index,m=u.elem.attr("lay-filter");n.haveSlide||("sub"===e?(n.subIndex(i),l.eq(u.index).addClass(d),setTimeout(function(){l.eq(c).addClass(r),l.eq(u.index).addClass(r)},50)):(n.addIndex(i),l.eq(u.index).addClass(s),setTimeout(function(){l.eq(c).addClass(o),l.eq(u.index).addClass(o)},50)),setTimeout(function(){l.removeClass(a+" "+d+" "+s+" "+o+" "+r),l.eq(u.index).addClass(a),n.haveSlide=!1},300),n.elemInd.find("li").eq(u.index).addClass(a).siblings().removeClass(a),n.haveSlide=!0,layui.event.call(this,t,"change("+m+")",{index:u.index,prevIndex:c,item:l.eq(u.index)}))},m.prototype.events=function(){var e=this,i=e.config;i.elem.data("haveEvents")||(i.elem.on("mouseenter",function(){clearInterval(e.timer)}).on("mouseleave",function(){e.autoplay()}),i.elem.data("haveEvents",!0))},n.render=function(e){var i=new m(e);return i},e(t,n)});
\ No newline at end of file
diff --git a/zy-acs-cv/src/main/webapp/static/layui/lay/modules/code.js b/zy-acs-cv/src/main/webapp/static/layui/lay/modules/code.js
new file mode 100644
index 0000000..9b1045e
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/lay/modules/code.js
@@ -0,0 +1,2 @@
+/** layui-v2.5.4 MIT License By https://www.layui.com */
+ ;layui.define("jquery",function(e){"use strict";var a=layui.$,l="http://www.layui.com/doc/modules/code.html";e("code",function(e){var t=[];e=e||{},e.elem=a(e.elem||".layui-code"),e.about=!("about"in e)||e.about,e.elem.each(function(){t.push(this)}),layui.each(t.reverse(),function(t,i){var c=a(i),o=c.html();(c.attr("lay-encode")||e.encode)&&(o=o.replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/'/g,"&#39;").replace(/"/g,"&quot;")),c.html('<ol class="layui-code-ol"><li>'+o.replace(/[\r\t\n]+/g,"</li><li>")+"</li></ol>"),c.find(">.layui-code-h3")[0]||c.prepend('<h3 class="layui-code-h3">'+(c.attr("lay-title")||e.title||"code")+(e.about?'<a href="'+l+'" target="_blank">layui.code</a>':"")+"</h3>");var d=c.find(">.layui-code-ol");c.addClass("layui-box layui-code-view"),(c.attr("lay-skin")||e.skin)&&c.addClass("layui-code-"+(c.attr("lay-skin")||e.skin)),(d.find("li").length/100|0)>0&&d.css("margin-left",(d.find("li").length/100|0)+"px"),(c.attr("lay-height")||e.height)&&d.css("max-height",c.attr("lay-height")||e.height)})})}).addcss("modules/code.css","skincodecss");
\ No newline at end of file
diff --git a/zy-acs-cv/src/main/webapp/static/layui/lay/modules/colorpicker.js b/zy-acs-cv/src/main/webapp/static/layui/lay/modules/colorpicker.js
new file mode 100644
index 0000000..7eca56f
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/lay/modules/colorpicker.js
@@ -0,0 +1,2 @@
+/** layui-v2.5.4 MIT License By https://www.layui.com */
+ ;layui.define("jquery",function(e){"use strict";var i=layui.jquery,o={config:{},index:layui.colorpicker?layui.colorpicker.index+1e4:0,set:function(e){var o=this;return o.config=i.extend({},o.config,e),o},on:function(e,i){return layui.onevent.call(this,"colorpicker",e,i)}},r=function(){var e=this,i=e.config;return{config:i}},t="colorpicker",n="layui-show",l="layui-colorpicker",c=".layui-colorpicker-main",a="layui-icon-down",s="layui-icon-close",f="layui-colorpicker-trigger-span",d="layui-colorpicker-trigger-i",u="layui-colorpicker-side",p="layui-colorpicker-side-slider",g="layui-colorpicker-basis",v="layui-colorpicker-alpha-bgcolor",h="layui-colorpicker-alpha-slider",m="layui-colorpicker-basis-cursor",b="layui-colorpicker-main-input",k=function(e){var i={h:0,s:0,b:0},o=Math.min(e.r,e.g,e.b),r=Math.max(e.r,e.g,e.b),t=r-o;return i.b=r,i.s=0!=r?255*t/r:0,0!=i.s?e.r==r?i.h=(e.g-e.b)/t:e.g==r?i.h=2+(e.b-e.r)/t:i.h=4+(e.r-e.g)/t:i.h=-1,r==o&&(i.h=0),i.h*=60,i.h<0&&(i.h+=360),i.s*=100/255,i.b*=100/255,i},y=function(e){var e=e.indexOf("#")>-1?e.substring(1):e;if(3==e.length){var i=e.split("");e=i[0]+i[0]+i[1]+i[1]+i[2]+i[2]}e=parseInt(e,16);var o={r:e>>16,g:(65280&e)>>8,b:255&e};return k(o)},x=function(e){var i={},o=e.h,r=255*e.s/100,t=255*e.b/100;if(0==r)i.r=i.g=i.b=t;else{var n=t,l=(255-r)*t/255,c=(n-l)*(o%60)/60;360==o&&(o=0),o<60?(i.r=n,i.b=l,i.g=l+c):o<120?(i.g=n,i.b=l,i.r=n-c):o<180?(i.g=n,i.r=l,i.b=l+c):o<240?(i.b=n,i.r=l,i.g=n-c):o<300?(i.b=n,i.g=l,i.r=l+c):o<360?(i.r=n,i.g=l,i.b=n-c):(i.r=0,i.g=0,i.b=0)}return{r:Math.round(i.r),g:Math.round(i.g),b:Math.round(i.b)}},C=function(e){var o=x(e),r=[o.r.toString(16),o.g.toString(16),o.b.toString(16)];return i.each(r,function(e,i){1==i.length&&(r[e]="0"+i)}),r.join("")},P=function(e){var i=/[0-9]{1,3}/g,o=e.match(i)||[];return{r:o[0],g:o[1],b:o[2]}},B=i(window),w=i(document),D=function(e){var r=this;r.index=++o.index,r.config=i.extend({},r.config,o.config,e),r.render()};D.prototype.config={color:"",size:null,alpha:!1,format:"hex",predefine:!1,colors:["#009688","#5FB878","#1E9FFF","#FF5722","#FFB800","#01AAED","#999","#c00","#ff8c00","#ffd700","#90ee90","#00ced1","#1e90ff","#c71585","rgb(0, 186, 189)","rgb(255, 120, 0)","rgb(250, 212, 0)","#393D49","rgba(0,0,0,.5)","rgba(255, 69, 0, 0.68)","rgba(144, 240, 144, 0.5)","rgba(31, 147, 255, 0.73)"]},D.prototype.render=function(){var e=this,o=e.config,r=i(['<div class="layui-unselect layui-colorpicker">',"<span "+("rgb"==o.format&&o.alpha?'class="layui-colorpicker-trigger-bgcolor"':"")+">",'<span class="layui-colorpicker-trigger-span" ','lay-type="'+("rgb"==o.format?o.alpha?"rgba":"torgb":"")+'" ','style="'+function(){var e="";return o.color?(e=o.color,(o.color.match(/[0-9]{1,3}/g)||[]).length>3&&(o.alpha&&"rgb"==o.format||(e="#"+C(k(P(o.color))))),"background: "+e):e}()+'">','<i class="layui-icon layui-colorpicker-trigger-i '+(o.color?a:s)+'"></i>',"</span>","</span>","</div>"].join("")),t=i(o.elem);o.size&&r.addClass("layui-colorpicker-"+o.size),t.addClass("layui-inline").html(e.elemColorBox=r),e.color=e.elemColorBox.find("."+f)[0].style.background,e.events()},D.prototype.renderPicker=function(){var e=this,o=e.config,r=e.elemColorBox[0],t=e.elemPicker=i(['<div id="layui-colorpicker'+e.index+'" data-index="'+e.index+'" class="layui-anim layui-anim-upbit layui-colorpicker-main">','<div class="layui-colorpicker-main-wrapper">','<div class="layui-colorpicker-basis">','<div class="layui-colorpicker-basis-white"></div>','<div class="layui-colorpicker-basis-black"></div>','<div class="layui-colorpicker-basis-cursor"></div>',"</div>",'<div class="layui-colorpicker-side">','<div class="layui-colorpicker-side-slider"></div>',"</div>","</div>",'<div class="layui-colorpicker-main-alpha '+(o.alpha?n:"")+'">','<div class="layui-colorpicker-alpha-bgcolor">','<div class="layui-colorpicker-alpha-slider"></div>',"</div>","</div>",function(){if(o.predefine){var e=['<div class="layui-colorpicker-main-pre">'];return layui.each(o.colors,function(i,o){e.push(['<div class="layui-colorpicker-pre'+((o.match(/[0-9]{1,3}/g)||[]).length>3?" layui-colorpicker-pre-isalpha":"")+'">','<div style="background:'+o+'"></div>',"</div>"].join(""))}),e.push("</div>"),e.join("")}return""}(),'<div class="layui-colorpicker-main-input">','<div class="layui-inline">','<input type="text" class="layui-input">',"</div>",'<div class="layui-btn-container">','<button class="layui-btn layui-btn-primary layui-btn-sm" colorpicker-events="clear">娓呯┖</button>','<button class="layui-btn layui-btn-sm" colorpicker-events="confirm">纭畾</button>',"</div","</div>","</div>"].join(""));e.elemColorBox.find("."+f)[0];i(c)[0]&&i(c).data("index")==e.index?e.removePicker(D.thisElemInd):(e.removePicker(D.thisElemInd),i("body").append(t)),D.thisElemInd=e.index,D.thisColor=r.style.background,e.position(),e.pickerEvents()},D.prototype.removePicker=function(e){var o=this;o.config;return i("#layui-colorpicker"+(e||o.index)).remove(),o},D.prototype.position=function(){var e=this,i=e.config,o=e.bindElem||e.elemColorBox[0],r=e.elemPicker[0],t=o.getBoundingClientRect(),n=r.offsetWidth,l=r.offsetHeight,c=function(e){return e=e?"scrollLeft":"scrollTop",document.body[e]|document.documentElement[e]},a=function(e){return document.documentElement[e?"clientWidth":"clientHeight"]},s=5,f=t.left,d=t.bottom;f-=(n-o.offsetWidth)/2,d+=s,f+n+s>a("width")?f=a("width")-n-s:f<s&&(f=s),d+l+s>a()&&(d=t.top>l?t.top-l:a()-l,d-=2*s),i.position&&(r.style.position=i.position),r.style.left=f+("fixed"===i.position?0:c(1))+"px",r.style.top=d+("fixed"===i.position?0:c())+"px"},D.prototype.val=function(){var e=this,i=(e.config,e.elemColorBox.find("."+f)),o=e.elemPicker.find("."+b),r=i[0],t=r.style.backgroundColor;if(t){var n=k(P(t)),l=i.attr("lay-type");if(e.select(n.h,n.s,n.b),"torgb"===l&&o.find("input").val(t),"rgba"===l){var c=P(t);if(3==(t.match(/[0-9]{1,3}/g)||[]).length)o.find("input").val("rgba("+c.r+", "+c.g+", "+c.b+", 1)"),e.elemPicker.find("."+h).css("left",280);else{o.find("input").val(t);var a=280*t.slice(t.lastIndexOf(",")+1,t.length-1);e.elemPicker.find("."+h).css("left",a)}e.elemPicker.find("."+v)[0].style.background="linear-gradient(to right, rgba("+c.r+", "+c.g+", "+c.b+", 0), rgb("+c.r+", "+c.g+", "+c.b+"))"}}else e.select(0,100,100),o.find("input").val(""),e.elemPicker.find("."+v)[0].style.background="",e.elemPicker.find("."+h).css("left",280)},D.prototype.side=function(){var e=this,o=e.config,r=e.elemColorBox.find("."+f),t=r.attr("lay-type"),n=e.elemPicker.find("."+u),l=e.elemPicker.find("."+p),c=e.elemPicker.find("."+g),y=e.elemPicker.find("."+m),C=e.elemPicker.find("."+v),w=e.elemPicker.find("."+h),D=l[0].offsetTop/180*360,E=100-(y[0].offsetTop+3)/180*100,H=(y[0].offsetLeft+3)/260*100,W=Math.round(w[0].offsetLeft/280*100)/100,j=e.elemColorBox.find("."+d),F=e.elemPicker.find(".layui-colorpicker-pre").children("div"),L=function(i,n,l,c){e.select(i,n,l);var f=x({h:i,s:n,b:l});if(j.addClass(a).removeClass(s),r[0].style.background="rgb("+f.r+", "+f.g+", "+f.b+")","torgb"===t&&e.elemPicker.find("."+b).find("input").val("rgb("+f.r+", "+f.g+", "+f.b+")"),"rgba"===t){var d=0;d=280*c,w.css("left",d),e.elemPicker.find("."+b).find("input").val("rgba("+f.r+", "+f.g+", "+f.b+", "+c+")"),r[0].style.background="rgba("+f.r+", "+f.g+", "+f.b+", "+c+")",C[0].style.background="linear-gradient(to right, rgba("+f.r+", "+f.g+", "+f.b+", 0), rgb("+f.r+", "+f.g+", "+f.b+"))"}o.change&&o.change(e.elemPicker.find("."+b).find("input").val())},M=i(['<div class="layui-auxiliar-moving" id="LAY-colorpicker-moving"></div'].join("")),Y=function(e){i("#LAY-colorpicker-moving")[0]||i("body").append(M),M.on("mousemove",e),M.on("mouseup",function(){M.remove()}).on("mouseleave",function(){M.remove()})};l.on("mousedown",function(e){var i=this.offsetTop,o=e.clientY,r=function(e){var r=i+(e.clientY-o),t=n[0].offsetHeight;r<0&&(r=0),r>t&&(r=t);var l=r/180*360;D=l,L(l,H,E,W),e.preventDefault()};Y(r),e.preventDefault()}),n.on("click",function(e){var o=e.clientY-i(this).offset().top;o<0&&(o=0),o>this.offsetHeight&&(o=this.offsetHeight);var r=o/180*360;D=r,L(r,H,E,W),e.preventDefault()}),y.on("mousedown",function(e){var i=this.offsetTop,o=this.offsetLeft,r=e.clientY,t=e.clientX,n=function(e){var n=i+(e.clientY-r),l=o+(e.clientX-t),a=c[0].offsetHeight-3,s=c[0].offsetWidth-3;n<-3&&(n=-3),n>a&&(n=a),l<-3&&(l=-3),l>s&&(l=s);var f=(l+3)/260*100,d=100-(n+3)/180*100;E=d,H=f,L(D,f,d,W),e.preventDefault()};layui.stope(e),Y(n),e.preventDefault()}),c.on("mousedown",function(e){var o=e.clientY-i(this).offset().top-3+B.scrollTop(),r=e.clientX-i(this).offset().left-3+B.scrollLeft();o<-3&&(o=-3),o>this.offsetHeight-3&&(o=this.offsetHeight-3),r<-3&&(r=-3),r>this.offsetWidth-3&&(r=this.offsetWidth-3);var t=(r+3)/260*100,n=100-(o+3)/180*100;E=n,H=t,L(D,t,n,W),e.preventDefault(),y.trigger(e,"mousedown")}),w.on("mousedown",function(e){var i=this.offsetLeft,o=e.clientX,r=function(e){var r=i+(e.clientX-o),t=C[0].offsetWidth;r<0&&(r=0),r>t&&(r=t);var n=Math.round(r/280*100)/100;W=n,L(D,H,E,n),e.preventDefault()};Y(r),e.preventDefault()}),C.on("click",function(e){var o=e.clientX-i(this).offset().left;o<0&&(o=0),o>this.offsetWidth&&(o=this.offsetWidth);var r=Math.round(o/280*100)/100;W=r,L(D,H,E,r),e.preventDefault()}),F.each(function(){i(this).on("click",function(){i(this).parent(".layui-colorpicker-pre").addClass("selected").siblings().removeClass("selected");var e,o=this.style.backgroundColor,r=k(P(o)),t=o.slice(o.lastIndexOf(",")+1,o.length-1);D=r.h,H=r.s,E=r.b,3==(o.match(/[0-9]{1,3}/g)||[]).length&&(t=1),W=t,e=280*t,L(r.h,r.s,r.b,t)})})},D.prototype.select=function(e,i,o,r){var t=this,n=(t.config,C({h:e,s:100,b:100})),l=C({h:e,s:i,b:o}),c=e/360*180,a=180-o/100*180-3,s=i/100*260-3;t.elemPicker.find("."+p).css("top",c),t.elemPicker.find("."+g)[0].style.background="#"+n,t.elemPicker.find("."+m).css({top:a,left:s}),"change"!==r&&t.elemPicker.find("."+b).find("input").val("#"+l)},D.prototype.pickerEvents=function(){var e=this,o=e.config,r=e.elemColorBox.find("."+f),t=e.elemPicker.find("."+b+" input"),n={clear:function(i){r[0].style.background="",e.elemColorBox.find("."+d).removeClass(a).addClass(s),e.color="",o.done&&o.done(""),e.removePicker()},confirm:function(i,n){var l=t.val(),c=l,f={};if(l.indexOf(",")>-1){if(f=k(P(l)),e.select(f.h,f.s,f.b),r[0].style.background=c="#"+C(f),(l.match(/[0-9]{1,3}/g)||[]).length>3&&"rgba"===r.attr("lay-type")){var u=280*l.slice(l.lastIndexOf(",")+1,l.length-1);e.elemPicker.find("."+h).css("left",u),r[0].style.background=l,c=l}}else f=y(l),r[0].style.background=c="#"+C(f),e.elemColorBox.find("."+d).removeClass(s).addClass(a);return"change"===n?(e.select(f.h,f.s,f.b,n),void(o.change&&o.change(c))):(e.color=l,o.done&&o.done(l),void e.removePicker())}};e.elemPicker.on("click","*[colorpicker-events]",function(){var e=i(this),o=e.attr("colorpicker-events");n[o]&&n[o].call(this,e)}),t.on("keyup",function(e){var o=i(this);n.confirm.call(this,o,13===e.keyCode?null:"change")})},D.prototype.events=function(){var e=this,o=e.config,r=e.elemColorBox.find("."+f);e.elemColorBox.on("click",function(){e.renderPicker(),i(c)[0]&&(e.val(),e.side())}),o.elem[0]&&!e.elemColorBox[0].eventHandler&&(w.on("click",function(o){if(!i(o.target).hasClass(l)&&!i(o.target).parents("."+l)[0]&&!i(o.target).hasClass(c.replace(/\./g,""))&&!i(o.target).parents(c)[0]&&e.elemPicker){if(e.color){var t=k(P(e.color));e.select(t.h,t.s,t.b)}else e.elemColorBox.find("."+d).removeClass(a).addClass(s);r[0].style.background=e.color||"",e.removePicker()}}),B.on("resize",function(){return!(!e.elemPicker||!i(c)[0])&&void e.position()}),e.elemColorBox[0].eventHandler=!0)},o.render=function(e){var i=new D(e);return r.call(i)},e(t,o)});
\ No newline at end of file
diff --git a/zy-acs-cv/src/main/webapp/static/layui/lay/modules/element.js b/zy-acs-cv/src/main/webapp/static/layui/lay/modules/element.js
new file mode 100644
index 0000000..789f7b9
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/lay/modules/element.js
@@ -0,0 +1,2 @@
+/** layui-v2.5.4 MIT License By https://www.layui.com */
+ ;layui.define("jquery",function(t){"use strict";var a=layui.$,i=(layui.hint(),layui.device()),e="element",l="layui-this",n="layui-show",s=function(){this.config={}};s.prototype.set=function(t){var i=this;return a.extend(!0,i.config,t),i},s.prototype.on=function(t,a){return layui.onevent.call(this,e,t,a)},s.prototype.tabAdd=function(t,i){var e=".layui-tab-title",l=a(".layui-tab[lay-filter="+t+"]"),n=l.children(e),s=n.children(".layui-tab-bar"),o=l.children(".layui-tab-content"),r='<li lay-id="'+(i.id||"")+'"'+(i.attr?' lay-attr="'+i.attr+'"':"")+">"+(i.title||"unnaming")+"</li>";return s[0]?s.before(r):n.append(r),o.append('<div class="layui-tab-item">'+(i.content||"")+"</div>"),f.hideTabMore(!0),f.tabAuto(),this},s.prototype.tabDelete=function(t,i){var e=".layui-tab-title",l=a(".layui-tab[lay-filter="+t+"]"),n=l.children(e),s=n.find('>li[lay-id="'+i+'"]');return f.tabDelete(null,s),this},s.prototype.tabChange=function(t,i){var e=".layui-tab-title",l=a(".layui-tab[lay-filter="+t+"]"),n=l.children(e),s=n.find('>li[lay-id="'+i+'"]');return f.tabClick.call(s[0],null,null,s),this},s.prototype.tab=function(t){t=t||{},b.on("click",t.headerElem,function(i){var e=a(this).index();f.tabClick.call(this,i,e,null,t)})},s.prototype.progress=function(t,i){var e="layui-progress",l=a("."+e+"[lay-filter="+t+"]"),n=l.find("."+e+"-bar"),s=n.find("."+e+"-text");return n.css("width",i),s.text(i),this};var o=".layui-nav",r="layui-nav-item",c="layui-nav-bar",u="layui-nav-tree",d="layui-nav-child",y="layui-nav-more",h="layui-anim layui-anim-upbit",f={tabClick:function(t,i,s,o){o=o||{};var r=s||a(this),i=i||r.parent().children("li").index(r),c=o.headerElem?r.parent():r.parents(".layui-tab").eq(0),u=o.bodyElem?a(o.bodyElem):c.children(".layui-tab-content").children(".layui-tab-item"),d=r.find("a"),y=c.attr("lay-filter");"javascript:;"!==d.attr("href")&&"_blank"===d.attr("target")||(r.addClass(l).siblings().removeClass(l),u.eq(i).addClass(n).siblings().removeClass(n)),layui.event.call(this,e,"tab("+y+")",{elem:c,index:i})},tabDelete:function(t,i){var n=i||a(this).parent(),s=n.index(),o=n.parents(".layui-tab").eq(0),r=o.children(".layui-tab-content").children(".layui-tab-item"),c=o.attr("lay-filter");n.hasClass(l)&&(n.next()[0]?f.tabClick.call(n.next()[0],null,s+1):n.prev()[0]&&f.tabClick.call(n.prev()[0],null,s-1)),n.remove(),r.eq(s).remove(),setTimeout(function(){f.tabAuto()},50),layui.event.call(this,e,"tabDelete("+c+")",{elem:o,index:s})},tabAuto:function(){var t="layui-tab-more",e="layui-tab-bar",l="layui-tab-close",n=this;a(".layui-tab").each(function(){var s=a(this),o=s.children(".layui-tab-title"),r=(s.children(".layui-tab-content").children(".layui-tab-item"),'lay-stope="tabmore"'),c=a('<span class="layui-unselect layui-tab-bar" '+r+"><i "+r+' class="layui-icon">&#xe61a;</i></span>');if(n===window&&8!=i.ie&&f.hideTabMore(!0),s.attr("lay-allowClose")&&o.find("li").each(function(){var t=a(this);if(!t.find("."+l)[0]){var i=a('<i class="layui-icon layui-unselect '+l+'">&#x1006;</i>');i.on("click",f.tabDelete),t.append(i)}}),"string"!=typeof s.attr("lay-unauto"))if(o.prop("scrollWidth")>o.outerWidth()+1){if(o.find("."+e)[0])return;o.append(c),s.attr("overflow",""),c.on("click",function(a){o[this.title?"removeClass":"addClass"](t),this.title=this.title?"":"鏀剁缉"})}else o.find("."+e).remove(),s.removeAttr("overflow")})},hideTabMore:function(t){var i=a(".layui-tab-title");t!==!0&&"tabmore"===a(t.target).attr("lay-stope")||(i.removeClass("layui-tab-more"),i.find(".layui-tab-bar").attr("title",""))},clickThis:function(){var t=a(this),i=t.parents(o),n=i.attr("lay-filter"),s=t.parent(),c=t.siblings("."+d),y="string"==typeof s.attr("lay-unselect");"javascript:;"!==t.attr("href")&&"_blank"===t.attr("target")||y||c[0]||(i.find("."+l).removeClass(l),s.addClass(l)),i.hasClass(u)&&(c.removeClass(h),c[0]&&(s["none"===c.css("display")?"addClass":"removeClass"](r+"ed"),"all"===i.attr("lay-shrink")&&s.siblings().removeClass(r+"ed"))),layui.event.call(this,e,"nav("+n+")",t)},collapse:function(){var t=a(this),i=t.find(".layui-colla-icon"),l=t.siblings(".layui-colla-content"),s=t.parents(".layui-collapse").eq(0),o=s.attr("lay-filter"),r="none"===l.css("display");if("string"==typeof s.attr("lay-accordion")){var c=s.children(".layui-colla-item").children("."+n);c.siblings(".layui-colla-title").children(".layui-colla-icon").html("&#xe602;"),c.removeClass(n)}l[r?"addClass":"removeClass"](n),i.html(r?"&#xe61a;":"&#xe602;"),layui.event.call(this,e,"collapse("+o+")",{title:t,content:l,show:r})}};s.prototype.init=function(t,e){var l=function(){return e?'[lay-filter="'+e+'"]':""}(),s={tab:function(){f.tabAuto.call({})},nav:function(){var t=200,e={},s={},p={},b=function(l,o,r){var c=a(this),f=c.find("."+d);o.hasClass(u)?l.css({top:c.position().top,height:c.children("a").outerHeight(),opacity:1}):(f.addClass(h),l.css({left:c.position().left+parseFloat(c.css("marginLeft")),top:c.position().top+c.height()-l.height()}),e[r]=setTimeout(function(){l.css({width:c.width(),opacity:1})},i.ie&&i.ie<10?0:t),clearTimeout(p[r]),"block"===f.css("display")&&clearTimeout(s[r]),s[r]=setTimeout(function(){f.addClass(n),c.find("."+y).addClass(y+"d")},300))};a(o+l).each(function(i){var l=a(this),o=a('<span class="'+c+'"></span>'),h=l.find("."+r);l.find("."+c)[0]||(l.append(o),h.on("mouseenter",function(){b.call(this,o,l,i)}).on("mouseleave",function(){l.hasClass(u)||(clearTimeout(s[i]),s[i]=setTimeout(function(){l.find("."+d).removeClass(n),l.find("."+y).removeClass(y+"d")},300))}),l.on("mouseleave",function(){clearTimeout(e[i]),p[i]=setTimeout(function(){l.hasClass(u)?o.css({height:0,top:o.position().top+o.height()/2,opacity:0}):o.css({width:0,left:o.position().left+o.width()/2,opacity:0})},t)})),h.find("a").each(function(){var t=a(this),i=(t.parent(),t.siblings("."+d));i[0]&&!t.children("."+y)[0]&&t.append('<span class="'+y+'"></span>'),t.off("click",f.clickThis).on("click",f.clickThis)})})},breadcrumb:function(){var t=".layui-breadcrumb";a(t+l).each(function(){var t=a(this),i="lay-separator",e=t.attr(i)||"/",l=t.find("a");l.next("span["+i+"]")[0]||(l.each(function(t){t!==l.length-1&&a(this).after("<span "+i+">"+e+"</span>")}),t.css("visibility","visible"))})},progress:function(){var t="layui-progress";a("."+t+l).each(function(){var i=a(this),e=i.find(".layui-progress-bar"),l=e.attr("lay-percent");e.css("width",function(){return/^.+\/.+$/.test(l)?100*new Function("return "+l)()+"%":l}()),i.attr("lay-showPercent")&&setTimeout(function(){e.html('<span class="'+t+'-text">'+l+"</span>")},350)})},collapse:function(){var t="layui-collapse";a("."+t+l).each(function(){var t=a(this).find(".layui-colla-item");t.each(function(){var t=a(this),i=t.find(".layui-colla-title"),e=t.find(".layui-colla-content"),l="none"===e.css("display");i.find(".layui-colla-icon").remove(),i.append('<i class="layui-icon layui-colla-icon">'+(l?"&#xe602;":"&#xe61a;")+"</i>"),i.off("click",f.collapse).on("click",f.collapse)})})}};return s[t]?s[t]():layui.each(s,function(t,a){a()})},s.prototype.render=s.prototype.init;var p=new s,b=a(document);p.render();var v=".layui-tab-title li";b.on("click",v,f.tabClick),b.on("click",f.hideTabMore),a(window).on("resize",f.tabAuto),t(e,p)});
\ No newline at end of file
diff --git a/zy-acs-cv/src/main/webapp/static/layui/lay/modules/flow.js b/zy-acs-cv/src/main/webapp/static/layui/lay/modules/flow.js
new file mode 100644
index 0000000..b8d36ba
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/lay/modules/flow.js
@@ -0,0 +1,2 @@
+/** layui-v2.5.4 MIT License By https://www.layui.com */
+ ;layui.define("jquery",function(e){"use strict";var l=layui.$,o=function(e){},t='<i class="layui-anim layui-anim-rotate layui-anim-loop layui-icon ">&#xe63e;</i>';o.prototype.load=function(e){var o,i,n,r,a=this,c=0;e=e||{};var f=l(e.elem);if(f[0]){var m=l(e.scrollElem||document),u=e.mb||50,s=!("isAuto"in e)||e.isAuto,v=e.end||"娌℃湁鏇村浜�",y=e.scrollElem&&e.scrollElem!==document,d="<cite>鍔犺浇鏇村</cite>",h=l('<div class="layui-flow-more"><a href="javascript:;">'+d+"</a></div>");f.find(".layui-flow-more")[0]||f.append(h);var p=function(e,t){e=l(e),h.before(e),t=0==t||null,t?h.html(v):h.find("a").html(d),i=t,o=null,n&&n()},g=function(){o=!0,h.find("a").html(t),"function"==typeof e.done&&e.done(++c,p)};if(g(),h.find("a").on("click",function(){l(this);i||o||g()}),e.isLazyimg)var n=a.lazyimg({elem:e.elem+" img",scrollElem:e.scrollElem});return s?(m.on("scroll",function(){var e=l(this),t=e.scrollTop();r&&clearTimeout(r),i||(r=setTimeout(function(){var i=y?e.height():l(window).height(),n=y?e.prop("scrollHeight"):document.documentElement.scrollHeight;n-t-i<=u&&(o||g())},100))}),a):a}},o.prototype.lazyimg=function(e){var o,t=this,i=0;e=e||{};var n=l(e.scrollElem||document),r=e.elem||"img",a=e.scrollElem&&e.scrollElem!==document,c=function(e,l){var o=n.scrollTop(),r=o+l,c=a?function(){return e.offset().top-n.offset().top+o}():e.offset().top;if(c>=o&&c<=r&&!e.attr("src")){var m=e.attr("lay-src");layui.img(m,function(){var l=t.lazyimg.elem.eq(i);e.attr("src",m).removeAttr("lay-src"),l[0]&&f(l),i++})}},f=function(e,o){var f=a?(o||n).height():l(window).height(),m=n.scrollTop(),u=m+f;if(t.lazyimg.elem=l(r),e)c(e,f);else for(var s=0;s<t.lazyimg.elem.length;s++){var v=t.lazyimg.elem.eq(s),y=a?function(){return v.offset().top-n.offset().top+m}():v.offset().top;if(c(v,f),i=s,y>u)break}};if(f(),!o){var m;n.on("scroll",function(){var e=l(this);m&&clearTimeout(m),m=setTimeout(function(){f(null,e)},50)}),o=!0}return f},e("flow",new o)});
\ No newline at end of file
diff --git a/zy-acs-cv/src/main/webapp/static/layui/lay/modules/form.js b/zy-acs-cv/src/main/webapp/static/layui/lay/modules/form.js
new file mode 100644
index 0000000..7947508
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/lay/modules/form.js
@@ -0,0 +1,2 @@
+/** layui-v2.5.4 MIT License By https://www.layui.com */
+ ;layui.define("layer",function(e){"use strict";var t=layui.$,i=layui.layer,a=layui.hint(),n=layui.device(),l="form",r=".layui-form",s="layui-this",o="layui-hide",c="layui-disabled",u=function(){this.config={verify:{required:[/[\S]+/,"蹇呭~椤逛笉鑳戒负绌�"],phone:[/^1\d{10}$/,"璇疯緭鍏ユ纭殑鎵嬫満鍙�"],email:[/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/,"閭鏍煎紡涓嶆纭�"],url:[/(^#)|(^http(s*):\/\/[^\s]+\.[^\s]+)/,"閾炬帴鏍煎紡涓嶆纭�"],number:function(e){if(isNaN(e))return"鍙兘濉啓鏁板瓧"},date:[/^(\d{4})[-\/](\d{1}|0\d{1}|1[0-2])([-\/](\d{1}|0\d{1}|[1-2][0-9]|3[0-1]))*$/,"鏃ユ湡鏍煎紡涓嶆纭�"],identity:[/(^\d{15}$)|(^\d{17}(x|X|\d)$)/,"璇疯緭鍏ユ纭殑韬唤璇佸彿"]}}};u.prototype.set=function(e){var i=this;return t.extend(!0,i.config,e),i},u.prototype.verify=function(e){var i=this;return t.extend(!0,i.config.verify,e),i},u.prototype.on=function(e,t){return layui.onevent.call(this,l,e,t)},u.prototype.val=function(e,i){var a=t(r+'[lay-filter="'+e+'"]');a.each(function(e,a){var n=t(this);layui.each(i,function(e,t){var i,a=n.find('[name="'+e+'"]');a[0]&&(i=a[0].type,"checkbox"===i?a[0].checked=t:"radio"===i?a.each(function(){this.value==t&&(this.checked=!0)}):a.val(t))})}),f.render(null,e)},u.prototype.render=function(e,i){var n=this,u=t(r+function(){return i?'[lay-filter="'+i+'"]':""}()),d={select:function(){var e,i="璇烽�夋嫨",a="layui-form-select",n="layui-select-title",r="layui-select-none",d="",f=u.find("select"),v=function(i,l){t(i.target).parent().hasClass(n)&&!l||(t("."+a).removeClass(a+"ed "+a+"up"),e&&d&&e.val(d)),e=null},y=function(i,u,f){var y,p=t(this),m=i.find("."+n),k=m.find("input"),x=i.find("dl"),g=x.children("dd"),b=this.selectedIndex;if(!u){var C=function(){var e=i.offset().top+i.outerHeight()+5-h.scrollTop(),t=x.outerHeight();b=p[0].selectedIndex,i.addClass(a+"ed"),g.removeClass(o),y=null,g.eq(b).addClass(s).siblings().removeClass(s),e+t>h.height()&&e>=t&&i.addClass(a+"up"),T()},w=function(e){i.removeClass(a+"ed "+a+"up"),k.blur(),y=null,e||$(k.val(),function(e){var i=p[0].selectedIndex;e&&(d=t(p[0].options[i]).html(),0===i&&d===k.attr("placeholder")&&(d=""),k.val(d||""))})},T=function(){var e=x.children("dd."+s);if(e[0]){var t=e.position().top,i=x.height(),a=e.height();t>i&&x.scrollTop(t+x.scrollTop()-i+a-5),t<0&&x.scrollTop(t+x.scrollTop()-5)}};m.on("click",function(e){i.hasClass(a+"ed")?w():(v(e,!0),C()),x.find("."+r).remove()}),m.find(".layui-edge").on("click",function(){k.focus()}),k.on("keyup",function(e){var t=e.keyCode;9===t&&C()}).on("keydown",function(e){var t=e.keyCode;9===t&&w();var i=function(t,a){var n,l;e.preventDefault();var r=function(){var e=x.children("dd."+s);if(x.children("dd."+o)[0]&&"next"===t){var i=x.children("dd:not(."+o+",."+c+")"),n=i.eq(0).index();if(n>=0&&n<e.index()&&!i.hasClass(s))return i.eq(0).prev()[0]?i.eq(0).prev():x.children(":last")}return a&&a[0]?a:y&&y[0]?y:e}();return l=r[t](),n=r[t]("dd:not(."+o+")"),l[0]?(y=r[t](),n[0]&&!n.hasClass(c)||!y[0]?(n.addClass(s).siblings().removeClass(s),void T()):i(t,y)):y=null};38===t&&i("prev"),40===t&&i("next"),13===t&&(e.preventDefault(),x.children("dd."+s).trigger("click"))});var $=function(e,i,a){var n=0;layui.each(g,function(){var i=t(this),l=i.text(),r=l.indexOf(e)===-1;(""===e||"blur"===a?e!==l:r)&&n++,"keyup"===a&&i[r?"addClass":"removeClass"](o)});var l=n===g.length;return i(l),l},q=function(e){var t=this.value,i=e.keyCode;return 9!==i&&13!==i&&37!==i&&38!==i&&39!==i&&40!==i&&($(t,function(e){e?x.find("."+r)[0]||x.append('<p class="'+r+'">鏃犲尮閰嶉」</p>'):x.find("."+r).remove()},"keyup"),""===t&&x.find("."+r).remove(),void T())};f&&k.on("keyup",q).on("blur",function(i){var a=p[0].selectedIndex;e=k,d=t(p[0].options[a]).html(),0===a&&d===k.attr("placeholder")&&(d=""),setTimeout(function(){$(k.val(),function(e){d||k.val("")},"blur")},200)}),g.on("click",function(){var e=t(this),a=e.attr("lay-value"),n=p.attr("lay-filter");return!e.hasClass(c)&&(e.hasClass("layui-select-tips")?k.val(""):(k.val(e.text()),e.addClass(s)),e.siblings().removeClass(s),p.val(a).removeClass("layui-form-danger"),layui.event.call(this,l,"select("+n+")",{elem:p[0],value:a,othis:i}),w(!0),!1)}),i.find("dl>dt").on("click",function(e){return!1}),t(document).off("click",v).on("click",v)}};f.each(function(e,l){var r=t(this),o=r.next("."+a),u=this.disabled,d=l.value,f=t(l.options[l.selectedIndex]),v=l.options[0];if("string"==typeof r.attr("lay-ignore"))return r.show();var h="string"==typeof r.attr("lay-search"),p=v?v.value?i:v.innerHTML||i:i,m=t(['<div class="'+(h?"":"layui-unselect ")+a,(u?" layui-select-disabled":"")+'">','<div class="'+n+'">','<input type="text" placeholder="'+p+'" '+('value="'+(d?f.html():"")+'"')+(h?"":" readonly")+' class="layui-input'+(h?"":" layui-unselect")+(u?" "+c:"")+'">','<i class="layui-edge"></i></div>','<dl class="layui-anim layui-anim-upbit'+(r.find("optgroup")[0]?" layui-select-group":"")+'">',function(e){var t=[];return layui.each(e,function(e,a){0!==e||a.value?"optgroup"===a.tagName.toLowerCase()?t.push("<dt>"+a.label+"</dt>"):t.push('<dd lay-value="'+a.value+'" class="'+(d===a.value?s:"")+(a.disabled?" "+c:"")+'">'+a.innerHTML+"</dd>"):t.push('<dd lay-value="" class="layui-select-tips">'+(a.innerHTML||i)+"</dd>")}),0===t.length&&t.push('<dd lay-value="" class="'+c+'">娌℃湁閫夐」</dd>'),t.join("")}(r.find("*"))+"</dl>","</div>"].join(""));o[0]&&o.remove(),r.after(m),y.call(this,m,u,h)})},checkbox:function(){var e={checkbox:["layui-form-checkbox","layui-form-checked","checkbox"],_switch:["layui-form-switch","layui-form-onswitch","switch"]},i=u.find("input[type=checkbox]"),a=function(e,i){var a=t(this);e.on("click",function(){var t=a.attr("lay-filter"),n=(a.attr("lay-text")||"").split("|");a[0].disabled||(a[0].checked?(a[0].checked=!1,e.removeClass(i[1]).find("em").text(n[1])):(a[0].checked=!0,e.addClass(i[1]).find("em").text(n[0])),layui.event.call(a[0],l,i[2]+"("+t+")",{elem:a[0],value:a[0].value,othis:e}))})};i.each(function(i,n){var l=t(this),r=l.attr("lay-skin"),s=(l.attr("lay-text")||"").split("|"),o=this.disabled;"switch"===r&&(r="_"+r);var u=e[r]||e.checkbox;if("string"==typeof l.attr("lay-ignore"))return l.show();var d=l.next("."+u[0]),f=t(['<div class="layui-unselect '+u[0],n.checked?" "+u[1]:"",o?" layui-checkbox-disbaled "+c:"",'"',r?' lay-skin="'+r+'"':"",">",function(){var e=n.title.replace(/\s/g,""),t={checkbox:[e?"<span>"+n.title+"</span>":"",'<i class="layui-icon layui-icon-ok"></i>'].join(""),_switch:"<em>"+((n.checked?s[0]:s[1])||"")+"</em><i></i>"};return t[r]||t.checkbox}(),"</div>"].join(""));d[0]&&d.remove(),l.after(f),a.call(this,f,u)})},radio:function(){var e="layui-form-radio",i=["&#xe643;","&#xe63f;"],a=u.find("input[type=radio]"),n=function(a){var n=t(this),s="layui-anim-scaleSpring";a.on("click",function(){var o=n[0].name,c=n.parents(r),u=n.attr("lay-filter"),d=c.find("input[name="+o.replace(/(\.|#|\[|\])/g,"\\$1")+"]");n[0].disabled||(layui.each(d,function(){var a=t(this).next("."+e);this.checked=!1,a.removeClass(e+"ed"),a.find(".layui-icon").removeClass(s).html(i[1])}),n[0].checked=!0,a.addClass(e+"ed"),a.find(".layui-icon").addClass(s).html(i[0]),layui.event.call(n[0],l,"radio("+u+")",{elem:n[0],value:n[0].value,othis:a}))})};a.each(function(a,l){var r=t(this),s=r.next("."+e),o=this.disabled;if("string"==typeof r.attr("lay-ignore"))return r.show();s[0]&&s.remove();var u=t(['<div class="layui-unselect '+e,l.checked?" "+e+"ed":"",(o?" layui-radio-disbaled "+c:"")+'">','<i class="layui-anim layui-icon">'+i[l.checked?0:1]+"</i>","<div>"+function(){var e=l.title||"";return"string"==typeof r.next().attr("lay-radio")&&(e=r.next().html(),r.next().remove()),e}()+"</div>","</div>"].join(""));r.after(u),n.call(this,u)})}};return e?d[e]?d[e]():a.error("涓嶆敮鎸佺殑"+e+"琛ㄥ崟娓叉煋"):layui.each(d,function(e,t){t()}),n};var d=function(){var e=t(this),a=f.config.verify,s=null,o="layui-form-danger",c={},u=e.parents(r),d=u.find("*[lay-verify]"),v=e.parents("form")[0],h=u.find("input,select,textarea"),y=e.attr("lay-filter");if(layui.each(d,function(e,l){var r=t(this),c=r.attr("lay-verify").split("|"),u=r.attr("lay-verType"),d=r.val();if(r.removeClass(o),layui.each(c,function(e,t){var c,f="",v="function"==typeof a[t];if(a[t]){var c=v?f=a[t](d,l):!a[t][0].test(d);if(f=f||a[t][1],"required"===t&&(f=r.attr("lay-reqText")||f),c)return"tips"===u?i.tips(f,function(){return"string"==typeof r.attr("lay-ignore")||"select"!==l.tagName.toLowerCase()&&!/^checkbox|radio$/.test(l.type)?r:r.next()}(),{tips:1}):"alert"===u?i.alert(f,{title:"鎻愮ず",shadeClose:!0}):i.msg(f,{icon:5,shift:6}),n.android||n.ios||setTimeout(function(){l.focus()},7),r.addClass(o),s=!0}}),s)return s}),s)return!1;var p={};return layui.each(h,function(e,t){if(t.name=(t.name||"").replace(/^\s*|\s*&/,""),t.name){if(/^.*\[\]$/.test(t.name)){var i=t.name.match(/^(.*)\[\]$/g)[0];p[i]=0|p[i],t.name=t.name.replace(/^(.*)\[\]$/,"$1["+p[i]++ +"]")}/^checkbox|radio$/.test(t.type)&&!t.checked||(c[t.name]=t.value)}}),layui.event.call(this,l,"submit("+y+")",{elem:this,form:v,field:c})},f=new u,v=t(document),h=t(window);f.render(),v.on("reset",r,function(){var e=t(this).attr("lay-filter");setTimeout(function(){f.render(null,e)},50)}),v.on("submit",r,d).on("click","*[lay-submit]",d),e(l,f)});
\ No newline at end of file
diff --git a/zy-acs-cv/src/main/webapp/static/layui/lay/modules/jquery.js b/zy-acs-cv/src/main/webapp/static/layui/lay/modules/jquery.js
new file mode 100644
index 0000000..387b69e
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/lay/modules/jquery.js
@@ -0,0 +1,5 @@
+/** layui-v2.5.4 MIT License By https://www.layui.com */
+ ;!function(e,t){"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){function n(e){var t=!!e&&"length"in e&&e.length,n=pe.type(e);return"function"!==n&&!pe.isWindow(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}function r(e,t,n){if(pe.isFunction(t))return pe.grep(e,function(e,r){return!!t.call(e,r,e)!==n});if(t.nodeType)return pe.grep(e,function(e){return e===t!==n});if("string"==typeof t){if(Ce.test(t))return pe.filter(t,e,n);t=pe.filter(t,e)}return pe.grep(e,function(e){return pe.inArray(e,t)>-1!==n})}function i(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}function o(e){var t={};return pe.each(e.match(De)||[],function(e,n){t[n]=!0}),t}function a(){re.addEventListener?(re.removeEventListener("DOMContentLoaded",s),e.removeEventListener("load",s)):(re.detachEvent("onreadystatechange",s),e.detachEvent("onload",s))}function s(){(re.addEventListener||"load"===e.event.type||"complete"===re.readyState)&&(a(),pe.ready())}function u(e,t,n){if(void 0===n&&1===e.nodeType){var r="data-"+t.replace(_e,"-$1").toLowerCase();if(n=e.getAttribute(r),"string"==typeof n){try{n="true"===n||"false"!==n&&("null"===n?null:+n+""===n?+n:qe.test(n)?pe.parseJSON(n):n)}catch(i){}pe.data(e,t,n)}else n=void 0}return n}function l(e){var t;for(t in e)if(("data"!==t||!pe.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}function c(e,t,n,r){if(He(e)){var i,o,a=pe.expando,s=e.nodeType,u=s?pe.cache:e,l=s?e[a]:e[a]&&a;if(l&&u[l]&&(r||u[l].data)||void 0!==n||"string"!=typeof t)return l||(l=s?e[a]=ne.pop()||pe.guid++:a),u[l]||(u[l]=s?{}:{toJSON:pe.noop}),"object"!=typeof t&&"function"!=typeof t||(r?u[l]=pe.extend(u[l],t):u[l].data=pe.extend(u[l].data,t)),o=u[l],r||(o.data||(o.data={}),o=o.data),void 0!==n&&(o[pe.camelCase(t)]=n),"string"==typeof t?(i=o[t],null==i&&(i=o[pe.camelCase(t)])):i=o,i}}function f(e,t,n){if(He(e)){var r,i,o=e.nodeType,a=o?pe.cache:e,s=o?e[pe.expando]:pe.expando;if(a[s]){if(t&&(r=n?a[s]:a[s].data)){pe.isArray(t)?t=t.concat(pe.map(t,pe.camelCase)):t in r?t=[t]:(t=pe.camelCase(t),t=t in r?[t]:t.split(" ")),i=t.length;for(;i--;)delete r[t[i]];if(n?!l(r):!pe.isEmptyObject(r))return}(n||(delete a[s].data,l(a[s])))&&(o?pe.cleanData([e],!0):fe.deleteExpando||a!=a.window?delete a[s]:a[s]=void 0)}}}function d(e,t,n,r){var i,o=1,a=20,s=r?function(){return r.cur()}:function(){return pe.css(e,t,"")},u=s(),l=n&&n[3]||(pe.cssNumber[t]?"":"px"),c=(pe.cssNumber[t]||"px"!==l&&+u)&&Me.exec(pe.css(e,t));if(c&&c[3]!==l){l=l||c[3],n=n||[],c=+u||1;do o=o||".5",c/=o,pe.style(e,t,c+l);while(o!==(o=s()/u)&&1!==o&&--a)}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}function p(e){var t=ze.split("|"),n=e.createDocumentFragment();if(n.createElement)for(;t.length;)n.createElement(t.pop());return n}function h(e,t){var n,r,i=0,o="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):void 0;if(!o)for(o=[],n=e.childNodes||e;null!=(r=n[i]);i++)!t||pe.nodeName(r,t)?o.push(r):pe.merge(o,h(r,t));return void 0===t||t&&pe.nodeName(e,t)?pe.merge([e],o):o}function g(e,t){for(var n,r=0;null!=(n=e[r]);r++)pe._data(n,"globalEval",!t||pe._data(t[r],"globalEval"))}function m(e){Be.test(e.type)&&(e.defaultChecked=e.checked)}function y(e,t,n,r,i){for(var o,a,s,u,l,c,f,d=e.length,y=p(t),v=[],x=0;x<d;x++)if(a=e[x],a||0===a)if("object"===pe.type(a))pe.merge(v,a.nodeType?[a]:a);else if(Ue.test(a)){for(u=u||y.appendChild(t.createElement("div")),l=(We.exec(a)||["",""])[1].toLowerCase(),f=Xe[l]||Xe._default,u.innerHTML=f[1]+pe.htmlPrefilter(a)+f[2],o=f[0];o--;)u=u.lastChild;if(!fe.leadingWhitespace&&$e.test(a)&&v.push(t.createTextNode($e.exec(a)[0])),!fe.tbody)for(a="table"!==l||Ve.test(a)?"<table>"!==f[1]||Ve.test(a)?0:u:u.firstChild,o=a&&a.childNodes.length;o--;)pe.nodeName(c=a.childNodes[o],"tbody")&&!c.childNodes.length&&a.removeChild(c);for(pe.merge(v,u.childNodes),u.textContent="";u.firstChild;)u.removeChild(u.firstChild);u=y.lastChild}else v.push(t.createTextNode(a));for(u&&y.removeChild(u),fe.appendChecked||pe.grep(h(v,"input"),m),x=0;a=v[x++];)if(r&&pe.inArray(a,r)>-1)i&&i.push(a);else if(s=pe.contains(a.ownerDocument,a),u=h(y.appendChild(a),"script"),s&&g(u),n)for(o=0;a=u[o++];)Ie.test(a.type||"")&&n.push(a);return u=null,y}function v(){return!0}function x(){return!1}function b(){try{return re.activeElement}catch(e){}}function w(e,t,n,r,i,o){var a,s;if("object"==typeof t){"string"!=typeof n&&(r=r||n,n=void 0);for(s in t)w(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),i===!1)i=x;else if(!i)return e;return 1===o&&(a=i,i=function(e){return pe().off(e),a.apply(this,arguments)},i.guid=a.guid||(a.guid=pe.guid++)),e.each(function(){pe.event.add(this,t,i,r,n)})}function T(e,t){return pe.nodeName(e,"table")&&pe.nodeName(11!==t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function C(e){return e.type=(null!==pe.find.attr(e,"type"))+"/"+e.type,e}function E(e){var t=it.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function N(e,t){if(1===t.nodeType&&pe.hasData(e)){var n,r,i,o=pe._data(e),a=pe._data(t,o),s=o.events;if(s){delete a.handle,a.events={};for(n in s)for(r=0,i=s[n].length;r<i;r++)pe.event.add(t,n,s[n][r])}a.data&&(a.data=pe.extend({},a.data))}}function k(e,t){var n,r,i;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!fe.noCloneEvent&&t[pe.expando]){i=pe._data(t);for(r in i.events)pe.removeEvent(t,r,i.handle);t.removeAttribute(pe.expando)}"script"===n&&t.text!==e.text?(C(t).text=e.text,E(t)):"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),fe.html5Clone&&e.innerHTML&&!pe.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&Be.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===n?t.defaultSelected=t.selected=e.defaultSelected:"input"!==n&&"textarea"!==n||(t.defaultValue=e.defaultValue)}}function S(e,t,n,r){t=oe.apply([],t);var i,o,a,s,u,l,c=0,f=e.length,d=f-1,p=t[0],g=pe.isFunction(p);if(g||f>1&&"string"==typeof p&&!fe.checkClone&&rt.test(p))return e.each(function(i){var o=e.eq(i);g&&(t[0]=p.call(this,i,o.html())),S(o,t,n,r)});if(f&&(l=y(t,e[0].ownerDocument,!1,e,r),i=l.firstChild,1===l.childNodes.length&&(l=i),i||r)){for(s=pe.map(h(l,"script"),C),a=s.length;c<f;c++)o=l,c!==d&&(o=pe.clone(o,!0,!0),a&&pe.merge(s,h(o,"script"))),n.call(e[c],o,c);if(a)for(u=s[s.length-1].ownerDocument,pe.map(s,E),c=0;c<a;c++)o=s[c],Ie.test(o.type||"")&&!pe._data(o,"globalEval")&&pe.contains(u,o)&&(o.src?pe._evalUrl&&pe._evalUrl(o.src):pe.globalEval((o.text||o.textContent||o.innerHTML||"").replace(ot,"")));l=i=null}return e}function A(e,t,n){for(var r,i=t?pe.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||pe.cleanData(h(r)),r.parentNode&&(n&&pe.contains(r.ownerDocument,r)&&g(h(r,"script")),r.parentNode.removeChild(r));return e}function D(e,t){var n=pe(t.createElement(e)).appendTo(t.body),r=pe.css(n[0],"display");return n.detach(),r}function j(e){var t=re,n=lt[e];return n||(n=D(e,t),"none"!==n&&n||(ut=(ut||pe("<iframe frameborder='0' width='0' height='0'/>")).appendTo(t.documentElement),t=(ut[0].contentWindow||ut[0].contentDocument).document,t.write(),t.close(),n=D(e,t),ut.detach()),lt[e]=n),n}function L(e,t){return{get:function(){return e()?void delete this.get:(this.get=t).apply(this,arguments)}}}function H(e){if(e in Et)return e;for(var t=e.charAt(0).toUpperCase()+e.slice(1),n=Ct.length;n--;)if(e=Ct[n]+t,e in Et)return e}function q(e,t){for(var n,r,i,o=[],a=0,s=e.length;a<s;a++)r=e[a],r.style&&(o[a]=pe._data(r,"olddisplay"),n=r.style.display,t?(o[a]||"none"!==n||(r.style.display=""),""===r.style.display&&Re(r)&&(o[a]=pe._data(r,"olddisplay",j(r.nodeName)))):(i=Re(r),(n&&"none"!==n||!i)&&pe._data(r,"olddisplay",i?n:pe.css(r,"display"))));for(a=0;a<s;a++)r=e[a],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[a]||"":"none"));return e}function _(e,t,n){var r=bt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function F(e,t,n,r,i){for(var o=n===(r?"border":"content")?4:"width"===t?1:0,a=0;o<4;o+=2)"margin"===n&&(a+=pe.css(e,n+Oe[o],!0,i)),r?("content"===n&&(a-=pe.css(e,"padding"+Oe[o],!0,i)),"margin"!==n&&(a-=pe.css(e,"border"+Oe[o]+"Width",!0,i))):(a+=pe.css(e,"padding"+Oe[o],!0,i),"padding"!==n&&(a+=pe.css(e,"border"+Oe[o]+"Width",!0,i)));return a}function M(t,n,r){var i=!0,o="width"===n?t.offsetWidth:t.offsetHeight,a=ht(t),s=fe.boxSizing&&"border-box"===pe.css(t,"boxSizing",!1,a);if(re.msFullscreenElement&&e.top!==e&&t.getClientRects().length&&(o=Math.round(100*t.getBoundingClientRect()[n])),o<=0||null==o){if(o=gt(t,n,a),(o<0||null==o)&&(o=t.style[n]),ft.test(o))return o;i=s&&(fe.boxSizingReliable()||o===t.style[n]),o=parseFloat(o)||0}return o+F(t,n,r||(s?"border":"content"),i,a)+"px"}function O(e,t,n,r,i){return new O.prototype.init(e,t,n,r,i)}function R(){return e.setTimeout(function(){Nt=void 0}),Nt=pe.now()}function P(e,t){var n,r={height:e},i=0;for(t=t?1:0;i<4;i+=2-t)n=Oe[i],r["margin"+n]=r["padding"+n]=e;return t&&(r.opacity=r.width=e),r}function B(e,t,n){for(var r,i=($.tweeners[t]||[]).concat($.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function W(e,t,n){var r,i,o,a,s,u,l,c,f=this,d={},p=e.style,h=e.nodeType&&Re(e),g=pe._data(e,"fxshow");n.queue||(s=pe._queueHooks(e,"fx"),null==s.unqueued&&(s.unqueued=0,u=s.empty.fire,s.empty.fire=function(){s.unqueued||u()}),s.unqueued++,f.always(function(){f.always(function(){s.unqueued--,pe.queue(e,"fx").length||s.empty.fire()})})),1===e.nodeType&&("height"in t||"width"in t)&&(n.overflow=[p.overflow,p.overflowX,p.overflowY],l=pe.css(e,"display"),c="none"===l?pe._data(e,"olddisplay")||j(e.nodeName):l,"inline"===c&&"none"===pe.css(e,"float")&&(fe.inlineBlockNeedsLayout&&"inline"!==j(e.nodeName)?p.zoom=1:p.display="inline-block")),n.overflow&&(p.overflow="hidden",fe.shrinkWrapBlocks()||f.always(function(){p.overflow=n.overflow[0],p.overflowX=n.overflow[1],p.overflowY=n.overflow[2]}));for(r in t)if(i=t[r],St.exec(i)){if(delete t[r],o=o||"toggle"===i,i===(h?"hide":"show")){if("show"!==i||!g||void 0===g[r])continue;h=!0}d[r]=g&&g[r]||pe.style(e,r)}else l=void 0;if(pe.isEmptyObject(d))"inline"===("none"===l?j(e.nodeName):l)&&(p.display=l);else{g?"hidden"in g&&(h=g.hidden):g=pe._data(e,"fxshow",{}),o&&(g.hidden=!h),h?pe(e).show():f.done(function(){pe(e).hide()}),f.done(function(){var t;pe._removeData(e,"fxshow");for(t in d)pe.style(e,t,d[t])});for(r in d)a=B(h?g[r]:0,r,f),r in g||(g[r]=a.start,h&&(a.end=a.start,a.start="width"===r||"height"===r?1:0))}}function I(e,t){var n,r,i,o,a;for(n in e)if(r=pe.camelCase(n),i=t[r],o=e[n],pe.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),a=pe.cssHooks[r],a&&"expand"in a){o=a.expand(o),delete e[r];for(n in o)n in e||(e[n]=o[n],t[n]=i)}else t[r]=i}function $(e,t,n){var r,i,o=0,a=$.prefilters.length,s=pe.Deferred().always(function(){delete u.elem}),u=function(){if(i)return!1;for(var t=Nt||R(),n=Math.max(0,l.startTime+l.duration-t),r=n/l.duration||0,o=1-r,a=0,u=l.tweens.length;a<u;a++)l.tweens[a].run(o);return s.notifyWith(e,[l,o,n]),o<1&&u?n:(s.resolveWith(e,[l]),!1)},l=s.promise({elem:e,props:pe.extend({},t),opts:pe.extend(!0,{specialEasing:{},easing:pe.easing._default},n),originalProperties:t,originalOptions:n,startTime:Nt||R(),duration:n.duration,tweens:[],createTween:function(t,n){var r=pe.Tween(e,l.opts,t,n,l.opts.specialEasing[t]||l.opts.easing);return l.tweens.push(r),r},stop:function(t){var n=0,r=t?l.tweens.length:0;if(i)return this;for(i=!0;n<r;n++)l.tweens[n].run(1);return t?(s.notifyWith(e,[l,1,0]),s.resolveWith(e,[l,t])):s.rejectWith(e,[l,t]),this}}),c=l.props;for(I(c,l.opts.specialEasing);o<a;o++)if(r=$.prefilters[o].call(l,e,c,l.opts))return pe.isFunction(r.stop)&&(pe._queueHooks(l.elem,l.opts.queue).stop=pe.proxy(r.stop,r)),r;return pe.map(c,B,l),pe.isFunction(l.opts.start)&&l.opts.start.call(e,l),pe.fx.timer(pe.extend(u,{elem:e,anim:l,queue:l.opts.queue})),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always)}function z(e){return pe.attr(e,"class")||""}function X(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(De)||[];if(pe.isFunction(n))for(;r=o[i++];)"+"===r.charAt(0)?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function U(e,t,n,r){function i(s){var u;return o[s]=!0,pe.each(e[s]||[],function(e,s){var l=s(t,n,r);return"string"!=typeof l||a||o[l]?a?!(u=l):void 0:(t.dataTypes.unshift(l),i(l),!1)}),u}var o={},a=e===Qt;return i(t.dataTypes[0])||!o["*"]&&i("*")}function V(e,t){var n,r,i=pe.ajaxSettings.flatOptions||{};for(r in t)void 0!==t[r]&&((i[r]?e:n||(n={}))[r]=t[r]);return n&&pe.extend(!0,e,n),e}function Y(e,t,n){for(var r,i,o,a,s=e.contents,u=e.dataTypes;"*"===u[0];)u.shift(),void 0===i&&(i=e.mimeType||t.getResponseHeader("Content-Type"));if(i)for(a in s)if(s[a]&&s[a].test(i)){u.unshift(a);break}if(u[0]in n)o=u[0];else{for(a in n){if(!u[0]||e.converters[a+" "+u[0]]){o=a;break}r||(r=a)}o=o||r}if(o)return o!==u[0]&&u.unshift(o),n[o]}function J(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];for(o=c.shift();o;)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(a=l[u+" "+o]||l["* "+o],!a)for(i in l)if(s=i.split(" "),s[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){a===!0?a=l[i]:l[i]!==!0&&(o=s[0],c.unshift(s[1]));break}if(a!==!0)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(f){return{state:"parsererror",error:a?f:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}function G(e){return e.style&&e.style.display||pe.css(e,"display")}function K(e){for(;e&&1===e.nodeType;){if("none"===G(e)||"hidden"===e.type)return!0;e=e.parentNode}return!1}function Q(e,t,n,r){var i;if(pe.isArray(t))pe.each(t,function(t,i){n||rn.test(e)?r(e,i):Q(e+"["+("object"==typeof i&&null!=i?t:"")+"]",i,n,r)});else if(n||"object"!==pe.type(t))r(e,t);else for(i in t)Q(e+"["+i+"]",t[i],n,r)}function Z(){try{return new e.XMLHttpRequest}catch(t){}}function ee(){try{return new e.ActiveXObject("Microsoft.XMLHTTP")}catch(t){}}function te(e){return pe.isWindow(e)?e:9===e.nodeType&&(e.defaultView||e.parentWindow)}var ne=[],re=e.document,ie=ne.slice,oe=ne.concat,ae=ne.push,se=ne.indexOf,ue={},le=ue.toString,ce=ue.hasOwnProperty,fe={},de="1.12.3",pe=function(e,t){return new pe.fn.init(e,t)},he=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,ge=/^-ms-/,me=/-([\da-z])/gi,ye=function(e,t){return t.toUpperCase()};pe.fn=pe.prototype={jquery:de,constructor:pe,selector:"",length:0,toArray:function(){return ie.call(this)},get:function(e){return null!=e?e<0?this[e+this.length]:this[e]:ie.call(this)},pushStack:function(e){var t=pe.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e){return pe.each(this,e)},map:function(e){return this.pushStack(pe.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(ie.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:ae,sort:ne.sort,splice:ne.splice},pe.extend=pe.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||pe.isFunction(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(i=arguments[s]))for(r in i)e=a[r],n=i[r],a!==n&&(l&&n&&(pe.isPlainObject(n)||(t=pe.isArray(n)))?(t?(t=!1,o=e&&pe.isArray(e)?e:[]):o=e&&pe.isPlainObject(e)?e:{},a[r]=pe.extend(l,o,n)):void 0!==n&&(a[r]=n));return a},pe.extend({expando:"jQuery"+(de+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isFunction:function(e){return"function"===pe.type(e)},isArray:Array.isArray||function(e){return"array"===pe.type(e)},isWindow:function(e){return null!=e&&e==e.window},isNumeric:function(e){var t=e&&e.toString();return!pe.isArray(e)&&t-parseFloat(t)+1>=0},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},isPlainObject:function(e){var t;if(!e||"object"!==pe.type(e)||e.nodeType||pe.isWindow(e))return!1;try{if(e.constructor&&!ce.call(e,"constructor")&&!ce.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(n){return!1}if(!fe.ownFirst)for(t in e)return ce.call(e,t);for(t in e);return void 0===t||ce.call(e,t)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?ue[le.call(e)]||"object":typeof e},globalEval:function(t){t&&pe.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(ge,"ms-").replace(me,ye)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t){var r,i=0;if(n(e))for(r=e.length;i<r&&t.call(e[i],i,e[i])!==!1;i++);else for(i in e)if(t.call(e[i],i,e[i])===!1)break;return e},trim:function(e){return null==e?"":(e+"").replace(he,"")},makeArray:function(e,t){var r=t||[];return null!=e&&(n(Object(e))?pe.merge(r,"string"==typeof e?[e]:e):ae.call(r,e)),r},inArray:function(e,t,n){var r;if(t){if(se)return se.call(t,e,n);for(r=t.length,n=n?n<0?Math.max(0,r+n):n:0;n<r;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;)e[i++]=t[r++];if(n!==n)for(;void 0!==t[r];)e[i++]=t[r++];return e.length=i,e},grep:function(e,t,n){for(var r,i=[],o=0,a=e.length,s=!n;o<a;o++)r=!t(e[o],o),r!==s&&i.push(e[o]);return i},map:function(e,t,r){var i,o,a=0,s=[];if(n(e))for(i=e.length;a<i;a++)o=t(e[a],a,r),null!=o&&s.push(o);else for(a in e)o=t(e[a],a,r),null!=o&&s.push(o);return oe.apply([],s)},guid:1,proxy:function(e,t){var n,r,i;if("string"==typeof t&&(i=e[t],t=e,e=i),pe.isFunction(e))return n=ie.call(arguments,2),r=function(){return e.apply(t||this,n.concat(ie.call(arguments)))},r.guid=e.guid=e.guid||pe.guid++,r},now:function(){return+new Date},support:fe}),"function"==typeof Symbol&&(pe.fn[Symbol.iterator]=ne[Symbol.iterator]),pe.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){ue["[object "+t+"]"]=t.toLowerCase()});var ve=function(e){function t(e,t,n,r){var i,o,a,s,u,l,f,p,h=t&&t.ownerDocument,g=t?t.nodeType:9;if(n=n||[],"string"!=typeof e||!e||1!==g&&9!==g&&11!==g)return n;if(!r&&((t?t.ownerDocument||t:B)!==H&&L(t),t=t||H,_)){if(11!==g&&(l=ye.exec(e)))if(i=l[1]){if(9===g){if(!(a=t.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(h&&(a=h.getElementById(i))&&R(t,a)&&a.id===i)return n.push(a),n}else{if(l[2])return Q.apply(n,t.getElementsByTagName(e)),n;if((i=l[3])&&w.getElementsByClassName&&t.getElementsByClassName)return Q.apply(n,t.getElementsByClassName(i)),n}if(w.qsa&&!X[e+" "]&&(!F||!F.test(e))){if(1!==g)h=t,p=e;else if("object"!==t.nodeName.toLowerCase()){for((s=t.getAttribute("id"))?s=s.replace(xe,"\\$&"):t.setAttribute("id",s=P),f=N(e),o=f.length,u=de.test(s)?"#"+s:"[id='"+s+"']";o--;)f[o]=u+" "+d(f[o]);p=f.join(","),h=ve.test(e)&&c(t.parentNode)||t}if(p)try{return Q.apply(n,h.querySelectorAll(p)),n}catch(m){}finally{s===P&&t.removeAttribute("id")}}}return S(e.replace(se,"$1"),t,n,r)}function n(){function e(n,r){return t.push(n+" ")>T.cacheLength&&delete e[t.shift()],e[n+" "]=r}var t=[];return e}function r(e){return e[P]=!0,e}function i(e){var t=H.createElement("div");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function o(e,t){for(var n=e.split("|"),r=n.length;r--;)T.attrHandle[n[r]]=t}function a(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||V)-(~e.sourceIndex||V);if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function s(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function u(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function l(e){return r(function(t){return t=+t,r(function(n,r){for(var i,o=e([],n.length,t),a=o.length;a--;)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function c(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}function f(){}function d(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function p(e,t,n){var r=t.dir,i=n&&"parentNode"===r,o=I++;return t.first?function(t,n,o){for(;t=t[r];)if(1===t.nodeType||i)return e(t,n,o)}:function(t,n,a){var s,u,l,c=[W,o];if(a){for(;t=t[r];)if((1===t.nodeType||i)&&e(t,n,a))return!0}else for(;t=t[r];)if(1===t.nodeType||i){if(l=t[P]||(t[P]={}),u=l[t.uniqueID]||(l[t.uniqueID]={}),(s=u[r])&&s[0]===W&&s[1]===o)return c[2]=s[2];if(u[r]=c,c[2]=e(t,n,a))return!0}}}function h(e){return e.length>1?function(t,n,r){for(var i=e.length;i--;)if(!e[i](t,n,r))return!1;return!0}:e[0]}function g(e,n,r){for(var i=0,o=n.length;i<o;i++)t(e,n[i],r);return r}function m(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function y(e,t,n,i,o,a){return i&&!i[P]&&(i=y(i)),o&&!o[P]&&(o=y(o,a)),r(function(r,a,s,u){var l,c,f,d=[],p=[],h=a.length,y=r||g(t||"*",s.nodeType?[s]:s,[]),v=!e||!r&&t?y:m(y,d,e,s,u),x=n?o||(r?e:h||i)?[]:a:v;if(n&&n(v,x,s,u),i)for(l=m(x,p),i(l,[],s,u),c=l.length;c--;)(f=l[c])&&(x[p[c]]=!(v[p[c]]=f));if(r){if(o||e){if(o){for(l=[],c=x.length;c--;)(f=x[c])&&l.push(v[c]=f);o(null,x=[],l,u)}for(c=x.length;c--;)(f=x[c])&&(l=o?ee(r,f):d[c])>-1&&(r[l]=!(a[l]=f))}}else x=m(x===a?x.splice(h,x.length):x),o?o(null,a,x,u):Q.apply(a,x)})}function v(e){for(var t,n,r,i=e.length,o=T.relative[e[0].type],a=o||T.relative[" "],s=o?1:0,u=p(function(e){return e===t},a,!0),l=p(function(e){return ee(t,e)>-1},a,!0),c=[function(e,n,r){var i=!o&&(r||n!==A)||((t=n).nodeType?u(e,n,r):l(e,n,r));return t=null,i}];s<i;s++)if(n=T.relative[e[s].type])c=[p(h(c),n)];else{if(n=T.filter[e[s].type].apply(null,e[s].matches),n[P]){for(r=++s;r<i&&!T.relative[e[r].type];r++);return y(s>1&&h(c),s>1&&d(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(se,"$1"),n,s<r&&v(e.slice(s,r)),r<i&&v(e=e.slice(r)),r<i&&d(e))}c.push(n)}return h(c)}function x(e,n){var i=n.length>0,o=e.length>0,a=function(r,a,s,u,l){var c,f,d,p=0,h="0",g=r&&[],y=[],v=A,x=r||o&&T.find.TAG("*",l),b=W+=null==v?1:Math.random()||.1,w=x.length;for(l&&(A=a===H||a||l);h!==w&&null!=(c=x[h]);h++){if(o&&c){for(f=0,a||c.ownerDocument===H||(L(c),s=!_);d=e[f++];)if(d(c,a||H,s)){u.push(c);break}l&&(W=b)}i&&((c=!d&&c)&&p--,r&&g.push(c))}if(p+=h,i&&h!==p){for(f=0;d=n[f++];)d(g,y,a,s);if(r){if(p>0)for(;h--;)g[h]||y[h]||(y[h]=G.call(u));y=m(y)}Q.apply(u,y),l&&!r&&y.length>0&&p+n.length>1&&t.uniqueSort(u)}return l&&(W=b,A=v),g};return i?r(a):a}var b,w,T,C,E,N,k,S,A,D,j,L,H,q,_,F,M,O,R,P="sizzle"+1*new Date,B=e.document,W=0,I=0,$=n(),z=n(),X=n(),U=function(e,t){return e===t&&(j=!0),0},V=1<<31,Y={}.hasOwnProperty,J=[],G=J.pop,K=J.push,Q=J.push,Z=J.slice,ee=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},te="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",ne="[\\x20\\t\\r\\n\\f]",re="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",ie="\\["+ne+"*("+re+")(?:"+ne+"*([*^$|!~]?=)"+ne+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+re+"))|)"+ne+"*\\]",oe=":("+re+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+ie+")*)|.*)\\)|)",ae=new RegExp(ne+"+","g"),se=new RegExp("^"+ne+"+|((?:^|[^\\\\])(?:\\\\.)*)"+ne+"+$","g"),ue=new RegExp("^"+ne+"*,"+ne+"*"),le=new RegExp("^"+ne+"*([>+~]|"+ne+")"+ne+"*"),ce=new RegExp("="+ne+"*([^\\]'\"]*?)"+ne+"*\\]","g"),fe=new RegExp(oe),de=new RegExp("^"+re+"$"),pe={ID:new RegExp("^#("+re+")"),CLASS:new RegExp("^\\.("+re+")"),TAG:new RegExp("^("+re+"|[*])"),ATTR:new RegExp("^"+ie),PSEUDO:new RegExp("^"+oe),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ne+"*(even|odd|(([+-]|)(\\d*)n|)"+ne+"*(?:([+-]|)"+ne+"*(\\d+)|))"+ne+"*\\)|)","i"),bool:new RegExp("^(?:"+te+")$","i"),needsContext:new RegExp("^"+ne+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ne+"*((?:-\\d)?\\d*)"+ne+"*\\)|)(?=[^-]|$)","i")},he=/^(?:input|select|textarea|button)$/i,ge=/^h\d$/i,me=/^[^{]+\{\s*\[native \w/,ye=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ve=/[+~]/,xe=/'|\\/g,be=new RegExp("\\\\([\\da-f]{1,6}"+ne+"?|("+ne+")|.)","ig"),we=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},Te=function(){L()};try{Q.apply(J=Z.call(B.childNodes),B.childNodes),J[B.childNodes.length].nodeType}catch(Ce){Q={apply:J.length?function(e,t){K.apply(e,Z.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}w=t.support={},E=t.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},L=t.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:B;return r!==H&&9===r.nodeType&&r.documentElement?(H=r,q=H.documentElement,_=!E(H),(n=H.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",Te,!1):n.attachEvent&&n.attachEvent("onunload",Te)),w.attributes=i(function(e){return e.className="i",!e.getAttribute("className")}),w.getElementsByTagName=i(function(e){return e.appendChild(H.createComment("")),!e.getElementsByTagName("*").length}),w.getElementsByClassName=me.test(H.getElementsByClassName),w.getById=i(function(e){return q.appendChild(e).id=P,!H.getElementsByName||!H.getElementsByName(P).length}),w.getById?(T.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&_){var n=t.getElementById(e);return n?[n]:[]}},T.filter.ID=function(e){var t=e.replace(be,we);return function(e){return e.getAttribute("id")===t}}):(delete T.find.ID,T.filter.ID=function(e){var t=e.replace(be,we);return function(e){var n="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}}),T.find.TAG=w.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):w.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){for(;n=o[i++];)1===n.nodeType&&r.push(n);return r}return o},T.find.CLASS=w.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&_)return t.getElementsByClassName(e)},M=[],F=[],(w.qsa=me.test(H.querySelectorAll))&&(i(function(e){q.appendChild(e).innerHTML="<a id='"+P+"'></a><select id='"+P+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&F.push("[*^$]="+ne+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||F.push("\\["+ne+"*(?:value|"+te+")"),e.querySelectorAll("[id~="+P+"-]").length||F.push("~="),e.querySelectorAll(":checked").length||F.push(":checked"),e.querySelectorAll("a#"+P+"+*").length||F.push(".#.+[+~]")}),i(function(e){var t=H.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&F.push("name"+ne+"*[*^$|!~]?="),e.querySelectorAll(":enabled").length||F.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),F.push(",.*:")})),(w.matchesSelector=me.test(O=q.matches||q.webkitMatchesSelector||q.mozMatchesSelector||q.oMatchesSelector||q.msMatchesSelector))&&i(function(e){w.disconnectedMatch=O.call(e,"div"),O.call(e,"[s!='']:x"),M.push("!=",oe)}),F=F.length&&new RegExp(F.join("|")),M=M.length&&new RegExp(M.join("|")),t=me.test(q.compareDocumentPosition),R=t||me.test(q.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},U=t?function(e,t){if(e===t)return j=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n?n:(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1,1&n||!w.sortDetached&&t.compareDocumentPosition(e)===n?e===H||e.ownerDocument===B&&R(B,e)?-1:t===H||t.ownerDocument===B&&R(B,t)?1:D?ee(D,e)-ee(D,t):0:4&n?-1:1)}:function(e,t){if(e===t)return j=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,s=[e],u=[t];if(!i||!o)return e===H?-1:t===H?1:i?-1:o?1:D?ee(D,e)-ee(D,t):0;if(i===o)return a(e,t);for(n=e;n=n.parentNode;)s.unshift(n);for(n=t;n=n.parentNode;)u.unshift(n);for(;s[r]===u[r];)r++;return r?a(s[r],u[r]):s[r]===B?-1:u[r]===B?1:0},H):H},t.matches=function(e,n){return t(e,null,null,n)},t.matchesSelector=function(e,n){if((e.ownerDocument||e)!==H&&L(e),n=n.replace(ce,"='$1']"),w.matchesSelector&&_&&!X[n+" "]&&(!M||!M.test(n))&&(!F||!F.test(n)))try{var r=O.call(e,n);if(r||w.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(i){}return t(n,H,null,[e]).length>0},t.contains=function(e,t){return(e.ownerDocument||e)!==H&&L(e),R(e,t)},t.attr=function(e,t){(e.ownerDocument||e)!==H&&L(e);var n=T.attrHandle[t.toLowerCase()],r=n&&Y.call(T.attrHandle,t.toLowerCase())?n(e,t,!_):void 0;return void 0!==r?r:w.attributes||!_?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},t.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},t.uniqueSort=function(e){var t,n=[],r=0,i=0;if(j=!w.detectDuplicates,D=!w.sortStable&&e.slice(0),e.sort(U),j){for(;t=e[i++];)t===e[i]&&(r=n.push(i));for(;r--;)e.splice(n[r],1)}return D=null,e},C=t.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=C(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r++];)n+=C(t);return n},T=t.selectors={cacheLength:50,createPseudo:r,match:pe,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(be,we),e[3]=(e[3]||e[4]||e[5]||"").replace(be,we),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||t.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&t.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return pe.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&fe.test(n)&&(t=N(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(be,we).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=$[e+" "];return t||(t=new RegExp("(^|"+ne+")"+e+"("+ne+"|$)"))&&$(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,n,r){return function(i){var o=t.attr(i,e);return null==o?"!="===n:!n||(o+="","="===n?o===r:"!="===n?o!==r:"^="===n?r&&0===o.indexOf(r):"*="===n?r&&o.indexOf(r)>-1:"$="===n?r&&o.slice(-r.length)===r:"~="===n?(" "+o.replace(ae," ")+" ").indexOf(r)>-1:"|="===n&&(o===r||o.slice(0,r.length+1)===r+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,f,d,p,h,g=o!==a?"nextSibling":"previousSibling",m=t.parentNode,y=s&&t.nodeName.toLowerCase(),v=!u&&!s,x=!1;if(m){if(o){for(;g;){for(d=t;d=d[g];)if(s?d.nodeName.toLowerCase()===y:1===d.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?m.firstChild:m.lastChild],a&&v){for(d=m,f=d[P]||(d[P]={}),c=f[d.uniqueID]||(f[d.uniqueID]={}),
+l=c[e]||[],p=l[0]===W&&l[1],x=p&&l[2],d=p&&m.childNodes[p];d=++p&&d&&d[g]||(x=p=0)||h.pop();)if(1===d.nodeType&&++x&&d===t){c[e]=[W,p,x];break}}else if(v&&(d=t,f=d[P]||(d[P]={}),c=f[d.uniqueID]||(f[d.uniqueID]={}),l=c[e]||[],p=l[0]===W&&l[1],x=p),x===!1)for(;(d=++p&&d&&d[g]||(x=p=0)||h.pop())&&((s?d.nodeName.toLowerCase()!==y:1!==d.nodeType)||!++x||(v&&(f=d[P]||(d[P]={}),c=f[d.uniqueID]||(f[d.uniqueID]={}),c[e]=[W,x]),d!==t)););return x-=i,x===r||x%r===0&&x/r>=0}}},PSEUDO:function(e,n){var i,o=T.pseudos[e]||T.setFilters[e.toLowerCase()]||t.error("unsupported pseudo: "+e);return o[P]?o(n):o.length>1?(i=[e,e,"",n],T.setFilters.hasOwnProperty(e.toLowerCase())?r(function(e,t){for(var r,i=o(e,n),a=i.length;a--;)r=ee(e,i[a]),e[r]=!(t[r]=i[a])}):function(e){return o(e,0,i)}):o}},pseudos:{not:r(function(e){var t=[],n=[],i=k(e.replace(se,"$1"));return i[P]?r(function(e,t,n,r){for(var o,a=i(e,null,r,[]),s=e.length;s--;)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,r,o){return t[0]=e,i(t,null,o,n),t[0]=null,!n.pop()}}),has:r(function(e){return function(n){return t(e,n).length>0}}),contains:r(function(e){return e=e.replace(be,we),function(t){return(t.textContent||t.innerText||C(t)).indexOf(e)>-1}}),lang:r(function(e){return de.test(e||"")||t.error("unsupported lang: "+e),e=e.replace(be,we).toLowerCase(),function(t){var n;do if(n=_?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===q},focus:function(e){return e===H.activeElement&&(!H.hasFocus||H.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!T.pseudos.empty(e)},header:function(e){return ge.test(e.nodeName)},input:function(e){return he.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:l(function(){return[0]}),last:l(function(e,t){return[t-1]}),eq:l(function(e,t,n){return[n<0?n+t:n]}),even:l(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:l(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:l(function(e,t,n){for(var r=n<0?n+t:n;--r>=0;)e.push(r);return e}),gt:l(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}},T.pseudos.nth=T.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})T.pseudos[b]=s(b);for(b in{submit:!0,reset:!0})T.pseudos[b]=u(b);return f.prototype=T.filters=T.pseudos,T.setFilters=new f,N=t.tokenize=function(e,n){var r,i,o,a,s,u,l,c=z[e+" "];if(c)return n?0:c.slice(0);for(s=e,u=[],l=T.preFilter;s;){r&&!(i=ue.exec(s))||(i&&(s=s.slice(i[0].length)||s),u.push(o=[])),r=!1,(i=le.exec(s))&&(r=i.shift(),o.push({value:r,type:i[0].replace(se," ")}),s=s.slice(r.length));for(a in T.filter)!(i=pe[a].exec(s))||l[a]&&!(i=l[a](i))||(r=i.shift(),o.push({value:r,type:a,matches:i}),s=s.slice(r.length));if(!r)break}return n?s.length:s?t.error(e):z(e,u).slice(0)},k=t.compile=function(e,t){var n,r=[],i=[],o=X[e+" "];if(!o){for(t||(t=N(e)),n=t.length;n--;)o=v(t[n]),o[P]?r.push(o):i.push(o);o=X(e,x(i,r)),o.selector=e}return o},S=t.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,f=!r&&N(e=l.selector||e);if(n=n||[],1===f.length){if(o=f[0]=f[0].slice(0),o.length>2&&"ID"===(a=o[0]).type&&w.getById&&9===t.nodeType&&_&&T.relative[o[1].type]){if(t=(T.find.ID(a.matches[0].replace(be,we),t)||[])[0],!t)return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}for(i=pe.needsContext.test(e)?0:o.length;i--&&(a=o[i],!T.relative[s=a.type]);)if((u=T.find[s])&&(r=u(a.matches[0].replace(be,we),ve.test(o[0].type)&&c(t.parentNode)||t))){if(o.splice(i,1),e=r.length&&d(o),!e)return Q.apply(n,r),n;break}}return(l||k(e,f))(r,t,!_,n,!t||ve.test(e)&&c(t.parentNode)||t),n},w.sortStable=P.split("").sort(U).join("")===P,w.detectDuplicates=!!j,L(),w.sortDetached=i(function(e){return 1&e.compareDocumentPosition(H.createElement("div"))}),i(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||o("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),w.attributes&&i(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||o("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),i(function(e){return null==e.getAttribute("disabled")})||o(te,function(e,t,n){var r;if(!n)return e[t]===!0?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),t}(e);pe.find=ve,pe.expr=ve.selectors,pe.expr[":"]=pe.expr.pseudos,pe.uniqueSort=pe.unique=ve.uniqueSort,pe.text=ve.getText,pe.isXMLDoc=ve.isXML,pe.contains=ve.contains;var xe=function(e,t,n){for(var r=[],i=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(i&&pe(e).is(n))break;r.push(e)}return r},be=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},we=pe.expr.match.needsContext,Te=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,Ce=/^.[^:#\[\.,]*$/;pe.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?pe.find.matchesSelector(r,e)?[r]:[]:pe.find.matches(e,pe.grep(t,function(e){return 1===e.nodeType}))},pe.fn.extend({find:function(e){var t,n=[],r=this,i=r.length;if("string"!=typeof e)return this.pushStack(pe(e).filter(function(){for(t=0;t<i;t++)if(pe.contains(r[t],this))return!0}));for(t=0;t<i;t++)pe.find(e,r[t],n);return n=this.pushStack(i>1?pe.unique(n):n),n.selector=this.selector?this.selector+" "+e:e,n},filter:function(e){return this.pushStack(r(this,e||[],!1))},not:function(e){return this.pushStack(r(this,e||[],!0))},is:function(e){return!!r(this,"string"==typeof e&&we.test(e)?pe(e):e||[],!1).length}});var Ee,Ne=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,ke=pe.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||Ee,"string"==typeof e){if(r="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:Ne.exec(e),!r||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof pe?t[0]:t,pe.merge(this,pe.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:re,!0)),Te.test(r[1])&&pe.isPlainObject(t))for(r in t)pe.isFunction(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}if(i=re.getElementById(r[2]),i&&i.parentNode){if(i.id!==r[2])return Ee.find(e);this.length=1,this[0]=i}return this.context=re,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):pe.isFunction(e)?"undefined"!=typeof n.ready?n.ready(e):e(pe):(void 0!==e.selector&&(this.selector=e.selector,this.context=e.context),pe.makeArray(e,this))};ke.prototype=pe.fn,Ee=pe(re);var Se=/^(?:parents|prev(?:Until|All))/,Ae={children:!0,contents:!0,next:!0,prev:!0};pe.fn.extend({has:function(e){var t,n=pe(e,this),r=n.length;return this.filter(function(){for(t=0;t<r;t++)if(pe.contains(this,n[t]))return!0})},closest:function(e,t){for(var n,r=0,i=this.length,o=[],a=we.test(e)||"string"!=typeof e?pe(e,t||this.context):0;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?a.index(n)>-1:1===n.nodeType&&pe.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?pe.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?pe.inArray(this[0],pe(e)):pe.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(pe.uniqueSort(pe.merge(this.get(),pe(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),pe.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return xe(e,"parentNode")},parentsUntil:function(e,t,n){return xe(e,"parentNode",n)},next:function(e){return i(e,"nextSibling")},prev:function(e){return i(e,"previousSibling")},nextAll:function(e){return xe(e,"nextSibling")},prevAll:function(e){return xe(e,"previousSibling")},nextUntil:function(e,t,n){return xe(e,"nextSibling",n)},prevUntil:function(e,t,n){return xe(e,"previousSibling",n)},siblings:function(e){return be((e.parentNode||{}).firstChild,e)},children:function(e){return be(e.firstChild)},contents:function(e){return pe.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:pe.merge([],e.childNodes)}},function(e,t){pe.fn[e]=function(n,r){var i=pe.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=pe.filter(r,i)),this.length>1&&(Ae[e]||(i=pe.uniqueSort(i)),Se.test(e)&&(i=i.reverse())),this.pushStack(i)}});var De=/\S+/g;pe.Callbacks=function(e){e="string"==typeof e?o(e):pe.extend({},e);var t,n,r,i,a=[],s=[],u=-1,l=function(){for(i=e.once,r=t=!0;s.length;u=-1)for(n=s.shift();++u<a.length;)a[u].apply(n[0],n[1])===!1&&e.stopOnFalse&&(u=a.length,n=!1);e.memory||(n=!1),t=!1,i&&(a=n?[]:"")},c={add:function(){return a&&(n&&!t&&(u=a.length-1,s.push(n)),function r(t){pe.each(t,function(t,n){pe.isFunction(n)?e.unique&&c.has(n)||a.push(n):n&&n.length&&"string"!==pe.type(n)&&r(n)})}(arguments),n&&!t&&l()),this},remove:function(){return pe.each(arguments,function(e,t){for(var n;(n=pe.inArray(t,a,n))>-1;)a.splice(n,1),n<=u&&u--}),this},has:function(e){return e?pe.inArray(e,a)>-1:a.length>0},empty:function(){return a&&(a=[]),this},disable:function(){return i=s=[],a=n="",this},disabled:function(){return!a},lock:function(){return i=!0,n||c.disable(),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=n||[],n=[e,n.slice?n.slice():n],s.push(n),t||l()),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!r}};return c},pe.extend({Deferred:function(e){var t=[["resolve","done",pe.Callbacks("once memory"),"resolved"],["reject","fail",pe.Callbacks("once memory"),"rejected"],["notify","progress",pe.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return pe.Deferred(function(n){pe.each(t,function(t,o){var a=pe.isFunction(e[t])&&e[t];i[o[1]](function(){var e=a&&a.apply(this,arguments);e&&pe.isFunction(e.promise)?e.promise().progress(n.notify).done(n.resolve).fail(n.reject):n[o[0]+"With"](this===r?n.promise():this,a?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?pe.extend(e,r):r}},i={};return r.pipe=r.then,pe.each(t,function(e,o){var a=o[2],s=o[3];r[o[1]]=a.add,s&&a.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=a.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t,n,r,i=0,o=ie.call(arguments),a=o.length,s=1!==a||e&&pe.isFunction(e.promise)?a:0,u=1===s?e:pe.Deferred(),l=function(e,n,r){return function(i){n[e]=this,r[e]=arguments.length>1?ie.call(arguments):i,r===t?u.notifyWith(n,r):--s||u.resolveWith(n,r)}};if(a>1)for(t=new Array(a),n=new Array(a),r=new Array(a);i<a;i++)o[i]&&pe.isFunction(o[i].promise)?o[i].promise().progress(l(i,n,t)).done(l(i,r,o)).fail(u.reject):--s;return s||u.resolveWith(r,o),u.promise()}});var je;pe.fn.ready=function(e){return pe.ready.promise().done(e),this},pe.extend({isReady:!1,readyWait:1,holdReady:function(e){e?pe.readyWait++:pe.ready(!0)},ready:function(e){(e===!0?--pe.readyWait:pe.isReady)||(pe.isReady=!0,e!==!0&&--pe.readyWait>0||(je.resolveWith(re,[pe]),pe.fn.triggerHandler&&(pe(re).triggerHandler("ready"),pe(re).off("ready"))))}}),pe.ready.promise=function(t){if(!je)if(je=pe.Deferred(),"complete"===re.readyState||"loading"!==re.readyState&&!re.documentElement.doScroll)e.setTimeout(pe.ready);else if(re.addEventListener)re.addEventListener("DOMContentLoaded",s),e.addEventListener("load",s);else{re.attachEvent("onreadystatechange",s),e.attachEvent("onload",s);var n=!1;try{n=null==e.frameElement&&re.documentElement}catch(r){}n&&n.doScroll&&!function i(){if(!pe.isReady){try{n.doScroll("left")}catch(t){return e.setTimeout(i,50)}a(),pe.ready()}}()}return je.promise(t)},pe.ready.promise();var Le;for(Le in pe(fe))break;fe.ownFirst="0"===Le,fe.inlineBlockNeedsLayout=!1,pe(function(){var e,t,n,r;n=re.getElementsByTagName("body")[0],n&&n.style&&(t=re.createElement("div"),r=re.createElement("div"),r.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",n.appendChild(r).appendChild(t),"undefined"!=typeof t.style.zoom&&(t.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",fe.inlineBlockNeedsLayout=e=3===t.offsetWidth,e&&(n.style.zoom=1)),n.removeChild(r))}),function(){var e=re.createElement("div");fe.deleteExpando=!0;try{delete e.test}catch(t){fe.deleteExpando=!1}e=null}();var He=function(e){var t=pe.noData[(e.nodeName+" ").toLowerCase()],n=+e.nodeType||1;return(1===n||9===n)&&(!t||t!==!0&&e.getAttribute("classid")===t)},qe=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,_e=/([A-Z])/g;pe.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(e){return e=e.nodeType?pe.cache[e[pe.expando]]:e[pe.expando],!!e&&!l(e)},data:function(e,t,n){return c(e,t,n)},removeData:function(e,t){return f(e,t)},_data:function(e,t,n){return c(e,t,n,!0)},_removeData:function(e,t){return f(e,t,!0)}}),pe.fn.extend({data:function(e,t){var n,r,i,o=this[0],a=o&&o.attributes;if(void 0===e){if(this.length&&(i=pe.data(o),1===o.nodeType&&!pe._data(o,"parsedAttrs"))){for(n=a.length;n--;)a[n]&&(r=a[n].name,0===r.indexOf("data-")&&(r=pe.camelCase(r.slice(5)),u(o,r,i[r])));pe._data(o,"parsedAttrs",!0)}return i}return"object"==typeof e?this.each(function(){pe.data(this,e)}):arguments.length>1?this.each(function(){pe.data(this,e,t)}):o?u(o,e,pe.data(o,e)):void 0},removeData:function(e){return this.each(function(){pe.removeData(this,e)})}}),pe.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=pe._data(e,t),n&&(!r||pe.isArray(n)?r=pe._data(e,t,pe.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=pe.queue(e,t),r=n.length,i=n.shift(),o=pe._queueHooks(e,t),a=function(){pe.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return pe._data(e,n)||pe._data(e,n,{empty:pe.Callbacks("once memory").add(function(){pe._removeData(e,t+"queue"),pe._removeData(e,n)})})}}),pe.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length<n?pe.queue(this[0],e):void 0===t?this:this.each(function(){var n=pe.queue(this,e,t);pe._queueHooks(this,e),"fx"===e&&"inprogress"!==n[0]&&pe.dequeue(this,e)})},dequeue:function(e){return this.each(function(){pe.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=pe.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};for("string"!=typeof e&&(t=e,e=void 0),e=e||"fx";a--;)n=pe._data(o[a],e+"queueHooks"),n&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}}),function(){var e;fe.shrinkWrapBlocks=function(){if(null!=e)return e;e=!1;var t,n,r;return n=re.getElementsByTagName("body")[0],n&&n.style?(t=re.createElement("div"),r=re.createElement("div"),r.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",n.appendChild(r).appendChild(t),"undefined"!=typeof t.style.zoom&&(t.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:1px;width:1px;zoom:1",t.appendChild(re.createElement("div")).style.width="5px",e=3!==t.offsetWidth),n.removeChild(r),e):void 0}}();var Fe=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,Me=new RegExp("^(?:([+-])=|)("+Fe+")([a-z%]*)$","i"),Oe=["Top","Right","Bottom","Left"],Re=function(e,t){return e=t||e,"none"===pe.css(e,"display")||!pe.contains(e.ownerDocument,e)},Pe=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===pe.type(n)){i=!0;for(s in n)Pe(e,t,s,n[s],!0,o,a)}else if(void 0!==r&&(i=!0,pe.isFunction(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(pe(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},Be=/^(?:checkbox|radio)$/i,We=/<([\w:-]+)/,Ie=/^$|\/(?:java|ecma)script/i,$e=/^\s+/,ze="abbr|article|aside|audio|bdi|canvas|data|datalist|details|dialog|figcaption|figure|footer|header|hgroup|main|mark|meter|nav|output|picture|progress|section|summary|template|time|video";!function(){var e=re.createElement("div"),t=re.createDocumentFragment(),n=re.createElement("input");e.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",fe.leadingWhitespace=3===e.firstChild.nodeType,fe.tbody=!e.getElementsByTagName("tbody").length,fe.htmlSerialize=!!e.getElementsByTagName("link").length,fe.html5Clone="<:nav></:nav>"!==re.createElement("nav").cloneNode(!0).outerHTML,n.type="checkbox",n.checked=!0,t.appendChild(n),fe.appendChecked=n.checked,e.innerHTML="<textarea>x</textarea>",fe.noCloneChecked=!!e.cloneNode(!0).lastChild.defaultValue,t.appendChild(e),n=re.createElement("input"),n.setAttribute("type","radio"),n.setAttribute("checked","checked"),n.setAttribute("name","t"),e.appendChild(n),fe.checkClone=e.cloneNode(!0).cloneNode(!0).lastChild.checked,fe.noCloneEvent=!!e.addEventListener,e[pe.expando]=1,fe.attributes=!e.getAttribute(pe.expando)}();var Xe={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:fe.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]};Xe.optgroup=Xe.option,Xe.tbody=Xe.tfoot=Xe.colgroup=Xe.caption=Xe.thead,Xe.th=Xe.td;var Ue=/<|&#?\w+;/,Ve=/<tbody/i;!function(){var t,n,r=re.createElement("div");for(t in{submit:!0,change:!0,focusin:!0})n="on"+t,(fe[t]=n in e)||(r.setAttribute(n,"t"),fe[t]=r.attributes[n].expando===!1);r=null}();var Ye=/^(?:input|select|textarea)$/i,Je=/^key/,Ge=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ke=/^(?:focusinfocus|focusoutblur)$/,Qe=/^([^.]*)(?:\.(.+)|)/;pe.event={global:{},add:function(e,t,n,r,i){var o,a,s,u,l,c,f,d,p,h,g,m=pe._data(e);if(m){for(n.handler&&(u=n,n=u.handler,i=u.selector),n.guid||(n.guid=pe.guid++),(a=m.events)||(a=m.events={}),(c=m.handle)||(c=m.handle=function(e){return"undefined"==typeof pe||e&&pe.event.triggered===e.type?void 0:pe.event.dispatch.apply(c.elem,arguments)},c.elem=e),t=(t||"").match(De)||[""],s=t.length;s--;)o=Qe.exec(t[s])||[],p=g=o[1],h=(o[2]||"").split(".").sort(),p&&(l=pe.event.special[p]||{},p=(i?l.delegateType:l.bindType)||p,l=pe.event.special[p]||{},f=pe.extend({type:p,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&pe.expr.match.needsContext.test(i),namespace:h.join(".")},u),(d=a[p])||(d=a[p]=[],d.delegateCount=0,l.setup&&l.setup.call(e,r,h,c)!==!1||(e.addEventListener?e.addEventListener(p,c,!1):e.attachEvent&&e.attachEvent("on"+p,c))),l.add&&(l.add.call(e,f),f.handler.guid||(f.handler.guid=n.guid)),i?d.splice(d.delegateCount++,0,f):d.push(f),pe.event.global[p]=!0);e=null}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,d,p,h,g,m=pe.hasData(e)&&pe._data(e);if(m&&(c=m.events)){for(t=(t||"").match(De)||[""],l=t.length;l--;)if(s=Qe.exec(t[l])||[],p=g=s[1],h=(s[2]||"").split(".").sort(),p){for(f=pe.event.special[p]||{},p=(r?f.delegateType:f.bindType)||p,d=c[p]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),u=o=d.length;o--;)a=d[o],!i&&g!==a.origType||n&&n.guid!==a.guid||s&&!s.test(a.namespace)||r&&r!==a.selector&&("**"!==r||!a.selector)||(d.splice(o,1),a.selector&&d.delegateCount--,f.remove&&f.remove.call(e,a));u&&!d.length&&(f.teardown&&f.teardown.call(e,h,m.handle)!==!1||pe.removeEvent(e,p,m.handle),delete c[p])}else for(p in c)pe.event.remove(e,p+t[l],n,r,!0);pe.isEmptyObject(c)&&(delete m.handle,pe._removeData(e,"events"))}},trigger:function(t,n,r,i){var o,a,s,u,l,c,f,d=[r||re],p=ce.call(t,"type")?t.type:t,h=ce.call(t,"namespace")?t.namespace.split("."):[];if(s=c=r=r||re,3!==r.nodeType&&8!==r.nodeType&&!Ke.test(p+pe.event.triggered)&&(p.indexOf(".")>-1&&(h=p.split("."),p=h.shift(),h.sort()),a=p.indexOf(":")<0&&"on"+p,t=t[pe.expando]?t:new pe.Event(p,"object"==typeof t&&t),t.isTrigger=i?2:3,t.namespace=h.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=r),n=null==n?[t]:pe.makeArray(n,[t]),l=pe.event.special[p]||{},i||!l.trigger||l.trigger.apply(r,n)!==!1)){if(!i&&!l.noBubble&&!pe.isWindow(r)){for(u=l.delegateType||p,Ke.test(u+p)||(s=s.parentNode);s;s=s.parentNode)d.push(s),c=s;c===(r.ownerDocument||re)&&d.push(c.defaultView||c.parentWindow||e)}for(f=0;(s=d[f++])&&!t.isPropagationStopped();)t.type=f>1?u:l.bindType||p,o=(pe._data(s,"events")||{})[t.type]&&pe._data(s,"handle"),o&&o.apply(s,n),o=a&&s[a],o&&o.apply&&He(s)&&(t.result=o.apply(s,n),t.result===!1&&t.preventDefault());if(t.type=p,!i&&!t.isDefaultPrevented()&&(!l._default||l._default.apply(d.pop(),n)===!1)&&He(r)&&a&&r[p]&&!pe.isWindow(r)){c=r[a],c&&(r[a]=null),pe.event.triggered=p;try{r[p]()}catch(g){}pe.event.triggered=void 0,c&&(r[a]=c)}return t.result}},dispatch:function(e){e=pe.event.fix(e);var t,n,r,i,o,a=[],s=ie.call(arguments),u=(pe._data(this,"events")||{})[e.type]||[],l=pe.event.special[e.type]||{};if(s[0]=e,e.delegateTarget=this,!l.preDispatch||l.preDispatch.call(this,e)!==!1){for(a=pe.event.handlers.call(this,e,u),t=0;(i=a[t++])&&!e.isPropagationStopped();)for(e.currentTarget=i.elem,n=0;(o=i.handlers[n++])&&!e.isImmediatePropagationStopped();)e.rnamespace&&!e.rnamespace.test(o.namespace)||(e.handleObj=o,e.data=o.data,r=((pe.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s),void 0!==r&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()));return l.postDispatch&&l.postDispatch.call(this,e),e.result}},handlers:function(e,t){var n,r,i,o,a=[],s=t.delegateCount,u=e.target;if(s&&u.nodeType&&("click"!==e.type||isNaN(e.button)||e.button<1))for(;u!=this;u=u.parentNode||this)if(1===u.nodeType&&(u.disabled!==!0||"click"!==e.type)){for(r=[],n=0;n<s;n++)o=t[n],i=o.selector+" ",void 0===r[i]&&(r[i]=o.needsContext?pe(i,this).index(u)>-1:pe.find(i,this,null,[u]).length),r[i]&&r.push(o);r.length&&a.push({elem:u,handlers:r})}return s<t.length&&a.push({elem:this,handlers:t.slice(s)}),a},fix:function(e){if(e[pe.expando])return e;var t,n,r,i=e.type,o=e,a=this.fixHooks[i];for(a||(this.fixHooks[i]=a=Ge.test(i)?this.mouseHooks:Je.test(i)?this.keyHooks:{}),r=a.props?this.props.concat(a.props):this.props,e=new pe.Event(o),t=r.length;t--;)n=r[t],e[n]=o[n];return e.target||(e.target=o.srcElement||re),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,a.filter?a.filter(e,o):e},props:"altKey bubbles cancelable ctrlKey currentTarget detail eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,t){var n,r,i,o=t.button,a=t.fromElement;return null==e.pageX&&null!=t.clientX&&(r=e.target.ownerDocument||re,i=r.documentElement,n=r.body,e.pageX=t.clientX+(i&&i.scrollLeft||n&&n.scrollLeft||0)-(i&&i.clientLeft||n&&n.clientLeft||0),e.pageY=t.clientY+(i&&i.scrollTop||n&&n.scrollTop||0)-(i&&i.clientTop||n&&n.clientTop||0)),!e.relatedTarget&&a&&(e.relatedTarget=a===e.target?t.toElement:a),e.which||void 0===o||(e.which=1&o?1:2&o?3:4&o?2:0),e}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==b()&&this.focus)try{return this.focus(),!1}catch(e){}},delegateType:"focusin"},blur:{trigger:function(){if(this===b()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if(pe.nodeName(this,"input")&&"checkbox"===this.type&&this.click)return this.click(),!1},_default:function(e){return pe.nodeName(e.target,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n){var r=pe.extend(new pe.Event,n,{type:e,isSimulated:!0});pe.event.trigger(r,null,t),r.isDefaultPrevented()&&n.preventDefault()}},pe.removeEvent=re.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)}:function(e,t,n){var r="on"+t;e.detachEvent&&("undefined"==typeof e[r]&&(e[r]=null),e.detachEvent(r,n))},pe.Event=function(e,t){return this instanceof pe.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&e.returnValue===!1?v:x):this.type=e,t&&pe.extend(this,t),this.timeStamp=e&&e.timeStamp||pe.now(),void(this[pe.expando]=!0)):new pe.Event(e,t)},pe.Event.prototype={constructor:pe.Event,isDefaultPrevented:x,isPropagationStopped:x,isImmediatePropagationStopped:x,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=v,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=v,e&&!this.isSimulated&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=v,e&&e.stopImmediatePropagation&&e.stopImmediatePropagation(),this.stopPropagation()}},pe.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,t){pe.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;return i&&(i===r||pe.contains(r,i))||(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),fe.submit||(pe.event.special.submit={setup:function(){return!pe.nodeName(this,"form")&&void pe.event.add(this,"click._submit keypress._submit",function(e){var t=e.target,n=pe.nodeName(t,"input")||pe.nodeName(t,"button")?pe.prop(t,"form"):void 0;n&&!pe._data(n,"submit")&&(pe.event.add(n,"submit._submit",function(e){e._submitBubble=!0}),pe._data(n,"submit",!0))})},postDispatch:function(e){e._submitBubble&&(delete e._submitBubble,this.parentNode&&!e.isTrigger&&pe.event.simulate("submit",this.parentNode,e))},teardown:function(){return!pe.nodeName(this,"form")&&void pe.event.remove(this,"._submit")}}),fe.change||(pe.event.special.change={setup:function(){return Ye.test(this.nodeName)?("checkbox"!==this.type&&"radio"!==this.type||(pe.event.add(this,"propertychange._change",function(e){"checked"===e.originalEvent.propertyName&&(this._justChanged=!0)}),pe.event.add(this,"click._change",function(e){this._justChanged&&!e.isTrigger&&(this._justChanged=!1),pe.event.simulate("change",this,e)})),!1):void pe.event.add(this,"beforeactivate._change",function(e){var t=e.target;Ye.test(t.nodeName)&&!pe._data(t,"change")&&(pe.event.add(t,"change._change",function(e){!this.parentNode||e.isSimulated||e.isTrigger||pe.event.simulate("change",this.parentNode,e)}),pe._data(t,"change",!0))})},handle:function(e){var t=e.target;if(this!==t||e.isSimulated||e.isTrigger||"radio"!==t.type&&"checkbox"!==t.type)return e.handleObj.handler.apply(this,arguments)},teardown:function(){return pe.event.remove(this,"._change"),!Ye.test(this.nodeName)}}),fe.focusin||pe.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){pe.event.simulate(t,e.target,pe.event.fix(e))};pe.event.special[t]={setup:function(){var r=this.ownerDocument||this,i=pe._data(r,t);i||r.addEventListener(e,n,!0),pe._data(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this,i=pe._data(r,t)-1;i?pe._data(r,t,i):(r.removeEventListener(e,n,!0),pe._removeData(r,t))}}}),pe.fn.extend({on:function(e,t,n,r){return w(this,e,t,n,r)},one:function(e,t,n,r){return w(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,pe(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return t!==!1&&"function"!=typeof t||(n=t,t=void 0),n===!1&&(n=x),this.each(function(){pe.event.remove(this,e,n,t)})},trigger:function(e,t){return this.each(function(){pe.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return pe.event.trigger(e,t,n,!0)}});var Ze=/ jQuery\d+="(?:null|\d+)"/g,et=new RegExp("<(?:"+ze+")[\\s/>]","i"),tt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,nt=/<script|<style|<link/i,rt=/checked\s*(?:[^=]|=\s*.checked.)/i,it=/^true\/(.*)/,ot=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,at=p(re),st=at.appendChild(re.createElement("div"));pe.extend({htmlPrefilter:function(e){return e.replace(tt,"<$1></$2>")},clone:function(e,t,n){var r,i,o,a,s,u=pe.contains(e.ownerDocument,e);if(fe.html5Clone||pe.isXMLDoc(e)||!et.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(st.innerHTML=e.outerHTML,st.removeChild(o=st.firstChild)),!(fe.noCloneEvent&&fe.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||pe.isXMLDoc(e)))for(r=h(o),s=h(e),a=0;null!=(i=s[a]);++a)r[a]&&k(i,r[a]);if(t)if(n)for(s=s||h(e),r=r||h(o),a=0;null!=(i=s[a]);a++)N(i,r[a]);else N(e,o);return r=h(o,"script"),r.length>0&&g(r,!u&&h(e,"script")),r=s=i=null,o},cleanData:function(e,t){for(var n,r,i,o,a=0,s=pe.expando,u=pe.cache,l=fe.attributes,c=pe.event.special;null!=(n=e[a]);a++)if((t||He(n))&&(i=n[s],o=i&&u[i])){if(o.events)for(r in o.events)c[r]?pe.event.remove(n,r):pe.removeEvent(n,r,o.handle);u[i]&&(delete u[i],l||"undefined"==typeof n.removeAttribute?n[s]=void 0:n.removeAttribute(s),ne.push(i))}}}),pe.fn.extend({domManip:S,detach:function(e){return A(this,e,!0)},remove:function(e){return A(this,e)},text:function(e){return Pe(this,function(e){return void 0===e?pe.text(this):this.empty().append((this[0]&&this[0].ownerDocument||re).createTextNode(e))},null,e,arguments.length)},append:function(){return S(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=T(this,e);t.appendChild(e)}})},prepend:function(){return S(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=T(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return S(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return S(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++){for(1===e.nodeType&&pe.cleanData(h(e,!1));e.firstChild;)e.removeChild(e.firstChild);e.options&&pe.nodeName(e,"select")&&(e.options.length=0)}return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return pe.clone(this,e,t)})},html:function(e){return Pe(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e)return 1===t.nodeType?t.innerHTML.replace(Ze,""):void 0;if("string"==typeof e&&!nt.test(e)&&(fe.htmlSerialize||!et.test(e))&&(fe.leadingWhitespace||!$e.test(e))&&!Xe[(We.exec(e)||["",""])[1].toLowerCase()]){e=pe.htmlPrefilter(e);try{for(;n<r;n++)t=this[n]||{},1===t.nodeType&&(pe.cleanData(h(t,!1)),t.innerHTML=e);t=0}catch(i){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=[];return S(this,arguments,function(t){var n=this.parentNode;pe.inArray(this,e)<0&&(pe.cleanData(h(this)),
+n&&n.replaceChild(t,this))},e)}}),pe.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){pe.fn[e]=function(e){for(var n,r=0,i=[],o=pe(e),a=o.length-1;r<=a;r++)n=r===a?this:this.clone(!0),pe(o[r])[t](n),ae.apply(i,n.get());return this.pushStack(i)}});var ut,lt={HTML:"block",BODY:"block"},ct=/^margin/,ft=new RegExp("^("+Fe+")(?!px)[a-z%]+$","i"),dt=function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i},pt=re.documentElement;!function(){function t(){var t,c,f=re.documentElement;f.appendChild(u),l.style.cssText="-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",n=i=s=!1,r=a=!0,e.getComputedStyle&&(c=e.getComputedStyle(l),n="1%"!==(c||{}).top,s="2px"===(c||{}).marginLeft,i="4px"===(c||{width:"4px"}).width,l.style.marginRight="50%",r="4px"===(c||{marginRight:"4px"}).marginRight,t=l.appendChild(re.createElement("div")),t.style.cssText=l.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",t.style.marginRight=t.style.width="0",l.style.width="1px",a=!parseFloat((e.getComputedStyle(t)||{}).marginRight),l.removeChild(t)),l.style.display="none",o=0===l.getClientRects().length,o&&(l.style.display="",l.innerHTML="<table><tr><td></td><td>t</td></tr></table>",t=l.getElementsByTagName("td"),t[0].style.cssText="margin:0;border:0;padding:0;display:none",o=0===t[0].offsetHeight,o&&(t[0].style.display="",t[1].style.display="none",o=0===t[0].offsetHeight)),f.removeChild(u)}var n,r,i,o,a,s,u=re.createElement("div"),l=re.createElement("div");l.style&&(l.style.cssText="float:left;opacity:.5",fe.opacity="0.5"===l.style.opacity,fe.cssFloat=!!l.style.cssFloat,l.style.backgroundClip="content-box",l.cloneNode(!0).style.backgroundClip="",fe.clearCloneStyle="content-box"===l.style.backgroundClip,u=re.createElement("div"),u.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",l.innerHTML="",u.appendChild(l),fe.boxSizing=""===l.style.boxSizing||""===l.style.MozBoxSizing||""===l.style.WebkitBoxSizing,pe.extend(fe,{reliableHiddenOffsets:function(){return null==n&&t(),o},boxSizingReliable:function(){return null==n&&t(),i},pixelMarginRight:function(){return null==n&&t(),r},pixelPosition:function(){return null==n&&t(),n},reliableMarginRight:function(){return null==n&&t(),a},reliableMarginLeft:function(){return null==n&&t(),s}}))}();var ht,gt,mt=/^(top|right|bottom|left)$/;e.getComputedStyle?(ht=function(t){var n=t.ownerDocument.defaultView;return n&&n.opener||(n=e),n.getComputedStyle(t)},gt=function(e,t,n){var r,i,o,a,s=e.style;return n=n||ht(e),a=n?n.getPropertyValue(t)||n[t]:void 0,""!==a&&void 0!==a||pe.contains(e.ownerDocument,e)||(a=pe.style(e,t)),n&&!fe.pixelMarginRight()&&ft.test(a)&&ct.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o),void 0===a?a:a+""}):pt.currentStyle&&(ht=function(e){return e.currentStyle},gt=function(e,t,n){var r,i,o,a,s=e.style;return n=n||ht(e),a=n?n[t]:void 0,null==a&&s&&s[t]&&(a=s[t]),ft.test(a)&&!mt.test(t)&&(r=s.left,i=e.runtimeStyle,o=i&&i.left,o&&(i.left=e.currentStyle.left),s.left="fontSize"===t?"1em":a,a=s.pixelLeft+"px",s.left=r,o&&(i.left=o)),void 0===a?a:a+""||"auto"});var yt=/alpha\([^)]*\)/i,vt=/opacity\s*=\s*([^)]*)/i,xt=/^(none|table(?!-c[ea]).+)/,bt=new RegExp("^("+Fe+")(.*)$","i"),wt={position:"absolute",visibility:"hidden",display:"block"},Tt={letterSpacing:"0",fontWeight:"400"},Ct=["Webkit","O","Moz","ms"],Et=re.createElement("div").style;pe.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=gt(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":fe.cssFloat?"cssFloat":"styleFloat"},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=pe.camelCase(t),u=e.style;if(t=pe.cssProps[s]||(pe.cssProps[s]=H(s)||s),a=pe.cssHooks[t]||pe.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:u[t];if(o=typeof n,"string"===o&&(i=Me.exec(n))&&i[1]&&(n=d(e,t,i),o="number"),null!=n&&n===n&&("number"===o&&(n+=i&&i[3]||(pe.cssNumber[s]?"":"px")),fe.clearCloneStyle||""!==n||0!==t.indexOf("background")||(u[t]="inherit"),!(a&&"set"in a&&void 0===(n=a.set(e,n,r)))))try{u[t]=n}catch(l){}}},css:function(e,t,n,r){var i,o,a,s=pe.camelCase(t);return t=pe.cssProps[s]||(pe.cssProps[s]=H(s)||s),a=pe.cssHooks[t]||pe.cssHooks[s],a&&"get"in a&&(o=a.get(e,!0,n)),void 0===o&&(o=gt(e,t,r)),"normal"===o&&t in Tt&&(o=Tt[t]),""===n||n?(i=parseFloat(o),n===!0||isFinite(i)?i||0:o):o}}),pe.each(["height","width"],function(e,t){pe.cssHooks[t]={get:function(e,n,r){if(n)return xt.test(pe.css(e,"display"))&&0===e.offsetWidth?dt(e,wt,function(){return M(e,t,r)}):M(e,t,r)},set:function(e,n,r){var i=r&&ht(e);return _(e,n,r?F(e,t,r,fe.boxSizing&&"border-box"===pe.css(e,"boxSizing",!1,i),i):0)}}}),fe.opacity||(pe.cssHooks.opacity={get:function(e,t){return vt.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=pe.isNumeric(t)?"alpha(opacity="+100*t+")":"",o=r&&r.filter||n.filter||"";n.zoom=1,(t>=1||""===t)&&""===pe.trim(o.replace(yt,""))&&n.removeAttribute&&(n.removeAttribute("filter"),""===t||r&&!r.filter)||(n.filter=yt.test(o)?o.replace(yt,i):o+" "+i)}}),pe.cssHooks.marginRight=L(fe.reliableMarginRight,function(e,t){if(t)return dt(e,{display:"inline-block"},gt,[e,"marginRight"])}),pe.cssHooks.marginLeft=L(fe.reliableMarginLeft,function(e,t){if(t)return(parseFloat(gt(e,"marginLeft"))||(pe.contains(e.ownerDocument,e)?e.getBoundingClientRect().left-dt(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}):0))+"px"}),pe.each({margin:"",padding:"",border:"Width"},function(e,t){pe.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];r<4;r++)i[e+Oe[r]+t]=o[r]||o[r-2]||o[0];return i}},ct.test(e)||(pe.cssHooks[e+t].set=_)}),pe.fn.extend({css:function(e,t){return Pe(this,function(e,t,n){var r,i,o={},a=0;if(pe.isArray(t)){for(r=ht(e),i=t.length;a<i;a++)o[t[a]]=pe.css(e,t[a],!1,r);return o}return void 0!==n?pe.style(e,t,n):pe.css(e,t)},e,t,arguments.length>1)},show:function(){return q(this,!0)},hide:function(){return q(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){Re(this)?pe(this).show():pe(this).hide()})}}),pe.Tween=O,O.prototype={constructor:O,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||pe.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(pe.cssNumber[n]?"":"px")},cur:function(){var e=O.propHooks[this.prop];return e&&e.get?e.get(this):O.propHooks._default.get(this)},run:function(e){var t,n=O.propHooks[this.prop];return this.options.duration?this.pos=t=pe.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):O.propHooks._default.set(this),this}},O.prototype.init.prototype=O.prototype,O.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=pe.css(e.elem,e.prop,""),t&&"auto"!==t?t:0)},set:function(e){pe.fx.step[e.prop]?pe.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[pe.cssProps[e.prop]]&&!pe.cssHooks[e.prop]?e.elem[e.prop]=e.now:pe.style(e.elem,e.prop,e.now+e.unit)}}},O.propHooks.scrollTop=O.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},pe.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},pe.fx=O.prototype.init,pe.fx.step={};var Nt,kt,St=/^(?:toggle|show|hide)$/,At=/queueHooks$/;pe.Animation=pe.extend($,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return d(n.elem,e,Me.exec(t),n),n}]},tweener:function(e,t){pe.isFunction(e)?(t=e,e=["*"]):e=e.match(De);for(var n,r=0,i=e.length;r<i;r++)n=e[r],$.tweeners[n]=$.tweeners[n]||[],$.tweeners[n].unshift(t)},prefilters:[W],prefilter:function(e,t){t?$.prefilters.unshift(e):$.prefilters.push(e)}}),pe.speed=function(e,t,n){var r=e&&"object"==typeof e?pe.extend({},e):{complete:n||!n&&t||pe.isFunction(e)&&e,duration:e,easing:n&&t||t&&!pe.isFunction(t)&&t};return r.duration=pe.fx.off?0:"number"==typeof r.duration?r.duration:r.duration in pe.fx.speeds?pe.fx.speeds[r.duration]:pe.fx.speeds._default,null!=r.queue&&r.queue!==!0||(r.queue="fx"),r.old=r.complete,r.complete=function(){pe.isFunction(r.old)&&r.old.call(this),r.queue&&pe.dequeue(this,r.queue)},r},pe.fn.extend({fadeTo:function(e,t,n,r){return this.filter(Re).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=pe.isEmptyObject(e),o=pe.speed(t,n,r),a=function(){var t=$(this,pe.extend({},e),o);(i||pe._data(this,"finish"))&&t.stop(!0)};return a.finish=a,i||o.queue===!1?this.each(a):this.queue(o.queue,a)},stop:function(e,t,n){var r=function(e){var t=e.stop;delete e.stop,t(n)};return"string"!=typeof e&&(n=t,t=e,e=void 0),t&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,i=null!=e&&e+"queueHooks",o=pe.timers,a=pe._data(this);if(i)a[i]&&a[i].stop&&r(a[i]);else for(i in a)a[i]&&a[i].stop&&At.test(i)&&r(a[i]);for(i=o.length;i--;)o[i].elem!==this||null!=e&&o[i].queue!==e||(o[i].anim.stop(n),t=!1,o.splice(i,1));!t&&n||pe.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,n=pe._data(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=pe.timers,a=r?r.length:0;for(n.finish=!0,pe.queue(this,e,[]),i&&i.stop&&i.stop.call(this,!0),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;t<a;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}}),pe.each(["toggle","show","hide"],function(e,t){var n=pe.fn[t];pe.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(P(t,!0),e,r,i)}}),pe.each({slideDown:P("show"),slideUp:P("hide"),slideToggle:P("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){pe.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),pe.timers=[],pe.fx.tick=function(){var e,t=pe.timers,n=0;for(Nt=pe.now();n<t.length;n++)e=t[n],e()||t[n]!==e||t.splice(n--,1);t.length||pe.fx.stop(),Nt=void 0},pe.fx.timer=function(e){pe.timers.push(e),e()?pe.fx.start():pe.timers.pop()},pe.fx.interval=13,pe.fx.start=function(){kt||(kt=e.setInterval(pe.fx.tick,pe.fx.interval))},pe.fx.stop=function(){e.clearInterval(kt),kt=null},pe.fx.speeds={slow:600,fast:200,_default:400},pe.fn.delay=function(t,n){return t=pe.fx?pe.fx.speeds[t]||t:t,n=n||"fx",this.queue(n,function(n,r){var i=e.setTimeout(n,t);r.stop=function(){e.clearTimeout(i)}})},function(){var e,t=re.createElement("input"),n=re.createElement("div"),r=re.createElement("select"),i=r.appendChild(re.createElement("option"));n=re.createElement("div"),n.setAttribute("className","t"),n.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",e=n.getElementsByTagName("a")[0],t.setAttribute("type","checkbox"),n.appendChild(t),e=n.getElementsByTagName("a")[0],e.style.cssText="top:1px",fe.getSetAttribute="t"!==n.className,fe.style=/top/.test(e.getAttribute("style")),fe.hrefNormalized="/a"===e.getAttribute("href"),fe.checkOn=!!t.value,fe.optSelected=i.selected,fe.enctype=!!re.createElement("form").enctype,r.disabled=!0,fe.optDisabled=!i.disabled,t=re.createElement("input"),t.setAttribute("value",""),fe.input=""===t.getAttribute("value"),t.value="t",t.setAttribute("type","radio"),fe.radioValue="t"===t.value}();var Dt=/\r/g,jt=/[\x20\t\r\n\f]+/g;pe.fn.extend({val:function(e){var t,n,r,i=this[0];{if(arguments.length)return r=pe.isFunction(e),this.each(function(n){var i;1===this.nodeType&&(i=r?e.call(this,n,pe(this).val()):e,null==i?i="":"number"==typeof i?i+="":pe.isArray(i)&&(i=pe.map(i,function(e){return null==e?"":e+""})),t=pe.valHooks[this.type]||pe.valHooks[this.nodeName.toLowerCase()],t&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))});if(i)return t=pe.valHooks[i.type]||pe.valHooks[i.nodeName.toLowerCase()],t&&"get"in t&&void 0!==(n=t.get(i,"value"))?n:(n=i.value,"string"==typeof n?n.replace(Dt,""):null==n?"":n)}}}),pe.extend({valHooks:{option:{get:function(e){var t=pe.find.attr(e,"value");return null!=t?t:pe.trim(pe.text(e)).replace(jt," ")}},select:{get:function(e){for(var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||i<0,a=o?null:[],s=o?i+1:r.length,u=i<0?s:o?i:0;u<s;u++)if(n=r[u],(n.selected||u===i)&&(fe.optDisabled?!n.disabled:null===n.getAttribute("disabled"))&&(!n.parentNode.disabled||!pe.nodeName(n.parentNode,"optgroup"))){if(t=pe(n).val(),o)return t;a.push(t)}return a},set:function(e,t){for(var n,r,i=e.options,o=pe.makeArray(t),a=i.length;a--;)if(r=i[a],pe.inArray(pe.valHooks.option.get(r),o)>-1)try{r.selected=n=!0}catch(s){r.scrollHeight}else r.selected=!1;return n||(e.selectedIndex=-1),i}}}}),pe.each(["radio","checkbox"],function(){pe.valHooks[this]={set:function(e,t){if(pe.isArray(t))return e.checked=pe.inArray(pe(e).val(),t)>-1}},fe.checkOn||(pe.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var Lt,Ht,qt=pe.expr.attrHandle,_t=/^(?:checked|selected)$/i,Ft=fe.getSetAttribute,Mt=fe.input;pe.fn.extend({attr:function(e,t){return Pe(this,pe.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){pe.removeAttr(this,e)})}}),pe.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?pe.prop(e,t,n):(1===o&&pe.isXMLDoc(e)||(t=t.toLowerCase(),i=pe.attrHooks[t]||(pe.expr.match.bool.test(t)?Ht:Lt)),void 0!==n?null===n?void pe.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:(r=pe.find.attr(e,t),null==r?void 0:r))},attrHooks:{type:{set:function(e,t){if(!fe.radioValue&&"radio"===t&&pe.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(De);if(o&&1===e.nodeType)for(;n=o[i++];)r=pe.propFix[n]||n,pe.expr.match.bool.test(n)?Mt&&Ft||!_t.test(n)?e[r]=!1:e[pe.camelCase("default-"+n)]=e[r]=!1:pe.attr(e,n,""),e.removeAttribute(Ft?n:r)}}),Ht={set:function(e,t,n){return t===!1?pe.removeAttr(e,n):Mt&&Ft||!_t.test(n)?e.setAttribute(!Ft&&pe.propFix[n]||n,n):e[pe.camelCase("default-"+n)]=e[n]=!0,n}},pe.each(pe.expr.match.bool.source.match(/\w+/g),function(e,t){var n=qt[t]||pe.find.attr;Mt&&Ft||!_t.test(t)?qt[t]=function(e,t,r){var i,o;return r||(o=qt[t],qt[t]=i,i=null!=n(e,t,r)?t.toLowerCase():null,qt[t]=o),i}:qt[t]=function(e,t,n){if(!n)return e[pe.camelCase("default-"+t)]?t.toLowerCase():null}}),Mt&&Ft||(pe.attrHooks.value={set:function(e,t,n){return pe.nodeName(e,"input")?void(e.defaultValue=t):Lt&&Lt.set(e,t,n)}}),Ft||(Lt={set:function(e,t,n){var r=e.getAttributeNode(n);if(r||e.setAttributeNode(r=e.ownerDocument.createAttribute(n)),r.value=t+="","value"===n||t===e.getAttribute(n))return t}},qt.id=qt.name=qt.coords=function(e,t,n){var r;if(!n)return(r=e.getAttributeNode(t))&&""!==r.value?r.value:null},pe.valHooks.button={get:function(e,t){var n=e.getAttributeNode(t);if(n&&n.specified)return n.value},set:Lt.set},pe.attrHooks.contenteditable={set:function(e,t,n){Lt.set(e,""!==t&&t,n)}},pe.each(["width","height"],function(e,t){pe.attrHooks[t]={set:function(e,n){if(""===n)return e.setAttribute(t,"auto"),n}}})),fe.style||(pe.attrHooks.style={get:function(e){return e.style.cssText||void 0},set:function(e,t){return e.style.cssText=t+""}});var Ot=/^(?:input|select|textarea|button|object)$/i,Rt=/^(?:a|area)$/i;pe.fn.extend({prop:function(e,t){return Pe(this,pe.prop,e,t,arguments.length>1)},removeProp:function(e){return e=pe.propFix[e]||e,this.each(function(){try{this[e]=void 0,delete this[e]}catch(t){}})}}),pe.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&pe.isXMLDoc(e)||(t=pe.propFix[t]||t,i=pe.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=pe.find.attr(e,"tabindex");return t?parseInt(t,10):Ot.test(e.nodeName)||Rt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),fe.hrefNormalized||pe.each(["href","src"],function(e,t){pe.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}}),fe.optSelected||(pe.propHooks.selected={get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),pe.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){pe.propFix[this.toLowerCase()]=this}),fe.enctype||(pe.propFix.enctype="encoding");var Pt=/[\t\r\n\f]/g;pe.fn.extend({addClass:function(e){var t,n,r,i,o,a,s,u=0;if(pe.isFunction(e))return this.each(function(t){pe(this).addClass(e.call(this,t,z(this)))});if("string"==typeof e&&e)for(t=e.match(De)||[];n=this[u++];)if(i=z(n),r=1===n.nodeType&&(" "+i+" ").replace(Pt," ")){for(a=0;o=t[a++];)r.indexOf(" "+o+" ")<0&&(r+=o+" ");s=pe.trim(r),i!==s&&pe.attr(n,"class",s)}return this},removeClass:function(e){var t,n,r,i,o,a,s,u=0;if(pe.isFunction(e))return this.each(function(t){pe(this).removeClass(e.call(this,t,z(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof e&&e)for(t=e.match(De)||[];n=this[u++];)if(i=z(n),r=1===n.nodeType&&(" "+i+" ").replace(Pt," ")){for(a=0;o=t[a++];)for(;r.indexOf(" "+o+" ")>-1;)r=r.replace(" "+o+" "," ");s=pe.trim(r),i!==s&&pe.attr(n,"class",s)}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):pe.isFunction(e)?this.each(function(n){pe(this).toggleClass(e.call(this,n,z(this),t),t)}):this.each(function(){var t,r,i,o;if("string"===n)for(r=0,i=pe(this),o=e.match(De)||[];t=o[r++];)i.hasClass(t)?i.removeClass(t):i.addClass(t);else void 0!==e&&"boolean"!==n||(t=z(this),t&&pe._data(this,"__className__",t),pe.attr(this,"class",t||e===!1?"":pe._data(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;for(t=" "+e+" ";n=this[r++];)if(1===n.nodeType&&(" "+z(n)+" ").replace(Pt," ").indexOf(t)>-1)return!0;return!1}}),pe.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){pe.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),pe.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}});var Bt=e.location,Wt=pe.now(),It=/\?/,$t=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;pe.parseJSON=function(t){if(e.JSON&&e.JSON.parse)return e.JSON.parse(t+"");var n,r=null,i=pe.trim(t+"");return i&&!pe.trim(i.replace($t,function(e,t,i,o){return n&&t&&(r=0),0===r?e:(n=i||t,r+=!o-!i,"")}))?Function("return "+i)():pe.error("Invalid JSON: "+t)},pe.parseXML=function(t){var n,r;if(!t||"string"!=typeof t)return null;try{e.DOMParser?(r=new e.DOMParser,n=r.parseFromString(t,"text/xml")):(n=new e.ActiveXObject("Microsoft.XMLDOM"),n.async="false",n.loadXML(t))}catch(i){n=void 0}return n&&n.documentElement&&!n.getElementsByTagName("parsererror").length||pe.error("Invalid XML: "+t),n};var zt=/#.*$/,Xt=/([?&])_=[^&]*/,Ut=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Vt=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Yt=/^(?:GET|HEAD)$/,Jt=/^\/\//,Gt=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,Kt={},Qt={},Zt="*/".concat("*"),en=Bt.href,tn=Gt.exec(en.toLowerCase())||[];pe.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:en,type:"GET",isLocal:Vt.test(tn[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Zt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":pe.parseJSON,"text xml":pe.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?V(V(e,pe.ajaxSettings),t):V(pe.ajaxSettings,e)},ajaxPrefilter:X(Kt),ajaxTransport:X(Qt),ajax:function(t,n){function r(t,n,r,i){var o,f,v,x,w,C=n;2!==b&&(b=2,u&&e.clearTimeout(u),c=void 0,s=i||"",T.readyState=t>0?4:0,o=t>=200&&t<300||304===t,r&&(x=Y(d,T,r)),x=J(d,x,T,o),o?(d.ifModified&&(w=T.getResponseHeader("Last-Modified"),w&&(pe.lastModified[a]=w),w=T.getResponseHeader("etag"),w&&(pe.etag[a]=w)),204===t||"HEAD"===d.type?C="nocontent":304===t?C="notmodified":(C=x.state,f=x.data,v=x.error,o=!v)):(v=C,!t&&C||(C="error",t<0&&(t=0))),T.status=t,T.statusText=(n||C)+"",o?g.resolveWith(p,[f,C,T]):g.rejectWith(p,[T,C,v]),T.statusCode(y),y=void 0,l&&h.trigger(o?"ajaxSuccess":"ajaxError",[T,d,o?f:v]),m.fireWith(p,[T,C]),l&&(h.trigger("ajaxComplete",[T,d]),--pe.active||pe.event.trigger("ajaxStop")))}"object"==typeof t&&(n=t,t=void 0),n=n||{};var i,o,a,s,u,l,c,f,d=pe.ajaxSetup({},n),p=d.context||d,h=d.context&&(p.nodeType||p.jquery)?pe(p):pe.event,g=pe.Deferred(),m=pe.Callbacks("once memory"),y=d.statusCode||{},v={},x={},b=0,w="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(2===b){if(!f)for(f={};t=Ut.exec(s);)f[t[1].toLowerCase()]=t[2];t=f[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===b?s:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return b||(e=x[n]=x[n]||e,v[e]=t),this},overrideMimeType:function(e){return b||(d.mimeType=e),this},statusCode:function(e){var t;if(e)if(b<2)for(t in e)y[t]=[y[t],e[t]];else T.always(e[T.status]);return this},abort:function(e){var t=e||w;return c&&c.abort(t),r(0,t),this}};if(g.promise(T).complete=m.add,T.success=T.done,T.error=T.fail,d.url=((t||d.url||en)+"").replace(zt,"").replace(Jt,tn[1]+"//"),d.type=n.method||n.type||d.method||d.type,d.dataTypes=pe.trim(d.dataType||"*").toLowerCase().match(De)||[""],null==d.crossDomain&&(i=Gt.exec(d.url.toLowerCase()),d.crossDomain=!(!i||i[1]===tn[1]&&i[2]===tn[2]&&(i[3]||("http:"===i[1]?"80":"443"))===(tn[3]||("http:"===tn[1]?"80":"443")))),d.data&&d.processData&&"string"!=typeof d.data&&(d.data=pe.param(d.data,d.traditional)),U(Kt,d,n,T),2===b)return T;l=pe.event&&d.global,l&&0===pe.active++&&pe.event.trigger("ajaxStart"),d.type=d.type.toUpperCase(),d.hasContent=!Yt.test(d.type),a=d.url,d.hasContent||(d.data&&(a=d.url+=(It.test(a)?"&":"?")+d.data,delete d.data),d.cache===!1&&(d.url=Xt.test(a)?a.replace(Xt,"$1_="+Wt++):a+(It.test(a)?"&":"?")+"_="+Wt++)),d.ifModified&&(pe.lastModified[a]&&T.setRequestHeader("If-Modified-Since",pe.lastModified[a]),pe.etag[a]&&T.setRequestHeader("If-None-Match",pe.etag[a])),(d.data&&d.hasContent&&d.contentType!==!1||n.contentType)&&T.setRequestHeader("Content-Type",d.contentType),T.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+("*"!==d.dataTypes[0]?", "+Zt+"; q=0.01":""):d.accepts["*"]);for(o in d.headers)T.setRequestHeader(o,d.headers[o]);if(d.beforeSend&&(d.beforeSend.call(p,T,d)===!1||2===b))return T.abort();w="abort";for(o in{success:1,error:1,complete:1})T[o](d[o]);if(c=U(Qt,d,n,T)){if(T.readyState=1,l&&h.trigger("ajaxSend",[T,d]),2===b)return T;d.async&&d.timeout>0&&(u=e.setTimeout(function(){T.abort("timeout")},d.timeout));try{b=1,c.send(v,r)}catch(C){if(!(b<2))throw C;r(-1,C)}}else r(-1,"No Transport");return T},getJSON:function(e,t,n){return pe.get(e,t,n,"json")},getScript:function(e,t){return pe.get(e,void 0,t,"script")}}),pe.each(["get","post"],function(e,t){pe[t]=function(e,n,r,i){return pe.isFunction(n)&&(i=i||r,r=n,n=void 0),pe.ajax(pe.extend({url:e,type:t,dataType:i,data:n,success:r},pe.isPlainObject(e)&&e))}}),pe._evalUrl=function(e){return pe.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},pe.fn.extend({wrapAll:function(e){if(pe.isFunction(e))return this.each(function(t){pe(this).wrapAll(e.call(this,t))});if(this[0]){var t=pe(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstChild&&1===e.firstChild.nodeType;)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return pe.isFunction(e)?this.each(function(t){pe(this).wrapInner(e.call(this,t))}):this.each(function(){var t=pe(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=pe.isFunction(e);return this.each(function(n){pe(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){pe.nodeName(this,"body")||pe(this).replaceWith(this.childNodes)}).end()}}),pe.expr.filters.hidden=function(e){return fe.reliableHiddenOffsets()?e.offsetWidth<=0&&e.offsetHeight<=0&&!e.getClientRects().length:K(e)},pe.expr.filters.visible=function(e){return!pe.expr.filters.hidden(e)};var nn=/%20/g,rn=/\[\]$/,on=/\r?\n/g,an=/^(?:submit|button|image|reset|file)$/i,sn=/^(?:input|select|textarea|keygen)/i;pe.param=function(e,t){var n,r=[],i=function(e,t){t=pe.isFunction(t)?t():null==t?"":t,r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(void 0===t&&(t=pe.ajaxSettings&&pe.ajaxSettings.traditional),pe.isArray(e)||e.jquery&&!pe.isPlainObject(e))pe.each(e,function(){i(this.name,this.value)});else for(n in e)Q(n,e[n],t,i);return r.join("&").replace(nn,"+")},pe.fn.extend({serialize:function(){return pe.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=pe.prop(this,"elements");return e?pe.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!pe(this).is(":disabled")&&sn.test(this.nodeName)&&!an.test(e)&&(this.checked||!Be.test(e))}).map(function(e,t){var n=pe(this).val();return null==n?null:pe.isArray(n)?pe.map(n,function(e){return{name:t.name,value:e.replace(on,"\r\n")}}):{name:t.name,value:n.replace(on,"\r\n")}}).get()}}),pe.ajaxSettings.xhr=void 0!==e.ActiveXObject?function(){return this.isLocal?ee():re.documentMode>8?Z():/^(get|post|head|put|delete|options)$/i.test(this.type)&&Z()||ee()}:Z;var un=0,ln={},cn=pe.ajaxSettings.xhr();e.attachEvent&&e.attachEvent("onunload",function(){for(var e in ln)ln[e](void 0,!0)}),fe.cors=!!cn&&"withCredentials"in cn,cn=fe.ajax=!!cn,cn&&pe.ajaxTransport(function(t){if(!t.crossDomain||fe.cors){var n;return{send:function(r,i){var o,a=t.xhr(),s=++un;if(a.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(o in t.xhrFields)a[o]=t.xhrFields[o];t.mimeType&&a.overrideMimeType&&a.overrideMimeType(t.mimeType),t.crossDomain||r["X-Requested-With"]||(r["X-Requested-With"]="XMLHttpRequest");for(o in r)void 0!==r[o]&&a.setRequestHeader(o,r[o]+"");a.send(t.hasContent&&t.data||null),n=function(e,r){var o,u,l;if(n&&(r||4===a.readyState))if(delete ln[s],n=void 0,a.onreadystatechange=pe.noop,r)4!==a.readyState&&a.abort();else{l={},o=a.status,"string"==typeof a.responseText&&(l.text=a.responseText);try{u=a.statusText}catch(c){u=""}o||!t.isLocal||t.crossDomain?1223===o&&(o=204):o=l.text?200:404}l&&i(o,u,l,a.getAllResponseHeaders())},t.async?4===a.readyState?e.setTimeout(n):a.onreadystatechange=ln[s]=n:n()},abort:function(){n&&n(void 0,!0)}}}}),pe.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return pe.globalEval(e),e}}}),pe.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),pe.ajaxTransport("script",function(e){if(e.crossDomain){var t,n=re.head||pe("head")[0]||re.documentElement;return{send:function(r,i){t=re.createElement("script"),t.async=!0,e.scriptCharset&&(t.charset=e.scriptCharset),t.src=e.url,t.onload=t.onreadystatechange=function(e,n){(n||!t.readyState||/loaded|complete/.test(t.readyState))&&(t.onload=t.onreadystatechange=null,t.parentNode&&t.parentNode.removeChild(t),t=null,n||i(200,"success"))},n.insertBefore(t,n.firstChild)},abort:function(){t&&t.onload(void 0,!0)}}}});var fn=[],dn=/(=)\?(?=&|$)|\?\?/;pe.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=fn.pop()||pe.expando+"_"+Wt++;return this[e]=!0,e}}),pe.ajaxPrefilter("json jsonp",function(t,n,r){var i,o,a,s=t.jsonp!==!1&&(dn.test(t.url)?"url":"string"==typeof t.data&&0===(t.contentType||"").indexOf("application/x-www-form-urlencoded")&&dn.test(t.data)&&"data");if(s||"jsonp"===t.dataTypes[0])return i=t.jsonpCallback=pe.isFunction(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,s?t[s]=t[s].replace(dn,"$1"+i):t.jsonp!==!1&&(t.url+=(It.test(t.url)?"&":"?")+t.jsonp+"="+i),t.converters["script json"]=function(){return a||pe.error(i+" was not called"),a[0]},t.dataTypes[0]="json",o=e[i],e[i]=function(){a=arguments},r.always(function(){void 0===o?pe(e).removeProp(i):e[i]=o,t[i]&&(t.jsonpCallback=n.jsonpCallback,fn.push(i)),a&&pe.isFunction(o)&&o(a[0]),a=o=void 0}),"script"}),pe.parseHTML=function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||re;var r=Te.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=y([e],t,i),i&&i.length&&pe(i).remove(),pe.merge([],r.childNodes))};var pn=pe.fn.load;return pe.fn.load=function(e,t,n){if("string"!=typeof e&&pn)return pn.apply(this,arguments);var r,i,o,a=this,s=e.indexOf(" ");return s>-1&&(r=pe.trim(e.slice(s,e.length)),e=e.slice(0,s)),pe.isFunction(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),a.length>0&&pe.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?pe("<div>").append(pe.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},pe.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){pe.fn[t]=function(e){return this.on(t,e)}}),pe.expr.filters.animated=function(e){return pe.grep(pe.timers,function(t){return e===t.elem}).length},pe.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l,c=pe.css(e,"position"),f=pe(e),d={};"static"===c&&(e.style.position="relative"),s=f.offset(),o=pe.css(e,"top"),u=pe.css(e,"left"),l=("absolute"===c||"fixed"===c)&&pe.inArray("auto",[o,u])>-1,l?(r=f.position(),a=r.top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),pe.isFunction(t)&&(t=t.call(e,n,pe.extend({},s))),null!=t.top&&(d.top=t.top-s.top+a),null!=t.left&&(d.left=t.left-s.left+i),"using"in t?t.using.call(e,d):f.css(d)}},pe.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each(function(t){pe.offset.setOffset(this,e,t)});var t,n,r={top:0,left:0},i=this[0],o=i&&i.ownerDocument;if(o)return t=o.documentElement,pe.contains(t,i)?("undefined"!=typeof i.getBoundingClientRect&&(r=i.getBoundingClientRect()),n=te(o),{top:r.top+(n.pageYOffset||t.scrollTop)-(t.clientTop||0),left:r.left+(n.pageXOffset||t.scrollLeft)-(t.clientLeft||0)}):r},position:function(){if(this[0]){var e,t,n={top:0,left:0},r=this[0];return"fixed"===pe.css(r,"position")?t=r.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),pe.nodeName(e[0],"html")||(n=e.offset()),n.top+=pe.css(e[0],"borderTopWidth",!0),n.left+=pe.css(e[0],"borderLeftWidth",!0)),{top:t.top-n.top-pe.css(r,"marginTop",!0),left:t.left-n.left-pe.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){
+for(var e=this.offsetParent;e&&!pe.nodeName(e,"html")&&"static"===pe.css(e,"position");)e=e.offsetParent;return e||pt})}}),pe.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,t){var n=/Y/.test(t);pe.fn[e]=function(r){return Pe(this,function(e,r,i){var o=te(e);return void 0===i?o?t in o?o[t]:o.document.documentElement[r]:e[r]:void(o?o.scrollTo(n?pe(o).scrollLeft():i,n?i:pe(o).scrollTop()):e[r]=i)},e,r,arguments.length,null)}}),pe.each(["top","left"],function(e,t){pe.cssHooks[t]=L(fe.pixelPosition,function(e,n){if(n)return n=gt(e,t),ft.test(n)?pe(e).position()[t]+"px":n})}),pe.each({Height:"height",Width:"width"},function(e,t){pe.each({padding:"inner"+e,content:t,"":"outer"+e},function(n,r){pe.fn[r]=function(r,i){var o=arguments.length&&(n||"boolean"!=typeof r),a=n||(r===!0||i===!0?"margin":"border");return Pe(this,function(t,n,r){var i;return pe.isWindow(t)?t.document.documentElement["client"+e]:9===t.nodeType?(i=t.documentElement,Math.max(t.body["scroll"+e],i["scroll"+e],t.body["offset"+e],i["offset"+e],i["client"+e])):void 0===r?pe.css(t,n,a):pe.style(t,n,r,a)},t,o?r:void 0,o,null)}})}),pe.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}}),pe.fn.size=function(){return this.length},pe.fn.andSelf=pe.fn.addBack,layui.define(function(e){layui.$=pe,e("jquery",pe)}),pe});
\ No newline at end of file
diff --git a/zy-acs-cv/src/main/webapp/static/layui/lay/modules/laydate.js b/zy-acs-cv/src/main/webapp/static/layui/lay/modules/laydate.js
new file mode 100644
index 0000000..5da33da
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/lay/modules/laydate.js
@@ -0,0 +1,2 @@
+/** layui-v2.5.4 MIT License By https://www.layui.com */
+ ;!function(){"use strict";var e=window.layui&&layui.define,t={getPath:function(){var e=document.currentScript?document.currentScript.src:function(){for(var e,t=document.scripts,n=t.length-1,a=n;a>0;a--)if("interactive"===t[a].readyState){e=t[a].src;break}return e||t[n].src}();return e.substring(0,e.lastIndexOf("/")+1)}(),getStyle:function(e,t){var n=e.currentStyle?e.currentStyle:window.getComputedStyle(e,null);return n[n.getPropertyValue?"getPropertyValue":"getAttribute"](t)},link:function(e,a,i){if(n.path){var r=document.getElementsByTagName("head")[0],o=document.createElement("link");"string"==typeof a&&(i=a);var s=(i||e).replace(/\.|\//g,""),l="layuicss-"+s,d=0;o.rel="stylesheet",o.href=n.path+e,o.id=l,document.getElementById(l)||r.appendChild(o),"function"==typeof a&&!function c(){return++d>80?window.console&&console.error("laydate.css: Invalid"):void(1989===parseInt(t.getStyle(document.getElementById(l),"width"))?a():setTimeout(c,100))}()}}},n={v:"5.0.9",config:{},index:window.laydate&&window.laydate.v?1e5:0,path:t.getPath,set:function(e){var t=this;return t.config=w.extend({},t.config,e),t},ready:function(a){var i="laydate",r="",o=(e?"modules/laydate/":"theme/")+"default/laydate.css?v="+n.v+r;return e?layui.addcss(o,a,i):t.link(o,a,i),this}},a=function(){var e=this;return{hint:function(t){e.hint.call(e,t)},config:e.config}},i="laydate",r=".layui-laydate",o="layui-this",s="laydate-disabled",l="寮�濮嬫棩鏈熻秴鍑轰簡缁撴潫鏃ユ湡<br>寤鸿閲嶆柊閫夋嫨",d=[100,2e5],c="layui-laydate-static",m="layui-laydate-list",u="laydate-selected",h="layui-laydate-hint",y="laydate-day-prev",f="laydate-day-next",p="layui-laydate-footer",g=".laydate-btns-confirm",v="laydate-time-text",D=".laydate-btns-time",T=function(e){var t=this;t.index=++n.index,t.config=w.extend({},t.config,n.config,e),n.ready(function(){t.init()})},w=function(e){return new C(e)},C=function(e){for(var t=0,n="object"==typeof e?[e]:(this.selector=e,document.querySelectorAll(e||null));t<n.length;t++)this.push(n[t])};C.prototype=[],C.prototype.constructor=C,w.extend=function(){var e=1,t=arguments,n=function(e,t){e=e||(t.constructor===Array?[]:{});for(var a in t)e[a]=t[a]&&t[a].constructor===Object?n(e[a],t[a]):t[a];return e};for(t[0]="object"==typeof t[0]?t[0]:{};e<t.length;e++)"object"==typeof t[e]&&n(t[0],t[e]);return t[0]},w.ie=function(){var e=navigator.userAgent.toLowerCase();return!!(window.ActiveXObject||"ActiveXObject"in window)&&((e.match(/msie\s(\d+)/)||[])[1]||"11")}(),w.stope=function(e){e=e||window.event,e.stopPropagation?e.stopPropagation():e.cancelBubble=!0},w.each=function(e,t){var n,a=this;if("function"!=typeof t)return a;if(e=e||[],e.constructor===Object){for(n in e)if(t.call(e[n],n,e[n]))break}else for(n=0;n<e.length&&!t.call(e[n],n,e[n]);n++);return a},w.digit=function(e,t,n){var a="";e=String(e),t=t||2;for(var i=e.length;i<t;i++)a+="0";return e<Math.pow(10,t)?a+(0|e):e},w.elem=function(e,t){var n=document.createElement(e);return w.each(t||{},function(e,t){n.setAttribute(e,t)}),n},C.addStr=function(e,t){return e=e.replace(/\s+/," "),t=t.replace(/\s+/," ").split(" "),w.each(t,function(t,n){new RegExp("\\b"+n+"\\b").test(e)||(e=e+" "+n)}),e.replace(/^\s|\s$/,"")},C.removeStr=function(e,t){return e=e.replace(/\s+/," "),t=t.replace(/\s+/," ").split(" "),w.each(t,function(t,n){var a=new RegExp("\\b"+n+"\\b");a.test(e)&&(e=e.replace(a,""))}),e.replace(/\s+/," ").replace(/^\s|\s$/,"")},C.prototype.find=function(e){var t=this,n=0,a=[],i="object"==typeof e;return this.each(function(r,o){for(var s=i?[e]:o.querySelectorAll(e||null);n<s.length;n++)a.push(s[n]);t.shift()}),i||(t.selector=(t.selector?t.selector+" ":"")+e),w.each(a,function(e,n){t.push(n)}),t},C.prototype.each=function(e){return w.each.call(this,this,e)},C.prototype.addClass=function(e,t){return this.each(function(n,a){a.className=C[t?"removeStr":"addStr"](a.className,e)})},C.prototype.removeClass=function(e){return this.addClass(e,!0)},C.prototype.hasClass=function(e){var t=!1;return this.each(function(n,a){new RegExp("\\b"+e+"\\b").test(a.className)&&(t=!0)}),t},C.prototype.attr=function(e,t){var n=this;return void 0===t?function(){if(n.length>0)return n[0].getAttribute(e)}():n.each(function(n,a){a.setAttribute(e,t)})},C.prototype.removeAttr=function(e){return this.each(function(t,n){n.removeAttribute(e)})},C.prototype.html=function(e){return this.each(function(t,n){n.innerHTML=e})},C.prototype.val=function(e){return this.each(function(t,n){n.value=e})},C.prototype.append=function(e){return this.each(function(t,n){"object"==typeof e?n.appendChild(e):n.innerHTML=n.innerHTML+e})},C.prototype.remove=function(e){return this.each(function(t,n){e?n.removeChild(e):n.parentNode.removeChild(n)})},C.prototype.on=function(e,t){return this.each(function(n,a){a.attachEvent?a.attachEvent("on"+e,function(e){e.target=e.srcElement,t.call(a,e)}):a.addEventListener(e,t,!1)})},C.prototype.off=function(e,t){return this.each(function(n,a){a.detachEvent?a.detachEvent("on"+e,t):a.removeEventListener(e,t,!1)})},T.isLeapYear=function(e){return e%4===0&&e%100!==0||e%400===0},T.prototype.config={type:"date",range:!1,format:"yyyy-MM-dd",value:null,isInitValue:!0,min:"1900-1-1",max:"2099-12-31",trigger:"focus",show:!1,showBottom:!0,btns:["clear","now","confirm"],lang:"cn",theme:"default",position:null,calendar:!1,mark:{},zIndex:null,done:null,change:null},T.prototype.lang=function(){var e=this,t=e.config,n={cn:{weeks:["鏃�","涓�","浜�","涓�","鍥�","浜�","鍏�"],time:["鏃�","鍒�","绉�"],timeTips:"閫夋嫨鏃堕棿",startTime:"寮�濮嬫椂闂�",endTime:"缁撴潫鏃堕棿",dateTips:"杩斿洖鏃ユ湡",month:["涓�","浜�","涓�","鍥�","浜�","鍏�","涓�","鍏�","涔�","鍗�","鍗佷竴","鍗佷簩"],tools:{confirm:"纭畾",clear:"娓呯┖",now:"鐜板湪"}},en:{weeks:["Su","Mo","Tu","We","Th","Fr","Sa"],time:["Hours","Minutes","Seconds"],timeTips:"Select Time",startTime:"Start Time",endTime:"End Time",dateTips:"Select Date",month:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],tools:{confirm:"Confirm",clear:"Clear",now:"Now"}}};return n[t.lang]||n.cn},T.prototype.init=function(){var e=this,t=e.config,n="yyyy|y|MM|M|dd|d|HH|H|mm|m|ss|s",a="static"===t.position,i={year:"yyyy",month:"yyyy-MM",date:"yyyy-MM-dd",time:"HH:mm:ss",datetime:"yyyy-MM-dd HH:mm:ss"};t.elem=w(t.elem),t.eventElem=w(t.eventElem),t.elem[0]&&(t.range===!0&&(t.range="-"),t.format===i.date&&(t.format=i[t.type]),e.format=t.format.match(new RegExp(n+"|.","g"))||[],e.EXP_IF="",e.EXP_SPLIT="",w.each(e.format,function(t,a){var i=new RegExp(n).test(a)?"\\d{"+function(){return new RegExp(n).test(e.format[0===t?t+1:t-1]||"")?/^yyyy|y$/.test(a)?4:a.length:/^yyyy$/.test(a)?"1,4":/^y$/.test(a)?"1,308":"1,2"}()+"}":"\\"+a;e.EXP_IF=e.EXP_IF+i,e.EXP_SPLIT=e.EXP_SPLIT+"("+i+")"}),e.EXP_IF=new RegExp("^"+(t.range?e.EXP_IF+"\\s\\"+t.range+"\\s"+e.EXP_IF:e.EXP_IF)+"$"),e.EXP_SPLIT=new RegExp("^"+e.EXP_SPLIT+"$",""),e.isInput(t.elem[0])||"focus"===t.trigger&&(t.trigger="click"),t.elem.attr("lay-key")||(t.elem.attr("lay-key",e.index),t.eventElem.attr("lay-key",e.index)),t.mark=w.extend({},t.calendar&&"cn"===t.lang?{"0-1-1":"鍏冩棪","0-2-14":"鎯呬汉","0-3-8":"濡囧コ","0-3-12":"妞嶆爲","0-4-1":"鎰氫汉","0-5-1":"鍔冲姩","0-5-4":"闈掑勾","0-6-1":"鍎跨","0-9-10":"鏁欏笀","0-9-18":"鍥借��","0-10-1":"鍥藉簡","0-12-25":"鍦h癁"}:{},t.mark),w.each(["min","max"],function(e,n){var a=[],i=[];if("number"==typeof t[n]){var r=t[n],o=(new Date).getTime(),s=864e5,l=new Date(r?r<s?o+r*s:r:o);a=[l.getFullYear(),l.getMonth()+1,l.getDate()],r<s||(i=[l.getHours(),l.getMinutes(),l.getSeconds()])}else a=(t[n].match(/\d+-\d+-\d+/)||[""])[0].split("-"),i=(t[n].match(/\d+:\d+:\d+/)||[""])[0].split(":");t[n]={year:0|a[0]||(new Date).getFullYear(),month:a[1]?(0|a[1])-1:(new Date).getMonth(),date:0|a[2]||(new Date).getDate(),hours:0|i[0],minutes:0|i[1],seconds:0|i[2]}}),e.elemID="layui-laydate"+t.elem.attr("lay-key"),(t.show||a)&&e.render(),a||e.events(),t.value&&t.isInitValue&&(t.value.constructor===Date?e.setValue(e.parse(0,e.systemDate(t.value))):e.setValue(t.value)))},T.prototype.render=function(){var e=this,t=e.config,n=e.lang(),a="static"===t.position,i=e.elem=w.elem("div",{id:e.elemID,"class":["layui-laydate",t.range?" layui-laydate-range":"",a?" "+c:"",t.theme&&"default"!==t.theme&&!/^#/.test(t.theme)?" laydate-theme-"+t.theme:""].join("")}),r=e.elemMain=[],o=e.elemHeader=[],s=e.elemCont=[],l=e.table=[],d=e.footer=w.elem("div",{"class":p});if(t.zIndex&&(i.style.zIndex=t.zIndex),w.each(new Array(2),function(e){if(!t.range&&e>0)return!0;var a=w.elem("div",{"class":"layui-laydate-header"}),i=[function(){var e=w.elem("i",{"class":"layui-icon laydate-icon laydate-prev-y"});return e.innerHTML="&#xe65a;",e}(),function(){var e=w.elem("i",{"class":"layui-icon laydate-icon laydate-prev-m"});return e.innerHTML="&#xe603;",e}(),function(){var e=w.elem("div",{"class":"laydate-set-ym"}),t=w.elem("span"),n=w.elem("span");return e.appendChild(t),e.appendChild(n),e}(),function(){var e=w.elem("i",{"class":"layui-icon laydate-icon laydate-next-m"});return e.innerHTML="&#xe602;",e}(),function(){var e=w.elem("i",{"class":"layui-icon laydate-icon laydate-next-y"});return e.innerHTML="&#xe65b;",e}()],d=w.elem("div",{"class":"layui-laydate-content"}),c=w.elem("table"),m=w.elem("thead"),u=w.elem("tr");w.each(i,function(e,t){a.appendChild(t)}),m.appendChild(u),w.each(new Array(6),function(e){var t=c.insertRow(0);w.each(new Array(7),function(a){if(0===e){var i=w.elem("th");i.innerHTML=n.weeks[a],u.appendChild(i)}t.insertCell(a)})}),c.insertBefore(m,c.children[0]),d.appendChild(c),r[e]=w.elem("div",{"class":"layui-laydate-main laydate-main-list-"+e}),r[e].appendChild(a),r[e].appendChild(d),o.push(i),s.push(d),l.push(c)}),w(d).html(function(){var e=[],i=[];return"datetime"===t.type&&e.push('<span lay-type="datetime" class="laydate-btns-time">'+n.timeTips+"</span>"),w.each(t.btns,function(e,r){var o=n.tools[r]||"btn";t.range&&"now"===r||(a&&"clear"===r&&(o="cn"===t.lang?"閲嶇疆":"Reset"),i.push('<span lay-type="'+r+'" class="laydate-btns-'+r+'">'+o+"</span>"))}),e.push('<div class="laydate-footer-btns">'+i.join("")+"</div>"),e.join("")}()),w.each(r,function(e,t){i.appendChild(t)}),t.showBottom&&i.appendChild(d),/^#/.test(t.theme)){var m=w.elem("style"),u=["#{{id}} .layui-laydate-header{background-color:{{theme}};}","#{{id}} .layui-this{background-color:{{theme}} !important;}"].join("").replace(/{{id}}/g,e.elemID).replace(/{{theme}}/g,t.theme);"styleSheet"in m?(m.setAttribute("type","text/css"),m.styleSheet.cssText=u):m.innerHTML=u,w(i).addClass("laydate-theme-molv"),i.appendChild(m)}e.remove(T.thisElemDate),a?t.elem.append(i):(document.body.appendChild(i),e.position()),e.checkDate().calendar(),e.changeEvent(),T.thisElemDate=e.elemID,"function"==typeof t.ready&&t.ready(w.extend({},t.dateTime,{month:t.dateTime.month+1}))},T.prototype.remove=function(e){var t=this,n=(t.config,w("#"+(e||t.elemID)));return n.hasClass(c)||t.checkDate(function(){n.remove()}),t},T.prototype.position=function(){var e=this,t=e.config,n=e.bindElem||t.elem[0],a=n.getBoundingClientRect(),i=e.elem.offsetWidth,r=e.elem.offsetHeight,o=function(e){return e=e?"scrollLeft":"scrollTop",document.body[e]|document.documentElement[e]},s=function(e){return document.documentElement[e?"clientWidth":"clientHeight"]},l=5,d=a.left,c=a.bottom;d+i+l>s("width")&&(d=s("width")-i-l),c+r+l>s()&&(c=a.top>r?a.top-r:s()-r,c-=2*l),t.position&&(e.elem.style.position=t.position),e.elem.style.left=d+("fixed"===t.position?0:o(1))+"px",e.elem.style.top=c+("fixed"===t.position?0:o())+"px"},T.prototype.hint=function(e){var t=this,n=(t.config,w.elem("div",{"class":h}));t.elem&&(n.innerHTML=e||"",w(t.elem).find("."+h).remove(),t.elem.appendChild(n),clearTimeout(t.hinTimer),t.hinTimer=setTimeout(function(){w(t.elem).find("."+h).remove()},3e3))},T.prototype.getAsYM=function(e,t,n){return n?t--:t++,t<0&&(t=11,e--),t>11&&(t=0,e++),[e,t]},T.prototype.systemDate=function(e){var t=e||new Date;return{year:t.getFullYear(),month:t.getMonth(),date:t.getDate(),hours:e?e.getHours():0,minutes:e?e.getMinutes():0,seconds:e?e.getSeconds():0}},T.prototype.checkDate=function(e){var t,a,i=this,r=(new Date,i.config),o=r.dateTime=r.dateTime||i.systemDate(),s=i.bindElem||r.elem[0],l=(i.isInput(s)?"val":"html",i.isInput(s)?s.value:"static"===r.position?"":s.innerHTML),c=function(e){e.year>d[1]&&(e.year=d[1],a=!0),e.month>11&&(e.month=11,a=!0),e.hours>23&&(e.hours=0,a=!0),e.minutes>59&&(e.minutes=0,e.hours++,a=!0),e.seconds>59&&(e.seconds=0,e.minutes++,a=!0),t=n.getEndDate(e.month+1,e.year),e.date>t&&(e.date=t,a=!0)},m=function(e,t,n){var o=["startTime","endTime"];t=(t.match(i.EXP_SPLIT)||[]).slice(1),n=n||0,r.range&&(i[o[n]]=i[o[n]]||{}),w.each(i.format,function(s,l){var c=parseFloat(t[s]);t[s].length<l.length&&(a=!0),/yyyy|y/.test(l)?(c<d[0]&&(c=d[0],a=!0),e.year=c):/MM|M/.test(l)?(c<1&&(c=1,a=!0),e.month=c-1):/dd|d/.test(l)?(c<1&&(c=1,a=!0),e.date=c):/HH|H/.test(l)?(c<1&&(c=0,a=!0),e.hours=c,r.range&&(i[o[n]].hours=c)):/mm|m/.test(l)?(c<1&&(c=0,a=!0),e.minutes=c,r.range&&(i[o[n]].minutes=c)):/ss|s/.test(l)&&(c<1&&(c=0,a=!0),e.seconds=c,r.range&&(i[o[n]].seconds=c))}),c(e)};return"limit"===e?(c(o),i):(l=l||r.value,"string"==typeof l&&(l=l.replace(/\s+/g," ").replace(/^\s|\s$/g,"")),i.startState&&!i.endState&&(delete i.startState,i.endState=!0),"string"==typeof l&&l?i.EXP_IF.test(l)?r.range?(l=l.split(" "+r.range+" "),i.startDate=i.startDate||i.systemDate(),i.endDate=i.endDate||i.systemDate(),r.dateTime=w.extend({},i.startDate),w.each([i.startDate,i.endDate],function(e,t){m(t,l[e],e)})):m(o,l):(i.hint("鏃ユ湡鏍煎紡涓嶅悎娉�<br>蹇呴』閬靛惊涓嬭堪鏍煎紡锛�<br>"+(r.range?r.format+" "+r.range+" "+r.format:r.format)+"<br>宸蹭负浣犻噸缃�"),a=!0):l&&l.constructor===Date?r.dateTime=i.systemDate(l):(r.dateTime=i.systemDate(),delete i.startState,delete i.endState,delete i.startDate,delete i.endDate,delete i.startTime,delete i.endTime),c(o),a&&l&&i.setValue(r.range?i.endDate?i.parse():"":i.parse()),e&&e(),i)},T.prototype.mark=function(e,t){var n,a=this,i=a.config;return w.each(i.mark,function(e,a){var i=e.split("-");i[0]!=t[0]&&0!=i[0]||i[1]!=t[1]&&0!=i[1]||i[2]!=t[2]||(n=a||t[2])}),n&&e.html('<span class="laydate-day-mark">'+n+"</span>"),a},T.prototype.limit=function(e,t,n,a){var i,r=this,o=r.config,l={},d=o[n>41?"endDate":"dateTime"],c=w.extend({},d,t||{});return w.each({now:c,min:o.min,max:o.max},function(e,t){l[e]=r.newDate(w.extend({year:t.year,month:t.month,date:t.date},function(){var e={};return w.each(a,function(n,a){e[a]=t[a]}),e}())).getTime()}),i=l.now<l.min||l.now>l.max,e&&e[i?"addClass":"removeClass"](s),i},T.prototype.calendar=function(e){var t,a,i,r=this,s=r.config,l=e||s.dateTime,c=new Date,m=r.lang(),u="date"!==s.type&&"datetime"!==s.type,h=e?1:0,y=w(r.table[h]).find("td"),f=w(r.elemHeader[h][2]).find("span");if(l.year<d[0]&&(l.year=d[0],r.hint("鏈�浣庡彧鑳芥敮鎸佸埌鍏厓"+d[0]+"骞�")),l.year>d[1]&&(l.year=d[1],r.hint("鏈�楂樺彧鑳芥敮鎸佸埌鍏厓"+d[1]+"骞�")),r.firstDate||(r.firstDate=w.extend({},l)),c.setFullYear(l.year,l.month,1),t=c.getDay(),a=n.getEndDate(l.month||12,l.year),i=n.getEndDate(l.month+1,l.year),w.each(y,function(e,n){var d=[l.year,l.month],c=0;n=w(n),n.removeAttr("class"),e<t?(c=a-t+e,n.addClass("laydate-day-prev"),d=r.getAsYM(l.year,l.month,"sub")):e>=t&&e<i+t?(c=e-t,s.range||c+1===l.date&&n.addClass(o)):(c=e-i-t,n.addClass("laydate-day-next"),d=r.getAsYM(l.year,l.month)),d[1]++,d[2]=c+1,n.attr("lay-ymd",d.join("-")).html(d[2]),r.mark(n,d).limit(n,{year:d[0],month:d[1]-1,date:d[2]},e)}),w(f[0]).attr("lay-ym",l.year+"-"+(l.month+1)),w(f[1]).attr("lay-ym",l.year+"-"+(l.month+1)),"cn"===s.lang?(w(f[0]).attr("lay-type","year").html(l.year+"骞�"),w(f[1]).attr("lay-type","month").html(l.month+1+"鏈�")):(w(f[0]).attr("lay-type","month").html(m.month[l.month]),w(f[1]).attr("lay-type","year").html(l.year)),u&&(s.range&&(e?r.endDate=r.endDate||{year:l.year+("year"===s.type?1:0),month:l.month+("month"===s.type?0:-1)}:r.startDate=r.startDate||{year:l.year,month:l.month},e&&(r.listYM=[[r.startDate.year,r.startDate.month+1],[r.endDate.year,r.endDate.month+1]],r.list(s.type,0).list(s.type,1),"time"===s.type?r.setBtnStatus("鏃堕棿",w.extend({},r.systemDate(),r.startTime),w.extend({},r.systemDate(),r.endTime)):r.setBtnStatus(!0))),s.range||(r.listYM=[[l.year,l.month+1]],r.list(s.type,0))),s.range&&!e){var p=r.getAsYM(l.year,l.month);r.calendar(w.extend({},l,{year:p[0],month:p[1]}))}return s.range||r.limit(w(r.footer).find(g),null,0,["hours","minutes","seconds"]),s.range&&e&&!u&&r.stampRange(),r},T.prototype.list=function(e,t){var n=this,a=n.config,i=a.dateTime,r=n.lang(),l=a.range&&"date"!==a.type&&"datetime"!==a.type,d=w.elem("ul",{"class":m+" "+{year:"laydate-year-list",month:"laydate-month-list",time:"laydate-time-list"}[e]}),c=n.elemHeader[t],u=w(c[2]).find("span"),h=n.elemCont[t||0],y=w(h).find("."+m)[0],f="cn"===a.lang,p=f?"骞�":"",T=n.listYM[t]||{},C=["hours","minutes","seconds"],x=["startTime","endTime"][t];if(T[0]<1&&(T[0]=1),"year"===e){var M,b=M=T[0]-7;b<1&&(b=M=1),w.each(new Array(15),function(e){var i=w.elem("li",{"lay-ym":M}),r={year:M};M==T[0]&&w(i).addClass(o),i.innerHTML=M+p,d.appendChild(i),M<n.firstDate.year?(r.month=a.min.month,r.date=a.min.date):M>=n.firstDate.year&&(r.month=a.max.month,r.date=a.max.date),n.limit(w(i),r,t),M++}),w(u[f?0:1]).attr("lay-ym",M-8+"-"+T[1]).html(b+p+" - "+(M-1+p))}else if("month"===e)w.each(new Array(12),function(e){var i=w.elem("li",{"lay-ym":e}),s={year:T[0],month:e};e+1==T[1]&&w(i).addClass(o),i.innerHTML=r.month[e]+(f?"鏈�":""),d.appendChild(i),T[0]<n.firstDate.year?s.date=a.min.date:T[0]>=n.firstDate.year&&(s.date=a.max.date),n.limit(w(i),s,t)}),w(u[f?0:1]).attr("lay-ym",T[0]+"-"+T[1]).html(T[0]+p);else if("time"===e){var E=function(){w(d).find("ol").each(function(e,a){w(a).find("li").each(function(a,i){n.limit(w(i),[{hours:a},{hours:n[x].hours,minutes:a},{hours:n[x].hours,minutes:n[x].minutes,seconds:a}][e],t,[["hours"],["hours","minutes"],["hours","minutes","seconds"]][e])})}),a.range||n.limit(w(n.footer).find(g),n[x],0,["hours","minutes","seconds"])};a.range?n[x]||(n[x]={hours:0,minutes:0,seconds:0}):n[x]=i,w.each([24,60,60],function(e,t){var a=w.elem("li"),i=["<p>"+r.time[e]+"</p><ol>"];w.each(new Array(t),function(t){i.push("<li"+(n[x][C[e]]===t?' class="'+o+'"':"")+">"+w.digit(t,2)+"</li>")}),a.innerHTML=i.join("")+"</ol>",d.appendChild(a)}),E()}if(y&&h.removeChild(y),h.appendChild(d),"year"===e||"month"===e)w(n.elemMain[t]).addClass("laydate-ym-show"),w(d).find("li").on("click",function(){var r=0|w(this).attr("lay-ym");if(!w(this).hasClass(s)){if(0===t)i[e]=r,l&&(n.startDate[e]=r),n.limit(w(n.footer).find(g),null,0);else if(l)n.endDate[e]=r;else{var c="year"===e?n.getAsYM(r,T[1]-1,"sub"):n.getAsYM(T[0],r,"sub");w.extend(i,{year:c[0],month:c[1]})}"year"===a.type||"month"===a.type?(w(d).find("."+o).removeClass(o),w(this).addClass(o),"month"===a.type&&"year"===e&&(n.listYM[t][0]=r,l&&(n[["startDate","endDate"][t]].year=r),n.list("month",t))):(n.checkDate("limit").calendar(),n.closeList()),n.setBtnStatus(),a.range||n.done(null,"change"),w(n.footer).find(D).removeClass(s)}});else{var S=w.elem("span",{"class":v}),k=function(){w(d).find("ol").each(function(e){var t=this,a=w(t).find("li");t.scrollTop=30*(n[x][C[e]]-2),t.scrollTop<=0&&a.each(function(e,n){if(!w(this).hasClass(s))return t.scrollTop=30*(e-2),!0})})},H=w(c[2]).find("."+v);k(),S.innerHTML=a.range?[r.startTime,r.endTime][t]:r.timeTips,w(n.elemMain[t]).addClass("laydate-time-show"),H[0]&&H.remove(),c[2].appendChild(S),w(d).find("ol").each(function(e){var t=this;w(t).find("li").on("click",function(){var r=0|this.innerHTML;w(this).hasClass(s)||(a.range?n[x][C[e]]=r:i[C[e]]=r,w(t).find("."+o).removeClass(o),w(this).addClass(o),E(),k(),(n.endDate||"time"===a.type)&&n.done(null,"change"),n.setBtnStatus())})})}return n},T.prototype.listYM=[],T.prototype.closeList=function(){var e=this;e.config;w.each(e.elemCont,function(t,n){w(this).find("."+m).remove(),w(e.elemMain[t]).removeClass("laydate-ym-show laydate-time-show")}),w(e.elem).find("."+v).remove()},T.prototype.setBtnStatus=function(e,t,n){var a,i=this,r=i.config,o=w(i.footer).find(g),d=r.range&&"date"!==r.type&&"time"!==r.type;d&&(t=t||i.startDate,n=n||i.endDate,a=i.newDate(t).getTime()>i.newDate(n).getTime(),i.limit(null,t)||i.limit(null,n)?o.addClass(s):o[a?"addClass":"removeClass"](s),e&&a&&i.hint("string"==typeof e?l.replace(/鏃ユ湡/g,e):l))},T.prototype.parse=function(e,t){var n=this,a=n.config,i=t||(e?w.extend({},n.endDate,n.endTime):a.range?w.extend({},n.startDate,n.startTime):a.dateTime),r=n.format.concat();return w.each(r,function(e,t){/yyyy|y/.test(t)?r[e]=w.digit(i.year,t.length):/MM|M/.test(t)?r[e]=w.digit(i.month+1,t.length):/dd|d/.test(t)?r[e]=w.digit(i.date,t.length):/HH|H/.test(t)?r[e]=w.digit(i.hours,t.length):/mm|m/.test(t)?r[e]=w.digit(i.minutes,t.length):/ss|s/.test(t)&&(r[e]=w.digit(i.seconds,t.length))}),a.range&&!e?r.join("")+" "+a.range+" "+n.parse(1):r.join("")},T.prototype.newDate=function(e){return e=e||{},new Date(e.year||1,e.month||0,e.date||1,e.hours||0,e.minutes||0,e.seconds||0)},T.prototype.setValue=function(e){var t=this,n=t.config,a=t.bindElem||n.elem[0],i=t.isInput(a)?"val":"html";return"static"===n.position||w(a)[i](e||""),this},T.prototype.stampRange=function(){var e,t,n=this,a=n.config,i=w(n.elem).find("td");if(a.range&&!n.endDate&&w(n.footer).find(g).addClass(s),n.endDate)return e=n.newDate({year:n.startDate.year,month:n.startDate.month,date:n.startDate.date}).getTime(),t=n.newDate({year:n.endDate.year,month:n.endDate.month,date:n.endDate.date}).getTime(),e>t?n.hint(l):void w.each(i,function(a,i){var r=w(i).attr("lay-ymd").split("-"),s=n.newDate({year:r[0],month:r[1]-1,date:r[2]}).getTime();w(i).removeClass(u+" "+o),s!==e&&s!==t||w(i).addClass(w(i).hasClass(y)||w(i).hasClass(f)?u:o),s>e&&s<t&&w(i).addClass(u)})},T.prototype.done=function(e,t){var n=this,a=n.config,i=w.extend({},n.startDate?w.extend(n.startDate,n.startTime):a.dateTime),r=w.extend({},w.extend(n.endDate,n.endTime));return w.each([i,r],function(e,t){"month"in t&&w.extend(t,{month:t.month+1})}),e=e||[n.parse(),i,r],"function"==typeof a[t||"done"]&&a[t||"done"].apply(a,e),n},T.prototype.choose=function(e){var t=this,n=t.config,a=n.dateTime,i=w(t.elem).find("td"),r=e.attr("lay-ymd").split("-"),l=function(e){new Date;e&&w.extend(a,r),n.range&&(t.startDate?w.extend(t.startDate,r):t.startDate=w.extend({},r,t.startTime),t.startYMD=r)};if(r={year:0|r[0],month:(0|r[1])-1,date:0|r[2]},!e.hasClass(s))if(n.range){if(w.each(["startTime","endTime"],function(e,n){t[n]=t[n]||{hours:0,minutes:0,seconds:0}}),t.endState)l(),delete t.endState,delete t.endDate,t.startState=!0,i.removeClass(o+" "+u),e.addClass(o);else if(t.startState){if(e.addClass(o),t.endDate?w.extend(t.endDate,r):t.endDate=w.extend({},r,t.endTime),t.newDate(r).getTime()<t.newDate(t.startYMD).getTime()){var d=w.extend({},t.endDate,{hours:t.startDate.hours,minutes:t.startDate.minutes,seconds:t.startDate.seconds});w.extend(t.endDate,t.startDate,{hours:t.endDate.hours,minutes:t.endDate.minutes,seconds:t.endDate.seconds}),t.startDate=d}n.showBottom||t.done(),t.stampRange(),t.endState=!0,t.done(null,"change")}else e.addClass(o),l(),t.startState=!0;w(t.footer).find(g)[t.endDate?"removeClass":"addClass"](s)}else"static"===n.position?(l(!0),t.calendar().done().done(null,"change")):"date"===n.type?(l(!0),t.setValue(t.parse()).remove().done()):"datetime"===n.type&&(l(!0),t.calendar().done(null,"change"))},T.prototype.tool=function(e,t){var n=this,a=n.config,i=a.dateTime,r="static"===a.position,o={datetime:function(){w(e).hasClass(s)||(n.list("time",0),a.range&&n.list("time",1),w(e).attr("lay-type","date").html(n.lang().dateTips))},date:function(){n.closeList(),w(e).attr("lay-type","datetime").html(n.lang().timeTips)},clear:function(){n.setValue("").remove(),r&&(w.extend(i,n.firstDate),n.calendar()),a.range&&(delete n.startState,delete n.endState,delete n.endDate,delete n.startTime,delete n.endTime),n.done(["",{},{}])},now:function(){var e=new Date;w.extend(i,n.systemDate(),{hours:e.getHours(),minutes:e.getMinutes(),seconds:e.getSeconds()}),n.setValue(n.parse()).remove(),r&&n.calendar(),n.done()},confirm:function(){if(a.range){if(!n.endDate)return n.hint("璇峰厛閫夋嫨鏃ユ湡鑼冨洿");if(w(e).hasClass(s))return n.hint("time"===a.type?l.replace(/鏃ユ湡/g,"鏃堕棿"):l)}else if(w(e).hasClass(s))return n.hint("涓嶅湪鏈夋晥鏃ユ湡鎴栨椂闂磋寖鍥村唴");n.done(),n.setValue(n.parse()).remove()}};o[t]&&o[t]()},T.prototype.change=function(e){var t=this,n=t.config,a=n.dateTime,i=n.range&&("year"===n.type||"month"===n.type),r=t.elemCont[e||0],o=t.listYM[e],s=function(s){var l=["startDate","endDate"][e],d=w(r).find(".laydate-year-list")[0],c=w(r).find(".laydate-month-list")[0];return d&&(o[0]=s?o[0]-15:o[0]+15,t.list("year",e)),c&&(s?o[0]--:o[0]++,t.list("month",e)),(d||c)&&(w.extend(a,{year:o[0]}),i&&(t[l].year=o[0]),n.range||t.done(null,"change"),t.setBtnStatus(),n.range||t.limit(w(t.footer).find(g),{year:o[0]})),d||c};return{prevYear:function(){s("sub")||(a.year--,t.checkDate("limit").calendar(),n.range||t.done(null,"change"))},prevMonth:function(){var e=t.getAsYM(a.year,a.month,"sub");w.extend(a,{year:e[0],month:e[1]}),t.checkDate("limit").calendar(),n.range||t.done(null,"change")},nextMonth:function(){var e=t.getAsYM(a.year,a.month);w.extend(a,{year:e[0],month:e[1]}),t.checkDate("limit").calendar(),n.range||t.done(null,"change")},nextYear:function(){s()||(a.year++,t.checkDate("limit").calendar(),n.range||t.done(null,"change"))}}},T.prototype.changeEvent=function(){var e=this;e.config;w(e.elem).on("click",function(e){w.stope(e)}),w.each(e.elemHeader,function(t,n){w(n[0]).on("click",function(n){e.change(t).prevYear()}),w(n[1]).on("click",function(n){e.change(t).prevMonth()}),w(n[2]).find("span").on("click",function(n){var a=w(this),i=a.attr("lay-ym"),r=a.attr("lay-type");i&&(i=i.split("-"),e.listYM[t]=[0|i[0],0|i[1]],e.list(r,t),w(e.footer).find(D).addClass(s))}),w(n[3]).on("click",function(n){e.change(t).nextMonth()}),w(n[4]).on("click",function(n){e.change(t).nextYear()})}),w.each(e.table,function(t,n){var a=w(n).find("td");a.on("click",function(){e.choose(w(this))})}),w(e.footer).find("span").on("click",function(){var t=w(this).attr("lay-type");e.tool(this,t)})},T.prototype.isInput=function(e){return/input|textarea/.test(e.tagName.toLocaleLowerCase())},T.prototype.events=function(){var e=this,t=e.config,n=function(n,a){n.on(t.trigger,function(){a&&(e.bindElem=this),e.render()})};t.elem[0]&&!t.elem[0].eventHandler&&(n(t.elem,"bind"),n(t.eventElem),w(document).on("click",function(n){n.target!==t.elem[0]&&n.target!==t.eventElem[0]&&n.target!==w(t.closeStop)[0]&&e.remove()}).on("keydown",function(t){13===t.keyCode&&w("#"+e.elemID)[0]&&e.elemID===T.thisElem&&(t.preventDefault(),w(e.footer).find(g)[0].click())}),w(window).on("resize",function(){return!(!e.elem||!w(r)[0])&&void e.position()}),t.elem[0].eventHandler=!0)},n.render=function(e){var t=new T(e);return a.call(t)},n.getEndDate=function(e,t){var n=new Date;return n.setFullYear(t||n.getFullYear(),e||n.getMonth()+1,1),new Date(n.getTime()-864e5).getDate()},window.lay=window.lay||w,e?(n.ready(),layui.define(function(e){n.path=layui.cache.dir,e(i,n)})):"function"==typeof define&&define.amd?define(function(){return n}):function(){n.ready(),window.laydate=n}()}();
\ No newline at end of file
diff --git a/zy-acs-cv/src/main/webapp/static/layui/lay/modules/layedit.js b/zy-acs-cv/src/main/webapp/static/layui/lay/modules/layedit.js
new file mode 100644
index 0000000..71fa95c
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/lay/modules/layedit.js
@@ -0,0 +1,2 @@
+/** layui-v2.5.4 MIT License By https://www.layui.com */
+ ;layui.define(["layer","form"],function(t){"use strict";var e=layui.$,i=layui.layer,a=layui.form,l=(layui.hint(),layui.device()),n="layedit",o="layui-show",r="layui-disabled",c=function(){var t=this;t.index=0,t.config={tool:["strong","italic","underline","del","|","left","center","right","|","link","unlink","face","image"],hideTool:[],height:280}};c.prototype.set=function(t){var i=this;return e.extend(!0,i.config,t),i},c.prototype.on=function(t,e){return layui.onevent(n,t,e)},c.prototype.build=function(t,i){i=i||{};var a=this,n=a.config,r="layui-layedit",c=e("string"==typeof t?"#"+t:t),u="LAY_layedit_"+ ++a.index,d=c.next("."+r),y=e.extend({},n,i),f=function(){var t=[],e={};return layui.each(y.hideTool,function(t,i){e[i]=!0}),layui.each(y.tool,function(i,a){C[a]&&!e[a]&&t.push(C[a])}),t.join("")}(),m=e(['<div class="'+r+'">','<div class="layui-unselect layui-layedit-tool">'+f+"</div>",'<div class="layui-layedit-iframe">','<iframe id="'+u+'" name="'+u+'" textarea="'+t+'" frameborder="0"></iframe>',"</div>","</div>"].join(""));return l.ie&&l.ie<8?c.removeClass("layui-hide").addClass(o):(d[0]&&d.remove(),s.call(a,m,c[0],y),c.addClass("layui-hide").after(m),a.index)},c.prototype.getContent=function(t){var e=u(t);if(e[0])return d(e[0].document.body.innerHTML)},c.prototype.getText=function(t){var i=u(t);if(i[0])return e(i[0].document.body).text()},c.prototype.setContent=function(t,i,a){var l=u(t);l[0]&&(a?e(l[0].document.body).append(i):e(l[0].document.body).html(i),layedit.sync(t))},c.prototype.sync=function(t){var i=u(t);if(i[0]){var a=e("#"+i[1].attr("textarea"));a.val(d(i[0].document.body.innerHTML))}},c.prototype.getSelection=function(t){var e=u(t);if(e[0]){var i=m(e[0].document);return document.selection?i.text:i.toString()}};var s=function(t,i,a){var l=this,n=t.find("iframe");n.css({height:a.height}).on("load",function(){var o=n.contents(),r=n.prop("contentWindow"),c=o.find("head"),s=e(["<style>","*{margin: 0; padding: 0;}","body{padding: 10px; line-height: 20px; overflow-x: hidden; word-wrap: break-word; font: 14px Helvetica Neue,Helvetica,PingFang SC,Microsoft YaHei,Tahoma,Arial,sans-serif; -webkit-box-sizing: border-box !important; -moz-box-sizing: border-box !important; box-sizing: border-box !important;}","a{color:#01AAED; text-decoration:none;}a:hover{color:#c00}","p{margin-bottom: 10px;}","img{display: inline-block; border: none; vertical-align: middle;}","pre{margin: 10px 0; padding: 10px; line-height: 20px; border: 1px solid #ddd; border-left-width: 6px; background-color: #F2F2F2; color: #333; font-family: Courier New; font-size: 12px;}","</style>"].join("")),u=o.find("body");c.append(s),u.attr("contenteditable","true").css({"min-height":a.height}).html(i.value||""),y.apply(l,[r,n,i,a]),g.call(l,r,t,a)})},u=function(t){var i=e("#LAY_layedit_"+t),a=i.prop("contentWindow");return[a,i]},d=function(t){return 8==l.ie&&(t=t.replace(/<.+>/g,function(t){return t.toLowerCase()})),t},y=function(t,a,n,o){var r=t.document,c=e(r.body);c.on("keydown",function(t){var e=t.keyCode;if(13===e){var a=m(r),l=p(a),n=l.parentNode;if("pre"===n.tagName.toLowerCase()){if(t.shiftKey)return;return i.msg("璇锋殏鏃剁敤shift+enter"),!1}r.execCommand("formatBlock",!1,"<p>")}}),e(n).parents("form").on("submit",function(){var t=c.html();8==l.ie&&(t=t.replace(/<.+>/g,function(t){return t.toLowerCase()})),n.value=t}),c.on("paste",function(e){r.execCommand("formatBlock",!1,"<p>"),setTimeout(function(){f.call(t,c),n.value=c.html()},100)})},f=function(t){var i=this;i.document;t.find("*[style]").each(function(){var t=this.style.textAlign;this.removeAttribute("style"),e(this).css({"text-align":t||""})}),t.find("table").addClass("layui-table"),t.find("script,link").remove()},m=function(t){return t.selection?t.selection.createRange():t.getSelection().getRangeAt(0)},p=function(t){return t.endContainer||t.parentElement().childNodes[0]},v=function(t,i,a){var l=this.document,n=document.createElement(t);for(var o in i)n.setAttribute(o,i[o]);if(n.removeAttribute("text"),l.selection){var r=a.text||i.text;if("a"===t&&!r)return;r&&(n.innerHTML=r),a.pasteHTML(e(n).prop("outerHTML")),a.select()}else{var r=a.toString()||i.text;if("a"===t&&!r)return;r&&(n.innerHTML=r),a.deleteContents(),a.insertNode(n)}},h=function(t,i){var a=this.document,l="layedit-tool-active",n=p(m(a)),o=function(e){return t.find(".layedit-tool-"+e)};i&&i[i.hasClass(l)?"removeClass":"addClass"](l),t.find(">i").removeClass(l),o("unlink").addClass(r),e(n).parents().each(function(){var t=this.tagName.toLowerCase(),e=this.style.textAlign;"b"!==t&&"strong"!==t||o("b").addClass(l),"i"!==t&&"em"!==t||o("i").addClass(l),"u"===t&&o("u").addClass(l),"strike"===t&&o("d").addClass(l),"p"===t&&("center"===e?o("center").addClass(l):"right"===e?o("right").addClass(l):o("left").addClass(l)),"a"===t&&(o("link").addClass(l),o("unlink").removeClass(r))})},g=function(t,a,l){var n=t.document,o=e(n.body),c={link:function(i){var a=p(i),l=e(a).parent();b.call(o,{href:l.attr("href"),target:l.attr("target")},function(e){var a=l[0];"A"===a.tagName?a.href=e.url:v.call(t,"a",{target:e.target,href:e.url,text:e.url},i)})},unlink:function(t){n.execCommand("unlink")},face:function(e){x.call(this,function(i){v.call(t,"img",{src:i.src,alt:i.alt},e)})},image:function(a){var n=this;layui.use("upload",function(o){var r=l.uploadImage||{};o.render({url:r.url,method:r.type,elem:e(n).find("input")[0],done:function(e){0==e.code?(e.data=e.data||{},v.call(t,"img",{src:e.data.src,alt:e.data.title},a)):i.msg(e.msg||"涓婁紶澶辫触")}})})},code:function(e){k.call(o,function(i){v.call(t,"pre",{text:i.code,"lay-lang":i.lang},e)})},help:function(){i.open({type:2,title:"甯姪",area:["600px","380px"],shadeClose:!0,shade:.1,skin:"layui-layer-msg",content:["http://www.layui.com/about/layedit/help.html","no"]})}},s=a.find(".layui-layedit-tool"),u=function(){var i=e(this),a=i.attr("layedit-event"),l=i.attr("lay-command");if(!i.hasClass(r)){o.focus();var u=m(n);u.commonAncestorContainer;l?(n.execCommand(l),/justifyLeft|justifyCenter|justifyRight/.test(l)&&n.execCommand("formatBlock",!1,"<p>"),setTimeout(function(){o.focus()},10)):c[a]&&c[a].call(this,u),h.call(t,s,i)}},d=/image/;s.find(">i").on("mousedown",function(){var t=e(this),i=t.attr("layedit-event");d.test(i)||u.call(this)}).on("click",function(){var t=e(this),i=t.attr("layedit-event");d.test(i)&&u.call(this)}),o.on("click",function(){h.call(t,s),i.close(x.index)})},b=function(t,e){var l=this,n=i.open({type:1,id:"LAY_layedit_link",area:"350px",shade:.05,shadeClose:!0,moveType:1,title:"瓒呴摼鎺�",skin:"layui-layer-msg",content:['<ul class="layui-form" style="margin: 15px;">','<li class="layui-form-item">','<label class="layui-form-label" style="width: 60px;">URL</label>','<div class="layui-input-block" style="margin-left: 90px">','<input name="url" lay-verify="url" value="'+(t.href||"")+'" autofocus="true" autocomplete="off" class="layui-input">',"</div>","</li>",'<li class="layui-form-item">','<label class="layui-form-label" style="width: 60px;">鎵撳紑鏂瑰紡</label>','<div class="layui-input-block" style="margin-left: 90px">','<input type="radio" name="target" value="_self" class="layui-input" title="褰撳墠绐楀彛"'+("_self"!==t.target&&t.target?"":"checked")+">",'<input type="radio" name="target" value="_blank" class="layui-input" title="鏂扮獥鍙�" '+("_blank"===t.target?"checked":"")+">","</div>","</li>",'<li class="layui-form-item" style="text-align: center;">','<button type="button" lay-submit lay-filter="layedit-link-yes" class="layui-btn"> 纭畾 </button>','<button style="margin-left: 20px;" type="button" class="layui-btn layui-btn-primary"> 鍙栨秷 </button>',"</li>","</ul>"].join(""),success:function(t,n){var o="submit(layedit-link-yes)";a.render("radio"),t.find(".layui-btn-primary").on("click",function(){i.close(n),l.focus()}),a.on(o,function(t){i.close(b.index),e&&e(t.field)})}});b.index=n},x=function(t){var a=function(){var t=["[寰瑧]","[鍢诲樆]","[鍝堝搱]","[鍙埍]","[鍙�淽","[鎸栭蓟]","[鍚冩儕]","[瀹崇緸]","[鎸ょ溂]","[闂槾]","[閯欒]","[鐖变綘]","[娉猐","[鍋风瑧]","[浜蹭翰]","[鐢熺梾]","[澶紑蹇僝","[鐧界溂]","[鍙冲摷鍝糫","[宸﹀摷鍝糫","[鍢榏","[琛癩","[濮斿眻]","[鍚怾","[鍝堟瑺]","[鎶辨姳]","[鎬抅","[鐤戦棶]","[棣嬪槾]","[鎷滄嫓]","[鎬濊�僝","[姹梋","[鍥癩","[鐫","[閽盷","[澶辨湜]","[閰穄","[鑹瞉","[鍝糫","[榧撴帉]","[鏅昡","[鎮蹭激]","[鎶撶媯]","[榛戠嚎]","[闃撮櫓]","[鎬掗獋]","[浜掔矇]","[蹇僝","[浼ゅ績]","[鐚ご]","[鐔婄尗]","[鍏斿瓙]","[ok]","[鑰禲","[good]","[NO]","[璧瀅","[鏉","[寮盷","[鑽夋偿椹琞","[绁為┈]","[鍥","[娴簯]","[缁欏姏]","[鍥磋]","[濞佹]","[濂ョ壒鏇糫","[绀肩墿]","[閽焆","[璇濈瓛]","[铚$儧]","[铔嬬硶]"],e={};return layui.each(t,function(t,i){e[i]=layui.cache.dir+"images/face/"+t+".gif"}),e}();return x.hide=x.hide||function(t){"face"!==e(t.target).attr("layedit-event")&&i.close(x.index)},x.index=i.tips(function(){var t=[];return layui.each(a,function(e,i){t.push('<li title="'+e+'"><img src="'+i+'" alt="'+e+'"></li>')}),'<ul class="layui-clear">'+t.join("")+"</ul>"}(),this,{tips:1,time:0,skin:"layui-box layui-util-face",maxWidth:500,success:function(l,n){l.css({marginTop:-4,marginLeft:-10}).find(".layui-clear>li").on("click",function(){t&&t({src:a[this.title],alt:this.title}),i.close(n)}),e(document).off("click",x.hide).on("click",x.hide)}})},k=function(t){var e=this,l=i.open({type:1,id:"LAY_layedit_code",area:"550px",shade:.05,shadeClose:!0,moveType:1,title:"鎻掑叆浠g爜",skin:"layui-layer-msg",content:['<ul class="layui-form layui-form-pane" style="margin: 15px;">','<li class="layui-form-item">','<label class="layui-form-label">璇烽�夋嫨璇█</label>','<div class="layui-input-block">','<select name="lang">','<option value="JavaScript">JavaScript</option>','<option value="HTML">HTML</option>','<option value="CSS">CSS</option>','<option value="Java">Java</option>','<option value="PHP">PHP</option>','<option value="C#">C#</option>','<option value="Python">Python</option>','<option value="Ruby">Ruby</option>','<option value="Go">Go</option>',"</select>","</div>","</li>",'<li class="layui-form-item layui-form-text">','<label class="layui-form-label">浠g爜</label>','<div class="layui-input-block">','<textarea name="code" lay-verify="required" autofocus="true" class="layui-textarea" style="height: 200px;"></textarea>',"</div>","</li>",'<li class="layui-form-item" style="text-align: center;">','<button type="button" lay-submit lay-filter="layedit-code-yes" class="layui-btn"> 纭畾 </button>','<button style="margin-left: 20px;" type="button" class="layui-btn layui-btn-primary"> 鍙栨秷 </button>',"</li>","</ul>"].join(""),success:function(l,n){var o="submit(layedit-code-yes)";a.render("select"),l.find(".layui-btn-primary").on("click",function(){i.close(n),e.focus()}),a.on(o,function(e){i.close(k.index),t&&t(e.field)})}});k.index=l},C={html:'<i class="layui-icon layedit-tool-html" title="HTML婧愪唬鐮�" lay-command="html" layedit-event="html"">&#xe64b;</i><span class="layedit-tool-mid"></span>',strong:'<i class="layui-icon layedit-tool-b" title="鍔犵矖" lay-command="Bold" layedit-event="b"">&#xe62b;</i>',italic:'<i class="layui-icon layedit-tool-i" title="鏂滀綋" lay-command="italic" layedit-event="i"">&#xe644;</i>',underline:'<i class="layui-icon layedit-tool-u" title="涓嬪垝绾�" lay-command="underline" layedit-event="u"">&#xe646;</i>',del:'<i class="layui-icon layedit-tool-d" title="鍒犻櫎绾�" lay-command="strikeThrough" layedit-event="d"">&#xe64f;</i>',"|":'<span class="layedit-tool-mid"></span>',left:'<i class="layui-icon layedit-tool-left" title="宸﹀榻�" lay-command="justifyLeft" layedit-event="left"">&#xe649;</i>',center:'<i class="layui-icon layedit-tool-center" title="灞呬腑瀵归綈" lay-command="justifyCenter" layedit-event="center"">&#xe647;</i>',right:'<i class="layui-icon layedit-tool-right" title="鍙冲榻�" lay-command="justifyRight" layedit-event="right"">&#xe648;</i>',link:'<i class="layui-icon layedit-tool-link" title="鎻掑叆閾炬帴" layedit-event="link"">&#xe64c;</i>',unlink:'<i class="layui-icon layedit-tool-unlink layui-disabled" title="娓呴櫎閾炬帴" lay-command="unlink" layedit-event="unlink"">&#xe64d;</i>',face:'<i class="layui-icon layedit-tool-face" title="琛ㄦ儏" layedit-event="face"">&#xe650;</i>',image:'<i class="layui-icon layedit-tool-image" title="鍥剧墖" layedit-event="image">&#xe64a;<input type="file" name="file"></i>',code:'<i class="layui-icon layedit-tool-code" title="鎻掑叆浠g爜" layedit-event="code">&#xe64e;</i>',help:'<i class="layui-icon layedit-tool-help" title="甯姪" layedit-event="help">&#xe607;</i>'},w=new c;t(n,w)});
\ No newline at end of file
diff --git a/zy-acs-cv/src/main/webapp/static/layui/lay/modules/layer.js b/zy-acs-cv/src/main/webapp/static/layui/lay/modules/layer.js
new file mode 100644
index 0000000..3220857
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/lay/modules/layer.js
@@ -0,0 +1,2 @@
+/** layui-v2.5.4 MIT License By https://www.layui.com */
+ ;!function(e,t){"use strict";var i,n,a=e.layui&&layui.define,o={getPath:function(){var e=document.currentScript?document.currentScript.src:function(){for(var e,t=document.scripts,i=t.length-1,n=i;n>0;n--)if("interactive"===t[n].readyState){e=t[n].src;break}return e||t[i].src}();return e.substring(0,e.lastIndexOf("/")+1)}(),config:{},end:{},minIndex:0,minLeft:[],btn:["&#x786E;&#x5B9A;","&#x53D6;&#x6D88;"],type:["dialog","page","iframe","loading","tips"],getStyle:function(t,i){var n=t.currentStyle?t.currentStyle:e.getComputedStyle(t,null);return n[n.getPropertyValue?"getPropertyValue":"getAttribute"](i)},link:function(t,i,n){if(r.path){var a=document.getElementsByTagName("head")[0],s=document.createElement("link");"string"==typeof i&&(n=i);var l=(n||t).replace(/\.|\//g,""),f="layuicss-"+l,c=0;s.rel="stylesheet",s.href=r.path+t,s.id=f,document.getElementById(f)||a.appendChild(s),"function"==typeof i&&!function u(){return++c>80?e.console&&console.error("layer.css: Invalid"):void(1989===parseInt(o.getStyle(document.getElementById(f),"width"))?i():setTimeout(u,100))}()}}},r={v:"3.1.1",ie:function(){var t=navigator.userAgent.toLowerCase();return!!(e.ActiveXObject||"ActiveXObject"in e)&&((t.match(/msie\s(\d+)/)||[])[1]||"11")}(),index:e.layer&&e.layer.v?1e5:0,path:o.getPath,config:function(e,t){return e=e||{},r.cache=o.config=i.extend({},o.config,e),r.path=o.config.path||r.path,"string"==typeof e.extend&&(e.extend=[e.extend]),o.config.path&&r.ready(),e.extend?(a?layui.addcss("modules/layer/"+e.extend):o.link("theme/"+e.extend),this):this},ready:function(e){var t="layer",i="",n=(a?"modules/layer/":"theme/")+"default/layer.css?v="+r.v+i;return a?layui.addcss(n,e,t):o.link(n,e,t),this},alert:function(e,t,n){var a="function"==typeof t;return a&&(n=t),r.open(i.extend({content:e,yes:n},a?{}:t))},confirm:function(e,t,n,a){var s="function"==typeof t;return s&&(a=n,n=t),r.open(i.extend({content:e,btn:o.btn,yes:n,btn2:a},s?{}:t))},msg:function(e,n,a){var s="function"==typeof n,f=o.config.skin,c=(f?f+" "+f+"-msg":"")||"layui-layer-msg",u=l.anim.length-1;return s&&(a=n),r.open(i.extend({content:e,time:3e3,shade:!1,skin:c,title:!1,closeBtn:!1,btn:!1,resize:!1,end:a},s&&!o.config.skin?{skin:c+" layui-layer-hui",anim:u}:function(){return n=n||{},(n.icon===-1||n.icon===t&&!o.config.skin)&&(n.skin=c+" "+(n.skin||"layui-layer-hui")),n}()))},load:function(e,t){return r.open(i.extend({type:3,icon:e||0,resize:!1,shade:.01},t))},tips:function(e,t,n){return r.open(i.extend({type:4,content:[e,t],closeBtn:!1,time:3e3,shade:!1,resize:!1,fixed:!1,maxWidth:210},n))}},s=function(e){var t=this;t.index=++r.index,t.config=i.extend({},t.config,o.config,e),document.body?t.creat():setTimeout(function(){t.creat()},30)};s.pt=s.prototype;var l=["layui-layer",".layui-layer-title",".layui-layer-main",".layui-layer-dialog","layui-layer-iframe","layui-layer-content","layui-layer-btn","layui-layer-close"];l.anim=["layer-anim-00","layer-anim-01","layer-anim-02","layer-anim-03","layer-anim-04","layer-anim-05","layer-anim-06"],s.pt.config={type:0,shade:.3,fixed:!0,move:l[1],title:"&#x4FE1;&#x606F;",offset:"auto",area:"auto",closeBtn:1,time:0,zIndex:19891014,maxWidth:360,anim:0,isOutAnim:!0,icon:-1,moveType:1,resize:!0,scrollbar:!0,tips:2},s.pt.vessel=function(e,t){var n=this,a=n.index,r=n.config,s=r.zIndex+a,f="object"==typeof r.title,c=r.maxmin&&(1===r.type||2===r.type),u=r.title?'<div class="layui-layer-title" style="'+(f?r.title[1]:"")+'">'+(f?r.title[0]:r.title)+"</div>":"";return r.zIndex=s,t([r.shade?'<div class="layui-layer-shade" id="layui-layer-shade'+a+'" times="'+a+'" style="'+("z-index:"+(s-1)+"; ")+'"></div>':"",'<div class="'+l[0]+(" layui-layer-"+o.type[r.type])+(0!=r.type&&2!=r.type||r.shade?"":" layui-layer-border")+" "+(r.skin||"")+'" id="'+l[0]+a+'" type="'+o.type[r.type]+'" times="'+a+'" showtime="'+r.time+'" conType="'+(e?"object":"string")+'" style="z-index: '+s+"; width:"+r.area[0]+";height:"+r.area[1]+(r.fixed?"":";position:absolute;")+'">'+(e&&2!=r.type?"":u)+'<div id="'+(r.id||"")+'" class="layui-layer-content'+(0==r.type&&r.icon!==-1?" layui-layer-padding":"")+(3==r.type?" layui-layer-loading"+r.icon:"")+'">'+(0==r.type&&r.icon!==-1?'<i class="layui-layer-ico layui-layer-ico'+r.icon+'"></i>':"")+(1==r.type&&e?"":r.content||"")+'</div><span class="layui-layer-setwin">'+function(){var e=c?'<a class="layui-layer-min" href="javascript:;"><cite></cite></a><a class="layui-layer-ico layui-layer-max" href="javascript:;"></a>':"";return r.closeBtn&&(e+='<a class="layui-layer-ico '+l[7]+" "+l[7]+(r.title?r.closeBtn:4==r.type?"1":"2")+'" href="javascript:;"></a>'),e}()+"</span>"+(r.btn?function(){var e="";"string"==typeof r.btn&&(r.btn=[r.btn]);for(var t=0,i=r.btn.length;t<i;t++)e+='<a class="'+l[6]+t+'">'+r.btn[t]+"</a>";return'<div class="'+l[6]+" layui-layer-btn-"+(r.btnAlign||"")+'">'+e+"</div>"}():"")+(r.resize?'<span class="layui-layer-resize"></span>':"")+"</div>"],u,i('<div class="layui-layer-move"></div>')),n},s.pt.creat=function(){var e=this,t=e.config,a=e.index,s=t.content,f="object"==typeof s,c=i("body");if(!t.id||!i("#"+t.id)[0]){switch("string"==typeof t.area&&(t.area="auto"===t.area?["",""]:[t.area,""]),t.shift&&(t.anim=t.shift),6==r.ie&&(t.fixed=!1),t.type){case 0:t.btn="btn"in t?t.btn:o.btn[0],r.closeAll("dialog");break;case 2:var s=t.content=f?t.content:[t.content||"","auto"];t.content='<iframe scrolling="'+(t.content[1]||"auto")+'" allowtransparency="true" id="'+l[4]+a+'" name="'+l[4]+a+'" onload="this.className=\'\';" class="layui-layer-load" frameborder="0" src="'+t.content[0]+'"></iframe>';break;case 3:delete t.title,delete t.closeBtn,t.icon===-1&&0===t.icon,r.closeAll("loading");break;case 4:f||(t.content=[t.content,"body"]),t.follow=t.content[1],t.content=t.content[0]+'<i class="layui-layer-TipsG"></i>',delete t.title,t.tips="object"==typeof t.tips?t.tips:[t.tips,!0],t.tipsMore||r.closeAll("tips")}if(e.vessel(f,function(n,r,u){c.append(n[0]),f?function(){2==t.type||4==t.type?function(){i("body").append(n[1])}():function(){s.parents("."+l[0])[0]||(s.data("display",s.css("display")).show().addClass("layui-layer-wrap").wrap(n[1]),i("#"+l[0]+a).find("."+l[5]).before(r))}()}():c.append(n[1]),i(".layui-layer-move")[0]||c.append(o.moveElem=u),e.layero=i("#"+l[0]+a),t.scrollbar||l.html.css("overflow","hidden").attr("layer-full",a)}).auto(a),i("#layui-layer-shade"+e.index).css({"background-color":t.shade[1]||"#000",opacity:t.shade[0]||t.shade}),2==t.type&&6==r.ie&&e.layero.find("iframe").attr("src",s[0]),4==t.type?e.tips():e.offset(),t.fixed&&n.on("resize",function(){e.offset(),(/^\d+%$/.test(t.area[0])||/^\d+%$/.test(t.area[1]))&&e.auto(a),4==t.type&&e.tips()}),t.time<=0||setTimeout(function(){r.close(e.index)},t.time),e.move().callback(),l.anim[t.anim]){var u="layer-anim "+l.anim[t.anim];e.layero.addClass(u).one("webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend",function(){i(this).removeClass(u)})}t.isOutAnim&&e.layero.data("isOutAnim",!0)}},s.pt.auto=function(e){var t=this,a=t.config,o=i("#"+l[0]+e);""===a.area[0]&&a.maxWidth>0&&(r.ie&&r.ie<8&&a.btn&&o.width(o.innerWidth()),o.outerWidth()>a.maxWidth&&o.width(a.maxWidth));var s=[o.innerWidth(),o.innerHeight()],f=o.find(l[1]).outerHeight()||0,c=o.find("."+l[6]).outerHeight()||0,u=function(e){e=o.find(e),e.height(s[1]-f-c-2*(0|parseFloat(e.css("padding-top"))))};switch(a.type){case 2:u("iframe");break;default:""===a.area[1]?a.maxHeight>0&&o.outerHeight()>a.maxHeight?(s[1]=a.maxHeight,u("."+l[5])):a.fixed&&s[1]>=n.height()&&(s[1]=n.height(),u("."+l[5])):u("."+l[5])}return t},s.pt.offset=function(){var e=this,t=e.config,i=e.layero,a=[i.outerWidth(),i.outerHeight()],o="object"==typeof t.offset;e.offsetTop=(n.height()-a[1])/2,e.offsetLeft=(n.width()-a[0])/2,o?(e.offsetTop=t.offset[0],e.offsetLeft=t.offset[1]||e.offsetLeft):"auto"!==t.offset&&("t"===t.offset?e.offsetTop=0:"r"===t.offset?e.offsetLeft=n.width()-a[0]:"b"===t.offset?e.offsetTop=n.height()-a[1]:"l"===t.offset?e.offsetLeft=0:"lt"===t.offset?(e.offsetTop=0,e.offsetLeft=0):"lb"===t.offset?(e.offsetTop=n.height()-a[1],e.offsetLeft=0):"rt"===t.offset?(e.offsetTop=0,e.offsetLeft=n.width()-a[0]):"rb"===t.offset?(e.offsetTop=n.height()-a[1],e.offsetLeft=n.width()-a[0]):e.offsetTop=t.offset),t.fixed||(e.offsetTop=/%$/.test(e.offsetTop)?n.height()*parseFloat(e.offsetTop)/100:parseFloat(e.offsetTop),e.offsetLeft=/%$/.test(e.offsetLeft)?n.width()*parseFloat(e.offsetLeft)/100:parseFloat(e.offsetLeft),e.offsetTop+=n.scrollTop(),e.offsetLeft+=n.scrollLeft()),i.attr("minLeft")&&(e.offsetTop=n.height()-(i.find(l[1]).outerHeight()||0),e.offsetLeft=i.css("left")),i.css({top:e.offsetTop,left:e.offsetLeft})},s.pt.tips=function(){var e=this,t=e.config,a=e.layero,o=[a.outerWidth(),a.outerHeight()],r=i(t.follow);r[0]||(r=i("body"));var s={width:r.outerWidth(),height:r.outerHeight(),top:r.offset().top,left:r.offset().left},f=a.find(".layui-layer-TipsG"),c=t.tips[0];t.tips[1]||f.remove(),s.autoLeft=function(){s.left+o[0]-n.width()>0?(s.tipLeft=s.left+s.width-o[0],f.css({right:12,left:"auto"})):s.tipLeft=s.left},s.where=[function(){s.autoLeft(),s.tipTop=s.top-o[1]-10,f.removeClass("layui-layer-TipsB").addClass("layui-layer-TipsT").css("border-right-color",t.tips[1])},function(){s.tipLeft=s.left+s.width+10,s.tipTop=s.top,f.removeClass("layui-layer-TipsL").addClass("layui-layer-TipsR").css("border-bottom-color",t.tips[1])},function(){s.autoLeft(),s.tipTop=s.top+s.height+10,f.removeClass("layui-layer-TipsT").addClass("layui-layer-TipsB").css("border-right-color",t.tips[1])},function(){s.tipLeft=s.left-o[0]-10,s.tipTop=s.top,f.removeClass("layui-layer-TipsR").addClass("layui-layer-TipsL").css("border-bottom-color",t.tips[1])}],s.where[c-1](),1===c?s.top-(n.scrollTop()+o[1]+16)<0&&s.where[2]():2===c?n.width()-(s.left+s.width+o[0]+16)>0||s.where[3]():3===c?s.top-n.scrollTop()+s.height+o[1]+16-n.height()>0&&s.where[0]():4===c&&o[0]+16-s.left>0&&s.where[1](),a.find("."+l[5]).css({"background-color":t.tips[1],"padding-right":t.closeBtn?"30px":""}),a.css({left:s.tipLeft-(t.fixed?n.scrollLeft():0),top:s.tipTop-(t.fixed?n.scrollTop():0)})},s.pt.move=function(){var e=this,t=e.config,a=i(document),s=e.layero,l=s.find(t.move),f=s.find(".layui-layer-resize"),c={};return t.move&&l.css("cursor","move"),l.on("mousedown",function(e){e.preventDefault(),t.move&&(c.moveStart=!0,c.offset=[e.clientX-parseFloat(s.css("left")),e.clientY-parseFloat(s.css("top"))],o.moveElem.css("cursor","move").show())}),f.on("mousedown",function(e){e.preventDefault(),c.resizeStart=!0,c.offset=[e.clientX,e.clientY],c.area=[s.outerWidth(),s.outerHeight()],o.moveElem.css("cursor","se-resize").show()}),a.on("mousemove",function(i){if(c.moveStart){var a=i.clientX-c.offset[0],o=i.clientY-c.offset[1],l="fixed"===s.css("position");if(i.preventDefault(),c.stX=l?0:n.scrollLeft(),c.stY=l?0:n.scrollTop(),!t.moveOut){var f=n.width()-s.outerWidth()+c.stX,u=n.height()-s.outerHeight()+c.stY;a<c.stX&&(a=c.stX),a>f&&(a=f),o<c.stY&&(o=c.stY),o>u&&(o=u)}s.css({left:a,top:o})}if(t.resize&&c.resizeStart){var a=i.clientX-c.offset[0],o=i.clientY-c.offset[1];i.preventDefault(),r.style(e.index,{width:c.area[0]+a,height:c.area[1]+o}),c.isResize=!0,t.resizing&&t.resizing(s)}}).on("mouseup",function(e){c.moveStart&&(delete c.moveStart,o.moveElem.hide(),t.moveEnd&&t.moveEnd(s)),c.resizeStart&&(delete c.resizeStart,o.moveElem.hide())}),e},s.pt.callback=function(){function e(){var e=a.cancel&&a.cancel(t.index,n);e===!1||r.close(t.index)}var t=this,n=t.layero,a=t.config;t.openLayer(),a.success&&(2==a.type?n.find("iframe").on("load",function(){a.success(n,t.index)}):a.success(n,t.index)),6==r.ie&&t.IE6(n),n.find("."+l[6]).children("a").on("click",function(){var e=i(this).index();if(0===e)a.yes?a.yes(t.index,n):a.btn1?a.btn1(t.index,n):r.close(t.index);else{var o=a["btn"+(e+1)]&&a["btn"+(e+1)](t.index,n);o===!1||r.close(t.index)}}),n.find("."+l[7]).on("click",e),a.shadeClose&&i("#layui-layer-shade"+t.index).on("click",function(){r.close(t.index)}),n.find(".layui-layer-min").on("click",function(){var e=a.min&&a.min(n);e===!1||r.min(t.index,a)}),n.find(".layui-layer-max").on("click",function(){i(this).hasClass("layui-layer-maxmin")?(r.restore(t.index),a.restore&&a.restore(n)):(r.full(t.index,a),setTimeout(function(){a.full&&a.full(n)},100))}),a.end&&(o.end[t.index]=a.end)},o.reselect=function(){i.each(i("select"),function(e,t){var n=i(this);n.parents("."+l[0])[0]||1==n.attr("layer")&&i("."+l[0]).length<1&&n.removeAttr("layer").show(),n=null})},s.pt.IE6=function(e){i("select").each(function(e,t){var n=i(this);n.parents("."+l[0])[0]||"none"===n.css("display")||n.attr({layer:"1"}).hide(),n=null})},s.pt.openLayer=function(){var e=this;r.zIndex=e.config.zIndex,r.setTop=function(e){var t=function(){r.zIndex++,e.css("z-index",r.zIndex+1)};return r.zIndex=parseInt(e[0].style.zIndex),e.on("mousedown",t),r.zIndex}},o.record=function(e){var t=[e.width(),e.height(),e.position().top,e.position().left+parseFloat(e.css("margin-left"))];e.find(".layui-layer-max").addClass("layui-layer-maxmin"),e.attr({area:t})},o.rescollbar=function(e){l.html.attr("layer-full")==e&&(l.html[0].style.removeProperty?l.html[0].style.removeProperty("overflow"):l.html[0].style.removeAttribute("overflow"),l.html.removeAttr("layer-full"))},e.layer=r,r.getChildFrame=function(e,t){return t=t||i("."+l[4]).attr("times"),i("#"+l[0]+t).find("iframe").contents().find(e)},r.getFrameIndex=function(e){return i("#"+e).parents("."+l[4]).attr("times")},r.iframeAuto=function(e){if(e){var t=r.getChildFrame("html",e).outerHeight(),n=i("#"+l[0]+e),a=n.find(l[1]).outerHeight()||0,o=n.find("."+l[6]).outerHeight()||0;n.css({height:t+a+o}),n.find("iframe").css({height:t})}},r.iframeSrc=function(e,t){i("#"+l[0]+e).find("iframe").attr("src",t)},r.style=function(e,t,n){var a=i("#"+l[0]+e),r=a.find(".layui-layer-content"),s=a.attr("type"),f=a.find(l[1]).outerHeight()||0,c=a.find("."+l[6]).outerHeight()||0;a.attr("minLeft");s!==o.type[3]&&s!==o.type[4]&&(n||(parseFloat(t.width)<=260&&(t.width=260),parseFloat(t.height)-f-c<=64&&(t.height=64+f+c)),a.css(t),c=a.find("."+l[6]).outerHeight(),s===o.type[2]?a.find("iframe").css({height:parseFloat(t.height)-f-c}):r.css({height:parseFloat(t.height)-f-c-parseFloat(r.css("padding-top"))-parseFloat(r.css("padding-bottom"))}))},r.min=function(e,t){var a=i("#"+l[0]+e),s=a.find(l[1]).outerHeight()||0,f=a.attr("minLeft")||181*o.minIndex+"px",c=a.css("position");o.record(a),o.minLeft[0]&&(f=o.minLeft[0],o.minLeft.shift()),a.attr("position",c),r.style(e,{width:180,height:s,left:f,top:n.height()-s,position:"fixed",overflow:"hidden"},!0),a.find(".layui-layer-min").hide(),"page"===a.attr("type")&&a.find(l[4]).hide(),o.rescollbar(e),a.attr("minLeft")||o.minIndex++,a.attr("minLeft",f)},r.restore=function(e){var t=i("#"+l[0]+e),n=t.attr("area").split(",");t.attr("type");r.style(e,{width:parseFloat(n[0]),height:parseFloat(n[1]),top:parseFloat(n[2]),left:parseFloat(n[3]),position:t.attr("position"),overflow:"visible"},!0),t.find(".layui-layer-max").removeClass("layui-layer-maxmin"),t.find(".layui-layer-min").show(),"page"===t.attr("type")&&t.find(l[4]).show(),o.rescollbar(e)},r.full=function(e){var t,a=i("#"+l[0]+e);o.record(a),l.html.attr("layer-full")||l.html.css("overflow","hidden").attr("layer-full",e),clearTimeout(t),t=setTimeout(function(){var t="fixed"===a.css("position");r.style(e,{top:t?0:n.scrollTop(),left:t?0:n.scrollLeft(),width:n.width(),height:n.height()},!0),a.find(".layui-layer-min").hide()},100)},r.title=function(e,t){var n=i("#"+l[0]+(t||r.index)).find(l[1]);n.html(e)},r.close=function(e){var t=i("#"+l[0]+e),n=t.attr("type"),a="layer-anim-close";if(t[0]){var s="layui-layer-wrap",f=function(){if(n===o.type[1]&&"object"===t.attr("conType")){t.children(":not(."+l[5]+")").remove();for(var a=t.find("."+s),r=0;r<2;r++)a.unwrap();a.css("display",a.data("display")).removeClass(s)}else{if(n===o.type[2])try{var f=i("#"+l[4]+e)[0];f.contentWindow.document.write(""),f.contentWindow.close(),t.find("."+l[5])[0].removeChild(f)}catch(c){}t[0].innerHTML="",t.remove()}"function"==typeof o.end[e]&&o.end[e](),delete o.end[e]};t.data("isOutAnim")&&t.addClass("layer-anim "+a),i("#layui-layer-moves, #layui-layer-shade"+e).remove(),6==r.ie&&o.reselect(),o.rescollbar(e),t.attr("minLeft")&&(o.minIndex--,o.minLeft.push(t.attr("minLeft"))),r.ie&&r.ie<10||!t.data("isOutAnim")?f():setTimeout(function(){f()},200)}},r.closeAll=function(e){i.each(i("."+l[0]),function(){var t=i(this),n=e?t.attr("type")===e:1;n&&r.close(t.attr("times")),n=null})};var f=r.cache||{},c=function(e){return f.skin?" "+f.skin+" "+f.skin+"-"+e:""};r.prompt=function(e,t){var a="";if(e=e||{},"function"==typeof e&&(t=e),e.area){var o=e.area;a='style="width: '+o[0]+"; height: "+o[1]+';"',delete e.area}var s,l=2==e.formType?'<textarea class="layui-layer-input"'+a+"></textarea>":function(){return'<input type="'+(1==e.formType?"password":"text")+'" class="layui-layer-input">'}(),f=e.success;return delete e.success,r.open(i.extend({type:1,btn:["&#x786E;&#x5B9A;","&#x53D6;&#x6D88;"],content:l,skin:"layui-layer-prompt"+c("prompt"),maxWidth:n.width(),success:function(t){s=t.find(".layui-layer-input"),s.val(e.value||"").focus(),"function"==typeof f&&f(t)},resize:!1,yes:function(i){var n=s.val();""===n?s.focus():n.length>(e.maxlength||500)?r.tips("&#x6700;&#x591A;&#x8F93;&#x5165;"+(e.maxlength||500)+"&#x4E2A;&#x5B57;&#x6570;",s,{tips:1}):t&&t(n,i,s)}},e))},r.tab=function(e){e=e||{};var t=e.tab||{},n="layui-this",a=e.success;return delete e.success,r.open(i.extend({type:1,skin:"layui-layer-tab"+c("tab"),resize:!1,title:function(){var e=t.length,i=1,a="";if(e>0)for(a='<span class="'+n+'">'+t[0].title+"</span>";i<e;i++)a+="<span>"+t[i].title+"</span>";return a}(),content:'<ul class="layui-layer-tabmain">'+function(){var e=t.length,i=1,a="";if(e>0)for(a='<li class="layui-layer-tabli '+n+'">'+(t[0].content||"no content")+"</li>";i<e;i++)a+='<li class="layui-layer-tabli">'+(t[i].content||"no  content")+"</li>";return a}()+"</ul>",success:function(t){var o=t.find(".layui-layer-title").children(),r=t.find(".layui-layer-tabmain").children();o.on("mousedown",function(t){t.stopPropagation?t.stopPropagation():t.cancelBubble=!0;var a=i(this),o=a.index();a.addClass(n).siblings().removeClass(n),r.eq(o).show().siblings().hide(),"function"==typeof e.change&&e.change(o)}),"function"==typeof a&&a(t)}},e))},r.photos=function(t,n,a){function o(e,t,i){var n=new Image;return n.src=e,n.complete?t(n):(n.onload=function(){n.onload=null,t(n)},void(n.onerror=function(e){n.onerror=null,i(e)}))}var s={};if(t=t||{},t.photos){var l=t.photos.constructor===Object,f=l?t.photos:{},u=f.data||[],d=f.start||0;s.imgIndex=(0|d)+1,t.img=t.img||"img";var y=t.success;if(delete t.success,l){if(0===u.length)return r.msg("&#x6CA1;&#x6709;&#x56FE;&#x7247;")}else{var p=i(t.photos),h=function(){u=[],p.find(t.img).each(function(e){var t=i(this);t.attr("layer-index",e),u.push({alt:t.attr("alt"),pid:t.attr("layer-pid"),src:t.attr("layer-src")||t.attr("src"),thumb:t.attr("src")})})};if(h(),0===u.length)return;if(n||p.on("click",t.img,function(){var e=i(this),n=e.attr("layer-index");r.photos(i.extend(t,{photos:{start:n,data:u,tab:t.tab},full:t.full}),!0),h()}),!n)return}s.imgprev=function(e){s.imgIndex--,s.imgIndex<1&&(s.imgIndex=u.length),s.tabimg(e)},s.imgnext=function(e,t){s.imgIndex++,s.imgIndex>u.length&&(s.imgIndex=1,t)||s.tabimg(e)},s.keyup=function(e){if(!s.end){var t=e.keyCode;e.preventDefault(),37===t?s.imgprev(!0):39===t?s.imgnext(!0):27===t&&r.close(s.index)}},s.tabimg=function(e){if(!(u.length<=1))return f.start=s.imgIndex-1,r.close(s.index),r.photos(t,!0,e)},s.event=function(){s.bigimg.hover(function(){s.imgsee.show()},function(){s.imgsee.hide()}),s.bigimg.find(".layui-layer-imgprev").on("click",function(e){e.preventDefault(),s.imgprev()}),s.bigimg.find(".layui-layer-imgnext").on("click",function(e){e.preventDefault(),s.imgnext()}),i(document).on("keyup",s.keyup)},s.loadi=r.load(1,{shade:!("shade"in t)&&.9,scrollbar:!1}),o(u[d].src,function(n){r.close(s.loadi),s.index=r.open(i.extend({type:1,id:"layui-layer-photos",area:function(){var a=[n.width,n.height],o=[i(e).width()-100,i(e).height()-100];if(!t.full&&(a[0]>o[0]||a[1]>o[1])){var r=[a[0]/o[0],a[1]/o[1]];r[0]>r[1]?(a[0]=a[0]/r[0],a[1]=a[1]/r[0]):r[0]<r[1]&&(a[0]=a[0]/r[1],a[1]=a[1]/r[1])}return[a[0]+"px",a[1]+"px"]}(),title:!1,shade:.9,shadeClose:!0,closeBtn:!1,move:".layui-layer-phimg img",moveType:1,scrollbar:!1,moveOut:!0,isOutAnim:!1,skin:"layui-layer-photos"+c("photos"),content:'<div class="layui-layer-phimg"><img src="'+u[d].src+'" alt="'+(u[d].alt||"")+'" layer-pid="'+u[d].pid+'"><div class="layui-layer-imgsee">'+(u.length>1?'<span class="layui-layer-imguide"><a href="javascript:;" class="layui-layer-iconext layui-layer-imgprev"></a><a href="javascript:;" class="layui-layer-iconext layui-layer-imgnext"></a></span>':"")+'<div class="layui-layer-imgbar" style="display:'+(a?"block":"")+'"><span class="layui-layer-imgtit"><a href="javascript:;">'+(u[d].alt||"")+"</a><em>"+s.imgIndex+"/"+u.length+"</em></span></div></div></div>",success:function(e,i){s.bigimg=e.find(".layui-layer-phimg"),s.imgsee=e.find(".layui-layer-imguide,.layui-layer-imgbar"),s.event(e),t.tab&&t.tab(u[d],e),"function"==typeof y&&y(e)},end:function(){s.end=!0,i(document).off("keyup",s.keyup)}},t))},function(){r.close(s.loadi),r.msg("&#x5F53;&#x524D;&#x56FE;&#x7247;&#x5730;&#x5740;&#x5F02;&#x5E38;<br>&#x662F;&#x5426;&#x7EE7;&#x7EED;&#x67E5;&#x770B;&#x4E0B;&#x4E00;&#x5F20;&#xFF1F;",{time:3e4,btn:["&#x4E0B;&#x4E00;&#x5F20;","&#x4E0D;&#x770B;&#x4E86;"],yes:function(){u.length>1&&s.imgnext(!0,!0)}})})}},o.run=function(t){i=t,n=i(e),l.html=i("html"),r.open=function(e){var t=new s(e);return t.index}},e.layui&&layui.define?(r.ready(),layui.define("jquery",function(t){r.path=layui.cache.dir,o.run(layui.$),e.layer=r,t("layer",r)})):"function"==typeof define&&define.amd?define(["jquery"],function(){return o.run(e.jQuery),r}):function(){o.run(e.jQuery),r.ready()}()}(window);
\ No newline at end of file
diff --git a/zy-acs-cv/src/main/webapp/static/layui/lay/modules/laypage.js b/zy-acs-cv/src/main/webapp/static/layui/lay/modules/laypage.js
new file mode 100644
index 0000000..0ddc3cb
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/lay/modules/laypage.js
@@ -0,0 +1,2 @@
+/** layui-v2.5.4 MIT License By https://www.layui.com */
+ ;layui.define(function(e){"use strict";var a=document,t="getElementById",n="getElementsByTagName",i="laypage",r="layui-disabled",u=function(e){var a=this;a.config=e||{},a.config.index=++s.index,a.render(!0)};u.prototype.type=function(){var e=this.config;if("object"==typeof e.elem)return void 0===e.elem.length?2:3},u.prototype.view=function(){var e=this,a=e.config,t=a.groups="groups"in a?0|a.groups:5;a.layout="object"==typeof a.layout?a.layout:["prev","page","next"],a.count=0|a.count,a.curr=0|a.curr||1,a.limits="object"==typeof a.limits?a.limits:[10,20,30,40,50],a.limit=0|a.limit||10,a.pages=Math.ceil(a.count/a.limit)||1,a.curr>a.pages&&(a.curr=a.pages),t<0?t=1:t>a.pages&&(t=a.pages),a.prev="prev"in a?a.prev:"&#x4E0A;&#x4E00;&#x9875;",a.next="next"in a?a.next:"&#x4E0B;&#x4E00;&#x9875;";var n=a.pages>t?Math.ceil((a.curr+(t>1?1:0))/(t>0?t:1)):1,i={prev:function(){return a.prev?'<a href="javascript:;" class="layui-laypage-prev'+(1==a.curr?" "+r:"")+'" data-page="'+(a.curr-1)+'">'+a.prev+"</a>":""}(),page:function(){var e=[];if(a.count<1)return"";n>1&&a.first!==!1&&0!==t&&e.push('<a href="javascript:;" class="layui-laypage-first" data-page="1"  title="&#x9996;&#x9875;">'+(a.first||1)+"</a>");var i=Math.floor((t-1)/2),r=n>1?a.curr-i:1,u=n>1?function(){var e=a.curr+(t-i-1);return e>a.pages?a.pages:e}():t;for(u-r<t-1&&(r=u-t+1),a.first!==!1&&r>2&&e.push('<span class="layui-laypage-spr">&#x2026;</span>');r<=u;r++)r===a.curr?e.push('<span class="layui-laypage-curr"><em class="layui-laypage-em" '+(/^#/.test(a.theme)?'style="background-color:'+a.theme+';"':"")+"></em><em>"+r+"</em></span>"):e.push('<a href="javascript:;" data-page="'+r+'">'+r+"</a>");return a.pages>t&&a.pages>u&&a.last!==!1&&(u+1<a.pages&&e.push('<span class="layui-laypage-spr">&#x2026;</span>'),0!==t&&e.push('<a href="javascript:;" class="layui-laypage-last" title="&#x5C3E;&#x9875;"  data-page="'+a.pages+'">'+(a.last||a.pages)+"</a>")),e.join("")}(),next:function(){return a.next?'<a href="javascript:;" class="layui-laypage-next'+(a.curr==a.pages?" "+r:"")+'" data-page="'+(a.curr+1)+'">'+a.next+"</a>":""}(),count:'<span class="layui-laypage-count">鍏� '+a.count+" 鏉�</span>",limit:function(){var e=['<span class="layui-laypage-limits"><select lay-ignore>'];return layui.each(a.limits,function(t,n){e.push('<option value="'+n+'"'+(n===a.limit?"selected":"")+">"+n+" 鏉�/椤�</option>")}),e.join("")+"</select></span>"}(),refresh:['<a href="javascript:;" data-page="'+a.curr+'" class="layui-laypage-refresh">','<i class="layui-icon layui-icon-refresh"></i>',"</a>"].join(""),skip:function(){return['<span class="layui-laypage-skip">&#x5230;&#x7B2C;','<input type="text" min="1" value="'+a.curr+'" class="layui-input">','&#x9875;<button type="button" class="layui-laypage-btn">&#x786e;&#x5b9a;</button>',"</span>"].join("")}()};return['<div class="layui-box layui-laypage layui-laypage-'+(a.theme?/^#/.test(a.theme)?"molv":a.theme:"default")+'" id="layui-laypage-'+a.index+'">',function(){var e=[];return layui.each(a.layout,function(a,t){i[t]&&e.push(i[t])}),e.join("")}(),"</div>"].join("")},u.prototype.jump=function(e,a){if(e){var t=this,i=t.config,r=e.children,u=e[n]("button")[0],l=e[n]("input")[0],p=e[n]("select")[0],c=function(){var e=0|l.value.replace(/\s|\D/g,"");e&&(i.curr=e,t.render())};if(a)return c();for(var o=0,y=r.length;o<y;o++)"a"===r[o].nodeName.toLowerCase()&&s.on(r[o],"click",function(){var e=0|this.getAttribute("data-page");e<1||e>i.pages||(i.curr=e,t.render())});p&&s.on(p,"change",function(){var e=this.value;i.curr*e>i.count&&(i.curr=Math.ceil(i.count/e)),i.limit=e,t.render()}),u&&s.on(u,"click",function(){c()})}},u.prototype.skip=function(e){if(e){var a=this,t=e[n]("input")[0];t&&s.on(t,"keyup",function(t){var n=this.value,i=t.keyCode;/^(37|38|39|40)$/.test(i)||(/\D/.test(n)&&(this.value=n.replace(/\D/,"")),13===i&&a.jump(e,!0))})}},u.prototype.render=function(e){var n=this,i=n.config,r=n.type(),u=n.view();2===r?i.elem&&(i.elem.innerHTML=u):3===r?i.elem.html(u):a[t](i.elem)&&(a[t](i.elem).innerHTML=u),i.jump&&i.jump(i,e);var s=a[t]("layui-laypage-"+i.index);n.jump(s),i.hash&&!e&&(location.hash="!"+i.hash+"="+i.curr),n.skip(s)};var s={render:function(e){var a=new u(e);return a.index},index:layui.laypage?layui.laypage.index+1e4:0,on:function(e,a,t){return e.attachEvent?e.attachEvent("on"+a,function(a){a.target=a.srcElement,t.call(e,a)}):e.addEventListener(a,t,!1),this}};e(i,s)});
\ No newline at end of file
diff --git a/zy-acs-cv/src/main/webapp/static/layui/lay/modules/laytpl.js b/zy-acs-cv/src/main/webapp/static/layui/lay/modules/laytpl.js
new file mode 100644
index 0000000..7590e08
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/lay/modules/laytpl.js
@@ -0,0 +1,2 @@
+/** layui-v2.5.4 MIT License By https://www.layui.com */
+ ;layui.define(function(e){"use strict";var r={open:"{{",close:"}}"},c={exp:function(e){return new RegExp(e,"g")},query:function(e,c,t){var o=["#([\\s\\S])+?","([^{#}])*?"][e||0];return n((c||"")+r.open+o+r.close+(t||""))},escape:function(e){return String(e||"").replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/'/g,"&#39;").replace(/"/g,"&quot;")},error:function(e,r){var c="Laytpl Error锛�";return"object"==typeof console&&console.error(c+e+"\n"+(r||"")),c+e}},n=c.exp,t=function(e){this.tpl=e};t.pt=t.prototype,window.errors=0,t.pt.parse=function(e,t){var o=this,p=e,a=n("^"+r.open+"#",""),l=n(r.close+"$","");e=e.replace(/\s+|\r|\t|\n/g," ").replace(n(r.open+"#"),r.open+"# ").replace(n(r.close+"}"),"} "+r.close).replace(/\\/g,"\\\\").replace(n(r.open+"!(.+?)!"+r.close),function(e){return e=e.replace(n("^"+r.open+"!"),"").replace(n("!"+r.close),"").replace(n(r.open+"|"+r.close),function(e){return e.replace(/(.)/g,"\\$1")})}).replace(/(?="|')/g,"\\").replace(c.query(),function(e){return e=e.replace(a,"").replace(l,""),'";'+e.replace(/\\/g,"")+';view+="'}).replace(c.query(1),function(e){var c='"+(';return e.replace(/\s/g,"")===r.open+r.close?"":(e=e.replace(n(r.open+"|"+r.close),""),/^=/.test(e)&&(e=e.replace(/^=/,""),c='"+_escape_('),c+e.replace(/\\/g,"")+')+"')}),e='"use strict";var view = "'+e+'";return view;';try{return o.cache=e=new Function("d, _escape_",e),e(t,c.escape)}catch(u){return delete o.cache,c.error(u,p)}},t.pt.render=function(e,r){var n,t=this;return e?(n=t.cache?t.cache(e,c.escape):t.parse(t.tpl,e),r?void r(n):n):c.error("no data")};var o=function(e){return"string"!=typeof e?c.error("Template not found"):new t(e)};o.config=function(e){e=e||{};for(var c in e)r[c]=e[c]},o.v="1.2.0",e("laytpl",o)});
\ No newline at end of file
diff --git a/zy-acs-cv/src/main/webapp/static/layui/lay/modules/mobile.js b/zy-acs-cv/src/main/webapp/static/layui/lay/modules/mobile.js
new file mode 100644
index 0000000..4b3e7ae
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/lay/modules/mobile.js
@@ -0,0 +1,2 @@
+/** layui-v2.5.4 MIT License By https://www.layui.com */
+ ;layui.define(function(i){i("layui.mobile",layui.v)});layui.define(function(e){"use strict";var r={open:"{{",close:"}}"},c={exp:function(e){return new RegExp(e,"g")},query:function(e,c,t){var o=["#([\\s\\S])+?","([^{#}])*?"][e||0];return n((c||"")+r.open+o+r.close+(t||""))},escape:function(e){return String(e||"").replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/'/g,"&#39;").replace(/"/g,"&quot;")},error:function(e,r){var c="Laytpl Error锛�";return"object"==typeof console&&console.error(c+e+"\n"+(r||"")),c+e}},n=c.exp,t=function(e){this.tpl=e};t.pt=t.prototype,window.errors=0,t.pt.parse=function(e,t){var o=this,p=e,a=n("^"+r.open+"#",""),l=n(r.close+"$","");e=e.replace(/\s+|\r|\t|\n/g," ").replace(n(r.open+"#"),r.open+"# ").replace(n(r.close+"}"),"} "+r.close).replace(/\\/g,"\\\\").replace(n(r.open+"!(.+?)!"+r.close),function(e){return e=e.replace(n("^"+r.open+"!"),"").replace(n("!"+r.close),"").replace(n(r.open+"|"+r.close),function(e){return e.replace(/(.)/g,"\\$1")})}).replace(/(?="|')/g,"\\").replace(c.query(),function(e){return e=e.replace(a,"").replace(l,""),'";'+e.replace(/\\/g,"")+';view+="'}).replace(c.query(1),function(e){var c='"+(';return e.replace(/\s/g,"")===r.open+r.close?"":(e=e.replace(n(r.open+"|"+r.close),""),/^=/.test(e)&&(e=e.replace(/^=/,""),c='"+_escape_('),c+e.replace(/\\/g,"")+')+"')}),e='"use strict";var view = "'+e+'";return view;';try{return o.cache=e=new Function("d, _escape_",e),e(t,c.escape)}catch(u){return delete o.cache,c.error(u,p)}},t.pt.render=function(e,r){var n,t=this;return e?(n=t.cache?t.cache(e,c.escape):t.parse(t.tpl,e),r?void r(n):n):c.error("no data")};var o=function(e){return"string"!=typeof e?c.error("Template not found"):new t(e)};o.config=function(e){e=e||{};for(var c in e)r[c]=e[c]},o.v="1.2.0",e("laytpl",o)});layui.define(function(e){"use strict";var t=(window,document),i="querySelectorAll",n="getElementsByClassName",a=function(e){return t[i](e)},s={type:0,shade:!0,shadeClose:!0,fixed:!0,anim:"scale"},l={extend:function(e){var t=JSON.parse(JSON.stringify(s));for(var i in e)t[i]=e[i];return t},timer:{},end:{}};l.touch=function(e,t){e.addEventListener("click",function(e){t.call(this,e)},!1)};var o=0,r=["layui-m-layer"],d=function(e){var t=this;t.config=l.extend(e),t.view()};d.prototype.view=function(){var e=this,i=e.config,s=t.createElement("div");e.id=s.id=r[0]+o,s.setAttribute("class",r[0]+" "+r[0]+(i.type||0)),s.setAttribute("index",o);var l=function(){var e="object"==typeof i.title;return i.title?'<h3 style="'+(e?i.title[1]:"")+'">'+(e?i.title[0]:i.title)+"</h3>":""}(),d=function(){"string"==typeof i.btn&&(i.btn=[i.btn]);var e,t=(i.btn||[]).length;return 0!==t&&i.btn?(e='<span yes type="1">'+i.btn[0]+"</span>",2===t&&(e='<span no type="0">'+i.btn[1]+"</span>"+e),'<div class="layui-m-layerbtn">'+e+"</div>"):""}();if(i.fixed||(i.top=i.hasOwnProperty("top")?i.top:100,i.style=i.style||"",i.style+=" top:"+(t.body.scrollTop+i.top)+"px"),2===i.type&&(i.content='<i></i><i class="layui-m-layerload"></i><i></i><p>'+(i.content||"")+"</p>"),i.skin&&(i.anim="up"),"msg"===i.skin&&(i.shade=!1),s.innerHTML=(i.shade?"<div "+("string"==typeof i.shade?'style="'+i.shade+'"':"")+' class="layui-m-layershade"></div>':"")+'<div class="layui-m-layermain" '+(i.fixed?"":'style="position:static;"')+'><div class="layui-m-layersection"><div class="layui-m-layerchild '+(i.skin?"layui-m-layer-"+i.skin+" ":"")+(i.className?i.className:"")+" "+(i.anim?"layui-m-anim-"+i.anim:"")+'" '+(i.style?'style="'+i.style+'"':"")+">"+l+'<div class="layui-m-layercont">'+i.content+"</div>"+d+"</div></div></div>",!i.type||2===i.type){var y=t[n](r[0]+i.type),u=y.length;u>=1&&c.close(y[0].getAttribute("index"))}document.body.appendChild(s);var m=e.elem=a("#"+e.id)[0];i.success&&i.success(m),e.index=o++,e.action(i,m)},d.prototype.action=function(e,t){var i=this;e.time&&(l.timer[i.index]=setTimeout(function(){c.close(i.index)},1e3*e.time));var a=function(){var t=this.getAttribute("type");0==t?(e.no&&e.no(),c.close(i.index)):e.yes?e.yes(i.index):c.close(i.index)};if(e.btn)for(var s=t[n]("layui-m-layerbtn")[0].children,o=s.length,r=0;r<o;r++)l.touch(s[r],a);if(e.shade&&e.shadeClose){var d=t[n]("layui-m-layershade")[0];l.touch(d,function(){c.close(i.index,e.end)})}e.end&&(l.end[i.index]=e.end)};var c={v:"2.0 m",index:o,open:function(e){var t=new d(e||{});return t.index},close:function(e){var i=a("#"+r[0]+e)[0];i&&(i.innerHTML="",t.body.removeChild(i),clearTimeout(l.timer[e]),delete l.timer[e],"function"==typeof l.end[e]&&l.end[e](),delete l.end[e])},closeAll:function(){for(var e=t[n](r[0]),i=0,a=e.length;i<a;i++)c.close(0|e[0].getAttribute("index"))}};e("layer-mobile",c)});layui.define(function(t){var e=function(){function t(t){return null==t?String(t):J[W.call(t)]||"object"}function e(e){return"function"==t(e)}function n(t){return null!=t&&t==t.window}function r(t){return null!=t&&t.nodeType==t.DOCUMENT_NODE}function i(e){return"object"==t(e)}function o(t){return i(t)&&!n(t)&&Object.getPrototypeOf(t)==Object.prototype}function a(t){var e=!!t&&"length"in t&&t.length,r=T.type(t);return"function"!=r&&!n(t)&&("array"==r||0===e||"number"==typeof e&&e>0&&e-1 in t)}function s(t){return A.call(t,function(t){return null!=t})}function u(t){return t.length>0?T.fn.concat.apply([],t):t}function c(t){return t.replace(/::/g,"/").replace(/([A-Z]+)([A-Z][a-z])/g,"$1_$2").replace(/([a-z\d])([A-Z])/g,"$1_$2").replace(/_/g,"-").toLowerCase()}function l(t){return t in F?F[t]:F[t]=new RegExp("(^|\\s)"+t+"(\\s|$)")}function f(t,e){return"number"!=typeof e||k[c(t)]?e:e+"px"}function h(t){var e,n;return $[t]||(e=L.createElement(t),L.body.appendChild(e),n=getComputedStyle(e,"").getPropertyValue("display"),e.parentNode.removeChild(e),"none"==n&&(n="block"),$[t]=n),$[t]}function p(t){return"children"in t?D.call(t.children):T.map(t.childNodes,function(t){if(1==t.nodeType)return t})}function d(t,e){var n,r=t?t.length:0;for(n=0;n<r;n++)this[n]=t[n];this.length=r,this.selector=e||""}function m(t,e,n){for(j in e)n&&(o(e[j])||Q(e[j]))?(o(e[j])&&!o(t[j])&&(t[j]={}),Q(e[j])&&!Q(t[j])&&(t[j]=[]),m(t[j],e[j],n)):e[j]!==E&&(t[j]=e[j])}function v(t,e){return null==e?T(t):T(t).filter(e)}function g(t,n,r,i){return e(n)?n.call(t,r,i):n}function y(t,e,n){null==n?t.removeAttribute(e):t.setAttribute(e,n)}function x(t,e){var n=t.className||"",r=n&&n.baseVal!==E;return e===E?r?n.baseVal:n:void(r?n.baseVal=e:t.className=e)}function b(t){try{return t?"true"==t||"false"!=t&&("null"==t?null:+t+""==t?+t:/^[\[\{]/.test(t)?T.parseJSON(t):t):t}catch(e){return t}}function w(t,e){e(t);for(var n=0,r=t.childNodes.length;n<r;n++)w(t.childNodes[n],e)}var E,j,T,S,C,N,O=[],P=O.concat,A=O.filter,D=O.slice,L=window.document,$={},F={},k={"column-count":1,columns:1,"font-weight":1,"line-height":1,opacity:1,"z-index":1,zoom:1},M=/^\s*<(\w+|!)[^>]*>/,R=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,z=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,Z=/^(?:body|html)$/i,q=/([A-Z])/g,H=["val","css","html","text","data","width","height","offset"],I=["after","prepend","before","append"],V=L.createElement("table"),_=L.createElement("tr"),B={tr:L.createElement("tbody"),tbody:V,thead:V,tfoot:V,td:_,th:_,"*":L.createElement("div")},U=/complete|loaded|interactive/,X=/^[\w-]*$/,J={},W=J.toString,Y={},G=L.createElement("div"),K={tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},Q=Array.isArray||function(t){return t instanceof Array};return Y.matches=function(t,e){if(!e||!t||1!==t.nodeType)return!1;var n=t.matches||t.webkitMatchesSelector||t.mozMatchesSelector||t.oMatchesSelector||t.matchesSelector;if(n)return n.call(t,e);var r,i=t.parentNode,o=!i;return o&&(i=G).appendChild(t),r=~Y.qsa(i,e).indexOf(t),o&&G.removeChild(t),r},C=function(t){return t.replace(/-+(.)?/g,function(t,e){return e?e.toUpperCase():""})},N=function(t){return A.call(t,function(e,n){return t.indexOf(e)==n})},Y.fragment=function(t,e,n){var r,i,a;return R.test(t)&&(r=T(L.createElement(RegExp.$1))),r||(t.replace&&(t=t.replace(z,"<$1></$2>")),e===E&&(e=M.test(t)&&RegExp.$1),e in B||(e="*"),a=B[e],a.innerHTML=""+t,r=T.each(D.call(a.childNodes),function(){a.removeChild(this)})),o(n)&&(i=T(r),T.each(n,function(t,e){H.indexOf(t)>-1?i[t](e):i.attr(t,e)})),r},Y.Z=function(t,e){return new d(t,e)},Y.isZ=function(t){return t instanceof Y.Z},Y.init=function(t,n){var r;if(!t)return Y.Z();if("string"==typeof t)if(t=t.trim(),"<"==t[0]&&M.test(t))r=Y.fragment(t,RegExp.$1,n),t=null;else{if(n!==E)return T(n).find(t);r=Y.qsa(L,t)}else{if(e(t))return T(L).ready(t);if(Y.isZ(t))return t;if(Q(t))r=s(t);else if(i(t))r=[t],t=null;else if(M.test(t))r=Y.fragment(t.trim(),RegExp.$1,n),t=null;else{if(n!==E)return T(n).find(t);r=Y.qsa(L,t)}}return Y.Z(r,t)},T=function(t,e){return Y.init(t,e)},T.extend=function(t){var e,n=D.call(arguments,1);return"boolean"==typeof t&&(e=t,t=n.shift()),n.forEach(function(n){m(t,n,e)}),t},Y.qsa=function(t,e){var n,r="#"==e[0],i=!r&&"."==e[0],o=r||i?e.slice(1):e,a=X.test(o);return t.getElementById&&a&&r?(n=t.getElementById(o))?[n]:[]:1!==t.nodeType&&9!==t.nodeType&&11!==t.nodeType?[]:D.call(a&&!r&&t.getElementsByClassName?i?t.getElementsByClassName(o):t.getElementsByTagName(e):t.querySelectorAll(e))},T.contains=L.documentElement.contains?function(t,e){return t!==e&&t.contains(e)}:function(t,e){for(;e&&(e=e.parentNode);)if(e===t)return!0;return!1},T.type=t,T.isFunction=e,T.isWindow=n,T.isArray=Q,T.isPlainObject=o,T.isEmptyObject=function(t){var e;for(e in t)return!1;return!0},T.isNumeric=function(t){var e=Number(t),n=typeof t;return null!=t&&"boolean"!=n&&("string"!=n||t.length)&&!isNaN(e)&&isFinite(e)||!1},T.inArray=function(t,e,n){return O.indexOf.call(e,t,n)},T.camelCase=C,T.trim=function(t){return null==t?"":String.prototype.trim.call(t)},T.uuid=0,T.support={},T.expr={},T.noop=function(){},T.map=function(t,e){var n,r,i,o=[];if(a(t))for(r=0;r<t.length;r++)n=e(t[r],r),null!=n&&o.push(n);else for(i in t)n=e(t[i],i),null!=n&&o.push(n);return u(o)},T.each=function(t,e){var n,r;if(a(t)){for(n=0;n<t.length;n++)if(e.call(t[n],n,t[n])===!1)return t}else for(r in t)if(e.call(t[r],r,t[r])===!1)return t;return t},T.grep=function(t,e){return A.call(t,e)},window.JSON&&(T.parseJSON=JSON.parse),T.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(t,e){J["[object "+e+"]"]=e.toLowerCase()}),T.fn={constructor:Y.Z,length:0,forEach:O.forEach,reduce:O.reduce,push:O.push,sort:O.sort,splice:O.splice,indexOf:O.indexOf,concat:function(){var t,e,n=[];for(t=0;t<arguments.length;t++)e=arguments[t],n[t]=Y.isZ(e)?e.toArray():e;return P.apply(Y.isZ(this)?this.toArray():this,n)},map:function(t){return T(T.map(this,function(e,n){return t.call(e,n,e)}))},slice:function(){return T(D.apply(this,arguments))},ready:function(t){return U.test(L.readyState)&&L.body?t(T):L.addEventListener("DOMContentLoaded",function(){t(T)},!1),this},get:function(t){return t===E?D.call(this):this[t>=0?t:t+this.length]},toArray:function(){return this.get()},size:function(){return this.length},remove:function(){return this.each(function(){null!=this.parentNode&&this.parentNode.removeChild(this)})},each:function(t){return O.every.call(this,function(e,n){return t.call(e,n,e)!==!1}),this},filter:function(t){return e(t)?this.not(this.not(t)):T(A.call(this,function(e){return Y.matches(e,t)}))},add:function(t,e){return T(N(this.concat(T(t,e))))},is:function(t){return this.length>0&&Y.matches(this[0],t)},not:function(t){var n=[];if(e(t)&&t.call!==E)this.each(function(e){t.call(this,e)||n.push(this)});else{var r="string"==typeof t?this.filter(t):a(t)&&e(t.item)?D.call(t):T(t);this.forEach(function(t){r.indexOf(t)<0&&n.push(t)})}return T(n)},has:function(t){return this.filter(function(){return i(t)?T.contains(this,t):T(this).find(t).size()})},eq:function(t){return t===-1?this.slice(t):this.slice(t,+t+1)},first:function(){var t=this[0];return t&&!i(t)?t:T(t)},last:function(){var t=this[this.length-1];return t&&!i(t)?t:T(t)},find:function(t){var e,n=this;return e=t?"object"==typeof t?T(t).filter(function(){var t=this;return O.some.call(n,function(e){return T.contains(e,t)})}):1==this.length?T(Y.qsa(this[0],t)):this.map(function(){return Y.qsa(this,t)}):T()},closest:function(t,e){var n=[],i="object"==typeof t&&T(t);return this.each(function(o,a){for(;a&&!(i?i.indexOf(a)>=0:Y.matches(a,t));)a=a!==e&&!r(a)&&a.parentNode;a&&n.indexOf(a)<0&&n.push(a)}),T(n)},parents:function(t){for(var e=[],n=this;n.length>0;)n=T.map(n,function(t){if((t=t.parentNode)&&!r(t)&&e.indexOf(t)<0)return e.push(t),t});return v(e,t)},parent:function(t){return v(N(this.pluck("parentNode")),t)},children:function(t){return v(this.map(function(){return p(this)}),t)},contents:function(){return this.map(function(){return this.contentDocument||D.call(this.childNodes)})},siblings:function(t){return v(this.map(function(t,e){return A.call(p(e.parentNode),function(t){return t!==e})}),t)},empty:function(){return this.each(function(){this.innerHTML=""})},pluck:function(t){return T.map(this,function(e){return e[t]})},show:function(){return this.each(function(){"none"==this.style.display&&(this.style.display=""),"none"==getComputedStyle(this,"").getPropertyValue("display")&&(this.style.display=h(this.nodeName))})},replaceWith:function(t){return this.before(t).remove()},wrap:function(t){var n=e(t);if(this[0]&&!n)var r=T(t).get(0),i=r.parentNode||this.length>1;return this.each(function(e){T(this).wrapAll(n?t.call(this,e):i?r.cloneNode(!0):r)})},wrapAll:function(t){if(this[0]){T(this[0]).before(t=T(t));for(var e;(e=t.children()).length;)t=e.first();T(t).append(this)}return this},wrapInner:function(t){var n=e(t);return this.each(function(e){var r=T(this),i=r.contents(),o=n?t.call(this,e):t;i.length?i.wrapAll(o):r.append(o)})},unwrap:function(){return this.parent().each(function(){T(this).replaceWith(T(this).children())}),this},clone:function(){return this.map(function(){return this.cloneNode(!0)})},hide:function(){return this.css("display","none")},toggle:function(t){return this.each(function(){var e=T(this);(t===E?"none"==e.css("display"):t)?e.show():e.hide()})},prev:function(t){return T(this.pluck("previousElementSibling")).filter(t||"*")},next:function(t){return T(this.pluck("nextElementSibling")).filter(t||"*")},html:function(t){return 0 in arguments?this.each(function(e){var n=this.innerHTML;T(this).empty().append(g(this,t,e,n))}):0 in this?this[0].innerHTML:null},text:function(t){return 0 in arguments?this.each(function(e){var n=g(this,t,e,this.textContent);this.textContent=null==n?"":""+n}):0 in this?this.pluck("textContent").join(""):null},attr:function(t,e){var n;return"string"!=typeof t||1 in arguments?this.each(function(n){if(1===this.nodeType)if(i(t))for(j in t)y(this,j,t[j]);else y(this,t,g(this,e,n,this.getAttribute(t)))}):0 in this&&1==this[0].nodeType&&null!=(n=this[0].getAttribute(t))?n:E},removeAttr:function(t){return this.each(function(){1===this.nodeType&&t.split(" ").forEach(function(t){y(this,t)},this)})},prop:function(t,e){return t=K[t]||t,1 in arguments?this.each(function(n){this[t]=g(this,e,n,this[t])}):this[0]&&this[0][t]},removeProp:function(t){return t=K[t]||t,this.each(function(){delete this[t]})},data:function(t,e){var n="data-"+t.replace(q,"-$1").toLowerCase(),r=1 in arguments?this.attr(n,e):this.attr(n);return null!==r?b(r):E},val:function(t){return 0 in arguments?(null==t&&(t=""),this.each(function(e){this.value=g(this,t,e,this.value)})):this[0]&&(this[0].multiple?T(this[0]).find("option").filter(function(){return this.selected}).pluck("value"):this[0].value)},offset:function(t){if(t)return this.each(function(e){var n=T(this),r=g(this,t,e,n.offset()),i=n.offsetParent().offset(),o={top:r.top-i.top,left:r.left-i.left};"static"==n.css("position")&&(o.position="relative"),n.css(o)});if(!this.length)return null;if(L.documentElement!==this[0]&&!T.contains(L.documentElement,this[0]))return{top:0,left:0};var e=this[0].getBoundingClientRect();return{left:e.left+window.pageXOffset,top:e.top+window.pageYOffset,width:Math.round(e.width),height:Math.round(e.height)}},css:function(e,n){if(arguments.length<2){var r=this[0];if("string"==typeof e){if(!r)return;return r.style[C(e)]||getComputedStyle(r,"").getPropertyValue(e)}if(Q(e)){if(!r)return;var i={},o=getComputedStyle(r,"");return T.each(e,function(t,e){i[e]=r.style[C(e)]||o.getPropertyValue(e)}),i}}var a="";if("string"==t(e))n||0===n?a=c(e)+":"+f(e,n):this.each(function(){this.style.removeProperty(c(e))});else for(j in e)e[j]||0===e[j]?a+=c(j)+":"+f(j,e[j])+";":this.each(function(){this.style.removeProperty(c(j))});return this.each(function(){this.style.cssText+=";"+a})},index:function(t){return t?this.indexOf(T(t)[0]):this.parent().children().indexOf(this[0])},hasClass:function(t){return!!t&&O.some.call(this,function(t){return this.test(x(t))},l(t))},addClass:function(t){return t?this.each(function(e){if("className"in this){S=[];var n=x(this),r=g(this,t,e,n);r.split(/\s+/g).forEach(function(t){T(this).hasClass(t)||S.push(t)},this),S.length&&x(this,n+(n?" ":"")+S.join(" "))}}):this},removeClass:function(t){return this.each(function(e){if("className"in this){if(t===E)return x(this,"");S=x(this),g(this,t,e,S).split(/\s+/g).forEach(function(t){S=S.replace(l(t)," ")}),x(this,S.trim())}})},toggleClass:function(t,e){return t?this.each(function(n){var r=T(this),i=g(this,t,n,x(this));i.split(/\s+/g).forEach(function(t){(e===E?!r.hasClass(t):e)?r.addClass(t):r.removeClass(t)})}):this},scrollTop:function(t){if(this.length){var e="scrollTop"in this[0];return t===E?e?this[0].scrollTop:this[0].pageYOffset:this.each(e?function(){this.scrollTop=t}:function(){this.scrollTo(this.scrollX,t)})}},scrollLeft:function(t){if(this.length){var e="scrollLeft"in this[0];return t===E?e?this[0].scrollLeft:this[0].pageXOffset:this.each(e?function(){this.scrollLeft=t}:function(){this.scrollTo(t,this.scrollY)})}},position:function(){if(this.length){var t=this[0],e=this.offsetParent(),n=this.offset(),r=Z.test(e[0].nodeName)?{top:0,left:0}:e.offset();return n.top-=parseFloat(T(t).css("margin-top"))||0,n.left-=parseFloat(T(t).css("margin-left"))||0,r.top+=parseFloat(T(e[0]).css("border-top-width"))||0,r.left+=parseFloat(T(e[0]).css("border-left-width"))||0,{top:n.top-r.top,left:n.left-r.left}}},offsetParent:function(){return this.map(function(){for(var t=this.offsetParent||L.body;t&&!Z.test(t.nodeName)&&"static"==T(t).css("position");)t=t.offsetParent;return t})}},T.fn.detach=T.fn.remove,["width","height"].forEach(function(t){var e=t.replace(/./,function(t){return t[0].toUpperCase()});T.fn[t]=function(i){var o,a=this[0];return i===E?n(a)?a["inner"+e]:r(a)?a.documentElement["scroll"+e]:(o=this.offset())&&o[t]:this.each(function(e){a=T(this),a.css(t,g(this,i,e,a[t]()))})}}),I.forEach(function(e,n){var r=n%2;T.fn[e]=function(){var e,i,o=T.map(arguments,function(n){var r=[];return e=t(n),"array"==e?(n.forEach(function(t){return t.nodeType!==E?r.push(t):T.zepto.isZ(t)?r=r.concat(t.get()):void(r=r.concat(Y.fragment(t)))}),r):"object"==e||null==n?n:Y.fragment(n)}),a=this.length>1;return o.length<1?this:this.each(function(t,e){i=r?e:e.parentNode,e=0==n?e.nextSibling:1==n?e.firstChild:2==n?e:null;var s=T.contains(L.documentElement,i);o.forEach(function(t){if(a)t=t.cloneNode(!0);else if(!i)return T(t).remove();i.insertBefore(t,e),s&&w(t,function(t){if(!(null==t.nodeName||"SCRIPT"!==t.nodeName.toUpperCase()||t.type&&"text/javascript"!==t.type||t.src)){var e=t.ownerDocument?t.ownerDocument.defaultView:window;e.eval.call(e,t.innerHTML)}})})})},T.fn[r?e+"To":"insert"+(n?"Before":"After")]=function(t){return T(t)[e](this),this}}),Y.Z.prototype=d.prototype=T.fn,Y.uniq=N,Y.deserializeValue=b,T.zepto=Y,T}();!function(t){function e(t){return t._zid||(t._zid=h++)}function n(t,n,o,a){if(n=r(n),n.ns)var s=i(n.ns);return(v[e(t)]||[]).filter(function(t){return t&&(!n.e||t.e==n.e)&&(!n.ns||s.test(t.ns))&&(!o||e(t.fn)===e(o))&&(!a||t.sel==a)})}function r(t){var e=(""+t).split(".");return{e:e[0],ns:e.slice(1).sort().join(" ")}}function i(t){return new RegExp("(?:^| )"+t.replace(" "," .* ?")+"(?: |$)")}function o(t,e){return t.del&&!y&&t.e in x||!!e}function a(t){return b[t]||y&&x[t]||t}function s(n,i,s,u,l,h,p){var d=e(n),m=v[d]||(v[d]=[]);i.split(/\s/).forEach(function(e){if("ready"==e)return t(document).ready(s);var i=r(e);i.fn=s,i.sel=l,i.e in b&&(s=function(e){var n=e.relatedTarget;if(!n||n!==this&&!t.contains(this,n))return i.fn.apply(this,arguments)}),i.del=h;var d=h||s;i.proxy=function(t){if(t=c(t),!t.isImmediatePropagationStopped()){t.data=u;var e=d.apply(n,t._args==f?[t]:[t].concat(t._args));return e===!1&&(t.preventDefault(),t.stopPropagation()),e}},i.i=m.length,m.push(i),"addEventListener"in n&&n.addEventListener(a(i.e),i.proxy,o(i,p))})}function u(t,r,i,s,u){var c=e(t);(r||"").split(/\s/).forEach(function(e){n(t,e,i,s).forEach(function(e){delete v[c][e.i],"removeEventListener"in t&&t.removeEventListener(a(e.e),e.proxy,o(e,u))})})}function c(e,n){return!n&&e.isDefaultPrevented||(n||(n=e),t.each(T,function(t,r){var i=n[t];e[t]=function(){return this[r]=w,i&&i.apply(n,arguments)},e[r]=E}),e.timeStamp||(e.timeStamp=Date.now()),(n.defaultPrevented!==f?n.defaultPrevented:"returnValue"in n?n.returnValue===!1:n.getPreventDefault&&n.getPreventDefault())&&(e.isDefaultPrevented=w)),e}function l(t){var e,n={originalEvent:t};for(e in t)j.test(e)||t[e]===f||(n[e]=t[e]);return c(n,t)}var f,h=1,p=Array.prototype.slice,d=t.isFunction,m=function(t){return"string"==typeof t},v={},g={},y="onfocusin"in window,x={focus:"focusin",blur:"focusout"},b={mouseenter:"mouseover",mouseleave:"mouseout"};g.click=g.mousedown=g.mouseup=g.mousemove="MouseEvents",t.event={add:s,remove:u},t.proxy=function(n,r){var i=2 in arguments&&p.call(arguments,2);if(d(n)){var o=function(){return n.apply(r,i?i.concat(p.call(arguments)):arguments)};return o._zid=e(n),o}if(m(r))return i?(i.unshift(n[r],n),t.proxy.apply(null,i)):t.proxy(n[r],n);throw new TypeError("expected function")},t.fn.bind=function(t,e,n){return this.on(t,e,n)},t.fn.unbind=function(t,e){return this.off(t,e)},t.fn.one=function(t,e,n,r){return this.on(t,e,n,r,1)};var w=function(){return!0},E=function(){return!1},j=/^([A-Z]|returnValue$|layer[XY]$|webkitMovement[XY]$)/,T={preventDefault:"isDefaultPrevented",stopImmediatePropagation:"isImmediatePropagationStopped",stopPropagation:"isPropagationStopped"};t.fn.delegate=function(t,e,n){return this.on(e,t,n)},t.fn.undelegate=function(t,e,n){return this.off(e,t,n)},t.fn.live=function(e,n){return t(document.body).delegate(this.selector,e,n),this},t.fn.die=function(e,n){return t(document.body).undelegate(this.selector,e,n),this},t.fn.on=function(e,n,r,i,o){var a,c,h=this;return e&&!m(e)?(t.each(e,function(t,e){h.on(t,n,r,e,o)}),h):(m(n)||d(i)||i===!1||(i=r,r=n,n=f),i!==f&&r!==!1||(i=r,r=f),i===!1&&(i=E),h.each(function(f,h){o&&(a=function(t){return u(h,t.type,i),i.apply(this,arguments)}),n&&(c=function(e){var r,o=t(e.target).closest(n,h).get(0);if(o&&o!==h)return r=t.extend(l(e),{currentTarget:o,liveFired:h}),(a||i).apply(o,[r].concat(p.call(arguments,1)))}),s(h,e,i,r,n,c||a)}))},t.fn.off=function(e,n,r){var i=this;return e&&!m(e)?(t.each(e,function(t,e){i.off(t,n,e)}),i):(m(n)||d(r)||r===!1||(r=n,n=f),r===!1&&(r=E),i.each(function(){u(this,e,r,n)}))},t.fn.trigger=function(e,n){return e=m(e)||t.isPlainObject(e)?t.Event(e):c(e),e._args=n,this.each(function(){e.type in x&&"function"==typeof this[e.type]?this[e.type]():"dispatchEvent"in this?this.dispatchEvent(e):t(this).triggerHandler(e,n)})},t.fn.triggerHandler=function(e,r){var i,o;return this.each(function(a,s){i=l(m(e)?t.Event(e):e),i._args=r,i.target=s,t.each(n(s,e.type||e),function(t,e){if(o=e.proxy(i),i.isImmediatePropagationStopped())return!1})}),o},"focusin focusout focus blur load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select keydown keypress keyup error".split(" ").forEach(function(e){t.fn[e]=function(t){return 0 in arguments?this.bind(e,t):this.trigger(e)}}),t.Event=function(t,e){m(t)||(e=t,t=e.type);var n=document.createEvent(g[t]||"Events"),r=!0;if(e)for(var i in e)"bubbles"==i?r=!!e[i]:n[i]=e[i];return n.initEvent(t,r,!0),c(n)}}(e),function(t){function e(e,n,r){var i=t.Event(n);return t(e).trigger(i,r),!i.isDefaultPrevented()}function n(t,n,r,i){if(t.global)return e(n||x,r,i)}function r(e){e.global&&0===t.active++&&n(e,null,"ajaxStart")}function i(e){e.global&&!--t.active&&n(e,null,"ajaxStop")}function o(t,e){var r=e.context;return e.beforeSend.call(r,t,e)!==!1&&n(e,r,"ajaxBeforeSend",[t,e])!==!1&&void n(e,r,"ajaxSend",[t,e])}function a(t,e,r,i){var o=r.context,a="success";r.success.call(o,t,a,e),i&&i.resolveWith(o,[t,a,e]),n(r,o,"ajaxSuccess",[e,r,t]),u(a,e,r)}function s(t,e,r,i,o){var a=i.context;i.error.call(a,r,e,t),o&&o.rejectWith(a,[r,e,t]),n(i,a,"ajaxError",[r,i,t||e]),u(e,r,i)}function u(t,e,r){var o=r.context;r.complete.call(o,e,t),n(r,o,"ajaxComplete",[e,r]),i(r)}function c(t,e,n){if(n.dataFilter==l)return t;var r=n.context;return n.dataFilter.call(r,t,e)}function l(){}function f(t){return t&&(t=t.split(";",2)[0]),t&&(t==T?"html":t==j?"json":w.test(t)?"script":E.test(t)&&"xml")||"text"}function h(t,e){return""==e?t:(t+"&"+e).replace(/[&?]{1,2}/,"?")}function p(e){e.processData&&e.data&&"string"!=t.type(e.data)&&(e.data=t.param(e.data,e.traditional)),!e.data||e.type&&"GET"!=e.type.toUpperCase()&&"jsonp"!=e.dataType||(e.url=h(e.url,e.data),e.data=void 0)}function d(e,n,r,i){return t.isFunction(n)&&(i=r,r=n,n=void 0),t.isFunction(r)||(i=r,r=void 0),{url:e,data:n,success:r,dataType:i}}function m(e,n,r,i){var o,a=t.isArray(n),s=t.isPlainObject(n);t.each(n,function(n,u){o=t.type(u),i&&(n=r?i:i+"["+(s||"object"==o||"array"==o?n:"")+"]"),!i&&a?e.add(u.name,u.value):"array"==o||!r&&"object"==o?m(e,u,r,n):e.add(n,u)})}var v,g,y=+new Date,x=window.document,b=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,w=/^(?:text|application)\/javascript/i,E=/^(?:text|application)\/xml/i,j="application/json",T="text/html",S=/^\s*$/,C=x.createElement("a");C.href=window.location.href,t.active=0,t.ajaxJSONP=function(e,n){if(!("type"in e))return t.ajax(e);var r,i,u=e.jsonpCallback,c=(t.isFunction(u)?u():u)||"Zepto"+y++,l=x.createElement("script"),f=window[c],h=function(e){t(l).triggerHandler("error",e||"abort")},p={abort:h};return n&&n.promise(p),t(l).on("load error",function(o,u){clearTimeout(i),t(l).off().remove(),"error"!=o.type&&r?a(r[0],p,e,n):s(null,u||"error",p,e,n),window[c]=f,r&&t.isFunction(f)&&f(r[0]),f=r=void 0}),o(p,e)===!1?(h("abort"),p):(window[c]=function(){r=arguments},l.src=e.url.replace(/\?(.+)=\?/,"?$1="+c),x.head.appendChild(l),e.timeout>0&&(i=setTimeout(function(){h("timeout")},e.timeout)),p)},t.ajaxSettings={type:"GET",beforeSend:l,success:l,error:l,complete:l,context:null,global:!0,xhr:function(){return new window.XMLHttpRequest},accepts:{script:"text/javascript, application/javascript, application/x-javascript",json:j,xml:"application/xml, text/xml",html:T,text:"text/plain"},crossDomain:!1,timeout:0,processData:!0,cache:!0,dataFilter:l},t.ajax=function(e){var n,i,u=t.extend({},e||{}),d=t.Deferred&&t.Deferred();for(v in t.ajaxSettings)void 0===u[v]&&(u[v]=t.ajaxSettings[v]);r(u),u.crossDomain||(n=x.createElement("a"),n.href=u.url,n.href=n.href,u.crossDomain=C.protocol+"//"+C.host!=n.protocol+"//"+n.host),u.url||(u.url=window.location.toString()),(i=u.url.indexOf("#"))>-1&&(u.url=u.url.slice(0,i)),p(u);var m=u.dataType,y=/\?.+=\?/.test(u.url);if(y&&(m="jsonp"),u.cache!==!1&&(e&&e.cache===!0||"script"!=m&&"jsonp"!=m)||(u.url=h(u.url,"_="+Date.now())),"jsonp"==m)return y||(u.url=h(u.url,u.jsonp?u.jsonp+"=?":u.jsonp===!1?"":"callback=?")),t.ajaxJSONP(u,d);var b,w=u.accepts[m],E={},j=function(t,e){E[t.toLowerCase()]=[t,e]},T=/^([\w-]+:)\/\//.test(u.url)?RegExp.$1:window.location.protocol,N=u.xhr(),O=N.setRequestHeader;if(d&&d.promise(N),u.crossDomain||j("X-Requested-With","XMLHttpRequest"),j("Accept",w||"*/*"),(w=u.mimeType||w)&&(w.indexOf(",")>-1&&(w=w.split(",",2)[0]),N.overrideMimeType&&N.overrideMimeType(w)),(u.contentType||u.contentType!==!1&&u.data&&"GET"!=u.type.toUpperCase())&&j("Content-Type",u.contentType||"application/x-www-form-urlencoded"),u.headers)for(g in u.headers)j(g,u.headers[g]);if(N.setRequestHeader=j,N.onreadystatechange=function(){if(4==N.readyState){N.onreadystatechange=l,clearTimeout(b);var e,n=!1;if(N.status>=200&&N.status<300||304==N.status||0==N.status&&"file:"==T){if(m=m||f(u.mimeType||N.getResponseHeader("content-type")),"arraybuffer"==N.responseType||"blob"==N.responseType)e=N.response;else{e=N.responseText;try{e=c(e,m,u),"script"==m?(0,eval)(e):"xml"==m?e=N.responseXML:"json"==m&&(e=S.test(e)?null:t.parseJSON(e))}catch(r){n=r}if(n)return s(n,"parsererror",N,u,d)}a(e,N,u,d)}else s(N.statusText||null,N.status?"error":"abort",N,u,d)}},o(N,u)===!1)return N.abort(),s(null,"abort",N,u,d),N;var P=!("async"in u)||u.async;if(N.open(u.type,u.url,P,u.username,u.password),u.xhrFields)for(g in u.xhrFields)N[g]=u.xhrFields[g];for(g in E)O.apply(N,E[g]);return u.timeout>0&&(b=setTimeout(function(){N.onreadystatechange=l,N.abort(),s(null,"timeout",N,u,d)},u.timeout)),N.send(u.data?u.data:null),N},t.get=function(){return t.ajax(d.apply(null,arguments))},t.post=function(){var e=d.apply(null,arguments);return e.type="POST",t.ajax(e)},t.getJSON=function(){var e=d.apply(null,arguments);return e.dataType="json",t.ajax(e)},t.fn.load=function(e,n,r){if(!this.length)return this;var i,o=this,a=e.split(/\s/),s=d(e,n,r),u=s.success;return a.length>1&&(s.url=a[0],i=a[1]),s.success=function(e){o.html(i?t("<div>").html(e.replace(b,"")).find(i):e),u&&u.apply(o,arguments)},t.ajax(s),this};var N=encodeURIComponent;t.param=function(e,n){var r=[];return r.add=function(e,n){t.isFunction(n)&&(n=n()),null==n&&(n=""),this.push(N(e)+"="+N(n))},m(r,e,n),r.join("&").replace(/%20/g,"+")}}(e),function(t){t.fn.serializeArray=function(){var e,n,r=[],i=function(t){return t.forEach?t.forEach(i):void r.push({name:e,value:t})};return this[0]&&t.each(this[0].elements,function(r,o){n=o.type,e=o.name,e&&"fieldset"!=o.nodeName.toLowerCase()&&!o.disabled&&"submit"!=n&&"reset"!=n&&"button"!=n&&"file"!=n&&("radio"!=n&&"checkbox"!=n||o.checked)&&i(t(o).val())}),r},t.fn.serialize=function(){var t=[];return this.serializeArray().forEach(function(e){t.push(encodeURIComponent(e.name)+"="+encodeURIComponent(e.value))}),t.join("&")},t.fn.submit=function(e){if(0 in arguments)this.bind("submit",e);else if(this.length){var n=t.Event("submit");this.eq(0).trigger(n),n.isDefaultPrevented()||this.get(0).submit()}return this}}(e),function(){try{getComputedStyle(void 0)}catch(t){var e=getComputedStyle;window.getComputedStyle=function(t,n){try{return e(t,n)}catch(r){return null}}}}(),t("zepto",e)});layui.define(["layer-mobile","zepto"],function(e){"use strict";var t=layui.zepto,a=layui["layer-mobile"],i=(layui.device(),"layui-upload-enter"),n="layui-upload-iframe",r={icon:2,shift:6},o={file:"鏂囦欢",video:"瑙嗛",audio:"闊抽"};a.msg=function(e){return a.open({content:e||"",skin:"msg",time:2})};var s=function(e){this.options=e};s.prototype.init=function(){var e=this,a=e.options,r=t("body"),s=t(a.elem||".layui-upload-file"),u=t('<iframe id="'+n+'" class="'+n+'" name="'+n+'"></iframe>');return t("#"+n)[0]||r.append(u),s.each(function(r,s){s=t(s);var u='<form target="'+n+'" method="'+(a.method||"post")+'" key="set-mine" enctype="multipart/form-data" action="'+(a.url||"")+'"></form>',l=s.attr("lay-type")||a.type;a.unwrap||(u='<div class="layui-box layui-upload-button">'+u+'<span class="layui-upload-icon"><i class="layui-icon">&#xe608;</i>'+(s.attr("lay-title")||a.title||"涓婁紶"+(o[l]||"鍥剧墖"))+"</span></div>"),u=t(u),a.unwrap||u.on("dragover",function(e){e.preventDefault(),t(this).addClass(i)}).on("dragleave",function(){t(this).removeClass(i)}).on("drop",function(){t(this).removeClass(i)}),s.parent("form").attr("target")===n&&(a.unwrap?s.unwrap():(s.parent().next().remove(),s.unwrap().unwrap())),s.wrap(u),s.off("change").on("change",function(){e.action(this,l)})})},s.prototype.action=function(e,i){var o=this,s=o.options,u=e.value,l=t(e),p=l.attr("lay-ext")||s.ext||"";if(u){switch(i){case"file":if(p&&!RegExp("\\w\\.("+p+")$","i").test(escape(u)))return a.msg("涓嶆敮鎸佽鏂囦欢鏍煎紡",r),e.value="";break;case"video":if(!RegExp("\\w\\.("+(p||"avi|mp4|wma|rmvb|rm|flash|3gp|flv")+")$","i").test(escape(u)))return a.msg("涓嶆敮鎸佽瑙嗛鏍煎紡",r),e.value="";break;case"audio":if(!RegExp("\\w\\.("+(p||"mp3|wav|mid")+")$","i").test(escape(u)))return a.msg("涓嶆敮鎸佽闊抽鏍煎紡",r),e.value="";break;default:if(!RegExp("\\w\\.("+(p||"jpg|png|gif|bmp|jpeg")+")$","i").test(escape(u)))return a.msg("涓嶆敮鎸佽鍥剧墖鏍煎紡",r),e.value=""}s.before&&s.before(e),l.parent().submit();var c=t("#"+n),f=setInterval(function(){var t;try{t=c.contents().find("body").text()}catch(i){a.msg("涓婁紶鎺ュ彛瀛樺湪璺ㄥ煙",r),clearInterval(f)}if(t){clearInterval(f),c.contents().find("body").html("");try{t=JSON.parse(t)}catch(i){return t={},a.msg("璇峰涓婁紶鎺ュ彛杩斿洖JSON瀛楃",r)}"function"==typeof s.success&&s.success(t,e)}},30);e.value=""}},e("upload-mobile",function(e){var t=new s(e=e||{});t.init()})});layui.define(function(i){i("layim-mobile",layui.v)});layui["layui.mobile"]||layui.config({base:layui.cache.dir+"lay/modules/mobile/"}).extend({"layer-mobile":"layer-mobile",zepto:"zepto","upload-mobile":"upload-mobile","layim-mobile":"layim-mobile"}),layui.define(["layer-mobile","zepto","layim-mobile"],function(l){l("mobile",{layer:layui["layer-mobile"],layim:layui["layim-mobile"]})});
\ No newline at end of file
diff --git a/zy-acs-cv/src/main/webapp/static/layui/lay/modules/rate.js b/zy-acs-cv/src/main/webapp/static/layui/lay/modules/rate.js
new file mode 100644
index 0000000..7ba3f14
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/lay/modules/rate.js
@@ -0,0 +1,2 @@
+/** layui-v2.5.4 MIT License By https://www.layui.com */
+ ;layui.define("jquery",function(e){"use strict";var a=layui.jquery,i={config:{},index:layui.rate?layui.rate.index+1e4:0,set:function(e){var i=this;return i.config=a.extend({},i.config,e),i},on:function(e,a){return layui.onevent.call(this,n,e,a)}},l=function(){var e=this,a=e.config;return{setvalue:function(a){e.setvalue.call(e,a)},config:a}},n="rate",t="layui-rate",o="layui-icon-rate",s="layui-icon-rate-solid",u="layui-icon-rate-half",r="layui-icon-rate-solid layui-icon-rate-half",c="layui-icon-rate-solid layui-icon-rate",f="layui-icon-rate layui-icon-rate-half",v=function(e){var l=this;l.index=++i.index,l.config=a.extend({},l.config,i.config,e),l.render()};v.prototype.config={length:5,text:!1,readonly:!1,half:!1,value:0,theme:""},v.prototype.render=function(){var e=this,i=e.config,l=i.theme?'style="color: '+i.theme+';"':"";i.elem=a(i.elem),parseInt(i.value)!==i.value&&(i.half||(i.value=Math.ceil(i.value)-i.value<.5?Math.ceil(i.value):Math.floor(i.value)));for(var n='<ul class="layui-rate" '+(i.readonly?"readonly":"")+">",u=1;u<=i.length;u++){var r='<li class="layui-inline"><i class="layui-icon '+(u>Math.floor(i.value)?o:s)+'" '+l+"></i></li>";i.half&&parseInt(i.value)!==i.value&&u==Math.ceil(i.value)?n=n+'<li><i class="layui-icon layui-icon-rate-half" '+l+"></i></li>":n+=r}n+="</ul>"+(i.text?'<span class="layui-inline">'+i.value+"鏄�":"")+"</span>";var c=i.elem,f=c.next("."+t);f[0]&&f.remove(),e.elemTemp=a(n),i.span=e.elemTemp.next("span"),i.setText&&i.setText(i.value),c.html(e.elemTemp),c.addClass("layui-inline"),i.readonly||e.action()},v.prototype.setvalue=function(e){var a=this,i=a.config;i.value=e,a.render()},v.prototype.action=function(){var e=this,i=e.config,l=e.elemTemp,n=l.find("i").width();l.children("li").each(function(e){var t=e+1,v=a(this);v.on("click",function(e){if(i.value=t,i.half){var o=e.pageX-a(this).offset().left;o<=n/2&&(i.value=i.value-.5)}i.text&&l.next("span").text(i.value+"鏄�"),i.choose&&i.choose(i.value),i.setText&&i.setText(i.value)}),v.on("mousemove",function(e){if(l.find("i").each(function(){a(this).addClass(o).removeClass(r)}),l.find("i:lt("+t+")").each(function(){a(this).addClass(s).removeClass(f)}),i.half){var c=e.pageX-a(this).offset().left;c<=n/2&&v.children("i").addClass(u).removeClass(s)}}),v.on("mouseleave",function(){l.find("i").each(function(){a(this).addClass(o).removeClass(r)}),l.find("i:lt("+Math.floor(i.value)+")").each(function(){a(this).addClass(s).removeClass(f)}),i.half&&parseInt(i.value)!==i.value&&l.children("li:eq("+Math.floor(i.value)+")").children("i").addClass(u).removeClass(c)})})},v.prototype.events=function(){var e=this;e.config},i.render=function(e){var a=new v(e);return l.call(a)},e(n,i)});
\ No newline at end of file
diff --git a/zy-acs-cv/src/main/webapp/static/layui/lay/modules/slider.js b/zy-acs-cv/src/main/webapp/static/layui/lay/modules/slider.js
new file mode 100644
index 0000000..54d6d00
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/lay/modules/slider.js
@@ -0,0 +1,2 @@
+/** layui-v2.5.4 MIT License By https://www.layui.com */
+ ;layui.define("jquery",function(e){"use strict";var i=layui.jquery,t={config:{},index:layui.slider?layui.slider.index+1e4:0,set:function(e){var t=this;return t.config=i.extend({},t.config,e),t},on:function(e,i){return layui.onevent.call(this,n,e,i)}},a=function(){var e=this,i=e.config;return{setValue:function(i,t){return e.slide("set",i,t||0)},config:i}},n="slider",l="layui-disabled",s="layui-slider",r="layui-slider-bar",o="layui-slider-wrap",u="layui-slider-wrap-btn",d="layui-slider-tips",v="layui-slider-input",c="layui-slider-input-txt",m="layui-slider-input-btn",p="layui-slider-hover",f=function(e){var a=this;a.index=++t.index,a.config=i.extend({},a.config,t.config,e),a.render()};f.prototype.config={type:"default",min:0,max:100,value:0,step:1,showstep:!1,tips:!0,input:!1,range:!1,height:200,disabled:!1,theme:"#009688"},f.prototype.render=function(){var e=this,t=e.config;if(t.step<1&&(t.step=1),t.max<t.min&&(t.max=t.min+t.step),t.range){t.value="object"==typeof t.value?t.value:[t.min,t.value];var a=Math.min(t.value[0],t.value[1]),n=Math.max(t.value[0],t.value[1]);t.value[0]=a>t.min?a:t.min,t.value[1]=n>t.min?n:t.min,t.value[0]=t.value[0]>t.max?t.max:t.value[0],t.value[1]=t.value[1]>t.max?t.max:t.value[1];var r=Math.floor((t.value[0]-t.min)/(t.max-t.min)*100),v=Math.floor((t.value[1]-t.min)/(t.max-t.min)*100),m=v-r+"%";r+="%",v+="%"}else{"object"==typeof t.value&&(t.value=Math.min.apply(null,t.value)),t.value<t.min&&(t.value=t.min),t.value>t.max&&(t.value=t.max);var m=Math.floor((t.value-t.min)/(t.max-t.min)*100)+"%"}var p=t.disabled?"#c2c2c2":t.theme,f='<div class="layui-slider '+("vertical"===t.type?"layui-slider-vertical":"")+'">'+(t.tips?'<div class="layui-slider-tips"></div>':"")+'<div class="layui-slider-bar" style="background:'+p+"; "+("vertical"===t.type?"height":"width")+":"+m+";"+("vertical"===t.type?"bottom":"left")+":"+(r||0)+';"></div><div class="layui-slider-wrap" style="'+("vertical"===t.type?"bottom":"left")+":"+(r||m)+';"><div class="layui-slider-wrap-btn" style="border: 2px solid '+p+';"></div></div>'+(t.range?'<div class="layui-slider-wrap" style="'+("vertical"===t.type?"bottom":"left")+":"+v+';"><div class="layui-slider-wrap-btn" style="border: 2px solid '+p+';"></div></div>':"")+"</div>",h=i(t.elem),y=h.next("."+s);if(y[0]&&y.remove(),e.elemTemp=i(f),t.range?(e.elemTemp.find("."+o).eq(0).data("value",t.value[0]),e.elemTemp.find("."+o).eq(1).data("value",t.value[1])):e.elemTemp.find("."+o).data("value",t.value),h.html(e.elemTemp),"vertical"===t.type&&e.elemTemp.height(t.height+"px"),t.showstep){for(var g=(t.max-t.min)/t.step,b="",x=1;x<g+1;x++){var T=100*x/g;T<100&&(b+='<div class="layui-slider-step" style="'+("vertical"===t.type?"bottom":"left")+":"+T+'%"></div>')}e.elemTemp.append(b)}if(t.input&&!t.range){var w=i('<div class="layui-slider-input layui-input"><div class="layui-slider-input-txt"><input type="text" class="layui-input"></div><div class="layui-slider-input-btn"><i class="layui-icon layui-icon-up"></i><i class="layui-icon layui-icon-down"></i></div></div>');h.css("position","relative"),h.append(w),h.find("."+c).children("input").val(t.value),"vertical"===t.type?w.css({left:0,top:-48}):e.elemTemp.css("margin-right",w.outerWidth()+15)}t.disabled?(e.elemTemp.addClass(l),e.elemTemp.find("."+u).addClass(l)):e.slide(),e.elemTemp.find("."+u).on("mouseover",function(){var a="vertical"===t.type?t.height:e.elemTemp[0].offsetWidth,n=e.elemTemp.find("."+o),l="vertical"===t.type?a-i(this).parent()[0].offsetTop-n.height():i(this).parent()[0].offsetLeft,s=l/a*100,r=i(this).parent().data("value"),u=t.setTips?t.setTips(r):r;e.elemTemp.find("."+d).html(u),"vertical"===t.type?e.elemTemp.find("."+d).css({bottom:s+"%","margin-bottom":"20px",display:"inline-block"}):e.elemTemp.find("."+d).css({left:s+"%",display:"inline-block"})}).on("mouseout",function(){e.elemTemp.find("."+d).css("display","none")})},f.prototype.slide=function(e,t,a){var n=this,l=n.config,s=n.elemTemp,f=function(){return"vertical"===l.type?l.height:s[0].offsetWidth},h=s.find("."+o),y=s.next("."+v),g=y.children("."+c).children("input").val(),b=100/((l.max-l.min)/Math.ceil(l.step)),x=function(e,i){e=Math.ceil(e)*b>100?Math.ceil(e)*b:Math.round(e)*b,e=e>100?100:e,h.eq(i).css("vertical"===l.type?"bottom":"left",e+"%");var t=T(h[0].offsetLeft),a=l.range?T(h[1].offsetLeft):0;"vertical"===l.type?(s.find("."+d).css({bottom:e+"%","margin-bottom":"20px"}),t=T(f()-h[0].offsetTop-h.height()),a=l.range?T(f()-h[1].offsetTop-h.height()):0):s.find("."+d).css("left",e+"%"),t=t>100?100:t,a=a>100?100:a;var n=Math.min(t,a),o=Math.abs(t-a);"vertical"===l.type?s.find("."+r).css({height:o+"%",bottom:n+"%"}):s.find("."+r).css({width:o+"%",left:n+"%"});var u=l.min+Math.round((l.max-l.min)*e/100);if(g=u,y.children("."+c).children("input").val(g),h.eq(i).data("value",u),u=l.setTips?l.setTips(u):u,s.find("."+d).html(u),l.range){var v=[h.eq(0).data("value"),h.eq(1).data("value")];v[0]>v[1]&&v.reverse()}l.change&&l.change(l.range?v:u)},T=function(e){var i=e/f()*100/b,t=Math.round(i)*b;return e==f()&&(t=Math.ceil(i)*b),t},w=i(['<div class="layui-auxiliar-moving" id="LAY-slider-moving"></div'].join("")),M=function(e,t){var a=function(){t&&t(),w.remove()};i("#LAY-slider-moving")[0]||i("body").append(w),w.on("mousemove",e),w.on("mouseup",a).on("mouseleave",a)};if("set"===e)return x(t,a);s.find("."+u).each(function(e){var t=i(this);t.on("mousedown",function(i){i=i||window.event;var a=t.parent()[0].offsetLeft,n=i.clientX;"vertical"===l.type&&(a=f()-t.parent()[0].offsetTop-h.height(),n=i.clientY);var r=function(i){i=i||window.event;var r=a+("vertical"===l.type?n-i.clientY:i.clientX-n);r<0&&(r=0),r>f()&&(r=f());var o=r/f()*100/b;x(o,e),t.addClass(p),s.find("."+d).show(),i.preventDefault()},o=function(){t.removeClass(p),s.find("."+d).hide()};M(r,o)})}),s.on("click",function(e){var t=i("."+u);if(!t.is(event.target)&&0===t.has(event.target).length&&t.length){var a,n="vertical"===l.type?f()-e.clientY+i(this).offset().top:e.clientX-i(this).offset().left;n<0&&(n=0),n>f()&&(n=f());var s=n/f()*100/b;a=l.range?"vertical"===l.type?Math.abs(n-parseInt(i(h[0]).css("bottom")))>Math.abs(n-parseInt(i(h[1]).css("bottom")))?1:0:Math.abs(n-h[0].offsetLeft)>Math.abs(n-h[1].offsetLeft)?1:0:0,x(s,a),e.preventDefault()}}),y.hover(function(){var e=i(this);e.children("."+m).fadeIn("fast")},function(){var e=i(this);e.children("."+m).fadeOut("fast")}),y.children("."+m).children("i").each(function(e){i(this).on("click",function(){g=1==e?g-l.step<l.min?l.min:Number(g)-l.step:Number(g)+l.step>l.max?l.max:Number(g)+l.step;var i=(g-l.min)/(l.max-l.min)*100/b;x(i,0)})});var q=function(){var e=this.value;e=isNaN(e)?0:e,e=e<l.min?l.min:e,e=e>l.max?l.max:e,this.value=e;var i=(e-l.min)/(l.max-l.min)*100/b;x(i,0)};y.children("."+c).children("input").on("keydown",function(e){13===e.keyCode&&(e.preventDefault(),q.call(this))}).on("change",q)},f.prototype.events=function(){var e=this;e.config},t.render=function(e){var i=new f(e);return a.call(i)},e(n,t)});
\ No newline at end of file
diff --git a/zy-acs-cv/src/main/webapp/static/layui/lay/modules/table.js b/zy-acs-cv/src/main/webapp/static/layui/lay/modules/table.js
new file mode 100644
index 0000000..52a1f65
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/lay/modules/table.js
@@ -0,0 +1,2 @@
+/** layui-v2.5.4 MIT License By https://www.layui.com */
+ ;layui.define(["laytpl","laypage","layer","form","util"],function(e){"use strict";var t=layui.$,i=layui.laytpl,a=layui.laypage,l=layui.layer,n=layui.form,o=(layui.util,layui.hint()),r=layui.device(),d={config:{checkName:"LAY_CHECKED",indexName:"LAY_TABLE_INDEX"},cache:{},index:layui.table?layui.table.index+1e4:0,set:function(e){var i=this;return i.config=t.extend({},i.config,e),i},on:function(e,t){return layui.onevent.call(this,y,e,t)}},c=function(){var e=this,t=e.config,i=t.id||t.index;return i&&(c.that[i]=e,c.config[i]=t),{config:t,reload:function(t){e.reload.call(e,t)},setColsWidth:function(){e.setColsWidth.call(e)},resize:function(){e.resize.call(e)}}},s=function(e){var t=c.config[e];return t||o.error("The ID option was not found in the table instance"),t||null},u=function(e,a,l,n){var o=e.templet?function(){return"function"==typeof e.templet?e.templet(l):i(t(e.templet).html()||String(a)).render(l)}():a;return n?t("<div>"+o+"</div>").text():o},y="table",h=".layui-table",f="layui-hide",p="layui-none",v="layui-table-view",m=".layui-table-tool",g=".layui-table-box",b=".layui-table-init",x=".layui-table-header",k=".layui-table-body",C=".layui-table-main",w=".layui-table-fixed",T=".layui-table-fixed-l",A=".layui-table-fixed-r",L=".layui-table-total",N=".layui-table-page",S=".layui-table-sort",W="layui-table-edit",_="layui-table-hover",E=function(e){var t='{{#if(item2.colspan){}} colspan="{{item2.colspan}}"{{#} if(item2.rowspan){}} rowspan="{{item2.rowspan}}"{{#}}}';return e=e||{},['<table cellspacing="0" cellpadding="0" border="0" class="layui-table" ','{{# if(d.data.skin){ }}lay-skin="{{d.data.skin}}"{{# } }} {{# if(d.data.size){ }}lay-size="{{d.data.size}}"{{# } }} {{# if(d.data.even){ }}lay-even{{# } }}>',"<thead>","{{# layui.each(d.data.cols, function(i1, item1){ }}","<tr>","{{# layui.each(item1, function(i2, item2){ }}",'{{# if(item2.fixed && item2.fixed !== "right"){ left = true; } }}','{{# if(item2.fixed === "right"){ right = true; } }}',function(){return e.fixed&&"right"!==e.fixed?'{{# if(item2.fixed && item2.fixed !== "right"){ }}':"right"===e.fixed?'{{# if(item2.fixed === "right"){ }}':""}(),"{{# var isSort = !(item2.colGroup) && item2.sort; }}",'<th data-field="{{ item2.field||i2 }}" data-key="{{d.index}}-{{i1}}-{{i2}}" {{# if( item2.parentKey){ }}data-parentkey="{{ item2.parentKey }}"{{# } }} {{# if(item2.minWidth){ }}data-minwidth="{{item2.minWidth}}"{{# } }} '+t+' {{# if(item2.unresize || item2.colGroup){ }}data-unresize="true"{{# } }} class="{{# if(item2.hide){ }}layui-hide{{# } }}{{# if(isSort){ }} layui-unselect{{# } }}{{# if(!item2.field){ }} layui-table-col-special{{# } }}">','<div class="layui-table-cell laytable-cell-',"{{# if(item2.colGroup){ }}","group","{{# } else { }}","{{d.index}}-{{i1}}-{{i2}}",'{{# if(item2.type !== "normal"){ }}'," laytable-cell-{{ item2.type }}","{{# } }}","{{# } }}",'" {{#if(item2.align){}}align="{{item2.align}}"{{#}}}>','{{# if(item2.type === "checkbox"){ }}','<input type="checkbox" name="layTableCheckbox" lay-skin="primary" lay-filter="layTableAllChoose" {{# if(item2[d.data.checkName]){ }}checked{{# }; }}>',"{{# } else { }}",'<span>{{item2.title||""}}</span>',"{{# if(isSort){ }}",'<span class="layui-table-sort layui-inline"><i class="layui-edge layui-table-sort-asc" title="鍗囧簭"></i><i class="layui-edge layui-table-sort-desc" title="闄嶅簭"></i></span>',"{{# } }}","{{# } }}","</div>","</th>",e.fixed?"{{# }; }}":"","{{# }); }}","</tr>","{{# }); }}","</thead>","</table>"].join("")},z=['<table cellspacing="0" cellpadding="0" border="0" class="layui-table" ','{{# if(d.data.skin){ }}lay-skin="{{d.data.skin}}"{{# } }} {{# if(d.data.size){ }}lay-size="{{d.data.size}}"{{# } }} {{# if(d.data.even){ }}lay-even{{# } }}>',"<tbody></tbody>","</table>"].join(""),H=['<div class="layui-form layui-border-box {{d.VIEW_CLASS}}" lay-filter="LAY-table-{{d.index}}" lay-id="{{ d.data.id }}" style="{{# if(d.data.width){ }}width:{{d.data.width}}px;{{# } }} {{# if(d.data.height){ }}height:{{d.data.height}}px;{{# } }}">',"{{# if(d.data.toolbar){ }}",'<div class="layui-table-tool">','<div class="layui-table-tool-temp"></div>','<div class="layui-table-tool-self"></div>',"</div>","{{# } }}",'<div class="layui-table-box">',"{{# if(d.data.loading){ }}",'<div class="layui-table-init" style="background-color: #fff;">','<i class="layui-icon layui-icon-loading layui-anim layui-anim-rotate layui-anim-loop"></i>',"</div>","{{# } }}","{{# var left, right; }}",'<div class="layui-table-header">',E(),"</div>",'<div class="layui-table-body layui-table-main">',z,"</div>","{{# if(left){ }}",'<div class="layui-table-fixed layui-table-fixed-l">','<div class="layui-table-header">',E({fixed:!0}),"</div>",'<div class="layui-table-body">',z,"</div>","</div>","{{# }; }}","{{# if(right){ }}",'<div class="layui-table-fixed layui-table-fixed-r">','<div class="layui-table-header">',E({fixed:"right"}),'<div class="layui-table-mend"></div>',"</div>",'<div class="layui-table-body">',z,"</div>","</div>","{{# }; }}","</div>","{{# if(d.data.totalRow){ }}",'<div class="layui-table-total">','<table cellspacing="0" cellpadding="0" border="0" class="layui-table" ','{{# if(d.data.skin){ }}lay-skin="{{d.data.skin}}"{{# } }} {{# if(d.data.size){ }}lay-size="{{d.data.size}}"{{# } }} {{# if(d.data.even){ }}lay-even{{# } }}>','<tbody><tr><td><div class="layui-table-cell" style="visibility: hidden;">Total</div></td></tr></tbody>',"</table>","</div>","{{# } }}","{{# if(d.data.page){ }}",'<div class="layui-table-page">','<div id="layui-table-page{{d.index}}"></div>',"</div>","{{# } }}","<style>","{{# layui.each(d.data.cols, function(i1, item1){","layui.each(item1, function(i2, item2){ }}",".laytable-cell-{{d.index}}-{{i1}}-{{i2}}{ ","{{# if(item2.width){ }}","width: {{item2.width}}px;","{{# } }}"," }","{{# });","}); }}","</style>","</div>"].join(""),R=t(window),F=t(document),I=function(e){var i=this;i.index=++d.index,i.config=t.extend({},i.config,d.config,e),i.render()};I.prototype.config={limit:10,loading:!0,cellMinWidth:60,defaultToolbar:["filter","exports","print"],autoSort:!0,text:{none:"鏃犳暟鎹�"}},I.prototype.render=function(){var e=this,a=e.config;if(a.elem=t(a.elem),a.where=a.where||{},a.id=a.id||a.elem.attr("id")||e.index,a.request=t.extend({pageName:"page",limitName:"limit"},a.request),a.response=t.extend({statusName:"code",statusCode:0,msgName:"msg",dataName:"data",countName:"count"},a.response),"object"==typeof a.page&&(a.limit=a.page.limit||a.limit,a.limits=a.page.limits||a.limits,e.page=a.page.curr=a.page.curr||1,delete a.page.elem,delete a.page.jump),!a.elem[0])return e;a.height&&/^full-\d+$/.test(a.height)&&(e.fullHeightGap=a.height.split("-")[1],a.height=R.height()-e.fullHeightGap),e.setInit();var l=a.elem,n=l.next("."+v),o=e.elem=t(i(H).render({VIEW_CLASS:v,data:a,index:e.index}));if(a.index=e.index,e.key=a.id||a.index,n[0]&&n.remove(),l.after(o),e.layTool=o.find(m),e.layBox=o.find(g),e.layHeader=o.find(x),e.layMain=o.find(C),e.layBody=o.find(k),e.layFixed=o.find(w),e.layFixLeft=o.find(T),e.layFixRight=o.find(A),e.layTotal=o.find(L),e.layPage=o.find(N),e.renderToolbar(),e.fullSize(),a.cols.length>1){var r=e.layFixed.find(x).find("th");r.height(e.layHeader.height()-1-parseFloat(r.css("padding-top"))-parseFloat(r.css("padding-bottom")))}e.pullData(e.page),e.events()},I.prototype.initOpts=function(e){var t=this,i=(t.config,{checkbox:48,radio:48,space:15,numbers:40});e.checkbox&&(e.type="checkbox"),e.space&&(e.type="space"),e.type||(e.type="normal"),"normal"!==e.type&&(e.unresize=!0,e.width=e.width||i[e.type])},I.prototype.setInit=function(e){var t=this,i=t.config;return i.clientWidth=i.width||function(){var e=function(t){var a,l;t=t||i.elem.parent(),a=t.width();try{l="none"===t.css("display")}catch(n){}return!t[0]||a&&!l?a:e(t.parent())};return e()}(),"width"===e?i.clientWidth:void layui.each(i.cols,function(e,a){layui.each(a,function(l,n){if(!n)return void a.splice(l,1);if(n.key=e+"-"+l,n.hide=n.hide||!1,n.colGroup||n.colspan>1){var o=0;layui.each(i.cols[e+1],function(t,i){i.HAS_PARENT||o>1&&o==n.colspan||(i.HAS_PARENT=!0,i.parentKey=e+"-"+l,o+=parseInt(i.colspan>1?i.colspan:1))}),n.colGroup=!0}t.initOpts(n)})})},I.prototype.renderToolbar=function(){var e=this,a=e.config,l=['<div class="layui-inline" lay-event="add"><i class="layui-icon layui-icon-add-1"></i></div>','<div class="layui-inline" lay-event="update"><i class="layui-icon layui-icon-edit"></i></div>','<div class="layui-inline" lay-event="delete"><i class="layui-icon layui-icon-delete"></i></div>'].join(""),n=e.layTool.find(".layui-table-tool-temp");if("default"===a.toolbar)n.html(l);else if("string"==typeof a.toolbar){var o=t(a.toolbar).html()||"";o&&n.html(i(o).render(a))}var r={filter:{title:"绛涢�夊垪",layEvent:"LAYTABLE_COLS",icon:"layui-icon-cols"},exports:{title:"瀵煎嚭",layEvent:"LAYTABLE_EXPORT",icon:"layui-icon-export"},print:{title:"鎵撳嵃",layEvent:"LAYTABLE_PRINT",icon:"layui-icon-print"}},d=[];"object"==typeof a.defaultToolbar&&layui.each(a.defaultToolbar,function(e,t){var i=r[t];i&&d.push('<div class="layui-inline" title="'+i.title+'" lay-event="'+i.layEvent+'"><i class="layui-icon '+i.icon+'"></i></div>')}),e.layTool.find(".layui-table-tool-self").html(d.join(""))},I.prototype.setParentCol=function(e,t){var i=this,a=i.config,l=i.layHeader.find('th[data-key="'+a.index+"-"+t+'"]'),n=parseInt(l.attr("colspan"))||0;if(l[0]){var o=t.split("-"),r=a.cols[o[0]][o[1]];e?n--:n++,l.attr("colspan",n),l[n<1?"addClass":"removeClass"](f),r.colspan=n,r.hide=n<1;var d=l.data("parentkey");d&&i.setParentCol(e,d)}},I.prototype.setColsPatch=function(){var e=this,t=e.config;layui.each(t.cols,function(t,i){layui.each(i,function(t,i){i.hide&&e.setParentCol(i.hide,i.parentKey)})})},I.prototype.setColsWidth=function(){var e=this,t=e.config,i=0,a=0,l=0,n=0,o=e.setInit("width");e.eachCols(function(e,t){t.hide||i++}),o=o-function(){return"line"===t.skin||"nob"===t.skin?2:i+1}()-e.getScrollWidth(e.layMain[0])-1;var r=function(e){layui.each(t.cols,function(i,r){layui.each(r,function(i,d){var c=0,s=d.minWidth||t.cellMinWidth;return d?void(d.colGroup||d.hide||(e?l&&l<s&&(a--,c=s):(c=d.width||0,/\d+%$/.test(c)?(c=Math.floor(parseFloat(c)/100*o),c<s&&(c=s)):c||(d.width=c=0,a++)),d.hide&&(c=0),n+=c)):void r.splice(i,1)})}),o>n&&a&&(l=(o-n)/a)};r(),r(!0),e.autoColNums=a,e.eachCols(function(i,a){var n=a.minWidth||t.cellMinWidth;a.colGroup||a.hide||(0===a.width?e.getCssRule(t.index+"-"+a.key,function(e){e.style.width=Math.floor(l>=n?l:n)+"px"}):/\d+%$/.test(a.width)&&e.getCssRule(t.index+"-"+a.key,function(e){e.style.width=Math.floor(parseFloat(a.width)/100*o)+"px"}))});var d=e.layMain.width()-e.getScrollWidth(e.layMain[0])-e.layMain.children("table").outerWidth();if(e.autoColNums&&d>=-i&&d<=i){var c=function(t){var i;return t=t||e.layHeader.eq(0).find("thead th:last-child"),i=t.data("field"),!i&&t.prev()[0]?c(t.prev()):t},s=c(),u=s.data("key");e.getCssRule(u,function(t){var i=t.style.width||s.outerWidth();t.style.width=parseFloat(i)+d+"px",e.layMain.height()-e.layMain.prop("clientHeight")>0&&(t.style.width=parseFloat(t.style.width)-1+"px")})}e.loading(!0)},I.prototype.resize=function(){var e=this;e.fullSize(),e.setColsWidth(),e.scrollPatch()},I.prototype.reload=function(e){var i=this;e=e||{},delete i.haveInit,e.data&&e.data.constructor===Array&&delete i.config.data,i.config=t.extend(!0,{},i.config,e),i.render()},I.prototype.errorView=function(e){var i=this,a=i.layMain.find("."+p),l=t('<div class="'+p+'">'+(e||"Error")+"</div>");a[0]&&(i.layNone.remove(),a.remove()),i.layFixed.addClass(f),i.layMain.find("tbody").html(""),i.layMain.append(i.layNone=l),d.cache[i.key]=[]},I.prototype.page=1,I.prototype.pullData=function(e){var i=this,a=i.config,l=a.request,n=a.response,o=function(){"object"==typeof a.initSort&&i.sort(a.initSort.field,a.initSort.type)};if(i.startTime=(new Date).getTime(),a.url){var r={};r[l.pageName]=e,r[l.limitName]=a.limit;var d=t.extend(r,a.where);a.contentType&&0==a.contentType.indexOf("application/json")&&(d=JSON.stringify(d)),i.loading(),t.ajax({type:a.method||"get",url:a.url,contentType:a.contentType,data:d,dataType:"json",headers:a.headers||{},success:function(t){"function"==typeof a.parseData&&(t=a.parseData(t)||t),t[n.statusName]!=n.statusCode?(i.renderForm(),i.errorView(t[n.msgName]||'杩斿洖鐨勬暟鎹笉绗﹀悎瑙勮寖锛屾纭殑鎴愬姛鐘舵�佺爜搴斾负锛�"'+n.statusName+'": '+n.statusCode)):(i.renderData(t,e,t[n.countName]),o(),a.time=(new Date).getTime()-i.startTime+" ms"),i.setColsWidth(),"function"==typeof a.done&&a.done(t,e,t[n.countName])},error:function(e,t){i.errorView("鏁版嵁鎺ュ彛璇锋眰寮傚父锛�"+t),i.renderForm(),i.setColsWidth()}})}else if(a.data&&a.data.constructor===Array){var c={},s=e*a.limit-a.limit;c[n.dataName]=a.data.concat().splice(s,a.limit),c[n.countName]=a.data.length,i.renderData(c,e,c[n.countName]),o(),i.setColsWidth(),"function"==typeof a.done&&a.done(c,e,c[n.countName])}},I.prototype.eachCols=function(e){var t=this;return d.eachCols(null,e,t.config.cols),t},I.prototype.renderData=function(e,n,o,r){var c=this,s=c.config,y=e[s.response.dataName]||[],h=[],v=[],m=[],g=function(){var e;return!r&&c.sortKey?c.sort(c.sortKey.field,c.sortKey.sort,!0):(layui.each(y,function(a,l){var o=[],y=[],p=[],g=a+s.limit*(n-1)+1;0!==l.length&&(r||(l[d.config.indexName]=a),c.eachCols(function(n,r){var c=r.field||n,h=s.index+"-"+r.key,v=l[c];if(void 0!==v&&null!==v||(v=""),!r.colGroup){var m=['<td data-field="'+c+'" data-key="'+h+'" '+function(){var e=[];return r.edit&&e.push('data-edit="'+r.edit+'"'),r.align&&e.push('align="'+r.align+'"'),r.templet&&e.push('data-content="'+v+'"'),r.toolbar&&e.push('data-off="true"'),r.event&&e.push('lay-event="'+r.event+'"'),r.style&&e.push('style="'+r.style+'"'),r.minWidth&&e.push('data-minwidth="'+r.minWidth+'"'),e.join(" ")}()+' class="'+function(){var e=[];return r.hide&&e.push(f),r.field||e.push("layui-table-col-special"),e.join(" ")}()+'">','<div class="layui-table-cell laytable-cell-'+function(){return"normal"===r.type?h:h+" laytable-cell-"+r.type}()+'">'+function(){var n=t.extend(!0,{LAY_INDEX:g},l),o=d.config.checkName;switch(r.type){case"checkbox":return'<input type="checkbox" name="layTableCheckbox" lay-skin="primary" '+function(){return r[o]?(l[o]=r[o],r[o]?"checked":""):n[o]?"checked":""}()+">";case"radio":return n[o]&&(e=a),'<input type="radio" name="layTableRadio_'+s.index+'" '+(n[o]?"checked":"")+' lay-type="layTableRadio">';case"numbers":return g}return r.toolbar?i(t(r.toolbar).html()||"").render(n):u(r,v,n)}(),"</div></td>"].join("");o.push(m),r.fixed&&"right"!==r.fixed&&y.push(m),"right"===r.fixed&&p.push(m)}}),h.push('<tr data-index="'+a+'">'+o.join("")+"</tr>"),v.push('<tr data-index="'+a+'">'+y.join("")+"</tr>"),m.push('<tr data-index="'+a+'">'+p.join("")+"</tr>"))}),c.layBody.scrollTop(0),c.layMain.find("."+p).remove(),c.layMain.find("tbody").html(h.join("")),c.layFixLeft.find("tbody").html(v.join("")),c.layFixRight.find("tbody").html(m.join("")),c.renderForm(),"number"==typeof e&&c.setThisRowChecked(e),c.syncCheckAll(),c.haveInit?c.scrollPatch():setTimeout(function(){c.scrollPatch()},50),c.haveInit=!0,l.close(c.tipsIndex),s.HAS_SET_COLS_PATCH||c.setColsPatch(),void(s.HAS_SET_COLS_PATCH=!0))};return d.cache[c.key]=y,c.layPage[0==o||0===y.length&&1==n?"addClass":"removeClass"](f),r?g():0===y.length?(c.renderForm(),c.errorView(s.text.none)):(c.layFixed.removeClass(f),g(),c.renderTotal(y),void(s.page&&(s.page=t.extend({elem:"layui-table-page"+s.index,count:o,limit:s.limit,limits:s.limits||[10,20,30,40,50,60,70,80,90],groups:3,layout:["prev","page","next","skip","count","limit"],prev:'<i class="layui-icon">&#xe603;</i>',next:'<i class="layui-icon">&#xe602;</i>',jump:function(e,t){t||(c.page=e.curr,s.limit=e.limit,c.pullData(e.curr))}},s.page),s.page.count=o,a.render(s.page))))},I.prototype.renderTotal=function(e){var t=this,i=t.config,a={};if(i.totalRow){layui.each(e,function(e,i){0!==i.length&&t.eachCols(function(e,t){var l=t.field||e,n=i[l];t.totalRow&&(a[l]=(a[l]||0)+(parseFloat(n)||0))})});var l=[];t.eachCols(function(e,t){var n=t.field||e,o=['<td data-field="'+n+'" data-key="'+i.index+"-"+t.key+'" '+function(){var e=[];return t.align&&e.push('align="'+t.align+'"'),t.style&&e.push('style="'+t.style+'"'),t.minWidth&&e.push('data-minwidth="'+t.minWidth+'"'),e.join(" ")}()+' class="'+function(){var e=[];return t.hide&&e.push(f),t.field||e.push("layui-table-col-special"),e.join(" ")}()+'">','<div class="layui-table-cell laytable-cell-'+function(){var e=i.index+"-"+t.key;return"normal"===t.type?e:e+" laytable-cell-"+t.type}()+'">'+function(){var e=t.totalRowText||"";return t.totalRow?parseFloat(a[n]).toFixed(2)||e:e}(),"</div></td>"].join("");l.push(o)}),t.layTotal.find("tbody").html("<tr>"+l.join("")+"</tr>")}},I.prototype.getColElem=function(e,t){var i=this,a=i.config;return e.eq(0).find(".laytable-cell-"+(a.index+"-"+t)+":eq(0)")},I.prototype.renderForm=function(e){n.render(e,"LAY-table-"+this.index)},I.prototype.setThisRowChecked=function(e){var t=this,i=(t.config,"layui-table-click"),a=t.layBody.find('tr[data-index="'+e+'"]');a.addClass(i).siblings("tr").removeClass(i)},I.prototype.sort=function(e,i,a,l){var n,r,c=this,s={},u=c.config,h=u.elem.attr("lay-filter"),f=d.cache[c.key];"string"==typeof e&&c.layHeader.find("th").each(function(i,a){var l=t(this),o=l.data("field");if(o===e)return e=l,n=o,!1});try{var n=n||e.data("field"),p=e.data("key");if(c.sortKey&&!a&&n===c.sortKey.field&&i===c.sortKey.sort)return;var v=c.layHeader.find("th .laytable-cell-"+p).find(S);c.layHeader.find("th").find(S).removeAttr("lay-sort"),v.attr("lay-sort",i||null),c.layFixed.find("th")}catch(m){return o.error("Table modules: Did not match to field")}c.sortKey={field:n,sort:i},u.autoSort&&("asc"===i?r=layui.sort(f,n):"desc"===i?r=layui.sort(f,n,!0):(r=layui.sort(f,d.config.indexName),delete c.sortKey)),s[u.response.dataName]=r||f,c.renderData(s,c.page,c.count,!0),l&&layui.event.call(e,y,"sort("+h+")",{field:n,type:i})},I.prototype.loading=function(e){var i=this,a=i.config;a.loading&&(e?(i.layInit&&i.layInit.remove(),delete i.layInit,i.layBox.find(b).remove()):(i.layInit=t(['<div class="layui-table-init">','<i class="layui-icon layui-icon-loading layui-anim layui-anim-rotate layui-anim-loop"></i>',"</div>"].join("")),i.layBox.append(i.layInit)))},I.prototype.setCheckData=function(e,t){var i=this,a=i.config,l=d.cache[i.key];l[e]&&l[e].constructor!==Array&&(l[e][a.checkName]=t)},I.prototype.syncCheckAll=function(){var e=this,t=e.config,i=e.layHeader.find('input[name="layTableCheckbox"]'),a=function(i){return e.eachCols(function(e,a){"checkbox"===a.type&&(a[t.checkName]=i)}),i};i[0]&&(d.checkStatus(e.key).isAll?(i[0].checked||(i.prop("checked",!0),e.renderForm("checkbox")),a(!0)):(i[0].checked&&(i.prop("checked",!1),e.renderForm("checkbox")),a(!1)))},I.prototype.getCssRule=function(e,t){var i=this,a=i.elem.find("style")[0],l=a.sheet||a.styleSheet||{},n=l.cssRules||l.rules;layui.each(n,function(i,a){if(a.selectorText===".laytable-cell-"+e)return t(a),!0})},I.prototype.fullSize=function(){var e,t=this,i=t.config,a=i.height;t.fullHeightGap&&(a=R.height()-t.fullHeightGap,a<135&&(a=135),t.elem.css("height",a)),a&&(e=parseFloat(a)-(t.layHeader.outerHeight()||38),i.toolbar&&(e-=t.layTool.outerHeight()||50),i.totalRow&&(e-=t.layTotal.outerHeight()||40),i.page&&(e-=t.layPage.outerHeight()||41),t.layMain.css("height",e-2))},I.prototype.getScrollWidth=function(e){var t=0;return e?t=e.offsetWidth-e.clientWidth:(e=document.createElement("div"),e.style.width="100px",e.style.height="100px",e.style.overflowY="scroll",document.body.appendChild(e),t=e.offsetWidth-e.clientWidth,document.body.removeChild(e)),t},I.prototype.scrollPatch=function(){var e=this,i=e.layMain.children("table"),a=e.layMain.width()-e.layMain.prop("clientWidth"),l=e.layMain.height()-e.layMain.prop("clientHeight"),n=(e.getScrollWidth(e.layMain[0]),i.outerWidth()-e.layMain.width()),o=function(e){if(a&&l){if(e=e.eq(0),!e.find(".layui-table-patch")[0]){var i=t('<th class="layui-table-patch"><div class="layui-table-cell"></div></th>');i.find("div").css({width:a}),e.find("tr").append(i)}}else e.find(".layui-table-patch").remove()};o(e.layHeader),o(e.layTotal);var r=e.layMain.height(),d=r-l;e.layFixed.find(k).css("height",i.height()>=d?d:"auto"),e.layFixRight[n>0?"removeClass":"addClass"](f),e.layFixRight.css("right",a-1)},I.prototype.events=function(){var e,a=this,o=a.config,c=t("body"),s={},u=a.layHeader.find("th"),h=".layui-table-cell",p=o.elem.attr("lay-filter");a.layTool.on("click","*[lay-event]",function(e){var i=t(this),c=i.attr("lay-event"),s=function(e){var l=t(e.list),n=t('<ul class="layui-table-tool-panel"></ul>');n.html(l),o.height&&n.css("max-height",o.height-(a.layTool.outerHeight()||50)),i.find(".layui-table-tool-panel")[0]||i.append(n),a.renderForm(),n.on("click",function(e){layui.stope(e)}),e.done&&e.done(n,l)};switch(layui.stope(e),F.trigger("table.tool.panel.remove"),l.close(a.tipsIndex),c){case"LAYTABLE_COLS":s({list:function(){var e=[];return a.eachCols(function(t,i){i.field&&"normal"==i.type&&e.push('<li><input type="checkbox" name="'+i.field+'" data-key="'+i.key+'" data-parentkey="'+(i.parentKey||"")+'" lay-skin="primary" '+(i.hide?"":"checked")+' title="'+(i.title||i.field)+'" lay-filter="LAY_TABLE_TOOL_COLS"></li>')}),e.join("")}(),done:function(){n.on("checkbox(LAY_TABLE_TOOL_COLS)",function(e){var i=t(e.elem),l=this.checked,n=i.data("key"),r=i.data("parentkey");layui.each(o.cols,function(e,t){layui.each(t,function(t,i){if(e+"-"+t===n){var d=i.hide;i.hide=!l,a.elem.find('*[data-key="'+o.index+"-"+n+'"]')[l?"removeClass":"addClass"](f),d!=i.hide&&a.setParentCol(!l,r),a.resize()}})})})}});break;case"LAYTABLE_EXPORT":r.ie?l.tips("瀵煎嚭鍔熻兘涓嶆敮鎸� IE锛岃鐢� Chrome 绛夐珮绾ф祻瑙堝櫒瀵煎嚭",this,{tips:3}):s({list:function(){return['<li data-type="csv">瀵煎嚭鍒� Csv 鏂囦欢</li>','<li data-type="xls">瀵煎嚭鍒� Excel 鏂囦欢</li>'].join("")}(),done:function(e,i){i.on("click",function(){var e=t(this).data("type");d.exportFile(o.id,null,e)})}});break;case"LAYTABLE_PRINT":var u=window.open("鎵撳嵃绐楀彛","_blank"),h=["<style>","body{font-size: 12px; color: #666;}","table{width: 100%; border-collapse: collapse; border-spacing: 0;}","th,td{line-height: 20px; padding: 9px 15px; border: 1px solid #ccc; text-align: left; font-size: 12px; color: #666;}","a{color: #666; text-decoration:none;}","*.layui-hide{display: none}","</style>"].join(""),v=t(a.layHeader.html());v.append(a.layMain.find("table").html()),v.append(a.layTotal.find("table").html()),v.find("th.layui-table-patch").remove(),v.find(".layui-table-col-special").remove(),u.document.write(h+v.prop("outerHTML")),u.document.close(),u.print(),u.close()}layui.event.call(this,y,"toolbar("+p+")",t.extend({event:c,config:o},{}))}),u.on("mousemove",function(e){var i=t(this),a=i.offset().left,l=e.clientX-a;i.data("unresize")||s.resizeStart||(s.allowResize=i.width()-l<=10,c.css("cursor",s.allowResize?"col-resize":""))}).on("mouseleave",function(){t(this);s.resizeStart||c.css("cursor","")}).on("mousedown",function(e){var i=t(this);if(s.allowResize){var l=i.data("key");e.preventDefault(),s.resizeStart=!0,s.offset=[e.clientX,e.clientY],a.getCssRule(l,function(e){var t=e.style.width||i.outerWidth();s.rule=e,s.ruleWidth=parseFloat(t),s.minWidth=i.data("minwidth")||o.cellMinWidth})}}),F.on("mousemove",function(t){if(s.resizeStart){if(t.preventDefault(),s.rule){var i=s.ruleWidth+t.clientX-s.offset[0];i<s.minWidth&&(i=s.minWidth),s.rule.style.width=i+"px",l.close(a.tipsIndex)}e=1}}).on("mouseup",function(t){s.resizeStart&&(s={},c.css("cursor",""),a.scrollPatch()),2===e&&(e=null)}),u.on("click",function(i){var l,n=t(this),o=n.find(S),r=o.attr("lay-sort");return o[0]&&1!==e?(l="asc"===r?"desc":"desc"===r?null:"asc",void a.sort(n,l,null,!0)):e=2}).find(S+" .layui-edge ").on("click",function(e){var i=t(this),l=i.index(),n=i.parents("th").eq(0).data("field");layui.stope(e),0===l?a.sort(n,"asc",null,!0):a.sort(n,"desc",null,!0)});var v=function(e){var l=t(this),n=l.parents("tr").eq(0).data("index"),o=a.layBody.find('tr[data-index="'+n+'"]'),r=d.cache[a.key]||[];return r=r[n]||{},t.extend({tr:o,data:d.clearCacheKey(r),del:function(){d.cache[a.key][n]=[],o.remove(),a.scrollPatch()},update:function(e){e=e||{},layui.each(e,function(e,l){if(e in r){var n,d=o.children('td[data-field="'+e+'"]');r[e]=l,a.eachCols(function(t,i){i.field==e&&i.templet&&(n=i.templet)}),d.children(h).html(function(){return n?function(){return"function"==typeof n?n(r):i(t(n).html()||l).render(r)}():l}()),d.data("content",l)}})}},e)};a.elem.on("click",'input[name="layTableCheckbox"]+',function(){var e=t(this).prev(),i=a.layBody.find('input[name="layTableCheckbox"]'),l=e.parents("tr").eq(0).data("index"),n=e[0].checked,o="layTableAllChoose"===e.attr("lay-filter");o?(i.each(function(e,t){t.checked=n,a.setCheckData(e,n)}),a.syncCheckAll(),a.renderForm("checkbox")):(a.setCheckData(l,n),a.syncCheckAll()),layui.event.call(e[0],y,"checkbox("+p+")",v.call(e[0],{checked:n,type:o?"all":"one"}))}),a.elem.on("click",'input[lay-type="layTableRadio"]+',function(){var e=t(this).prev(),i=e[0].checked,l=d.cache[a.key],n=e.parents("tr").eq(0).data("index");layui.each(l,function(e,t){n===e?t.LAY_CHECKED=!0:delete t.LAY_CHECKED}),a.setThisRowChecked(n),layui.event.call(this,y,"radio("+p+")",v.call(this,{checked:i}))}),a.layBody.on("mouseenter","tr",function(){var e=t(this),i=e.index();e.data("off")||a.layBody.find("tr:eq("+i+")").addClass(_)}).on("mouseleave","tr",function(){var e=t(this),i=e.index();e.data("off")||a.layBody.find("tr:eq("+i+")").removeClass(_)}).on("click","tr",function(){m.call(this,"row")}).on("dblclick","tr",function(){m.call(this,"rowDouble")});var m=function(e){var i=t(this);i.data("off")||layui.event.call(this,y,e+"("+p+")",v.call(i.children("td")[0]))};a.layBody.on("change","."+W,function(){var e=t(this),i=this.value,l=e.parent().data("field"),n=e.parents("tr").eq(0).data("index"),o=d.cache[a.key][n];o[l]=i,layui.event.call(this,y,"edit("+p+")",v.call(this,{value:i,field:l}))}).on("blur","."+W,function(){var e,l=t(this),n=this,o=l.parent().data("field"),r=l.parents("tr").eq(0).data("index"),c=d.cache[a.key][r];a.eachCols(function(t,i){i.field==o&&i.templet&&(e=i.templet)}),l.siblings(h).html(function(a){return e?function(){return"function"==typeof e?e(c):i(t(e).html()||n.value).render(c)}():a}(n.value)),l.parent().data("content",n.value),l.remove()}),a.layBody.on("click","td",function(e){var i=t(this),a=(i.data("field"),i.data("edit")),l=i.children(h);if(!i.data("off")&&a){var n=t('<input class="layui-input '+W+'">');return n[0].value=i.data("content")||l.text(),i.find("."+W)[0]||i.append(n),n.focus(),void layui.stope(e)}}).on("mouseenter","td",function(){b.call(this)}).on("mouseleave","td",function(){b.call(this,"hide")});var g="layui-table-grid-down",b=function(e){var i=t(this),a=i.children(h);if(!i.data("off"))if(e)i.find(".layui-table-grid-down").remove();else if(a.prop("scrollWidth")>a.outerWidth()){if(a.find("."+g)[0])return;i.append('<div class="'+g+'"><i class="layui-icon layui-icon-down"></i></div>')}};a.layBody.on("click","."+g,function(e){var i=t(this),n=i.parent(),d=n.children(h);a.tipsIndex=l.tips(['<div class="layui-table-tips-main" style="margin-top: -'+(d.height()+16)+"px;"+function(){return"sm"===o.size?"padding: 4px 15px; font-size: 12px;":"lg"===o.size?"padding: 14px 15px;":""}()+'">',d.html(),"</div>",'<i class="layui-icon layui-table-tips-c layui-icon-close"></i>'].join(""),d[0],{tips:[3,""],time:-1,anim:-1,maxWidth:r.ios||r.android?300:a.elem.width()/2,isOutAnim:!1,skin:"layui-table-tips",success:function(e,t){e.find(".layui-table-tips-c").on("click",function(){l.close(t)})}}),layui.stope(e)}),a.layBody.on("click","*[lay-event]",function(){var e=t(this),i=e.parents("tr").eq(0).data("index");layui.event.call(this,y,"tool("+p+")",v.call(this,{event:e.attr("lay-event")})),a.setThisRowChecked(i)}),a.layMain.on("scroll",function(){var e=t(this),i=e.scrollLeft(),n=e.scrollTop();a.layHeader.scrollLeft(i),a.layTotal.scrollLeft(i),a.layFixed.find(k).scrollTop(n),l.close(a.tipsIndex)}),F.on("click",function(){F.trigger("table.remove.tool.panel")}),F.on("table.remove.tool.panel",function(){t(".layui-table-tool-panel").remove()}),R.on("resize",function(){a.resize()})},d.init=function(e,i){i=i||{};var a=this,l=t(e?'table[lay-filter="'+e+'"]':h+"[lay-data]"),n="Table element property lay-data configuration item has a syntax error: ";return l.each(function(){var a=t(this),l=a.attr("lay-data");try{l=new Function("return "+l)()}catch(r){o.error(n+l)}var c=[],s=t.extend({elem:this,cols:[],data:[],skin:a.attr("lay-skin"),size:a.attr("lay-size"),even:"string"==typeof a.attr("lay-even")},d.config,i,l);e&&a.hide(),a.find("thead>tr").each(function(e){s.cols[e]=[],t(this).children().each(function(i){var a=t(this),l=a.attr("lay-data");try{l=new Function("return "+l)()}catch(r){return o.error(n+l)}var d=t.extend({title:a.text(),colspan:a.attr("colspan")||0,rowspan:a.attr("rowspan")||0},l);d.colspan<2&&c.push(d),s.cols[e].push(d)})}),a.find("tbody>tr").each(function(e){var i=t(this),a={};i.children("td").each(function(e,i){var l=t(this),n=l.data("field");if(n)return a[n]=l.html()}),layui.each(c,function(e,t){var l=i.children("td").eq(e);a[t.field]=l.html()}),s.data[e]=a}),d.render(s)}),a},c.that={},c.config={},d.eachCols=function(e,i,a){var l=c.config[e]||{},n=[],o=0;a=t.extend(!0,[],a||l.cols),layui.each(a,function(e,t){layui.each(t,function(t,i){if(i.colGroup){var l=0;o++,i.CHILD_COLS=[],layui.each(a[e+1],function(e,t){t.PARENT_COL_INDEX||l>1&&l==i.colspan||(t.PARENT_COL_INDEX=o,i.CHILD_COLS.push(t),l+=parseInt(t.colspan>1?t.colspan:1))})}i.PARENT_COL_INDEX||n.push(i)})});var r=function(e){layui.each(e||n,function(e,t){return t.CHILD_COLS?r(t.CHILD_COLS):void("function"==typeof i&&i(e,t))})};r()},d.checkStatus=function(e){var t=0,i=0,a=[],l=d.cache[e]||[];return layui.each(l,function(e,l){return l.constructor===Array?void i++:void(l[d.config.checkName]&&(t++,a.push(d.clearCacheKey(l))))}),{data:a,isAll:!!l.length&&t===l.length-i}},d.exportFile=function(e,t,i){t=t||d.clearCacheKey(d.cache[e]),i=i||"csv";var a=c.config[e]||{},l={csv:"text/csv",xls:"application/vnd.ms-excel"}[i],n=document.createElement("a");return r.ie?o.error("IE_NOT_SUPPORT_EXPORTS"):(n.href="data:"+l+";charset=utf-8,\ufeff"+encodeURIComponent(function(){var i=[],a=[];return layui.each(t,function(t,l){var n=[];"object"==typeof e?(layui.each(e,function(e,a){0==t&&i.push(a||"")}),layui.each(d.clearCacheKey(l),function(e,t){n.push('"'+(t||"")+'"')})):d.eachCols(e,function(e,a){a.field&&"normal"==a.type&&!a.hide&&(0==t&&i.push(a.title||""),n.push('"'+u(a,l[a.field],l,"text")+'"'))}),a.push(n.join(","))}),i.join(",")+"\r\n"+a.join("\r\n")}()),n.download=(a.title||"table_"+(a.index||""))+"."+i,document.body.appendChild(n),n.click(),void document.body.removeChild(n))},d.resize=function(e){if(e){var t=s(e);if(!t)return;c.that[e].resize()}else layui.each(c.that,function(){this.resize()})},d.reload=function(e,t){var i=s(e);if(i){var a=c.that[e];return a.reload(t),c.call(a)}},d.render=function(e){var t=new I(e);return c.call(t)},d.clearCacheKey=function(e){return e=t.extend({},e),delete e[d.config.checkName],delete e[d.config.indexName],e},d.init(),e(y,d)});
\ No newline at end of file
diff --git a/zy-acs-cv/src/main/webapp/static/layui/lay/modules/transfer.js b/zy-acs-cv/src/main/webapp/static/layui/lay/modules/transfer.js
new file mode 100644
index 0000000..3d19012
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/lay/modules/transfer.js
@@ -0,0 +1,2 @@
+/** layui-v2.5.4 MIT License By https://www.layui.com */
+ ;layui.define(["laytpl","form"],function(e){"use strict";var a=layui.$,t=layui.laytpl,n=layui.form,i="transfer",l={config:{},index:layui[i]?layui[i].index+1e4:0,set:function(e){var t=this;return t.config=a.extend({},t.config,e),t},on:function(e,a){return layui.onevent.call(this,i,e,a)}},r=function(){var e=this,a=e.config,t=a.id||e.index;return r.that[t]=e,r.config[t]=a,{config:a,reload:function(a){e.reload.call(e,a)},getData:function(){return e.getData.call(e)}}},c="layui-hide",o="layui-btn-disabled",d="layui-none",s="layui-transfer-box",u="layui-transfer-header",h="layui-transfer-search",f="layui-transfer-active",y="layui-transfer-data",p=function(e){return e=e||{},['<div class="layui-transfer-box" data-index="'+e.index+'">','<div class="layui-transfer-header">','<input type="checkbox" name="'+e.checkAllName+'" lay-filter="layTransferCheckbox" lay-type="all" lay-skin="primary" title="{{ d.data.title['+e.index+"] || 'list"+(e.index+1)+"' }}\">","</div>","{{# if(d.data.showSearch){ }}",'<div class="layui-transfer-search">','<i class="layui-icon layui-icon-search"></i>','<input type="input" class="layui-input" placeholder="鍏抽敭璇嶆悳绱�">',"</div>","{{# } }}",'<ul class="layui-transfer-data"></ul>',"</div>"].join("")},v=['<div class="layui-transfer layui-form layui-border-box" lay-filter="LAY-transfer-{{ d.index }}">',p({index:0,checkAllName:"layTransferLeftCheckAll"}),'<div class="layui-transfer-active">','<button type="button" class="layui-btn layui-btn-sm layui-btn-primary layui-btn-disabled" data-index="0">','<i class="layui-icon layui-icon-next"></i>',"</button>",'<button type="button" class="layui-btn layui-btn-sm layui-btn-primary layui-btn-disabled" data-index="1">','<i class="layui-icon layui-icon-prev"></i>',"</button>","</div>",p({index:1,checkAllName:"layTransferRightCheckAll"}),"</div>"].join(""),x=function(e){var t=this;t.index=++l.index,t.config=a.extend({},t.config,l.config,e),t.render()};x.prototype.config={title:["鍒楄〃涓�","鍒楄〃浜�"],width:200,height:360,data:[],value:[],showSearch:!1,id:"",text:{none:"鏃犳暟鎹�",searchNone:"鏃犲尮閰嶆暟鎹�"}},x.prototype.reload=function(e){var t=this;layui.each(e,function(e,a){a.constructor===Array&&delete t.config[e]}),t.config=a.extend(!0,{},t.config,e),t.render()},x.prototype.render=function(){var e=this,n=e.config,i=e.elem=a(t(v).render({data:n,index:e.index})),l=n.elem=a(n.elem);l[0]&&(n.data=n.data||[],n.value=n.value||[],e.key=n.id||e.index,l.html(e.elem),e.layBox=e.elem.find("."+s),e.layHeader=e.elem.find("."+u),e.laySearch=e.elem.find("."+h),e.layData=i.find("."+y),e.layBtn=i.find("."+f+" .layui-btn"),e.layBox.css({width:n.width,height:n.height}),e.layData.css({height:function(){return n.height-e.layHeader.outerHeight()-e.laySearch.outerHeight()-2}()}),e.renderData(),e.events())},x.prototype.renderData=function(){var e=this,a=(e.config,[{checkName:"layTransferLeftCheck",views:[]},{checkName:"layTransferRightCheck",views:[]}]);e.parseData(function(e){var t=e.selected?1:0,n=["<li>",'<input type="checkbox" name="'+a[t].checkName+'" lay-skin="primary" lay-filter="layTransferCheckbox" title="'+e.title+'"'+(e.disabled?" disabled":"")+(e.checked?" checked":"")+' value="'+e.value+'">',"</li>"].join("");a[t].views.push(n),delete e.selected}),e.layData.eq(0).html(a[0].views.join("")),e.layData.eq(1).html(a[1].views.join("")),e.renderCheckBtn()},x.prototype.renderForm=function(e){n.render(e,"LAY-transfer-"+this.index)},x.prototype.renderCheckBtn=function(e){var t=this,n=t.config;e=e||{},t.layBox.each(function(i){var l=a(this),r=l.find("."+y),d=l.find("."+u).find('input[type="checkbox"]'),s=r.find('input[type="checkbox"]'),h=0,f=!1;if(s.each(function(){var e=a(this).data("hide");(this.checked||this.disabled||e)&&h++,this.checked&&!e&&(f=!0)}),d.prop("checked",f&&h===s.length),t.layBtn.eq(i)[f?"removeClass":"addClass"](o),!e.stopNone){var p=r.children("li:not(."+c+")").length;t.noneView(r,p?"":n.text.none)}}),t.renderForm("checkbox")},x.prototype.noneView=function(e,t){var n=a('<p class="layui-none">'+(t||"")+"</p>");e.find("."+d)[0]&&e.find("."+d).remove(),t.replace(/\s/g,"")&&e.append(n)},x.prototype.setValue=function(){var e=this,t=e.config,n=[];return e.layBox.eq(1).find("."+y+' input[type="checkbox"]').each(function(){var e=a(this).data("hide");e||n.push(this.value)}),t.value=n,e},x.prototype.parseData=function(e){var t=this,n=t.config,i=[];return layui.each(n.data,function(t,l){l=("function"==typeof n.parseData?n.parseData(l):l)||l,i.push(l=a.extend({},l)),layui.each(n.value,function(e,a){a==l.value&&(l.selected=!0)}),e&&e(l)}),n.data=i,t},x.prototype.getData=function(e){var a=this,t=a.config,n=[];return layui.each(e||t.value,function(e,a){layui.each(t.data,function(e,t){delete t.selected,a==t.value&&n.push(t)})}),n},x.prototype.events=function(){var e=this,t=e.config;e.elem.on("click",'input[lay-filter="layTransferCheckbox"]+',function(){var t=a(this).prev(),n=t[0].checked,i=t.parents("."+s).eq(0).find("."+y);t[0].disabled||("all"===t.attr("lay-type")&&i.find('input[type="checkbox"]').each(function(){this.disabled||(this.checked=n)}),e.renderCheckBtn({stopNone:!0}))}),e.layBtn.on("click",function(){var n=a(this),i=n.data("index"),l=e.layBox.eq(i),r=[];if(!n.hasClass(o)){e.layBox.eq(i).each(function(t){var n=a(this),i=n.find("."+y);i.children("li").each(function(){var t=a(this),n=t.find('input[type="checkbox"]'),i=n.data("hide");n[0].checked&&!i&&(n[0].checked=!1,l.siblings("."+s).find("."+y).append(t.clone()),t.remove(),r.push(n[0].value)),e.setValue()})}),e.renderCheckBtn();var c=l.siblings("."+s).find("."+h+" input");""===c.val()||c.trigger("keyup"),t.onchange&&t.onchange(e.getData(r),i)}}),e.laySearch.find("input").on("keyup",function(){var n=this.value,i=a(this).parents("."+h).eq(0).siblings("."+y),l=i.children("li");l.each(function(){var e=a(this),t=e.find('input[type="checkbox"]'),i=t[0].title.indexOf(n)!==-1;e[i?"removeClass":"addClass"](c),t.data("hide",!i)}),e.renderCheckBtn();var r=l.length===i.children("li."+c).length;e.noneView(i,r?t.text.searchNone:"")})},r.that={},r.config={},l.reload=function(e,a){var t=r.that[e];return t.reload(a),r.call(t)},l.getData=function(e){var a=r.that[e];return a.getData()},l.render=function(e){var a=new x(e);return r.call(a)},e(i,l)});
\ No newline at end of file
diff --git a/zy-acs-cv/src/main/webapp/static/layui/lay/modules/tree.js b/zy-acs-cv/src/main/webapp/static/layui/lay/modules/tree.js
new file mode 100644
index 0000000..07d3a9f
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/lay/modules/tree.js
@@ -0,0 +1,2 @@
+/** layui-v2.5.4 MIT License By https://www.layui.com */
+ ;layui.define("form",function(e){"use strict";var i=layui.$,a=layui.form,n="tree",r={config:{},index:layui[n]?layui[n].index+1e4:0,set:function(e){var a=this;return a.config=i.extend({},a.config,e),a},on:function(e,i){return layui.onevent.call(this,n,e,i)}},l=function(){var e=this,i=e.config,a=i.id||e.index;return l.that[a]=e,l.config[a]=i,{config:i,reload:function(i){e.reload.call(e,i)},getChecked:function(){return e.getChecked.call(e)},setChecked:function(i){return e.setChecked.call(e,i)}}},t="layui-hide",d="layui-disabled",s="layui-tree-set",c="layui-tree-iconClick",o="layui-icon-addition",h="layui-icon-subtraction",u="layui-tree-entry",f="layui-tree-main",p="layui-tree-txt",y="layui-tree-pack",v="layui-tree-spread",C="layui-tree-setLineShort",m="layui-tree-showLine",k="layui-tree-lineExtend",g=function(e){var a=this;a.index=++r.index,a.config=i.extend({},a.config,r.config,e),a.render()};g.prototype.config={data:[],showCheckbox:!1,showLine:!0,accordion:!1,onlyIconControl:!1,isJump:!1,edit:!1,text:{defaultNodeName:"鏈懡鍚�",none:"鏃犳暟鎹�"}},g.prototype.reload=function(e){var a=this;layui.each(e,function(e,i){i.constructor===Array&&delete a.config[e]}),a.config=i.extend(!0,{},a.config,e),a.render()},g.prototype.render=function(){var e=this,a=e.config,n=i('<div class="layui-tree'+(a.showCheckbox?" layui-form":"")+(a.showLine?" layui-tree-line":"")+'" lay-filter="LAY-tree-'+e.index+'"></div>');e.tree(n);var r=a.elem=i(a.elem);if(r[0]){if(a.showSearch&&n.prepend('<input type="text" class="layui-input layui-tree-search" placeholder="璇疯緭鍏ュ叧閿瓧杩涜杩囨护">'),e.key=a.id||e.index,e.elem=n,e.elemNone=i('<div class="layui-tree-emptyText">'+a.text.none+"</div>"),r.html(e.elem),0==e.elem.find(".layui-tree-set").length)return e.elem.append(e.elemNone);a.drag&&e.drag(),a.showCheckbox&&e.renderForm("checkbox"),e.elem.find(".layui-tree-set").each(function(){var e=i(this);e.parent(".layui-tree-pack")[0]||e.addClass("layui-tree-setHide"),!e.next()[0]&&e.parents(".layui-tree-pack").eq(1).hasClass("layui-tree-lineExtend")&&e.addClass(C),e.next()[0]||e.parents(".layui-tree-set").eq(0).next()[0]||e.addClass(C)}),e.events()}},g.prototype.renderForm=function(e){a.render(e,"LAY-tree-"+this.index)},g.prototype.tree=function(e,a){var n=this,r=n.config,l=a||r.data;layui.each(l,function(a,l){var c=l.children&&l.children.length>0,o=i('<div class="layui-tree-pack" '+(l.spread?'style="display: block;"':"")+'"></div>'),h=i(['<div data-id="'+l.id+'" class="layui-tree-set'+(l.spread?" layui-tree-spread":"")+(l.checked?" layui-tree-checkedFirst":"")+'">',"<div "+(r.drag&&!l.fixed?'draggable="true"':"")+' class="layui-tree-entry">','<div class="layui-tree-main">',function(){return r.showLine?c?'<span class="layui-tree-iconClick layui-tree-icon"><i class="layui-icon '+(l.spread?"layui-icon-subtraction":"layui-icon-addition")+'"></i></span>':'<span class="layui-tree-iconClick"><i class="layui-icon layui-icon-file"></i></span>':'<span class="layui-tree-iconClick"><i class="layui-tree-iconArrow '+(c?"":t)+'"></i></span>'}(),function(){return r.showCheckbox?'<input type="checkbox" name="layuiTreeCheck" lay-skin="primary" '+(l.disabled?"disabled":"")+'  value="'+l.id+'">':""}(),function(){return r.isJump&&l.href?'<a href="'+l.href+'" target="_blank" class="'+p+'">'+(l.title||l.label||r.text.defaultNodeName)+"</a>":'<span class="'+p+(l.disabled?" "+d:"")+'">'+(l.title||l.label||r.text.defaultNodeName)+"</span>"}(),"</div>",function(){if(!r.edit)return"";var e={add:'<i class="layui-icon layui-icon-add-1"  data-type="add"></i>',update:'<i class="layui-icon layui-icon-edit" data-type="update"></i>',del:'<i class="layui-icon layui-icon-delete" data-type="del"></i>'},i=['<div class="layui-btn-group layui-tree-btnGroup">'];return r.edit===!0&&(r.edit=["update","del"]),"object"==typeof r.edit?(layui.each(r.edit,function(a,n){i.push(e[n]||"")}),i.join("")+"</div>"):void 0}(),"</div></div>"].join(""));c&&(h.append(o),n.tree(o,l.children)),e.append(h),h.prev("."+s)[0]&&h.prev().children(".layui-tree-pack").addClass("layui-tree-showLine"),c||h.parent(".layui-tree-pack").addClass("layui-tree-lineExtend"),n.spread(h,l),r.showCheckbox&&n.checkClick(h,l),r.edit&&n.operate(h,l)})},g.prototype.spread=function(e,a){var n=this,r=n.config,l=e.children("."+u),t=l.children("."+f),C=l.find("."+c),m=l.find("."+p),k=r.onlyIconControl?C:t,g="";k.on("click",function(i){var a=e.children("."+y),n=k.children(".layui-icon")[0]?k.children(".layui-icon"):k.find(".layui-tree-icon").children(".layui-icon");if(a[0]){if(e.hasClass(v))e.removeClass(v),a.slideUp(200),n.removeClass(h).addClass(o);else if(e.addClass(v),a.slideDown(200),n.addClass(h).removeClass(o),r.accordion){var l=e.siblings("."+s);l.removeClass(v),l.children("."+y).slideUp(200),l.find(".layui-tree-icon").children(".layui-icon").removeClass(h).addClass(o)}}else g="normal"}),m.on("click",function(){var n=i(this);n.hasClass(d)||(g=e.hasClass(v)?r.onlyIconControl?"open":"close":r.onlyIconControl?"close":"open",r.click&&r.click({elem:e,state:g,data:a}))})},g.prototype.setCheckbox=function(e,i,a){var n=this,r=(n.config,a.prop("checked"));if("object"==typeof i.children||e.find("."+y)[0]){var l=e.find("."+y).find('input[name="layuiTreeCheck"]');l.each(function(){this.disabled||(this.checked=r)})}var t=function(e){if(e.parents("."+s)[0]){var i,a=e.parent("."+y),n=a.parent(),l=a.prev().find('input[name="layuiTreeCheck"]');r?l.prop("checked",r):(a.find('input[name="layuiTreeCheck"]').each(function(){this.checked&&(i=!0)}),i||l.prop("checked",!1)),t(n)}};t(e),n.renderForm("checkbox")},g.prototype.checkClick=function(e,a){var n=this,r=n.config,l=e.children("."+u),t=l.children("."+f);t.on("click",'input[name="layuiTreeCheck"]+',function(l){layui.stope(l);var t=i(this).prev(),d=t.prop("checked");t.prop("disabled")||(n.setCheckbox(e,a,t),r.oncheck&&r.oncheck({elem:e,checked:d,data:a}))})},g.prototype.operate=function(e,a){var n=this,r=n.config,l=e.children("."+u),d=l.children("."+f);l.children(".layui-tree-btnGroup").on("click",".layui-icon",function(l){layui.stope(l);var f=i(this).data("type"),g=e.children("."+y),x={data:a,type:f,elem:e};if("add"==f){g[0]||(r.showLine?(d.find("."+c).addClass("layui-tree-icon"),d.find("."+c).children(".layui-icon").addClass(o).removeClass("layui-icon-file")):d.find(".layui-tree-iconArrow").removeClass(t),e.append('<div class="layui-tree-pack"></div>'));var b=r.operate&&r.operate(x),w={};if(w.title=r.text.defaultNodeName,w.id=b,n.tree(e.children("."+y),[w]),r.showLine)if(g[0])g.hasClass(k)||g.addClass(k),e.find("."+y).each(function(){i(this).children("."+s).last().addClass(C)}),g.children("."+s).last().prev().hasClass(C)?g.children("."+s).last().prev().removeClass(C):g.children("."+s).last().removeClass(C),!e.parent("."+y)[0]&&e.next()[0]&&g.children("."+s).last().removeClass(C);else{var T=e.siblings("."+s),L=1,N=e.parent("."+y);layui.each(T,function(e,a){i(a).children("."+y)[0]||(L=0)}),1==L?(T.children("."+y).addClass(m),T.children("."+y).children("."+s).removeClass(C),e.children("."+y).addClass(m),N.removeClass(k),N.children("."+s).last().children("."+y).children("."+s).last().addClass(C)):e.children("."+y).children("."+s).addClass(C)}if(!r.showCheckbox)return;if(d.find('input[name="layuiTreeCheck"]')[0].checked){var A=e.children("."+y).children("."+s).last();A.find('input[name="layuiTreeCheck"]')[0].checked=!0}n.renderForm("checkbox")}else if("update"==f){var q=d.children("."+p).html();d.children("."+p).html(""),d.append('<input type="text" class="layui-tree-editInput">'),d.children(".layui-tree-editInput").val(q).focus();var F=function(e){var i=e.val().trim();i=i?i:r.text.defaultNodeName,e.remove(),d.children("."+p).html(i),x.data.title=i,r.operate&&r.operate(x)};d.children(".layui-tree-editInput").blur(function(){F(i(this))}),d.children(".layui-tree-editInput").on("keydown",function(e){13===e.keyCode&&(e.preventDefault(),F(i(this)))})}else{if(r.operate&&r.operate(x),x.status="remove",!e.prev("."+s)[0]&&!e.next("."+s)[0]&&!e.parent("."+y)[0])return e.remove(),void n.elem.append(n.elemNone);if(e.siblings("."+s).children("."+u)[0]){if(r.showCheckbox){var I=function(e){if(e.parents("."+s)[0]){var a=e.siblings("."+s).children("."+u),r=e.parent("."+y).prev(),l=r.find('input[name="layuiTreeCheck"]')[0],t=1,d=0;0==l.checked&&(a.each(function(e,a){var n=i(a).find('input[name="layuiTreeCheck"]')[0];0!=n.checked||n.disabled||(t=0),n.disabled||(d=1)}),1==t&&1==d&&(l.checked=!0,n.renderForm("checkbox"),I(r.parent("."+s))))}};I(e)}if(r.showLine){var T=e.siblings("."+s),L=1,N=e.parent("."+y);layui.each(T,function(e,a){i(a).children("."+y)[0]||(L=0)}),1==L?(g[0]||(N.removeClass(k),T.children("."+y).addClass(m),T.children("."+y).children("."+s).removeClass(C)),e.next()[0]?N.children("."+s).last().children("."+y).children("."+s).last().addClass(C):e.prev().children("."+y).children("."+s).last().addClass(C),e.next()[0]||e.parents("."+s)[1]||e.parents("."+s).eq(0).next()[0]||e.prev("."+s).addClass(C)):!e.next()[0]&&e.hasClass(C)&&e.prev().addClass(C)}}else{var H=e.parent("."+y).prev();if(r.showLine){H.find("."+c).removeClass("layui-tree-icon"),H.find("."+c).children(".layui-icon").removeClass(h).addClass("layui-icon-file");var S=H.parents("."+y).eq(0);S.addClass(k),S.children("."+s).each(function(){i(this).children("."+y).children("."+s).last().addClass(C)})}else H.find(".layui-tree-iconArrow").addClass(t);e.parents("."+s).eq(0).removeClass(v),e.parent("."+y).remove()}e.remove()}})},g.prototype.drag=function(){var e=this,a=e.config;e.elem.on("dragstart","."+u,function(){var e=i(this).parent("."+s),n=e.parents("."+s)[0]?e.parents("."+s).eq(0):"鏈壘鍒扮埗鑺傜偣";a.dragstart&&a.dragstart(e,n)}),e.elem.on("dragend","."+u,function(n){var n=n||event,r=n.clientY,l=i(this),d=l.parent("."+s),f=d.height(),p=d.offset().top,g=e.elem.find("."+s),x=e.elem.height(),b=e.elem.offset().top,w=x+b-13,T=d.parents("."+s)[0],L=d.next()[0];if(T)var N=d.parent("."+y),A=d.parents("."+s).eq(0),q=A.parent("."+y),F=A.offset().top,I=d.siblings(),H=A.children("."+y).children("."+s).length;var S=function(n){if(T||L||e.elem.children("."+s).last().children("."+y).children("."+s).last().addClass(C),!T)return void d.removeClass("layui-tree-setHide");if(1==H)a.showLine?(n.find("."+c).removeClass("layui-tree-icon"),n.find("."+c).children(".layui-icon").removeClass(h).addClass("layui-icon-file"),q.addClass(k),q.children("."+s).children("."+y).each(function(){i(this).children("."+s).last().addClass(C)})):n.find(".layui-tree-iconArrow").addClass(t),n.children("."+y).remove(),n.removeClass(v);else{if(a.showLine){var r=1;layui.each(I,function(e,a){i(a).children("."+y)[0]||(r=0)}),1==r?(d.children("."+y)[0]||(N.removeClass(k),I.children("."+y).addClass(m),I.children("."+y).children("."+s).removeClass(C)),N.children("."+s).last().children("."+y).children("."+s).last().addClass(C),L||n.parents("."+s)[0]||n.next()[0]||N.children("."+s).last().addClass(C)):!L&&d.hasClass(C)&&N.children("."+s).last().addClass(C)}if(a.showCheckbox){var l=function(a){if(a){if(!a.parents("."+s)[0])return}else if(!n[0])return;var r=a?a.siblings().children("."+u):I.children("."+u),t=a?a.parent("."+y).prev():N.prev(),d=t.find('input[name="layuiTreeCheck"]')[0],c=1,o=0;0==d.checked&&(r.each(function(e,a){var n=i(a).find('input[name="layuiTreeCheck"]')[0];0!=n.checked||n.disabled||(c=0),n.disabled||(o=1)}),1==c&&1==o&&(d.checked=!0,e.renderForm("checkbox"),l(t.parent("."+s)||n)))};l()}}};g.each(function(){if(0!=i(this).height()){if(r>p&&r<p+f)return void(a.dragend&&a.dragend("drag error"));if(1==H&&r>F&&r<p+f)return void(a.dragend&&a.dragend("drag error"));var n=i(this).offset().top;if(r>n&&r<n+15){if(i(this).children("."+y)[0]||(a.showLine?(i(this).find("."+c).eq(0).addClass("layui-tree-icon"),i(this).find("."+c).eq(0).children(".layui-icon").addClass(o).removeClass("layui-icon-file")):i(this).find(".layui-tree-iconArrow").removeClass(t),i(this).append('<div class="layui-tree-pack"></div>')),i(this).children("."+y).append(d),S(A),a.showLine){var l=i(this).children("."+y).children("."+s);if(d.children("."+y).children("."+s).last().addClass(C),1==l.length){var h=i(this).siblings("."+s),v=1,g=i(this).parent("."+y);layui.each(h,function(e,a){i(a).children("."+y)[0]||(v=0)}),1==v?(h.children("."+y).addClass(m),h.children("."+y).children("."+s).removeClass(C),i(this).children("."+y).addClass(m),g.removeClass(k),g.children("."+s).last().children("."+y).children("."+s).last().addClass(C).removeClass("layui-tree-setHide")):i(this).children("."+y).children("."+s).addClass(C).removeClass("layui-tree-setHide")}else d.prev("."+s).hasClass(C)?(d.prev("."+s).removeClass(C),d.addClass(C)):(d.removeClass("layui-tree-setLineShort layui-tree-setHide"),d.children("."+y)[0]?d.prev("."+s).children("."+y).children("."+s).last().removeClass(C):d.siblings("."+s).find("."+y).each(function(){i(this).children("."+s).last().addClass(C)})),i(this).next()[0]||d.addClass(C)}if(a.showCheckbox&&i(this).children("."+u).find('input[name="layuiTreeCheck"]')[0].checked){var x=d.children("."+u);x.find('input[name="layuiTreeCheck"]+').click()}return a.dragend&&a.dragend("drag success",d,i(this)),!1}if(r<n){if(i(this).before(d),S(A),a.showLine){var b=d.children("."+y),T=i(this).parents("."+s).eq(0),L=T.children("."+y).children("."+s).last();if(b[0]){d.removeClass(C),b.children("."+s).last().removeClass(C);var h=d.siblings("."+s),v=1;layui.each(h,function(e,a){i(a).children("."+y)[0]||(v=0)}),1==v?T[0]&&(h.children("."+y).addClass(m),h.children("."+y).children("."+s).removeClass(C),L.children("."+y).children("."+s).last().addClass(C).removeClass(m)):d.children("."+y).children("."+s).last().addClass(C),!T.parent("."+y)[0]&&T.next()[0]&&L.removeClass(C)}else T.hasClass(k)||T.addClass(k),T.find("."+y).each(function(){i(this).children("."+s).last().addClass(C)});T[0]||(d.addClass("layui-tree-setHide"),d.children("."+y).children("."+s).last().removeClass(C))}if(T[0]&&a.showCheckbox&&T.children("."+u).find('input[name="layuiTreeCheck"]')[0].checked){var x=d.children("."+u);x.find('input[name="layuiTreeCheck"]+').click()}return a.dragend&&a.dragend("鎷栨嫿鎴愬姛锛屾彃鍏ョ洰鏍囪妭鐐逛笂鏂�",d,i(this)),!1}if(r>w)return e.elem.children("."+s).last().children("."+y).addClass(m),e.elem.append(d),S(A),d.prev().children("."+y).children("."+s).last().removeClass(C),d.addClass("layui-tree-setHide"),d.children("."+y).children("."+s).last().addClass(C),a.dragend&&a.dragend("鎷栨嫿鎴愬姛锛屾彃鍏ユ渶澶栧眰鑺傜偣",d,e.elem),!1}})})},g.prototype.events=function(){var e=this,a=e.config,n=e.elem.find(".layui-tree-checkedFirst");layui.each(n,function(e,a){i(a).children("."+u).find('input[name="layuiTreeCheck"]+').trigger("click")}),e.elem.find(".layui-tree-search").on("keyup",function(){var n=i(this),r=n.val(),l=n.nextAll(),d=[];l.find("."+p).each(function(){var e=i(this).parents("."+u);if(i(this).html().indexOf(r)!=-1){d.push(i(this).parent());var a=function(e){e.addClass("layui-tree-searchShow"),e.parent("."+y)[0]&&a(e.parent("."+y).parent("."+s))};a(e.parent("."+s))}}),l.find("."+u).each(function(){var e=i(this).parent("."+s);e.hasClass("layui-tree-searchShow")||e.addClass(t)}),0==l.find(".layui-tree-searchShow").length&&e.elem.append(e.elemNone),a.onsearch&&a.onsearch({elem:d})}),e.elem.find(".layui-tree-search").on("keydown",function(){i(this).nextAll().find("."+u).each(function(){var e=i(this).parent("."+s);e.removeClass("layui-tree-searchShow "+t)}),i(".layui-tree-emptyText")[0]&&i(".layui-tree-emptyText").remove()})},g.prototype.getChecked=function(){var e=this,a=e.config,n=[],r=[];e.elem.find(".layui-form-checked").each(function(){n.push(i(this).prev()[0].value)});var l=function(e,a){layui.each(e,function(e,r){layui.each(n,function(e,n){if(r.id==n){var t=i.extend({},r);return delete t.children,a.push(t),r.children&&(t.children=[],l(r.children,t.children)),!0}})})};return l(i.extend({},a.data),r),r},g.prototype.setChecked=function(e){var a=this;a.config;a.elem.find("."+s).each(function(a,n){var r=i(this).data("id"),l=i(n).children("."+u).find('input[name="layuiTreeCheck"]'),t=l.next();if("number"==typeof e){if(r==e)return l[0].checked||t.click(),!1}else i.inArray(r,e)!=-1&&(l[0].checked||t.click())})},l.that={},l.config={},r.reload=function(e,i){var a=l.that[e];return a.reload(i),l.call(a)},r.getChecked=function(e){var i=l.that[e];return i.getChecked()},r.setChecked=function(e,i){var a=l.that[e];return a.setChecked(i)},r.render=function(e){var i=new g(e);return l.call(i)},e(n,r)});
\ No newline at end of file
diff --git a/zy-acs-cv/src/main/webapp/static/layui/lay/modules/upload.js b/zy-acs-cv/src/main/webapp/static/layui/lay/modules/upload.js
new file mode 100644
index 0000000..4dee81b
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/lay/modules/upload.js
@@ -0,0 +1,2 @@
+/** layui-v2.5.4 MIT License By https://www.layui.com */
+ ;layui.define("layer",function(e){"use strict";var t=layui.$,i=layui.layer,n=layui.hint(),a=layui.device(),o={config:{},set:function(e){var i=this;return i.config=t.extend({},i.config,e),i},on:function(e,t){return layui.onevent.call(this,r,e,t)}},l=function(){var e=this;return{upload:function(t){e.upload.call(e,t)},reload:function(t){e.reload.call(e,t)},config:e.config}},r="upload",u="layui-upload-file",c="layui-upload-form",f="layui-upload-iframe",s="layui-upload-choose",p=function(e){var i=this;i.config=t.extend({},i.config,o.config,e),i.render()};p.prototype.config={accept:"images",exts:"",auto:!0,bindAction:"",url:"",field:"file",acceptMime:"",method:"post",data:{},drag:!0,size:0,number:0,multiple:!1},p.prototype.render=function(e){var i=this,e=i.config;e.elem=t(e.elem),e.bindAction=t(e.bindAction),i.file(),i.events()},p.prototype.file=function(){var e=this,i=e.config,n=e.elemFile=t(['<input class="'+u+'" type="file" accept="'+i.acceptMime+'" name="'+i.field+'"',i.multiple?" multiple":"",">"].join("")),o=i.elem.next();(o.hasClass(u)||o.hasClass(c))&&o.remove(),a.ie&&a.ie<10&&i.elem.wrap('<div class="layui-upload-wrap"></div>'),e.isFile()?(e.elemFile=i.elem,i.field=i.elem[0].name):i.elem.after(n),a.ie&&a.ie<10&&e.initIE()},p.prototype.initIE=function(){var e=this,i=e.config,n=t('<iframe id="'+f+'" class="'+f+'" name="'+f+'" frameborder="0"></iframe>'),a=t(['<form target="'+f+'" class="'+c+'" method="post" key="set-mine" enctype="multipart/form-data" action="'+i.url+'">',"</form>"].join(""));t("#"+f)[0]||t("body").append(n),i.elem.next().hasClass(c)||(e.elemFile.wrap(a),i.elem.next("."+c).append(function(){var e=[];return layui.each(i.data,function(t,i){i="function"==typeof i?i():i,e.push('<input type="hidden" name="'+t+'" value="'+i+'">')}),e.join("")}()))},p.prototype.msg=function(e){return i.msg(e,{icon:2,shift:6})},p.prototype.isFile=function(){var e=this.config.elem[0];if(e)return"input"===e.tagName.toLocaleLowerCase()&&"file"===e.type},p.prototype.preview=function(e){var t=this;window.FileReader&&layui.each(t.chooseFiles,function(t,i){var n=new FileReader;n.readAsDataURL(i),n.onload=function(){e&&e(t,i,this.result)}})},p.prototype.upload=function(e,i){var n,o=this,l=o.config,r=o.elemFile[0],u=function(){var i=0,n=0,a=e||o.files||o.chooseFiles||r.files,u=function(){l.multiple&&i+n===o.fileLength&&"function"==typeof l.allDone&&l.allDone({total:o.fileLength,successful:i,aborted:n})};layui.each(a,function(e,a){var r=new FormData;r.append(l.field,a),layui.each(l.data,function(e,t){t="function"==typeof t?t():t,r.append(e,t)}),t.ajax({url:l.url,type:"post",data:r,contentType:!1,processData:!1,dataType:"json",headers:l.headers||{},success:function(t){i++,d(e,t),u()},error:function(){n++,o.msg("璇锋眰涓婁紶鎺ュ彛鍑虹幇寮傚父"),m(e),u()}})})},c=function(){var e=t("#"+f);o.elemFile.parent().submit(),clearInterval(p.timer),p.timer=setInterval(function(){var t,i=e.contents().find("body");try{t=i.text()}catch(n){o.msg("鑾峰彇涓婁紶鍚庣殑鍝嶅簲淇℃伅鍑虹幇寮傚父"),clearInterval(p.timer),m()}t&&(clearInterval(p.timer),i.html(""),d(0,t))},30)},d=function(e,t){if(o.elemFile.next("."+s).remove(),r.value="","object"!=typeof t)try{t=JSON.parse(t)}catch(i){return t={},o.msg("璇峰涓婁紶鎺ュ彛杩斿洖鏈夋晥JSON")}"function"==typeof l.done&&l.done(t,e||0,function(e){o.upload(e)})},m=function(e){l.auto&&(r.value=""),"function"==typeof l.error&&l.error(e||0,function(e){o.upload(e)})},h=l.exts,v=function(){var t=[];return layui.each(e||o.chooseFiles,function(e,i){t.push(i.name)}),t}(),g={preview:function(e){o.preview(e)},upload:function(e,t){var i={};i[e]=t,o.upload(i)},pushFile:function(){return o.files=o.files||{},layui.each(o.chooseFiles,function(e,t){o.files[e]=t}),o.files},resetFile:function(e,t,i){var n=new File([t],i);o.files=o.files||{},o.files[e]=n}},y=function(){if("choose"!==i&&!l.auto||(l.choose&&l.choose(g),"choose"!==i))return l.before&&l.before(g),a.ie?a.ie>9?u():c():void u()};if(v=0===v.length?r.value.match(/[^\/\\]+\..+/g)||[]||"":v,0!==v.length){switch(l.accept){case"file":if(h&&!RegExp("\\w\\.("+h+")$","i").test(escape(v)))return o.msg("閫夋嫨鐨勬枃浠朵腑鍖呭惈涓嶆敮鎸佺殑鏍煎紡"),r.value="";break;case"video":if(!RegExp("\\w\\.("+(h||"avi|mp4|wma|rmvb|rm|flash|3gp|flv")+")$","i").test(escape(v)))return o.msg("閫夋嫨鐨勮棰戜腑鍖呭惈涓嶆敮鎸佺殑鏍煎紡"),r.value="";break;case"audio":if(!RegExp("\\w\\.("+(h||"mp3|wav|mid")+")$","i").test(escape(v)))return o.msg("閫夋嫨鐨勯煶棰戜腑鍖呭惈涓嶆敮鎸佺殑鏍煎紡"),r.value="";break;default:if(layui.each(v,function(e,t){RegExp("\\w\\.("+(h||"jpg|png|gif|bmp|jpeg$")+")","i").test(escape(t))||(n=!0)}),n)return o.msg("閫夋嫨鐨勫浘鐗囦腑鍖呭惈涓嶆敮鎸佺殑鏍煎紡"),r.value=""}if(o.fileLength=function(){var t=0,i=e||o.files||o.chooseFiles||r.files;return layui.each(i,function(){t++}),t}(),l.number&&o.fileLength>l.number)return o.msg("鍚屾椂鏈�澶氬彧鑳戒笂浼犵殑鏁伴噺涓猴細"+l.number);if(l.size>0&&!(a.ie&&a.ie<10)){var F;if(layui.each(o.chooseFiles,function(e,t){if(t.size>1024*l.size){var i=l.size/1024;i=i>=1?i.toFixed(2)+"MB":l.size+"KB",r.value="",F=i}}),F)return o.msg("鏂囦欢涓嶈兘瓒呰繃"+F)}y()}},p.prototype.reload=function(e){e=e||{},delete e.elem,delete e.bindAction;var i=this,e=i.config=t.extend({},i.config,o.config,e),n=e.elem.next();n.attr({name:e.name,accept:e.acceptMime,multiple:e.multiple})},p.prototype.events=function(){var e=this,i=e.config,o=function(t){e.chooseFiles={},layui.each(t,function(t,i){var n=(new Date).getTime();e.chooseFiles[n+"-"+t]=i})},l=function(t,n){var a=e.elemFile,o=t.length>1?t.length+"涓枃浠�":(t[0]||{}).name||a[0].value.match(/[^\/\\]+\..+/g)||[]||"";a.next().hasClass(s)&&a.next().remove(),e.upload(null,"choose"),e.isFile()||i.choose||a.after('<span class="layui-inline '+s+'">'+o+"</span>")};i.elem.off("upload.start").on("upload.start",function(){var a=t(this),o=a.attr("lay-data");if(o)try{o=new Function("return "+o)(),e.config=t.extend({},i,o)}catch(l){n.error("Upload element property lay-data configuration item has a syntax error: "+o)}e.config.item=a,e.elemFile[0].click()}),a.ie&&a.ie<10||i.elem.off("upload.over").on("upload.over",function(){var e=t(this);e.attr("lay-over","")}).off("upload.leave").on("upload.leave",function(){var e=t(this);e.removeAttr("lay-over")}).off("upload.drop").on("upload.drop",function(n,a){var r=t(this),u=a.originalEvent.dataTransfer.files||[];r.removeAttr("lay-over"),o(u),i.auto?e.upload(u):l(u)}),e.elemFile.off("upload.change").on("upload.change",function(){var t=this.files||[];o(t),i.auto?e.upload():l(t)}),i.bindAction.off("upload.action").on("upload.action",function(){e.upload()}),i.elem.data("haveEvents")||(e.elemFile.on("change",function(){t(this).trigger("upload.change")}),i.elem.on("click",function(){e.isFile()||t(this).trigger("upload.start")}),i.drag&&i.elem.on("dragover",function(e){e.preventDefault(),t(this).trigger("upload.over")}).on("dragleave",function(e){t(this).trigger("upload.leave")}).on("drop",function(e){e.preventDefault(),t(this).trigger("upload.drop",e)}),i.bindAction.on("click",function(){t(this).trigger("upload.action")}),i.elem.data("haveEvents",!0))},o.render=function(e){var t=new p(e);return l.call(t)},e(r,o)});
\ No newline at end of file
diff --git a/zy-acs-cv/src/main/webapp/static/layui/lay/modules/util.js b/zy-acs-cv/src/main/webapp/static/layui/lay/modules/util.js
new file mode 100644
index 0000000..4148c2c
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/lay/modules/util.js
@@ -0,0 +1,2 @@
+/** layui-v2.5.4 MIT License By https://www.layui.com */
+ ;layui.define("jquery",function(t){"use strict";var e=layui.$,i={fixbar:function(t){var i,n,a="layui-fixbar",o="layui-fixbar-top",r=e(document),l=e("body");t=e.extend({showHeight:200},t),t.bar1=t.bar1===!0?"&#xe606;":t.bar1,t.bar2=t.bar2===!0?"&#xe607;":t.bar2,t.bgcolor=t.bgcolor?"background-color:"+t.bgcolor:"";var c=[t.bar1,t.bar2,"&#xe604;"],g=e(['<ul class="'+a+'">',t.bar1?'<li class="layui-icon" lay-type="bar1" style="'+t.bgcolor+'">'+c[0]+"</li>":"",t.bar2?'<li class="layui-icon" lay-type="bar2" style="'+t.bgcolor+'">'+c[1]+"</li>":"",'<li class="layui-icon '+o+'" lay-type="top" style="'+t.bgcolor+'">'+c[2]+"</li>","</ul>"].join("")),s=g.find("."+o),u=function(){var e=r.scrollTop();e>=t.showHeight?i||(s.show(),i=1):i&&(s.hide(),i=0)};e("."+a)[0]||("object"==typeof t.css&&g.css(t.css),l.append(g),u(),g.find("li").on("click",function(){var i=e(this),n=i.attr("lay-type");"top"===n&&e("html,body").animate({scrollTop:0},200),t.click&&t.click.call(this,n)}),r.on("scroll",function(){clearTimeout(n),n=setTimeout(function(){u()},100)}))},countdown:function(t,e,i){var n=this,a="function"==typeof e,o=new Date(t).getTime(),r=new Date(!e||a?(new Date).getTime():e).getTime(),l=o-r,c=[Math.floor(l/864e5),Math.floor(l/36e5)%24,Math.floor(l/6e4)%60,Math.floor(l/1e3)%60];a&&(i=e);var g=setTimeout(function(){n.countdown(t,r+1e3,i)},1e3);return i&&i(l>0?c:[0,0,0,0],e,g),l<=0&&clearTimeout(g),g},timeAgo:function(t,e){var i=this,n=[[],[]],a=(new Date).getTime()-new Date(t).getTime();return a>6912e5?(a=new Date(t),n[0][0]=i.digit(a.getFullYear(),4),n[0][1]=i.digit(a.getMonth()+1),n[0][2]=i.digit(a.getDate()),e||(n[1][0]=i.digit(a.getHours()),n[1][1]=i.digit(a.getMinutes()),n[1][2]=i.digit(a.getSeconds())),n[0].join("-")+" "+n[1].join(":")):a>=864e5?(a/1e3/60/60/24|0)+"澶╁墠":a>=36e5?(a/1e3/60/60|0)+"灏忔椂鍓�":a>=12e4?(a/1e3/60|0)+"鍒嗛挓鍓�":a<0?"鏈潵":"鍒氬垰"},digit:function(t,e){var i="";t=String(t),e=e||2;for(var n=t.length;n<e;n++)i+="0";return t<Math.pow(10,e)?i+(0|t):t},toDateString:function(t,e){var i=this,n=new Date(t||new Date),a=[i.digit(n.getFullYear(),4),i.digit(n.getMonth()+1),i.digit(n.getDate())],o=[i.digit(n.getHours()),i.digit(n.getMinutes()),i.digit(n.getSeconds())];return e=e||"yyyy-MM-dd HH:mm:ss",e.replace(/yyyy/g,a[0]).replace(/MM/g,a[1]).replace(/dd/g,a[2]).replace(/HH/g,o[0]).replace(/mm/g,o[1]).replace(/ss/g,o[2])},escape:function(t){return String(t||"").replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/'/g,"&#39;").replace(/"/g,"&quot;")},event:function(t,n,a){n=i.event[t]=e.extend(!0,i.event[t],n)||{},e("body").on(a||"click","*["+t+"]",function(){var i=e(this),a=i.attr(t);n[a]&&n[a].call(this,i)})}};!function(t,e,i){"$:nomunge";function n(){a=e[l](function(){o.each(function(){var e=t(this),i=e.width(),n=e.height(),a=t.data(this,g);(i!==a.w||n!==a.h)&&e.trigger(c,[a.w=i,a.h=n])}),n()},r[s])}var a,o=t([]),r=t.resize=t.extend(t.resize,{}),l="setTimeout",c="resize",g=c+"-special-event",s="delay",u="throttleWindow";r[s]=250,r[u]=!0,t.event.special[c]={setup:function(){if(!r[u]&&this[l])return!1;var e=t(this);o=o.add(e),t.data(this,g,{w:e.width(),h:e.height()}),1===o.length&&n()},teardown:function(){if(!r[u]&&this[l])return!1;var e=t(this);o=o.not(e),e.removeData(g),o.length||clearTimeout(a)},add:function(e){function n(e,n,o){var r=t(this),l=t.data(this,g)||{};l.w=n!==i?n:r.width(),l.h=o!==i?o:r.height(),a.apply(this,arguments)}if(!r[u]&&this[l])return!1;var a;return t.isFunction(e)?(a=e,n):(a=e.handler,void(e.handler=n))}}}(e,window),t("util",i)});
\ No newline at end of file
diff --git a/zy-acs-cv/src/main/webapp/static/layui/layui.all.js b/zy-acs-cv/src/main/webapp/static/layui/layui.all.js
new file mode 100644
index 0000000..8c19e71
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/layui.all.js
@@ -0,0 +1,5 @@
+/** layui-v2.5.4 MIT License By https://www.layui.com */
+ ;!function(e){"use strict";var t=document,o={modules:{},status:{},timeout:10,event:{}},n=function(){this.v="2.5.4"},r=function(){var e=t.currentScript?t.currentScript.src:function(){for(var e,o=t.scripts,n=o.length-1,r=n;r>0;r--)if("interactive"===o[r].readyState){e=o[r].src;break}return e||o[n].src}();return e.substring(0,e.lastIndexOf("/")+1)}(),i=function(t){e.console&&console.error&&console.error("Layui hint: "+t)},a="undefined"!=typeof opera&&"[object Opera]"===opera.toString(),u={layer:"modules/layer",laydate:"modules/laydate",laypage:"modules/laypage",laytpl:"modules/laytpl",layim:"modules/layim",layedit:"modules/layedit",form:"modules/form",upload:"modules/upload",transfer:"modules/transfer",tree:"modules/tree",table:"modules/table",element:"modules/element",rate:"modules/rate",colorpicker:"modules/colorpicker",slider:"modules/slider",carousel:"modules/carousel",flow:"modules/flow",util:"modules/util",code:"modules/code",jquery:"modules/jquery",mobile:"modules/mobile","layui.all":"../layui.all"};n.prototype.cache=o,n.prototype.define=function(e,t){var n=this,r="function"==typeof e,i=function(){var e=function(e,t){layui[e]=t,o.status[e]=!0};return"function"==typeof t&&t(function(n,r){e(n,r),o.callback[n]=function(){t(e)}}),this};return r&&(t=e,e=[]),!layui["layui.all"]&&layui["layui.mobile"]?i.call(n):(n.use(e,i),n)},n.prototype.use=function(e,n,l){function s(e,t){var n="PLaySTATION 3"===navigator.platform?/^complete$/:/^(complete|loaded)$/;("load"===e.type||n.test((e.currentTarget||e.srcElement).readyState))&&(o.modules[f]=t,d.removeChild(v),function r(){return++m>1e3*o.timeout/4?i(f+" is not a valid module"):void(o.status[f]?c():setTimeout(r,4))}())}function c(){l.push(layui[f]),e.length>1?y.use(e.slice(1),n,l):"function"==typeof n&&n.apply(layui,l)}var y=this,p=o.dir=o.dir?o.dir:r,d=t.getElementsByTagName("head")[0];e="string"==typeof e?[e]:e,window.jQuery&&jQuery.fn.on&&(y.each(e,function(t,o){"jquery"===o&&e.splice(t,1)}),layui.jquery=layui.$=jQuery);var f=e[0],m=0;if(l=l||[],o.host=o.host||(p.match(/\/\/([\s\S]+?)\//)||["//"+location.host+"/"])[0],0===e.length||layui["layui.all"]&&u[f]||!layui["layui.all"]&&layui["layui.mobile"]&&u[f])return c(),y;if(o.modules[f])!function g(){return++m>1e3*o.timeout/4?i(f+" is not a valid module"):void("string"==typeof o.modules[f]&&o.status[f]?c():setTimeout(g,4))}();else{var v=t.createElement("script"),h=(u[f]?p+"lay/":/^\{\/\}/.test(y.modules[f])?"":o.base||"")+(y.modules[f]||f)+".js";h=h.replace(/^\{\/\}/,""),v.async=!0,v.charset="utf-8",v.src=h+function(){var e=o.version===!0?o.v||(new Date).getTime():o.version||"";return e?"?v="+e:""}(),d.appendChild(v),!v.attachEvent||v.attachEvent.toString&&v.attachEvent.toString().indexOf("[native code")<0||a?v.addEventListener("load",function(e){s(e,h)},!1):v.attachEvent("onreadystatechange",function(e){s(e,h)}),o.modules[f]=h}return y},n.prototype.getStyle=function(t,o){var n=t.currentStyle?t.currentStyle:e.getComputedStyle(t,null);return n[n.getPropertyValue?"getPropertyValue":"getAttribute"](o)},n.prototype.link=function(e,n,r){var a=this,u=t.createElement("link"),l=t.getElementsByTagName("head")[0];"string"==typeof n&&(r=n);var s=(r||e).replace(/\.|\//g,""),c=u.id="layuicss-"+s,y=0;return u.rel="stylesheet",u.href=e+(o.debug?"?v="+(new Date).getTime():""),u.media="all",t.getElementById(c)||l.appendChild(u),"function"!=typeof n?a:(function p(){return++y>1e3*o.timeout/100?i(e+" timeout"):void(1989===parseInt(a.getStyle(t.getElementById(c),"width"))?function(){n()}():setTimeout(p,100))}(),a)},o.callback={},n.prototype.factory=function(e){if(layui[e])return"function"==typeof o.callback[e]?o.callback[e]:null},n.prototype.addcss=function(e,t,n){return layui.link(o.dir+"css/"+e,t,n)},n.prototype.img=function(e,t,o){var n=new Image;return n.src=e,n.complete?t(n):(n.onload=function(){n.onload=null,"function"==typeof t&&t(n)},void(n.onerror=function(e){n.onerror=null,"function"==typeof o&&o(e)}))},n.prototype.config=function(e){e=e||{};for(var t in e)o[t]=e[t];return this},n.prototype.modules=function(){var e={};for(var t in u)e[t]=u[t];return e}(),n.prototype.extend=function(e){var t=this;e=e||{};for(var o in e)t[o]||t.modules[o]?i("妯″潡鍚� "+o+" 宸茶鍗犵敤"):t.modules[o]=e[o];return t},n.prototype.router=function(e){var t=this,e=e||location.hash,o={path:[],search:{},hash:(e.match(/[^#](#.*$)/)||[])[1]||""};return/^#\//.test(e)?(e=e.replace(/^#\//,""),o.href="/"+e,e=e.replace(/([^#])(#.*$)/,"$1").split("/")||[],t.each(e,function(e,t){/^\w+=/.test(t)?function(){t=t.split("="),o.search[t[0]]=t[1]}():o.path.push(t)}),o):o},n.prototype.data=function(t,o,n){if(t=t||"layui",n=n||localStorage,e.JSON&&e.JSON.parse){if(null===o)return delete n[t];o="object"==typeof o?o:{key:o};try{var r=JSON.parse(n[t])}catch(i){var r={}}return"value"in o&&(r[o.key]=o.value),o.remove&&delete r[o.key],n[t]=JSON.stringify(r),o.key?r[o.key]:r}},n.prototype.sessionData=function(e,t){return this.data(e,t,sessionStorage)},n.prototype.device=function(t){var o=navigator.userAgent.toLowerCase(),n=function(e){var t=new RegExp(e+"/([^\\s\\_\\-]+)");return e=(o.match(t)||[])[1],e||!1},r={os:function(){return/windows/.test(o)?"windows":/linux/.test(o)?"linux":/iphone|ipod|ipad|ios/.test(o)?"ios":/mac/.test(o)?"mac":void 0}(),ie:function(){return!!(e.ActiveXObject||"ActiveXObject"in e)&&((o.match(/msie\s(\d+)/)||[])[1]||"11")}(),weixin:n("micromessenger")};return t&&!r[t]&&(r[t]=n(t)),r.android=/android/.test(o),r.ios="ios"===r.os,r},n.prototype.hint=function(){return{error:i}},n.prototype.each=function(e,t){var o,n=this;if("function"!=typeof t)return n;if(e=e||[],e.constructor===Object){for(o in e)if(t.call(e[o],o,e[o]))break}else for(o=0;o<e.length&&!t.call(e[o],o,e[o]);o++);return n},n.prototype.sort=function(e,t,o){var n=JSON.parse(JSON.stringify(e||[]));return t?(n.sort(function(e,o){var n=/^-?\d+$/,r=e[t],i=o[t];return n.test(r)&&(r=parseFloat(r)),n.test(i)&&(i=parseFloat(i)),r&&!i?1:!r&&i?-1:r>i?1:r<i?-1:0}),o&&n.reverse(),n):n},n.prototype.stope=function(t){t=t||e.event;try{t.stopPropagation()}catch(o){t.cancelBubble=!0}},n.prototype.onevent=function(e,t,o){return"string"!=typeof e||"function"!=typeof o?this:n.event(e,t,null,o)},n.prototype.event=n.event=function(e,t,n,r){var i=this,a=null,u=t.match(/\((.*)\)$/)||[],l=(e+"."+t).replace(u[0],""),s=u[1]||"",c=function(e,t){var o=t&&t.call(i,n);o===!1&&null===a&&(a=!1)};return r?(o.event[l]=o.event[l]||{},o.event[l][s]=[r],this):(layui.each(o.event[l],function(e,t){return"{*}"===s?void layui.each(t,c):(""===e&&layui.each(t,c),void(s&&e===s&&layui.each(t,c)))}),a)},e.layui=new n}(window);layui.define(function(a){var i=layui.cache;layui.config({dir:i.dir.replace(/lay\/dest\/$/,"")}),a("layui.all",layui.v)});layui.define(function(e){"use strict";var r={open:"{{",close:"}}"},c={exp:function(e){return new RegExp(e,"g")},query:function(e,c,t){var o=["#([\\s\\S])+?","([^{#}])*?"][e||0];return n((c||"")+r.open+o+r.close+(t||""))},escape:function(e){return String(e||"").replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/'/g,"&#39;").replace(/"/g,"&quot;")},error:function(e,r){var c="Laytpl Error锛�";return"object"==typeof console&&console.error(c+e+"\n"+(r||"")),c+e}},n=c.exp,t=function(e){this.tpl=e};t.pt=t.prototype,window.errors=0,t.pt.parse=function(e,t){var o=this,p=e,a=n("^"+r.open+"#",""),l=n(r.close+"$","");e=e.replace(/\s+|\r|\t|\n/g," ").replace(n(r.open+"#"),r.open+"# ").replace(n(r.close+"}"),"} "+r.close).replace(/\\/g,"\\\\").replace(n(r.open+"!(.+?)!"+r.close),function(e){return e=e.replace(n("^"+r.open+"!"),"").replace(n("!"+r.close),"").replace(n(r.open+"|"+r.close),function(e){return e.replace(/(.)/g,"\\$1")})}).replace(/(?="|')/g,"\\").replace(c.query(),function(e){return e=e.replace(a,"").replace(l,""),'";'+e.replace(/\\/g,"")+';view+="'}).replace(c.query(1),function(e){var c='"+(';return e.replace(/\s/g,"")===r.open+r.close?"":(e=e.replace(n(r.open+"|"+r.close),""),/^=/.test(e)&&(e=e.replace(/^=/,""),c='"+_escape_('),c+e.replace(/\\/g,"")+')+"')}),e='"use strict";var view = "'+e+'";return view;';try{return o.cache=e=new Function("d, _escape_",e),e(t,c.escape)}catch(u){return delete o.cache,c.error(u,p)}},t.pt.render=function(e,r){var n,t=this;return e?(n=t.cache?t.cache(e,c.escape):t.parse(t.tpl,e),r?void r(n):n):c.error("no data")};var o=function(e){return"string"!=typeof e?c.error("Template not found"):new t(e)};o.config=function(e){e=e||{};for(var c in e)r[c]=e[c]},o.v="1.2.0",e("laytpl",o)});layui.define(function(e){"use strict";var a=document,t="getElementById",n="getElementsByTagName",i="laypage",r="layui-disabled",u=function(e){var a=this;a.config=e||{},a.config.index=++s.index,a.render(!0)};u.prototype.type=function(){var e=this.config;if("object"==typeof e.elem)return void 0===e.elem.length?2:3},u.prototype.view=function(){var e=this,a=e.config,t=a.groups="groups"in a?0|a.groups:5;a.layout="object"==typeof a.layout?a.layout:["prev","page","next"],a.count=0|a.count,a.curr=0|a.curr||1,a.limits="object"==typeof a.limits?a.limits:[10,20,30,40,50],a.limit=0|a.limit||10,a.pages=Math.ceil(a.count/a.limit)||1,a.curr>a.pages&&(a.curr=a.pages),t<0?t=1:t>a.pages&&(t=a.pages),a.prev="prev"in a?a.prev:"&#x4E0A;&#x4E00;&#x9875;",a.next="next"in a?a.next:"&#x4E0B;&#x4E00;&#x9875;";var n=a.pages>t?Math.ceil((a.curr+(t>1?1:0))/(t>0?t:1)):1,i={prev:function(){return a.prev?'<a href="javascript:;" class="layui-laypage-prev'+(1==a.curr?" "+r:"")+'" data-page="'+(a.curr-1)+'">'+a.prev+"</a>":""}(),page:function(){var e=[];if(a.count<1)return"";n>1&&a.first!==!1&&0!==t&&e.push('<a href="javascript:;" class="layui-laypage-first" data-page="1"  title="&#x9996;&#x9875;">'+(a.first||1)+"</a>");var i=Math.floor((t-1)/2),r=n>1?a.curr-i:1,u=n>1?function(){var e=a.curr+(t-i-1);return e>a.pages?a.pages:e}():t;for(u-r<t-1&&(r=u-t+1),a.first!==!1&&r>2&&e.push('<span class="layui-laypage-spr">&#x2026;</span>');r<=u;r++)r===a.curr?e.push('<span class="layui-laypage-curr"><em class="layui-laypage-em" '+(/^#/.test(a.theme)?'style="background-color:'+a.theme+';"':"")+"></em><em>"+r+"</em></span>"):e.push('<a href="javascript:;" data-page="'+r+'">'+r+"</a>");return a.pages>t&&a.pages>u&&a.last!==!1&&(u+1<a.pages&&e.push('<span class="layui-laypage-spr">&#x2026;</span>'),0!==t&&e.push('<a href="javascript:;" class="layui-laypage-last" title="&#x5C3E;&#x9875;"  data-page="'+a.pages+'">'+(a.last||a.pages)+"</a>")),e.join("")}(),next:function(){return a.next?'<a href="javascript:;" class="layui-laypage-next'+(a.curr==a.pages?" "+r:"")+'" data-page="'+(a.curr+1)+'">'+a.next+"</a>":""}(),count:'<span class="layui-laypage-count">鍏� '+a.count+" 鏉�</span>",limit:function(){var e=['<span class="layui-laypage-limits"><select lay-ignore>'];return layui.each(a.limits,function(t,n){e.push('<option value="'+n+'"'+(n===a.limit?"selected":"")+">"+n+" 鏉�/椤�</option>")}),e.join("")+"</select></span>"}(),refresh:['<a href="javascript:;" data-page="'+a.curr+'" class="layui-laypage-refresh">','<i class="layui-icon layui-icon-refresh"></i>',"</a>"].join(""),skip:function(){return['<span class="layui-laypage-skip">&#x5230;&#x7B2C;','<input type="text" min="1" value="'+a.curr+'" class="layui-input">','&#x9875;<button type="button" class="layui-laypage-btn">&#x786e;&#x5b9a;</button>',"</span>"].join("")}()};return['<div class="layui-box layui-laypage layui-laypage-'+(a.theme?/^#/.test(a.theme)?"molv":a.theme:"default")+'" id="layui-laypage-'+a.index+'">',function(){var e=[];return layui.each(a.layout,function(a,t){i[t]&&e.push(i[t])}),e.join("")}(),"</div>"].join("")},u.prototype.jump=function(e,a){if(e){var t=this,i=t.config,r=e.children,u=e[n]("button")[0],l=e[n]("input")[0],p=e[n]("select")[0],c=function(){var e=0|l.value.replace(/\s|\D/g,"");e&&(i.curr=e,t.render())};if(a)return c();for(var o=0,y=r.length;o<y;o++)"a"===r[o].nodeName.toLowerCase()&&s.on(r[o],"click",function(){var e=0|this.getAttribute("data-page");e<1||e>i.pages||(i.curr=e,t.render())});p&&s.on(p,"change",function(){var e=this.value;i.curr*e>i.count&&(i.curr=Math.ceil(i.count/e)),i.limit=e,t.render()}),u&&s.on(u,"click",function(){c()})}},u.prototype.skip=function(e){if(e){var a=this,t=e[n]("input")[0];t&&s.on(t,"keyup",function(t){var n=this.value,i=t.keyCode;/^(37|38|39|40)$/.test(i)||(/\D/.test(n)&&(this.value=n.replace(/\D/,"")),13===i&&a.jump(e,!0))})}},u.prototype.render=function(e){var n=this,i=n.config,r=n.type(),u=n.view();2===r?i.elem&&(i.elem.innerHTML=u):3===r?i.elem.html(u):a[t](i.elem)&&(a[t](i.elem).innerHTML=u),i.jump&&i.jump(i,e);var s=a[t]("layui-laypage-"+i.index);n.jump(s),i.hash&&!e&&(location.hash="!"+i.hash+"="+i.curr),n.skip(s)};var s={render:function(e){var a=new u(e);return a.index},index:layui.laypage?layui.laypage.index+1e4:0,on:function(e,a,t){return e.attachEvent?e.attachEvent("on"+a,function(a){a.target=a.srcElement,t.call(e,a)}):e.addEventListener(a,t,!1),this}};e(i,s)});!function(){"use strict";var e=window.layui&&layui.define,t={getPath:function(){var e=document.currentScript?document.currentScript.src:function(){for(var e,t=document.scripts,n=t.length-1,a=n;a>0;a--)if("interactive"===t[a].readyState){e=t[a].src;break}return e||t[n].src}();return e.substring(0,e.lastIndexOf("/")+1)}(),getStyle:function(e,t){var n=e.currentStyle?e.currentStyle:window.getComputedStyle(e,null);return n[n.getPropertyValue?"getPropertyValue":"getAttribute"](t)},link:function(e,a,i){if(n.path){var r=document.getElementsByTagName("head")[0],o=document.createElement("link");"string"==typeof a&&(i=a);var s=(i||e).replace(/\.|\//g,""),l="layuicss-"+s,d=0;o.rel="stylesheet",o.href=n.path+e,o.id=l,document.getElementById(l)||r.appendChild(o),"function"==typeof a&&!function c(){return++d>80?window.console&&console.error("laydate.css: Invalid"):void(1989===parseInt(t.getStyle(document.getElementById(l),"width"))?a():setTimeout(c,100))}()}}},n={v:"5.0.9",config:{},index:window.laydate&&window.laydate.v?1e5:0,path:t.getPath,set:function(e){var t=this;return t.config=w.extend({},t.config,e),t},ready:function(a){var i="laydate",r="",o=(e?"modules/laydate/":"theme/")+"default/laydate.css?v="+n.v+r;return e?layui.addcss(o,a,i):t.link(o,a,i),this}},a=function(){var e=this;return{hint:function(t){e.hint.call(e,t)},config:e.config}},i="laydate",r=".layui-laydate",o="layui-this",s="laydate-disabled",l="寮�濮嬫棩鏈熻秴鍑轰簡缁撴潫鏃ユ湡<br>寤鸿閲嶆柊閫夋嫨",d=[100,2e5],c="layui-laydate-static",m="layui-laydate-list",u="laydate-selected",h="layui-laydate-hint",y="laydate-day-prev",f="laydate-day-next",p="layui-laydate-footer",g=".laydate-btns-confirm",v="laydate-time-text",D=".laydate-btns-time",T=function(e){var t=this;t.index=++n.index,t.config=w.extend({},t.config,n.config,e),n.ready(function(){t.init()})},w=function(e){return new C(e)},C=function(e){for(var t=0,n="object"==typeof e?[e]:(this.selector=e,document.querySelectorAll(e||null));t<n.length;t++)this.push(n[t])};C.prototype=[],C.prototype.constructor=C,w.extend=function(){var e=1,t=arguments,n=function(e,t){e=e||(t.constructor===Array?[]:{});for(var a in t)e[a]=t[a]&&t[a].constructor===Object?n(e[a],t[a]):t[a];return e};for(t[0]="object"==typeof t[0]?t[0]:{};e<t.length;e++)"object"==typeof t[e]&&n(t[0],t[e]);return t[0]},w.ie=function(){var e=navigator.userAgent.toLowerCase();return!!(window.ActiveXObject||"ActiveXObject"in window)&&((e.match(/msie\s(\d+)/)||[])[1]||"11")}(),w.stope=function(e){e=e||window.event,e.stopPropagation?e.stopPropagation():e.cancelBubble=!0},w.each=function(e,t){var n,a=this;if("function"!=typeof t)return a;if(e=e||[],e.constructor===Object){for(n in e)if(t.call(e[n],n,e[n]))break}else for(n=0;n<e.length&&!t.call(e[n],n,e[n]);n++);return a},w.digit=function(e,t,n){var a="";e=String(e),t=t||2;for(var i=e.length;i<t;i++)a+="0";return e<Math.pow(10,t)?a+(0|e):e},w.elem=function(e,t){var n=document.createElement(e);return w.each(t||{},function(e,t){n.setAttribute(e,t)}),n},C.addStr=function(e,t){return e=e.replace(/\s+/," "),t=t.replace(/\s+/," ").split(" "),w.each(t,function(t,n){new RegExp("\\b"+n+"\\b").test(e)||(e=e+" "+n)}),e.replace(/^\s|\s$/,"")},C.removeStr=function(e,t){return e=e.replace(/\s+/," "),t=t.replace(/\s+/," ").split(" "),w.each(t,function(t,n){var a=new RegExp("\\b"+n+"\\b");a.test(e)&&(e=e.replace(a,""))}),e.replace(/\s+/," ").replace(/^\s|\s$/,"")},C.prototype.find=function(e){var t=this,n=0,a=[],i="object"==typeof e;return this.each(function(r,o){for(var s=i?[e]:o.querySelectorAll(e||null);n<s.length;n++)a.push(s[n]);t.shift()}),i||(t.selector=(t.selector?t.selector+" ":"")+e),w.each(a,function(e,n){t.push(n)}),t},C.prototype.each=function(e){return w.each.call(this,this,e)},C.prototype.addClass=function(e,t){return this.each(function(n,a){a.className=C[t?"removeStr":"addStr"](a.className,e)})},C.prototype.removeClass=function(e){return this.addClass(e,!0)},C.prototype.hasClass=function(e){var t=!1;return this.each(function(n,a){new RegExp("\\b"+e+"\\b").test(a.className)&&(t=!0)}),t},C.prototype.attr=function(e,t){var n=this;return void 0===t?function(){if(n.length>0)return n[0].getAttribute(e)}():n.each(function(n,a){a.setAttribute(e,t)})},C.prototype.removeAttr=function(e){return this.each(function(t,n){n.removeAttribute(e)})},C.prototype.html=function(e){return this.each(function(t,n){n.innerHTML=e})},C.prototype.val=function(e){return this.each(function(t,n){n.value=e})},C.prototype.append=function(e){return this.each(function(t,n){"object"==typeof e?n.appendChild(e):n.innerHTML=n.innerHTML+e})},C.prototype.remove=function(e){return this.each(function(t,n){e?n.removeChild(e):n.parentNode.removeChild(n)})},C.prototype.on=function(e,t){return this.each(function(n,a){a.attachEvent?a.attachEvent("on"+e,function(e){e.target=e.srcElement,t.call(a,e)}):a.addEventListener(e,t,!1)})},C.prototype.off=function(e,t){return this.each(function(n,a){a.detachEvent?a.detachEvent("on"+e,t):a.removeEventListener(e,t,!1)})},T.isLeapYear=function(e){return e%4===0&&e%100!==0||e%400===0},T.prototype.config={type:"date",range:!1,format:"yyyy-MM-dd",value:null,isInitValue:!0,min:"1900-1-1",max:"2099-12-31",trigger:"focus",show:!1,showBottom:!0,btns:["clear","now","confirm"],lang:"cn",theme:"default",position:null,calendar:!1,mark:{},zIndex:null,done:null,change:null},T.prototype.lang=function(){var e=this,t=e.config,n={cn:{weeks:["鏃�","涓�","浜�","涓�","鍥�","浜�","鍏�"],time:["鏃�","鍒�","绉�"],timeTips:"閫夋嫨鏃堕棿",startTime:"寮�濮嬫椂闂�",endTime:"缁撴潫鏃堕棿",dateTips:"杩斿洖鏃ユ湡",month:["涓�","浜�","涓�","鍥�","浜�","鍏�","涓�","鍏�","涔�","鍗�","鍗佷竴","鍗佷簩"],tools:{confirm:"纭畾",clear:"娓呯┖",now:"鐜板湪"}},en:{weeks:["Su","Mo","Tu","We","Th","Fr","Sa"],time:["Hours","Minutes","Seconds"],timeTips:"Select Time",startTime:"Start Time",endTime:"End Time",dateTips:"Select Date",month:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],tools:{confirm:"Confirm",clear:"Clear",now:"Now"}}};return n[t.lang]||n.cn},T.prototype.init=function(){var e=this,t=e.config,n="yyyy|y|MM|M|dd|d|HH|H|mm|m|ss|s",a="static"===t.position,i={year:"yyyy",month:"yyyy-MM",date:"yyyy-MM-dd",time:"HH:mm:ss",datetime:"yyyy-MM-dd HH:mm:ss"};t.elem=w(t.elem),t.eventElem=w(t.eventElem),t.elem[0]&&(t.range===!0&&(t.range="-"),t.format===i.date&&(t.format=i[t.type]),e.format=t.format.match(new RegExp(n+"|.","g"))||[],e.EXP_IF="",e.EXP_SPLIT="",w.each(e.format,function(t,a){var i=new RegExp(n).test(a)?"\\d{"+function(){return new RegExp(n).test(e.format[0===t?t+1:t-1]||"")?/^yyyy|y$/.test(a)?4:a.length:/^yyyy$/.test(a)?"1,4":/^y$/.test(a)?"1,308":"1,2"}()+"}":"\\"+a;e.EXP_IF=e.EXP_IF+i,e.EXP_SPLIT=e.EXP_SPLIT+"("+i+")"}),e.EXP_IF=new RegExp("^"+(t.range?e.EXP_IF+"\\s\\"+t.range+"\\s"+e.EXP_IF:e.EXP_IF)+"$"),e.EXP_SPLIT=new RegExp("^"+e.EXP_SPLIT+"$",""),e.isInput(t.elem[0])||"focus"===t.trigger&&(t.trigger="click"),t.elem.attr("lay-key")||(t.elem.attr("lay-key",e.index),t.eventElem.attr("lay-key",e.index)),t.mark=w.extend({},t.calendar&&"cn"===t.lang?{"0-1-1":"鍏冩棪","0-2-14":"鎯呬汉","0-3-8":"濡囧コ","0-3-12":"妞嶆爲","0-4-1":"鎰氫汉","0-5-1":"鍔冲姩","0-5-4":"闈掑勾","0-6-1":"鍎跨","0-9-10":"鏁欏笀","0-9-18":"鍥借��","0-10-1":"鍥藉簡","0-12-25":"鍦h癁"}:{},t.mark),w.each(["min","max"],function(e,n){var a=[],i=[];if("number"==typeof t[n]){var r=t[n],o=(new Date).getTime(),s=864e5,l=new Date(r?r<s?o+r*s:r:o);a=[l.getFullYear(),l.getMonth()+1,l.getDate()],r<s||(i=[l.getHours(),l.getMinutes(),l.getSeconds()])}else a=(t[n].match(/\d+-\d+-\d+/)||[""])[0].split("-"),i=(t[n].match(/\d+:\d+:\d+/)||[""])[0].split(":");t[n]={year:0|a[0]||(new Date).getFullYear(),month:a[1]?(0|a[1])-1:(new Date).getMonth(),date:0|a[2]||(new Date).getDate(),hours:0|i[0],minutes:0|i[1],seconds:0|i[2]}}),e.elemID="layui-laydate"+t.elem.attr("lay-key"),(t.show||a)&&e.render(),a||e.events(),t.value&&t.isInitValue&&(t.value.constructor===Date?e.setValue(e.parse(0,e.systemDate(t.value))):e.setValue(t.value)))},T.prototype.render=function(){var e=this,t=e.config,n=e.lang(),a="static"===t.position,i=e.elem=w.elem("div",{id:e.elemID,"class":["layui-laydate",t.range?" layui-laydate-range":"",a?" "+c:"",t.theme&&"default"!==t.theme&&!/^#/.test(t.theme)?" laydate-theme-"+t.theme:""].join("")}),r=e.elemMain=[],o=e.elemHeader=[],s=e.elemCont=[],l=e.table=[],d=e.footer=w.elem("div",{"class":p});if(t.zIndex&&(i.style.zIndex=t.zIndex),w.each(new Array(2),function(e){if(!t.range&&e>0)return!0;var a=w.elem("div",{"class":"layui-laydate-header"}),i=[function(){var e=w.elem("i",{"class":"layui-icon laydate-icon laydate-prev-y"});return e.innerHTML="&#xe65a;",e}(),function(){var e=w.elem("i",{"class":"layui-icon laydate-icon laydate-prev-m"});return e.innerHTML="&#xe603;",e}(),function(){var e=w.elem("div",{"class":"laydate-set-ym"}),t=w.elem("span"),n=w.elem("span");return e.appendChild(t),e.appendChild(n),e}(),function(){var e=w.elem("i",{"class":"layui-icon laydate-icon laydate-next-m"});return e.innerHTML="&#xe602;",e}(),function(){var e=w.elem("i",{"class":"layui-icon laydate-icon laydate-next-y"});return e.innerHTML="&#xe65b;",e}()],d=w.elem("div",{"class":"layui-laydate-content"}),c=w.elem("table"),m=w.elem("thead"),u=w.elem("tr");w.each(i,function(e,t){a.appendChild(t)}),m.appendChild(u),w.each(new Array(6),function(e){var t=c.insertRow(0);w.each(new Array(7),function(a){if(0===e){var i=w.elem("th");i.innerHTML=n.weeks[a],u.appendChild(i)}t.insertCell(a)})}),c.insertBefore(m,c.children[0]),d.appendChild(c),r[e]=w.elem("div",{"class":"layui-laydate-main laydate-main-list-"+e}),r[e].appendChild(a),r[e].appendChild(d),o.push(i),s.push(d),l.push(c)}),w(d).html(function(){var e=[],i=[];return"datetime"===t.type&&e.push('<span lay-type="datetime" class="laydate-btns-time">'+n.timeTips+"</span>"),w.each(t.btns,function(e,r){var o=n.tools[r]||"btn";t.range&&"now"===r||(a&&"clear"===r&&(o="cn"===t.lang?"閲嶇疆":"Reset"),i.push('<span lay-type="'+r+'" class="laydate-btns-'+r+'">'+o+"</span>"))}),e.push('<div class="laydate-footer-btns">'+i.join("")+"</div>"),e.join("")}()),w.each(r,function(e,t){i.appendChild(t)}),t.showBottom&&i.appendChild(d),/^#/.test(t.theme)){var m=w.elem("style"),u=["#{{id}} .layui-laydate-header{background-color:{{theme}};}","#{{id}} .layui-this{background-color:{{theme}} !important;}"].join("").replace(/{{id}}/g,e.elemID).replace(/{{theme}}/g,t.theme);"styleSheet"in m?(m.setAttribute("type","text/css"),m.styleSheet.cssText=u):m.innerHTML=u,w(i).addClass("laydate-theme-molv"),i.appendChild(m)}e.remove(T.thisElemDate),a?t.elem.append(i):(document.body.appendChild(i),e.position()),e.checkDate().calendar(),e.changeEvent(),T.thisElemDate=e.elemID,"function"==typeof t.ready&&t.ready(w.extend({},t.dateTime,{month:t.dateTime.month+1}))},T.prototype.remove=function(e){var t=this,n=(t.config,w("#"+(e||t.elemID)));return n.hasClass(c)||t.checkDate(function(){n.remove()}),t},T.prototype.position=function(){var e=this,t=e.config,n=e.bindElem||t.elem[0],a=n.getBoundingClientRect(),i=e.elem.offsetWidth,r=e.elem.offsetHeight,o=function(e){return e=e?"scrollLeft":"scrollTop",document.body[e]|document.documentElement[e]},s=function(e){return document.documentElement[e?"clientWidth":"clientHeight"]},l=5,d=a.left,c=a.bottom;d+i+l>s("width")&&(d=s("width")-i-l),c+r+l>s()&&(c=a.top>r?a.top-r:s()-r,c-=2*l),t.position&&(e.elem.style.position=t.position),e.elem.style.left=d+("fixed"===t.position?0:o(1))+"px",e.elem.style.top=c+("fixed"===t.position?0:o())+"px"},T.prototype.hint=function(e){var t=this,n=(t.config,w.elem("div",{"class":h}));t.elem&&(n.innerHTML=e||"",w(t.elem).find("."+h).remove(),t.elem.appendChild(n),clearTimeout(t.hinTimer),t.hinTimer=setTimeout(function(){w(t.elem).find("."+h).remove()},3e3))},T.prototype.getAsYM=function(e,t,n){return n?t--:t++,t<0&&(t=11,e--),t>11&&(t=0,e++),[e,t]},T.prototype.systemDate=function(e){var t=e||new Date;return{year:t.getFullYear(),month:t.getMonth(),date:t.getDate(),hours:e?e.getHours():0,minutes:e?e.getMinutes():0,seconds:e?e.getSeconds():0}},T.prototype.checkDate=function(e){var t,a,i=this,r=(new Date,i.config),o=r.dateTime=r.dateTime||i.systemDate(),s=i.bindElem||r.elem[0],l=(i.isInput(s)?"val":"html",i.isInput(s)?s.value:"static"===r.position?"":s.innerHTML),c=function(e){e.year>d[1]&&(e.year=d[1],a=!0),e.month>11&&(e.month=11,a=!0),e.hours>23&&(e.hours=0,a=!0),e.minutes>59&&(e.minutes=0,e.hours++,a=!0),e.seconds>59&&(e.seconds=0,e.minutes++,a=!0),t=n.getEndDate(e.month+1,e.year),e.date>t&&(e.date=t,a=!0)},m=function(e,t,n){var o=["startTime","endTime"];t=(t.match(i.EXP_SPLIT)||[]).slice(1),n=n||0,r.range&&(i[o[n]]=i[o[n]]||{}),w.each(i.format,function(s,l){var c=parseFloat(t[s]);t[s].length<l.length&&(a=!0),/yyyy|y/.test(l)?(c<d[0]&&(c=d[0],a=!0),e.year=c):/MM|M/.test(l)?(c<1&&(c=1,a=!0),e.month=c-1):/dd|d/.test(l)?(c<1&&(c=1,a=!0),e.date=c):/HH|H/.test(l)?(c<1&&(c=0,a=!0),e.hours=c,r.range&&(i[o[n]].hours=c)):/mm|m/.test(l)?(c<1&&(c=0,a=!0),e.minutes=c,r.range&&(i[o[n]].minutes=c)):/ss|s/.test(l)&&(c<1&&(c=0,a=!0),e.seconds=c,r.range&&(i[o[n]].seconds=c))}),c(e)};return"limit"===e?(c(o),i):(l=l||r.value,"string"==typeof l&&(l=l.replace(/\s+/g," ").replace(/^\s|\s$/g,"")),i.startState&&!i.endState&&(delete i.startState,i.endState=!0),"string"==typeof l&&l?i.EXP_IF.test(l)?r.range?(l=l.split(" "+r.range+" "),i.startDate=i.startDate||i.systemDate(),i.endDate=i.endDate||i.systemDate(),r.dateTime=w.extend({},i.startDate),w.each([i.startDate,i.endDate],function(e,t){m(t,l[e],e)})):m(o,l):(i.hint("鏃ユ湡鏍煎紡涓嶅悎娉�<br>蹇呴』閬靛惊涓嬭堪鏍煎紡锛�<br>"+(r.range?r.format+" "+r.range+" "+r.format:r.format)+"<br>宸蹭负浣犻噸缃�"),a=!0):l&&l.constructor===Date?r.dateTime=i.systemDate(l):(r.dateTime=i.systemDate(),delete i.startState,delete i.endState,delete i.startDate,delete i.endDate,delete i.startTime,delete i.endTime),c(o),a&&l&&i.setValue(r.range?i.endDate?i.parse():"":i.parse()),e&&e(),i)},T.prototype.mark=function(e,t){var n,a=this,i=a.config;return w.each(i.mark,function(e,a){var i=e.split("-");i[0]!=t[0]&&0!=i[0]||i[1]!=t[1]&&0!=i[1]||i[2]!=t[2]||(n=a||t[2])}),n&&e.html('<span class="laydate-day-mark">'+n+"</span>"),a},T.prototype.limit=function(e,t,n,a){var i,r=this,o=r.config,l={},d=o[n>41?"endDate":"dateTime"],c=w.extend({},d,t||{});return w.each({now:c,min:o.min,max:o.max},function(e,t){l[e]=r.newDate(w.extend({year:t.year,month:t.month,date:t.date},function(){var e={};return w.each(a,function(n,a){e[a]=t[a]}),e}())).getTime()}),i=l.now<l.min||l.now>l.max,e&&e[i?"addClass":"removeClass"](s),i},T.prototype.calendar=function(e){var t,a,i,r=this,s=r.config,l=e||s.dateTime,c=new Date,m=r.lang(),u="date"!==s.type&&"datetime"!==s.type,h=e?1:0,y=w(r.table[h]).find("td"),f=w(r.elemHeader[h][2]).find("span");if(l.year<d[0]&&(l.year=d[0],r.hint("鏈�浣庡彧鑳芥敮鎸佸埌鍏厓"+d[0]+"骞�")),l.year>d[1]&&(l.year=d[1],r.hint("鏈�楂樺彧鑳芥敮鎸佸埌鍏厓"+d[1]+"骞�")),r.firstDate||(r.firstDate=w.extend({},l)),c.setFullYear(l.year,l.month,1),t=c.getDay(),a=n.getEndDate(l.month||12,l.year),i=n.getEndDate(l.month+1,l.year),w.each(y,function(e,n){var d=[l.year,l.month],c=0;n=w(n),n.removeAttr("class"),e<t?(c=a-t+e,n.addClass("laydate-day-prev"),d=r.getAsYM(l.year,l.month,"sub")):e>=t&&e<i+t?(c=e-t,s.range||c+1===l.date&&n.addClass(o)):(c=e-i-t,n.addClass("laydate-day-next"),d=r.getAsYM(l.year,l.month)),d[1]++,d[2]=c+1,n.attr("lay-ymd",d.join("-")).html(d[2]),r.mark(n,d).limit(n,{year:d[0],month:d[1]-1,date:d[2]},e)}),w(f[0]).attr("lay-ym",l.year+"-"+(l.month+1)),w(f[1]).attr("lay-ym",l.year+"-"+(l.month+1)),"cn"===s.lang?(w(f[0]).attr("lay-type","year").html(l.year+"骞�"),w(f[1]).attr("lay-type","month").html(l.month+1+"鏈�")):(w(f[0]).attr("lay-type","month").html(m.month[l.month]),w(f[1]).attr("lay-type","year").html(l.year)),u&&(s.range&&(e?r.endDate=r.endDate||{year:l.year+("year"===s.type?1:0),month:l.month+("month"===s.type?0:-1)}:r.startDate=r.startDate||{year:l.year,month:l.month},e&&(r.listYM=[[r.startDate.year,r.startDate.month+1],[r.endDate.year,r.endDate.month+1]],r.list(s.type,0).list(s.type,1),"time"===s.type?r.setBtnStatus("鏃堕棿",w.extend({},r.systemDate(),r.startTime),w.extend({},r.systemDate(),r.endTime)):r.setBtnStatus(!0))),s.range||(r.listYM=[[l.year,l.month+1]],r.list(s.type,0))),s.range&&!e){var p=r.getAsYM(l.year,l.month);r.calendar(w.extend({},l,{year:p[0],month:p[1]}))}return s.range||r.limit(w(r.footer).find(g),null,0,["hours","minutes","seconds"]),s.range&&e&&!u&&r.stampRange(),r},T.prototype.list=function(e,t){var n=this,a=n.config,i=a.dateTime,r=n.lang(),l=a.range&&"date"!==a.type&&"datetime"!==a.type,d=w.elem("ul",{"class":m+" "+{year:"laydate-year-list",month:"laydate-month-list",time:"laydate-time-list"}[e]}),c=n.elemHeader[t],u=w(c[2]).find("span"),h=n.elemCont[t||0],y=w(h).find("."+m)[0],f="cn"===a.lang,p=f?"骞�":"",T=n.listYM[t]||{},C=["hours","minutes","seconds"],x=["startTime","endTime"][t];if(T[0]<1&&(T[0]=1),"year"===e){var M,b=M=T[0]-7;b<1&&(b=M=1),w.each(new Array(15),function(e){var i=w.elem("li",{"lay-ym":M}),r={year:M};M==T[0]&&w(i).addClass(o),i.innerHTML=M+p,d.appendChild(i),M<n.firstDate.year?(r.month=a.min.month,r.date=a.min.date):M>=n.firstDate.year&&(r.month=a.max.month,r.date=a.max.date),n.limit(w(i),r,t),M++}),w(u[f?0:1]).attr("lay-ym",M-8+"-"+T[1]).html(b+p+" - "+(M-1+p))}else if("month"===e)w.each(new Array(12),function(e){var i=w.elem("li",{"lay-ym":e}),s={year:T[0],month:e};e+1==T[1]&&w(i).addClass(o),i.innerHTML=r.month[e]+(f?"鏈�":""),d.appendChild(i),T[0]<n.firstDate.year?s.date=a.min.date:T[0]>=n.firstDate.year&&(s.date=a.max.date),n.limit(w(i),s,t)}),w(u[f?0:1]).attr("lay-ym",T[0]+"-"+T[1]).html(T[0]+p);else if("time"===e){var E=function(){w(d).find("ol").each(function(e,a){w(a).find("li").each(function(a,i){n.limit(w(i),[{hours:a},{hours:n[x].hours,minutes:a},{hours:n[x].hours,minutes:n[x].minutes,seconds:a}][e],t,[["hours"],["hours","minutes"],["hours","minutes","seconds"]][e])})}),a.range||n.limit(w(n.footer).find(g),n[x],0,["hours","minutes","seconds"])};a.range?n[x]||(n[x]={hours:0,minutes:0,seconds:0}):n[x]=i,w.each([24,60,60],function(e,t){var a=w.elem("li"),i=["<p>"+r.time[e]+"</p><ol>"];w.each(new Array(t),function(t){i.push("<li"+(n[x][C[e]]===t?' class="'+o+'"':"")+">"+w.digit(t,2)+"</li>")}),a.innerHTML=i.join("")+"</ol>",d.appendChild(a)}),E()}if(y&&h.removeChild(y),h.appendChild(d),"year"===e||"month"===e)w(n.elemMain[t]).addClass("laydate-ym-show"),w(d).find("li").on("click",function(){var r=0|w(this).attr("lay-ym");if(!w(this).hasClass(s)){if(0===t)i[e]=r,l&&(n.startDate[e]=r),n.limit(w(n.footer).find(g),null,0);else if(l)n.endDate[e]=r;else{var c="year"===e?n.getAsYM(r,T[1]-1,"sub"):n.getAsYM(T[0],r,"sub");w.extend(i,{year:c[0],month:c[1]})}"year"===a.type||"month"===a.type?(w(d).find("."+o).removeClass(o),w(this).addClass(o),"month"===a.type&&"year"===e&&(n.listYM[t][0]=r,l&&(n[["startDate","endDate"][t]].year=r),n.list("month",t))):(n.checkDate("limit").calendar(),n.closeList()),n.setBtnStatus(),a.range||n.done(null,"change"),w(n.footer).find(D).removeClass(s)}});else{var S=w.elem("span",{"class":v}),k=function(){w(d).find("ol").each(function(e){var t=this,a=w(t).find("li");t.scrollTop=30*(n[x][C[e]]-2),t.scrollTop<=0&&a.each(function(e,n){if(!w(this).hasClass(s))return t.scrollTop=30*(e-2),!0})})},H=w(c[2]).find("."+v);k(),S.innerHTML=a.range?[r.startTime,r.endTime][t]:r.timeTips,w(n.elemMain[t]).addClass("laydate-time-show"),H[0]&&H.remove(),c[2].appendChild(S),w(d).find("ol").each(function(e){var t=this;w(t).find("li").on("click",function(){var r=0|this.innerHTML;w(this).hasClass(s)||(a.range?n[x][C[e]]=r:i[C[e]]=r,w(t).find("."+o).removeClass(o),w(this).addClass(o),E(),k(),(n.endDate||"time"===a.type)&&n.done(null,"change"),n.setBtnStatus())})})}return n},T.prototype.listYM=[],T.prototype.closeList=function(){var e=this;e.config;w.each(e.elemCont,function(t,n){w(this).find("."+m).remove(),w(e.elemMain[t]).removeClass("laydate-ym-show laydate-time-show")}),w(e.elem).find("."+v).remove()},T.prototype.setBtnStatus=function(e,t,n){var a,i=this,r=i.config,o=w(i.footer).find(g),d=r.range&&"date"!==r.type&&"time"!==r.type;d&&(t=t||i.startDate,n=n||i.endDate,a=i.newDate(t).getTime()>i.newDate(n).getTime(),i.limit(null,t)||i.limit(null,n)?o.addClass(s):o[a?"addClass":"removeClass"](s),e&&a&&i.hint("string"==typeof e?l.replace(/鏃ユ湡/g,e):l))},T.prototype.parse=function(e,t){var n=this,a=n.config,i=t||(e?w.extend({},n.endDate,n.endTime):a.range?w.extend({},n.startDate,n.startTime):a.dateTime),r=n.format.concat();return w.each(r,function(e,t){/yyyy|y/.test(t)?r[e]=w.digit(i.year,t.length):/MM|M/.test(t)?r[e]=w.digit(i.month+1,t.length):/dd|d/.test(t)?r[e]=w.digit(i.date,t.length):/HH|H/.test(t)?r[e]=w.digit(i.hours,t.length):/mm|m/.test(t)?r[e]=w.digit(i.minutes,t.length):/ss|s/.test(t)&&(r[e]=w.digit(i.seconds,t.length))}),a.range&&!e?r.join("")+" "+a.range+" "+n.parse(1):r.join("")},T.prototype.newDate=function(e){return e=e||{},new Date(e.year||1,e.month||0,e.date||1,e.hours||0,e.minutes||0,e.seconds||0)},T.prototype.setValue=function(e){var t=this,n=t.config,a=t.bindElem||n.elem[0],i=t.isInput(a)?"val":"html";return"static"===n.position||w(a)[i](e||""),this},T.prototype.stampRange=function(){var e,t,n=this,a=n.config,i=w(n.elem).find("td");if(a.range&&!n.endDate&&w(n.footer).find(g).addClass(s),n.endDate)return e=n.newDate({year:n.startDate.year,month:n.startDate.month,date:n.startDate.date}).getTime(),t=n.newDate({year:n.endDate.year,month:n.endDate.month,date:n.endDate.date}).getTime(),e>t?n.hint(l):void w.each(i,function(a,i){var r=w(i).attr("lay-ymd").split("-"),s=n.newDate({year:r[0],month:r[1]-1,date:r[2]}).getTime();w(i).removeClass(u+" "+o),s!==e&&s!==t||w(i).addClass(w(i).hasClass(y)||w(i).hasClass(f)?u:o),s>e&&s<t&&w(i).addClass(u)})},T.prototype.done=function(e,t){var n=this,a=n.config,i=w.extend({},n.startDate?w.extend(n.startDate,n.startTime):a.dateTime),r=w.extend({},w.extend(n.endDate,n.endTime));return w.each([i,r],function(e,t){"month"in t&&w.extend(t,{month:t.month+1})}),e=e||[n.parse(),i,r],"function"==typeof a[t||"done"]&&a[t||"done"].apply(a,e),n},T.prototype.choose=function(e){var t=this,n=t.config,a=n.dateTime,i=w(t.elem).find("td"),r=e.attr("lay-ymd").split("-"),l=function(e){new Date;e&&w.extend(a,r),n.range&&(t.startDate?w.extend(t.startDate,r):t.startDate=w.extend({},r,t.startTime),t.startYMD=r)};if(r={year:0|r[0],month:(0|r[1])-1,date:0|r[2]},!e.hasClass(s))if(n.range){if(w.each(["startTime","endTime"],function(e,n){t[n]=t[n]||{hours:0,minutes:0,seconds:0}}),t.endState)l(),delete t.endState,delete t.endDate,t.startState=!0,i.removeClass(o+" "+u),e.addClass(o);else if(t.startState){if(e.addClass(o),t.endDate?w.extend(t.endDate,r):t.endDate=w.extend({},r,t.endTime),t.newDate(r).getTime()<t.newDate(t.startYMD).getTime()){var d=w.extend({},t.endDate,{hours:t.startDate.hours,minutes:t.startDate.minutes,seconds:t.startDate.seconds});w.extend(t.endDate,t.startDate,{hours:t.endDate.hours,minutes:t.endDate.minutes,seconds:t.endDate.seconds}),t.startDate=d}n.showBottom||t.done(),t.stampRange(),t.endState=!0,t.done(null,"change")}else e.addClass(o),l(),t.startState=!0;w(t.footer).find(g)[t.endDate?"removeClass":"addClass"](s)}else"static"===n.position?(l(!0),t.calendar().done().done(null,"change")):"date"===n.type?(l(!0),t.setValue(t.parse()).remove().done()):"datetime"===n.type&&(l(!0),t.calendar().done(null,"change"))},T.prototype.tool=function(e,t){var n=this,a=n.config,i=a.dateTime,r="static"===a.position,o={datetime:function(){w(e).hasClass(s)||(n.list("time",0),a.range&&n.list("time",1),w(e).attr("lay-type","date").html(n.lang().dateTips))},date:function(){n.closeList(),w(e).attr("lay-type","datetime").html(n.lang().timeTips)},clear:function(){n.setValue("").remove(),r&&(w.extend(i,n.firstDate),n.calendar()),a.range&&(delete n.startState,delete n.endState,delete n.endDate,delete n.startTime,delete n.endTime),n.done(["",{},{}])},now:function(){var e=new Date;w.extend(i,n.systemDate(),{hours:e.getHours(),minutes:e.getMinutes(),seconds:e.getSeconds()}),n.setValue(n.parse()).remove(),r&&n.calendar(),n.done()},confirm:function(){if(a.range){if(!n.endDate)return n.hint("璇峰厛閫夋嫨鏃ユ湡鑼冨洿");if(w(e).hasClass(s))return n.hint("time"===a.type?l.replace(/鏃ユ湡/g,"鏃堕棿"):l)}else if(w(e).hasClass(s))return n.hint("涓嶅湪鏈夋晥鏃ユ湡鎴栨椂闂磋寖鍥村唴");n.done(),n.setValue(n.parse()).remove()}};o[t]&&o[t]()},T.prototype.change=function(e){var t=this,n=t.config,a=n.dateTime,i=n.range&&("year"===n.type||"month"===n.type),r=t.elemCont[e||0],o=t.listYM[e],s=function(s){var l=["startDate","endDate"][e],d=w(r).find(".laydate-year-list")[0],c=w(r).find(".laydate-month-list")[0];return d&&(o[0]=s?o[0]-15:o[0]+15,t.list("year",e)),c&&(s?o[0]--:o[0]++,t.list("month",e)),(d||c)&&(w.extend(a,{year:o[0]}),i&&(t[l].year=o[0]),n.range||t.done(null,"change"),t.setBtnStatus(),n.range||t.limit(w(t.footer).find(g),{year:o[0]})),d||c};return{prevYear:function(){s("sub")||(a.year--,t.checkDate("limit").calendar(),n.range||t.done(null,"change"))},prevMonth:function(){var e=t.getAsYM(a.year,a.month,"sub");w.extend(a,{year:e[0],month:e[1]}),t.checkDate("limit").calendar(),n.range||t.done(null,"change")},nextMonth:function(){var e=t.getAsYM(a.year,a.month);w.extend(a,{year:e[0],month:e[1]}),t.checkDate("limit").calendar(),n.range||t.done(null,"change")},nextYear:function(){s()||(a.year++,t.checkDate("limit").calendar(),n.range||t.done(null,"change"))}}},T.prototype.changeEvent=function(){var e=this;e.config;w(e.elem).on("click",function(e){w.stope(e)}),w.each(e.elemHeader,function(t,n){w(n[0]).on("click",function(n){e.change(t).prevYear()}),w(n[1]).on("click",function(n){e.change(t).prevMonth()}),w(n[2]).find("span").on("click",function(n){var a=w(this),i=a.attr("lay-ym"),r=a.attr("lay-type");i&&(i=i.split("-"),e.listYM[t]=[0|i[0],0|i[1]],e.list(r,t),w(e.footer).find(D).addClass(s))}),w(n[3]).on("click",function(n){e.change(t).nextMonth()}),w(n[4]).on("click",function(n){e.change(t).nextYear()})}),w.each(e.table,function(t,n){var a=w(n).find("td");a.on("click",function(){e.choose(w(this))})}),w(e.footer).find("span").on("click",function(){var t=w(this).attr("lay-type");e.tool(this,t)})},T.prototype.isInput=function(e){return/input|textarea/.test(e.tagName.toLocaleLowerCase())},T.prototype.events=function(){var e=this,t=e.config,n=function(n,a){n.on(t.trigger,function(){a&&(e.bindElem=this),e.render()})};t.elem[0]&&!t.elem[0].eventHandler&&(n(t.elem,"bind"),n(t.eventElem),w(document).on("click",function(n){n.target!==t.elem[0]&&n.target!==t.eventElem[0]&&n.target!==w(t.closeStop)[0]&&e.remove()}).on("keydown",function(t){13===t.keyCode&&w("#"+e.elemID)[0]&&e.elemID===T.thisElem&&(t.preventDefault(),w(e.footer).find(g)[0].click())}),w(window).on("resize",function(){return!(!e.elem||!w(r)[0])&&void e.position()}),t.elem[0].eventHandler=!0)},n.render=function(e){var t=new T(e);return a.call(t)},n.getEndDate=function(e,t){var n=new Date;return n.setFullYear(t||n.getFullYear(),e||n.getMonth()+1,1),new Date(n.getTime()-864e5).getDate()},window.lay=window.lay||w,e?(n.ready(),layui.define(function(e){n.path=layui.cache.dir,e(i,n)})):"function"==typeof define&&define.amd?define(function(){return n}):function(){n.ready(),window.laydate=n}()}();!function(e,t){"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){function n(e){var t=!!e&&"length"in e&&e.length,n=pe.type(e);return"function"!==n&&!pe.isWindow(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}function r(e,t,n){if(pe.isFunction(t))return pe.grep(e,function(e,r){return!!t.call(e,r,e)!==n});if(t.nodeType)return pe.grep(e,function(e){return e===t!==n});if("string"==typeof t){if(Ce.test(t))return pe.filter(t,e,n);t=pe.filter(t,e)}return pe.grep(e,function(e){return pe.inArray(e,t)>-1!==n})}function i(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}function o(e){var t={};return pe.each(e.match(De)||[],function(e,n){t[n]=!0}),t}function a(){re.addEventListener?(re.removeEventListener("DOMContentLoaded",s),e.removeEventListener("load",s)):(re.detachEvent("onreadystatechange",s),e.detachEvent("onload",s))}function s(){(re.addEventListener||"load"===e.event.type||"complete"===re.readyState)&&(a(),pe.ready())}function u(e,t,n){if(void 0===n&&1===e.nodeType){var r="data-"+t.replace(_e,"-$1").toLowerCase();if(n=e.getAttribute(r),"string"==typeof n){try{n="true"===n||"false"!==n&&("null"===n?null:+n+""===n?+n:qe.test(n)?pe.parseJSON(n):n)}catch(i){}pe.data(e,t,n)}else n=void 0}return n}function l(e){var t;for(t in e)if(("data"!==t||!pe.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}function c(e,t,n,r){if(He(e)){var i,o,a=pe.expando,s=e.nodeType,u=s?pe.cache:e,l=s?e[a]:e[a]&&a;if(l&&u[l]&&(r||u[l].data)||void 0!==n||"string"!=typeof t)return l||(l=s?e[a]=ne.pop()||pe.guid++:a),u[l]||(u[l]=s?{}:{toJSON:pe.noop}),"object"!=typeof t&&"function"!=typeof t||(r?u[l]=pe.extend(u[l],t):u[l].data=pe.extend(u[l].data,t)),o=u[l],r||(o.data||(o.data={}),o=o.data),void 0!==n&&(o[pe.camelCase(t)]=n),"string"==typeof t?(i=o[t],null==i&&(i=o[pe.camelCase(t)])):i=o,i}}function f(e,t,n){if(He(e)){var r,i,o=e.nodeType,a=o?pe.cache:e,s=o?e[pe.expando]:pe.expando;if(a[s]){if(t&&(r=n?a[s]:a[s].data)){pe.isArray(t)?t=t.concat(pe.map(t,pe.camelCase)):t in r?t=[t]:(t=pe.camelCase(t),t=t in r?[t]:t.split(" ")),i=t.length;for(;i--;)delete r[t[i]];if(n?!l(r):!pe.isEmptyObject(r))return}(n||(delete a[s].data,l(a[s])))&&(o?pe.cleanData([e],!0):fe.deleteExpando||a!=a.window?delete a[s]:a[s]=void 0)}}}function d(e,t,n,r){var i,o=1,a=20,s=r?function(){return r.cur()}:function(){return pe.css(e,t,"")},u=s(),l=n&&n[3]||(pe.cssNumber[t]?"":"px"),c=(pe.cssNumber[t]||"px"!==l&&+u)&&Me.exec(pe.css(e,t));if(c&&c[3]!==l){l=l||c[3],n=n||[],c=+u||1;do o=o||".5",c/=o,pe.style(e,t,c+l);while(o!==(o=s()/u)&&1!==o&&--a)}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}function p(e){var t=ze.split("|"),n=e.createDocumentFragment();if(n.createElement)for(;t.length;)n.createElement(t.pop());return n}function h(e,t){var n,r,i=0,o="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):void 0;if(!o)for(o=[],n=e.childNodes||e;null!=(r=n[i]);i++)!t||pe.nodeName(r,t)?o.push(r):pe.merge(o,h(r,t));return void 0===t||t&&pe.nodeName(e,t)?pe.merge([e],o):o}function g(e,t){for(var n,r=0;null!=(n=e[r]);r++)pe._data(n,"globalEval",!t||pe._data(t[r],"globalEval"))}function m(e){Be.test(e.type)&&(e.defaultChecked=e.checked)}function y(e,t,n,r,i){for(var o,a,s,u,l,c,f,d=e.length,y=p(t),v=[],x=0;x<d;x++)if(a=e[x],a||0===a)if("object"===pe.type(a))pe.merge(v,a.nodeType?[a]:a);else if(Ue.test(a)){for(u=u||y.appendChild(t.createElement("div")),l=(We.exec(a)||["",""])[1].toLowerCase(),f=Xe[l]||Xe._default,u.innerHTML=f[1]+pe.htmlPrefilter(a)+f[2],o=f[0];o--;)u=u.lastChild;if(!fe.leadingWhitespace&&$e.test(a)&&v.push(t.createTextNode($e.exec(a)[0])),!fe.tbody)for(a="table"!==l||Ve.test(a)?"<table>"!==f[1]||Ve.test(a)?0:u:u.firstChild,o=a&&a.childNodes.length;o--;)pe.nodeName(c=a.childNodes[o],"tbody")&&!c.childNodes.length&&a.removeChild(c);for(pe.merge(v,u.childNodes),u.textContent="";u.firstChild;)u.removeChild(u.firstChild);u=y.lastChild}else v.push(t.createTextNode(a));for(u&&y.removeChild(u),fe.appendChecked||pe.grep(h(v,"input"),m),x=0;a=v[x++];)if(r&&pe.inArray(a,r)>-1)i&&i.push(a);else if(s=pe.contains(a.ownerDocument,a),u=h(y.appendChild(a),"script"),s&&g(u),n)for(o=0;a=u[o++];)Ie.test(a.type||"")&&n.push(a);return u=null,y}function v(){return!0}function x(){return!1}function b(){try{return re.activeElement}catch(e){}}function w(e,t,n,r,i,o){var a,s;if("object"==typeof t){"string"!=typeof n&&(r=r||n,n=void 0);for(s in t)w(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),i===!1)i=x;else if(!i)return e;return 1===o&&(a=i,i=function(e){return pe().off(e),a.apply(this,arguments)},i.guid=a.guid||(a.guid=pe.guid++)),e.each(function(){pe.event.add(this,t,i,r,n)})}function T(e,t){return pe.nodeName(e,"table")&&pe.nodeName(11!==t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function C(e){return e.type=(null!==pe.find.attr(e,"type"))+"/"+e.type,e}function E(e){var t=it.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function N(e,t){if(1===t.nodeType&&pe.hasData(e)){var n,r,i,o=pe._data(e),a=pe._data(t,o),s=o.events;if(s){delete a.handle,a.events={};for(n in s)for(r=0,i=s[n].length;r<i;r++)pe.event.add(t,n,s[n][r])}a.data&&(a.data=pe.extend({},a.data))}}function k(e,t){var n,r,i;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!fe.noCloneEvent&&t[pe.expando]){i=pe._data(t);for(r in i.events)pe.removeEvent(t,r,i.handle);t.removeAttribute(pe.expando)}"script"===n&&t.text!==e.text?(C(t).text=e.text,E(t)):"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),fe.html5Clone&&e.innerHTML&&!pe.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&Be.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===n?t.defaultSelected=t.selected=e.defaultSelected:"input"!==n&&"textarea"!==n||(t.defaultValue=e.defaultValue)}}function S(e,t,n,r){t=oe.apply([],t);var i,o,a,s,u,l,c=0,f=e.length,d=f-1,p=t[0],g=pe.isFunction(p);if(g||f>1&&"string"==typeof p&&!fe.checkClone&&rt.test(p))return e.each(function(i){var o=e.eq(i);g&&(t[0]=p.call(this,i,o.html())),S(o,t,n,r)});if(f&&(l=y(t,e[0].ownerDocument,!1,e,r),i=l.firstChild,1===l.childNodes.length&&(l=i),i||r)){for(s=pe.map(h(l,"script"),C),a=s.length;c<f;c++)o=l,c!==d&&(o=pe.clone(o,!0,!0),a&&pe.merge(s,h(o,"script"))),n.call(e[c],o,c);if(a)for(u=s[s.length-1].ownerDocument,pe.map(s,E),c=0;c<a;c++)o=s[c],Ie.test(o.type||"")&&!pe._data(o,"globalEval")&&pe.contains(u,o)&&(o.src?pe._evalUrl&&pe._evalUrl(o.src):pe.globalEval((o.text||o.textContent||o.innerHTML||"").replace(ot,"")));l=i=null}return e}function A(e,t,n){for(var r,i=t?pe.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||pe.cleanData(h(r)),r.parentNode&&(n&&pe.contains(r.ownerDocument,r)&&g(h(r,"script")),r.parentNode.removeChild(r));return e}function D(e,t){var n=pe(t.createElement(e)).appendTo(t.body),r=pe.css(n[0],"display");return n.detach(),r}function j(e){var t=re,n=lt[e];return n||(n=D(e,t),"none"!==n&&n||(ut=(ut||pe("<iframe frameborder='0' width='0' height='0'/>")).appendTo(t.documentElement),t=(ut[0].contentWindow||ut[0].contentDocument).document,t.write(),t.close(),n=D(e,t),ut.detach()),lt[e]=n),n}function L(e,t){return{get:function(){return e()?void delete this.get:(this.get=t).apply(this,arguments)}}}function H(e){if(e in Et)return e;for(var t=e.charAt(0).toUpperCase()+e.slice(1),n=Ct.length;n--;)if(e=Ct[n]+t,e in Et)return e}function q(e,t){for(var n,r,i,o=[],a=0,s=e.length;a<s;a++)r=e[a],r.style&&(o[a]=pe._data(r,"olddisplay"),n=r.style.display,t?(o[a]||"none"!==n||(r.style.display=""),""===r.style.display&&Re(r)&&(o[a]=pe._data(r,"olddisplay",j(r.nodeName)))):(i=Re(r),(n&&"none"!==n||!i)&&pe._data(r,"olddisplay",i?n:pe.css(r,"display"))));for(a=0;a<s;a++)r=e[a],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[a]||"":"none"));return e}function _(e,t,n){var r=bt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function F(e,t,n,r,i){for(var o=n===(r?"border":"content")?4:"width"===t?1:0,a=0;o<4;o+=2)"margin"===n&&(a+=pe.css(e,n+Oe[o],!0,i)),r?("content"===n&&(a-=pe.css(e,"padding"+Oe[o],!0,i)),"margin"!==n&&(a-=pe.css(e,"border"+Oe[o]+"Width",!0,i))):(a+=pe.css(e,"padding"+Oe[o],!0,i),"padding"!==n&&(a+=pe.css(e,"border"+Oe[o]+"Width",!0,i)));return a}function M(t,n,r){var i=!0,o="width"===n?t.offsetWidth:t.offsetHeight,a=ht(t),s=fe.boxSizing&&"border-box"===pe.css(t,"boxSizing",!1,a);if(re.msFullscreenElement&&e.top!==e&&t.getClientRects().length&&(o=Math.round(100*t.getBoundingClientRect()[n])),o<=0||null==o){if(o=gt(t,n,a),(o<0||null==o)&&(o=t.style[n]),ft.test(o))return o;i=s&&(fe.boxSizingReliable()||o===t.style[n]),o=parseFloat(o)||0}return o+F(t,n,r||(s?"border":"content"),i,a)+"px"}function O(e,t,n,r,i){return new O.prototype.init(e,t,n,r,i)}function R(){return e.setTimeout(function(){Nt=void 0}),Nt=pe.now()}function P(e,t){var n,r={height:e},i=0;for(t=t?1:0;i<4;i+=2-t)n=Oe[i],r["margin"+n]=r["padding"+n]=e;return t&&(r.opacity=r.width=e),r}function B(e,t,n){for(var r,i=($.tweeners[t]||[]).concat($.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function W(e,t,n){var r,i,o,a,s,u,l,c,f=this,d={},p=e.style,h=e.nodeType&&Re(e),g=pe._data(e,"fxshow");n.queue||(s=pe._queueHooks(e,"fx"),null==s.unqueued&&(s.unqueued=0,u=s.empty.fire,s.empty.fire=function(){s.unqueued||u()}),s.unqueued++,f.always(function(){f.always(function(){s.unqueued--,pe.queue(e,"fx").length||s.empty.fire()})})),1===e.nodeType&&("height"in t||"width"in t)&&(n.overflow=[p.overflow,p.overflowX,p.overflowY],l=pe.css(e,"display"),c="none"===l?pe._data(e,"olddisplay")||j(e.nodeName):l,"inline"===c&&"none"===pe.css(e,"float")&&(fe.inlineBlockNeedsLayout&&"inline"!==j(e.nodeName)?p.zoom=1:p.display="inline-block")),n.overflow&&(p.overflow="hidden",fe.shrinkWrapBlocks()||f.always(function(){p.overflow=n.overflow[0],p.overflowX=n.overflow[1],p.overflowY=n.overflow[2]}));for(r in t)if(i=t[r],St.exec(i)){if(delete t[r],o=o||"toggle"===i,i===(h?"hide":"show")){if("show"!==i||!g||void 0===g[r])continue;h=!0}d[r]=g&&g[r]||pe.style(e,r)}else l=void 0;if(pe.isEmptyObject(d))"inline"===("none"===l?j(e.nodeName):l)&&(p.display=l);else{g?"hidden"in g&&(h=g.hidden):g=pe._data(e,"fxshow",{}),o&&(g.hidden=!h),h?pe(e).show():f.done(function(){pe(e).hide()}),f.done(function(){var t;pe._removeData(e,"fxshow");for(t in d)pe.style(e,t,d[t])});for(r in d)a=B(h?g[r]:0,r,f),r in g||(g[r]=a.start,h&&(a.end=a.start,a.start="width"===r||"height"===r?1:0))}}function I(e,t){var n,r,i,o,a;for(n in e)if(r=pe.camelCase(n),i=t[r],o=e[n],pe.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),a=pe.cssHooks[r],a&&"expand"in a){o=a.expand(o),delete e[r];for(n in o)n in e||(e[n]=o[n],t[n]=i)}else t[r]=i}function $(e,t,n){var r,i,o=0,a=$.prefilters.length,s=pe.Deferred().always(function(){delete u.elem}),u=function(){if(i)return!1;for(var t=Nt||R(),n=Math.max(0,l.startTime+l.duration-t),r=n/l.duration||0,o=1-r,a=0,u=l.tweens.length;a<u;a++)l.tweens[a].run(o);return s.notifyWith(e,[l,o,n]),o<1&&u?n:(s.resolveWith(e,[l]),!1)},l=s.promise({elem:e,props:pe.extend({},t),opts:pe.extend(!0,{specialEasing:{},easing:pe.easing._default},n),originalProperties:t,originalOptions:n,startTime:Nt||R(),duration:n.duration,tweens:[],createTween:function(t,n){var r=pe.Tween(e,l.opts,t,n,l.opts.specialEasing[t]||l.opts.easing);return l.tweens.push(r),r},stop:function(t){var n=0,r=t?l.tweens.length:0;if(i)return this;for(i=!0;n<r;n++)l.tweens[n].run(1);return t?(s.notifyWith(e,[l,1,0]),s.resolveWith(e,[l,t])):s.rejectWith(e,[l,t]),this}}),c=l.props;for(I(c,l.opts.specialEasing);o<a;o++)if(r=$.prefilters[o].call(l,e,c,l.opts))return pe.isFunction(r.stop)&&(pe._queueHooks(l.elem,l.opts.queue).stop=pe.proxy(r.stop,r)),r;return pe.map(c,B,l),pe.isFunction(l.opts.start)&&l.opts.start.call(e,l),pe.fx.timer(pe.extend(u,{elem:e,anim:l,queue:l.opts.queue})),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always)}function z(e){return pe.attr(e,"class")||""}function X(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(De)||[];if(pe.isFunction(n))for(;r=o[i++];)"+"===r.charAt(0)?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function U(e,t,n,r){function i(s){var u;return o[s]=!0,pe.each(e[s]||[],function(e,s){var l=s(t,n,r);return"string"!=typeof l||a||o[l]?a?!(u=l):void 0:(t.dataTypes.unshift(l),i(l),!1)}),u}var o={},a=e===Qt;return i(t.dataTypes[0])||!o["*"]&&i("*")}function V(e,t){var n,r,i=pe.ajaxSettings.flatOptions||{};for(r in t)void 0!==t[r]&&((i[r]?e:n||(n={}))[r]=t[r]);return n&&pe.extend(!0,e,n),e}function Y(e,t,n){for(var r,i,o,a,s=e.contents,u=e.dataTypes;"*"===u[0];)u.shift(),void 0===i&&(i=e.mimeType||t.getResponseHeader("Content-Type"));if(i)for(a in s)if(s[a]&&s[a].test(i)){u.unshift(a);break}if(u[0]in n)o=u[0];else{for(a in n){if(!u[0]||e.converters[a+" "+u[0]]){o=a;break}r||(r=a)}o=o||r}if(o)return o!==u[0]&&u.unshift(o),n[o]}function J(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];for(o=c.shift();o;)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(a=l[u+" "+o]||l["* "+o],!a)for(i in l)if(s=i.split(" "),s[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){a===!0?a=l[i]:l[i]!==!0&&(o=s[0],c.unshift(s[1]));break}if(a!==!0)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(f){return{state:"parsererror",error:a?f:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}function G(e){return e.style&&e.style.display||pe.css(e,"display")}function K(e){for(;e&&1===e.nodeType;){if("none"===G(e)||"hidden"===e.type)return!0;e=e.parentNode}return!1}function Q(e,t,n,r){var i;if(pe.isArray(t))pe.each(t,function(t,i){n||rn.test(e)?r(e,i):Q(e+"["+("object"==typeof i&&null!=i?t:"")+"]",i,n,r)});else if(n||"object"!==pe.type(t))r(e,t);else for(i in t)Q(e+"["+i+"]",t[i],n,r)}function Z(){try{return new e.XMLHttpRequest}catch(t){}}function ee(){try{return new e.ActiveXObject("Microsoft.XMLHTTP")}catch(t){}}function te(e){return pe.isWindow(e)?e:9===e.nodeType&&(e.defaultView||e.parentWindow)}var ne=[],re=e.document,ie=ne.slice,oe=ne.concat,ae=ne.push,se=ne.indexOf,ue={},le=ue.toString,ce=ue.hasOwnProperty,fe={},de="1.12.3",pe=function(e,t){return new pe.fn.init(e,t)},he=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,ge=/^-ms-/,me=/-([\da-z])/gi,ye=function(e,t){return t.toUpperCase()};pe.fn=pe.prototype={jquery:de,constructor:pe,selector:"",length:0,toArray:function(){return ie.call(this)},get:function(e){return null!=e?e<0?this[e+this.length]:this[e]:ie.call(this)},pushStack:function(e){var t=pe.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e){return pe.each(this,e)},map:function(e){return this.pushStack(pe.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(ie.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:ae,sort:ne.sort,splice:ne.splice},pe.extend=pe.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||pe.isFunction(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(i=arguments[s]))for(r in i)e=a[r],n=i[r],a!==n&&(l&&n&&(pe.isPlainObject(n)||(t=pe.isArray(n)))?(t?(t=!1,o=e&&pe.isArray(e)?e:[]):o=e&&pe.isPlainObject(e)?e:{},a[r]=pe.extend(l,o,n)):void 0!==n&&(a[r]=n));return a},pe.extend({expando:"jQuery"+(de+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isFunction:function(e){return"function"===pe.type(e)},isArray:Array.isArray||function(e){return"array"===pe.type(e)},isWindow:function(e){return null!=e&&e==e.window},isNumeric:function(e){var t=e&&e.toString();return!pe.isArray(e)&&t-parseFloat(t)+1>=0},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},isPlainObject:function(e){var t;if(!e||"object"!==pe.type(e)||e.nodeType||pe.isWindow(e))return!1;try{if(e.constructor&&!ce.call(e,"constructor")&&!ce.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(n){return!1}if(!fe.ownFirst)for(t in e)return ce.call(e,t);for(t in e);return void 0===t||ce.call(e,t)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?ue[le.call(e)]||"object":typeof e},globalEval:function(t){t&&pe.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(ge,"ms-").replace(me,ye)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t){var r,i=0;if(n(e))for(r=e.length;i<r&&t.call(e[i],i,e[i])!==!1;i++);else for(i in e)if(t.call(e[i],i,e[i])===!1)break;return e},trim:function(e){return null==e?"":(e+"").replace(he,"")},makeArray:function(e,t){var r=t||[];return null!=e&&(n(Object(e))?pe.merge(r,"string"==typeof e?[e]:e):ae.call(r,e)),r},inArray:function(e,t,n){var r;if(t){if(se)return se.call(t,e,n);for(r=t.length,n=n?n<0?Math.max(0,r+n):n:0;n<r;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;)e[i++]=t[r++];if(n!==n)for(;void 0!==t[r];)e[i++]=t[r++];return e.length=i,e},grep:function(e,t,n){for(var r,i=[],o=0,a=e.length,s=!n;o<a;o++)r=!t(e[o],o),r!==s&&i.push(e[o]);return i},map:function(e,t,r){var i,o,a=0,s=[];if(n(e))for(i=e.length;a<i;a++)o=t(e[a],a,r),null!=o&&s.push(o);else for(a in e)o=t(e[a],a,r),null!=o&&s.push(o);return oe.apply([],s)},guid:1,proxy:function(e,t){var n,r,i;if("string"==typeof t&&(i=e[t],t=e,e=i),pe.isFunction(e))return n=ie.call(arguments,2),r=function(){return e.apply(t||this,n.concat(ie.call(arguments)))},r.guid=e.guid=e.guid||pe.guid++,r},now:function(){return+new Date},support:fe}),"function"==typeof Symbol&&(pe.fn[Symbol.iterator]=ne[Symbol.iterator]),pe.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){ue["[object "+t+"]"]=t.toLowerCase()});var ve=function(e){function t(e,t,n,r){var i,o,a,s,u,l,f,p,h=t&&t.ownerDocument,g=t?t.nodeType:9;if(n=n||[],"string"!=typeof e||!e||1!==g&&9!==g&&11!==g)return n;if(!r&&((t?t.ownerDocument||t:B)!==H&&L(t),t=t||H,_)){if(11!==g&&(l=ye.exec(e)))if(i=l[1]){if(9===g){if(!(a=t.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(h&&(a=h.getElementById(i))&&R(t,a)&&a.id===i)return n.push(a),n}else{if(l[2])return Q.apply(n,t.getElementsByTagName(e)),n;if((i=l[3])&&w.getElementsByClassName&&t.getElementsByClassName)return Q.apply(n,t.getElementsByClassName(i)),n}if(w.qsa&&!X[e+" "]&&(!F||!F.test(e))){if(1!==g)h=t,p=e;else if("object"!==t.nodeName.toLowerCase()){for((s=t.getAttribute("id"))?s=s.replace(xe,"\\$&"):t.setAttribute("id",s=P),f=N(e),o=f.length,u=de.test(s)?"#"+s:"[id='"+s+"']";o--;)f[o]=u+" "+d(f[o]);p=f.join(","),h=ve.test(e)&&c(t.parentNode)||t}if(p)try{return Q.apply(n,h.querySelectorAll(p)),n}catch(m){}finally{s===P&&t.removeAttribute("id")}}}return S(e.replace(se,"$1"),t,n,r)}function n(){function e(n,r){return t.push(n+" ")>T.cacheLength&&delete e[t.shift()],e[n+" "]=r}var t=[];return e}function r(e){return e[P]=!0,e}function i(e){var t=H.createElement("div");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function o(e,t){for(var n=e.split("|"),r=n.length;r--;)T.attrHandle[n[r]]=t}function a(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||V)-(~e.sourceIndex||V);if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function s(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function u(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function l(e){return r(function(t){return t=+t,r(function(n,r){for(var i,o=e([],n.length,t),a=o.length;a--;)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function c(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}function f(){}function d(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function p(e,t,n){var r=t.dir,i=n&&"parentNode"===r,o=I++;return t.first?function(t,n,o){for(;t=t[r];)if(1===t.nodeType||i)return e(t,n,o)}:function(t,n,a){var s,u,l,c=[W,o];if(a){for(;t=t[r];)if((1===t.nodeType||i)&&e(t,n,a))return!0}else for(;t=t[r];)if(1===t.nodeType||i){if(l=t[P]||(t[P]={}),u=l[t.uniqueID]||(l[t.uniqueID]={}),(s=u[r])&&s[0]===W&&s[1]===o)return c[2]=s[2];if(u[r]=c,c[2]=e(t,n,a))return!0}}}function h(e){return e.length>1?function(t,n,r){for(var i=e.length;i--;)if(!e[i](t,n,r))return!1;return!0}:e[0]}function g(e,n,r){for(var i=0,o=n.length;i<o;i++)t(e,n[i],r);return r}function m(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function y(e,t,n,i,o,a){return i&&!i[P]&&(i=y(i)),o&&!o[P]&&(o=y(o,a)),r(function(r,a,s,u){var l,c,f,d=[],p=[],h=a.length,y=r||g(t||"*",s.nodeType?[s]:s,[]),v=!e||!r&&t?y:m(y,d,e,s,u),x=n?o||(r?e:h||i)?[]:a:v;if(n&&n(v,x,s,u),i)for(l=m(x,p),i(l,[],s,u),c=l.length;c--;)(f=l[c])&&(x[p[c]]=!(v[p[c]]=f));if(r){if(o||e){if(o){for(l=[],c=x.length;c--;)(f=x[c])&&l.push(v[c]=f);o(null,x=[],l,u)}for(c=x.length;c--;)(f=x[c])&&(l=o?ee(r,f):d[c])>-1&&(r[l]=!(a[l]=f))}}else x=m(x===a?x.splice(h,x.length):x),o?o(null,a,x,u):Q.apply(a,x)})}function v(e){for(var t,n,r,i=e.length,o=T.relative[e[0].type],a=o||T.relative[" "],s=o?1:0,u=p(function(e){return e===t},a,!0),l=p(function(e){return ee(t,e)>-1},a,!0),c=[function(e,n,r){var i=!o&&(r||n!==A)||((t=n).nodeType?u(e,n,r):l(e,n,r));return t=null,i}];s<i;s++)if(n=T.relative[e[s].type])c=[p(h(c),n)];else{if(n=T.filter[e[s].type].apply(null,e[s].matches),n[P]){for(r=++s;r<i&&!T.relative[e[r].type];r++);return y(s>1&&h(c),s>1&&d(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(se,"$1"),n,s<r&&v(e.slice(s,r)),r<i&&v(e=e.slice(r)),r<i&&d(e))}c.push(n)}return h(c)}function x(e,n){var i=n.length>0,o=e.length>0,a=function(r,a,s,u,l){var c,f,d,p=0,h="0",g=r&&[],y=[],v=A,x=r||o&&T.find.TAG("*",l),b=W+=null==v?1:Math.random()||.1,w=x.length;for(l&&(A=a===H||a||l);h!==w&&null!=(c=x[h]);h++){if(o&&c){for(f=0,a||c.ownerDocument===H||(L(c),s=!_);d=e[f++];)if(d(c,a||H,s)){u.push(c);break}l&&(W=b)}i&&((c=!d&&c)&&p--,r&&g.push(c))}if(p+=h,i&&h!==p){for(f=0;d=n[f++];)d(g,y,a,s);if(r){if(p>0)for(;h--;)g[h]||y[h]||(y[h]=G.call(u));y=m(y)}Q.apply(u,y),l&&!r&&y.length>0&&p+n.length>1&&t.uniqueSort(u)}return l&&(W=b,A=v),g};return i?r(a):a}var b,w,T,C,E,N,k,S,A,D,j,L,H,q,_,F,M,O,R,P="sizzle"+1*new Date,B=e.document,W=0,I=0,$=n(),z=n(),X=n(),U=function(e,t){return e===t&&(j=!0),0},V=1<<31,Y={}.hasOwnProperty,J=[],G=J.pop,K=J.push,Q=J.push,Z=J.slice,ee=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},te="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",ne="[\\x20\\t\\r\\n\\f]",re="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",ie="\\["+ne+"*("+re+")(?:"+ne+"*([*^$|!~]?=)"+ne+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+re+"))|)"+ne+"*\\]",oe=":("+re+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+ie+")*)|.*)\\)|)",ae=new RegExp(ne+"+","g"),se=new RegExp("^"+ne+"+|((?:^|[^\\\\])(?:\\\\.)*)"+ne+"+$","g"),ue=new RegExp("^"+ne+"*,"+ne+"*"),le=new RegExp("^"+ne+"*([>+~]|"+ne+")"+ne+"*"),ce=new RegExp("="+ne+"*([^\\]'\"]*?)"+ne+"*\\]","g"),fe=new RegExp(oe),de=new RegExp("^"+re+"$"),pe={ID:new RegExp("^#("+re+")"),CLASS:new RegExp("^\\.("+re+")"),TAG:new RegExp("^("+re+"|[*])"),ATTR:new RegExp("^"+ie),PSEUDO:new RegExp("^"+oe),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ne+"*(even|odd|(([+-]|)(\\d*)n|)"+ne+"*(?:([+-]|)"+ne+"*(\\d+)|))"+ne+"*\\)|)","i"),bool:new RegExp("^(?:"+te+")$","i"),needsContext:new RegExp("^"+ne+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ne+"*((?:-\\d)?\\d*)"+ne+"*\\)|)(?=[^-]|$)","i")},he=/^(?:input|select|textarea|button)$/i,ge=/^h\d$/i,me=/^[^{]+\{\s*\[native \w/,ye=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ve=/[+~]/,xe=/'|\\/g,be=new RegExp("\\\\([\\da-f]{1,6}"+ne+"?|("+ne+")|.)","ig"),we=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},Te=function(){L()};try{Q.apply(J=Z.call(B.childNodes),B.childNodes),J[B.childNodes.length].nodeType}catch(Ce){Q={apply:J.length?function(e,t){K.apply(e,Z.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}w=t.support={},E=t.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},L=t.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:B;return r!==H&&9===r.nodeType&&r.documentElement?(H=r,q=H.documentElement,_=!E(H),(n=H.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",Te,!1):n.attachEvent&&n.attachEvent("onunload",Te)),w.attributes=i(function(e){return e.className="i",!e.getAttribute("className")}),w.getElementsByTagName=i(function(e){return e.appendChild(H.createComment("")),!e.getElementsByTagName("*").length}),w.getElementsByClassName=me.test(H.getElementsByClassName),w.getById=i(function(e){return q.appendChild(e).id=P,!H.getElementsByName||!H.getElementsByName(P).length}),w.getById?(T.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&_){var n=t.getElementById(e);return n?[n]:[]}},T.filter.ID=function(e){var t=e.replace(be,we);return function(e){return e.getAttribute("id")===t}}):(delete T.find.ID,T.filter.ID=function(e){var t=e.replace(be,we);return function(e){var n="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}}),T.find.TAG=w.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):w.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){for(;n=o[i++];)1===n.nodeType&&r.push(n);return r}return o},T.find.CLASS=w.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&_)return t.getElementsByClassName(e)},M=[],F=[],(w.qsa=me.test(H.querySelectorAll))&&(i(function(e){q.appendChild(e).innerHTML="<a id='"+P+"'></a><select id='"+P+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&F.push("[*^$]="+ne+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||F.push("\\["+ne+"*(?:value|"+te+")"),e.querySelectorAll("[id~="+P+"-]").length||F.push("~="),e.querySelectorAll(":checked").length||F.push(":checked"),e.querySelectorAll("a#"+P+"+*").length||F.push(".#.+[+~]")}),i(function(e){var t=H.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&F.push("name"+ne+"*[*^$|!~]?="),e.querySelectorAll(":enabled").length||F.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),F.push(",.*:")})),(w.matchesSelector=me.test(O=q.matches||q.webkitMatchesSelector||q.mozMatchesSelector||q.oMatchesSelector||q.msMatchesSelector))&&i(function(e){w.disconnectedMatch=O.call(e,"div"),O.call(e,"[s!='']:x"),M.push("!=",oe)}),F=F.length&&new RegExp(F.join("|")),M=M.length&&new RegExp(M.join("|")),t=me.test(q.compareDocumentPosition),R=t||me.test(q.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},U=t?function(e,t){if(e===t)return j=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n?n:(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1,1&n||!w.sortDetached&&t.compareDocumentPosition(e)===n?e===H||e.ownerDocument===B&&R(B,e)?-1:t===H||t.ownerDocument===B&&R(B,t)?1:D?ee(D,e)-ee(D,t):0:4&n?-1:1)}:function(e,t){if(e===t)return j=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,s=[e],u=[t];if(!i||!o)return e===H?-1:t===H?1:i?-1:o?1:D?ee(D,e)-ee(D,t):0;if(i===o)return a(e,t);for(n=e;n=n.parentNode;)s.unshift(n);for(n=t;n=n.parentNode;)u.unshift(n);for(;s[r]===u[r];)r++;return r?a(s[r],u[r]):s[r]===B?-1:u[r]===B?1:0},H):H},t.matches=function(e,n){return t(e,null,null,n)},t.matchesSelector=function(e,n){if((e.ownerDocument||e)!==H&&L(e),n=n.replace(ce,"='$1']"),w.matchesSelector&&_&&!X[n+" "]&&(!M||!M.test(n))&&(!F||!F.test(n)))try{var r=O.call(e,n);if(r||w.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(i){}return t(n,H,null,[e]).length>0},t.contains=function(e,t){return(e.ownerDocument||e)!==H&&L(e),R(e,t)},t.attr=function(e,t){(e.ownerDocument||e)!==H&&L(e);var n=T.attrHandle[t.toLowerCase()],r=n&&Y.call(T.attrHandle,t.toLowerCase())?n(e,t,!_):void 0;return void 0!==r?r:w.attributes||!_?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},t.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},t.uniqueSort=function(e){var t,n=[],r=0,i=0;if(j=!w.detectDuplicates,D=!w.sortStable&&e.slice(0),e.sort(U),j){for(;t=e[i++];)t===e[i]&&(r=n.push(i));for(;r--;)e.splice(n[r],1)}return D=null,e},C=t.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=C(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r++];)n+=C(t);return n},T=t.selectors={cacheLength:50,createPseudo:r,match:pe,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(be,we),e[3]=(e[3]||e[4]||e[5]||"").replace(be,we),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||t.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&t.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return pe.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&fe.test(n)&&(t=N(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(be,we).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=$[e+" "];return t||(t=new RegExp("(^|"+ne+")"+e+"("+ne+"|$)"))&&$(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,n,r){return function(i){var o=t.attr(i,e);return null==o?"!="===n:!n||(o+="","="===n?o===r:"!="===n?o!==r:"^="===n?r&&0===o.indexOf(r):"*="===n?r&&o.indexOf(r)>-1:"$="===n?r&&o.slice(-r.length)===r:"~="===n?(" "+o.replace(ae," ")+" ").indexOf(r)>-1:"|="===n&&(o===r||o.slice(0,r.length+1)===r+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,f,d,p,h,g=o!==a?"nextSibling":"previousSibling",m=t.parentNode,y=s&&t.nodeName.toLowerCase(),v=!u&&!s,x=!1;if(m){if(o){for(;g;){for(d=t;d=d[g];)if(s?d.nodeName.toLowerCase()===y:1===d.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?m.firstChild:m.lastChild],a&&v){for(d=m,f=d[P]||(d[P]={}),c=f[d.uniqueID]||(f[d.uniqueID]={}),
+l=c[e]||[],p=l[0]===W&&l[1],x=p&&l[2],d=p&&m.childNodes[p];d=++p&&d&&d[g]||(x=p=0)||h.pop();)if(1===d.nodeType&&++x&&d===t){c[e]=[W,p,x];break}}else if(v&&(d=t,f=d[P]||(d[P]={}),c=f[d.uniqueID]||(f[d.uniqueID]={}),l=c[e]||[],p=l[0]===W&&l[1],x=p),x===!1)for(;(d=++p&&d&&d[g]||(x=p=0)||h.pop())&&((s?d.nodeName.toLowerCase()!==y:1!==d.nodeType)||!++x||(v&&(f=d[P]||(d[P]={}),c=f[d.uniqueID]||(f[d.uniqueID]={}),c[e]=[W,x]),d!==t)););return x-=i,x===r||x%r===0&&x/r>=0}}},PSEUDO:function(e,n){var i,o=T.pseudos[e]||T.setFilters[e.toLowerCase()]||t.error("unsupported pseudo: "+e);return o[P]?o(n):o.length>1?(i=[e,e,"",n],T.setFilters.hasOwnProperty(e.toLowerCase())?r(function(e,t){for(var r,i=o(e,n),a=i.length;a--;)r=ee(e,i[a]),e[r]=!(t[r]=i[a])}):function(e){return o(e,0,i)}):o}},pseudos:{not:r(function(e){var t=[],n=[],i=k(e.replace(se,"$1"));return i[P]?r(function(e,t,n,r){for(var o,a=i(e,null,r,[]),s=e.length;s--;)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,r,o){return t[0]=e,i(t,null,o,n),t[0]=null,!n.pop()}}),has:r(function(e){return function(n){return t(e,n).length>0}}),contains:r(function(e){return e=e.replace(be,we),function(t){return(t.textContent||t.innerText||C(t)).indexOf(e)>-1}}),lang:r(function(e){return de.test(e||"")||t.error("unsupported lang: "+e),e=e.replace(be,we).toLowerCase(),function(t){var n;do if(n=_?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===q},focus:function(e){return e===H.activeElement&&(!H.hasFocus||H.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!T.pseudos.empty(e)},header:function(e){return ge.test(e.nodeName)},input:function(e){return he.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:l(function(){return[0]}),last:l(function(e,t){return[t-1]}),eq:l(function(e,t,n){return[n<0?n+t:n]}),even:l(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:l(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:l(function(e,t,n){for(var r=n<0?n+t:n;--r>=0;)e.push(r);return e}),gt:l(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}},T.pseudos.nth=T.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})T.pseudos[b]=s(b);for(b in{submit:!0,reset:!0})T.pseudos[b]=u(b);return f.prototype=T.filters=T.pseudos,T.setFilters=new f,N=t.tokenize=function(e,n){var r,i,o,a,s,u,l,c=z[e+" "];if(c)return n?0:c.slice(0);for(s=e,u=[],l=T.preFilter;s;){r&&!(i=ue.exec(s))||(i&&(s=s.slice(i[0].length)||s),u.push(o=[])),r=!1,(i=le.exec(s))&&(r=i.shift(),o.push({value:r,type:i[0].replace(se," ")}),s=s.slice(r.length));for(a in T.filter)!(i=pe[a].exec(s))||l[a]&&!(i=l[a](i))||(r=i.shift(),o.push({value:r,type:a,matches:i}),s=s.slice(r.length));if(!r)break}return n?s.length:s?t.error(e):z(e,u).slice(0)},k=t.compile=function(e,t){var n,r=[],i=[],o=X[e+" "];if(!o){for(t||(t=N(e)),n=t.length;n--;)o=v(t[n]),o[P]?r.push(o):i.push(o);o=X(e,x(i,r)),o.selector=e}return o},S=t.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,f=!r&&N(e=l.selector||e);if(n=n||[],1===f.length){if(o=f[0]=f[0].slice(0),o.length>2&&"ID"===(a=o[0]).type&&w.getById&&9===t.nodeType&&_&&T.relative[o[1].type]){if(t=(T.find.ID(a.matches[0].replace(be,we),t)||[])[0],!t)return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}for(i=pe.needsContext.test(e)?0:o.length;i--&&(a=o[i],!T.relative[s=a.type]);)if((u=T.find[s])&&(r=u(a.matches[0].replace(be,we),ve.test(o[0].type)&&c(t.parentNode)||t))){if(o.splice(i,1),e=r.length&&d(o),!e)return Q.apply(n,r),n;break}}return(l||k(e,f))(r,t,!_,n,!t||ve.test(e)&&c(t.parentNode)||t),n},w.sortStable=P.split("").sort(U).join("")===P,w.detectDuplicates=!!j,L(),w.sortDetached=i(function(e){return 1&e.compareDocumentPosition(H.createElement("div"))}),i(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||o("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),w.attributes&&i(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||o("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),i(function(e){return null==e.getAttribute("disabled")})||o(te,function(e,t,n){var r;if(!n)return e[t]===!0?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),t}(e);pe.find=ve,pe.expr=ve.selectors,pe.expr[":"]=pe.expr.pseudos,pe.uniqueSort=pe.unique=ve.uniqueSort,pe.text=ve.getText,pe.isXMLDoc=ve.isXML,pe.contains=ve.contains;var xe=function(e,t,n){for(var r=[],i=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(i&&pe(e).is(n))break;r.push(e)}return r},be=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},we=pe.expr.match.needsContext,Te=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,Ce=/^.[^:#\[\.,]*$/;pe.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?pe.find.matchesSelector(r,e)?[r]:[]:pe.find.matches(e,pe.grep(t,function(e){return 1===e.nodeType}))},pe.fn.extend({find:function(e){var t,n=[],r=this,i=r.length;if("string"!=typeof e)return this.pushStack(pe(e).filter(function(){for(t=0;t<i;t++)if(pe.contains(r[t],this))return!0}));for(t=0;t<i;t++)pe.find(e,r[t],n);return n=this.pushStack(i>1?pe.unique(n):n),n.selector=this.selector?this.selector+" "+e:e,n},filter:function(e){return this.pushStack(r(this,e||[],!1))},not:function(e){return this.pushStack(r(this,e||[],!0))},is:function(e){return!!r(this,"string"==typeof e&&we.test(e)?pe(e):e||[],!1).length}});var Ee,Ne=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,ke=pe.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||Ee,"string"==typeof e){if(r="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:Ne.exec(e),!r||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof pe?t[0]:t,pe.merge(this,pe.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:re,!0)),Te.test(r[1])&&pe.isPlainObject(t))for(r in t)pe.isFunction(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}if(i=re.getElementById(r[2]),i&&i.parentNode){if(i.id!==r[2])return Ee.find(e);this.length=1,this[0]=i}return this.context=re,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):pe.isFunction(e)?"undefined"!=typeof n.ready?n.ready(e):e(pe):(void 0!==e.selector&&(this.selector=e.selector,this.context=e.context),pe.makeArray(e,this))};ke.prototype=pe.fn,Ee=pe(re);var Se=/^(?:parents|prev(?:Until|All))/,Ae={children:!0,contents:!0,next:!0,prev:!0};pe.fn.extend({has:function(e){var t,n=pe(e,this),r=n.length;return this.filter(function(){for(t=0;t<r;t++)if(pe.contains(this,n[t]))return!0})},closest:function(e,t){for(var n,r=0,i=this.length,o=[],a=we.test(e)||"string"!=typeof e?pe(e,t||this.context):0;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?a.index(n)>-1:1===n.nodeType&&pe.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?pe.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?pe.inArray(this[0],pe(e)):pe.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(pe.uniqueSort(pe.merge(this.get(),pe(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),pe.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return xe(e,"parentNode")},parentsUntil:function(e,t,n){return xe(e,"parentNode",n)},next:function(e){return i(e,"nextSibling")},prev:function(e){return i(e,"previousSibling")},nextAll:function(e){return xe(e,"nextSibling")},prevAll:function(e){return xe(e,"previousSibling")},nextUntil:function(e,t,n){return xe(e,"nextSibling",n)},prevUntil:function(e,t,n){return xe(e,"previousSibling",n)},siblings:function(e){return be((e.parentNode||{}).firstChild,e)},children:function(e){return be(e.firstChild)},contents:function(e){return pe.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:pe.merge([],e.childNodes)}},function(e,t){pe.fn[e]=function(n,r){var i=pe.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=pe.filter(r,i)),this.length>1&&(Ae[e]||(i=pe.uniqueSort(i)),Se.test(e)&&(i=i.reverse())),this.pushStack(i)}});var De=/\S+/g;pe.Callbacks=function(e){e="string"==typeof e?o(e):pe.extend({},e);var t,n,r,i,a=[],s=[],u=-1,l=function(){for(i=e.once,r=t=!0;s.length;u=-1)for(n=s.shift();++u<a.length;)a[u].apply(n[0],n[1])===!1&&e.stopOnFalse&&(u=a.length,n=!1);e.memory||(n=!1),t=!1,i&&(a=n?[]:"")},c={add:function(){return a&&(n&&!t&&(u=a.length-1,s.push(n)),function r(t){pe.each(t,function(t,n){pe.isFunction(n)?e.unique&&c.has(n)||a.push(n):n&&n.length&&"string"!==pe.type(n)&&r(n)})}(arguments),n&&!t&&l()),this},remove:function(){return pe.each(arguments,function(e,t){for(var n;(n=pe.inArray(t,a,n))>-1;)a.splice(n,1),n<=u&&u--}),this},has:function(e){return e?pe.inArray(e,a)>-1:a.length>0},empty:function(){return a&&(a=[]),this},disable:function(){return i=s=[],a=n="",this},disabled:function(){return!a},lock:function(){return i=!0,n||c.disable(),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=n||[],n=[e,n.slice?n.slice():n],s.push(n),t||l()),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!r}};return c},pe.extend({Deferred:function(e){var t=[["resolve","done",pe.Callbacks("once memory"),"resolved"],["reject","fail",pe.Callbacks("once memory"),"rejected"],["notify","progress",pe.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return pe.Deferred(function(n){pe.each(t,function(t,o){var a=pe.isFunction(e[t])&&e[t];i[o[1]](function(){var e=a&&a.apply(this,arguments);e&&pe.isFunction(e.promise)?e.promise().progress(n.notify).done(n.resolve).fail(n.reject):n[o[0]+"With"](this===r?n.promise():this,a?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?pe.extend(e,r):r}},i={};return r.pipe=r.then,pe.each(t,function(e,o){var a=o[2],s=o[3];r[o[1]]=a.add,s&&a.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=a.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t,n,r,i=0,o=ie.call(arguments),a=o.length,s=1!==a||e&&pe.isFunction(e.promise)?a:0,u=1===s?e:pe.Deferred(),l=function(e,n,r){return function(i){n[e]=this,r[e]=arguments.length>1?ie.call(arguments):i,r===t?u.notifyWith(n,r):--s||u.resolveWith(n,r)}};if(a>1)for(t=new Array(a),n=new Array(a),r=new Array(a);i<a;i++)o[i]&&pe.isFunction(o[i].promise)?o[i].promise().progress(l(i,n,t)).done(l(i,r,o)).fail(u.reject):--s;return s||u.resolveWith(r,o),u.promise()}});var je;pe.fn.ready=function(e){return pe.ready.promise().done(e),this},pe.extend({isReady:!1,readyWait:1,holdReady:function(e){e?pe.readyWait++:pe.ready(!0)},ready:function(e){(e===!0?--pe.readyWait:pe.isReady)||(pe.isReady=!0,e!==!0&&--pe.readyWait>0||(je.resolveWith(re,[pe]),pe.fn.triggerHandler&&(pe(re).triggerHandler("ready"),pe(re).off("ready"))))}}),pe.ready.promise=function(t){if(!je)if(je=pe.Deferred(),"complete"===re.readyState||"loading"!==re.readyState&&!re.documentElement.doScroll)e.setTimeout(pe.ready);else if(re.addEventListener)re.addEventListener("DOMContentLoaded",s),e.addEventListener("load",s);else{re.attachEvent("onreadystatechange",s),e.attachEvent("onload",s);var n=!1;try{n=null==e.frameElement&&re.documentElement}catch(r){}n&&n.doScroll&&!function i(){if(!pe.isReady){try{n.doScroll("left")}catch(t){return e.setTimeout(i,50)}a(),pe.ready()}}()}return je.promise(t)},pe.ready.promise();var Le;for(Le in pe(fe))break;fe.ownFirst="0"===Le,fe.inlineBlockNeedsLayout=!1,pe(function(){var e,t,n,r;n=re.getElementsByTagName("body")[0],n&&n.style&&(t=re.createElement("div"),r=re.createElement("div"),r.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",n.appendChild(r).appendChild(t),"undefined"!=typeof t.style.zoom&&(t.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",fe.inlineBlockNeedsLayout=e=3===t.offsetWidth,e&&(n.style.zoom=1)),n.removeChild(r))}),function(){var e=re.createElement("div");fe.deleteExpando=!0;try{delete e.test}catch(t){fe.deleteExpando=!1}e=null}();var He=function(e){var t=pe.noData[(e.nodeName+" ").toLowerCase()],n=+e.nodeType||1;return(1===n||9===n)&&(!t||t!==!0&&e.getAttribute("classid")===t)},qe=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,_e=/([A-Z])/g;pe.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(e){return e=e.nodeType?pe.cache[e[pe.expando]]:e[pe.expando],!!e&&!l(e)},data:function(e,t,n){return c(e,t,n)},removeData:function(e,t){return f(e,t)},_data:function(e,t,n){return c(e,t,n,!0)},_removeData:function(e,t){return f(e,t,!0)}}),pe.fn.extend({data:function(e,t){var n,r,i,o=this[0],a=o&&o.attributes;if(void 0===e){if(this.length&&(i=pe.data(o),1===o.nodeType&&!pe._data(o,"parsedAttrs"))){for(n=a.length;n--;)a[n]&&(r=a[n].name,0===r.indexOf("data-")&&(r=pe.camelCase(r.slice(5)),u(o,r,i[r])));pe._data(o,"parsedAttrs",!0)}return i}return"object"==typeof e?this.each(function(){pe.data(this,e)}):arguments.length>1?this.each(function(){pe.data(this,e,t)}):o?u(o,e,pe.data(o,e)):void 0},removeData:function(e){return this.each(function(){pe.removeData(this,e)})}}),pe.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=pe._data(e,t),n&&(!r||pe.isArray(n)?r=pe._data(e,t,pe.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=pe.queue(e,t),r=n.length,i=n.shift(),o=pe._queueHooks(e,t),a=function(){pe.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return pe._data(e,n)||pe._data(e,n,{empty:pe.Callbacks("once memory").add(function(){pe._removeData(e,t+"queue"),pe._removeData(e,n)})})}}),pe.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length<n?pe.queue(this[0],e):void 0===t?this:this.each(function(){var n=pe.queue(this,e,t);pe._queueHooks(this,e),"fx"===e&&"inprogress"!==n[0]&&pe.dequeue(this,e)})},dequeue:function(e){return this.each(function(){pe.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=pe.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};for("string"!=typeof e&&(t=e,e=void 0),e=e||"fx";a--;)n=pe._data(o[a],e+"queueHooks"),n&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}}),function(){var e;fe.shrinkWrapBlocks=function(){if(null!=e)return e;e=!1;var t,n,r;return n=re.getElementsByTagName("body")[0],n&&n.style?(t=re.createElement("div"),r=re.createElement("div"),r.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",n.appendChild(r).appendChild(t),"undefined"!=typeof t.style.zoom&&(t.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:1px;width:1px;zoom:1",t.appendChild(re.createElement("div")).style.width="5px",e=3!==t.offsetWidth),n.removeChild(r),e):void 0}}();var Fe=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,Me=new RegExp("^(?:([+-])=|)("+Fe+")([a-z%]*)$","i"),Oe=["Top","Right","Bottom","Left"],Re=function(e,t){return e=t||e,"none"===pe.css(e,"display")||!pe.contains(e.ownerDocument,e)},Pe=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===pe.type(n)){i=!0;for(s in n)Pe(e,t,s,n[s],!0,o,a)}else if(void 0!==r&&(i=!0,pe.isFunction(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(pe(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},Be=/^(?:checkbox|radio)$/i,We=/<([\w:-]+)/,Ie=/^$|\/(?:java|ecma)script/i,$e=/^\s+/,ze="abbr|article|aside|audio|bdi|canvas|data|datalist|details|dialog|figcaption|figure|footer|header|hgroup|main|mark|meter|nav|output|picture|progress|section|summary|template|time|video";!function(){var e=re.createElement("div"),t=re.createDocumentFragment(),n=re.createElement("input");e.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",fe.leadingWhitespace=3===e.firstChild.nodeType,fe.tbody=!e.getElementsByTagName("tbody").length,fe.htmlSerialize=!!e.getElementsByTagName("link").length,fe.html5Clone="<:nav></:nav>"!==re.createElement("nav").cloneNode(!0).outerHTML,n.type="checkbox",n.checked=!0,t.appendChild(n),fe.appendChecked=n.checked,e.innerHTML="<textarea>x</textarea>",fe.noCloneChecked=!!e.cloneNode(!0).lastChild.defaultValue,t.appendChild(e),n=re.createElement("input"),n.setAttribute("type","radio"),n.setAttribute("checked","checked"),n.setAttribute("name","t"),e.appendChild(n),fe.checkClone=e.cloneNode(!0).cloneNode(!0).lastChild.checked,fe.noCloneEvent=!!e.addEventListener,e[pe.expando]=1,fe.attributes=!e.getAttribute(pe.expando)}();var Xe={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:fe.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]};Xe.optgroup=Xe.option,Xe.tbody=Xe.tfoot=Xe.colgroup=Xe.caption=Xe.thead,Xe.th=Xe.td;var Ue=/<|&#?\w+;/,Ve=/<tbody/i;!function(){var t,n,r=re.createElement("div");for(t in{submit:!0,change:!0,focusin:!0})n="on"+t,(fe[t]=n in e)||(r.setAttribute(n,"t"),fe[t]=r.attributes[n].expando===!1);r=null}();var Ye=/^(?:input|select|textarea)$/i,Je=/^key/,Ge=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ke=/^(?:focusinfocus|focusoutblur)$/,Qe=/^([^.]*)(?:\.(.+)|)/;pe.event={global:{},add:function(e,t,n,r,i){var o,a,s,u,l,c,f,d,p,h,g,m=pe._data(e);if(m){for(n.handler&&(u=n,n=u.handler,i=u.selector),n.guid||(n.guid=pe.guid++),(a=m.events)||(a=m.events={}),(c=m.handle)||(c=m.handle=function(e){return"undefined"==typeof pe||e&&pe.event.triggered===e.type?void 0:pe.event.dispatch.apply(c.elem,arguments)},c.elem=e),t=(t||"").match(De)||[""],s=t.length;s--;)o=Qe.exec(t[s])||[],p=g=o[1],h=(o[2]||"").split(".").sort(),p&&(l=pe.event.special[p]||{},p=(i?l.delegateType:l.bindType)||p,l=pe.event.special[p]||{},f=pe.extend({type:p,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&pe.expr.match.needsContext.test(i),namespace:h.join(".")},u),(d=a[p])||(d=a[p]=[],d.delegateCount=0,l.setup&&l.setup.call(e,r,h,c)!==!1||(e.addEventListener?e.addEventListener(p,c,!1):e.attachEvent&&e.attachEvent("on"+p,c))),l.add&&(l.add.call(e,f),f.handler.guid||(f.handler.guid=n.guid)),i?d.splice(d.delegateCount++,0,f):d.push(f),pe.event.global[p]=!0);e=null}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,d,p,h,g,m=pe.hasData(e)&&pe._data(e);if(m&&(c=m.events)){for(t=(t||"").match(De)||[""],l=t.length;l--;)if(s=Qe.exec(t[l])||[],p=g=s[1],h=(s[2]||"").split(".").sort(),p){for(f=pe.event.special[p]||{},p=(r?f.delegateType:f.bindType)||p,d=c[p]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),u=o=d.length;o--;)a=d[o],!i&&g!==a.origType||n&&n.guid!==a.guid||s&&!s.test(a.namespace)||r&&r!==a.selector&&("**"!==r||!a.selector)||(d.splice(o,1),a.selector&&d.delegateCount--,f.remove&&f.remove.call(e,a));u&&!d.length&&(f.teardown&&f.teardown.call(e,h,m.handle)!==!1||pe.removeEvent(e,p,m.handle),delete c[p])}else for(p in c)pe.event.remove(e,p+t[l],n,r,!0);pe.isEmptyObject(c)&&(delete m.handle,pe._removeData(e,"events"))}},trigger:function(t,n,r,i){var o,a,s,u,l,c,f,d=[r||re],p=ce.call(t,"type")?t.type:t,h=ce.call(t,"namespace")?t.namespace.split("."):[];if(s=c=r=r||re,3!==r.nodeType&&8!==r.nodeType&&!Ke.test(p+pe.event.triggered)&&(p.indexOf(".")>-1&&(h=p.split("."),p=h.shift(),h.sort()),a=p.indexOf(":")<0&&"on"+p,t=t[pe.expando]?t:new pe.Event(p,"object"==typeof t&&t),t.isTrigger=i?2:3,t.namespace=h.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=r),n=null==n?[t]:pe.makeArray(n,[t]),l=pe.event.special[p]||{},i||!l.trigger||l.trigger.apply(r,n)!==!1)){if(!i&&!l.noBubble&&!pe.isWindow(r)){for(u=l.delegateType||p,Ke.test(u+p)||(s=s.parentNode);s;s=s.parentNode)d.push(s),c=s;c===(r.ownerDocument||re)&&d.push(c.defaultView||c.parentWindow||e)}for(f=0;(s=d[f++])&&!t.isPropagationStopped();)t.type=f>1?u:l.bindType||p,o=(pe._data(s,"events")||{})[t.type]&&pe._data(s,"handle"),o&&o.apply(s,n),o=a&&s[a],o&&o.apply&&He(s)&&(t.result=o.apply(s,n),t.result===!1&&t.preventDefault());if(t.type=p,!i&&!t.isDefaultPrevented()&&(!l._default||l._default.apply(d.pop(),n)===!1)&&He(r)&&a&&r[p]&&!pe.isWindow(r)){c=r[a],c&&(r[a]=null),pe.event.triggered=p;try{r[p]()}catch(g){}pe.event.triggered=void 0,c&&(r[a]=c)}return t.result}},dispatch:function(e){e=pe.event.fix(e);var t,n,r,i,o,a=[],s=ie.call(arguments),u=(pe._data(this,"events")||{})[e.type]||[],l=pe.event.special[e.type]||{};if(s[0]=e,e.delegateTarget=this,!l.preDispatch||l.preDispatch.call(this,e)!==!1){for(a=pe.event.handlers.call(this,e,u),t=0;(i=a[t++])&&!e.isPropagationStopped();)for(e.currentTarget=i.elem,n=0;(o=i.handlers[n++])&&!e.isImmediatePropagationStopped();)e.rnamespace&&!e.rnamespace.test(o.namespace)||(e.handleObj=o,e.data=o.data,r=((pe.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s),void 0!==r&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()));return l.postDispatch&&l.postDispatch.call(this,e),e.result}},handlers:function(e,t){var n,r,i,o,a=[],s=t.delegateCount,u=e.target;if(s&&u.nodeType&&("click"!==e.type||isNaN(e.button)||e.button<1))for(;u!=this;u=u.parentNode||this)if(1===u.nodeType&&(u.disabled!==!0||"click"!==e.type)){for(r=[],n=0;n<s;n++)o=t[n],i=o.selector+" ",void 0===r[i]&&(r[i]=o.needsContext?pe(i,this).index(u)>-1:pe.find(i,this,null,[u]).length),r[i]&&r.push(o);r.length&&a.push({elem:u,handlers:r})}return s<t.length&&a.push({elem:this,handlers:t.slice(s)}),a},fix:function(e){if(e[pe.expando])return e;var t,n,r,i=e.type,o=e,a=this.fixHooks[i];for(a||(this.fixHooks[i]=a=Ge.test(i)?this.mouseHooks:Je.test(i)?this.keyHooks:{}),r=a.props?this.props.concat(a.props):this.props,e=new pe.Event(o),t=r.length;t--;)n=r[t],e[n]=o[n];return e.target||(e.target=o.srcElement||re),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,a.filter?a.filter(e,o):e},props:"altKey bubbles cancelable ctrlKey currentTarget detail eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,t){var n,r,i,o=t.button,a=t.fromElement;return null==e.pageX&&null!=t.clientX&&(r=e.target.ownerDocument||re,i=r.documentElement,n=r.body,e.pageX=t.clientX+(i&&i.scrollLeft||n&&n.scrollLeft||0)-(i&&i.clientLeft||n&&n.clientLeft||0),e.pageY=t.clientY+(i&&i.scrollTop||n&&n.scrollTop||0)-(i&&i.clientTop||n&&n.clientTop||0)),!e.relatedTarget&&a&&(e.relatedTarget=a===e.target?t.toElement:a),e.which||void 0===o||(e.which=1&o?1:2&o?3:4&o?2:0),e}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==b()&&this.focus)try{return this.focus(),!1}catch(e){}},delegateType:"focusin"},blur:{trigger:function(){if(this===b()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if(pe.nodeName(this,"input")&&"checkbox"===this.type&&this.click)return this.click(),!1},_default:function(e){return pe.nodeName(e.target,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n){var r=pe.extend(new pe.Event,n,{type:e,isSimulated:!0});pe.event.trigger(r,null,t),r.isDefaultPrevented()&&n.preventDefault()}},pe.removeEvent=re.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)}:function(e,t,n){var r="on"+t;e.detachEvent&&("undefined"==typeof e[r]&&(e[r]=null),e.detachEvent(r,n))},pe.Event=function(e,t){return this instanceof pe.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&e.returnValue===!1?v:x):this.type=e,t&&pe.extend(this,t),this.timeStamp=e&&e.timeStamp||pe.now(),void(this[pe.expando]=!0)):new pe.Event(e,t)},pe.Event.prototype={constructor:pe.Event,isDefaultPrevented:x,isPropagationStopped:x,isImmediatePropagationStopped:x,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=v,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=v,e&&!this.isSimulated&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=v,e&&e.stopImmediatePropagation&&e.stopImmediatePropagation(),this.stopPropagation()}},pe.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,t){pe.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;return i&&(i===r||pe.contains(r,i))||(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),fe.submit||(pe.event.special.submit={setup:function(){return!pe.nodeName(this,"form")&&void pe.event.add(this,"click._submit keypress._submit",function(e){var t=e.target,n=pe.nodeName(t,"input")||pe.nodeName(t,"button")?pe.prop(t,"form"):void 0;n&&!pe._data(n,"submit")&&(pe.event.add(n,"submit._submit",function(e){e._submitBubble=!0}),pe._data(n,"submit",!0))})},postDispatch:function(e){e._submitBubble&&(delete e._submitBubble,this.parentNode&&!e.isTrigger&&pe.event.simulate("submit",this.parentNode,e))},teardown:function(){return!pe.nodeName(this,"form")&&void pe.event.remove(this,"._submit")}}),fe.change||(pe.event.special.change={setup:function(){return Ye.test(this.nodeName)?("checkbox"!==this.type&&"radio"!==this.type||(pe.event.add(this,"propertychange._change",function(e){"checked"===e.originalEvent.propertyName&&(this._justChanged=!0)}),pe.event.add(this,"click._change",function(e){this._justChanged&&!e.isTrigger&&(this._justChanged=!1),pe.event.simulate("change",this,e)})),!1):void pe.event.add(this,"beforeactivate._change",function(e){var t=e.target;Ye.test(t.nodeName)&&!pe._data(t,"change")&&(pe.event.add(t,"change._change",function(e){!this.parentNode||e.isSimulated||e.isTrigger||pe.event.simulate("change",this.parentNode,e)}),pe._data(t,"change",!0))})},handle:function(e){var t=e.target;if(this!==t||e.isSimulated||e.isTrigger||"radio"!==t.type&&"checkbox"!==t.type)return e.handleObj.handler.apply(this,arguments)},teardown:function(){return pe.event.remove(this,"._change"),!Ye.test(this.nodeName)}}),fe.focusin||pe.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){pe.event.simulate(t,e.target,pe.event.fix(e))};pe.event.special[t]={setup:function(){var r=this.ownerDocument||this,i=pe._data(r,t);i||r.addEventListener(e,n,!0),pe._data(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this,i=pe._data(r,t)-1;i?pe._data(r,t,i):(r.removeEventListener(e,n,!0),pe._removeData(r,t))}}}),pe.fn.extend({on:function(e,t,n,r){return w(this,e,t,n,r)},one:function(e,t,n,r){return w(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,pe(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return t!==!1&&"function"!=typeof t||(n=t,t=void 0),n===!1&&(n=x),this.each(function(){pe.event.remove(this,e,n,t)})},trigger:function(e,t){return this.each(function(){pe.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return pe.event.trigger(e,t,n,!0)}});var Ze=/ jQuery\d+="(?:null|\d+)"/g,et=new RegExp("<(?:"+ze+")[\\s/>]","i"),tt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,nt=/<script|<style|<link/i,rt=/checked\s*(?:[^=]|=\s*.checked.)/i,it=/^true\/(.*)/,ot=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,at=p(re),st=at.appendChild(re.createElement("div"));pe.extend({htmlPrefilter:function(e){return e.replace(tt,"<$1></$2>")},clone:function(e,t,n){var r,i,o,a,s,u=pe.contains(e.ownerDocument,e);if(fe.html5Clone||pe.isXMLDoc(e)||!et.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(st.innerHTML=e.outerHTML,st.removeChild(o=st.firstChild)),!(fe.noCloneEvent&&fe.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||pe.isXMLDoc(e)))for(r=h(o),s=h(e),a=0;null!=(i=s[a]);++a)r[a]&&k(i,r[a]);if(t)if(n)for(s=s||h(e),r=r||h(o),a=0;null!=(i=s[a]);a++)N(i,r[a]);else N(e,o);return r=h(o,"script"),r.length>0&&g(r,!u&&h(e,"script")),r=s=i=null,o},cleanData:function(e,t){for(var n,r,i,o,a=0,s=pe.expando,u=pe.cache,l=fe.attributes,c=pe.event.special;null!=(n=e[a]);a++)if((t||He(n))&&(i=n[s],o=i&&u[i])){if(o.events)for(r in o.events)c[r]?pe.event.remove(n,r):pe.removeEvent(n,r,o.handle);u[i]&&(delete u[i],l||"undefined"==typeof n.removeAttribute?n[s]=void 0:n.removeAttribute(s),ne.push(i))}}}),pe.fn.extend({domManip:S,detach:function(e){return A(this,e,!0)},remove:function(e){return A(this,e)},text:function(e){return Pe(this,function(e){return void 0===e?pe.text(this):this.empty().append((this[0]&&this[0].ownerDocument||re).createTextNode(e))},null,e,arguments.length)},append:function(){return S(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=T(this,e);t.appendChild(e)}})},prepend:function(){return S(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=T(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return S(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return S(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++){for(1===e.nodeType&&pe.cleanData(h(e,!1));e.firstChild;)e.removeChild(e.firstChild);e.options&&pe.nodeName(e,"select")&&(e.options.length=0)}return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return pe.clone(this,e,t)})},html:function(e){return Pe(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e)return 1===t.nodeType?t.innerHTML.replace(Ze,""):void 0;if("string"==typeof e&&!nt.test(e)&&(fe.htmlSerialize||!et.test(e))&&(fe.leadingWhitespace||!$e.test(e))&&!Xe[(We.exec(e)||["",""])[1].toLowerCase()]){e=pe.htmlPrefilter(e);try{for(;n<r;n++)t=this[n]||{},1===t.nodeType&&(pe.cleanData(h(t,!1)),t.innerHTML=e);t=0}catch(i){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=[];return S(this,arguments,function(t){var n=this.parentNode;pe.inArray(this,e)<0&&(pe.cleanData(h(this)),
+n&&n.replaceChild(t,this))},e)}}),pe.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){pe.fn[e]=function(e){for(var n,r=0,i=[],o=pe(e),a=o.length-1;r<=a;r++)n=r===a?this:this.clone(!0),pe(o[r])[t](n),ae.apply(i,n.get());return this.pushStack(i)}});var ut,lt={HTML:"block",BODY:"block"},ct=/^margin/,ft=new RegExp("^("+Fe+")(?!px)[a-z%]+$","i"),dt=function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i},pt=re.documentElement;!function(){function t(){var t,c,f=re.documentElement;f.appendChild(u),l.style.cssText="-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",n=i=s=!1,r=a=!0,e.getComputedStyle&&(c=e.getComputedStyle(l),n="1%"!==(c||{}).top,s="2px"===(c||{}).marginLeft,i="4px"===(c||{width:"4px"}).width,l.style.marginRight="50%",r="4px"===(c||{marginRight:"4px"}).marginRight,t=l.appendChild(re.createElement("div")),t.style.cssText=l.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",t.style.marginRight=t.style.width="0",l.style.width="1px",a=!parseFloat((e.getComputedStyle(t)||{}).marginRight),l.removeChild(t)),l.style.display="none",o=0===l.getClientRects().length,o&&(l.style.display="",l.innerHTML="<table><tr><td></td><td>t</td></tr></table>",t=l.getElementsByTagName("td"),t[0].style.cssText="margin:0;border:0;padding:0;display:none",o=0===t[0].offsetHeight,o&&(t[0].style.display="",t[1].style.display="none",o=0===t[0].offsetHeight)),f.removeChild(u)}var n,r,i,o,a,s,u=re.createElement("div"),l=re.createElement("div");l.style&&(l.style.cssText="float:left;opacity:.5",fe.opacity="0.5"===l.style.opacity,fe.cssFloat=!!l.style.cssFloat,l.style.backgroundClip="content-box",l.cloneNode(!0).style.backgroundClip="",fe.clearCloneStyle="content-box"===l.style.backgroundClip,u=re.createElement("div"),u.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",l.innerHTML="",u.appendChild(l),fe.boxSizing=""===l.style.boxSizing||""===l.style.MozBoxSizing||""===l.style.WebkitBoxSizing,pe.extend(fe,{reliableHiddenOffsets:function(){return null==n&&t(),o},boxSizingReliable:function(){return null==n&&t(),i},pixelMarginRight:function(){return null==n&&t(),r},pixelPosition:function(){return null==n&&t(),n},reliableMarginRight:function(){return null==n&&t(),a},reliableMarginLeft:function(){return null==n&&t(),s}}))}();var ht,gt,mt=/^(top|right|bottom|left)$/;e.getComputedStyle?(ht=function(t){var n=t.ownerDocument.defaultView;return n&&n.opener||(n=e),n.getComputedStyle(t)},gt=function(e,t,n){var r,i,o,a,s=e.style;return n=n||ht(e),a=n?n.getPropertyValue(t)||n[t]:void 0,""!==a&&void 0!==a||pe.contains(e.ownerDocument,e)||(a=pe.style(e,t)),n&&!fe.pixelMarginRight()&&ft.test(a)&&ct.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o),void 0===a?a:a+""}):pt.currentStyle&&(ht=function(e){return e.currentStyle},gt=function(e,t,n){var r,i,o,a,s=e.style;return n=n||ht(e),a=n?n[t]:void 0,null==a&&s&&s[t]&&(a=s[t]),ft.test(a)&&!mt.test(t)&&(r=s.left,i=e.runtimeStyle,o=i&&i.left,o&&(i.left=e.currentStyle.left),s.left="fontSize"===t?"1em":a,a=s.pixelLeft+"px",s.left=r,o&&(i.left=o)),void 0===a?a:a+""||"auto"});var yt=/alpha\([^)]*\)/i,vt=/opacity\s*=\s*([^)]*)/i,xt=/^(none|table(?!-c[ea]).+)/,bt=new RegExp("^("+Fe+")(.*)$","i"),wt={position:"absolute",visibility:"hidden",display:"block"},Tt={letterSpacing:"0",fontWeight:"400"},Ct=["Webkit","O","Moz","ms"],Et=re.createElement("div").style;pe.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=gt(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":fe.cssFloat?"cssFloat":"styleFloat"},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=pe.camelCase(t),u=e.style;if(t=pe.cssProps[s]||(pe.cssProps[s]=H(s)||s),a=pe.cssHooks[t]||pe.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:u[t];if(o=typeof n,"string"===o&&(i=Me.exec(n))&&i[1]&&(n=d(e,t,i),o="number"),null!=n&&n===n&&("number"===o&&(n+=i&&i[3]||(pe.cssNumber[s]?"":"px")),fe.clearCloneStyle||""!==n||0!==t.indexOf("background")||(u[t]="inherit"),!(a&&"set"in a&&void 0===(n=a.set(e,n,r)))))try{u[t]=n}catch(l){}}},css:function(e,t,n,r){var i,o,a,s=pe.camelCase(t);return t=pe.cssProps[s]||(pe.cssProps[s]=H(s)||s),a=pe.cssHooks[t]||pe.cssHooks[s],a&&"get"in a&&(o=a.get(e,!0,n)),void 0===o&&(o=gt(e,t,r)),"normal"===o&&t in Tt&&(o=Tt[t]),""===n||n?(i=parseFloat(o),n===!0||isFinite(i)?i||0:o):o}}),pe.each(["height","width"],function(e,t){pe.cssHooks[t]={get:function(e,n,r){if(n)return xt.test(pe.css(e,"display"))&&0===e.offsetWidth?dt(e,wt,function(){return M(e,t,r)}):M(e,t,r)},set:function(e,n,r){var i=r&&ht(e);return _(e,n,r?F(e,t,r,fe.boxSizing&&"border-box"===pe.css(e,"boxSizing",!1,i),i):0)}}}),fe.opacity||(pe.cssHooks.opacity={get:function(e,t){return vt.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=pe.isNumeric(t)?"alpha(opacity="+100*t+")":"",o=r&&r.filter||n.filter||"";n.zoom=1,(t>=1||""===t)&&""===pe.trim(o.replace(yt,""))&&n.removeAttribute&&(n.removeAttribute("filter"),""===t||r&&!r.filter)||(n.filter=yt.test(o)?o.replace(yt,i):o+" "+i)}}),pe.cssHooks.marginRight=L(fe.reliableMarginRight,function(e,t){if(t)return dt(e,{display:"inline-block"},gt,[e,"marginRight"])}),pe.cssHooks.marginLeft=L(fe.reliableMarginLeft,function(e,t){if(t)return(parseFloat(gt(e,"marginLeft"))||(pe.contains(e.ownerDocument,e)?e.getBoundingClientRect().left-dt(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}):0))+"px"}),pe.each({margin:"",padding:"",border:"Width"},function(e,t){pe.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];r<4;r++)i[e+Oe[r]+t]=o[r]||o[r-2]||o[0];return i}},ct.test(e)||(pe.cssHooks[e+t].set=_)}),pe.fn.extend({css:function(e,t){return Pe(this,function(e,t,n){var r,i,o={},a=0;if(pe.isArray(t)){for(r=ht(e),i=t.length;a<i;a++)o[t[a]]=pe.css(e,t[a],!1,r);return o}return void 0!==n?pe.style(e,t,n):pe.css(e,t)},e,t,arguments.length>1)},show:function(){return q(this,!0)},hide:function(){return q(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){Re(this)?pe(this).show():pe(this).hide()})}}),pe.Tween=O,O.prototype={constructor:O,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||pe.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(pe.cssNumber[n]?"":"px")},cur:function(){var e=O.propHooks[this.prop];return e&&e.get?e.get(this):O.propHooks._default.get(this)},run:function(e){var t,n=O.propHooks[this.prop];return this.options.duration?this.pos=t=pe.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):O.propHooks._default.set(this),this}},O.prototype.init.prototype=O.prototype,O.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=pe.css(e.elem,e.prop,""),t&&"auto"!==t?t:0)},set:function(e){pe.fx.step[e.prop]?pe.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[pe.cssProps[e.prop]]&&!pe.cssHooks[e.prop]?e.elem[e.prop]=e.now:pe.style(e.elem,e.prop,e.now+e.unit)}}},O.propHooks.scrollTop=O.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},pe.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},pe.fx=O.prototype.init,pe.fx.step={};var Nt,kt,St=/^(?:toggle|show|hide)$/,At=/queueHooks$/;pe.Animation=pe.extend($,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return d(n.elem,e,Me.exec(t),n),n}]},tweener:function(e,t){pe.isFunction(e)?(t=e,e=["*"]):e=e.match(De);for(var n,r=0,i=e.length;r<i;r++)n=e[r],$.tweeners[n]=$.tweeners[n]||[],$.tweeners[n].unshift(t)},prefilters:[W],prefilter:function(e,t){t?$.prefilters.unshift(e):$.prefilters.push(e)}}),pe.speed=function(e,t,n){var r=e&&"object"==typeof e?pe.extend({},e):{complete:n||!n&&t||pe.isFunction(e)&&e,duration:e,easing:n&&t||t&&!pe.isFunction(t)&&t};return r.duration=pe.fx.off?0:"number"==typeof r.duration?r.duration:r.duration in pe.fx.speeds?pe.fx.speeds[r.duration]:pe.fx.speeds._default,null!=r.queue&&r.queue!==!0||(r.queue="fx"),r.old=r.complete,r.complete=function(){pe.isFunction(r.old)&&r.old.call(this),r.queue&&pe.dequeue(this,r.queue)},r},pe.fn.extend({fadeTo:function(e,t,n,r){return this.filter(Re).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=pe.isEmptyObject(e),o=pe.speed(t,n,r),a=function(){var t=$(this,pe.extend({},e),o);(i||pe._data(this,"finish"))&&t.stop(!0)};return a.finish=a,i||o.queue===!1?this.each(a):this.queue(o.queue,a)},stop:function(e,t,n){var r=function(e){var t=e.stop;delete e.stop,t(n)};return"string"!=typeof e&&(n=t,t=e,e=void 0),t&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,i=null!=e&&e+"queueHooks",o=pe.timers,a=pe._data(this);if(i)a[i]&&a[i].stop&&r(a[i]);else for(i in a)a[i]&&a[i].stop&&At.test(i)&&r(a[i]);for(i=o.length;i--;)o[i].elem!==this||null!=e&&o[i].queue!==e||(o[i].anim.stop(n),t=!1,o.splice(i,1));!t&&n||pe.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,n=pe._data(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=pe.timers,a=r?r.length:0;for(n.finish=!0,pe.queue(this,e,[]),i&&i.stop&&i.stop.call(this,!0),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;t<a;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}}),pe.each(["toggle","show","hide"],function(e,t){var n=pe.fn[t];pe.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(P(t,!0),e,r,i)}}),pe.each({slideDown:P("show"),slideUp:P("hide"),slideToggle:P("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){pe.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),pe.timers=[],pe.fx.tick=function(){var e,t=pe.timers,n=0;for(Nt=pe.now();n<t.length;n++)e=t[n],e()||t[n]!==e||t.splice(n--,1);t.length||pe.fx.stop(),Nt=void 0},pe.fx.timer=function(e){pe.timers.push(e),e()?pe.fx.start():pe.timers.pop()},pe.fx.interval=13,pe.fx.start=function(){kt||(kt=e.setInterval(pe.fx.tick,pe.fx.interval))},pe.fx.stop=function(){e.clearInterval(kt),kt=null},pe.fx.speeds={slow:600,fast:200,_default:400},pe.fn.delay=function(t,n){return t=pe.fx?pe.fx.speeds[t]||t:t,n=n||"fx",this.queue(n,function(n,r){var i=e.setTimeout(n,t);r.stop=function(){e.clearTimeout(i)}})},function(){var e,t=re.createElement("input"),n=re.createElement("div"),r=re.createElement("select"),i=r.appendChild(re.createElement("option"));n=re.createElement("div"),n.setAttribute("className","t"),n.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",e=n.getElementsByTagName("a")[0],t.setAttribute("type","checkbox"),n.appendChild(t),e=n.getElementsByTagName("a")[0],e.style.cssText="top:1px",fe.getSetAttribute="t"!==n.className,fe.style=/top/.test(e.getAttribute("style")),fe.hrefNormalized="/a"===e.getAttribute("href"),fe.checkOn=!!t.value,fe.optSelected=i.selected,fe.enctype=!!re.createElement("form").enctype,r.disabled=!0,fe.optDisabled=!i.disabled,t=re.createElement("input"),t.setAttribute("value",""),fe.input=""===t.getAttribute("value"),t.value="t",t.setAttribute("type","radio"),fe.radioValue="t"===t.value}();var Dt=/\r/g,jt=/[\x20\t\r\n\f]+/g;pe.fn.extend({val:function(e){var t,n,r,i=this[0];{if(arguments.length)return r=pe.isFunction(e),this.each(function(n){var i;1===this.nodeType&&(i=r?e.call(this,n,pe(this).val()):e,null==i?i="":"number"==typeof i?i+="":pe.isArray(i)&&(i=pe.map(i,function(e){return null==e?"":e+""})),t=pe.valHooks[this.type]||pe.valHooks[this.nodeName.toLowerCase()],t&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))});if(i)return t=pe.valHooks[i.type]||pe.valHooks[i.nodeName.toLowerCase()],t&&"get"in t&&void 0!==(n=t.get(i,"value"))?n:(n=i.value,"string"==typeof n?n.replace(Dt,""):null==n?"":n)}}}),pe.extend({valHooks:{option:{get:function(e){var t=pe.find.attr(e,"value");return null!=t?t:pe.trim(pe.text(e)).replace(jt," ")}},select:{get:function(e){for(var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||i<0,a=o?null:[],s=o?i+1:r.length,u=i<0?s:o?i:0;u<s;u++)if(n=r[u],(n.selected||u===i)&&(fe.optDisabled?!n.disabled:null===n.getAttribute("disabled"))&&(!n.parentNode.disabled||!pe.nodeName(n.parentNode,"optgroup"))){if(t=pe(n).val(),o)return t;a.push(t)}return a},set:function(e,t){for(var n,r,i=e.options,o=pe.makeArray(t),a=i.length;a--;)if(r=i[a],pe.inArray(pe.valHooks.option.get(r),o)>-1)try{r.selected=n=!0}catch(s){r.scrollHeight}else r.selected=!1;return n||(e.selectedIndex=-1),i}}}}),pe.each(["radio","checkbox"],function(){pe.valHooks[this]={set:function(e,t){if(pe.isArray(t))return e.checked=pe.inArray(pe(e).val(),t)>-1}},fe.checkOn||(pe.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var Lt,Ht,qt=pe.expr.attrHandle,_t=/^(?:checked|selected)$/i,Ft=fe.getSetAttribute,Mt=fe.input;pe.fn.extend({attr:function(e,t){return Pe(this,pe.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){pe.removeAttr(this,e)})}}),pe.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?pe.prop(e,t,n):(1===o&&pe.isXMLDoc(e)||(t=t.toLowerCase(),i=pe.attrHooks[t]||(pe.expr.match.bool.test(t)?Ht:Lt)),void 0!==n?null===n?void pe.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:(r=pe.find.attr(e,t),null==r?void 0:r))},attrHooks:{type:{set:function(e,t){if(!fe.radioValue&&"radio"===t&&pe.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(De);if(o&&1===e.nodeType)for(;n=o[i++];)r=pe.propFix[n]||n,pe.expr.match.bool.test(n)?Mt&&Ft||!_t.test(n)?e[r]=!1:e[pe.camelCase("default-"+n)]=e[r]=!1:pe.attr(e,n,""),e.removeAttribute(Ft?n:r)}}),Ht={set:function(e,t,n){return t===!1?pe.removeAttr(e,n):Mt&&Ft||!_t.test(n)?e.setAttribute(!Ft&&pe.propFix[n]||n,n):e[pe.camelCase("default-"+n)]=e[n]=!0,n}},pe.each(pe.expr.match.bool.source.match(/\w+/g),function(e,t){var n=qt[t]||pe.find.attr;Mt&&Ft||!_t.test(t)?qt[t]=function(e,t,r){var i,o;return r||(o=qt[t],qt[t]=i,i=null!=n(e,t,r)?t.toLowerCase():null,qt[t]=o),i}:qt[t]=function(e,t,n){if(!n)return e[pe.camelCase("default-"+t)]?t.toLowerCase():null}}),Mt&&Ft||(pe.attrHooks.value={set:function(e,t,n){return pe.nodeName(e,"input")?void(e.defaultValue=t):Lt&&Lt.set(e,t,n)}}),Ft||(Lt={set:function(e,t,n){var r=e.getAttributeNode(n);if(r||e.setAttributeNode(r=e.ownerDocument.createAttribute(n)),r.value=t+="","value"===n||t===e.getAttribute(n))return t}},qt.id=qt.name=qt.coords=function(e,t,n){var r;if(!n)return(r=e.getAttributeNode(t))&&""!==r.value?r.value:null},pe.valHooks.button={get:function(e,t){var n=e.getAttributeNode(t);if(n&&n.specified)return n.value},set:Lt.set},pe.attrHooks.contenteditable={set:function(e,t,n){Lt.set(e,""!==t&&t,n)}},pe.each(["width","height"],function(e,t){pe.attrHooks[t]={set:function(e,n){if(""===n)return e.setAttribute(t,"auto"),n}}})),fe.style||(pe.attrHooks.style={get:function(e){return e.style.cssText||void 0},set:function(e,t){return e.style.cssText=t+""}});var Ot=/^(?:input|select|textarea|button|object)$/i,Rt=/^(?:a|area)$/i;pe.fn.extend({prop:function(e,t){return Pe(this,pe.prop,e,t,arguments.length>1)},removeProp:function(e){return e=pe.propFix[e]||e,this.each(function(){try{this[e]=void 0,delete this[e]}catch(t){}})}}),pe.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&pe.isXMLDoc(e)||(t=pe.propFix[t]||t,i=pe.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=pe.find.attr(e,"tabindex");return t?parseInt(t,10):Ot.test(e.nodeName)||Rt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),fe.hrefNormalized||pe.each(["href","src"],function(e,t){pe.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}}),fe.optSelected||(pe.propHooks.selected={get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),pe.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){pe.propFix[this.toLowerCase()]=this}),fe.enctype||(pe.propFix.enctype="encoding");var Pt=/[\t\r\n\f]/g;pe.fn.extend({addClass:function(e){var t,n,r,i,o,a,s,u=0;if(pe.isFunction(e))return this.each(function(t){pe(this).addClass(e.call(this,t,z(this)))});if("string"==typeof e&&e)for(t=e.match(De)||[];n=this[u++];)if(i=z(n),r=1===n.nodeType&&(" "+i+" ").replace(Pt," ")){for(a=0;o=t[a++];)r.indexOf(" "+o+" ")<0&&(r+=o+" ");s=pe.trim(r),i!==s&&pe.attr(n,"class",s)}return this},removeClass:function(e){var t,n,r,i,o,a,s,u=0;if(pe.isFunction(e))return this.each(function(t){pe(this).removeClass(e.call(this,t,z(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof e&&e)for(t=e.match(De)||[];n=this[u++];)if(i=z(n),r=1===n.nodeType&&(" "+i+" ").replace(Pt," ")){for(a=0;o=t[a++];)for(;r.indexOf(" "+o+" ")>-1;)r=r.replace(" "+o+" "," ");s=pe.trim(r),i!==s&&pe.attr(n,"class",s)}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):pe.isFunction(e)?this.each(function(n){pe(this).toggleClass(e.call(this,n,z(this),t),t)}):this.each(function(){var t,r,i,o;if("string"===n)for(r=0,i=pe(this),o=e.match(De)||[];t=o[r++];)i.hasClass(t)?i.removeClass(t):i.addClass(t);else void 0!==e&&"boolean"!==n||(t=z(this),t&&pe._data(this,"__className__",t),pe.attr(this,"class",t||e===!1?"":pe._data(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;for(t=" "+e+" ";n=this[r++];)if(1===n.nodeType&&(" "+z(n)+" ").replace(Pt," ").indexOf(t)>-1)return!0;return!1}}),pe.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){pe.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),pe.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}});var Bt=e.location,Wt=pe.now(),It=/\?/,$t=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;pe.parseJSON=function(t){if(e.JSON&&e.JSON.parse)return e.JSON.parse(t+"");var n,r=null,i=pe.trim(t+"");return i&&!pe.trim(i.replace($t,function(e,t,i,o){return n&&t&&(r=0),0===r?e:(n=i||t,r+=!o-!i,"")}))?Function("return "+i)():pe.error("Invalid JSON: "+t)},pe.parseXML=function(t){var n,r;if(!t||"string"!=typeof t)return null;try{e.DOMParser?(r=new e.DOMParser,n=r.parseFromString(t,"text/xml")):(n=new e.ActiveXObject("Microsoft.XMLDOM"),n.async="false",n.loadXML(t))}catch(i){n=void 0}return n&&n.documentElement&&!n.getElementsByTagName("parsererror").length||pe.error("Invalid XML: "+t),n};var zt=/#.*$/,Xt=/([?&])_=[^&]*/,Ut=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Vt=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Yt=/^(?:GET|HEAD)$/,Jt=/^\/\//,Gt=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,Kt={},Qt={},Zt="*/".concat("*"),en=Bt.href,tn=Gt.exec(en.toLowerCase())||[];pe.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:en,type:"GET",isLocal:Vt.test(tn[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Zt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":pe.parseJSON,"text xml":pe.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?V(V(e,pe.ajaxSettings),t):V(pe.ajaxSettings,e)},ajaxPrefilter:X(Kt),ajaxTransport:X(Qt),ajax:function(t,n){function r(t,n,r,i){var o,f,v,x,w,C=n;2!==b&&(b=2,u&&e.clearTimeout(u),c=void 0,s=i||"",T.readyState=t>0?4:0,o=t>=200&&t<300||304===t,r&&(x=Y(d,T,r)),x=J(d,x,T,o),o?(d.ifModified&&(w=T.getResponseHeader("Last-Modified"),w&&(pe.lastModified[a]=w),w=T.getResponseHeader("etag"),w&&(pe.etag[a]=w)),204===t||"HEAD"===d.type?C="nocontent":304===t?C="notmodified":(C=x.state,f=x.data,v=x.error,o=!v)):(v=C,!t&&C||(C="error",t<0&&(t=0))),T.status=t,T.statusText=(n||C)+"",o?g.resolveWith(p,[f,C,T]):g.rejectWith(p,[T,C,v]),T.statusCode(y),y=void 0,l&&h.trigger(o?"ajaxSuccess":"ajaxError",[T,d,o?f:v]),m.fireWith(p,[T,C]),l&&(h.trigger("ajaxComplete",[T,d]),--pe.active||pe.event.trigger("ajaxStop")))}"object"==typeof t&&(n=t,t=void 0),n=n||{};var i,o,a,s,u,l,c,f,d=pe.ajaxSetup({},n),p=d.context||d,h=d.context&&(p.nodeType||p.jquery)?pe(p):pe.event,g=pe.Deferred(),m=pe.Callbacks("once memory"),y=d.statusCode||{},v={},x={},b=0,w="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(2===b){if(!f)for(f={};t=Ut.exec(s);)f[t[1].toLowerCase()]=t[2];t=f[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===b?s:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return b||(e=x[n]=x[n]||e,v[e]=t),this},overrideMimeType:function(e){return b||(d.mimeType=e),this},statusCode:function(e){var t;if(e)if(b<2)for(t in e)y[t]=[y[t],e[t]];else T.always(e[T.status]);return this},abort:function(e){var t=e||w;return c&&c.abort(t),r(0,t),this}};if(g.promise(T).complete=m.add,T.success=T.done,T.error=T.fail,d.url=((t||d.url||en)+"").replace(zt,"").replace(Jt,tn[1]+"//"),d.type=n.method||n.type||d.method||d.type,d.dataTypes=pe.trim(d.dataType||"*").toLowerCase().match(De)||[""],null==d.crossDomain&&(i=Gt.exec(d.url.toLowerCase()),d.crossDomain=!(!i||i[1]===tn[1]&&i[2]===tn[2]&&(i[3]||("http:"===i[1]?"80":"443"))===(tn[3]||("http:"===tn[1]?"80":"443")))),d.data&&d.processData&&"string"!=typeof d.data&&(d.data=pe.param(d.data,d.traditional)),U(Kt,d,n,T),2===b)return T;l=pe.event&&d.global,l&&0===pe.active++&&pe.event.trigger("ajaxStart"),d.type=d.type.toUpperCase(),d.hasContent=!Yt.test(d.type),a=d.url,d.hasContent||(d.data&&(a=d.url+=(It.test(a)?"&":"?")+d.data,delete d.data),d.cache===!1&&(d.url=Xt.test(a)?a.replace(Xt,"$1_="+Wt++):a+(It.test(a)?"&":"?")+"_="+Wt++)),d.ifModified&&(pe.lastModified[a]&&T.setRequestHeader("If-Modified-Since",pe.lastModified[a]),pe.etag[a]&&T.setRequestHeader("If-None-Match",pe.etag[a])),(d.data&&d.hasContent&&d.contentType!==!1||n.contentType)&&T.setRequestHeader("Content-Type",d.contentType),T.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+("*"!==d.dataTypes[0]?", "+Zt+"; q=0.01":""):d.accepts["*"]);for(o in d.headers)T.setRequestHeader(o,d.headers[o]);if(d.beforeSend&&(d.beforeSend.call(p,T,d)===!1||2===b))return T.abort();w="abort";for(o in{success:1,error:1,complete:1})T[o](d[o]);if(c=U(Qt,d,n,T)){if(T.readyState=1,l&&h.trigger("ajaxSend",[T,d]),2===b)return T;d.async&&d.timeout>0&&(u=e.setTimeout(function(){T.abort("timeout")},d.timeout));try{b=1,c.send(v,r)}catch(C){if(!(b<2))throw C;r(-1,C)}}else r(-1,"No Transport");return T},getJSON:function(e,t,n){return pe.get(e,t,n,"json")},getScript:function(e,t){return pe.get(e,void 0,t,"script")}}),pe.each(["get","post"],function(e,t){pe[t]=function(e,n,r,i){return pe.isFunction(n)&&(i=i||r,r=n,n=void 0),pe.ajax(pe.extend({url:e,type:t,dataType:i,data:n,success:r},pe.isPlainObject(e)&&e))}}),pe._evalUrl=function(e){return pe.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},pe.fn.extend({wrapAll:function(e){if(pe.isFunction(e))return this.each(function(t){pe(this).wrapAll(e.call(this,t))});if(this[0]){var t=pe(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstChild&&1===e.firstChild.nodeType;)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return pe.isFunction(e)?this.each(function(t){pe(this).wrapInner(e.call(this,t))}):this.each(function(){var t=pe(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=pe.isFunction(e);return this.each(function(n){pe(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){pe.nodeName(this,"body")||pe(this).replaceWith(this.childNodes)}).end()}}),pe.expr.filters.hidden=function(e){return fe.reliableHiddenOffsets()?e.offsetWidth<=0&&e.offsetHeight<=0&&!e.getClientRects().length:K(e)},pe.expr.filters.visible=function(e){return!pe.expr.filters.hidden(e)};var nn=/%20/g,rn=/\[\]$/,on=/\r?\n/g,an=/^(?:submit|button|image|reset|file)$/i,sn=/^(?:input|select|textarea|keygen)/i;pe.param=function(e,t){var n,r=[],i=function(e,t){t=pe.isFunction(t)?t():null==t?"":t,r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(void 0===t&&(t=pe.ajaxSettings&&pe.ajaxSettings.traditional),pe.isArray(e)||e.jquery&&!pe.isPlainObject(e))pe.each(e,function(){i(this.name,this.value)});else for(n in e)Q(n,e[n],t,i);return r.join("&").replace(nn,"+")},pe.fn.extend({serialize:function(){return pe.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=pe.prop(this,"elements");return e?pe.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!pe(this).is(":disabled")&&sn.test(this.nodeName)&&!an.test(e)&&(this.checked||!Be.test(e))}).map(function(e,t){var n=pe(this).val();return null==n?null:pe.isArray(n)?pe.map(n,function(e){return{name:t.name,value:e.replace(on,"\r\n")}}):{name:t.name,value:n.replace(on,"\r\n")}}).get()}}),pe.ajaxSettings.xhr=void 0!==e.ActiveXObject?function(){return this.isLocal?ee():re.documentMode>8?Z():/^(get|post|head|put|delete|options)$/i.test(this.type)&&Z()||ee()}:Z;var un=0,ln={},cn=pe.ajaxSettings.xhr();e.attachEvent&&e.attachEvent("onunload",function(){for(var e in ln)ln[e](void 0,!0)}),fe.cors=!!cn&&"withCredentials"in cn,cn=fe.ajax=!!cn,cn&&pe.ajaxTransport(function(t){if(!t.crossDomain||fe.cors){var n;return{send:function(r,i){var o,a=t.xhr(),s=++un;if(a.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(o in t.xhrFields)a[o]=t.xhrFields[o];t.mimeType&&a.overrideMimeType&&a.overrideMimeType(t.mimeType),t.crossDomain||r["X-Requested-With"]||(r["X-Requested-With"]="XMLHttpRequest");for(o in r)void 0!==r[o]&&a.setRequestHeader(o,r[o]+"");a.send(t.hasContent&&t.data||null),n=function(e,r){var o,u,l;if(n&&(r||4===a.readyState))if(delete ln[s],n=void 0,a.onreadystatechange=pe.noop,r)4!==a.readyState&&a.abort();else{l={},o=a.status,"string"==typeof a.responseText&&(l.text=a.responseText);try{u=a.statusText}catch(c){u=""}o||!t.isLocal||t.crossDomain?1223===o&&(o=204):o=l.text?200:404}l&&i(o,u,l,a.getAllResponseHeaders())},t.async?4===a.readyState?e.setTimeout(n):a.onreadystatechange=ln[s]=n:n()},abort:function(){n&&n(void 0,!0)}}}}),pe.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return pe.globalEval(e),e}}}),pe.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),pe.ajaxTransport("script",function(e){if(e.crossDomain){var t,n=re.head||pe("head")[0]||re.documentElement;return{send:function(r,i){t=re.createElement("script"),t.async=!0,e.scriptCharset&&(t.charset=e.scriptCharset),t.src=e.url,t.onload=t.onreadystatechange=function(e,n){(n||!t.readyState||/loaded|complete/.test(t.readyState))&&(t.onload=t.onreadystatechange=null,t.parentNode&&t.parentNode.removeChild(t),t=null,n||i(200,"success"))},n.insertBefore(t,n.firstChild)},abort:function(){t&&t.onload(void 0,!0)}}}});var fn=[],dn=/(=)\?(?=&|$)|\?\?/;pe.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=fn.pop()||pe.expando+"_"+Wt++;return this[e]=!0,e}}),pe.ajaxPrefilter("json jsonp",function(t,n,r){var i,o,a,s=t.jsonp!==!1&&(dn.test(t.url)?"url":"string"==typeof t.data&&0===(t.contentType||"").indexOf("application/x-www-form-urlencoded")&&dn.test(t.data)&&"data");if(s||"jsonp"===t.dataTypes[0])return i=t.jsonpCallback=pe.isFunction(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,s?t[s]=t[s].replace(dn,"$1"+i):t.jsonp!==!1&&(t.url+=(It.test(t.url)?"&":"?")+t.jsonp+"="+i),t.converters["script json"]=function(){return a||pe.error(i+" was not called"),a[0]},t.dataTypes[0]="json",o=e[i],e[i]=function(){a=arguments},r.always(function(){void 0===o?pe(e).removeProp(i):e[i]=o,t[i]&&(t.jsonpCallback=n.jsonpCallback,fn.push(i)),a&&pe.isFunction(o)&&o(a[0]),a=o=void 0}),"script"}),pe.parseHTML=function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||re;var r=Te.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=y([e],t,i),i&&i.length&&pe(i).remove(),pe.merge([],r.childNodes))};var pn=pe.fn.load;return pe.fn.load=function(e,t,n){if("string"!=typeof e&&pn)return pn.apply(this,arguments);var r,i,o,a=this,s=e.indexOf(" ");return s>-1&&(r=pe.trim(e.slice(s,e.length)),e=e.slice(0,s)),pe.isFunction(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),a.length>0&&pe.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?pe("<div>").append(pe.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},pe.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){pe.fn[t]=function(e){return this.on(t,e)}}),pe.expr.filters.animated=function(e){return pe.grep(pe.timers,function(t){return e===t.elem}).length},pe.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l,c=pe.css(e,"position"),f=pe(e),d={};"static"===c&&(e.style.position="relative"),s=f.offset(),o=pe.css(e,"top"),u=pe.css(e,"left"),l=("absolute"===c||"fixed"===c)&&pe.inArray("auto",[o,u])>-1,l?(r=f.position(),a=r.top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),pe.isFunction(t)&&(t=t.call(e,n,pe.extend({},s))),null!=t.top&&(d.top=t.top-s.top+a),null!=t.left&&(d.left=t.left-s.left+i),"using"in t?t.using.call(e,d):f.css(d)}},pe.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each(function(t){pe.offset.setOffset(this,e,t)});var t,n,r={top:0,left:0},i=this[0],o=i&&i.ownerDocument;if(o)return t=o.documentElement,pe.contains(t,i)?("undefined"!=typeof i.getBoundingClientRect&&(r=i.getBoundingClientRect()),n=te(o),{top:r.top+(n.pageYOffset||t.scrollTop)-(t.clientTop||0),left:r.left+(n.pageXOffset||t.scrollLeft)-(t.clientLeft||0)}):r},position:function(){if(this[0]){var e,t,n={top:0,left:0},r=this[0];return"fixed"===pe.css(r,"position")?t=r.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),pe.nodeName(e[0],"html")||(n=e.offset()),n.top+=pe.css(e[0],"borderTopWidth",!0),n.left+=pe.css(e[0],"borderLeftWidth",!0)),{top:t.top-n.top-pe.css(r,"marginTop",!0),left:t.left-n.left-pe.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){
+for(var e=this.offsetParent;e&&!pe.nodeName(e,"html")&&"static"===pe.css(e,"position");)e=e.offsetParent;return e||pt})}}),pe.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,t){var n=/Y/.test(t);pe.fn[e]=function(r){return Pe(this,function(e,r,i){var o=te(e);return void 0===i?o?t in o?o[t]:o.document.documentElement[r]:e[r]:void(o?o.scrollTo(n?pe(o).scrollLeft():i,n?i:pe(o).scrollTop()):e[r]=i)},e,r,arguments.length,null)}}),pe.each(["top","left"],function(e,t){pe.cssHooks[t]=L(fe.pixelPosition,function(e,n){if(n)return n=gt(e,t),ft.test(n)?pe(e).position()[t]+"px":n})}),pe.each({Height:"height",Width:"width"},function(e,t){pe.each({padding:"inner"+e,content:t,"":"outer"+e},function(n,r){pe.fn[r]=function(r,i){var o=arguments.length&&(n||"boolean"!=typeof r),a=n||(r===!0||i===!0?"margin":"border");return Pe(this,function(t,n,r){var i;return pe.isWindow(t)?t.document.documentElement["client"+e]:9===t.nodeType?(i=t.documentElement,Math.max(t.body["scroll"+e],i["scroll"+e],t.body["offset"+e],i["offset"+e],i["client"+e])):void 0===r?pe.css(t,n,a):pe.style(t,n,r,a)},t,o?r:void 0,o,null)}})}),pe.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}}),pe.fn.size=function(){return this.length},pe.fn.andSelf=pe.fn.addBack,layui.define(function(e){layui.$=pe,e("jquery",pe)}),pe});!function(e,t){"use strict";var i,n,a=e.layui&&layui.define,o={getPath:function(){var e=document.currentScript?document.currentScript.src:function(){for(var e,t=document.scripts,i=t.length-1,n=i;n>0;n--)if("interactive"===t[n].readyState){e=t[n].src;break}return e||t[i].src}();return e.substring(0,e.lastIndexOf("/")+1)}(),config:{},end:{},minIndex:0,minLeft:[],btn:["&#x786E;&#x5B9A;","&#x53D6;&#x6D88;"],type:["dialog","page","iframe","loading","tips"],getStyle:function(t,i){var n=t.currentStyle?t.currentStyle:e.getComputedStyle(t,null);return n[n.getPropertyValue?"getPropertyValue":"getAttribute"](i)},link:function(t,i,n){if(r.path){var a=document.getElementsByTagName("head")[0],s=document.createElement("link");"string"==typeof i&&(n=i);var l=(n||t).replace(/\.|\//g,""),f="layuicss-"+l,c=0;s.rel="stylesheet",s.href=r.path+t,s.id=f,document.getElementById(f)||a.appendChild(s),"function"==typeof i&&!function u(){return++c>80?e.console&&console.error("layer.css: Invalid"):void(1989===parseInt(o.getStyle(document.getElementById(f),"width"))?i():setTimeout(u,100))}()}}},r={v:"3.1.1",ie:function(){var t=navigator.userAgent.toLowerCase();return!!(e.ActiveXObject||"ActiveXObject"in e)&&((t.match(/msie\s(\d+)/)||[])[1]||"11")}(),index:e.layer&&e.layer.v?1e5:0,path:o.getPath,config:function(e,t){return e=e||{},r.cache=o.config=i.extend({},o.config,e),r.path=o.config.path||r.path,"string"==typeof e.extend&&(e.extend=[e.extend]),o.config.path&&r.ready(),e.extend?(a?layui.addcss("modules/layer/"+e.extend):o.link("theme/"+e.extend),this):this},ready:function(e){var t="layer",i="",n=(a?"modules/layer/":"theme/")+"default/layer.css?v="+r.v+i;return a?layui.addcss(n,e,t):o.link(n,e,t),this},alert:function(e,t,n){var a="function"==typeof t;return a&&(n=t),r.open(i.extend({content:e,yes:n},a?{}:t))},confirm:function(e,t,n,a){var s="function"==typeof t;return s&&(a=n,n=t),r.open(i.extend({content:e,btn:o.btn,yes:n,btn2:a},s?{}:t))},msg:function(e,n,a){var s="function"==typeof n,f=o.config.skin,c=(f?f+" "+f+"-msg":"")||"layui-layer-msg",u=l.anim.length-1;return s&&(a=n),r.open(i.extend({content:e,time:3e3,shade:!1,skin:c,title:!1,closeBtn:!1,btn:!1,resize:!1,end:a},s&&!o.config.skin?{skin:c+" layui-layer-hui",anim:u}:function(){return n=n||{},(n.icon===-1||n.icon===t&&!o.config.skin)&&(n.skin=c+" "+(n.skin||"layui-layer-hui")),n}()))},load:function(e,t){return r.open(i.extend({type:3,icon:e||0,resize:!1,shade:.01},t))},tips:function(e,t,n){return r.open(i.extend({type:4,content:[e,t],closeBtn:!1,time:3e3,shade:!1,resize:!1,fixed:!1,maxWidth:210},n))}},s=function(e){var t=this;t.index=++r.index,t.config=i.extend({},t.config,o.config,e),document.body?t.creat():setTimeout(function(){t.creat()},30)};s.pt=s.prototype;var l=["layui-layer",".layui-layer-title",".layui-layer-main",".layui-layer-dialog","layui-layer-iframe","layui-layer-content","layui-layer-btn","layui-layer-close"];l.anim=["layer-anim-00","layer-anim-01","layer-anim-02","layer-anim-03","layer-anim-04","layer-anim-05","layer-anim-06"],s.pt.config={type:0,shade:.3,fixed:!0,move:l[1],title:"&#x4FE1;&#x606F;",offset:"auto",area:"auto",closeBtn:1,time:0,zIndex:19891014,maxWidth:360,anim:0,isOutAnim:!0,icon:-1,moveType:1,resize:!0,scrollbar:!0,tips:2},s.pt.vessel=function(e,t){var n=this,a=n.index,r=n.config,s=r.zIndex+a,f="object"==typeof r.title,c=r.maxmin&&(1===r.type||2===r.type),u=r.title?'<div class="layui-layer-title" style="'+(f?r.title[1]:"")+'">'+(f?r.title[0]:r.title)+"</div>":"";return r.zIndex=s,t([r.shade?'<div class="layui-layer-shade" id="layui-layer-shade'+a+'" times="'+a+'" style="'+("z-index:"+(s-1)+"; ")+'"></div>':"",'<div class="'+l[0]+(" layui-layer-"+o.type[r.type])+(0!=r.type&&2!=r.type||r.shade?"":" layui-layer-border")+" "+(r.skin||"")+'" id="'+l[0]+a+'" type="'+o.type[r.type]+'" times="'+a+'" showtime="'+r.time+'" conType="'+(e?"object":"string")+'" style="z-index: '+s+"; width:"+r.area[0]+";height:"+r.area[1]+(r.fixed?"":";position:absolute;")+'">'+(e&&2!=r.type?"":u)+'<div id="'+(r.id||"")+'" class="layui-layer-content'+(0==r.type&&r.icon!==-1?" layui-layer-padding":"")+(3==r.type?" layui-layer-loading"+r.icon:"")+'">'+(0==r.type&&r.icon!==-1?'<i class="layui-layer-ico layui-layer-ico'+r.icon+'"></i>':"")+(1==r.type&&e?"":r.content||"")+'</div><span class="layui-layer-setwin">'+function(){var e=c?'<a class="layui-layer-min" href="javascript:;"><cite></cite></a><a class="layui-layer-ico layui-layer-max" href="javascript:;"></a>':"";return r.closeBtn&&(e+='<a class="layui-layer-ico '+l[7]+" "+l[7]+(r.title?r.closeBtn:4==r.type?"1":"2")+'" href="javascript:;"></a>'),e}()+"</span>"+(r.btn?function(){var e="";"string"==typeof r.btn&&(r.btn=[r.btn]);for(var t=0,i=r.btn.length;t<i;t++)e+='<a class="'+l[6]+t+'">'+r.btn[t]+"</a>";return'<div class="'+l[6]+" layui-layer-btn-"+(r.btnAlign||"")+'">'+e+"</div>"}():"")+(r.resize?'<span class="layui-layer-resize"></span>':"")+"</div>"],u,i('<div class="layui-layer-move"></div>')),n},s.pt.creat=function(){var e=this,t=e.config,a=e.index,s=t.content,f="object"==typeof s,c=i("body");if(!t.id||!i("#"+t.id)[0]){switch("string"==typeof t.area&&(t.area="auto"===t.area?["",""]:[t.area,""]),t.shift&&(t.anim=t.shift),6==r.ie&&(t.fixed=!1),t.type){case 0:t.btn="btn"in t?t.btn:o.btn[0],r.closeAll("dialog");break;case 2:var s=t.content=f?t.content:[t.content||"","auto"];t.content='<iframe scrolling="'+(t.content[1]||"auto")+'" allowtransparency="true" id="'+l[4]+a+'" name="'+l[4]+a+'" onload="this.className=\'\';" class="layui-layer-load" frameborder="0" src="'+t.content[0]+'"></iframe>';break;case 3:delete t.title,delete t.closeBtn,t.icon===-1&&0===t.icon,r.closeAll("loading");break;case 4:f||(t.content=[t.content,"body"]),t.follow=t.content[1],t.content=t.content[0]+'<i class="layui-layer-TipsG"></i>',delete t.title,t.tips="object"==typeof t.tips?t.tips:[t.tips,!0],t.tipsMore||r.closeAll("tips")}if(e.vessel(f,function(n,r,u){c.append(n[0]),f?function(){2==t.type||4==t.type?function(){i("body").append(n[1])}():function(){s.parents("."+l[0])[0]||(s.data("display",s.css("display")).show().addClass("layui-layer-wrap").wrap(n[1]),i("#"+l[0]+a).find("."+l[5]).before(r))}()}():c.append(n[1]),i(".layui-layer-move")[0]||c.append(o.moveElem=u),e.layero=i("#"+l[0]+a),t.scrollbar||l.html.css("overflow","hidden").attr("layer-full",a)}).auto(a),i("#layui-layer-shade"+e.index).css({"background-color":t.shade[1]||"#000",opacity:t.shade[0]||t.shade}),2==t.type&&6==r.ie&&e.layero.find("iframe").attr("src",s[0]),4==t.type?e.tips():e.offset(),t.fixed&&n.on("resize",function(){e.offset(),(/^\d+%$/.test(t.area[0])||/^\d+%$/.test(t.area[1]))&&e.auto(a),4==t.type&&e.tips()}),t.time<=0||setTimeout(function(){r.close(e.index)},t.time),e.move().callback(),l.anim[t.anim]){var u="layer-anim "+l.anim[t.anim];e.layero.addClass(u).one("webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend",function(){i(this).removeClass(u)})}t.isOutAnim&&e.layero.data("isOutAnim",!0)}},s.pt.auto=function(e){var t=this,a=t.config,o=i("#"+l[0]+e);""===a.area[0]&&a.maxWidth>0&&(r.ie&&r.ie<8&&a.btn&&o.width(o.innerWidth()),o.outerWidth()>a.maxWidth&&o.width(a.maxWidth));var s=[o.innerWidth(),o.innerHeight()],f=o.find(l[1]).outerHeight()||0,c=o.find("."+l[6]).outerHeight()||0,u=function(e){e=o.find(e),e.height(s[1]-f-c-2*(0|parseFloat(e.css("padding-top"))))};switch(a.type){case 2:u("iframe");break;default:""===a.area[1]?a.maxHeight>0&&o.outerHeight()>a.maxHeight?(s[1]=a.maxHeight,u("."+l[5])):a.fixed&&s[1]>=n.height()&&(s[1]=n.height(),u("."+l[5])):u("."+l[5])}return t},s.pt.offset=function(){var e=this,t=e.config,i=e.layero,a=[i.outerWidth(),i.outerHeight()],o="object"==typeof t.offset;e.offsetTop=(n.height()-a[1])/2,e.offsetLeft=(n.width()-a[0])/2,o?(e.offsetTop=t.offset[0],e.offsetLeft=t.offset[1]||e.offsetLeft):"auto"!==t.offset&&("t"===t.offset?e.offsetTop=0:"r"===t.offset?e.offsetLeft=n.width()-a[0]:"b"===t.offset?e.offsetTop=n.height()-a[1]:"l"===t.offset?e.offsetLeft=0:"lt"===t.offset?(e.offsetTop=0,e.offsetLeft=0):"lb"===t.offset?(e.offsetTop=n.height()-a[1],e.offsetLeft=0):"rt"===t.offset?(e.offsetTop=0,e.offsetLeft=n.width()-a[0]):"rb"===t.offset?(e.offsetTop=n.height()-a[1],e.offsetLeft=n.width()-a[0]):e.offsetTop=t.offset),t.fixed||(e.offsetTop=/%$/.test(e.offsetTop)?n.height()*parseFloat(e.offsetTop)/100:parseFloat(e.offsetTop),e.offsetLeft=/%$/.test(e.offsetLeft)?n.width()*parseFloat(e.offsetLeft)/100:parseFloat(e.offsetLeft),e.offsetTop+=n.scrollTop(),e.offsetLeft+=n.scrollLeft()),i.attr("minLeft")&&(e.offsetTop=n.height()-(i.find(l[1]).outerHeight()||0),e.offsetLeft=i.css("left")),i.css({top:e.offsetTop,left:e.offsetLeft})},s.pt.tips=function(){var e=this,t=e.config,a=e.layero,o=[a.outerWidth(),a.outerHeight()],r=i(t.follow);r[0]||(r=i("body"));var s={width:r.outerWidth(),height:r.outerHeight(),top:r.offset().top,left:r.offset().left},f=a.find(".layui-layer-TipsG"),c=t.tips[0];t.tips[1]||f.remove(),s.autoLeft=function(){s.left+o[0]-n.width()>0?(s.tipLeft=s.left+s.width-o[0],f.css({right:12,left:"auto"})):s.tipLeft=s.left},s.where=[function(){s.autoLeft(),s.tipTop=s.top-o[1]-10,f.removeClass("layui-layer-TipsB").addClass("layui-layer-TipsT").css("border-right-color",t.tips[1])},function(){s.tipLeft=s.left+s.width+10,s.tipTop=s.top,f.removeClass("layui-layer-TipsL").addClass("layui-layer-TipsR").css("border-bottom-color",t.tips[1])},function(){s.autoLeft(),s.tipTop=s.top+s.height+10,f.removeClass("layui-layer-TipsT").addClass("layui-layer-TipsB").css("border-right-color",t.tips[1])},function(){s.tipLeft=s.left-o[0]-10,s.tipTop=s.top,f.removeClass("layui-layer-TipsR").addClass("layui-layer-TipsL").css("border-bottom-color",t.tips[1])}],s.where[c-1](),1===c?s.top-(n.scrollTop()+o[1]+16)<0&&s.where[2]():2===c?n.width()-(s.left+s.width+o[0]+16)>0||s.where[3]():3===c?s.top-n.scrollTop()+s.height+o[1]+16-n.height()>0&&s.where[0]():4===c&&o[0]+16-s.left>0&&s.where[1](),a.find("."+l[5]).css({"background-color":t.tips[1],"padding-right":t.closeBtn?"30px":""}),a.css({left:s.tipLeft-(t.fixed?n.scrollLeft():0),top:s.tipTop-(t.fixed?n.scrollTop():0)})},s.pt.move=function(){var e=this,t=e.config,a=i(document),s=e.layero,l=s.find(t.move),f=s.find(".layui-layer-resize"),c={};return t.move&&l.css("cursor","move"),l.on("mousedown",function(e){e.preventDefault(),t.move&&(c.moveStart=!0,c.offset=[e.clientX-parseFloat(s.css("left")),e.clientY-parseFloat(s.css("top"))],o.moveElem.css("cursor","move").show())}),f.on("mousedown",function(e){e.preventDefault(),c.resizeStart=!0,c.offset=[e.clientX,e.clientY],c.area=[s.outerWidth(),s.outerHeight()],o.moveElem.css("cursor","se-resize").show()}),a.on("mousemove",function(i){if(c.moveStart){var a=i.clientX-c.offset[0],o=i.clientY-c.offset[1],l="fixed"===s.css("position");if(i.preventDefault(),c.stX=l?0:n.scrollLeft(),c.stY=l?0:n.scrollTop(),!t.moveOut){var f=n.width()-s.outerWidth()+c.stX,u=n.height()-s.outerHeight()+c.stY;a<c.stX&&(a=c.stX),a>f&&(a=f),o<c.stY&&(o=c.stY),o>u&&(o=u)}s.css({left:a,top:o})}if(t.resize&&c.resizeStart){var a=i.clientX-c.offset[0],o=i.clientY-c.offset[1];i.preventDefault(),r.style(e.index,{width:c.area[0]+a,height:c.area[1]+o}),c.isResize=!0,t.resizing&&t.resizing(s)}}).on("mouseup",function(e){c.moveStart&&(delete c.moveStart,o.moveElem.hide(),t.moveEnd&&t.moveEnd(s)),c.resizeStart&&(delete c.resizeStart,o.moveElem.hide())}),e},s.pt.callback=function(){function e(){var e=a.cancel&&a.cancel(t.index,n);e===!1||r.close(t.index)}var t=this,n=t.layero,a=t.config;t.openLayer(),a.success&&(2==a.type?n.find("iframe").on("load",function(){a.success(n,t.index)}):a.success(n,t.index)),6==r.ie&&t.IE6(n),n.find("."+l[6]).children("a").on("click",function(){var e=i(this).index();if(0===e)a.yes?a.yes(t.index,n):a.btn1?a.btn1(t.index,n):r.close(t.index);else{var o=a["btn"+(e+1)]&&a["btn"+(e+1)](t.index,n);o===!1||r.close(t.index)}}),n.find("."+l[7]).on("click",e),a.shadeClose&&i("#layui-layer-shade"+t.index).on("click",function(){r.close(t.index)}),n.find(".layui-layer-min").on("click",function(){var e=a.min&&a.min(n);e===!1||r.min(t.index,a)}),n.find(".layui-layer-max").on("click",function(){i(this).hasClass("layui-layer-maxmin")?(r.restore(t.index),a.restore&&a.restore(n)):(r.full(t.index,a),setTimeout(function(){a.full&&a.full(n)},100))}),a.end&&(o.end[t.index]=a.end)},o.reselect=function(){i.each(i("select"),function(e,t){var n=i(this);n.parents("."+l[0])[0]||1==n.attr("layer")&&i("."+l[0]).length<1&&n.removeAttr("layer").show(),n=null})},s.pt.IE6=function(e){i("select").each(function(e,t){var n=i(this);n.parents("."+l[0])[0]||"none"===n.css("display")||n.attr({layer:"1"}).hide(),n=null})},s.pt.openLayer=function(){var e=this;r.zIndex=e.config.zIndex,r.setTop=function(e){var t=function(){r.zIndex++,e.css("z-index",r.zIndex+1)};return r.zIndex=parseInt(e[0].style.zIndex),e.on("mousedown",t),r.zIndex}},o.record=function(e){var t=[e.width(),e.height(),e.position().top,e.position().left+parseFloat(e.css("margin-left"))];e.find(".layui-layer-max").addClass("layui-layer-maxmin"),e.attr({area:t})},o.rescollbar=function(e){l.html.attr("layer-full")==e&&(l.html[0].style.removeProperty?l.html[0].style.removeProperty("overflow"):l.html[0].style.removeAttribute("overflow"),l.html.removeAttr("layer-full"))},e.layer=r,r.getChildFrame=function(e,t){return t=t||i("."+l[4]).attr("times"),i("#"+l[0]+t).find("iframe").contents().find(e)},r.getFrameIndex=function(e){return i("#"+e).parents("."+l[4]).attr("times")},r.iframeAuto=function(e){if(e){var t=r.getChildFrame("html",e).outerHeight(),n=i("#"+l[0]+e),a=n.find(l[1]).outerHeight()||0,o=n.find("."+l[6]).outerHeight()||0;n.css({height:t+a+o}),n.find("iframe").css({height:t})}},r.iframeSrc=function(e,t){i("#"+l[0]+e).find("iframe").attr("src",t)},r.style=function(e,t,n){var a=i("#"+l[0]+e),r=a.find(".layui-layer-content"),s=a.attr("type"),f=a.find(l[1]).outerHeight()||0,c=a.find("."+l[6]).outerHeight()||0;a.attr("minLeft");s!==o.type[3]&&s!==o.type[4]&&(n||(parseFloat(t.width)<=260&&(t.width=260),parseFloat(t.height)-f-c<=64&&(t.height=64+f+c)),a.css(t),c=a.find("."+l[6]).outerHeight(),s===o.type[2]?a.find("iframe").css({height:parseFloat(t.height)-f-c}):r.css({height:parseFloat(t.height)-f-c-parseFloat(r.css("padding-top"))-parseFloat(r.css("padding-bottom"))}))},r.min=function(e,t){var a=i("#"+l[0]+e),s=a.find(l[1]).outerHeight()||0,f=a.attr("minLeft")||181*o.minIndex+"px",c=a.css("position");o.record(a),o.minLeft[0]&&(f=o.minLeft[0],o.minLeft.shift()),a.attr("position",c),r.style(e,{width:180,height:s,left:f,top:n.height()-s,position:"fixed",overflow:"hidden"},!0),a.find(".layui-layer-min").hide(),"page"===a.attr("type")&&a.find(l[4]).hide(),o.rescollbar(e),a.attr("minLeft")||o.minIndex++,a.attr("minLeft",f)},r.restore=function(e){var t=i("#"+l[0]+e),n=t.attr("area").split(",");t.attr("type");r.style(e,{width:parseFloat(n[0]),height:parseFloat(n[1]),top:parseFloat(n[2]),left:parseFloat(n[3]),position:t.attr("position"),overflow:"visible"},!0),t.find(".layui-layer-max").removeClass("layui-layer-maxmin"),t.find(".layui-layer-min").show(),"page"===t.attr("type")&&t.find(l[4]).show(),o.rescollbar(e)},r.full=function(e){var t,a=i("#"+l[0]+e);o.record(a),l.html.attr("layer-full")||l.html.css("overflow","hidden").attr("layer-full",e),clearTimeout(t),t=setTimeout(function(){var t="fixed"===a.css("position");r.style(e,{top:t?0:n.scrollTop(),left:t?0:n.scrollLeft(),width:n.width(),height:n.height()},!0),a.find(".layui-layer-min").hide()},100)},r.title=function(e,t){var n=i("#"+l[0]+(t||r.index)).find(l[1]);n.html(e)},r.close=function(e){var t=i("#"+l[0]+e),n=t.attr("type"),a="layer-anim-close";if(t[0]){var s="layui-layer-wrap",f=function(){if(n===o.type[1]&&"object"===t.attr("conType")){t.children(":not(."+l[5]+")").remove();for(var a=t.find("."+s),r=0;r<2;r++)a.unwrap();a.css("display",a.data("display")).removeClass(s)}else{if(n===o.type[2])try{var f=i("#"+l[4]+e)[0];f.contentWindow.document.write(""),f.contentWindow.close(),t.find("."+l[5])[0].removeChild(f)}catch(c){}t[0].innerHTML="",t.remove()}"function"==typeof o.end[e]&&o.end[e](),delete o.end[e]};t.data("isOutAnim")&&t.addClass("layer-anim "+a),i("#layui-layer-moves, #layui-layer-shade"+e).remove(),6==r.ie&&o.reselect(),o.rescollbar(e),t.attr("minLeft")&&(o.minIndex--,o.minLeft.push(t.attr("minLeft"))),r.ie&&r.ie<10||!t.data("isOutAnim")?f():setTimeout(function(){f()},200)}},r.closeAll=function(e){i.each(i("."+l[0]),function(){var t=i(this),n=e?t.attr("type")===e:1;n&&r.close(t.attr("times")),n=null})};var f=r.cache||{},c=function(e){return f.skin?" "+f.skin+" "+f.skin+"-"+e:""};r.prompt=function(e,t){var a="";if(e=e||{},"function"==typeof e&&(t=e),e.area){var o=e.area;a='style="width: '+o[0]+"; height: "+o[1]+';"',delete e.area}var s,l=2==e.formType?'<textarea class="layui-layer-input"'+a+"></textarea>":function(){return'<input type="'+(1==e.formType?"password":"text")+'" class="layui-layer-input">'}(),f=e.success;return delete e.success,r.open(i.extend({type:1,btn:["&#x786E;&#x5B9A;","&#x53D6;&#x6D88;"],content:l,skin:"layui-layer-prompt"+c("prompt"),maxWidth:n.width(),success:function(t){s=t.find(".layui-layer-input"),s.val(e.value||"").focus(),"function"==typeof f&&f(t)},resize:!1,yes:function(i){var n=s.val();""===n?s.focus():n.length>(e.maxlength||500)?r.tips("&#x6700;&#x591A;&#x8F93;&#x5165;"+(e.maxlength||500)+"&#x4E2A;&#x5B57;&#x6570;",s,{tips:1}):t&&t(n,i,s)}},e))},r.tab=function(e){e=e||{};var t=e.tab||{},n="layui-this",a=e.success;return delete e.success,r.open(i.extend({type:1,skin:"layui-layer-tab"+c("tab"),resize:!1,title:function(){var e=t.length,i=1,a="";if(e>0)for(a='<span class="'+n+'">'+t[0].title+"</span>";i<e;i++)a+="<span>"+t[i].title+"</span>";return a}(),content:'<ul class="layui-layer-tabmain">'+function(){var e=t.length,i=1,a="";if(e>0)for(a='<li class="layui-layer-tabli '+n+'">'+(t[0].content||"no content")+"</li>";i<e;i++)a+='<li class="layui-layer-tabli">'+(t[i].content||"no  content")+"</li>";return a}()+"</ul>",success:function(t){var o=t.find(".layui-layer-title").children(),r=t.find(".layui-layer-tabmain").children();o.on("mousedown",function(t){t.stopPropagation?t.stopPropagation():t.cancelBubble=!0;var a=i(this),o=a.index();a.addClass(n).siblings().removeClass(n),r.eq(o).show().siblings().hide(),"function"==typeof e.change&&e.change(o)}),"function"==typeof a&&a(t)}},e))},r.photos=function(t,n,a){function o(e,t,i){var n=new Image;return n.src=e,n.complete?t(n):(n.onload=function(){n.onload=null,t(n)},void(n.onerror=function(e){n.onerror=null,i(e)}))}var s={};if(t=t||{},t.photos){var l=t.photos.constructor===Object,f=l?t.photos:{},u=f.data||[],d=f.start||0;s.imgIndex=(0|d)+1,t.img=t.img||"img";var y=t.success;if(delete t.success,l){if(0===u.length)return r.msg("&#x6CA1;&#x6709;&#x56FE;&#x7247;")}else{var p=i(t.photos),h=function(){u=[],p.find(t.img).each(function(e){var t=i(this);t.attr("layer-index",e),u.push({alt:t.attr("alt"),pid:t.attr("layer-pid"),src:t.attr("layer-src")||t.attr("src"),thumb:t.attr("src")})})};if(h(),0===u.length)return;if(n||p.on("click",t.img,function(){var e=i(this),n=e.attr("layer-index");r.photos(i.extend(t,{photos:{start:n,data:u,tab:t.tab},full:t.full}),!0),h()}),!n)return}s.imgprev=function(e){s.imgIndex--,s.imgIndex<1&&(s.imgIndex=u.length),s.tabimg(e)},s.imgnext=function(e,t){s.imgIndex++,s.imgIndex>u.length&&(s.imgIndex=1,t)||s.tabimg(e)},s.keyup=function(e){if(!s.end){var t=e.keyCode;e.preventDefault(),37===t?s.imgprev(!0):39===t?s.imgnext(!0):27===t&&r.close(s.index)}},s.tabimg=function(e){if(!(u.length<=1))return f.start=s.imgIndex-1,r.close(s.index),r.photos(t,!0,e)},s.event=function(){s.bigimg.hover(function(){s.imgsee.show()},function(){s.imgsee.hide()}),s.bigimg.find(".layui-layer-imgprev").on("click",function(e){e.preventDefault(),s.imgprev()}),s.bigimg.find(".layui-layer-imgnext").on("click",function(e){e.preventDefault(),s.imgnext()}),i(document).on("keyup",s.keyup)},s.loadi=r.load(1,{shade:!("shade"in t)&&.9,scrollbar:!1}),o(u[d].src,function(n){r.close(s.loadi),s.index=r.open(i.extend({type:1,id:"layui-layer-photos",area:function(){var a=[n.width,n.height],o=[i(e).width()-100,i(e).height()-100];if(!t.full&&(a[0]>o[0]||a[1]>o[1])){var r=[a[0]/o[0],a[1]/o[1]];r[0]>r[1]?(a[0]=a[0]/r[0],a[1]=a[1]/r[0]):r[0]<r[1]&&(a[0]=a[0]/r[1],a[1]=a[1]/r[1])}return[a[0]+"px",a[1]+"px"]}(),title:!1,shade:.9,shadeClose:!0,closeBtn:!1,move:".layui-layer-phimg img",moveType:1,scrollbar:!1,moveOut:!0,isOutAnim:!1,skin:"layui-layer-photos"+c("photos"),content:'<div class="layui-layer-phimg"><img src="'+u[d].src+'" alt="'+(u[d].alt||"")+'" layer-pid="'+u[d].pid+'"><div class="layui-layer-imgsee">'+(u.length>1?'<span class="layui-layer-imguide"><a href="javascript:;" class="layui-layer-iconext layui-layer-imgprev"></a><a href="javascript:;" class="layui-layer-iconext layui-layer-imgnext"></a></span>':"")+'<div class="layui-layer-imgbar" style="display:'+(a?"block":"")+'"><span class="layui-layer-imgtit"><a href="javascript:;">'+(u[d].alt||"")+"</a><em>"+s.imgIndex+"/"+u.length+"</em></span></div></div></div>",success:function(e,i){s.bigimg=e.find(".layui-layer-phimg"),s.imgsee=e.find(".layui-layer-imguide,.layui-layer-imgbar"),s.event(e),t.tab&&t.tab(u[d],e),"function"==typeof y&&y(e)},end:function(){s.end=!0,i(document).off("keyup",s.keyup)}},t))},function(){r.close(s.loadi),r.msg("&#x5F53;&#x524D;&#x56FE;&#x7247;&#x5730;&#x5740;&#x5F02;&#x5E38;<br>&#x662F;&#x5426;&#x7EE7;&#x7EED;&#x67E5;&#x770B;&#x4E0B;&#x4E00;&#x5F20;&#xFF1F;",{time:3e4,btn:["&#x4E0B;&#x4E00;&#x5F20;","&#x4E0D;&#x770B;&#x4E86;"],yes:function(){u.length>1&&s.imgnext(!0,!0)}})})}},o.run=function(t){i=t,n=i(e),l.html=i("html"),r.open=function(e){var t=new s(e);return t.index}},e.layui&&layui.define?(r.ready(),layui.define("jquery",function(t){r.path=layui.cache.dir,o.run(layui.$),e.layer=r,t("layer",r)})):"function"==typeof define&&define.amd?define(["jquery"],function(){return o.run(e.jQuery),r}):function(){o.run(e.jQuery),r.ready()}()}(window);layui.define("jquery",function(t){"use strict";var a=layui.$,i=(layui.hint(),layui.device()),e="element",l="layui-this",n="layui-show",s=function(){this.config={}};s.prototype.set=function(t){var i=this;return a.extend(!0,i.config,t),i},s.prototype.on=function(t,a){return layui.onevent.call(this,e,t,a)},s.prototype.tabAdd=function(t,i){var e=".layui-tab-title",l=a(".layui-tab[lay-filter="+t+"]"),n=l.children(e),s=n.children(".layui-tab-bar"),o=l.children(".layui-tab-content"),r='<li lay-id="'+(i.id||"")+'"'+(i.attr?' lay-attr="'+i.attr+'"':"")+">"+(i.title||"unnaming")+"</li>";return s[0]?s.before(r):n.append(r),o.append('<div class="layui-tab-item">'+(i.content||"")+"</div>"),f.hideTabMore(!0),f.tabAuto(),this},s.prototype.tabDelete=function(t,i){var e=".layui-tab-title",l=a(".layui-tab[lay-filter="+t+"]"),n=l.children(e),s=n.find('>li[lay-id="'+i+'"]');return f.tabDelete(null,s),this},s.prototype.tabChange=function(t,i){var e=".layui-tab-title",l=a(".layui-tab[lay-filter="+t+"]"),n=l.children(e),s=n.find('>li[lay-id="'+i+'"]');return f.tabClick.call(s[0],null,null,s),this},s.prototype.tab=function(t){t=t||{},b.on("click",t.headerElem,function(i){var e=a(this).index();f.tabClick.call(this,i,e,null,t)})},s.prototype.progress=function(t,i){var e="layui-progress",l=a("."+e+"[lay-filter="+t+"]"),n=l.find("."+e+"-bar"),s=n.find("."+e+"-text");return n.css("width",i),s.text(i),this};var o=".layui-nav",r="layui-nav-item",c="layui-nav-bar",u="layui-nav-tree",d="layui-nav-child",y="layui-nav-more",h="layui-anim layui-anim-upbit",f={tabClick:function(t,i,s,o){o=o||{};var r=s||a(this),i=i||r.parent().children("li").index(r),c=o.headerElem?r.parent():r.parents(".layui-tab").eq(0),u=o.bodyElem?a(o.bodyElem):c.children(".layui-tab-content").children(".layui-tab-item"),d=r.find("a"),y=c.attr("lay-filter");"javascript:;"!==d.attr("href")&&"_blank"===d.attr("target")||(r.addClass(l).siblings().removeClass(l),u.eq(i).addClass(n).siblings().removeClass(n)),layui.event.call(this,e,"tab("+y+")",{elem:c,index:i})},tabDelete:function(t,i){var n=i||a(this).parent(),s=n.index(),o=n.parents(".layui-tab").eq(0),r=o.children(".layui-tab-content").children(".layui-tab-item"),c=o.attr("lay-filter");n.hasClass(l)&&(n.next()[0]?f.tabClick.call(n.next()[0],null,s+1):n.prev()[0]&&f.tabClick.call(n.prev()[0],null,s-1)),n.remove(),r.eq(s).remove(),setTimeout(function(){f.tabAuto()},50),layui.event.call(this,e,"tabDelete("+c+")",{elem:o,index:s})},tabAuto:function(){var t="layui-tab-more",e="layui-tab-bar",l="layui-tab-close",n=this;a(".layui-tab").each(function(){var s=a(this),o=s.children(".layui-tab-title"),r=(s.children(".layui-tab-content").children(".layui-tab-item"),'lay-stope="tabmore"'),c=a('<span class="layui-unselect layui-tab-bar" '+r+"><i "+r+' class="layui-icon">&#xe61a;</i></span>');if(n===window&&8!=i.ie&&f.hideTabMore(!0),s.attr("lay-allowClose")&&o.find("li").each(function(){var t=a(this);if(!t.find("."+l)[0]){var i=a('<i class="layui-icon layui-unselect '+l+'">&#x1006;</i>');i.on("click",f.tabDelete),t.append(i)}}),"string"!=typeof s.attr("lay-unauto"))if(o.prop("scrollWidth")>o.outerWidth()+1){if(o.find("."+e)[0])return;o.append(c),s.attr("overflow",""),c.on("click",function(a){o[this.title?"removeClass":"addClass"](t),this.title=this.title?"":"鏀剁缉"})}else o.find("."+e).remove(),s.removeAttr("overflow")})},hideTabMore:function(t){var i=a(".layui-tab-title");t!==!0&&"tabmore"===a(t.target).attr("lay-stope")||(i.removeClass("layui-tab-more"),i.find(".layui-tab-bar").attr("title",""))},clickThis:function(){var t=a(this),i=t.parents(o),n=i.attr("lay-filter"),s=t.parent(),c=t.siblings("."+d),y="string"==typeof s.attr("lay-unselect");"javascript:;"!==t.attr("href")&&"_blank"===t.attr("target")||y||c[0]||(i.find("."+l).removeClass(l),s.addClass(l)),i.hasClass(u)&&(c.removeClass(h),c[0]&&(s["none"===c.css("display")?"addClass":"removeClass"](r+"ed"),"all"===i.attr("lay-shrink")&&s.siblings().removeClass(r+"ed"))),layui.event.call(this,e,"nav("+n+")",t)},collapse:function(){var t=a(this),i=t.find(".layui-colla-icon"),l=t.siblings(".layui-colla-content"),s=t.parents(".layui-collapse").eq(0),o=s.attr("lay-filter"),r="none"===l.css("display");if("string"==typeof s.attr("lay-accordion")){var c=s.children(".layui-colla-item").children("."+n);c.siblings(".layui-colla-title").children(".layui-colla-icon").html("&#xe602;"),c.removeClass(n)}l[r?"addClass":"removeClass"](n),i.html(r?"&#xe61a;":"&#xe602;"),layui.event.call(this,e,"collapse("+o+")",{title:t,content:l,show:r})}};s.prototype.init=function(t,e){var l=function(){return e?'[lay-filter="'+e+'"]':""}(),s={tab:function(){f.tabAuto.call({})},nav:function(){var t=200,e={},s={},p={},b=function(l,o,r){var c=a(this),f=c.find("."+d);o.hasClass(u)?l.css({top:c.position().top,height:c.children("a").outerHeight(),opacity:1}):(f.addClass(h),l.css({left:c.position().left+parseFloat(c.css("marginLeft")),top:c.position().top+c.height()-l.height()}),e[r]=setTimeout(function(){l.css({width:c.width(),opacity:1})},i.ie&&i.ie<10?0:t),clearTimeout(p[r]),"block"===f.css("display")&&clearTimeout(s[r]),s[r]=setTimeout(function(){f.addClass(n),c.find("."+y).addClass(y+"d")},300))};a(o+l).each(function(i){var l=a(this),o=a('<span class="'+c+'"></span>'),h=l.find("."+r);l.find("."+c)[0]||(l.append(o),h.on("mouseenter",function(){b.call(this,o,l,i)}).on("mouseleave",function(){l.hasClass(u)||(clearTimeout(s[i]),s[i]=setTimeout(function(){l.find("."+d).removeClass(n),l.find("."+y).removeClass(y+"d")},300))}),l.on("mouseleave",function(){clearTimeout(e[i]),p[i]=setTimeout(function(){l.hasClass(u)?o.css({height:0,top:o.position().top+o.height()/2,opacity:0}):o.css({width:0,left:o.position().left+o.width()/2,opacity:0})},t)})),h.find("a").each(function(){var t=a(this),i=(t.parent(),t.siblings("."+d));i[0]&&!t.children("."+y)[0]&&t.append('<span class="'+y+'"></span>'),t.off("click",f.clickThis).on("click",f.clickThis)})})},breadcrumb:function(){var t=".layui-breadcrumb";a(t+l).each(function(){var t=a(this),i="lay-separator",e=t.attr(i)||"/",l=t.find("a");l.next("span["+i+"]")[0]||(l.each(function(t){t!==l.length-1&&a(this).after("<span "+i+">"+e+"</span>")}),t.css("visibility","visible"))})},progress:function(){var t="layui-progress";a("."+t+l).each(function(){var i=a(this),e=i.find(".layui-progress-bar"),l=e.attr("lay-percent");e.css("width",function(){return/^.+\/.+$/.test(l)?100*new Function("return "+l)()+"%":l}()),i.attr("lay-showPercent")&&setTimeout(function(){e.html('<span class="'+t+'-text">'+l+"</span>")},350)})},collapse:function(){var t="layui-collapse";a("."+t+l).each(function(){var t=a(this).find(".layui-colla-item");t.each(function(){var t=a(this),i=t.find(".layui-colla-title"),e=t.find(".layui-colla-content"),l="none"===e.css("display");i.find(".layui-colla-icon").remove(),i.append('<i class="layui-icon layui-colla-icon">'+(l?"&#xe602;":"&#xe61a;")+"</i>"),i.off("click",f.collapse).on("click",f.collapse)})})}};return s[t]?s[t]():layui.each(s,function(t,a){a()})},s.prototype.render=s.prototype.init;var p=new s,b=a(document);p.render();var v=".layui-tab-title li";b.on("click",v,f.tabClick),b.on("click",f.hideTabMore),a(window).on("resize",f.tabAuto),t(e,p)});layui.define("layer",function(e){"use strict";var t=layui.$,i=layui.layer,n=layui.hint(),a=layui.device(),o={config:{},set:function(e){var i=this;return i.config=t.extend({},i.config,e),i},on:function(e,t){return layui.onevent.call(this,r,e,t)}},l=function(){var e=this;return{upload:function(t){e.upload.call(e,t)},reload:function(t){e.reload.call(e,t)},config:e.config}},r="upload",u="layui-upload-file",c="layui-upload-form",f="layui-upload-iframe",s="layui-upload-choose",p=function(e){var i=this;i.config=t.extend({},i.config,o.config,e),i.render()};p.prototype.config={accept:"images",exts:"",auto:!0,bindAction:"",url:"",field:"file",acceptMime:"",method:"post",data:{},drag:!0,size:0,number:0,multiple:!1},p.prototype.render=function(e){var i=this,e=i.config;e.elem=t(e.elem),e.bindAction=t(e.bindAction),i.file(),i.events()},p.prototype.file=function(){var e=this,i=e.config,n=e.elemFile=t(['<input class="'+u+'" type="file" accept="'+i.acceptMime+'" name="'+i.field+'"',i.multiple?" multiple":"",">"].join("")),o=i.elem.next();(o.hasClass(u)||o.hasClass(c))&&o.remove(),a.ie&&a.ie<10&&i.elem.wrap('<div class="layui-upload-wrap"></div>'),e.isFile()?(e.elemFile=i.elem,i.field=i.elem[0].name):i.elem.after(n),a.ie&&a.ie<10&&e.initIE()},p.prototype.initIE=function(){var e=this,i=e.config,n=t('<iframe id="'+f+'" class="'+f+'" name="'+f+'" frameborder="0"></iframe>'),a=t(['<form target="'+f+'" class="'+c+'" method="post" key="set-mine" enctype="multipart/form-data" action="'+i.url+'">',"</form>"].join(""));t("#"+f)[0]||t("body").append(n),i.elem.next().hasClass(c)||(e.elemFile.wrap(a),i.elem.next("."+c).append(function(){var e=[];return layui.each(i.data,function(t,i){i="function"==typeof i?i():i,e.push('<input type="hidden" name="'+t+'" value="'+i+'">')}),e.join("")}()))},p.prototype.msg=function(e){return i.msg(e,{icon:2,shift:6})},p.prototype.isFile=function(){var e=this.config.elem[0];if(e)return"input"===e.tagName.toLocaleLowerCase()&&"file"===e.type},p.prototype.preview=function(e){var t=this;window.FileReader&&layui.each(t.chooseFiles,function(t,i){var n=new FileReader;n.readAsDataURL(i),n.onload=function(){e&&e(t,i,this.result)}})},p.prototype.upload=function(e,i){var n,o=this,l=o.config,r=o.elemFile[0],u=function(){var i=0,n=0,a=e||o.files||o.chooseFiles||r.files,u=function(){l.multiple&&i+n===o.fileLength&&"function"==typeof l.allDone&&l.allDone({total:o.fileLength,successful:i,aborted:n})};layui.each(a,function(e,a){var r=new FormData;r.append(l.field,a),layui.each(l.data,function(e,t){t="function"==typeof t?t():t,r.append(e,t)}),t.ajax({url:l.url,type:"post",data:r,contentType:!1,processData:!1,dataType:"json",headers:l.headers||{},success:function(t){i++,d(e,t),u()},error:function(){n++,o.msg("璇锋眰涓婁紶鎺ュ彛鍑虹幇寮傚父"),m(e),u()}})})},c=function(){var e=t("#"+f);o.elemFile.parent().submit(),clearInterval(p.timer),p.timer=setInterval(function(){var t,i=e.contents().find("body");try{t=i.text()}catch(n){o.msg("鑾峰彇涓婁紶鍚庣殑鍝嶅簲淇℃伅鍑虹幇寮傚父"),clearInterval(p.timer),m()}t&&(clearInterval(p.timer),i.html(""),d(0,t))},30)},d=function(e,t){if(o.elemFile.next("."+s).remove(),r.value="","object"!=typeof t)try{t=JSON.parse(t)}catch(i){return t={},o.msg("璇峰涓婁紶鎺ュ彛杩斿洖鏈夋晥JSON")}"function"==typeof l.done&&l.done(t,e||0,function(e){o.upload(e)})},m=function(e){l.auto&&(r.value=""),"function"==typeof l.error&&l.error(e||0,function(e){o.upload(e)})},h=l.exts,v=function(){var t=[];return layui.each(e||o.chooseFiles,function(e,i){t.push(i.name)}),t}(),g={preview:function(e){o.preview(e)},upload:function(e,t){var i={};i[e]=t,o.upload(i)},pushFile:function(){return o.files=o.files||{},layui.each(o.chooseFiles,function(e,t){o.files[e]=t}),o.files},resetFile:function(e,t,i){var n=new File([t],i);o.files=o.files||{},o.files[e]=n}},y=function(){if("choose"!==i&&!l.auto||(l.choose&&l.choose(g),"choose"!==i))return l.before&&l.before(g),a.ie?a.ie>9?u():c():void u()};if(v=0===v.length?r.value.match(/[^\/\\]+\..+/g)||[]||"":v,0!==v.length){switch(l.accept){case"file":if(h&&!RegExp("\\w\\.("+h+")$","i").test(escape(v)))return o.msg("閫夋嫨鐨勬枃浠朵腑鍖呭惈涓嶆敮鎸佺殑鏍煎紡"),r.value="";break;case"video":if(!RegExp("\\w\\.("+(h||"avi|mp4|wma|rmvb|rm|flash|3gp|flv")+")$","i").test(escape(v)))return o.msg("閫夋嫨鐨勮棰戜腑鍖呭惈涓嶆敮鎸佺殑鏍煎紡"),r.value="";break;case"audio":if(!RegExp("\\w\\.("+(h||"mp3|wav|mid")+")$","i").test(escape(v)))return o.msg("閫夋嫨鐨勯煶棰戜腑鍖呭惈涓嶆敮鎸佺殑鏍煎紡"),r.value="";break;default:if(layui.each(v,function(e,t){RegExp("\\w\\.("+(h||"jpg|png|gif|bmp|jpeg$")+")","i").test(escape(t))||(n=!0)}),n)return o.msg("閫夋嫨鐨勫浘鐗囦腑鍖呭惈涓嶆敮鎸佺殑鏍煎紡"),r.value=""}if(o.fileLength=function(){var t=0,i=e||o.files||o.chooseFiles||r.files;return layui.each(i,function(){t++}),t}(),l.number&&o.fileLength>l.number)return o.msg("鍚屾椂鏈�澶氬彧鑳戒笂浼犵殑鏁伴噺涓猴細"+l.number);if(l.size>0&&!(a.ie&&a.ie<10)){var F;if(layui.each(o.chooseFiles,function(e,t){if(t.size>1024*l.size){var i=l.size/1024;i=i>=1?i.toFixed(2)+"MB":l.size+"KB",r.value="",F=i}}),F)return o.msg("鏂囦欢涓嶈兘瓒呰繃"+F)}y()}},p.prototype.reload=function(e){e=e||{},delete e.elem,delete e.bindAction;var i=this,e=i.config=t.extend({},i.config,o.config,e),n=e.elem.next();n.attr({name:e.name,accept:e.acceptMime,multiple:e.multiple})},p.prototype.events=function(){var e=this,i=e.config,o=function(t){e.chooseFiles={},layui.each(t,function(t,i){var n=(new Date).getTime();e.chooseFiles[n+"-"+t]=i})},l=function(t,n){var a=e.elemFile,o=t.length>1?t.length+"涓枃浠�":(t[0]||{}).name||a[0].value.match(/[^\/\\]+\..+/g)||[]||"";a.next().hasClass(s)&&a.next().remove(),e.upload(null,"choose"),e.isFile()||i.choose||a.after('<span class="layui-inline '+s+'">'+o+"</span>")};i.elem.off("upload.start").on("upload.start",function(){var a=t(this),o=a.attr("lay-data");if(o)try{o=new Function("return "+o)(),e.config=t.extend({},i,o)}catch(l){n.error("Upload element property lay-data configuration item has a syntax error: "+o)}e.config.item=a,e.elemFile[0].click()}),a.ie&&a.ie<10||i.elem.off("upload.over").on("upload.over",function(){var e=t(this);e.attr("lay-over","")}).off("upload.leave").on("upload.leave",function(){var e=t(this);e.removeAttr("lay-over")}).off("upload.drop").on("upload.drop",function(n,a){var r=t(this),u=a.originalEvent.dataTransfer.files||[];r.removeAttr("lay-over"),o(u),i.auto?e.upload(u):l(u)}),e.elemFile.off("upload.change").on("upload.change",function(){var t=this.files||[];o(t),i.auto?e.upload():l(t)}),i.bindAction.off("upload.action").on("upload.action",function(){e.upload()}),i.elem.data("haveEvents")||(e.elemFile.on("change",function(){t(this).trigger("upload.change")}),i.elem.on("click",function(){e.isFile()||t(this).trigger("upload.start")}),i.drag&&i.elem.on("dragover",function(e){e.preventDefault(),t(this).trigger("upload.over")}).on("dragleave",function(e){t(this).trigger("upload.leave")}).on("drop",function(e){e.preventDefault(),t(this).trigger("upload.drop",e)}),i.bindAction.on("click",function(){t(this).trigger("upload.action")}),i.elem.data("haveEvents",!0))},o.render=function(e){var t=new p(e);return l.call(t)},e(r,o)});layui.define("jquery",function(e){"use strict";var i=layui.jquery,t={config:{},index:layui.slider?layui.slider.index+1e4:0,set:function(e){var t=this;return t.config=i.extend({},t.config,e),t},on:function(e,i){return layui.onevent.call(this,n,e,i)}},a=function(){var e=this,i=e.config;return{setValue:function(i,t){return e.slide("set",i,t||0)},config:i}},n="slider",l="layui-disabled",s="layui-slider",r="layui-slider-bar",o="layui-slider-wrap",u="layui-slider-wrap-btn",d="layui-slider-tips",v="layui-slider-input",c="layui-slider-input-txt",m="layui-slider-input-btn",p="layui-slider-hover",f=function(e){var a=this;a.index=++t.index,a.config=i.extend({},a.config,t.config,e),a.render()};f.prototype.config={type:"default",min:0,max:100,value:0,step:1,showstep:!1,tips:!0,input:!1,range:!1,height:200,disabled:!1,theme:"#009688"},f.prototype.render=function(){var e=this,t=e.config;if(t.step<1&&(t.step=1),t.max<t.min&&(t.max=t.min+t.step),t.range){t.value="object"==typeof t.value?t.value:[t.min,t.value];var a=Math.min(t.value[0],t.value[1]),n=Math.max(t.value[0],t.value[1]);t.value[0]=a>t.min?a:t.min,t.value[1]=n>t.min?n:t.min,t.value[0]=t.value[0]>t.max?t.max:t.value[0],t.value[1]=t.value[1]>t.max?t.max:t.value[1];var r=Math.floor((t.value[0]-t.min)/(t.max-t.min)*100),v=Math.floor((t.value[1]-t.min)/(t.max-t.min)*100),m=v-r+"%";r+="%",v+="%"}else{"object"==typeof t.value&&(t.value=Math.min.apply(null,t.value)),t.value<t.min&&(t.value=t.min),t.value>t.max&&(t.value=t.max);var m=Math.floor((t.value-t.min)/(t.max-t.min)*100)+"%"}var p=t.disabled?"#c2c2c2":t.theme,f='<div class="layui-slider '+("vertical"===t.type?"layui-slider-vertical":"")+'">'+(t.tips?'<div class="layui-slider-tips"></div>':"")+'<div class="layui-slider-bar" style="background:'+p+"; "+("vertical"===t.type?"height":"width")+":"+m+";"+("vertical"===t.type?"bottom":"left")+":"+(r||0)+';"></div><div class="layui-slider-wrap" style="'+("vertical"===t.type?"bottom":"left")+":"+(r||m)+';"><div class="layui-slider-wrap-btn" style="border: 2px solid '+p+';"></div></div>'+(t.range?'<div class="layui-slider-wrap" style="'+("vertical"===t.type?"bottom":"left")+":"+v+';"><div class="layui-slider-wrap-btn" style="border: 2px solid '+p+';"></div></div>':"")+"</div>",h=i(t.elem),y=h.next("."+s);if(y[0]&&y.remove(),e.elemTemp=i(f),t.range?(e.elemTemp.find("."+o).eq(0).data("value",t.value[0]),e.elemTemp.find("."+o).eq(1).data("value",t.value[1])):e.elemTemp.find("."+o).data("value",t.value),h.html(e.elemTemp),"vertical"===t.type&&e.elemTemp.height(t.height+"px"),t.showstep){for(var g=(t.max-t.min)/t.step,b="",x=1;x<g+1;x++){var T=100*x/g;T<100&&(b+='<div class="layui-slider-step" style="'+("vertical"===t.type?"bottom":"left")+":"+T+'%"></div>')}e.elemTemp.append(b)}if(t.input&&!t.range){var w=i('<div class="layui-slider-input layui-input"><div class="layui-slider-input-txt"><input type="text" class="layui-input"></div><div class="layui-slider-input-btn"><i class="layui-icon layui-icon-up"></i><i class="layui-icon layui-icon-down"></i></div></div>');h.css("position","relative"),h.append(w),h.find("."+c).children("input").val(t.value),"vertical"===t.type?w.css({left:0,top:-48}):e.elemTemp.css("margin-right",w.outerWidth()+15)}t.disabled?(e.elemTemp.addClass(l),e.elemTemp.find("."+u).addClass(l)):e.slide(),e.elemTemp.find("."+u).on("mouseover",function(){var a="vertical"===t.type?t.height:e.elemTemp[0].offsetWidth,n=e.elemTemp.find("."+o),l="vertical"===t.type?a-i(this).parent()[0].offsetTop-n.height():i(this).parent()[0].offsetLeft,s=l/a*100,r=i(this).parent().data("value"),u=t.setTips?t.setTips(r):r;e.elemTemp.find("."+d).html(u),"vertical"===t.type?e.elemTemp.find("."+d).css({bottom:s+"%","margin-bottom":"20px",display:"inline-block"}):e.elemTemp.find("."+d).css({left:s+"%",display:"inline-block"})}).on("mouseout",function(){e.elemTemp.find("."+d).css("display","none")})},f.prototype.slide=function(e,t,a){var n=this,l=n.config,s=n.elemTemp,f=function(){return"vertical"===l.type?l.height:s[0].offsetWidth},h=s.find("."+o),y=s.next("."+v),g=y.children("."+c).children("input").val(),b=100/((l.max-l.min)/Math.ceil(l.step)),x=function(e,i){e=Math.ceil(e)*b>100?Math.ceil(e)*b:Math.round(e)*b,e=e>100?100:e,h.eq(i).css("vertical"===l.type?"bottom":"left",e+"%");var t=T(h[0].offsetLeft),a=l.range?T(h[1].offsetLeft):0;"vertical"===l.type?(s.find("."+d).css({bottom:e+"%","margin-bottom":"20px"}),t=T(f()-h[0].offsetTop-h.height()),a=l.range?T(f()-h[1].offsetTop-h.height()):0):s.find("."+d).css("left",e+"%"),t=t>100?100:t,a=a>100?100:a;var n=Math.min(t,a),o=Math.abs(t-a);"vertical"===l.type?s.find("."+r).css({height:o+"%",bottom:n+"%"}):s.find("."+r).css({width:o+"%",left:n+"%"});var u=l.min+Math.round((l.max-l.min)*e/100);if(g=u,y.children("."+c).children("input").val(g),h.eq(i).data("value",u),u=l.setTips?l.setTips(u):u,s.find("."+d).html(u),l.range){var v=[h.eq(0).data("value"),h.eq(1).data("value")];v[0]>v[1]&&v.reverse()}l.change&&l.change(l.range?v:u)},T=function(e){var i=e/f()*100/b,t=Math.round(i)*b;return e==f()&&(t=Math.ceil(i)*b),t},w=i(['<div class="layui-auxiliar-moving" id="LAY-slider-moving"></div'].join("")),M=function(e,t){var a=function(){t&&t(),w.remove()};i("#LAY-slider-moving")[0]||i("body").append(w),w.on("mousemove",e),w.on("mouseup",a).on("mouseleave",a)};if("set"===e)return x(t,a);s.find("."+u).each(function(e){var t=i(this);t.on("mousedown",function(i){i=i||window.event;var a=t.parent()[0].offsetLeft,n=i.clientX;"vertical"===l.type&&(a=f()-t.parent()[0].offsetTop-h.height(),n=i.clientY);var r=function(i){i=i||window.event;var r=a+("vertical"===l.type?n-i.clientY:i.clientX-n);r<0&&(r=0),r>f()&&(r=f());var o=r/f()*100/b;x(o,e),t.addClass(p),s.find("."+d).show(),i.preventDefault()},o=function(){t.removeClass(p),s.find("."+d).hide()};M(r,o)})}),s.on("click",function(e){var t=i("."+u);if(!t.is(event.target)&&0===t.has(event.target).length&&t.length){var a,n="vertical"===l.type?f()-e.clientY+i(this).offset().top:e.clientX-i(this).offset().left;n<0&&(n=0),n>f()&&(n=f());var s=n/f()*100/b;a=l.range?"vertical"===l.type?Math.abs(n-parseInt(i(h[0]).css("bottom")))>Math.abs(n-parseInt(i(h[1]).css("bottom")))?1:0:Math.abs(n-h[0].offsetLeft)>Math.abs(n-h[1].offsetLeft)?1:0:0,x(s,a),e.preventDefault()}}),y.hover(function(){var e=i(this);e.children("."+m).fadeIn("fast")},function(){var e=i(this);e.children("."+m).fadeOut("fast")}),y.children("."+m).children("i").each(function(e){i(this).on("click",function(){g=1==e?g-l.step<l.min?l.min:Number(g)-l.step:Number(g)+l.step>l.max?l.max:Number(g)+l.step;var i=(g-l.min)/(l.max-l.min)*100/b;x(i,0)})});var q=function(){var e=this.value;e=isNaN(e)?0:e,e=e<l.min?l.min:e,e=e>l.max?l.max:e,this.value=e;var i=(e-l.min)/(l.max-l.min)*100/b;x(i,0)};y.children("."+c).children("input").on("keydown",function(e){13===e.keyCode&&(e.preventDefault(),q.call(this))}).on("change",q)},f.prototype.events=function(){var e=this;e.config},t.render=function(e){var i=new f(e);return a.call(i)},e(n,t)});layui.define("jquery",function(e){"use strict";var i=layui.jquery,o={config:{},index:layui.colorpicker?layui.colorpicker.index+1e4:0,set:function(e){var o=this;return o.config=i.extend({},o.config,e),o},on:function(e,i){return layui.onevent.call(this,"colorpicker",e,i)}},r=function(){var e=this,i=e.config;return{config:i}},t="colorpicker",n="layui-show",l="layui-colorpicker",c=".layui-colorpicker-main",a="layui-icon-down",s="layui-icon-close",f="layui-colorpicker-trigger-span",d="layui-colorpicker-trigger-i",u="layui-colorpicker-side",p="layui-colorpicker-side-slider",g="layui-colorpicker-basis",v="layui-colorpicker-alpha-bgcolor",h="layui-colorpicker-alpha-slider",m="layui-colorpicker-basis-cursor",b="layui-colorpicker-main-input",k=function(e){var i={h:0,s:0,b:0},o=Math.min(e.r,e.g,e.b),r=Math.max(e.r,e.g,e.b),t=r-o;return i.b=r,i.s=0!=r?255*t/r:0,0!=i.s?e.r==r?i.h=(e.g-e.b)/t:e.g==r?i.h=2+(e.b-e.r)/t:i.h=4+(e.r-e.g)/t:i.h=-1,r==o&&(i.h=0),i.h*=60,i.h<0&&(i.h+=360),i.s*=100/255,i.b*=100/255,i},y=function(e){var e=e.indexOf("#")>-1?e.substring(1):e;if(3==e.length){var i=e.split("");e=i[0]+i[0]+i[1]+i[1]+i[2]+i[2]}e=parseInt(e,16);var o={r:e>>16,g:(65280&e)>>8,b:255&e};return k(o)},x=function(e){var i={},o=e.h,r=255*e.s/100,t=255*e.b/100;if(0==r)i.r=i.g=i.b=t;else{var n=t,l=(255-r)*t/255,c=(n-l)*(o%60)/60;360==o&&(o=0),o<60?(i.r=n,i.b=l,i.g=l+c):o<120?(i.g=n,i.b=l,i.r=n-c):o<180?(i.g=n,i.r=l,i.b=l+c):o<240?(i.b=n,i.r=l,i.g=n-c):o<300?(i.b=n,i.g=l,i.r=l+c):o<360?(i.r=n,i.g=l,i.b=n-c):(i.r=0,i.g=0,i.b=0)}return{r:Math.round(i.r),g:Math.round(i.g),b:Math.round(i.b)}},C=function(e){var o=x(e),r=[o.r.toString(16),o.g.toString(16),o.b.toString(16)];return i.each(r,function(e,i){1==i.length&&(r[e]="0"+i)}),r.join("")},P=function(e){var i=/[0-9]{1,3}/g,o=e.match(i)||[];return{r:o[0],g:o[1],b:o[2]}},B=i(window),w=i(document),D=function(e){var r=this;r.index=++o.index,r.config=i.extend({},r.config,o.config,e),r.render()};D.prototype.config={color:"",size:null,alpha:!1,format:"hex",predefine:!1,colors:["#009688","#5FB878","#1E9FFF","#FF5722","#FFB800","#01AAED","#999","#c00","#ff8c00","#ffd700","#90ee90","#00ced1","#1e90ff","#c71585","rgb(0, 186, 189)","rgb(255, 120, 0)","rgb(250, 212, 0)","#393D49","rgba(0,0,0,.5)","rgba(255, 69, 0, 0.68)","rgba(144, 240, 144, 0.5)","rgba(31, 147, 255, 0.73)"]},D.prototype.render=function(){var e=this,o=e.config,r=i(['<div class="layui-unselect layui-colorpicker">',"<span "+("rgb"==o.format&&o.alpha?'class="layui-colorpicker-trigger-bgcolor"':"")+">",'<span class="layui-colorpicker-trigger-span" ','lay-type="'+("rgb"==o.format?o.alpha?"rgba":"torgb":"")+'" ','style="'+function(){var e="";return o.color?(e=o.color,(o.color.match(/[0-9]{1,3}/g)||[]).length>3&&(o.alpha&&"rgb"==o.format||(e="#"+C(k(P(o.color))))),"background: "+e):e}()+'">','<i class="layui-icon layui-colorpicker-trigger-i '+(o.color?a:s)+'"></i>',"</span>","</span>","</div>"].join("")),t=i(o.elem);o.size&&r.addClass("layui-colorpicker-"+o.size),t.addClass("layui-inline").html(e.elemColorBox=r),e.color=e.elemColorBox.find("."+f)[0].style.background,e.events()},D.prototype.renderPicker=function(){var e=this,o=e.config,r=e.elemColorBox[0],t=e.elemPicker=i(['<div id="layui-colorpicker'+e.index+'" data-index="'+e.index+'" class="layui-anim layui-anim-upbit layui-colorpicker-main">','<div class="layui-colorpicker-main-wrapper">','<div class="layui-colorpicker-basis">','<div class="layui-colorpicker-basis-white"></div>','<div class="layui-colorpicker-basis-black"></div>','<div class="layui-colorpicker-basis-cursor"></div>',"</div>",'<div class="layui-colorpicker-side">','<div class="layui-colorpicker-side-slider"></div>',"</div>","</div>",'<div class="layui-colorpicker-main-alpha '+(o.alpha?n:"")+'">','<div class="layui-colorpicker-alpha-bgcolor">','<div class="layui-colorpicker-alpha-slider"></div>',"</div>","</div>",function(){if(o.predefine){var e=['<div class="layui-colorpicker-main-pre">'];return layui.each(o.colors,function(i,o){e.push(['<div class="layui-colorpicker-pre'+((o.match(/[0-9]{1,3}/g)||[]).length>3?" layui-colorpicker-pre-isalpha":"")+'">','<div style="background:'+o+'"></div>',"</div>"].join(""))}),e.push("</div>"),e.join("")}return""}(),'<div class="layui-colorpicker-main-input">','<div class="layui-inline">','<input type="text" class="layui-input">',"</div>",'<div class="layui-btn-container">','<button class="layui-btn layui-btn-primary layui-btn-sm" colorpicker-events="clear">娓呯┖</button>','<button class="layui-btn layui-btn-sm" colorpicker-events="confirm">纭畾</button>',"</div","</div>","</div>"].join(""));e.elemColorBox.find("."+f)[0];i(c)[0]&&i(c).data("index")==e.index?e.removePicker(D.thisElemInd):(e.removePicker(D.thisElemInd),i("body").append(t)),D.thisElemInd=e.index,D.thisColor=r.style.background,e.position(),e.pickerEvents()},D.prototype.removePicker=function(e){var o=this;o.config;return i("#layui-colorpicker"+(e||o.index)).remove(),o},D.prototype.position=function(){var e=this,i=e.config,o=e.bindElem||e.elemColorBox[0],r=e.elemPicker[0],t=o.getBoundingClientRect(),n=r.offsetWidth,l=r.offsetHeight,c=function(e){return e=e?"scrollLeft":"scrollTop",document.body[e]|document.documentElement[e]},a=function(e){return document.documentElement[e?"clientWidth":"clientHeight"]},s=5,f=t.left,d=t.bottom;f-=(n-o.offsetWidth)/2,d+=s,f+n+s>a("width")?f=a("width")-n-s:f<s&&(f=s),d+l+s>a()&&(d=t.top>l?t.top-l:a()-l,d-=2*s),i.position&&(r.style.position=i.position),r.style.left=f+("fixed"===i.position?0:c(1))+"px",r.style.top=d+("fixed"===i.position?0:c())+"px"},D.prototype.val=function(){var e=this,i=(e.config,e.elemColorBox.find("."+f)),o=e.elemPicker.find("."+b),r=i[0],t=r.style.backgroundColor;if(t){var n=k(P(t)),l=i.attr("lay-type");if(e.select(n.h,n.s,n.b),"torgb"===l&&o.find("input").val(t),"rgba"===l){var c=P(t);if(3==(t.match(/[0-9]{1,3}/g)||[]).length)o.find("input").val("rgba("+c.r+", "+c.g+", "+c.b+", 1)"),e.elemPicker.find("."+h).css("left",280);else{o.find("input").val(t);var a=280*t.slice(t.lastIndexOf(",")+1,t.length-1);e.elemPicker.find("."+h).css("left",a)}e.elemPicker.find("."+v)[0].style.background="linear-gradient(to right, rgba("+c.r+", "+c.g+", "+c.b+", 0), rgb("+c.r+", "+c.g+", "+c.b+"))"}}else e.select(0,100,100),o.find("input").val(""),e.elemPicker.find("."+v)[0].style.background="",e.elemPicker.find("."+h).css("left",280)},D.prototype.side=function(){var e=this,o=e.config,r=e.elemColorBox.find("."+f),t=r.attr("lay-type"),n=e.elemPicker.find("."+u),l=e.elemPicker.find("."+p),c=e.elemPicker.find("."+g),y=e.elemPicker.find("."+m),C=e.elemPicker.find("."+v),w=e.elemPicker.find("."+h),D=l[0].offsetTop/180*360,E=100-(y[0].offsetTop+3)/180*100,H=(y[0].offsetLeft+3)/260*100,W=Math.round(w[0].offsetLeft/280*100)/100,j=e.elemColorBox.find("."+d),F=e.elemPicker.find(".layui-colorpicker-pre").children("div"),L=function(i,n,l,c){e.select(i,n,l);var f=x({h:i,s:n,b:l});if(j.addClass(a).removeClass(s),r[0].style.background="rgb("+f.r+", "+f.g+", "+f.b+")","torgb"===t&&e.elemPicker.find("."+b).find("input").val("rgb("+f.r+", "+f.g+", "+f.b+")"),"rgba"===t){var d=0;d=280*c,w.css("left",d),e.elemPicker.find("."+b).find("input").val("rgba("+f.r+", "+f.g+", "+f.b+", "+c+")"),r[0].style.background="rgba("+f.r+", "+f.g+", "+f.b+", "+c+")",C[0].style.background="linear-gradient(to right, rgba("+f.r+", "+f.g+", "+f.b+", 0), rgb("+f.r+", "+f.g+", "+f.b+"))"}o.change&&o.change(e.elemPicker.find("."+b).find("input").val())},M=i(['<div class="layui-auxiliar-moving" id="LAY-colorpicker-moving"></div'].join("")),Y=function(e){i("#LAY-colorpicker-moving")[0]||i("body").append(M),M.on("mousemove",e),M.on("mouseup",function(){M.remove()}).on("mouseleave",function(){M.remove()})};l.on("mousedown",function(e){var i=this.offsetTop,o=e.clientY,r=function(e){var r=i+(e.clientY-o),t=n[0].offsetHeight;r<0&&(r=0),r>t&&(r=t);var l=r/180*360;D=l,L(l,H,E,W),e.preventDefault()};Y(r),e.preventDefault()}),n.on("click",function(e){var o=e.clientY-i(this).offset().top;o<0&&(o=0),o>this.offsetHeight&&(o=this.offsetHeight);var r=o/180*360;D=r,L(r,H,E,W),e.preventDefault()}),y.on("mousedown",function(e){var i=this.offsetTop,o=this.offsetLeft,r=e.clientY,t=e.clientX,n=function(e){var n=i+(e.clientY-r),l=o+(e.clientX-t),a=c[0].offsetHeight-3,s=c[0].offsetWidth-3;n<-3&&(n=-3),n>a&&(n=a),l<-3&&(l=-3),l>s&&(l=s);var f=(l+3)/260*100,d=100-(n+3)/180*100;E=d,H=f,L(D,f,d,W),e.preventDefault()};layui.stope(e),Y(n),e.preventDefault()}),c.on("mousedown",function(e){var o=e.clientY-i(this).offset().top-3+B.scrollTop(),r=e.clientX-i(this).offset().left-3+B.scrollLeft();o<-3&&(o=-3),o>this.offsetHeight-3&&(o=this.offsetHeight-3),r<-3&&(r=-3),r>this.offsetWidth-3&&(r=this.offsetWidth-3);var t=(r+3)/260*100,n=100-(o+3)/180*100;E=n,H=t,L(D,t,n,W),e.preventDefault(),y.trigger(e,"mousedown")}),w.on("mousedown",function(e){var i=this.offsetLeft,o=e.clientX,r=function(e){var r=i+(e.clientX-o),t=C[0].offsetWidth;r<0&&(r=0),r>t&&(r=t);var n=Math.round(r/280*100)/100;W=n,L(D,H,E,n),e.preventDefault()};Y(r),e.preventDefault()}),C.on("click",function(e){var o=e.clientX-i(this).offset().left;o<0&&(o=0),o>this.offsetWidth&&(o=this.offsetWidth);var r=Math.round(o/280*100)/100;W=r,L(D,H,E,r),e.preventDefault()}),F.each(function(){i(this).on("click",function(){i(this).parent(".layui-colorpicker-pre").addClass("selected").siblings().removeClass("selected");var e,o=this.style.backgroundColor,r=k(P(o)),t=o.slice(o.lastIndexOf(",")+1,o.length-1);D=r.h,H=r.s,E=r.b,3==(o.match(/[0-9]{1,3}/g)||[]).length&&(t=1),W=t,e=280*t,L(r.h,r.s,r.b,t)})})},D.prototype.select=function(e,i,o,r){var t=this,n=(t.config,C({h:e,s:100,b:100})),l=C({h:e,s:i,b:o}),c=e/360*180,a=180-o/100*180-3,s=i/100*260-3;t.elemPicker.find("."+p).css("top",c),t.elemPicker.find("."+g)[0].style.background="#"+n,t.elemPicker.find("."+m).css({top:a,left:s}),"change"!==r&&t.elemPicker.find("."+b).find("input").val("#"+l)},D.prototype.pickerEvents=function(){var e=this,o=e.config,r=e.elemColorBox.find("."+f),t=e.elemPicker.find("."+b+" input"),n={clear:function(i){r[0].style.background="",e.elemColorBox.find("."+d).removeClass(a).addClass(s),e.color="",o.done&&o.done(""),e.removePicker()},confirm:function(i,n){var l=t.val(),c=l,f={};if(l.indexOf(",")>-1){if(f=k(P(l)),e.select(f.h,f.s,f.b),r[0].style.background=c="#"+C(f),(l.match(/[0-9]{1,3}/g)||[]).length>3&&"rgba"===r.attr("lay-type")){var u=280*l.slice(l.lastIndexOf(",")+1,l.length-1);e.elemPicker.find("."+h).css("left",u),r[0].style.background=l,c=l}}else f=y(l),r[0].style.background=c="#"+C(f),e.elemColorBox.find("."+d).removeClass(s).addClass(a);return"change"===n?(e.select(f.h,f.s,f.b,n),void(o.change&&o.change(c))):(e.color=l,o.done&&o.done(l),void e.removePicker())}};e.elemPicker.on("click","*[colorpicker-events]",function(){var e=i(this),o=e.attr("colorpicker-events");n[o]&&n[o].call(this,e)}),t.on("keyup",function(e){var o=i(this);n.confirm.call(this,o,13===e.keyCode?null:"change")})},D.prototype.events=function(){var e=this,o=e.config,r=e.elemColorBox.find("."+f);e.elemColorBox.on("click",function(){e.renderPicker(),i(c)[0]&&(e.val(),e.side())}),o.elem[0]&&!e.elemColorBox[0].eventHandler&&(w.on("click",function(o){if(!i(o.target).hasClass(l)&&!i(o.target).parents("."+l)[0]&&!i(o.target).hasClass(c.replace(/\./g,""))&&!i(o.target).parents(c)[0]&&e.elemPicker){if(e.color){var t=k(P(e.color));e.select(t.h,t.s,t.b)}else e.elemColorBox.find("."+d).removeClass(a).addClass(s);r[0].style.background=e.color||"",e.removePicker()}}),B.on("resize",function(){return!(!e.elemPicker||!i(c)[0])&&void e.position()}),e.elemColorBox[0].eventHandler=!0)},o.render=function(e){var i=new D(e);return r.call(i)},e(t,o)});layui.define("layer",function(e){"use strict";var t=layui.$,i=layui.layer,a=layui.hint(),n=layui.device(),l="form",r=".layui-form",s="layui-this",o="layui-hide",c="layui-disabled",u=function(){this.config={verify:{required:[/[\S]+/,"蹇呭~椤逛笉鑳戒负绌�"],phone:[/^1\d{10}$/,"璇疯緭鍏ユ纭殑鎵嬫満鍙�"],email:[/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/,"閭鏍煎紡涓嶆纭�"],url:[/(^#)|(^http(s*):\/\/[^\s]+\.[^\s]+)/,"閾炬帴鏍煎紡涓嶆纭�"],number:function(e){if(!e||isNaN(e))return"鍙兘濉啓鏁板瓧"},date:[/^(\d{4})[-\/](\d{1}|0\d{1}|1[0-2])([-\/](\d{1}|0\d{1}|[1-2][0-9]|3[0-1]))*$/,"鏃ユ湡鏍煎紡涓嶆纭�"],identity:[/(^\d{15}$)|(^\d{17}(x|X|\d)$)/,"璇疯緭鍏ユ纭殑韬唤璇佸彿"]}}};u.prototype.set=function(e){var i=this;return t.extend(!0,i.config,e),i},u.prototype.verify=function(e){var i=this;return t.extend(!0,i.config.verify,e),i},u.prototype.on=function(e,t){return layui.onevent.call(this,l,e,t)},u.prototype.val=function(e,i){var a=t(r+'[lay-filter="'+e+'"]');a.each(function(e,a){var n=t(this);layui.each(i,function(e,t){var i,a=n.find('[name="'+e+'"]');a[0]&&(i=a[0].type,"checkbox"===i?a[0].checked=t:"radio"===i?a.each(function(){this.value==t&&(this.checked=!0)}):a.val(t))})}),f.render(null,e)},u.prototype.render=function(e,i){var n=this,u=t(r+function(){return i?'[lay-filter="'+i+'"]':""}()),d={select:function(){var e,i="璇烽�夋嫨",a="layui-form-select",n="layui-select-title",r="layui-select-none",d="",f=u.find("select"),v=function(i,l){t(i.target).parent().hasClass(n)&&!l||(t("."+a).removeClass(a+"ed "+a+"up"),e&&d&&e.val(d)),e=null},y=function(i,u,f){var y,p=t(this),m=i.find("."+n),k=m.find("input"),x=i.find("dl"),g=x.children("dd"),b=this.selectedIndex;if(!u){var C=function(){var e=i.offset().top+i.outerHeight()+5-h.scrollTop(),t=x.outerHeight();b=p[0].selectedIndex,i.addClass(a+"ed"),g.removeClass(o),y=null,g.eq(b).addClass(s).siblings().removeClass(s),e+t>h.height()&&e>=t&&i.addClass(a+"up"),T()},w=function(e){i.removeClass(a+"ed "+a+"up"),k.blur(),y=null,e||$(k.val(),function(e){var i=p[0].selectedIndex;e&&(d=t(p[0].options[i]).html(),0===i&&d===k.attr("placeholder")&&(d=""),k.val(d||""))})},T=function(){var e=x.children("dd."+s);if(e[0]){var t=e.position().top,i=x.height(),a=e.height();t>i&&x.scrollTop(t+x.scrollTop()-i+a-5),t<0&&x.scrollTop(t+x.scrollTop()-5)}};m.on("click",function(e){i.hasClass(a+"ed")?w():(v(e,!0),C()),x.find("."+r).remove()}),m.find(".layui-edge").on("click",function(){k.focus()}),k.on("keyup",function(e){var t=e.keyCode;9===t&&C()}).on("keydown",function(e){var t=e.keyCode;9===t&&w();var i=function(t,a){var n,l;e.preventDefault();var r=function(){var e=x.children("dd."+s);if(x.children("dd."+o)[0]&&"next"===t){var i=x.children("dd:not(."+o+",."+c+")"),n=i.eq(0).index();if(n>=0&&n<e.index()&&!i.hasClass(s))return i.eq(0).prev()[0]?i.eq(0).prev():x.children(":last")}return a&&a[0]?a:y&&y[0]?y:e}();return l=r[t](),n=r[t]("dd:not(."+o+")"),l[0]?(y=r[t](),n[0]&&!n.hasClass(c)||!y[0]?(n.addClass(s).siblings().removeClass(s),void T()):i(t,y)):y=null};38===t&&i("prev"),40===t&&i("next"),13===t&&(e.preventDefault(),x.children("dd."+s).trigger("click"))});var $=function(e,i,a){var n=0;layui.each(g,function(){var i=t(this),l=i.text(),r=l.indexOf(e)===-1;(""===e||"blur"===a?e!==l:r)&&n++,"keyup"===a&&i[r?"addClass":"removeClass"](o)});var l=n===g.length;return i(l),l},q=function(e){var t=this.value,i=e.keyCode;return 9!==i&&13!==i&&37!==i&&38!==i&&39!==i&&40!==i&&($(t,function(e){e?x.find("."+r)[0]||x.append('<p class="'+r+'">鏃犲尮閰嶉」</p>'):x.find("."+r).remove()},"keyup"),""===t&&x.find("."+r).remove(),void T())};f&&k.on("keyup",q).on("blur",function(i){var a=p[0].selectedIndex;e=k,d=t(p[0].options[a]).html(),0===a&&d===k.attr("placeholder")&&(d=""),setTimeout(function(){$(k.val(),function(e){d||k.val("")},"blur")},200)}),g.on("click",function(){var e=t(this),a=e.attr("lay-value"),n=p.attr("lay-filter");return!e.hasClass(c)&&(e.hasClass("layui-select-tips")?k.val(""):(k.val(e.text()),e.addClass(s)),e.siblings().removeClass(s),p.val(a).removeClass("layui-form-danger"),layui.event.call(this,l,"select("+n+")",{elem:p[0],value:a,othis:i}),w(!0),!1)}),i.find("dl>dt").on("click",function(e){return!1}),t(document).off("click",v).on("click",v)}};f.each(function(e,l){var r=t(this),o=r.next("."+a),u=this.disabled,d=l.value,f=t(l.options[l.selectedIndex]),v=l.options[0];if("string"==typeof r.attr("lay-ignore"))return r.show();var h="string"==typeof r.attr("lay-search"),p=v?v.value?i:v.innerHTML||i:i,m=t(['<div class="'+(h?"":"layui-unselect ")+a,(u?" layui-select-disabled":"")+'">','<div class="'+n+'">','<input type="text" placeholder="'+p+'" '+('value="'+(d?f.html():"")+'"')+(h?"":" readonly")+' class="layui-input'+(h?"":" layui-unselect")+(u?" "+c:"")+'">','<i class="layui-edge"></i></div>','<dl class="layui-anim layui-anim-upbit'+(r.find("optgroup")[0]?" layui-select-group":"")+'">',function(e){var t=[];return layui.each(e,function(e,a){0!==e||a.value?"optgroup"===a.tagName.toLowerCase()?t.push("<dt>"+a.label+"</dt>"):t.push('<dd lay-value="'+a.value+'" class="'+(d===a.value?s:"")+(a.disabled?" "+c:"")+'">'+a.innerHTML+"</dd>"):t.push('<dd lay-value="" class="layui-select-tips">'+(a.innerHTML||i)+"</dd>")}),0===t.length&&t.push('<dd lay-value="" class="'+c+'">娌℃湁閫夐」</dd>'),t.join("")}(r.find("*"))+"</dl>","</div>"].join(""));o[0]&&o.remove(),r.after(m),y.call(this,m,u,h)})},checkbox:function(){var e={checkbox:["layui-form-checkbox","layui-form-checked","checkbox"],_switch:["layui-form-switch","layui-form-onswitch","switch"]},i=u.find("input[type=checkbox]"),a=function(e,i){var a=t(this);e.on("click",function(){var t=a.attr("lay-filter"),n=(a.attr("lay-text")||"").split("|");a[0].disabled||(a[0].checked?(a[0].checked=!1,e.removeClass(i[1]).find("em").text(n[1])):(a[0].checked=!0,e.addClass(i[1]).find("em").text(n[0])),layui.event.call(a[0],l,i[2]+"("+t+")",{elem:a[0],value:a[0].value,othis:e}))})};i.each(function(i,n){var l=t(this),r=l.attr("lay-skin"),s=(l.attr("lay-text")||"").split("|"),o=this.disabled;"switch"===r&&(r="_"+r);var u=e[r]||e.checkbox;if("string"==typeof l.attr("lay-ignore"))return l.show();var d=l.next("."+u[0]),f=t(['<div class="layui-unselect '+u[0],n.checked?" "+u[1]:"",o?" layui-checkbox-disbaled "+c:"",'"',r?' lay-skin="'+r+'"':"",">",function(){var e=n.title.replace(/\s/g,""),t={checkbox:[e?"<span>"+n.title+"</span>":"",'<i class="layui-icon layui-icon-ok"></i>'].join(""),_switch:"<em>"+((n.checked?s[0]:s[1])||"")+"</em><i></i>"};return t[r]||t.checkbox}(),"</div>"].join(""));d[0]&&d.remove(),l.after(f),a.call(this,f,u)})},radio:function(){var e="layui-form-radio",i=["&#xe643;","&#xe63f;"],a=u.find("input[type=radio]"),n=function(a){var n=t(this),s="layui-anim-scaleSpring";a.on("click",function(){var o=n[0].name,c=n.parents(r),u=n.attr("lay-filter"),d=c.find("input[name="+o.replace(/(\.|#|\[|\])/g,"\\$1")+"]");n[0].disabled||(layui.each(d,function(){var a=t(this).next("."+e);this.checked=!1,a.removeClass(e+"ed"),a.find(".layui-icon").removeClass(s).html(i[1])}),n[0].checked=!0,a.addClass(e+"ed"),a.find(".layui-icon").addClass(s).html(i[0]),layui.event.call(n[0],l,"radio("+u+")",{elem:n[0],value:n[0].value,othis:a}))})};a.each(function(a,l){var r=t(this),s=r.next("."+e),o=this.disabled;if("string"==typeof r.attr("lay-ignore"))return r.show();s[0]&&s.remove();var u=t(['<div class="layui-unselect '+e,l.checked?" "+e+"ed":"",(o?" layui-radio-disbaled "+c:"")+'">','<i class="layui-anim layui-icon">'+i[l.checked?0:1]+"</i>","<div>"+function(){var e=l.title||"";return"string"==typeof r.next().attr("lay-radio")&&(e=r.next().html(),r.next().remove()),e}()+"</div>","</div>"].join(""));r.after(u),n.call(this,u)})}};return e?d[e]?d[e]():a.error("涓嶆敮鎸佺殑"+e+"琛ㄥ崟娓叉煋"):layui.each(d,function(e,t){t()}),n};var d=function(){var e=t(this),a=f.config.verify,s=null,o="layui-form-danger",c={},u=e.parents(r),d=u.find("*[lay-verify]"),v=e.parents("form")[0],h=u.find("input,select,textarea"),y=e.attr("lay-filter");if(layui.each(d,function(e,l){var r=t(this),c=r.attr("lay-verify").split("|"),u=r.attr("lay-verType"),d=r.val();if(r.removeClass(o),layui.each(c,function(e,t){var c,f="",v="function"==typeof a[t];if(a[t]){var c=v?f=a[t](d,l):!a[t][0].test(d);if(f=f||a[t][1],"required"===t&&(f=r.attr("lay-reqText")||f),c)return"tips"===u?i.tips(f,function(){return"string"==typeof r.attr("lay-ignore")||"select"!==l.tagName.toLowerCase()&&!/^checkbox|radio$/.test(l.type)?r:r.next()}(),{tips:1}):"alert"===u?i.alert(f,{title:"鎻愮ず",shadeClose:!0}):i.msg(f,{icon:5,shift:6}),n.android||n.ios||setTimeout(function(){l.focus()},7),r.addClass(o),s=!0}}),s)return s}),s)return!1;var p={};return layui.each(h,function(e,t){if(t.name=(t.name||"").replace(/^\s*|\s*&/,""),t.name){if(/^.*\[\]$/.test(t.name)){var i=t.name.match(/^(.*)\[\]$/g)[0];p[i]=0|p[i],t.name=t.name.replace(/^(.*)\[\]$/,"$1["+p[i]++ +"]")}/^checkbox|radio$/.test(t.type)&&!t.checked||(c[t.name]=t.value)}}),layui.event.call(this,l,"submit("+y+")",{elem:this,form:v,field:c})},f=new u,v=t(document),h=t(window);f.render(),v.on("reset",r,function(){var e=t(this).attr("lay-filter");setTimeout(function(){f.render(null,e)},50)}),v.on("submit",r,d).on("click","*[lay-submit]",d),e(l,f)});layui.define("form",function(e){"use strict";var i=layui.$,a=layui.form,n="tree",r={config:{},index:layui[n]?layui[n].index+1e4:0,set:function(e){var a=this;return a.config=i.extend({},a.config,e),a},on:function(e,i){return layui.onevent.call(this,n,e,i)}},l=function(){var e=this,i=e.config,a=i.id||e.index;return l.that[a]=e,l.config[a]=i,{config:i,reload:function(i){e.reload.call(e,i)},getChecked:function(){return e.getChecked.call(e)},setChecked:function(i){return e.setChecked.call(e,i)}}},t="layui-hide",d="layui-disabled",s="layui-tree-set",c="layui-tree-iconClick",o="layui-icon-addition",h="layui-icon-subtraction",u="layui-tree-entry",f="layui-tree-main",p="layui-tree-txt",y="layui-tree-pack",v="layui-tree-spread",C="layui-tree-setLineShort",m="layui-tree-showLine",k="layui-tree-lineExtend",g=function(e){var a=this;a.index=++r.index,a.config=i.extend({},a.config,r.config,e),a.render()};g.prototype.config={data:[],showCheckbox:!1,showLine:!0,accordion:!1,onlyIconControl:!1,isJump:!1,edit:!1,text:{defaultNodeName:"鏈懡鍚�",none:"鏃犳暟鎹�"}},g.prototype.reload=function(e){var a=this;layui.each(e,function(e,i){i.constructor===Array&&delete a.config[e]}),a.config=i.extend(!0,{},a.config,e),a.render()},g.prototype.render=function(){var e=this,a=e.config,n=i('<div class="layui-tree'+(a.showCheckbox?" layui-form":"")+(a.showLine?" layui-tree-line":"")+'" lay-filter="LAY-tree-'+e.index+'"></div>');e.tree(n);var r=a.elem=i(a.elem);if(r[0]){if(a.showSearch&&n.prepend('<input type="text" class="layui-input layui-tree-search" placeholder="璇疯緭鍏ュ叧閿瓧杩涜杩囨护">'),e.key=a.id||e.index,e.elem=n,e.elemNone=i('<div class="layui-tree-emptyText">'+a.text.none+"</div>"),r.html(e.elem),0==e.elem.find(".layui-tree-set").length)return e.elem.append(e.elemNone);a.drag&&e.drag(),a.showCheckbox&&e.renderForm("checkbox"),e.elem.find(".layui-tree-set").each(function(){var e=i(this);e.parent(".layui-tree-pack")[0]||e.addClass("layui-tree-setHide"),!e.next()[0]&&e.parents(".layui-tree-pack").eq(1).hasClass("layui-tree-lineExtend")&&e.addClass(C),e.next()[0]||e.parents(".layui-tree-set").eq(0).next()[0]||e.addClass(C)}),e.events()}},g.prototype.renderForm=function(e){a.render(e,"LAY-tree-"+this.index)},g.prototype.tree=function(e,a){var n=this,r=n.config,l=a||r.data;layui.each(l,function(a,l){var c=l.children&&l.children.length>0,o=i('<div class="layui-tree-pack" '+(l.spread?'style="display: block;"':"")+'"></div>'),h=i(['<div data-id="'+l.id+'" class="layui-tree-set'+(l.spread?" layui-tree-spread":"")+(l.checked?" layui-tree-checkedFirst":"")+'">',"<div "+(r.drag&&!l.fixed?'draggable="true"':"")+' class="layui-tree-entry">','<div class="layui-tree-main">',function(){return r.showLine?c?'<span class="layui-tree-iconClick layui-tree-icon"><i class="layui-icon '+(l.spread?"layui-icon-subtraction":"layui-icon-addition")+'"></i></span>':'<span class="layui-tree-iconClick"><i class="layui-icon layui-icon-file"></i></span>':'<span class="layui-tree-iconClick"><i class="layui-tree-iconArrow '+(c?"":t)+'"></i></span>'}(),function(){return r.showCheckbox?'<input type="checkbox" name="layuiTreeCheck" lay-skin="primary" '+(l.disabled?"disabled":"")+'  value="'+l.id+'">':""}(),function(){return r.isJump&&l.href?'<a href="'+l.href+'" target="_blank" class="'+p+'">'+(l.title||l.label||r.text.defaultNodeName)+"</a>":'<span class="'+p+(l.disabled?" "+d:"")+'">'+(l.title||l.label||r.text.defaultNodeName)+"</span>"}(),"</div>",function(){if(!r.edit)return"";var e={add:'<i class="layui-icon layui-icon-add-1"  data-type="add"></i>',update:'<i class="layui-icon layui-icon-edit" data-type="update"></i>',del:'<i class="layui-icon layui-icon-delete" data-type="del"></i>'},i=['<div class="layui-btn-group layui-tree-btnGroup">'];return r.edit===!0&&(r.edit=["update","del"]),"object"==typeof r.edit?(layui.each(r.edit,function(a,n){i.push(e[n]||"")}),i.join("")+"</div>"):void 0}(),"</div></div>"].join(""));c&&(h.append(o),n.tree(o,l.children)),e.append(h),h.prev("."+s)[0]&&h.prev().children(".layui-tree-pack").addClass("layui-tree-showLine"),c||h.parent(".layui-tree-pack").addClass("layui-tree-lineExtend"),n.spread(h,l),r.showCheckbox&&n.checkClick(h,l),r.edit&&n.operate(h,l)})},g.prototype.spread=function(e,a){var n=this,r=n.config,l=e.children("."+u),t=l.children("."+f),C=l.find("."+c),m=l.find("."+p),k=r.onlyIconControl?C:t,g="";k.on("click",function(i){var a=e.children("."+y),n=k.children(".layui-icon")[0]?k.children(".layui-icon"):k.find(".layui-tree-icon").children(".layui-icon");if(a[0]){if(e.hasClass(v))e.removeClass(v),a.slideUp(200),n.removeClass(h).addClass(o);else if(e.addClass(v),a.slideDown(200),n.addClass(h).removeClass(o),r.accordion){var l=e.siblings("."+s);l.removeClass(v),l.children("."+y).slideUp(200),l.find(".layui-tree-icon").children(".layui-icon").removeClass(h).addClass(o)}}else g="normal"}),m.on("click",function(){var n=i(this);n.hasClass(d)||(g=e.hasClass(v)?r.onlyIconControl?"open":"close":r.onlyIconControl?"close":"open",r.click&&r.click({elem:e,state:g,data:a}))})},g.prototype.setCheckbox=function(e,i,a){var n=this,r=(n.config,a.prop("checked"));if("object"==typeof i.children||e.find("."+y)[0]){var l=e.find("."+y).find('input[name="layuiTreeCheck"]');l.each(function(){this.disabled||(this.checked=r)})}var t=function(e){if(e.parents("."+s)[0]){var i,a=e.parent("."+y),n=a.parent(),l=a.prev().find('input[name="layuiTreeCheck"]');r?l.prop("checked",r):(a.find('input[name="layuiTreeCheck"]').each(function(){this.checked&&(i=!0)}),i||l.prop("checked",!1)),t(n)}};t(e),n.renderForm("checkbox")},g.prototype.checkClick=function(e,a){var n=this,r=n.config,l=e.children("."+u),t=l.children("."+f);t.on("click",'input[name="layuiTreeCheck"]+',function(l){layui.stope(l);var t=i(this).prev(),d=t.prop("checked");t.prop("disabled")||(n.setCheckbox(e,a,t),r.oncheck&&r.oncheck({elem:e,checked:d,data:a}))})},g.prototype.operate=function(e,a){var n=this,r=n.config,l=e.children("."+u),d=l.children("."+f);l.children(".layui-tree-btnGroup").on("click",".layui-icon",function(l){layui.stope(l);var f=i(this).data("type"),g=e.children("."+y),x={data:a,type:f,elem:e};if("add"==f){g[0]||(r.showLine?(d.find("."+c).addClass("layui-tree-icon"),d.find("."+c).children(".layui-icon").addClass(o).removeClass("layui-icon-file")):d.find(".layui-tree-iconArrow").removeClass(t),e.append('<div class="layui-tree-pack"></div>'));var b=r.operate&&r.operate(x),w={};if(w.title=r.text.defaultNodeName,w.id=b,n.tree(e.children("."+y),[w]),r.showLine)if(g[0])g.hasClass(k)||g.addClass(k),e.find("."+y).each(function(){i(this).children("."+s).last().addClass(C)}),g.children("."+s).last().prev().hasClass(C)?g.children("."+s).last().prev().removeClass(C):g.children("."+s).last().removeClass(C),!e.parent("."+y)[0]&&e.next()[0]&&g.children("."+s).last().removeClass(C);else{var T=e.siblings("."+s),L=1,N=e.parent("."+y);layui.each(T,function(e,a){i(a).children("."+y)[0]||(L=0)}),1==L?(T.children("."+y).addClass(m),T.children("."+y).children("."+s).removeClass(C),e.children("."+y).addClass(m),N.removeClass(k),N.children("."+s).last().children("."+y).children("."+s).last().addClass(C)):e.children("."+y).children("."+s).addClass(C)}if(!r.showCheckbox)return;if(d.find('input[name="layuiTreeCheck"]')[0].checked){var A=e.children("."+y).children("."+s).last();A.find('input[name="layuiTreeCheck"]')[0].checked=!0}n.renderForm("checkbox")}else if("update"==f){var q=d.children("."+p).html();d.children("."+p).html(""),d.append('<input type="text" class="layui-tree-editInput">'),d.children(".layui-tree-editInput").val(q).focus();var F=function(e){var i=e.val().trim();i=i?i:r.text.defaultNodeName,e.remove(),d.children("."+p).html(i),x.data.title=i,r.operate&&r.operate(x)};d.children(".layui-tree-editInput").blur(function(){F(i(this))}),d.children(".layui-tree-editInput").on("keydown",function(e){13===e.keyCode&&(e.preventDefault(),F(i(this)))})}else{if(r.operate&&r.operate(x),x.status="remove",!e.prev("."+s)[0]&&!e.next("."+s)[0]&&!e.parent("."+y)[0])return e.remove(),void n.elem.append(n.elemNone);if(e.siblings("."+s).children("."+u)[0]){if(r.showCheckbox){var I=function(e){if(e.parents("."+s)[0]){var a=e.siblings("."+s).children("."+u),r=e.parent("."+y).prev(),l=r.find('input[name="layuiTreeCheck"]')[0],t=1,d=0;0==l.checked&&(a.each(function(e,a){var n=i(a).find('input[name="layuiTreeCheck"]')[0];0!=n.checked||n.disabled||(t=0),n.disabled||(d=1)}),1==t&&1==d&&(l.checked=!0,n.renderForm("checkbox"),I(r.parent("."+s))))}};I(e)}if(r.showLine){var T=e.siblings("."+s),L=1,N=e.parent("."+y);layui.each(T,function(e,a){i(a).children("."+y)[0]||(L=0)}),1==L?(g[0]||(N.removeClass(k),T.children("."+y).addClass(m),T.children("."+y).children("."+s).removeClass(C)),e.next()[0]?N.children("."+s).last().children("."+y).children("."+s).last().addClass(C):e.prev().children("."+y).children("."+s).last().addClass(C),e.next()[0]||e.parents("."+s)[1]||e.parents("."+s).eq(0).next()[0]||e.prev("."+s).addClass(C)):!e.next()[0]&&e.hasClass(C)&&e.prev().addClass(C)}}else{var H=e.parent("."+y).prev();if(r.showLine){H.find("."+c).removeClass("layui-tree-icon"),H.find("."+c).children(".layui-icon").removeClass(h).addClass("layui-icon-file");var S=H.parents("."+y).eq(0);S.addClass(k),S.children("."+s).each(function(){i(this).children("."+y).children("."+s).last().addClass(C)})}else H.find(".layui-tree-iconArrow").addClass(t);e.parents("."+s).eq(0).removeClass(v),e.parent("."+y).remove()}e.remove()}})},g.prototype.drag=function(){var e=this,a=e.config;e.elem.on("dragstart","."+u,function(){var e=i(this).parent("."+s),n=e.parents("."+s)[0]?e.parents("."+s).eq(0):"鏈壘鍒扮埗鑺傜偣";a.dragstart&&a.dragstart(e,n)}),e.elem.on("dragend","."+u,function(n){var n=n||event,r=n.clientY,l=i(this),d=l.parent("."+s),f=d.height(),p=d.offset().top,g=e.elem.find("."+s),x=e.elem.height(),b=e.elem.offset().top,w=x+b-13,T=d.parents("."+s)[0],L=d.next()[0];if(T)var N=d.parent("."+y),A=d.parents("."+s).eq(0),q=A.parent("."+y),F=A.offset().top,I=d.siblings(),H=A.children("."+y).children("."+s).length;var S=function(n){if(T||L||e.elem.children("."+s).last().children("."+y).children("."+s).last().addClass(C),!T)return void d.removeClass("layui-tree-setHide");if(1==H)a.showLine?(n.find("."+c).removeClass("layui-tree-icon"),n.find("."+c).children(".layui-icon").removeClass(h).addClass("layui-icon-file"),q.addClass(k),q.children("."+s).children("."+y).each(function(){i(this).children("."+s).last().addClass(C)})):n.find(".layui-tree-iconArrow").addClass(t),n.children("."+y).remove(),n.removeClass(v);else{if(a.showLine){var r=1;layui.each(I,function(e,a){i(a).children("."+y)[0]||(r=0)}),1==r?(d.children("."+y)[0]||(N.removeClass(k),I.children("."+y).addClass(m),I.children("."+y).children("."+s).removeClass(C)),N.children("."+s).last().children("."+y).children("."+s).last().addClass(C),L||n.parents("."+s)[0]||n.next()[0]||N.children("."+s).last().addClass(C)):!L&&d.hasClass(C)&&N.children("."+s).last().addClass(C)}if(a.showCheckbox){var l=function(a){if(a){if(!a.parents("."+s)[0])return}else if(!n[0])return;var r=a?a.siblings().children("."+u):I.children("."+u),t=a?a.parent("."+y).prev():N.prev(),d=t.find('input[name="layuiTreeCheck"]')[0],c=1,o=0;0==d.checked&&(r.each(function(e,a){var n=i(a).find('input[name="layuiTreeCheck"]')[0];0!=n.checked||n.disabled||(c=0),n.disabled||(o=1)}),1==c&&1==o&&(d.checked=!0,e.renderForm("checkbox"),l(t.parent("."+s)||n)))};l()}}};g.each(function(){if(0!=i(this).height()){if(r>p&&r<p+f)return void(a.dragend&&a.dragend("drag error"));if(1==H&&r>F&&r<p+f)return void(a.dragend&&a.dragend("drag error"));var n=i(this).offset().top;if(r>n&&r<n+15){if(i(this).children("."+y)[0]||(a.showLine?(i(this).find("."+c).eq(0).addClass("layui-tree-icon"),i(this).find("."+c).eq(0).children(".layui-icon").addClass(o).removeClass("layui-icon-file")):i(this).find(".layui-tree-iconArrow").removeClass(t),i(this).append('<div class="layui-tree-pack"></div>')),i(this).children("."+y).append(d),S(A),a.showLine){var l=i(this).children("."+y).children("."+s);if(d.children("."+y).children("."+s).last().addClass(C),1==l.length){var h=i(this).siblings("."+s),v=1,g=i(this).parent("."+y);layui.each(h,function(e,a){i(a).children("."+y)[0]||(v=0)}),1==v?(h.children("."+y).addClass(m),h.children("."+y).children("."+s).removeClass(C),i(this).children("."+y).addClass(m),g.removeClass(k),g.children("."+s).last().children("."+y).children("."+s).last().addClass(C).removeClass("layui-tree-setHide")):i(this).children("."+y).children("."+s).addClass(C).removeClass("layui-tree-setHide")}else d.prev("."+s).hasClass(C)?(d.prev("."+s).removeClass(C),d.addClass(C)):(d.removeClass("layui-tree-setLineShort layui-tree-setHide"),d.children("."+y)[0]?d.prev("."+s).children("."+y).children("."+s).last().removeClass(C):d.siblings("."+s).find("."+y).each(function(){i(this).children("."+s).last().addClass(C)})),i(this).next()[0]||d.addClass(C)}if(a.showCheckbox&&i(this).children("."+u).find('input[name="layuiTreeCheck"]')[0].checked){var x=d.children("."+u);x.find('input[name="layuiTreeCheck"]+').click()}return a.dragend&&a.dragend("drag success",d,i(this)),!1}if(r<n){if(i(this).before(d),S(A),a.showLine){var b=d.children("."+y),T=i(this).parents("."+s).eq(0),L=T.children("."+y).children("."+s).last();if(b[0]){d.removeClass(C),b.children("."+s).last().removeClass(C);var h=d.siblings("."+s),v=1;layui.each(h,function(e,a){i(a).children("."+y)[0]||(v=0)}),1==v?T[0]&&(h.children("."+y).addClass(m),h.children("."+y).children("."+s).removeClass(C),L.children("."+y).children("."+s).last().addClass(C).removeClass(m)):d.children("."+y).children("."+s).last().addClass(C),!T.parent("."+y)[0]&&T.next()[0]&&L.removeClass(C)}else T.hasClass(k)||T.addClass(k),T.find("."+y).each(function(){i(this).children("."+s).last().addClass(C)});T[0]||(d.addClass("layui-tree-setHide"),d.children("."+y).children("."+s).last().removeClass(C))}if(T[0]&&a.showCheckbox&&T.children("."+u).find('input[name="layuiTreeCheck"]')[0].checked){var x=d.children("."+u);x.find('input[name="layuiTreeCheck"]+').click()}return a.dragend&&a.dragend("鎷栨嫿鎴愬姛锛屾彃鍏ョ洰鏍囪妭鐐逛笂鏂�",d,i(this)),!1}if(r>w)return e.elem.children("."+s).last().children("."+y).addClass(m),e.elem.append(d),S(A),d.prev().children("."+y).children("."+s).last().removeClass(C),d.addClass("layui-tree-setHide"),d.children("."+y).children("."+s).last().addClass(C),a.dragend&&a.dragend("鎷栨嫿鎴愬姛锛屾彃鍏ユ渶澶栧眰鑺傜偣",d,e.elem),!1}})})},g.prototype.events=function(){var e=this,a=e.config,n=e.elem.find(".layui-tree-checkedFirst");layui.each(n,function(e,a){i(a).children("."+u).find('input[name="layuiTreeCheck"]+').trigger("click")}),e.elem.find(".layui-tree-search").on("keyup",function(){var n=i(this),r=n.val(),l=n.nextAll(),d=[];l.find("."+p).each(function(){var e=i(this).parents("."+u);if(i(this).html().indexOf(r)!=-1){d.push(i(this).parent());var a=function(e){e.addClass("layui-tree-searchShow"),e.parent("."+y)[0]&&a(e.parent("."+y).parent("."+s))};a(e.parent("."+s))}}),l.find("."+u).each(function(){var e=i(this).parent("."+s);e.hasClass("layui-tree-searchShow")||e.addClass(t)}),0==l.find(".layui-tree-searchShow").length&&e.elem.append(e.elemNone),a.onsearch&&a.onsearch({elem:d})}),e.elem.find(".layui-tree-search").on("keydown",function(){i(this).nextAll().find("."+u).each(function(){var e=i(this).parent("."+s);e.removeClass("layui-tree-searchShow "+t)}),i(".layui-tree-emptyText")[0]&&i(".layui-tree-emptyText").remove()})},g.prototype.getChecked=function(){var e=this,a=e.config,n=[],r=[];e.elem.find(".layui-form-checked").each(function(){n.push(i(this).prev()[0].value)});var l=function(e,a){layui.each(e,function(e,r){layui.each(n,function(e,n){if(r.id==n){var t=i.extend({},r);return delete t.children,a.push(t),r.children&&(t.children=[],l(r.children,t.children)),!0}})})};return l(i.extend({},a.data),r),r},g.prototype.setChecked=function(e){var a=this;a.config;a.elem.find("."+s).each(function(a,n){var r=i(this).data("id"),l=i(n).children("."+u).find('input[name="layuiTreeCheck"]'),t=l.next();if("number"==typeof e){if(r==e)return l[0].checked||t.click(),!1}else i.inArray(r,e)!=-1&&(l[0].checked||t.click())})},l.that={},l.config={},r.reload=function(e,i){var a=l.that[e];return a.reload(i),l.call(a)},r.getChecked=function(e){var i=l.that[e];return i.getChecked()},r.setChecked=function(e,i){var a=l.that[e];return a.setChecked(i)},r.render=function(e){var i=new g(e);return l.call(i)},e(n,r)});layui.define(["laytpl","form"],function(e){"use strict";var a=layui.$,t=layui.laytpl,n=layui.form,i="transfer",l={config:{},index:layui[i]?layui[i].index+1e4:0,set:function(e){var t=this;return t.config=a.extend({},t.config,e),t},on:function(e,a){return layui.onevent.call(this,i,e,a)}},r=function(){var e=this,a=e.config,t=a.id||e.index;return r.that[t]=e,r.config[t]=a,{config:a,reload:function(a){e.reload.call(e,a)},getData:function(){return e.getData.call(e)}}},c="layui-hide",o="layui-btn-disabled",d="layui-none",s="layui-transfer-box",u="layui-transfer-header",h="layui-transfer-search",f="layui-transfer-active",y="layui-transfer-data",p=function(e){return e=e||{},['<div class="layui-transfer-box" data-index="'+e.index+'">','<div class="layui-transfer-header">','<input type="checkbox" name="'+e.checkAllName+'" lay-filter="layTransferCheckbox" lay-type="all" lay-skin="primary" title="{{ d.data.title['+e.index+"] || 'list"+(e.index+1)+"' }}\">","</div>","{{# if(d.data.showSearch){ }}",'<div class="layui-transfer-search">','<i class="layui-icon layui-icon-search"></i>','<input type="input" class="layui-input" placeholder="鍏抽敭璇嶆悳绱�">',"</div>","{{# } }}",'<ul class="layui-transfer-data"></ul>',"</div>"].join("")},v=['<div class="layui-transfer layui-form layui-border-box" lay-filter="LAY-transfer-{{ d.index }}">',p({index:0,checkAllName:"layTransferLeftCheckAll"}),'<div class="layui-transfer-active">','<button type="button" class="layui-btn layui-btn-sm layui-btn-primary layui-btn-disabled" data-index="0">','<i class="layui-icon layui-icon-next"></i>',"</button>",'<button type="button" class="layui-btn layui-btn-sm layui-btn-primary layui-btn-disabled" data-index="1">','<i class="layui-icon layui-icon-prev"></i>',"</button>","</div>",p({index:1,checkAllName:"layTransferRightCheckAll"}),"</div>"].join(""),x=function(e){var t=this;t.index=++l.index,t.config=a.extend({},t.config,l.config,e),t.render()};x.prototype.config={title:["鍒楄〃涓�","鍒楄〃浜�"],width:200,height:360,data:[],value:[],showSearch:!1,id:"",text:{none:"鏃犳暟鎹�",searchNone:"鏃犲尮閰嶆暟鎹�"}},x.prototype.reload=function(e){var t=this;layui.each(e,function(e,a){a.constructor===Array&&delete t.config[e]}),t.config=a.extend(!0,{},t.config,e),t.render()},x.prototype.render=function(){var e=this,n=e.config,i=e.elem=a(t(v).render({data:n,index:e.index})),l=n.elem=a(n.elem);l[0]&&(n.data=n.data||[],n.value=n.value||[],e.key=n.id||e.index,l.html(e.elem),e.layBox=e.elem.find("."+s),e.layHeader=e.elem.find("."+u),e.laySearch=e.elem.find("."+h),e.layData=i.find("."+y),e.layBtn=i.find("."+f+" .layui-btn"),e.layBox.css({width:n.width,height:n.height}),e.layData.css({height:function(){return n.height-e.layHeader.outerHeight()-e.laySearch.outerHeight()-2}()}),e.renderData(),e.events())},x.prototype.renderData=function(){var e=this,a=(e.config,[{checkName:"layTransferLeftCheck",views:[]},{checkName:"layTransferRightCheck",views:[]}]);e.parseData(function(e){var t=e.selected?1:0,n=["<li>",'<input type="checkbox" name="'+a[t].checkName+'" lay-skin="primary" lay-filter="layTransferCheckbox" title="'+e.title+'"'+(e.disabled?" disabled":"")+(e.checked?" checked":"")+' value="'+e.value+'">',"</li>"].join("");a[t].views.push(n),delete e.selected}),e.layData.eq(0).html(a[0].views.join("")),e.layData.eq(1).html(a[1].views.join("")),e.renderCheckBtn()},x.prototype.renderForm=function(e){n.render(e,"LAY-transfer-"+this.index)},x.prototype.renderCheckBtn=function(e){var t=this,n=t.config;e=e||{},t.layBox.each(function(i){var l=a(this),r=l.find("."+y),d=l.find("."+u).find('input[type="checkbox"]'),s=r.find('input[type="checkbox"]'),h=0,f=!1;if(s.each(function(){var e=a(this).data("hide");(this.checked||this.disabled||e)&&h++,this.checked&&!e&&(f=!0)}),d.prop("checked",f&&h===s.length),t.layBtn.eq(i)[f?"removeClass":"addClass"](o),!e.stopNone){var p=r.children("li:not(."+c+")").length;t.noneView(r,p?"":n.text.none)}}),t.renderForm("checkbox")},x.prototype.noneView=function(e,t){var n=a('<p class="layui-none">'+(t||"")+"</p>");e.find("."+d)[0]&&e.find("."+d).remove(),t.replace(/\s/g,"")&&e.append(n)},x.prototype.setValue=function(){var e=this,t=e.config,n=[];return e.layBox.eq(1).find("."+y+' input[type="checkbox"]').each(function(){var e=a(this).data("hide");e||n.push(this.value)}),t.value=n,e},x.prototype.parseData=function(e){var t=this,n=t.config,i=[];return layui.each(n.data,function(t,l){l=("function"==typeof n.parseData?n.parseData(l):l)||l,i.push(l=a.extend({},l)),layui.each(n.value,function(e,a){a==l.value&&(l.selected=!0)}),e&&e(l)}),n.data=i,t},x.prototype.getData=function(e){var a=this,t=a.config,n=[];return layui.each(e||t.value,function(e,a){layui.each(t.data,function(e,t){delete t.selected,a==t.value&&n.push(t)})}),n},x.prototype.events=function(){var e=this,t=e.config;e.elem.on("click",'input[lay-filter="layTransferCheckbox"]+',function(){var t=a(this).prev(),n=t[0].checked,i=t.parents("."+s).eq(0).find("."+y);t[0].disabled||("all"===t.attr("lay-type")&&i.find('input[type="checkbox"]').each(function(){this.disabled||(this.checked=n)}),e.renderCheckBtn({stopNone:!0}))}),e.layBtn.on("click",function(){var n=a(this),i=n.data("index"),l=e.layBox.eq(i),r=[];if(!n.hasClass(o)){e.layBox.eq(i).each(function(t){var n=a(this),i=n.find("."+y);i.children("li").each(function(){var t=a(this),n=t.find('input[type="checkbox"]'),i=n.data("hide");n[0].checked&&!i&&(n[0].checked=!1,l.siblings("."+s).find("."+y).append(t.clone()),t.remove(),r.push(n[0].value)),e.setValue()})}),e.renderCheckBtn();var c=l.siblings("."+s).find("."+h+" input");""===c.val()||c.trigger("keyup"),t.onchange&&t.onchange(e.getData(r),i)}}),e.laySearch.find("input").on("keyup",function(){var n=this.value,i=a(this).parents("."+h).eq(0).siblings("."+y),l=i.children("li");l.each(function(){var e=a(this),t=e.find('input[type="checkbox"]'),i=t[0].title.indexOf(n)!==-1;e[i?"removeClass":"addClass"](c),t.data("hide",!i)}),e.renderCheckBtn();var r=l.length===i.children("li."+c).length;e.noneView(i,r?t.text.searchNone:"")})},r.that={},r.config={},l.reload=function(e,a){var t=r.that[e];return t.reload(a),r.call(t)},l.getData=function(e){var a=r.that[e];return a.getData()},l.render=function(e){var a=new x(e);return r.call(a)},e(i,l)});layui.define(["laytpl","laypage","layer","form","util"],function(e){"use strict";var t=layui.$,i=layui.laytpl,a=layui.laypage,l=layui.layer,n=layui.form,o=(layui.util,layui.hint()),r=layui.device(),d={config:{checkName:"LAY_CHECKED",indexName:"LAY_TABLE_INDEX"},cache:{},index:layui.table?layui.table.index+1e4:0,set:function(e){var i=this;return i.config=t.extend({},i.config,e),i},on:function(e,t){return layui.onevent.call(this,y,e,t)}},c=function(){var e=this,t=e.config,i=t.id||t.index;return i&&(c.that[i]=e,c.config[i]=t),{config:t,reload:function(t){e.reload.call(e,t)},setColsWidth:function(){e.setColsWidth.call(e)},resize:function(){e.resize.call(e)}}},s=function(e){var t=c.config[e];return t||o.error("The ID option was not found in the table instance"),t||null},u=function(e,a,l,n){var o=e.templet?function(){return"function"==typeof e.templet?e.templet(l):i(t(e.templet).html()||String(a)).render(l)}():a;return n?t("<div>"+o+"</div>").text():o},y="table",h=".layui-table",f="layui-hide",p="layui-none",v="layui-table-view",m=".layui-table-tool",g=".layui-table-box",b=".layui-table-init",x=".layui-table-header",k=".layui-table-body",C=".layui-table-main",w=".layui-table-fixed",T=".layui-table-fixed-l",A=".layui-table-fixed-r",L=".layui-table-total",N=".layui-table-page",S=".layui-table-sort",W="layui-table-edit",_="layui-table-hover",E=function(e){var t='{{#if(item2.colspan){}} colspan="{{item2.colspan}}"{{#} if(item2.rowspan){}} rowspan="{{item2.rowspan}}"{{#}}}';return e=e||{},['<table cellspacing="0" cellpadding="0" border="0" class="layui-table" ','{{# if(d.data.skin){ }}lay-skin="{{d.data.skin}}"{{# } }} {{# if(d.data.size){ }}lay-size="{{d.data.size}}"{{# } }} {{# if(d.data.even){ }}lay-even{{# } }}>',"<thead>","{{# layui.each(d.data.cols, function(i1, item1){ }}","<tr>","{{# layui.each(item1, function(i2, item2){ }}",'{{# if(item2.fixed && item2.fixed !== "right"){ left = true; } }}','{{# if(item2.fixed === "right"){ right = true; } }}',function(){return e.fixed&&"right"!==e.fixed?'{{# if(item2.fixed && item2.fixed !== "right"){ }}':"right"===e.fixed?'{{# if(item2.fixed === "right"){ }}':""}(),"{{# var isSort = !(item2.colGroup) && item2.sort; }}",'<th data-field="{{ item2.field||i2 }}" data-key="{{d.index}}-{{i1}}-{{i2}}" {{# if( item2.parentKey){ }}data-parentkey="{{ item2.parentKey }}"{{# } }} {{# if(item2.minWidth){ }}data-minwidth="{{item2.minWidth}}"{{# } }} '+t+' {{# if(item2.unresize || item2.colGroup){ }}data-unresize="true"{{# } }} class="{{# if(item2.hide){ }}layui-hide{{# } }}{{# if(isSort){ }} layui-unselect{{# } }}{{# if(!item2.field){ }} layui-table-col-special{{# } }}">','<div class="layui-table-cell laytable-cell-',"{{# if(item2.colGroup){ }}","group","{{# } else { }}","{{d.index}}-{{i1}}-{{i2}}",'{{# if(item2.type !== "normal"){ }}'," laytable-cell-{{ item2.type }}","{{# } }}","{{# } }}",'" {{#if(item2.align){}}align="{{item2.align}}"{{#}}}>','{{# if(item2.type === "checkbox"){ }}','<input type="checkbox" name="layTableCheckbox" lay-skin="primary" lay-filter="layTableAllChoose" {{# if(item2[d.data.checkName]){ }}checked{{# }; }}>',"{{# } else { }}",'<span>{{item2.title||""}}</span>',"{{# if(isSort){ }}",'<span class="layui-table-sort layui-inline"><i class="layui-edge layui-table-sort-asc" title="鍗囧簭"></i><i class="layui-edge layui-table-sort-desc" title="闄嶅簭"></i></span>',"{{# } }}","{{# } }}","</div>","</th>",e.fixed?"{{# }; }}":"","{{# }); }}","</tr>","{{# }); }}","</thead>","</table>"].join("")},z=['<table cellspacing="0" cellpadding="0" border="0" class="layui-table" ','{{# if(d.data.skin){ }}lay-skin="{{d.data.skin}}"{{# } }} {{# if(d.data.size){ }}lay-size="{{d.data.size}}"{{# } }} {{# if(d.data.even){ }}lay-even{{# } }}>',"<tbody></tbody>","</table>"].join(""),H=['<div class="layui-form layui-border-box {{d.VIEW_CLASS}}" lay-filter="LAY-table-{{d.index}}" lay-id="{{ d.data.id }}" style="{{# if(d.data.width){ }}width:{{d.data.width}}px;{{# } }} {{# if(d.data.height){ }}height:{{d.data.height}}px;{{# } }}">',"{{# if(d.data.toolbar){ }}",'<div class="layui-table-tool">','<div class="layui-table-tool-temp"></div>','<div class="layui-table-tool-self"></div>',"</div>","{{# } }}",'<div class="layui-table-box">',"{{# if(d.data.loading){ }}",'<div class="layui-table-init" style="background-color: #fff;">','<i class="layui-icon layui-icon-loading layui-anim layui-anim-rotate layui-anim-loop"></i>',"</div>","{{# } }}","{{# var left, right; }}",'<div class="layui-table-header">',E(),"</div>",'<div class="layui-table-body layui-table-main">',z,"</div>","{{# if(left){ }}",'<div class="layui-table-fixed layui-table-fixed-l">','<div class="layui-table-header">',E({fixed:!0}),"</div>",'<div class="layui-table-body">',z,"</div>","</div>","{{# }; }}","{{# if(right){ }}",'<div class="layui-table-fixed layui-table-fixed-r">','<div class="layui-table-header">',E({fixed:"right"}),'<div class="layui-table-mend"></div>',"</div>",'<div class="layui-table-body">',z,"</div>","</div>","{{# }; }}","</div>","{{# if(d.data.totalRow){ }}",'<div class="layui-table-total">','<table cellspacing="0" cellpadding="0" border="0" class="layui-table" ','{{# if(d.data.skin){ }}lay-skin="{{d.data.skin}}"{{# } }} {{# if(d.data.size){ }}lay-size="{{d.data.size}}"{{# } }} {{# if(d.data.even){ }}lay-even{{# } }}>','<tbody><tr><td><div class="layui-table-cell" style="visibility: hidden;">Total</div></td></tr></tbody>',"</table>","</div>","{{# } }}","{{# if(d.data.page){ }}",'<div class="layui-table-page">','<div id="layui-table-page{{d.index}}"></div>',"</div>","{{# } }}","<style>","{{# layui.each(d.data.cols, function(i1, item1){","layui.each(item1, function(i2, item2){ }}",".laytable-cell-{{d.index}}-{{i1}}-{{i2}}{ ","{{# if(item2.width){ }}","width: {{item2.width}}px;","{{# } }}"," }","{{# });","}); }}","</style>","</div>"].join(""),R=t(window),F=t(document),I=function(e){var i=this;i.index=++d.index,i.config=t.extend({},i.config,d.config,e),i.render()};I.prototype.config={limit:10,loading:!0,cellMinWidth:60,defaultToolbar:["filter","exports","print"],autoSort:!0,text:{none:"鏃犳暟鎹�"}},I.prototype.render=function(){var e=this,a=e.config;if(a.elem=t(a.elem),a.where=a.where||{},a.id=a.id||a.elem.attr("id")||e.index,a.request=t.extend({pageName:"page",limitName:"limit"},a.request),a.response=t.extend({statusName:"code",statusCode:0,msgName:"msg",dataName:"data",countName:"count"},a.response),"object"==typeof a.page&&(a.limit=a.page.limit||a.limit,a.limits=a.page.limits||a.limits,e.page=a.page.curr=a.page.curr||1,delete a.page.elem,delete a.page.jump),!a.elem[0])return e;a.height&&/^full-\d+$/.test(a.height)&&(e.fullHeightGap=a.height.split("-")[1],a.height=R.height()-e.fullHeightGap),e.setInit();var l=a.elem,n=l.next("."+v),o=e.elem=t(i(H).render({VIEW_CLASS:v,data:a,index:e.index}));if(a.index=e.index,e.key=a.id||a.index,n[0]&&n.remove(),l.after(o),e.layTool=o.find(m),e.layBox=o.find(g),e.layHeader=o.find(x),e.layMain=o.find(C),e.layBody=o.find(k),e.layFixed=o.find(w),e.layFixLeft=o.find(T),e.layFixRight=o.find(A),e.layTotal=o.find(L),e.layPage=o.find(N),e.renderToolbar(),e.fullSize(),a.cols.length>1){var r=e.layFixed.find(x).find("th");r.height(e.layHeader.height()-1-parseFloat(r.css("padding-top"))-parseFloat(r.css("padding-bottom")))}e.pullData(e.page),e.events()},I.prototype.initOpts=function(e){var t=this,i=(t.config,{checkbox:48,radio:48,space:15,numbers:40});e.checkbox&&(e.type="checkbox"),e.space&&(e.type="space"),e.type||(e.type="normal"),"normal"!==e.type&&(e.unresize=!0,e.width=e.width||i[e.type])},I.prototype.setInit=function(e){var t=this,i=t.config;return i.clientWidth=i.width||function(){var e=function(t){var a,l;t=t||i.elem.parent(),a=t.width();try{l="none"===t.css("display")}catch(n){}return!t[0]||a&&!l?a:e(t.parent())};return e()}(),"width"===e?i.clientWidth:void layui.each(i.cols,function(e,a){layui.each(a,function(l,n){if(!n)return void a.splice(l,1);if(n.key=e+"-"+l,n.hide=n.hide||!1,n.colGroup||n.colspan>1){var o=0;layui.each(i.cols[e+1],function(t,i){i.HAS_PARENT||o>1&&o==n.colspan||(i.HAS_PARENT=!0,i.parentKey=e+"-"+l,o+=parseInt(i.colspan>1?i.colspan:1))}),n.colGroup=!0}t.initOpts(n)})})},I.prototype.renderToolbar=function(){var e=this,a=e.config,l=['<div class="layui-inline" lay-event="add"><i class="layui-icon layui-icon-add-1"></i></div>','<div class="layui-inline" lay-event="update"><i class="layui-icon layui-icon-edit"></i></div>','<div class="layui-inline" lay-event="delete"><i class="layui-icon layui-icon-delete"></i></div>'].join(""),n=e.layTool.find(".layui-table-tool-temp");if("default"===a.toolbar)n.html(l);else if("string"==typeof a.toolbar){var o=t(a.toolbar).html()||"";o&&n.html(i(o).render(a))}var r={filter:{title:"绛涢�夊垪",layEvent:"LAYTABLE_COLS",icon:"layui-icon-cols"},exports:{title:"瀵煎嚭",layEvent:"LAYTABLE_EXPORT",icon:"layui-icon-export"},print:{title:"鎵撳嵃",layEvent:"LAYTABLE_PRINT",icon:"layui-icon-print"}},d=[];"object"==typeof a.defaultToolbar&&layui.each(a.defaultToolbar,function(e,t){var i=r[t];i&&d.push('<div class="layui-inline" title="'+i.title+'" lay-event="'+i.layEvent+'"><i class="layui-icon '+i.icon+'"></i></div>')}),e.layTool.find(".layui-table-tool-self").html(d.join(""))},I.prototype.setParentCol=function(e,t){var i=this,a=i.config,l=i.layHeader.find('th[data-key="'+a.index+"-"+t+'"]'),n=parseInt(l.attr("colspan"))||0;if(l[0]){var o=t.split("-"),r=a.cols[o[0]][o[1]];e?n--:n++,l.attr("colspan",n),l[n<1?"addClass":"removeClass"](f),r.colspan=n,r.hide=n<1;var d=l.data("parentkey");d&&i.setParentCol(e,d)}},I.prototype.setColsPatch=function(){var e=this,t=e.config;layui.each(t.cols,function(t,i){layui.each(i,function(t,i){i.hide&&e.setParentCol(i.hide,i.parentKey)})})},I.prototype.setColsWidth=function(){var e=this,t=e.config,i=0,a=0,l=0,n=0,o=e.setInit("width");e.eachCols(function(e,t){t.hide||i++}),o=o-function(){return"line"===t.skin||"nob"===t.skin?2:i+1}()-e.getScrollWidth(e.layMain[0])-1;var r=function(e){layui.each(t.cols,function(i,r){layui.each(r,function(i,d){var c=0,s=d.minWidth||t.cellMinWidth;return d?void(d.colGroup||d.hide||(e?l&&l<s&&(a--,c=s):(c=d.width||0,/\d+%$/.test(c)?(c=Math.floor(parseFloat(c)/100*o),c<s&&(c=s)):c||(d.width=c=0,a++)),d.hide&&(c=0),n+=c)):void r.splice(i,1)})}),o>n&&a&&(l=(o-n)/a)};r(),r(!0),e.autoColNums=a,e.eachCols(function(i,a){var n=a.minWidth||t.cellMinWidth;a.colGroup||a.hide||(0===a.width?e.getCssRule(t.index+"-"+a.key,function(e){e.style.width=Math.floor(l>=n?l:n)+"px"}):/\d+%$/.test(a.width)&&e.getCssRule(t.index+"-"+a.key,function(e){e.style.width=Math.floor(parseFloat(a.width)/100*o)+"px"}))});var d=e.layMain.width()-e.getScrollWidth(e.layMain[0])-e.layMain.children("table").outerWidth();if(e.autoColNums&&d>=-i&&d<=i){var c=function(t){var i;return t=t||e.layHeader.eq(0).find("thead th:last-child"),i=t.data("field"),!i&&t.prev()[0]?c(t.prev()):t},s=c(),u=s.data("key");e.getCssRule(u,function(t){var i=t.style.width||s.outerWidth();t.style.width=parseFloat(i)+d+"px",e.layMain.height()-e.layMain.prop("clientHeight")>0&&(t.style.width=parseFloat(t.style.width)-1+"px")})}e.loading(!0)},I.prototype.resize=function(){var e=this;e.fullSize(),e.setColsWidth(),e.scrollPatch()},I.prototype.reload=function(e){var i=this;e=e||{},delete i.haveInit,e.data&&e.data.constructor===Array&&delete i.config.data,i.config=t.extend(!0,{},i.config,e),i.render()},I.prototype.errorView=function(e){var i=this,a=i.layMain.find("."+p),l=t('<div class="'+p+'">'+(e||"Error")+"</div>");a[0]&&(i.layNone.remove(),a.remove()),i.layFixed.addClass(f),i.layMain.find("tbody").html(""),i.layMain.append(i.layNone=l),d.cache[i.key]=[]},I.prototype.page=1,I.prototype.pullData=function(e){var i=this,a=i.config,l=a.request,n=a.response,o=function(){"object"==typeof a.initSort&&i.sort(a.initSort.field,a.initSort.type)};if(i.startTime=(new Date).getTime(),a.url){var r={};r[l.pageName]=e,r[l.limitName]=a.limit;var d=t.extend(r,a.where);a.contentType&&0==a.contentType.indexOf("application/json")&&(d=JSON.stringify(d)),i.loading(),t.ajax({type:a.method||"get",url:a.url,contentType:a.contentType,data:d,dataType:"json",headers:a.headers||{},success:function(t){"function"==typeof a.parseData&&(t=a.parseData(t)||t),t[n.statusName]!=n.statusCode?(i.renderForm(),i.errorView(t[n.msgName]||'杩斿洖鐨勬暟鎹笉绗﹀悎瑙勮寖锛屾纭殑鎴愬姛鐘舵�佺爜搴斾负锛�"'+n.statusName+'": '+n.statusCode)):(i.renderData(t,e,t[n.countName]),o(),a.time=(new Date).getTime()-i.startTime+" ms"),i.setColsWidth(),"function"==typeof a.done&&a.done(t,e,t[n.countName])},error:function(e,t){i.errorView("鏁版嵁鎺ュ彛璇锋眰寮傚父锛�"+t),i.renderForm(),i.setColsWidth()}})}else if(a.data&&a.data.constructor===Array){var c={},s=e*a.limit-a.limit;c[n.dataName]=a.data.concat().splice(s,a.limit),c[n.countName]=a.data.length,i.renderData(c,e,c[n.countName]),o(),i.setColsWidth(),"function"==typeof a.done&&a.done(c,e,c[n.countName])}},I.prototype.eachCols=function(e){var t=this;return d.eachCols(null,e,t.config.cols),t},I.prototype.renderData=function(e,n,o,r){var c=this,s=c.config,y=e[s.response.dataName]||[],h=[],v=[],m=[],g=function(){var e;return!r&&c.sortKey?c.sort(c.sortKey.field,c.sortKey.sort,!0):(layui.each(y,function(a,l){var o=[],y=[],p=[],g=a+s.limit*(n-1)+1;0!==l.length&&(r||(l[d.config.indexName]=a),c.eachCols(function(n,r){var c=r.field||n,h=s.index+"-"+r.key,v=l[c];if(void 0!==v&&null!==v||(v=""),!r.colGroup){var m=['<td data-field="'+c+'" data-key="'+h+'" '+function(){var e=[];return r.edit&&e.push('data-edit="'+r.edit+'"'),r.align&&e.push('align="'+r.align+'"'),r.templet&&e.push('data-content="'+v+'"'),r.toolbar&&e.push('data-off="true"'),r.event&&e.push('lay-event="'+r.event+'"'),r.style&&e.push('style="'+r.style+'"'),r.minWidth&&e.push('data-minwidth="'+r.minWidth+'"'),e.join(" ")}()+' class="'+function(){var e=[];return r.hide&&e.push(f),r.field||e.push("layui-table-col-special"),e.join(" ")}()+'">','<div class="layui-table-cell laytable-cell-'+function(){return"normal"===r.type?h:h+" laytable-cell-"+r.type}()+'">'+function(){var n=t.extend(!0,{LAY_INDEX:g},l),o=d.config.checkName;switch(r.type){case"checkbox":return'<input type="checkbox" name="layTableCheckbox" lay-skin="primary" '+function(){return r[o]?(l[o]=r[o],r[o]?"checked":""):n[o]?"checked":""}()+">";case"radio":return n[o]&&(e=a),'<input type="radio" name="layTableRadio_'+s.index+'" '+(n[o]?"checked":"")+' lay-type="layTableRadio">';case"numbers":return g}return r.toolbar?i(t(r.toolbar).html()||"").render(n):u(r,v,n)}(),"</div></td>"].join("");o.push(m),r.fixed&&"right"!==r.fixed&&y.push(m),"right"===r.fixed&&p.push(m)}}),h.push('<tr data-index="'+a+'">'+o.join("")+"</tr>"),v.push('<tr data-index="'+a+'">'+y.join("")+"</tr>"),m.push('<tr data-index="'+a+'">'+p.join("")+"</tr>"))}),c.layBody.scrollTop(0),c.layMain.find("."+p).remove(),c.layMain.find("tbody").html(h.join("")),c.layFixLeft.find("tbody").html(v.join("")),c.layFixRight.find("tbody").html(m.join("")),c.renderForm(),"number"==typeof e&&c.setThisRowChecked(e),c.syncCheckAll(),c.haveInit?c.scrollPatch():setTimeout(function(){c.scrollPatch()},50),c.haveInit=!0,l.close(c.tipsIndex),s.HAS_SET_COLS_PATCH||c.setColsPatch(),void(s.HAS_SET_COLS_PATCH=!0))};return d.cache[c.key]=y,c.layPage[0==o||0===y.length&&1==n?"addClass":"removeClass"](f),r?g():0===y.length?(c.renderForm(),c.errorView(s.text.none)):(c.layFixed.removeClass(f),g(),c.renderTotal(y),void(s.page&&(s.page=t.extend({elem:"layui-table-page"+s.index,count:o,limit:s.limit,limits:s.limits||[10,20,30,40,50,60,70,80,90],groups:3,layout:["prev","page","next","skip","count","limit"],prev:'<i class="layui-icon">&#xe603;</i>',next:'<i class="layui-icon">&#xe602;</i>',jump:function(e,t){t||(c.page=e.curr,s.limit=e.limit,c.pullData(e.curr))}},s.page),s.page.count=o,a.render(s.page))))},I.prototype.renderTotal=function(e){var t=this,i=t.config,a={};if(i.totalRow){layui.each(e,function(e,i){0!==i.length&&t.eachCols(function(e,t){var l=t.field||e,n=i[l];t.totalRow&&(a[l]=(a[l]||0)+(parseFloat(n)||0))})});var l=[];t.eachCols(function(e,t){var n=t.field||e,o=['<td data-field="'+n+'" data-key="'+i.index+"-"+t.key+'" '+function(){var e=[];return t.align&&e.push('align="'+t.align+'"'),t.style&&e.push('style="'+t.style+'"'),t.minWidth&&e.push('data-minwidth="'+t.minWidth+'"'),e.join(" ")}()+' class="'+function(){var e=[];return t.hide&&e.push(f),t.field||e.push("layui-table-col-special"),e.join(" ")}()+'">','<div class="layui-table-cell laytable-cell-'+function(){var e=i.index+"-"+t.key;return"normal"===t.type?e:e+" laytable-cell-"+t.type}()+'">'+function(){var e=t.totalRowText||"";return t.totalRow?parseFloat(a[n]).toFixed(2)||e:e}(),"</div></td>"].join("");l.push(o)}),t.layTotal.find("tbody").html("<tr>"+l.join("")+"</tr>")}},I.prototype.getColElem=function(e,t){var i=this,a=i.config;return e.eq(0).find(".laytable-cell-"+(a.index+"-"+t)+":eq(0)")},I.prototype.renderForm=function(e){n.render(e,"LAY-table-"+this.index)},I.prototype.setThisRowChecked=function(e){var t=this,i=(t.config,"layui-table-click"),a=t.layBody.find('tr[data-index="'+e+'"]');a.addClass(i).siblings("tr").removeClass(i)},I.prototype.sort=function(e,i,a,l){var n,r,c=this,s={},u=c.config,h=u.elem.attr("lay-filter"),f=d.cache[c.key];"string"==typeof e&&c.layHeader.find("th").each(function(i,a){var l=t(this),o=l.data("field");if(o===e)return e=l,n=o,!1});try{var n=n||e.data("field"),p=e.data("key");if(c.sortKey&&!a&&n===c.sortKey.field&&i===c.sortKey.sort)return;var v=c.layHeader.find("th .laytable-cell-"+p).find(S);c.layHeader.find("th").find(S).removeAttr("lay-sort"),v.attr("lay-sort",i||null),c.layFixed.find("th")}catch(m){return o.error("Table modules: Did not match to field")}c.sortKey={field:n,sort:i},u.autoSort&&("asc"===i?r=layui.sort(f,n):"desc"===i?r=layui.sort(f,n,!0):(r=layui.sort(f,d.config.indexName),delete c.sortKey)),s[u.response.dataName]=r||f,c.renderData(s,c.page,c.count,!0),l&&layui.event.call(e,y,"sort("+h+")",{field:n,type:i})},I.prototype.loading=function(e){var i=this,a=i.config;a.loading&&(e?(i.layInit&&i.layInit.remove(),delete i.layInit,i.layBox.find(b).remove()):(i.layInit=t(['<div class="layui-table-init">','<i class="layui-icon layui-icon-loading layui-anim layui-anim-rotate layui-anim-loop"></i>',"</div>"].join("")),i.layBox.append(i.layInit)))},I.prototype.setCheckData=function(e,t){var i=this,a=i.config,l=d.cache[i.key];l[e]&&l[e].constructor!==Array&&(l[e][a.checkName]=t)},I.prototype.syncCheckAll=function(){var e=this,t=e.config,i=e.layHeader.find('input[name="layTableCheckbox"]'),a=function(i){return e.eachCols(function(e,a){"checkbox"===a.type&&(a[t.checkName]=i)}),i};i[0]&&(d.checkStatus(e.key).isAll?(i[0].checked||(i.prop("checked",!0),e.renderForm("checkbox")),a(!0)):(i[0].checked&&(i.prop("checked",!1),e.renderForm("checkbox")),a(!1)))},I.prototype.getCssRule=function(e,t){var i=this,a=i.elem.find("style")[0],l=a.sheet||a.styleSheet||{},n=l.cssRules||l.rules;layui.each(n,function(i,a){if(a.selectorText===".laytable-cell-"+e)return t(a),!0})},I.prototype.fullSize=function(){var e,t=this,i=t.config,a=i.height;t.fullHeightGap&&(a=R.height()-t.fullHeightGap,a<135&&(a=135),t.elem.css("height",a)),a&&(e=parseFloat(a)-(t.layHeader.outerHeight()||38),i.toolbar&&(e-=t.layTool.outerHeight()||50),i.totalRow&&(e-=t.layTotal.outerHeight()||40),i.page&&(e-=t.layPage.outerHeight()||41),t.layMain.css("height",e-2))},I.prototype.getScrollWidth=function(e){var t=0;return e?t=e.offsetWidth-e.clientWidth:(e=document.createElement("div"),e.style.width="100px",e.style.height="100px",e.style.overflowY="scroll",document.body.appendChild(e),t=e.offsetWidth-e.clientWidth,document.body.removeChild(e)),t},I.prototype.scrollPatch=function(){var e=this,i=e.layMain.children("table"),a=e.layMain.width()-e.layMain.prop("clientWidth"),l=e.layMain.height()-e.layMain.prop("clientHeight"),n=(e.getScrollWidth(e.layMain[0]),i.outerWidth()-e.layMain.width()),o=function(e){if(a&&l){if(e=e.eq(0),!e.find(".layui-table-patch")[0]){var i=t('<th class="layui-table-patch"><div class="layui-table-cell"></div></th>');i.find("div").css({width:a}),e.find("tr").append(i)}}else e.find(".layui-table-patch").remove()};o(e.layHeader),o(e.layTotal);var r=e.layMain.height(),d=r-l;e.layFixed.find(k).css("height",i.height()>=d?d:"auto"),e.layFixRight[n>0?"removeClass":"addClass"](f),e.layFixRight.css("right",a-1)},I.prototype.events=function(){var e,a=this,o=a.config,c=t("body"),s={},u=a.layHeader.find("th"),h=".layui-table-cell",p=o.elem.attr("lay-filter");a.layTool.on("click","*[lay-event]",function(e){var i=t(this),c=i.attr("lay-event"),s=function(e){var l=t(e.list),n=t('<ul class="layui-table-tool-panel"></ul>');n.html(l),o.height&&n.css("max-height",o.height-(a.layTool.outerHeight()||50)),i.find(".layui-table-tool-panel")[0]||i.append(n),a.renderForm(),n.on("click",function(e){layui.stope(e)}),e.done&&e.done(n,l)};switch(layui.stope(e),F.trigger("table.tool.panel.remove"),l.close(a.tipsIndex),c){case"LAYTABLE_COLS":s({list:function(){var e=[];return a.eachCols(function(t,i){i.field&&"normal"==i.type&&e.push('<li><input type="checkbox" name="'+i.field+'" data-key="'+i.key+'" data-parentkey="'+(i.parentKey||"")+'" lay-skin="primary" '+(i.hide?"":"checked")+' title="'+(i.title||i.field)+'" lay-filter="LAY_TABLE_TOOL_COLS"></li>')}),e.join("")}(),done:function(){n.on("checkbox(LAY_TABLE_TOOL_COLS)",function(e){var i=t(e.elem),l=this.checked,n=i.data("key"),r=i.data("parentkey");layui.each(o.cols,function(e,t){layui.each(t,function(t,i){if(e+"-"+t===n){var d=i.hide;i.hide=!l,a.elem.find('*[data-key="'+o.index+"-"+n+'"]')[l?"removeClass":"addClass"](f),d!=i.hide&&a.setParentCol(!l,r),a.resize()}})})})}});break;case"LAYTABLE_EXPORT":r.ie?l.tips("瀵煎嚭鍔熻兘涓嶆敮鎸� IE锛岃鐢� Chrome 绛夐珮绾ф祻瑙堝櫒瀵煎嚭",this,{tips:3}):s({list:function(){return['<li data-type="csv">瀵煎嚭鍒� Csv 鏂囦欢</li>','<li data-type="xls">瀵煎嚭鍒� Excel 鏂囦欢</li>'].join("")}(),done:function(e,i){i.on("click",function(){var e=t(this).data("type");d.exportFile(o.id,null,e)})}});break;case"LAYTABLE_PRINT":var u=window.open("鎵撳嵃绐楀彛","_blank"),h=["<style>","body{font-size: 12px; color: #666;}","table{width: 100%; border-collapse: collapse; border-spacing: 0;}","th,td{line-height: 20px; padding: 9px 15px; border: 1px solid #ccc; text-align: left; font-size: 12px; color: #666;}","a{color: #666; text-decoration:none;}","*.layui-hide{display: none}","</style>"].join(""),v=t(a.layHeader.html());v.append(a.layMain.find("table").html()),v.append(a.layTotal.find("table").html()),v.find("th.layui-table-patch").remove(),v.find(".layui-table-col-special").remove(),u.document.write(h+v.prop("outerHTML")),u.document.close(),u.print(),u.close()}layui.event.call(this,y,"toolbar("+p+")",t.extend({event:c,config:o},{}))}),u.on("mousemove",function(e){var i=t(this),a=i.offset().left,l=e.clientX-a;i.data("unresize")||s.resizeStart||(s.allowResize=i.width()-l<=10,c.css("cursor",s.allowResize?"col-resize":""))}).on("mouseleave",function(){t(this);s.resizeStart||c.css("cursor","")}).on("mousedown",function(e){var i=t(this);if(s.allowResize){var l=i.data("key");e.preventDefault(),s.resizeStart=!0,s.offset=[e.clientX,e.clientY],a.getCssRule(l,function(e){var t=e.style.width||i.outerWidth();s.rule=e,s.ruleWidth=parseFloat(t),s.minWidth=i.data("minwidth")||o.cellMinWidth})}}),F.on("mousemove",function(t){if(s.resizeStart){if(t.preventDefault(),s.rule){var i=s.ruleWidth+t.clientX-s.offset[0];i<s.minWidth&&(i=s.minWidth),s.rule.style.width=i+"px",l.close(a.tipsIndex)}e=1}}).on("mouseup",function(t){s.resizeStart&&(s={},c.css("cursor",""),a.scrollPatch()),2===e&&(e=null)}),u.on("click",function(i){var l,n=t(this),o=n.find(S),r=o.attr("lay-sort");return o[0]&&1!==e?(l="asc"===r?"desc":"desc"===r?null:"asc",void a.sort(n,l,null,!0)):e=2}).find(S+" .layui-edge ").on("click",function(e){var i=t(this),l=i.index(),n=i.parents("th").eq(0).data("field");layui.stope(e),0===l?a.sort(n,"asc",null,!0):a.sort(n,"desc",null,!0)});var v=function(e){var l=t(this),n=l.parents("tr").eq(0).data("index"),o=a.layBody.find('tr[data-index="'+n+'"]'),r=d.cache[a.key]||[];return r=r[n]||{},t.extend({tr:o,data:d.clearCacheKey(r),del:function(){d.cache[a.key][n]=[],o.remove(),a.scrollPatch()},update:function(e){e=e||{},layui.each(e,function(e,l){if(e in r){var n,d=o.children('td[data-field="'+e+'"]');r[e]=l,a.eachCols(function(t,i){i.field==e&&i.templet&&(n=i.templet)}),d.children(h).html(function(){return n?function(){return"function"==typeof n?n(r):i(t(n).html()||l).render(r)}():l}()),d.data("content",l)}})}},e)};a.elem.on("click",'input[name="layTableCheckbox"]+',function(){var e=t(this).prev(),i=a.layBody.find('input[name="layTableCheckbox"]'),l=e.parents("tr").eq(0).data("index"),n=e[0].checked,o="layTableAllChoose"===e.attr("lay-filter");o?(i.each(function(e,t){t.checked=n,a.setCheckData(e,n)}),a.syncCheckAll(),a.renderForm("checkbox")):(a.setCheckData(l,n),a.syncCheckAll()),layui.event.call(e[0],y,"checkbox("+p+")",v.call(e[0],{checked:n,type:o?"all":"one"}))}),a.elem.on("click",'input[lay-type="layTableRadio"]+',function(){var e=t(this).prev(),i=e[0].checked,l=d.cache[a.key],n=e.parents("tr").eq(0).data("index");layui.each(l,function(e,t){n===e?t.LAY_CHECKED=!0:delete t.LAY_CHECKED}),a.setThisRowChecked(n),layui.event.call(this,y,"radio("+p+")",v.call(this,{checked:i}))}),a.layBody.on("mouseenter","tr",function(){var e=t(this),i=e.index();e.data("off")||a.layBody.find("tr:eq("+i+")").addClass(_)}).on("mouseleave","tr",function(){var e=t(this),i=e.index();e.data("off")||a.layBody.find("tr:eq("+i+")").removeClass(_)}).on("click","tr",function(){m.call(this,"row")}).on("dblclick","tr",function(){m.call(this,"rowDouble")});var m=function(e){var i=t(this);i.data("off")||layui.event.call(this,y,e+"("+p+")",v.call(i.children("td")[0]))};a.layBody.on("change","."+W,function(){var e=t(this),i=this.value,l=e.parent().data("field"),n=e.parents("tr").eq(0).data("index"),o=d.cache[a.key][n];o[l]=i,layui.event.call(this,y,"edit("+p+")",v.call(this,{value:i,field:l}))}).on("blur","."+W,function(){var e,l=t(this),n=this,o=l.parent().data("field"),r=l.parents("tr").eq(0).data("index"),c=d.cache[a.key][r];a.eachCols(function(t,i){i.field==o&&i.templet&&(e=i.templet)}),l.siblings(h).html(function(a){return e?function(){return"function"==typeof e?e(c):i(t(e).html()||n.value).render(c)}():a}(n.value)),l.parent().data("content",n.value),l.remove()}),a.layBody.on("click","td",function(e){var i=t(this),a=(i.data("field"),i.data("edit")),l=i.children(h);if(!i.data("off")&&a){var n=t('<input class="layui-input '+W+'">');return n[0].value=i.data("content")||l.text(),i.find("."+W)[0]||i.append(n),n.focus(),void layui.stope(e)}}).on("mouseenter","td",function(){b.call(this)}).on("mouseleave","td",function(){b.call(this,"hide")});var g="layui-table-grid-down",b=function(e){var i=t(this),a=i.children(h);if(!i.data("off"))if(e)i.find(".layui-table-grid-down").remove();else if(a.prop("scrollWidth")>a.outerWidth()){if(a.find("."+g)[0])return;i.append('<div class="'+g+'"><i class="layui-icon layui-icon-down"></i></div>')}};a.layBody.on("click","."+g,function(e){var i=t(this),n=i.parent(),d=n.children(h);a.tipsIndex=l.tips(['<div class="layui-table-tips-main" style="margin-top: -'+(d.height()+16)+"px;"+function(){return"sm"===o.size?"padding: 4px 15px; font-size: 12px;":"lg"===o.size?"padding: 14px 15px;":""}()+'">',d.html(),"</div>",'<i class="layui-icon layui-table-tips-c layui-icon-close"></i>'].join(""),d[0],{tips:[3,""],time:-1,anim:-1,maxWidth:r.ios||r.android?300:a.elem.width()/2,isOutAnim:!1,skin:"layui-table-tips",success:function(e,t){e.find(".layui-table-tips-c").on("click",function(){l.close(t)})}}),layui.stope(e)}),a.layBody.on("click","*[lay-event]",function(){var e=t(this),i=e.parents("tr").eq(0).data("index");layui.event.call(this,y,"tool("+p+")",v.call(this,{event:e.attr("lay-event")})),a.setThisRowChecked(i)}),a.layMain.on("scroll",function(){var e=t(this),i=e.scrollLeft(),n=e.scrollTop();a.layHeader.scrollLeft(i),a.layTotal.scrollLeft(i),a.layFixed.find(k).scrollTop(n),l.close(a.tipsIndex)}),F.on("click",function(){F.trigger("table.remove.tool.panel")}),F.on("table.remove.tool.panel",function(){t(".layui-table-tool-panel").remove()}),R.on("resize",function(){a.resize()})},d.init=function(e,i){i=i||{};var a=this,l=t(e?'table[lay-filter="'+e+'"]':h+"[lay-data]"),n="Table element property lay-data configuration item has a syntax error: ";return l.each(function(){var a=t(this),l=a.attr("lay-data");try{l=new Function("return "+l)()}catch(r){o.error(n+l)}var c=[],s=t.extend({elem:this,cols:[],data:[],skin:a.attr("lay-skin"),size:a.attr("lay-size"),even:"string"==typeof a.attr("lay-even")},d.config,i,l);e&&a.hide(),a.find("thead>tr").each(function(e){s.cols[e]=[],t(this).children().each(function(i){var a=t(this),l=a.attr("lay-data");try{l=new Function("return "+l)()}catch(r){return o.error(n+l)}var d=t.extend({title:a.text(),colspan:a.attr("colspan")||0,rowspan:a.attr("rowspan")||0},l);d.colspan<2&&c.push(d),s.cols[e].push(d)})}),a.find("tbody>tr").each(function(e){var i=t(this),a={};i.children("td").each(function(e,i){var l=t(this),n=l.data("field");if(n)return a[n]=l.html()}),layui.each(c,function(e,t){var l=i.children("td").eq(e);a[t.field]=l.html()}),s.data[e]=a}),d.render(s)}),a},c.that={},c.config={},d.eachCols=function(e,i,a){var l=c.config[e]||{},n=[],o=0;a=t.extend(!0,[],a||l.cols),layui.each(a,function(e,t){layui.each(t,function(t,i){if(i.colGroup){var l=0;o++,i.CHILD_COLS=[],layui.each(a[e+1],function(e,t){t.PARENT_COL_INDEX||l>1&&l==i.colspan||(t.PARENT_COL_INDEX=o,i.CHILD_COLS.push(t),l+=parseInt(t.colspan>1?t.colspan:1))})}i.PARENT_COL_INDEX||n.push(i)})});var r=function(e){layui.each(e||n,function(e,t){return t.CHILD_COLS?r(t.CHILD_COLS):void("function"==typeof i&&i(e,t))})};r()},d.checkStatus=function(e){var t=0,i=0,a=[],l=d.cache[e]||[];return layui.each(l,function(e,l){return l.constructor===Array?void i++:void(l[d.config.checkName]&&(t++,a.push(d.clearCacheKey(l))))}),{data:a,isAll:!!l.length&&t===l.length-i}},d.exportFile=function(e,t,i){t=t||d.clearCacheKey(d.cache[e]),i=i||"csv";var a=c.config[e]||{},l={csv:"text/csv",xls:"application/vnd.ms-excel"}[i],n=document.createElement("a");return r.ie?o.error("IE_NOT_SUPPORT_EXPORTS"):(n.href="data:"+l+";charset=utf-8,\ufeff"+encodeURIComponent(function(){var i=[],a=[];return layui.each(t,function(t,l){var n=[];"object"==typeof e?(layui.each(e,function(e,a){0==t&&i.push(a||"")}),layui.each(d.clearCacheKey(l),function(e,t){n.push('"'+(t||"")+'"')})):d.eachCols(e,function(e,a){a.field&&"normal"==a.type&&!a.hide&&(0==t&&i.push(a.title||""),n.push('"'+u(a,l[a.field],l,"text")+'"'))}),a.push(n.join(","))}),i.join(",")+"\r\n"+a.join("\r\n")}()),n.download=(a.title||"table_"+(a.index||""))+"."+i,document.body.appendChild(n),n.click(),void document.body.removeChild(n))},d.resize=function(e){if(e){var t=s(e);if(!t)return;c.that[e].resize()}else layui.each(c.that,function(){this.resize()})},d.reload=function(e,t){var i=s(e);if(i){var a=c.that[e];return a.reload(t),c.call(a)}},d.render=function(e){var t=new I(e);return c.call(t)},d.clearCacheKey=function(e){return e=t.extend({},e),delete e[d.config.checkName],delete e[d.config.indexName],e},d.init(),e(y,d)});layui.define("jquery",function(e){"use strict";var i=layui.$,n=(layui.hint(),layui.device(),{config:{},set:function(e){var n=this;return n.config=i.extend({},n.config,e),n},on:function(e,i){return layui.onevent.call(this,t,e,i)}}),t="carousel",a="layui-this",l=">*[carousel-item]>*",o="layui-carousel-left",r="layui-carousel-right",d="layui-carousel-prev",s="layui-carousel-next",u="layui-carousel-arrow",c="layui-carousel-ind",m=function(e){var t=this;t.config=i.extend({},t.config,n.config,e),t.render()};m.prototype.config={width:"600px",height:"280px",full:!1,arrow:"hover",indicator:"inside",autoplay:!0,interval:3e3,anim:"",trigger:"click",index:0},m.prototype.render=function(){var e=this,n=e.config;n.elem=i(n.elem),n.elem[0]&&(e.elemItem=n.elem.find(l),n.index<0&&(n.index=0),n.index>=e.elemItem.length&&(n.index=e.elemItem.length-1),n.interval<800&&(n.interval=800),n.full?n.elem.css({position:"fixed",width:"100%",height:"100%",zIndex:9999}):n.elem.css({width:n.width,height:n.height}),n.elem.attr("lay-anim",n.anim),e.elemItem.eq(n.index).addClass(a),e.elemItem.length<=1||(e.indicator(),e.arrow(),e.autoplay(),e.events()))},m.prototype.reload=function(e){var n=this;clearInterval(n.timer),n.config=i.extend({},n.config,e),n.render()},m.prototype.prevIndex=function(){var e=this,i=e.config,n=i.index-1;return n<0&&(n=e.elemItem.length-1),n},m.prototype.nextIndex=function(){var e=this,i=e.config,n=i.index+1;return n>=e.elemItem.length&&(n=0),n},m.prototype.addIndex=function(e){var i=this,n=i.config;e=e||1,n.index=n.index+e,n.index>=i.elemItem.length&&(n.index=0)},m.prototype.subIndex=function(e){var i=this,n=i.config;e=e||1,n.index=n.index-e,n.index<0&&(n.index=i.elemItem.length-1)},m.prototype.autoplay=function(){var e=this,i=e.config;i.autoplay&&(clearInterval(e.timer),e.timer=setInterval(function(){e.slide()},i.interval))},m.prototype.arrow=function(){var e=this,n=e.config,t=i(['<button class="layui-icon '+u+'" lay-type="sub">'+("updown"===n.anim?"&#xe619;":"&#xe603;")+"</button>",'<button class="layui-icon '+u+'" lay-type="add">'+("updown"===n.anim?"&#xe61a;":"&#xe602;")+"</button>"].join(""));n.elem.attr("lay-arrow",n.arrow),n.elem.find("."+u)[0]&&n.elem.find("."+u).remove(),n.elem.append(t),t.on("click",function(){var n=i(this),t=n.attr("lay-type");e.slide(t)})},m.prototype.indicator=function(){var e=this,n=e.config,t=e.elemInd=i(['<div class="'+c+'"><ul>',function(){var i=[];return layui.each(e.elemItem,function(e){i.push("<li"+(n.index===e?' class="layui-this"':"")+"></li>")}),i.join("")}(),"</ul></div>"].join(""));n.elem.attr("lay-indicator",n.indicator),n.elem.find("."+c)[0]&&n.elem.find("."+c).remove(),n.elem.append(t),"updown"===n.anim&&t.css("margin-top",-(t.height()/2)),t.find("li").on("hover"===n.trigger?"mouseover":n.trigger,function(){var t=i(this),a=t.index();a>n.index?e.slide("add",a-n.index):a<n.index&&e.slide("sub",n.index-a)})},m.prototype.slide=function(e,i){var n=this,l=n.elemItem,u=n.config,c=u.index,m=u.elem.attr("lay-filter");n.haveSlide||("sub"===e?(n.subIndex(i),l.eq(u.index).addClass(d),setTimeout(function(){l.eq(c).addClass(r),l.eq(u.index).addClass(r)},50)):(n.addIndex(i),l.eq(u.index).addClass(s),setTimeout(function(){l.eq(c).addClass(o),l.eq(u.index).addClass(o)},50)),setTimeout(function(){l.removeClass(a+" "+d+" "+s+" "+o+" "+r),l.eq(u.index).addClass(a),n.haveSlide=!1},300),n.elemInd.find("li").eq(u.index).addClass(a).siblings().removeClass(a),n.haveSlide=!0,layui.event.call(this,t,"change("+m+")",{index:u.index,prevIndex:c,item:l.eq(u.index)}))},m.prototype.events=function(){var e=this,i=e.config;i.elem.data("haveEvents")||(i.elem.on("mouseenter",function(){clearInterval(e.timer)}).on("mouseleave",function(){e.autoplay()}),i.elem.data("haveEvents",!0))},n.render=function(e){var i=new m(e);return i},e(t,n)});layui.define("jquery",function(e){"use strict";var a=layui.jquery,i={config:{},index:layui.rate?layui.rate.index+1e4:0,set:function(e){var i=this;return i.config=a.extend({},i.config,e),i},on:function(e,a){return layui.onevent.call(this,n,e,a)}},l=function(){var e=this,a=e.config;return{setvalue:function(a){e.setvalue.call(e,a)},config:a}},n="rate",t="layui-rate",o="layui-icon-rate",s="layui-icon-rate-solid",u="layui-icon-rate-half",r="layui-icon-rate-solid layui-icon-rate-half",c="layui-icon-rate-solid layui-icon-rate",f="layui-icon-rate layui-icon-rate-half",v=function(e){var l=this;l.index=++i.index,l.config=a.extend({},l.config,i.config,e),l.render()};v.prototype.config={length:5,text:!1,readonly:!1,half:!1,value:0,theme:""},v.prototype.render=function(){var e=this,i=e.config,l=i.theme?'style="color: '+i.theme+';"':"";i.elem=a(i.elem),parseInt(i.value)!==i.value&&(i.half||(i.value=Math.ceil(i.value)-i.value<.5?Math.ceil(i.value):Math.floor(i.value)));for(var n='<ul class="layui-rate" '+(i.readonly?"readonly":"")+">",u=1;u<=i.length;u++){var r='<li class="layui-inline"><i class="layui-icon '+(u>Math.floor(i.value)?o:s)+'" '+l+"></i></li>";i.half&&parseInt(i.value)!==i.value&&u==Math.ceil(i.value)?n=n+'<li><i class="layui-icon layui-icon-rate-half" '+l+"></i></li>":n+=r}n+="</ul>"+(i.text?'<span class="layui-inline">'+i.value+"鏄�":"")+"</span>";var c=i.elem,f=c.next("."+t);f[0]&&f.remove(),e.elemTemp=a(n),i.span=e.elemTemp.next("span"),i.setText&&i.setText(i.value),c.html(e.elemTemp),c.addClass("layui-inline"),i.readonly||e.action()},v.prototype.setvalue=function(e){var a=this,i=a.config;i.value=e,a.render()},v.prototype.action=function(){var e=this,i=e.config,l=e.elemTemp,n=l.find("i").width();l.children("li").each(function(e){var t=e+1,v=a(this);v.on("click",function(e){if(i.value=t,i.half){var o=e.pageX-a(this).offset().left;o<=n/2&&(i.value=i.value-.5)}i.text&&l.next("span").text(i.value+"鏄�"),i.choose&&i.choose(i.value),i.setText&&i.setText(i.value)}),v.on("mousemove",function(e){if(l.find("i").each(function(){a(this).addClass(o).removeClass(r)}),l.find("i:lt("+t+")").each(function(){a(this).addClass(s).removeClass(f)}),i.half){var c=e.pageX-a(this).offset().left;c<=n/2&&v.children("i").addClass(u).removeClass(s)}}),v.on("mouseleave",function(){l.find("i").each(function(){a(this).addClass(o).removeClass(r)}),l.find("i:lt("+Math.floor(i.value)+")").each(function(){a(this).addClass(s).removeClass(f)}),i.half&&parseInt(i.value)!==i.value&&l.children("li:eq("+Math.floor(i.value)+")").children("i").addClass(u).removeClass(c)})})},v.prototype.events=function(){var e=this;e.config},i.render=function(e){var a=new v(e);return l.call(a)},e(n,i)});layui.define("jquery",function(t){"use strict";var e=layui.$,i={fixbar:function(t){var i,n,a="layui-fixbar",o="layui-fixbar-top",r=e(document),l=e("body");t=e.extend({showHeight:200},t),t.bar1=t.bar1===!0?"&#xe606;":t.bar1,t.bar2=t.bar2===!0?"&#xe607;":t.bar2,t.bgcolor=t.bgcolor?"background-color:"+t.bgcolor:"";var c=[t.bar1,t.bar2,"&#xe604;"],g=e(['<ul class="'+a+'">',t.bar1?'<li class="layui-icon" lay-type="bar1" style="'+t.bgcolor+'">'+c[0]+"</li>":"",t.bar2?'<li class="layui-icon" lay-type="bar2" style="'+t.bgcolor+'">'+c[1]+"</li>":"",'<li class="layui-icon '+o+'" lay-type="top" style="'+t.bgcolor+'">'+c[2]+"</li>","</ul>"].join("")),s=g.find("."+o),u=function(){var e=r.scrollTop();e>=t.showHeight?i||(s.show(),i=1):i&&(s.hide(),i=0)};e("."+a)[0]||("object"==typeof t.css&&g.css(t.css),l.append(g),u(),g.find("li").on("click",function(){var i=e(this),n=i.attr("lay-type");"top"===n&&e("html,body").animate({scrollTop:0},200),t.click&&t.click.call(this,n)}),r.on("scroll",function(){clearTimeout(n),n=setTimeout(function(){u()},100)}))},countdown:function(t,e,i){var n=this,a="function"==typeof e,o=new Date(t).getTime(),r=new Date(!e||a?(new Date).getTime():e).getTime(),l=o-r,c=[Math.floor(l/864e5),Math.floor(l/36e5)%24,Math.floor(l/6e4)%60,Math.floor(l/1e3)%60];a&&(i=e);var g=setTimeout(function(){n.countdown(t,r+1e3,i)},1e3);return i&&i(l>0?c:[0,0,0,0],e,g),l<=0&&clearTimeout(g),g},timeAgo:function(t,e){var i=this,n=[[],[]],a=(new Date).getTime()-new Date(t).getTime();return a>6912e5?(a=new Date(t),n[0][0]=i.digit(a.getFullYear(),4),n[0][1]=i.digit(a.getMonth()+1),n[0][2]=i.digit(a.getDate()),e||(n[1][0]=i.digit(a.getHours()),n[1][1]=i.digit(a.getMinutes()),n[1][2]=i.digit(a.getSeconds())),n[0].join("-")+" "+n[1].join(":")):a>=864e5?(a/1e3/60/60/24|0)+"澶╁墠":a>=36e5?(a/1e3/60/60|0)+"灏忔椂鍓�":a>=12e4?(a/1e3/60|0)+"鍒嗛挓鍓�":a<0?"鏈潵":"鍒氬垰"},digit:function(t,e){var i="";t=String(t),e=e||2;for(var n=t.length;n<e;n++)i+="0";return t<Math.pow(10,e)?i+(0|t):t},toDateString:function(t,e){var i=this,n=new Date(t||new Date),a=[i.digit(n.getFullYear(),4),i.digit(n.getMonth()+1),i.digit(n.getDate())],o=[i.digit(n.getHours()),i.digit(n.getMinutes()),i.digit(n.getSeconds())];return e=e||"yyyy-MM-dd HH:mm:ss",e.replace(/yyyy/g,a[0]).replace(/MM/g,a[1]).replace(/dd/g,a[2]).replace(/HH/g,o[0]).replace(/mm/g,o[1]).replace(/ss/g,o[2])},escape:function(t){return String(t||"").replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/'/g,"&#39;").replace(/"/g,"&quot;")},event:function(t,n,a){n=i.event[t]=e.extend(!0,i.event[t],n)||{},e("body").on(a||"click","*["+t+"]",function(){var i=e(this),a=i.attr(t);n[a]&&n[a].call(this,i)})}};!function(t,e,i){"$:nomunge";function n(){a=e[l](function(){o.each(function(){var e=t(this),i=e.width(),n=e.height(),a=t.data(this,g);(i!==a.w||n!==a.h)&&e.trigger(c,[a.w=i,a.h=n])}),n()},r[s])}var a,o=t([]),r=t.resize=t.extend(t.resize,{}),l="setTimeout",c="resize",g=c+"-special-event",s="delay",u="throttleWindow";r[s]=250,r[u]=!0,t.event.special[c]={setup:function(){if(!r[u]&&this[l])return!1;var e=t(this);o=o.add(e),t.data(this,g,{w:e.width(),h:e.height()}),1===o.length&&n()},teardown:function(){if(!r[u]&&this[l])return!1;var e=t(this);o=o.not(e),e.removeData(g),o.length||clearTimeout(a)},add:function(e){function n(e,n,o){var r=t(this),l=t.data(this,g)||{};l.w=n!==i?n:r.width(),l.h=o!==i?o:r.height(),a.apply(this,arguments)}if(!r[u]&&this[l])return!1;var a;return t.isFunction(e)?(a=e,n):(a=e.handler,void(e.handler=n))}}}(e,window),t("util",i)});layui.define("jquery",function(e){"use strict";var l=layui.$,o=function(e){},t='<i class="layui-anim layui-anim-rotate layui-anim-loop layui-icon ">&#xe63e;</i>';o.prototype.load=function(e){var o,i,n,r,a=this,c=0;e=e||{};var f=l(e.elem);if(f[0]){var m=l(e.scrollElem||document),u=e.mb||50,s=!("isAuto"in e)||e.isAuto,v=e.end||"娌℃湁鏇村浜�",y=e.scrollElem&&e.scrollElem!==document,d="<cite>鍔犺浇鏇村</cite>",h=l('<div class="layui-flow-more"><a href="javascript:;">'+d+"</a></div>");f.find(".layui-flow-more")[0]||f.append(h);var p=function(e,t){e=l(e),h.before(e),t=0==t||null,t?h.html(v):h.find("a").html(d),i=t,o=null,n&&n()},g=function(){o=!0,h.find("a").html(t),"function"==typeof e.done&&e.done(++c,p)};if(g(),h.find("a").on("click",function(){l(this);i||o||g()}),e.isLazyimg)var n=a.lazyimg({elem:e.elem+" img",scrollElem:e.scrollElem});return s?(m.on("scroll",function(){var e=l(this),t=e.scrollTop();r&&clearTimeout(r),i||(r=setTimeout(function(){var i=y?e.height():l(window).height(),n=y?e.prop("scrollHeight"):document.documentElement.scrollHeight;n-t-i<=u&&(o||g())},100))}),a):a}},o.prototype.lazyimg=function(e){var o,t=this,i=0;e=e||{};var n=l(e.scrollElem||document),r=e.elem||"img",a=e.scrollElem&&e.scrollElem!==document,c=function(e,l){var o=n.scrollTop(),r=o+l,c=a?function(){return e.offset().top-n.offset().top+o}():e.offset().top;if(c>=o&&c<=r&&!e.attr("src")){var m=e.attr("lay-src");layui.img(m,function(){var l=t.lazyimg.elem.eq(i);e.attr("src",m).removeAttr("lay-src"),l[0]&&f(l),i++})}},f=function(e,o){var f=a?(o||n).height():l(window).height(),m=n.scrollTop(),u=m+f;if(t.lazyimg.elem=l(r),e)c(e,f);else for(var s=0;s<t.lazyimg.elem.length;s++){var v=t.lazyimg.elem.eq(s),y=a?function(){return v.offset().top-n.offset().top+m}():v.offset().top;if(c(v,f),i=s,y>u)break}};if(f(),!o){var m;n.on("scroll",function(){var e=l(this);m&&clearTimeout(m),m=setTimeout(function(){f(null,e)},50)}),o=!0}return f},e("flow",new o)});layui.define(["layer","form"],function(t){"use strict";var e=layui.$,i=layui.layer,a=layui.form,l=(layui.hint(),layui.device()),n="layedit",o="layui-show",r="layui-disabled",c=function(){var t=this;t.index=0,t.config={tool:["strong","italic","underline","del","|","left","center","right","|","link","unlink","face","image"],hideTool:[],height:280}};c.prototype.set=function(t){var i=this;return e.extend(!0,i.config,t),i},c.prototype.on=function(t,e){return layui.onevent(n,t,e)},c.prototype.build=function(t,i){i=i||{};var a=this,n=a.config,r="layui-layedit",c=e("string"==typeof t?"#"+t:t),u="LAY_layedit_"+ ++a.index,d=c.next("."+r),y=e.extend({},n,i),f=function(){var t=[],e={};return layui.each(y.hideTool,function(t,i){e[i]=!0}),layui.each(y.tool,function(i,a){C[a]&&!e[a]&&t.push(C[a])}),t.join("")}(),m=e(['<div class="'+r+'">','<div class="layui-unselect layui-layedit-tool">'+f+"</div>",'<div class="layui-layedit-iframe">','<iframe id="'+u+'" name="'+u+'" textarea="'+t+'" frameborder="0"></iframe>',"</div>","</div>"].join(""));return l.ie&&l.ie<8?c.removeClass("layui-hide").addClass(o):(d[0]&&d.remove(),s.call(a,m,c[0],y),c.addClass("layui-hide").after(m),a.index)},c.prototype.getContent=function(t){var e=u(t);if(e[0])return d(e[0].document.body.innerHTML)},c.prototype.getText=function(t){var i=u(t);if(i[0])return e(i[0].document.body).text()},c.prototype.setContent=function(t,i,a){var l=u(t);l[0]&&(a?e(l[0].document.body).append(i):e(l[0].document.body).html(i),layedit.sync(t))},c.prototype.sync=function(t){var i=u(t);if(i[0]){var a=e("#"+i[1].attr("textarea"));a.val(d(i[0].document.body.innerHTML))}},c.prototype.getSelection=function(t){var e=u(t);if(e[0]){var i=m(e[0].document);return document.selection?i.text:i.toString()}};var s=function(t,i,a){var l=this,n=t.find("iframe");n.css({height:a.height}).on("load",function(){var o=n.contents(),r=n.prop("contentWindow"),c=o.find("head"),s=e(["<style>","*{margin: 0; padding: 0;}","body{padding: 10px; line-height: 20px; overflow-x: hidden; word-wrap: break-word; font: 14px Helvetica Neue,Helvetica,PingFang SC,Microsoft YaHei,Tahoma,Arial,sans-serif; -webkit-box-sizing: border-box !important; -moz-box-sizing: border-box !important; box-sizing: border-box !important;}","a{color:#01AAED; text-decoration:none;}a:hover{color:#c00}","p{margin-bottom: 10px;}","img{display: inline-block; border: none; vertical-align: middle;}","pre{margin: 10px 0; padding: 10px; line-height: 20px; border: 1px solid #ddd; border-left-width: 6px; background-color: #F2F2F2; color: #333; font-family: Courier New; font-size: 12px;}","</style>"].join("")),u=o.find("body");c.append(s),u.attr("contenteditable","true").css({"min-height":a.height}).html(i.value||""),y.apply(l,[r,n,i,a]),g.call(l,r,t,a)})},u=function(t){var i=e("#LAY_layedit_"+t),a=i.prop("contentWindow");return[a,i]},d=function(t){return 8==l.ie&&(t=t.replace(/<.+>/g,function(t){return t.toLowerCase()})),t},y=function(t,a,n,o){var r=t.document,c=e(r.body);c.on("keydown",function(t){var e=t.keyCode;if(13===e){var a=m(r),l=p(a),n=l.parentNode;if("pre"===n.tagName.toLowerCase()){if(t.shiftKey)return;return i.msg("璇锋殏鏃剁敤shift+enter"),!1}r.execCommand("formatBlock",!1,"<p>")}}),e(n).parents("form").on("submit",function(){var t=c.html();8==l.ie&&(t=t.replace(/<.+>/g,function(t){return t.toLowerCase()})),n.value=t}),c.on("paste",function(e){r.execCommand("formatBlock",!1,"<p>"),setTimeout(function(){f.call(t,c),n.value=c.html()},100)})},f=function(t){var i=this;i.document;t.find("*[style]").each(function(){var t=this.style.textAlign;this.removeAttribute("style"),e(this).css({"text-align":t||""})}),t.find("table").addClass("layui-table"),t.find("script,link").remove()},m=function(t){return t.selection?t.selection.createRange():t.getSelection().getRangeAt(0)},p=function(t){return t.endContainer||t.parentElement().childNodes[0]},v=function(t,i,a){var l=this.document,n=document.createElement(t);for(var o in i)n.setAttribute(o,i[o]);if(n.removeAttribute("text"),l.selection){var r=a.text||i.text;if("a"===t&&!r)return;r&&(n.innerHTML=r),a.pasteHTML(e(n).prop("outerHTML")),a.select()}else{var r=a.toString()||i.text;if("a"===t&&!r)return;r&&(n.innerHTML=r),a.deleteContents(),a.insertNode(n)}},h=function(t,i){var a=this.document,l="layedit-tool-active",n=p(m(a)),o=function(e){return t.find(".layedit-tool-"+e)};i&&i[i.hasClass(l)?"removeClass":"addClass"](l),t.find(">i").removeClass(l),o("unlink").addClass(r),e(n).parents().each(function(){var t=this.tagName.toLowerCase(),e=this.style.textAlign;"b"!==t&&"strong"!==t||o("b").addClass(l),"i"!==t&&"em"!==t||o("i").addClass(l),"u"===t&&o("u").addClass(l),"strike"===t&&o("d").addClass(l),"p"===t&&("center"===e?o("center").addClass(l):"right"===e?o("right").addClass(l):o("left").addClass(l)),"a"===t&&(o("link").addClass(l),o("unlink").removeClass(r))})},g=function(t,a,l){var n=t.document,o=e(n.body),c={link:function(i){var a=p(i),l=e(a).parent();b.call(o,{href:l.attr("href"),target:l.attr("target")},function(e){var a=l[0];"A"===a.tagName?a.href=e.url:v.call(t,"a",{target:e.target,href:e.url,text:e.url},i)})},unlink:function(t){n.execCommand("unlink")},face:function(e){x.call(this,function(i){v.call(t,"img",{src:i.src,alt:i.alt},e)})},image:function(a){var n=this;layui.use("upload",function(o){var r=l.uploadImage||{};o.render({url:r.url,method:r.type,elem:e(n).find("input")[0],done:function(e){0==e.code?(e.data=e.data||{},v.call(t,"img",{src:e.data.src,alt:e.data.title},a)):i.msg(e.msg||"涓婁紶澶辫触")}})})},code:function(e){k.call(o,function(i){v.call(t,"pre",{text:i.code,"lay-lang":i.lang},e)})},help:function(){i.open({type:2,title:"甯姪",area:["600px","380px"],shadeClose:!0,shade:.1,skin:"layui-layer-msg",content:["http://www.layui.com/about/layedit/help.html","no"]})}},s=a.find(".layui-layedit-tool"),u=function(){var i=e(this),a=i.attr("layedit-event"),l=i.attr("lay-command");if(!i.hasClass(r)){o.focus();var u=m(n);u.commonAncestorContainer;l?(n.execCommand(l),/justifyLeft|justifyCenter|justifyRight/.test(l)&&n.execCommand("formatBlock",!1,"<p>"),setTimeout(function(){o.focus()},10)):c[a]&&c[a].call(this,u),h.call(t,s,i)}},d=/image/;s.find(">i").on("mousedown",function(){var t=e(this),i=t.attr("layedit-event");d.test(i)||u.call(this)}).on("click",function(){var t=e(this),i=t.attr("layedit-event");d.test(i)&&u.call(this)}),o.on("click",function(){h.call(t,s),i.close(x.index)})},b=function(t,e){var l=this,n=i.open({type:1,id:"LAY_layedit_link",area:"350px",shade:.05,shadeClose:!0,moveType:1,title:"瓒呴摼鎺�",skin:"layui-layer-msg",content:['<ul class="layui-form" style="margin: 15px;">','<li class="layui-form-item">','<label class="layui-form-label" style="width: 60px;">URL</label>','<div class="layui-input-block" style="margin-left: 90px">','<input name="url" lay-verify="url" value="'+(t.href||"")+'" autofocus="true" autocomplete="off" class="layui-input">',"</div>","</li>",'<li class="layui-form-item">','<label class="layui-form-label" style="width: 60px;">鎵撳紑鏂瑰紡</label>','<div class="layui-input-block" style="margin-left: 90px">','<input type="radio" name="target" value="_self" class="layui-input" title="褰撳墠绐楀彛"'+("_self"!==t.target&&t.target?"":"checked")+">",'<input type="radio" name="target" value="_blank" class="layui-input" title="鏂扮獥鍙�" '+("_blank"===t.target?"checked":"")+">","</div>","</li>",'<li class="layui-form-item" style="text-align: center;">','<button type="button" lay-submit lay-filter="layedit-link-yes" class="layui-btn"> 纭畾 </button>','<button style="margin-left: 20px;" type="button" class="layui-btn layui-btn-primary"> 鍙栨秷 </button>',"</li>","</ul>"].join(""),success:function(t,n){var o="submit(layedit-link-yes)";a.render("radio"),t.find(".layui-btn-primary").on("click",function(){i.close(n),l.focus()}),a.on(o,function(t){i.close(b.index),e&&e(t.field)})}});b.index=n},x=function(t){var a=function(){var t=["[寰瑧]","[鍢诲樆]","[鍝堝搱]","[鍙埍]","[鍙�淽","[鎸栭蓟]","[鍚冩儕]","[瀹崇緸]","[鎸ょ溂]","[闂槾]","[閯欒]","[鐖变綘]","[娉猐","[鍋风瑧]","[浜蹭翰]","[鐢熺梾]","[澶紑蹇僝","[鐧界溂]","[鍙冲摷鍝糫","[宸﹀摷鍝糫","[鍢榏","[琛癩","[濮斿眻]","[鍚怾","[鍝堟瑺]","[鎶辨姳]","[鎬抅","[鐤戦棶]","[棣嬪槾]","[鎷滄嫓]","[鎬濊�僝","[姹梋","[鍥癩","[鐫","[閽盷","[澶辨湜]","[閰穄","[鑹瞉","[鍝糫","[榧撴帉]","[鏅昡","[鎮蹭激]","[鎶撶媯]","[榛戠嚎]","[闃撮櫓]","[鎬掗獋]","[浜掔矇]","[蹇僝","[浼ゅ績]","[鐚ご]","[鐔婄尗]","[鍏斿瓙]","[ok]","[鑰禲","[good]","[NO]","[璧瀅","[鏉","[寮盷","[鑽夋偿椹琞","[绁為┈]","[鍥","[娴簯]","[缁欏姏]","[鍥磋]","[濞佹]","[濂ョ壒鏇糫","[绀肩墿]","[閽焆","[璇濈瓛]","[铚$儧]","[铔嬬硶]"],e={};return layui.each(t,function(t,i){e[i]=layui.cache.dir+"images/face/"+t+".gif"}),e}();return x.hide=x.hide||function(t){"face"!==e(t.target).attr("layedit-event")&&i.close(x.index)},x.index=i.tips(function(){var t=[];return layui.each(a,function(e,i){t.push('<li title="'+e+'"><img src="'+i+'" alt="'+e+'"></li>')}),'<ul class="layui-clear">'+t.join("")+"</ul>"}(),this,{tips:1,time:0,skin:"layui-box layui-util-face",maxWidth:500,success:function(l,n){l.css({marginTop:-4,marginLeft:-10}).find(".layui-clear>li").on("click",function(){t&&t({src:a[this.title],alt:this.title}),i.close(n)}),e(document).off("click",x.hide).on("click",x.hide)}})},k=function(t){var e=this,l=i.open({type:1,id:"LAY_layedit_code",area:"550px",shade:.05,shadeClose:!0,moveType:1,title:"鎻掑叆浠g爜",skin:"layui-layer-msg",content:['<ul class="layui-form layui-form-pane" style="margin: 15px;">','<li class="layui-form-item">','<label class="layui-form-label">璇烽�夋嫨璇█</label>','<div class="layui-input-block">','<select name="lang">','<option value="JavaScript">JavaScript</option>','<option value="HTML">HTML</option>','<option value="CSS">CSS</option>','<option value="Java">Java</option>','<option value="PHP">PHP</option>','<option value="C#">C#</option>','<option value="Python">Python</option>','<option value="Ruby">Ruby</option>','<option value="Go">Go</option>',"</select>","</div>","</li>",'<li class="layui-form-item layui-form-text">','<label class="layui-form-label">浠g爜</label>','<div class="layui-input-block">','<textarea name="code" lay-verify="required" autofocus="true" class="layui-textarea" style="height: 200px;"></textarea>',"</div>","</li>",'<li class="layui-form-item" style="text-align: center;">','<button type="button" lay-submit lay-filter="layedit-code-yes" class="layui-btn"> 纭畾 </button>','<button style="margin-left: 20px;" type="button" class="layui-btn layui-btn-primary"> 鍙栨秷 </button>',"</li>","</ul>"].join(""),success:function(l,n){var o="submit(layedit-code-yes)";a.render("select"),l.find(".layui-btn-primary").on("click",function(){i.close(n),e.focus()}),a.on(o,function(e){i.close(k.index),t&&t(e.field)})}});k.index=l},C={html:'<i class="layui-icon layedit-tool-html" title="HTML婧愪唬鐮�" lay-command="html" layedit-event="html"">&#xe64b;</i><span class="layedit-tool-mid"></span>',strong:'<i class="layui-icon layedit-tool-b" title="鍔犵矖" lay-command="Bold" layedit-event="b"">&#xe62b;</i>',italic:'<i class="layui-icon layedit-tool-i" title="鏂滀綋" lay-command="italic" layedit-event="i"">&#xe644;</i>',underline:'<i class="layui-icon layedit-tool-u" title="涓嬪垝绾�" lay-command="underline" layedit-event="u"">&#xe646;</i>',del:'<i class="layui-icon layedit-tool-d" title="鍒犻櫎绾�" lay-command="strikeThrough" layedit-event="d"">&#xe64f;</i>',"|":'<span class="layedit-tool-mid"></span>',left:'<i class="layui-icon layedit-tool-left" title="宸﹀榻�" lay-command="justifyLeft" layedit-event="left"">&#xe649;</i>',center:'<i class="layui-icon layedit-tool-center" title="灞呬腑瀵归綈" lay-command="justifyCenter" layedit-event="center"">&#xe647;</i>',right:'<i class="layui-icon layedit-tool-right" title="鍙冲榻�" lay-command="justifyRight" layedit-event="right"">&#xe648;</i>',link:'<i class="layui-icon layedit-tool-link" title="鎻掑叆閾炬帴" layedit-event="link"">&#xe64c;</i>',unlink:'<i class="layui-icon layedit-tool-unlink layui-disabled" title="娓呴櫎閾炬帴" lay-command="unlink" layedit-event="unlink"">&#xe64d;</i>',face:'<i class="layui-icon layedit-tool-face" title="琛ㄦ儏" layedit-event="face"">&#xe650;</i>',image:'<i class="layui-icon layedit-tool-image" title="鍥剧墖" layedit-event="image">&#xe64a;<input type="file" name="file"></i>',code:'<i class="layui-icon layedit-tool-code" title="鎻掑叆浠g爜" layedit-event="code">&#xe64e;</i>',help:'<i class="layui-icon layedit-tool-help" title="甯姪" layedit-event="help">&#xe607;</i>'},w=new c;t(n,w)});layui.define("jquery",function(e){"use strict";var a=layui.$,l="http://www.layui.com/doc/modules/code.html";e("code",function(e){var t=[];e=e||{},e.elem=a(e.elem||".layui-code"),e.about=!("about"in e)||e.about,e.elem.each(function(){t.push(this)}),layui.each(t.reverse(),function(t,i){var c=a(i),o=c.html();(c.attr("lay-encode")||e.encode)&&(o=o.replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/'/g,"&#39;").replace(/"/g,"&quot;")),c.html('<ol class="layui-code-ol"><li>'+o.replace(/[\r\t\n]+/g,"</li><li>")+"</li></ol>"),c.find(">.layui-code-h3")[0]||c.prepend('<h3 class="layui-code-h3">'+(c.attr("lay-title")||e.title||"code")+(e.about?'<a href="'+l+'" target="_blank">layui.code</a>':"")+"</h3>");var d=c.find(">.layui-code-ol");c.addClass("layui-box layui-code-view"),(c.attr("lay-skin")||e.skin)&&c.addClass("layui-code-"+(c.attr("lay-skin")||e.skin)),(d.find("li").length/100|0)>0&&d.css("margin-left",(d.find("li").length/100|0)+"px"),(c.attr("lay-height")||e.height)&&d.css("max-height",c.attr("lay-height")||e.height)})})}).addcss("modules/code.css","skincodecss");
\ No newline at end of file
diff --git a/zy-acs-cv/src/main/webapp/static/layui/layui.js b/zy-acs-cv/src/main/webapp/static/layui/layui.js
new file mode 100644
index 0000000..b6c4c49
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/static/layui/layui.js
@@ -0,0 +1,2 @@
+/** layui-v2.5.4 MIT License By https://www.layui.com */
+ ;!function(e){"use strict";var t=document,o={modules:{},status:{},timeout:10,event:{}},n=function(){this.v="2.5.4"},r=function(){var e=t.currentScript?t.currentScript.src:function(){for(var e,o=t.scripts,n=o.length-1,r=n;r>0;r--)if("interactive"===o[r].readyState){e=o[r].src;break}return e||o[n].src}();return e.substring(0,e.lastIndexOf("/")+1)}(),i=function(t){e.console&&console.error&&console.error("Layui hint: "+t)},a="undefined"!=typeof opera&&"[object Opera]"===opera.toString(),u={layer:"modules/layer",laydate:"modules/laydate",laypage:"modules/laypage",laytpl:"modules/laytpl",layim:"modules/layim",layedit:"modules/layedit",form:"modules/form",upload:"modules/upload",transfer:"modules/transfer",tree:"modules/tree",table:"modules/table",element:"modules/element",rate:"modules/rate",colorpicker:"modules/colorpicker",slider:"modules/slider",carousel:"modules/carousel",flow:"modules/flow",util:"modules/util",code:"modules/code",jquery:"modules/jquery",mobile:"modules/mobile","layui.all":"../layui.all"};n.prototype.cache=o,n.prototype.define=function(e,t){var n=this,r="function"==typeof e,i=function(){var e=function(e,t){layui[e]=t,o.status[e]=!0};return"function"==typeof t&&t(function(n,r){e(n,r),o.callback[n]=function(){t(e)}}),this};return r&&(t=e,e=[]),!layui["layui.all"]&&layui["layui.mobile"]?i.call(n):(n.use(e,i),n)},n.prototype.use=function(e,n,l){function s(e,t){var n="PLaySTATION 3"===navigator.platform?/^complete$/:/^(complete|loaded)$/;("load"===e.type||n.test((e.currentTarget||e.srcElement).readyState))&&(o.modules[f]=t,d.removeChild(v),function r(){return++m>1e3*o.timeout/4?i(f+" is not a valid module"):void(o.status[f]?c():setTimeout(r,4))}())}function c(){l.push(layui[f]),e.length>1?y.use(e.slice(1),n,l):"function"==typeof n&&n.apply(layui,l)}var y=this,p=o.dir=o.dir?o.dir:r,d=t.getElementsByTagName("head")[0];e="string"==typeof e?[e]:e,window.jQuery&&jQuery.fn.on&&(y.each(e,function(t,o){"jquery"===o&&e.splice(t,1)}),layui.jquery=layui.$=jQuery);var f=e[0],m=0;if(l=l||[],o.host=o.host||(p.match(/\/\/([\s\S]+?)\//)||["//"+location.host+"/"])[0],0===e.length||layui["layui.all"]&&u[f]||!layui["layui.all"]&&layui["layui.mobile"]&&u[f])return c(),y;if(o.modules[f])!function g(){return++m>1e3*o.timeout/4?i(f+" is not a valid module"):void("string"==typeof o.modules[f]&&o.status[f]?c():setTimeout(g,4))}();else{var v=t.createElement("script"),h=(u[f]?p+"lay/":/^\{\/\}/.test(y.modules[f])?"":o.base||"")+(y.modules[f]||f)+".js";h=h.replace(/^\{\/\}/,""),v.async=!0,v.charset="utf-8",v.src=h+function(){var e=o.version===!0?o.v||(new Date).getTime():o.version||"";return e?"?v="+e:""}(),d.appendChild(v),!v.attachEvent||v.attachEvent.toString&&v.attachEvent.toString().indexOf("[native code")<0||a?v.addEventListener("load",function(e){s(e,h)},!1):v.attachEvent("onreadystatechange",function(e){s(e,h)}),o.modules[f]=h}return y},n.prototype.getStyle=function(t,o){var n=t.currentStyle?t.currentStyle:e.getComputedStyle(t,null);return n[n.getPropertyValue?"getPropertyValue":"getAttribute"](o)},n.prototype.link=function(e,n,r){var a=this,u=t.createElement("link"),l=t.getElementsByTagName("head")[0];"string"==typeof n&&(r=n);var s=(r||e).replace(/\.|\//g,""),c=u.id="layuicss-"+s,y=0;return u.rel="stylesheet",u.href=e+(o.debug?"?v="+(new Date).getTime():""),u.media="all",t.getElementById(c)||l.appendChild(u),"function"!=typeof n?a:(function p(){return++y>1e3*o.timeout/100?i(e+" timeout"):void(1989===parseInt(a.getStyle(t.getElementById(c),"width"))?function(){n()}():setTimeout(p,100))}(),a)},o.callback={},n.prototype.factory=function(e){if(layui[e])return"function"==typeof o.callback[e]?o.callback[e]:null},n.prototype.addcss=function(e,t,n){return layui.link(o.dir+"css/"+e,t,n)},n.prototype.img=function(e,t,o){var n=new Image;return n.src=e,n.complete?t(n):(n.onload=function(){n.onload=null,"function"==typeof t&&t(n)},void(n.onerror=function(e){n.onerror=null,"function"==typeof o&&o(e)}))},n.prototype.config=function(e){e=e||{};for(var t in e)o[t]=e[t];return this},n.prototype.modules=function(){var e={};for(var t in u)e[t]=u[t];return e}(),n.prototype.extend=function(e){var t=this;e=e||{};for(var o in e)t[o]||t.modules[o]?i("妯″潡鍚� "+o+" 宸茶鍗犵敤"):t.modules[o]=e[o];return t},n.prototype.router=function(e){var t=this,e=e||location.hash,o={path:[],search:{},hash:(e.match(/[^#](#.*$)/)||[])[1]||""};return/^#\//.test(e)?(e=e.replace(/^#\//,""),o.href="/"+e,e=e.replace(/([^#])(#.*$)/,"$1").split("/")||[],t.each(e,function(e,t){/^\w+=/.test(t)?function(){t=t.split("="),o.search[t[0]]=t[1]}():o.path.push(t)}),o):o},n.prototype.data=function(t,o,n){if(t=t||"layui",n=n||localStorage,e.JSON&&e.JSON.parse){if(null===o)return delete n[t];o="object"==typeof o?o:{key:o};try{var r=JSON.parse(n[t])}catch(i){var r={}}return"value"in o&&(r[o.key]=o.value),o.remove&&delete r[o.key],n[t]=JSON.stringify(r),o.key?r[o.key]:r}},n.prototype.sessionData=function(e,t){return this.data(e,t,sessionStorage)},n.prototype.device=function(t){var o=navigator.userAgent.toLowerCase(),n=function(e){var t=new RegExp(e+"/([^\\s\\_\\-]+)");return e=(o.match(t)||[])[1],e||!1},r={os:function(){return/windows/.test(o)?"windows":/linux/.test(o)?"linux":/iphone|ipod|ipad|ios/.test(o)?"ios":/mac/.test(o)?"mac":void 0}(),ie:function(){return!!(e.ActiveXObject||"ActiveXObject"in e)&&((o.match(/msie\s(\d+)/)||[])[1]||"11")}(),weixin:n("micromessenger")};return t&&!r[t]&&(r[t]=n(t)),r.android=/android/.test(o),r.ios="ios"===r.os,r},n.prototype.hint=function(){return{error:i}},n.prototype.each=function(e,t){var o,n=this;if("function"!=typeof t)return n;if(e=e||[],e.constructor===Object){for(o in e)if(t.call(e[o],o,e[o]))break}else for(o=0;o<e.length&&!t.call(e[o],o,e[o]);o++);return n},n.prototype.sort=function(e,t,o){var n=JSON.parse(JSON.stringify(e||[]));return t?(n.sort(function(e,o){var n=/^-?\d+$/,r=e[t],i=o[t];return n.test(r)&&(r=parseFloat(r)),n.test(i)&&(i=parseFloat(i)),r&&!i?1:!r&&i?-1:r>i?1:r<i?-1:0}),o&&n.reverse(),n):n},n.prototype.stope=function(t){t=t||e.event;try{t.stopPropagation()}catch(o){t.cancelBubble=!0}},n.prototype.onevent=function(e,t,o){return"string"!=typeof e||"function"!=typeof o?this:n.event(e,t,null,o)},n.prototype.event=n.event=function(e,t,n,r){var i=this,a=null,u=t.match(/\((.*)\)$/)||[],l=(e+"."+t).replace(u[0],""),s=u[1]||"",c=function(e,t){var o=t&&t.call(i,n);o===!1&&null===a&&(a=!1)};return r?(o.event[l]=o.event[l]||{},o.event[l][s]=[r],this):(layui.each(o.event[l],function(e,t){return"{*}"===s?void layui.each(t,c):(""===e&&layui.each(t,c),void(s&&e===s&&layui.each(t,c)))}),a)},e.layui=new n}(window);
\ No newline at end of file
diff --git a/zy-acs-cv/src/main/webapp/views/index.html b/zy-acs-cv/src/main/webapp/views/index.html
new file mode 100644
index 0000000..4340832
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/views/index.html
@@ -0,0 +1,98 @@
+<!DOCTYPE html>
+<html lang="zh-CN">
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport"
+          content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <title>鑷姩浠撳簱杈撻�佺嚎绯荤粺</title>
+    <link rel="icon" type="image/x-icon" href="../static/images/favicon.ico">
+    <link rel="stylesheet" href="../static/css/index.css">
+    <link rel="stylesheet" href="../static/css/layx.min.css">
+    <style>
+        .layx-window.layx-skin-news .layx-control-bar {
+            background-color: #333;
+        }
+    </style>
+</head>
+<body>
+<div class="sidebar">
+    <div class="nav">
+        <ul class="cl-effect-4">
+            <li><a id="pipeline" onclick="nav(this.id)" class="nav-select" href="#">杈撻�佽澶�</a></li>
+        </ul>
+    </div>
+</div>
+<!-- 涓讳綋鍐呭 -->
+<iframe id="content" src="pipeline.html" frameborder="0"></iframe>
+<footer class="footer">
+    Copyright 漏 2023 All Rights Reserved. <a href="http://www.zoneyung.com" target="_blank">娴欐睙涓壃绔嬪簱鎶�鏈湁闄愬叕鍙�</a>
+    淇濈暀鎵�鏈夋潈鍒�
+</footer>
+</body>
+<script src="../static/js/jquery/jquery-3.3.1.min.js"></script>
+<script src="../static/js/tools/layx.min.js"></script>
+<script>
+    // 瀵艰埅鏍忓垏鎹㈠嚱鏁�
+    function nav(id) {
+        $('.nav-select').removeClass('nav-select').addClass('nav-unselect');
+        $('#' + id).removeClass('nav-unselect').addClass('nav-select');
+        $('#content').attr('src', id + '.html');
+    }
+
+    // 娉ㄩ攢鍑芥暟
+    function logout() {
+        localStorage.removeItem('token');
+        window.location.href = (window.baseUrl || '') + '/login';
+    }
+
+    // 绯荤粺鍒嗘瀽鎶ュ憡寮圭獥
+    function showNewsReport() {
+        layx.iframe('wcs-news', '绯荤粺鍒嗘瀽鎶ュ憡', 'news.html', {
+            shadow: false,
+            storeStatus: false,
+            width: 800,
+            height: 600,
+            position: 'rb',
+            opacity: 0.9,
+            border: false,
+            icon: '<img src="../static/images/favicon.ico" style="height:22px;display:block;" alt=""/>',
+            stickMenu: true,
+            maxMenu: false,
+            closeMenu: false,
+            moveLimit: {
+                leftOut: false,
+                rightOut: false,
+                topOut: false,
+                bottomOut: false
+            },
+            minWidth: 300,
+            minHeight: 300,
+            borderRadius: '8px',
+            shadeDestroy: true,
+            escKey: false,
+            event: {
+                onmin: {
+                    after: function () {
+                        $('.layx-min-statu').css('left', 'inherit').css('right', '10px');
+                    }
+                },
+                onrestore: {
+                    after: function () {
+                        let win = layx.getFrameContext('wcs-news');
+                        if (win) {
+                            win.autoScroll = true;
+                        }
+                    }
+                }
+            }
+        });
+    }
+
+    // 椤甸潰鍔犺浇瀹屾垚鍚庡垵濮嬪寲
+    $(document).ready(function () {
+        showNewsReport();
+        layx.min('wcs-news');
+    });
+</script>
+</html>
diff --git a/zy-acs-cv/src/main/webapp/views/news.html b/zy-acs-cv/src/main/webapp/views/news.html
new file mode 100644
index 0000000..7f9083a
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/views/news.html
@@ -0,0 +1,121 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <title>NEWS</title>
+    <style>
+        /** {*/
+        /*    padding: 0;*/
+        /*    margin: 0;*/
+        /*}*/
+        .container {
+            height: 100%;
+            width: 100%;
+        }
+
+        /*=============== SCROLL UP ===============*/
+        .scrollup {
+            text-decoration: none;
+            text-align: center;
+            width: 25px;
+            height: 18px;
+            position: fixed;
+            right: 1rem;
+            bottom: -55%;
+            background-color: rgb(108, 167, 168);
+            box-shadow: 0 8px 12px hsla(228, 66%, 45%, .1);
+            display: inline-flex;
+            padding: .35rem;
+            border-radius: .25rem;
+            color: #ffffff;
+            z-index: 10;
+            transition: .3s;
+            font-size: 8px;
+        }
+
+        .scrollup:hover {
+            transform: translateY(-.25rem);
+        }
+
+        /* Show Scroll Up*/
+        .show-scroll {
+            bottom: 5%;
+        }
+
+        .news-desc {
+            font-size: 14px;
+        }
+
+        .level-1 {
+            color: #333333;
+        }
+
+        .level-2 {
+            color: #0087ec;
+        }
+
+        .level-3 {
+            color: red;
+        }
+    </style>
+</head>
+<body>
+<div class="container">
+
+</div>
+<a class="scrollup" id="scroll-up">
+    <span>椤堕儴</span>
+</a>
+</body>
+<script src="../static/js/jquery/jquery-3.3.1.min.js"></script>
+<script src="../static/js/handlebars/handlebars-v4.5.3.js"></script>
+<script src="../static/js/common.js"></script>
+<script>
+    var autoScroll = true;
+
+    function scrollUp() {
+        const scrollUp = document.getElementById('scroll-up');
+        if (this.scrollY >= 100) scrollUp.classList.add('show-scroll'); else scrollUp.classList.remove('show-scroll')
+    }
+
+    window.addEventListener('scroll', scrollUp)
+
+    $(document).on('click ', '#scroll-up', function () {
+        window.scrollTo(0, 0);
+        autoScroll = false;
+    })
+
+    $(document).on('click ', 'body', function () {
+        autoScroll = false;
+    })
+
+    setInterval(() => {
+        $.ajax({
+            url: baseUrl + "/news/print",
+            // headers: {'token': localStorage.getItem('token')},
+            method: 'GET',
+            success: function (res) {
+                if (res.code === 200) {
+                    let template = Handlebars.compile($('#newsTpl').html());
+                    $('.container').html(template({list: res.data}));
+                    if (autoScroll) {
+                        window.scrollTo(0, document.body.scrollHeight)
+                    }
+                } else if (res.code === 403) {
+                    window.location.href = baseUrl + "/login";
+                } else {
+                    console.error(res.msg);
+                }
+            }
+        })
+    }, 1000)
+
+</script>
+<script type="text/template" id="newsTpl">
+    {{#each list}}
+    <div class="news-desc level-{{l}}">
+        <span>{{t}}</span>&nbsp;-&nbsp;<span>{{v}}</span>
+    </div>
+    {{/each}}
+</script>
+</html>
diff --git a/zy-acs-cv/src/main/webapp/views/pipeline.html b/zy-acs-cv/src/main/webapp/views/pipeline.html
new file mode 100644
index 0000000..65846fd
--- /dev/null
+++ b/zy-acs-cv/src/main/webapp/views/pipeline.html
@@ -0,0 +1,1141 @@
+<!DOCTYPE html>
+<html lang="zh-CN">
+<head>
+    <meta charset="UTF-8">
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport"
+          content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <title>杈撻�佽澶囩鐞�</title>
+    <link rel="stylesheet" href="../static/css/normalize.css">
+    <link rel="stylesheet" href="../static/css/common.css">
+    <link rel="stylesheet" href="../static/css/pipeline.css">
+    <style>
+        /* 绉戞妧鎰熶富棰樻牱寮� */
+        html, body {
+            background: linear-gradient(135deg, #0f172a, #1e293b);
+            color: #e2e8f0;
+            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
+            margin: 0;
+            padding: 0;
+            height: 100%;
+            overflow: hidden; /* 绉婚櫎鎵�鏈夋粴鍔ㄦ潯 */
+        }
+
+        .main-content {
+            background: transparent;
+        }
+
+        .container {
+            padding: 20px;
+            height: 100%;
+            display: flex;
+            flex-direction: column;
+        }
+
+        main {
+            flex: 1;
+            overflow: hidden;
+        }
+
+        footer {
+            flex-shrink: 0;
+        }
+
+        /* 浠〃鐩樺ご閮ㄦ牱寮� */
+        .dashboard-header {
+            margin-bottom: 30px;
+            padding: 20px;
+            background: rgba(30, 41, 59, 0.7);
+            border-radius: 12px;
+            border: 1px solid rgba(59, 130, 246, 0.3);
+            backdrop-filter: blur(10px);
+            box-shadow: 0 8px 32px rgba(59, 130, 246, 0.2);
+            text-align: center;
+        }
+
+        .dashboard-title {
+            color: #60a5fa;
+            font-size: 2rem;
+            font-weight: 600;
+            margin: 0;
+            text-shadow: 0 0 10px rgba(96, 165, 250, 0.5);
+        }
+
+
+        /* 琛ㄦ牸瀹瑰櫒 */
+        .table-container {
+            flex: 1;
+            overflow-x: hidden;
+            overflow-y: auto;
+            background: rgba(17, 24, 39, 0.5);
+            border-radius: 12px;
+            border: 1px solid rgba(59, 130, 246, 0.3);
+            backdrop-filter: blur(10px);
+        }
+
+        /* 琛ㄦ牸瀹瑰櫒婊氬姩鏉℃牱寮� */
+        .table-container::-webkit-scrollbar {
+            width: 8px;
+        }
+
+        .table-container::-webkit-scrollbar-track {
+            background: rgba(30, 41, 59, 0.3);
+            border-radius: 4px;
+        }
+
+        .table-container::-webkit-scrollbar-thumb {
+            background: #3b82f6;
+            border-radius: 4px;
+        }
+
+        .table-container::-webkit-scrollbar-thumb:hover {
+            background: #60a5fa;
+        }
+
+        /* 鐜颁唬鍖栬〃鏍兼牱寮� */
+        .modern-table {
+            width: 100%;
+            table-layout: fixed;
+            border-collapse: separate;
+            border-spacing: 0;
+            background: transparent;
+            color: #e2e8f0;
+        }
+
+        /* 璁剧疆琛ㄦ牸鍒楀锛岀‘淇濋�傚簲瀹瑰櫒 */
+        .modern-table th,
+        .modern-table td {
+            white-space: nowrap;
+            overflow: hidden;
+            text-overflow: ellipsis;
+        }
+
+        .modern-table thead {
+            position: sticky;
+            top: 0;
+            z-index: 10;
+        }
+
+        /* 纭繚琛ㄦ牸瀹瑰櫒鏈夋渶澶ч珮搴︼紝浠ヤ究婊氬姩 */
+        .table-container {
+            max-height: calc(100vh - 200px);
+        }
+
+        .modern-table th {
+            background: linear-gradient(135deg, #1e293b, #334155);
+            color: #94a3b8;
+            font-weight: 600;
+            text-transform: uppercase;
+            letter-spacing: 0.5px;
+            padding: 15px 12px;
+            text-align: center;
+            border-bottom: 2px solid #3b82f6;
+            font-size: 0.9rem;
+        }
+
+        .modern-table td {
+            padding: 12px;
+            text-align: center;
+            border-bottom: 1px solid rgba(59, 130, 246, 0.1);
+            transition: all 0.2s ease;
+        }
+
+        .modern-table tbody tr {
+            background: rgba(30, 41, 59, 0.3);
+        }
+
+        .modern-table tbody tr:nth-child(even) {
+            background: rgba(30, 41, 59, 0.5);
+        }
+
+        .modern-table tbody tr:hover {
+            background: rgba(59, 130, 246, 0.15);
+            transform: scale(1.01);
+            box-shadow: 0 0 15px rgba(59, 130, 246, 0.3);
+        }
+
+        /* 绔欑偣鐘舵�佽棰滆壊 */
+        .modern-table tbody tr.row-auto-green {
+            border-left: 4px solid #4ade80;
+            background: rgba(74, 222, 128, 0.1);
+        }
+
+        .modern-table tbody tr.row-auto-gray {
+            border-left: 4px solid #94a3b8;
+            background: rgba(148, 163, 184, 0.1);
+        }
+
+        .modern-table tbody tr.row-yellow {
+            border-left: 4px solid #fbbf24;
+            background: rgba(251, 191, 36, 0.15);
+            box-shadow: inset 0 0 10px rgba(251, 191, 36, 0.2);
+        }
+
+        .modern-table tbody tr.row-red {
+            border-left: 4px solid #f87171;
+            background: rgba(248, 113, 113, 0.15);
+            box-shadow: inset 0 0 10px rgba(248, 113, 113, 0.2);
+        }
+
+        /* 鎮仠鏃朵繚鎸佺姸鎬侀鑹� */
+        .modern-table tbody tr.row-auto-green:hover {
+            background: rgba(74, 222, 128, 0.2);
+            box-shadow: 0 0 15px rgba(74, 222, 128, 0.4);
+        }
+
+        .modern-table tbody tr.row-auto-gray:hover {
+            background: rgba(148, 163, 184, 0.2);
+            box-shadow: 0 0 15px rgba(148, 163, 184, 0.4);
+        }
+
+        .modern-table tbody tr.row-yellow:hover {
+            background: rgba(251, 191, 36, 0.25);
+            box-shadow: 0 0 15px rgba(251, 191, 36, 0.5);
+        }
+
+        .modern-table tbody tr.row-red:hover {
+            background: rgba(248, 113, 113, 0.25);
+            box-shadow: 0 0 15px rgba(248, 113, 113, 0.5);
+        }
+
+        /* 鐘舵�佹寚绀哄櫒鏍峰紡 */
+        .status-indicator {
+            display: inline-flex;
+            align-items: center;
+            gap: 6px;
+            padding: 4px 12px;
+            border-radius: 20px;
+            font-weight: 600;
+            font-size: 0.85rem;
+        }
+
+        .status-active {
+            background: rgba(74, 222, 128, 0.2);
+            color: #4ade80;
+            border: 1px solid rgba(74, 222, 128, 0.4);
+        }
+
+        .status-standby {
+            background: rgba(251, 191, 36, 0.2);
+            color: #fbbf24;
+            border: 1px solid rgba(251, 191, 36, 0.4);
+        }
+
+        .status-dot {
+            width: 8px;
+            height: 8px;
+            border-radius: 50%;
+            background: currentColor;
+        }
+
+        .status-yes {
+            color: #4ade80;
+            font-weight: 600;
+        }
+
+        .status-no {
+            color: #94a3b8;
+        }
+
+        /* 绔欑偣鍗$墖鏍峰紡 */
+        .site-card {
+            background: rgba(30, 41, 59, 0.7);
+            border: 1px solid rgba(59, 130, 246, 0.3);
+            border-radius: 12px;
+            padding: 20px;
+            backdrop-filter: blur(10px);
+            box-shadow: 0 8px 32px rgba(59, 130, 246, 0.2);
+            transition: all 0.3s ease;
+            position: relative;
+            overflow: hidden;
+        }
+
+        /* 鏍规嵁鐘舵�佹樉绀轰笉鍚岄鑹茶竟妗� */
+        .site-card.status-normal {
+            border-left: 4px solid #4ade80;
+        }
+
+        .site-card.status-warning {
+            border-left: 4px solid #fbbf24;
+        }
+
+        .site-card.status-error {
+            border-left: 4px solid #f87171;
+        }
+
+        .site-card.status-standby {
+            border-left: 4px solid #94a3b8;
+        }
+
+        .site-card::before {
+            content: '';
+            position: absolute;
+            top: 0;
+            left: 0;
+            right: 0;
+            height: 4px;
+            background: linear-gradient(90deg, #3b82f6, #8b5cf6, #ec4899);
+        }
+
+        .site-card:hover {
+            transform: translateY(-5px);
+            box-shadow: 0 12px 40px rgba(59, 130, 246, 0.4);
+            border-color: rgba(59, 130, 246, 0.6);
+        }
+
+        .site-header {
+            display: flex;
+            justify-content: space-between;
+            align-items: center;
+            margin-bottom: 15px;
+            padding-bottom: 10px;
+            border-bottom: 1px solid rgba(59, 130, 246, 0.2);
+        }
+
+        .site-id {
+            font-size: 1.4rem;
+            font-weight: 700;
+            color: #60a5fa;
+            margin: 0;
+        }
+
+        .site-status {
+            padding: 4px 12px;
+            border-radius: 20px;
+            font-size: 0.8rem;
+            font-weight: 600;
+            text-transform: uppercase;
+        }
+
+        .status-active {
+            background: rgba(74, 222, 128, 0.2);
+            color: #4ade80;
+            border: 1px solid rgba(74, 222, 128, 0.4);
+        }
+
+        .status-standby {
+            background: rgba(251, 191, 36, 0.2);
+            color: #fbbf24;
+            border: 1px solid rgba(251, 191, 36, 0.4);
+        }
+
+        .site-info {
+            display: grid;
+            grid-template-columns: 1fr 1fr;
+            gap: 12px;
+        }
+
+        .info-item {
+            display: flex;
+            flex-direction: column;
+        }
+
+        .info-label {
+            font-size: 0.85rem;
+            color: #94a3b8;
+            margin-bottom: 4px;
+        }
+
+        .info-value {
+            font-size: 1rem;
+            font-weight: 500;
+            color: #e2e8f0;
+        }
+
+        .info-value.highlight {
+            color: #4ade80;
+            font-weight: 600;
+        }
+
+        .status-indicator {
+            display: inline-flex;
+            align-items: center;
+            gap: 6px;
+        }
+
+        .status-dot {
+            width: 8px;
+            height: 8px;
+            border-radius: 50%;
+            background: currentColor;
+        }
+
+        /* 鏃ュ織鍖哄煙鏍峰紡 */
+        footer {
+            margin-top: 30px;
+            padding: 20px;
+            background: rgba(17, 24, 39, 0.7);
+            border-radius: 12px;
+            border: 1px solid rgba(59, 130, 246, 0.3);
+        }
+
+        .output-log {
+            width: 100%;
+            height: 100px;
+            background: rgba(0, 0, 0, 0.3);
+            border: 1px solid rgba(59, 130, 246, 0.3);
+            border-radius: 8px;
+            color: #4ade80;
+            font-family: 'Courier New', monospace;
+            font-size: 12px;
+            padding: 10px;
+            resize: vertical;
+        }
+
+        /* 寮圭獥鏍峰紡 */
+        .site-detail-form {
+            background: rgba(30, 41, 59, 0.95);
+            border: 1px solid rgba(59, 130, 246, 0.5);
+            border-radius: 12px;
+            padding: 25px;
+            box-shadow: 0 15px 35px rgba(0, 0, 0, 0.5);
+            max-height: 90vh;
+            overflow: hidden;
+        }
+
+        .detail-form {
+            max-height: calc(90vh - 50px);
+            overflow-y: auto;
+            scrollbar-width: thin;
+            scrollbar-color: #3b82f6 rgba(30, 41, 59, 0.3);
+        }
+
+        .detail-form::-webkit-scrollbar {
+            width: 6px;
+        }
+
+        .detail-form::-webkit-scrollbar-track {
+            background: rgba(30, 41, 59, 0.3);
+            border-radius: 3px;
+        }
+
+        .detail-form::-webkit-scrollbar-thumb {
+            background: #3b82f6;
+            border-radius: 3px;
+        }
+
+        .detail-form::-webkit-scrollbar-thumb:hover {
+            background: #60a5fa;
+        }
+
+        .form-item {
+            margin-bottom: 20px;
+        }
+
+        .form-label {
+            display: block;
+            color: #e2e8f0;
+            margin-bottom: 8px;
+            font-weight: 500;
+        }
+
+        .layui-input {
+            width: 100%;
+            padding: 12px 15px;
+            background: rgba(17, 24, 39, 0.8);
+            border: 1px solid rgba(59, 130, 246, 0.3);
+            border-radius: 6px;
+            color: #e2e8f0;
+            font-size: 14px;
+            transition: all 0.3s ease;
+        }
+
+        .layui-input:focus {
+            outline: none;
+            border-color: #3b82f6;
+            box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.2);
+        }
+
+        .form-button {
+            padding: 12px 25px;
+            border: none;
+            border-radius: 6px;
+            font-size: 14px;
+            font-weight: 600;
+            cursor: pointer;
+            transition: all 0.3s ease;
+            margin-right: 10px;
+        }
+
+        .form-button:first-child {
+            background: linear-gradient(135deg, #3b82f6, #60a5fa);
+            color: white;
+        }
+
+        .form-button:last-child {
+            background: rgba(209, 213, 219, 0.2);
+            color: #94a3b8;
+        }
+
+        .form-button:hover {
+            transform: translateY(-2px);
+            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
+        }
+
+        /* 鐜颁唬鍖栨ā鎬佹鏍峰紡 */
+        .modal-overlay {
+            position: fixed;
+            top: 0;
+            left: 0;
+            width: 100%;
+            height: 100%;
+            background: rgba(0, 0, 0, 0.7);
+            backdrop-filter: blur(5px);
+            display: none;
+            justify-content: center;
+            align-items: center;
+            z-index: 1000;
+            opacity: 0;
+            transition: opacity 0.3s ease;
+        }
+
+        .modal-overlay.active {
+            display: flex;
+            opacity: 1;
+        }
+
+        .modal-container {
+            background: rgba(30, 41, 59, 0.95);
+            border: 1px solid rgba(59, 130, 246, 0.5);
+            border-radius: 16px;
+            width: 90%;
+            max-width: 420px;
+            max-height: 90vh;
+            overflow: hidden;
+            box-shadow: 0 25px 50px rgba(0, 0, 0, 0.5);
+            transform: scale(0.9);
+            transition: transform 0.3s ease;
+        }
+
+        .modal-overlay.active .modal-container {
+            transform: scale(1);
+        }
+
+        .modal-header {
+            display: flex;
+            justify-content: space-between;
+            align-items: center;
+            padding: 20px 25px;
+            background: linear-gradient(90deg, rgba(30, 41, 59, 0.8), rgba(56, 189, 248, 0.1));
+            border-bottom: 1px solid rgba(59, 130, 246, 0.3);
+        }
+
+        .modal-title {
+            color: #60a5fa;
+            font-size: 1.25rem;
+            font-weight: 600;
+            margin: 0;
+        }
+
+        .modal-close {
+            background: rgba(239, 68, 68, 0.2);
+            border: none;
+            color: #ef4444;
+            font-size: 1.5rem;
+            width: 32px;
+            height: 32px;
+            border-radius: 50%;
+            cursor: pointer;
+            transition: all 0.3s ease;
+            display: flex;
+            align-items: center;
+            justify-content: center;
+        }
+
+        .modal-close:hover {
+            background: rgba(239, 68, 68, 0.3);
+            transform: rotate(90deg);
+        }
+
+        .modal-body {
+            padding: 25px;
+            max-height: calc(90vh - 140px);
+            overflow-y: auto;
+        }
+
+        .modal-body::-webkit-scrollbar {
+            width: 6px;
+        }
+
+        .modal-body::-webkit-scrollbar-track {
+            background: rgba(30, 41, 59, 0.3);
+            border-radius: 3px;
+        }
+
+        .modal-body::-webkit-scrollbar-thumb {
+            background: #3b82f6;
+            border-radius: 3px;
+        }
+
+        .form-group {
+            margin-bottom: 20px;
+        }
+
+        .form-group:last-child {
+            margin-bottom: 0;
+        }
+
+        .form-label {
+            display: block;
+            color: #e2e8f0;
+            margin-bottom: 8px;
+            font-weight: 500;
+            font-size: 0.9rem;
+        }
+
+        .form-input {
+            width: 100%;
+            padding: 12px 15px;
+            background: rgba(17, 24, 39, 0.8);
+            border: 1px solid rgba(59, 130, 246, 0.3);
+            border-radius: 8px;
+            color: #e2e8f0;
+            font-size: 14px;
+            transition: all 0.3s ease;
+            box-sizing: border-box;
+        }
+
+        .form-input:focus {
+            outline: none;
+            border-color: #3b82f6;
+            box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.2);
+        }
+
+        .modal-footer {
+            display: flex;
+            gap: 12px;
+            padding: 20px 25px;
+            background: rgba(17, 24, 39, 0.5);
+            border-top: 1px solid rgba(59, 130, 246, 0.2);
+        }
+
+        .btn {
+            flex: 1;
+            padding: 12px 20px;
+            border: none;
+            border-radius: 8px;
+            font-size: 14px;
+            font-weight: 600;
+            cursor: pointer;
+            transition: all 0.3s ease;
+        }
+
+        .btn-primary {
+            background: linear-gradient(135deg, #3b82f6, #60a5fa);
+            color: white;
+        }
+
+        .btn-primary:hover {
+            transform: translateY(-2px);
+            box-shadow: 0 5px 15px rgba(59, 130, 246, 0.4);
+        }
+
+        .btn-secondary {
+            background: rgba(209, 213, 219, 0.2);
+            color: #94a3b8;
+        }
+
+        .btn-secondary:hover {
+            background: rgba(209, 213, 219, 0.3);
+            transform: translateY(-2px);
+        }
+
+        /* 鎴愬姛鎻愮ず鏍峰紡 */
+        .toast {
+            position: fixed;
+            top: 20px;
+            right: 20px;
+            display: flex;
+            align-items: center;
+            gap: 12px;
+            padding: 16px 24px;
+            border-radius: 12px;
+            background: rgba(30, 41, 59, 0.95);
+            border: 1px solid rgba(74, 222, 128, 0.3);
+            backdrop-filter: blur(10px);
+            box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3);
+            z-index: 2000;
+            transform: translateX(120%);
+            transition: transform 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
+            opacity: 0;
+        }
+
+        .toast.show {
+            transform: translateX(0);
+            opacity: 1;
+        }
+
+        .toast-success {
+            border-left: 4px solid #4ade80;
+        }
+
+        .toast-icon {
+            font-size: 24px;
+            color: #4ade80;
+            font-weight: bold;
+            animation: pulse 1.5s infinite;
+        }
+
+        .toast-message {
+            color: #e2e8f0;
+            font-size: 16px;
+            font-weight: 500;
+        }
+
+        @keyframes pulse {
+            0% {
+                transform: scale(1);
+            }
+            50% {
+                transform: scale(1.2);
+            }
+            100% {
+                transform: scale(1);
+            }
+        }
+
+        /* IO妯″紡鎸夐挳鏍峰紡 */
+        .io-mode-box {
+            float: left;
+            width: 16%;
+            text-align: center;
+        }
+
+        .io-mode-box label {
+            font-weight: bolder;
+            color: #e2e8f0;
+        }
+
+        .ioModeBtn {
+            vertical-align: middle;
+            width: 50%;
+            height: 30px;
+            font-size: 15px;
+            margin: 0 5px;
+            display: inline-block;
+            background: linear-gradient(135deg, #ef4444, #f87171);
+            border: none;
+            color: #FFF;
+            border-radius: 6px;
+            cursor: pointer;
+            transition: all 0.3s ease;
+            box-shadow: 0 4px 15px rgba(239, 68, 68, 0.3);
+        }
+
+        .ioModeBtn:hover {
+            transform: translateY(-2px);
+            box-shadow: 0 6px 20px rgba(239, 68, 68, 0.4);
+        }
+
+        /* 鍝嶅簲寮忚璁� */
+        @media (max-width: 1200px) {
+            .sites-grid {
+                grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
+            }
+        }
+
+        @media (max-width: 768px) {
+            .dashboard-header {
+                flex-direction: column;
+                gap: 20px;
+            }
+
+            .dashboard-stats {
+                width: 100%;
+                justify-content: space-around;
+            }
+
+            .sites-grid {
+                grid-template-columns: 1fr;
+            }
+        }
+    </style>
+    <script src="../static/js/jquery/jquery-3.3.1.min.js"></script>
+    <script src="../static/js/common.js"></script>
+    <script src="../static/js/layer/layer.js"></script>
+</head>
+<body>
+<!-- 宸︿晶鎸夐挳鍖哄煙 -->
+<aside class="sidebar" style="padding: 10px; height: 100%; float: left; width: 6%;">
+    <div class="button-window"></div>
+</aside>
+
+<!-- 涓诲唴瀹瑰尯鍩� -->
+<div class="main-content" style="height: 100vh; padding-left: 6%; overflow: hidden;">
+    <div class="container" style="padding: 10px; height: 100%; overflow-y: auto;">
+        <!-- 涓昏鍐呭 -->
+        <main>
+            <!-- 绔欑偣鐘舵�佹暟鎹洃鎺х増 -->
+            <section id="site-monitor" class="main-board">
+                <!--                <div class="dashboard-header">-->
+                <!--                    <h3 class="dashboard-title">绔欑偣瀹炴椂鐩戞帶</h3>-->
+                <!--                </div>-->
+
+                <!-- 琛ㄦ牸瀹瑰櫒 -->
+                <div class="table-container">
+                    <table id="site-table" class="modern-table">
+                        <thead>
+                        <tr>
+                            <th>绔欏彿</th>
+                            <th>宸ヤ綔鍙�</th>
+                            <th>鑷姩</th>
+                            <th>鏈夌墿</th>
+                            <th>鍙叆</th>
+                            <th>鍙嚭</th>
+                            <th>鍏ュ簱鏍囪</th>
+                            <th>绌烘澘淇″彿</th>
+                            <th>鐩爣绔�</th>
+                            <th>楂樹綆搴撲綅</th>
+                        </tr>
+                        </thead>
+                        <tbody>
+                        <!-- 琛ㄦ牸鍐呭灏嗗湪杩欓噷鍔ㄦ�佺敓鎴� -->
+                        </tbody>
+                    </table>
+                </div>
+            </section>
+        </main>
+
+        <!-- 椤佃剼鍖哄煙 -->
+        <footer>
+            <textarea id="output" class="output-log"></textarea>
+        </footer>
+
+        <!-- 鎴愬姛鎻愮ず -->
+        <div id="success-toast" class="toast toast-success">
+            <div class="toast-icon">鉁�</div>
+            <div class="toast-message">鎿嶄綔鎴愬姛</div>
+        </div>
+
+        <!-- 绔欑偣璇︽儏寮圭獥 -->
+        <div id="modal-overlay" class="modal-overlay">
+            <div class="modal-container">
+                <div class="modal-header">
+                    <h3 class="modal-title">绔欑偣淇℃伅缂栬緫</h3>
+                    <button class="modal-close" id="modal-close">脳</button>
+                </div>
+                <div class="modal-body">
+                    <form class="detail-form" id="site-form">
+                        <div class="form-group">
+                            <label class="form-label" for="siteId">绔欏彿:</label>
+                            <input id="siteId" name="siteId" class="form-input" type="number"
+                                   autocomplete="off" disabled>
+                        </div>
+                        <div class="form-group">
+                            <label class="form-label" for="workNo">宸ヤ綔鍙�:</label>
+                            <input id="workNo" name="workNo" type="number" class="form-input"
+                                   autocomplete="off">
+                        </div>
+                        <div class="form-group">
+                            <label class="form-label" for="staNo">鐩爣绔�:</label>
+                            <input id="staNo" name="staNo" type="number" class="form-input"
+                                   autocomplete="off">
+                        </div>
+                        <div class="form-group">
+                            <label class="form-label" for="pakMk">鍏ュ簱鏍囪:</label>
+                            <input id="pakMk" name="pakMk" type="text" class="form-input"
+                                   autocomplete="off">
+                        </div>
+                    </form>
+                </div>
+                <div class="modal-footer">
+                    <button type="button" class="btn btn-primary" id="save">淇濆瓨</button>
+                    <button type="button" class="btn btn-secondary" id="clear">娓呴櫎</button>
+                    <button type="button" class="btn btn-secondary" id="cancel">鍙栨秷</button>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+</body>
+<script>
+    // 鑷墽琛屽嚱鏁拌〃杈惧紡锛岄伩鍏嶅叏灞�鍙橀噺姹℃煋
+    (function () {
+        // 鍒濆鍖栧彉閲�
+        let isSiteUpdatePaused = false;
+        let plcErrorTableBlankRows = 0;
+        let siteTableBlankRows = 0;
+        let plcErrorTableFullRows = 0;
+        let siteTableFullRows = 0;
+        const outputDom = document.getElementById("output");
+        let ioModeData = [];
+        let layerDetl = null;
+        let timers = [];
+        let sitesData = [];
+
+        // DOM鍔犺浇瀹屾垚鍚庡垵濮嬪寲
+        $(document).ready(function () {
+            // 鍔犺浇鍒濆鏁版嵁
+            getSite();
+
+            // 鍒濆鍖栧畾鏃跺櫒
+            initTimers();
+        });
+
+        // 鍒濆鍖栧畾鏃跺櫒
+        function initTimers() {
+            // 姣忕鏇存柊PLC閿欒銆佺珯鐐逛俊鎭拰IO妯″紡
+            timers.push(setInterval(() => {
+                if (!isSiteUpdatePaused) {
+                    getSite();
+                }
+                getIoModeInfo();
+            }, 1000));
+
+            // 姣�500姣鏇存柊绔欑偣杈撳嚭鏃ュ織
+            timers.push(setInterval(() => {
+                getSiteOutput();
+            }, 500));
+        }
+
+
+        /**
+         * 寮哄埗鍒囨崲鍏ュ嚭搴撴ā寮�
+         * @param {string} el - 鍏冪礌ID
+         */
+        function ioModeSwitch(el) {
+            const floor = el.split("-")[2];
+            const targetFloor = ioModeData.find(e => e.floor === Number(floor));
+
+            if (targetFloor && (targetFloor.modeVal === 3 || targetFloor.modeVal === 4)) {
+                layer.confirm('纭畾鍒囨崲涓哄叆搴撴ā寮忓悧锛�', () => {
+                    ajaxRequest({
+                        url: `${baseUrl}/site/io/mode/action/site`,
+                        method: 'POST',
+                        data: {floor: targetFloor.floor},
+                        success: (res) => {
+                            layer.msg("鏆傛椂涓嶈兘鍒囨崲锛�", {icon: 1});
+                        }
+                    });
+                    layer.closeAll();
+                });
+            }
+        }
+
+
+        // 鑾峰彇绔欑偣淇℃伅琛�
+        function getSite() {
+            const tableEl = $('#site-table tbody');
+
+            ajaxRequest({
+                url: `${baseUrl}/site/table/site`,
+                method: 'POST',
+                success: (res) => {
+                    if (res.data) {
+                        sitesData = res.data;
+                        renderTable(sitesData);
+                    }
+                }
+            });
+        }
+
+        // 娓叉煋琛ㄦ牸鏁版嵁
+        function renderTable(sites) {
+            const tbody = $('#site-table tbody');
+            tbody.empty();
+
+            sites.forEach(site => {
+                const row = createTableRow(site);
+                tbody.append(row);
+            });
+        }
+
+        // 鍒涘缓琛ㄦ牸琛�
+        function createTableRow(site) {
+            const isActive = site.autoing === 'Y';
+            const hasLoad = site.loading === 'Y';
+            const hasWorkNo = !!site.workNo && site.workNo !== '';
+
+            // 鏍规嵁鐘舵�佺‘瀹氳鏍峰紡绫�
+            let rowClass = '';
+            if (isActive) {
+                rowClass = 'row-auto-green'; // 鑷姩涓虹豢鑹�
+            } else {
+                rowClass = 'row-auto-gray'; // 涓嶈嚜鍔ㄤ负鐏拌壊
+            }
+
+            // 鐗规畩鐘舵�佽鐩�
+            if (hasLoad && !hasWorkNo) {
+                rowClass = 'row-yellow'; // 鏈夌墿鏃犲伐浣滃彿涓洪粍鑹�
+            } else if (!hasLoad && hasWorkNo) {
+                rowClass = 'row-red'; // 鏃犵墿鏈夊伐浣滃彿涓虹孩鑹�
+            }
+
+            return `
+                <tr data-site-id="${site.devNo}" class="${rowClass}">
+                    <td>${site.devNo}</td>
+                    <td>${site.workNo || '--'}</td>
+                    <td>
+                        <span class="status-indicator ${isActive ? 'status-active' : 'status-standby'}">
+                            <span class="status-dot"></span>
+                            ${isActive ? '鑷姩' : '闈炶嚜鍔�'}
+                        </span>
+                    </td>
+                    <td>
+                        <span class="${hasLoad ? 'status-yes' : 'status-no'}">
+                            ${hasLoad ? 'Y' : 'N'}
+                        </span>
+                    </td>
+                    <td>
+                        <span class="${site.inEnable === 'Y' ? 'status-yes' : 'status-no'}">
+                            ${site.inEnable === 'Y' ? 'Y' : 'N'}
+                        </span>
+                    </td>
+                    <td>
+                        <span class="${site.outEnable === 'Y' ? 'status-yes' : 'status-no'}">
+                            ${site.outEnable === 'Y' ? 'Y' : 'N'}
+                        </span>
+                    </td>
+                    <td>${site.pakMk || '--'}</td>
+                    <td>${site.emptyMk || '--'}</td>
+                    <td>${site.staNo || '--'}</td>
+                    <td>${site.locType1 || '--'}</td>
+                </tr>
+            `;
+        }
+
+
+        // 鑾峰彇杈撻�佽澶囨棩蹇楄緭鍑�
+        function getSiteOutput() {
+            ajaxRequest({
+                url: `${baseUrl}/site/output/site`,
+                method: 'POST',
+                success: (res) => {
+                    if (res.data) {
+                        output(res.data);
+                    }
+                },
+                error: (res) => {
+                    alert(res.msg);
+                }
+            });
+        }
+
+        // 鏃ュ織杈撳嚭妗�
+        function output(content) {
+            outputDom.value += content;
+            outputDom.scrollTop = outputDom.scrollHeight;
+        }
+
+        // 璇︽儏鎿嶄綔 - 鏀逛负鍙屽嚮琛ㄦ牸琛�
+        $(document).on('dblclick', '#site-table tbody tr', function () {
+            isSiteUpdatePaused = true;
+            const siteId = $(this).data('site-id');
+
+            if (siteId) {
+                // 鏄剧ず妯℃�佹
+                const modal = $('#modal-overlay');
+                modal.addClass('active');
+
+                // 璁剧疆鏍囬
+                $('.modal-title').text(`绔欑偣 #${siteId} 缂栬緫`);
+
+                // 鍔犺浇鏁版嵁
+                http.get(`${baseUrl}/site/detl/${siteId}`, null, (res) => {
+                    if (res.data) {
+                        $('#siteId').val(siteId);
+                        $('#workNo').val(res.data.workNo);
+                        $('#staNo').val(res.data.staNo);
+                        $('#pakMk').val(res.data.pakMk);
+                    }
+                });
+            }
+        });
+
+        // 妯℃�佹鍏抽棴鍔熻兘
+        function closeModal() {
+            $('#modal-overlay').removeClass('active');
+            // 娓呯┖琛ㄥ崟
+            $('#site-form')[0].reset();
+            $('#siteId').val("");
+            isSiteUpdatePaused = false;
+        }
+
+        // 鐐瑰嚮閬僵灞傚叧闂�
+        $(document).on('click', '#modal-overlay', function (e) {
+            if (e.target.id === 'modal-overlay') {
+                closeModal();
+            }
+        });
+
+        // 鐐瑰嚮鍏抽棴鎸夐挳
+        $(document).on('click', '#modal-close', function () {
+            closeModal();
+        });
+
+        // 鏄剧ず鎴愬姛鎻愮ず
+        function showSuccessMessage(message) {
+            const toast = $('#success-toast');
+            $('.toast-message', toast).text(message);
+            toast.addClass('show');
+
+            // 3绉掑悗鑷姩闅愯棌
+            setTimeout(() => {
+                toast.removeClass('show');
+            }, 3000);
+        }
+
+        // 淇濆瓨绔欑偣淇℃伅
+        $(document).on('click', '#save', function () {
+            http.post(`${baseUrl}/site/detl/update`, {
+                siteId: $('#siteId').val(),
+                workNo: $('#workNo').val(),
+                staNo: $('#staNo').val(),
+                pakMk: $('#pakMk').val()
+            }, (res) => {
+                showSuccessMessage("淇敼鎴愬姛");
+                setTimeout(() => {
+                    closeModal();
+                }, 1500);
+            });
+        });
+
+        // 娓呴櫎浠诲姟鍙峰拰鐩爣绔欑偣
+        $(document).on('click', '#clear', function () {
+            $('#workNo').val(0);
+            $('#staNo').val(0);
+        });
+
+        // 鍙栨秷绔欑偣淇℃伅淇敼
+        $(document).on('click', '#cancel', function () {
+            closeModal();
+        });
+
+        // 閫氱敤AJAX璇锋眰鍑芥暟
+        function ajaxRequest(options) {
+            const defaultOptions = {
+                headers: {'token': localStorage.getItem('token')},
+                success: () => {
+                },
+                error: () => {
+                }
+            };
+
+            const opts = {...defaultOptions, ...options};
+
+            $.ajax({
+                url: opts.url,
+                headers: opts.headers,
+                method: opts.method,
+                data: opts.data,
+                success: (res) => {
+                    if (res.code === 200) {
+                        opts.success(res);
+                    } else if (res.code === 403) {
+                        window.location.href = `${baseUrl}/login`;
+                    } else {
+                        console.log(res.msg);
+                        //opts.error(res);
+                    }
+                },
+                error: (jqXHR, textStatus, errorThrown) => {
+                    console.error('AJAX Error:', textStatus, errorThrown);
+                    //opts.error({ msg: '璇锋眰澶辫触锛岃绋嶅悗閲嶈瘯' });
+                }
+            });
+        }
+    })();
+
+</script>
+</html>
\ No newline at end of file
diff --git a/zy-acs-cv/version/STWCSMapEditor.rar b/zy-acs-cv/version/STWCSMapEditor.rar
new file mode 100644
index 0000000..6359827
--- /dev/null
+++ b/zy-acs-cv/version/STWCSMapEditor.rar
Binary files differ
diff --git a/zy-acs-cv/version/cool-framework-install.txt b/zy-acs-cv/version/cool-framework-install.txt
new file mode 100644
index 0000000..c3b335a
--- /dev/null
+++ b/zy-acs-cv/version/cool-framework-install.txt
@@ -0,0 +1,2 @@
+mvn install:install-file -Dfile=framework-3.2.0.jar -DgroupId=cn.cool -DartifactId=framework -Dversion=3.2.0 -Dpackaging=jar -DgeneratePom=true
+mvn install:install-file -Dfile=D:\framework-3.4.0.jar -DgroupId=cn.cool -DartifactId=framework -Dversion=3.4.0 -Dpackaging=jar -DgeneratePom=true
diff --git a/zy-acs-cv/version/framework-3.4.0.jar b/zy-acs-cv/version/framework-3.4.0.jar
new file mode 100644
index 0000000..871669c
--- /dev/null
+++ b/zy-acs-cv/version/framework-3.4.0.jar
Binary files differ

--
Gitblit v1.9.1