From 4d56117b48248abc3aec646c404e350a09470c06 Mon Sep 17 00:00:00 2001 From: duliyang <> Date: Sat, 26 Oct 2024 15:28:51 +0800 Subject: [PATCH] first commit --- .gitignore | 39 + car-common/.gitignore | 31 + car-common/pom.xml | 189 ++ .../main/java/com/weiqi/mis/DateHelper.java | 780 +++++ .../src/main/java/com/weiqi/mis/DateUtil.java | 1113 +++++++ .../main/java/com/weiqi/mis/DateUtils.java | 1271 ++++++++ .../src/main/java/com/weiqi/mis/HttpUtil.java | 622 ++++ .../src/main/java/com/weiqi/mis/IPUtil.java | 164 + .../java/com/weiqi/mis/JacksonHelper.java | 292 ++ .../src/main/java/com/weiqi/mis/MD5Util.java | 71 + .../main/java/com/weiqi/mis/RedisUtil.java | 87 + .../main/java/com/weiqi/mis/ReturnCode.java | 113 + .../main/java/com/weiqi/mis/ReturnValue.java | 99 + .../java/com/weiqi/mis/ReturnValueApi.java | 80 + .../java/com/weiqi/mis/ReturnValuePage.java | 99 + .../src/main/java/com/weiqi/mis/SpAddr.java | 39 + .../main/java/com/weiqi/mis/StringUtils.java | 59 + .../java/com/weiqi/mis/ThreadPoolConfig.java | 39 + .../java/com/weiqi/mis/URLEncodeUtil.java | 15 + .../src/main/java/com/weiqi/mis/XmlUtil.java | 48 + car-common/src/main/java/com/weiqi/mis/Z.java | 974 ++++++ .../java/com/weiqi/util/DingTalkUtils.java | 454 +++ .../main/java/com/weiqi/util/SmsTools.java | 93 + .../src/main/java/com/weiqi/vo/AddrVo.java | 50 + .../com/weiqi/vo/AutoBiStatisticSpVo.java | 152 + .../java/com/weiqi/vo/AutoBiStatisticVo.java | 93 + .../java/com/weiqi/vo/BusinessException.java | 19 + .../main/java/com/weiqi/vo/MisUserinfo.java | 74 + .../main/java/com/weiqi/vo/OrderInfoVo.java | 462 +++ .../main/java/com/weiqi/vo/RouteInfoVo.java | 82 + .../src/main/java/com/weiqi/vo/RouteVo.java | 236 ++ .../java/com/weiqi/vo/SmsGlobalIndex.java | 43 + .../src/main/java/com/weiqi/vo/SmsSendVo.java | 237 ++ .../src/main/java/com/weiqi/vo/WightVo.java | 86 + car-dao/.gitignore | 31 + car-dao/pom.xml | 60 + car-dao/src/main/.DS_Store | Bin 0 -> 6148 bytes car-dao/src/main/java/DaoApplication.java | 12 + .../java/com/weiqi/mis/bo/StisticByDay.java | 44 + .../com/weiqi/mis/domain/AdminUserInfo.java | 65 + .../mis/domain/AdminUserInfoExample.java | 581 ++++ .../com/weiqi/mis/domain/WxXrPemsOrder.java | 425 +++ .../mis/domain/WxXrPemsOrderExample.java | 2901 +++++++++++++++++ .../mis/domain/WxXrPemsOrderPushLog.java | 115 + .../domain/WxXrPemsOrderPushLogExample.java | 911 ++++++ .../com/weiqi/mis/enums/ReportStatusEnum.java | 30 + .../weiqi/mis/mapper/AdminUserInfoMapper.java | 24 + .../weiqi/mis/mapper/WxXrPemsOrderMapper.java | 27 + .../mapper/WxXrPemsOrderPushLogMapper.java | 23 + .../weiqi/mis/mapper/AdminUserInfoMapper.xml | 156 + .../weiqi/mis/mapper/WxXrPemsOrderMapper.xml | 650 ++++ .../mis/mapper/WxXrPemsOrderPushLogMapper.xml | 214 ++ car-mis/.gitignore | 31 + car-mis/pom.xml | 275 ++ .../alibaba/excel/read/SaxAnalyserV07.java | 280 ++ .../java/com/weiqi/mis/MisApplication.java | 17 + .../com/weiqi/mis/ServletInitializer.java | 15 + .../java/com/weiqi/mis/config/JobLog.java | 77 + .../com/weiqi/mis/config/ScheduleConfig.java | 23 + .../com/weiqi/mis/config/XxlJobConfig.java | 52 + .../weiqi/mis/contorller/BaseController.java | 86 + .../weiqi/mis/contorller/CallableTask.java | 167 + .../weiqi/mis/contorller/CarController.java | 102 + .../mis/contorller/CarLogController.java | 104 + .../weiqi/mis/contorller/CheckController.java | 93 + .../com/weiqi/mis/contorller/CorsConfig.java | 136 + .../com/weiqi/mis/export/SmsListExcel.java | 77 + .../weiqi/mis/redis/RedisListenerConfig.java | 108 + .../com/weiqi/mis/redis/RedisReceiver.java | 85 + .../resources/application-test.properties | 37 + .../main/resources/application-yz.properties | 57 + .../src/main/resources/application.properties | 26 + car-mis/src/main/resources/config.properties | 40 + car-mis/src/main/resources/logback-prod.xml | 130 + car-mis/src/main/resources/logback-test.xml | 135 + .../src/main/resources/static/css/layui.css | 2 + .../resources/static/css/layui.mobile.css | 2 + .../resources/static/css/modules/code.css | 2 + .../css/modules/laydate/default/laydate.css | 2 + .../css/modules/layer/default/icon-ext.png | Bin 0 -> 5911 bytes .../static/css/modules/layer/default/icon.png | Bin 0 -> 11493 bytes .../css/modules/layer/default/layer.css | 2 + .../css/modules/layer/default/loading-0.gif | Bin 0 -> 5793 bytes .../css/modules/layer/default/loading-1.gif | Bin 0 -> 701 bytes .../css/modules/layer/default/loading-2.gif | Bin 0 -> 1787 bytes .../main/resources/static/font/iconfont.eot | Bin 0 -> 41712 bytes .../main/resources/static/font/iconfont.svg | 485 +++ .../main/resources/static/font/iconfont.ttf | Bin 0 -> 41536 bytes .../main/resources/static/font/iconfont.woff | Bin 0 -> 27256 bytes .../main/resources/static/font/iconfont.woff2 | Bin 0 -> 23140 bytes .../main/resources/static/images/face/0.gif | Bin 0 -> 2689 bytes .../main/resources/static/images/face/1.gif | Bin 0 -> 5514 bytes .../main/resources/static/images/face/10.gif | Bin 0 -> 2797 bytes .../main/resources/static/images/face/11.gif | Bin 0 -> 4121 bytes .../main/resources/static/images/face/12.gif | Bin 0 -> 3361 bytes .../main/resources/static/images/face/13.gif | Bin 0 -> 7425 bytes .../main/resources/static/images/face/14.gif | Bin 0 -> 2375 bytes .../main/resources/static/images/face/15.gif | Bin 0 -> 1793 bytes .../main/resources/static/images/face/16.gif | Bin 0 -> 6721 bytes .../main/resources/static/images/face/17.gif | Bin 0 -> 4439 bytes .../main/resources/static/images/face/18.gif | Bin 0 -> 3017 bytes .../main/resources/static/images/face/19.gif | Bin 0 -> 3040 bytes .../main/resources/static/images/face/2.gif | Bin 0 -> 3222 bytes .../main/resources/static/images/face/20.gif | Bin 0 -> 5144 bytes .../main/resources/static/images/face/21.gif | Bin 0 -> 5191 bytes .../main/resources/static/images/face/22.gif | Bin 0 -> 9823 bytes .../main/resources/static/images/face/23.gif | Bin 0 -> 3792 bytes .../main/resources/static/images/face/24.gif | Bin 0 -> 8096 bytes .../main/resources/static/images/face/25.gif | Bin 0 -> 3127 bytes .../main/resources/static/images/face/26.gif | Bin 0 -> 3291 bytes .../main/resources/static/images/face/27.gif | Bin 0 -> 4377 bytes .../main/resources/static/images/face/28.gif | Bin 0 -> 2793 bytes .../main/resources/static/images/face/29.gif | Bin 0 -> 4854 bytes .../main/resources/static/images/face/3.gif | Bin 0 -> 4017 bytes .../main/resources/static/images/face/30.gif | Bin 0 -> 2555 bytes .../main/resources/static/images/face/31.gif | Bin 0 -> 2002 bytes .../main/resources/static/images/face/32.gif | Bin 0 -> 3481 bytes .../main/resources/static/images/face/33.gif | Bin 0 -> 2454 bytes .../main/resources/static/images/face/34.gif | Bin 0 -> 3700 bytes .../main/resources/static/images/face/35.gif | Bin 0 -> 1800 bytes .../main/resources/static/images/face/36.gif | Bin 0 -> 2331 bytes .../main/resources/static/images/face/37.gif | Bin 0 -> 1513 bytes .../main/resources/static/images/face/38.gif | Bin 0 -> 3615 bytes .../main/resources/static/images/face/39.gif | Bin 0 -> 6495 bytes .../main/resources/static/images/face/4.gif | Bin 0 -> 5689 bytes .../main/resources/static/images/face/40.gif | Bin 0 -> 3154 bytes .../main/resources/static/images/face/41.gif | Bin 0 -> 3644 bytes .../main/resources/static/images/face/42.gif | Bin 0 -> 5305 bytes .../main/resources/static/images/face/43.gif | Bin 0 -> 2674 bytes .../main/resources/static/images/face/44.gif | Bin 0 -> 4126 bytes .../main/resources/static/images/face/45.gif | Bin 0 -> 3417 bytes .../main/resources/static/images/face/46.gif | Bin 0 -> 3007 bytes .../main/resources/static/images/face/47.gif | Bin 0 -> 2333 bytes .../main/resources/static/images/face/48.gif | Bin 0 -> 2689 bytes .../main/resources/static/images/face/49.gif | Bin 0 -> 2315 bytes .../main/resources/static/images/face/5.gif | Bin 0 -> 4567 bytes .../main/resources/static/images/face/50.gif | Bin 0 -> 5866 bytes .../main/resources/static/images/face/51.gif | Bin 0 -> 2785 bytes .../main/resources/static/images/face/52.gif | Bin 0 -> 777 bytes .../main/resources/static/images/face/53.gif | Bin 0 -> 2127 bytes .../main/resources/static/images/face/54.gif | Bin 0 -> 2196 bytes .../main/resources/static/images/face/55.gif | Bin 0 -> 1971 bytes .../main/resources/static/images/face/56.gif | Bin 0 -> 2034 bytes .../main/resources/static/images/face/57.gif | Bin 0 -> 2705 bytes .../main/resources/static/images/face/58.gif | Bin 0 -> 2258 bytes .../main/resources/static/images/face/59.gif | Bin 0 -> 10311 bytes .../main/resources/static/images/face/6.gif | Bin 0 -> 2213 bytes .../main/resources/static/images/face/60.gif | Bin 0 -> 3245 bytes .../main/resources/static/images/face/61.gif | Bin 0 -> 2495 bytes .../main/resources/static/images/face/62.gif | Bin 0 -> 2017 bytes .../main/resources/static/images/face/63.gif | Bin 0 -> 5871 bytes .../main/resources/static/images/face/64.gif | Bin 0 -> 6448 bytes .../main/resources/static/images/face/65.gif | Bin 0 -> 3576 bytes .../main/resources/static/images/face/66.gif | Bin 0 -> 3029 bytes .../main/resources/static/images/face/67.gif | Bin 0 -> 2701 bytes .../main/resources/static/images/face/68.gif | Bin 0 -> 1424 bytes .../main/resources/static/images/face/69.gif | Bin 0 -> 2431 bytes .../main/resources/static/images/face/7.gif | Bin 0 -> 3398 bytes .../main/resources/static/images/face/70.gif | Bin 0 -> 4590 bytes .../main/resources/static/images/face/71.gif | Bin 0 -> 5304 bytes .../main/resources/static/images/face/8.gif | Bin 0 -> 4050 bytes .../main/resources/static/images/face/9.gif | Bin 0 -> 4221 bytes car-mis/src/main/resources/static/jquery.js | 5 + .../resources/static/lay/modules/carousel.js | 2 + .../main/resources/static/lay/modules/code.js | 2 + .../static/lay/modules/colorpicker.js | 2 + .../resources/static/lay/modules/element.js | 2 + .../main/resources/static/lay/modules/flow.js | 2 + .../main/resources/static/lay/modules/form.js | 2 + .../resources/static/lay/modules/jquery.js | 5 + .../resources/static/lay/modules/laydate.js | 2 + .../resources/static/lay/modules/layedit.js | 2 + .../resources/static/lay/modules/layer.js | 2 + .../resources/static/lay/modules/laypage.js | 2 + .../resources/static/lay/modules/laytpl.js | 2 + .../resources/static/lay/modules/mobile.js | 2 + .../main/resources/static/lay/modules/rate.js | 2 + .../resources/static/lay/modules/slider.js | 2 + .../resources/static/lay/modules/table.js | 2 + .../resources/static/lay/modules/transfer.js | 2 + .../main/resources/static/lay/modules/tree.js | 2 + .../resources/static/lay/modules/upload.js | 2 + .../main/resources/static/lay/modules/util.js | 2 + .../src/main/resources/static/layui.all.js | 5 + car-mis/src/main/resources/static/layui.js | 2 + .../resources/static/metrics/css/layui.css | 2 + .../static/metrics/css/layui.mobile.css | 2 + .../static/metrics/css/modules/code.css | 2 + .../css/modules/laydate/default/laydate.css | 2 + .../css/modules/layer/default/icon-ext.png | Bin 0 -> 5911 bytes .../css/modules/layer/default/icon.png | Bin 0 -> 11493 bytes .../css/modules/layer/default/layer.css | 2 + .../css/modules/layer/default/loading-0.gif | Bin 0 -> 5793 bytes .../css/modules/layer/default/loading-1.gif | Bin 0 -> 701 bytes .../css/modules/layer/default/loading-2.gif | Bin 0 -> 1787 bytes .../static/metrics/font/iconfont.eot | Bin 0 -> 41712 bytes .../static/metrics/font/iconfont.svg | 485 +++ .../static/metrics/font/iconfont.ttf | Bin 0 -> 41536 bytes .../static/metrics/font/iconfont.woff | Bin 0 -> 27256 bytes .../static/metrics/font/iconfont.woff2 | Bin 0 -> 23140 bytes .../static/metrics/highcharts/exporting.js | 48 + .../static/metrics/highcharts/highcharts.js | 569 ++++ .../static/metrics/highcharts/oldie.js | 40 + .../static/metrics/images/face/0.gif | Bin 0 -> 2689 bytes .../static/metrics/images/face/1.gif | Bin 0 -> 5514 bytes .../static/metrics/images/face/10.gif | Bin 0 -> 2797 bytes .../static/metrics/images/face/11.gif | Bin 0 -> 4121 bytes .../static/metrics/images/face/12.gif | Bin 0 -> 3361 bytes .../static/metrics/images/face/13.gif | Bin 0 -> 7425 bytes .../static/metrics/images/face/14.gif | Bin 0 -> 2375 bytes .../static/metrics/images/face/15.gif | Bin 0 -> 1793 bytes .../static/metrics/images/face/16.gif | Bin 0 -> 6721 bytes .../static/metrics/images/face/17.gif | Bin 0 -> 4439 bytes .../static/metrics/images/face/18.gif | Bin 0 -> 3017 bytes .../static/metrics/images/face/19.gif | Bin 0 -> 3040 bytes .../static/metrics/images/face/2.gif | Bin 0 -> 3222 bytes .../static/metrics/images/face/20.gif | Bin 0 -> 5144 bytes .../static/metrics/images/face/21.gif | Bin 0 -> 5191 bytes .../static/metrics/images/face/22.gif | Bin 0 -> 9823 bytes .../static/metrics/images/face/23.gif | Bin 0 -> 3792 bytes .../static/metrics/images/face/24.gif | Bin 0 -> 8096 bytes .../static/metrics/images/face/25.gif | Bin 0 -> 3127 bytes .../static/metrics/images/face/26.gif | Bin 0 -> 3291 bytes .../static/metrics/images/face/27.gif | Bin 0 -> 4377 bytes .../static/metrics/images/face/28.gif | Bin 0 -> 2793 bytes .../static/metrics/images/face/29.gif | Bin 0 -> 4854 bytes .../static/metrics/images/face/3.gif | Bin 0 -> 4017 bytes .../static/metrics/images/face/30.gif | Bin 0 -> 2555 bytes .../static/metrics/images/face/31.gif | Bin 0 -> 2002 bytes .../static/metrics/images/face/32.gif | Bin 0 -> 3481 bytes .../static/metrics/images/face/33.gif | Bin 0 -> 2454 bytes .../static/metrics/images/face/34.gif | Bin 0 -> 3700 bytes .../static/metrics/images/face/35.gif | Bin 0 -> 1800 bytes .../static/metrics/images/face/36.gif | Bin 0 -> 2331 bytes .../static/metrics/images/face/37.gif | Bin 0 -> 1513 bytes .../static/metrics/images/face/38.gif | Bin 0 -> 3615 bytes .../static/metrics/images/face/39.gif | Bin 0 -> 6495 bytes .../static/metrics/images/face/4.gif | Bin 0 -> 5689 bytes .../static/metrics/images/face/40.gif | Bin 0 -> 3154 bytes .../static/metrics/images/face/41.gif | Bin 0 -> 3644 bytes .../static/metrics/images/face/42.gif | Bin 0 -> 5305 bytes .../static/metrics/images/face/43.gif | Bin 0 -> 2674 bytes .../static/metrics/images/face/44.gif | Bin 0 -> 4126 bytes .../static/metrics/images/face/45.gif | Bin 0 -> 3417 bytes .../static/metrics/images/face/46.gif | Bin 0 -> 3007 bytes .../static/metrics/images/face/47.gif | Bin 0 -> 2333 bytes .../static/metrics/images/face/48.gif | Bin 0 -> 2689 bytes .../static/metrics/images/face/49.gif | Bin 0 -> 2315 bytes .../static/metrics/images/face/5.gif | Bin 0 -> 4567 bytes .../static/metrics/images/face/50.gif | Bin 0 -> 5866 bytes .../static/metrics/images/face/51.gif | Bin 0 -> 2785 bytes .../static/metrics/images/face/52.gif | Bin 0 -> 777 bytes .../static/metrics/images/face/53.gif | Bin 0 -> 2127 bytes .../static/metrics/images/face/54.gif | Bin 0 -> 2196 bytes .../static/metrics/images/face/55.gif | Bin 0 -> 1971 bytes .../static/metrics/images/face/56.gif | Bin 0 -> 2034 bytes .../static/metrics/images/face/57.gif | Bin 0 -> 2705 bytes .../static/metrics/images/face/58.gif | Bin 0 -> 2258 bytes .../static/metrics/images/face/59.gif | Bin 0 -> 10311 bytes .../static/metrics/images/face/6.gif | Bin 0 -> 2213 bytes .../static/metrics/images/face/60.gif | Bin 0 -> 3245 bytes .../static/metrics/images/face/61.gif | Bin 0 -> 2495 bytes .../static/metrics/images/face/62.gif | Bin 0 -> 2017 bytes .../static/metrics/images/face/63.gif | Bin 0 -> 5871 bytes .../static/metrics/images/face/64.gif | Bin 0 -> 6448 bytes .../static/metrics/images/face/65.gif | Bin 0 -> 3576 bytes .../static/metrics/images/face/66.gif | Bin 0 -> 3029 bytes .../static/metrics/images/face/67.gif | Bin 0 -> 2701 bytes .../static/metrics/images/face/68.gif | Bin 0 -> 1424 bytes .../static/metrics/images/face/69.gif | Bin 0 -> 2431 bytes .../static/metrics/images/face/7.gif | Bin 0 -> 3398 bytes .../static/metrics/images/face/70.gif | Bin 0 -> 4590 bytes .../static/metrics/images/face/71.gif | Bin 0 -> 5304 bytes .../static/metrics/images/face/8.gif | Bin 0 -> 4050 bytes .../static/metrics/images/face/9.gif | Bin 0 -> 4221 bytes .../main/resources/static/metrics/jquery.js | 5 + .../static/metrics/lay/modules/carousel.js | 2 + .../static/metrics/lay/modules/code.js | 2 + .../static/metrics/lay/modules/colorpicker.js | 2 + .../static/metrics/lay/modules/element.js | 2 + .../static/metrics/lay/modules/flow.js | 2 + .../static/metrics/lay/modules/form.js | 2 + .../static/metrics/lay/modules/jquery.js | 5 + .../static/metrics/lay/modules/laydate.js | 2 + .../static/metrics/lay/modules/layedit.js | 2 + .../static/metrics/lay/modules/layer.js | 2 + .../static/metrics/lay/modules/laypage.js | 2 + .../static/metrics/lay/modules/laytpl.js | 2 + .../static/metrics/lay/modules/mobile.js | 2 + .../static/metrics/lay/modules/rate.js | 2 + .../static/metrics/lay/modules/slider.js | 2 + .../static/metrics/lay/modules/table.js | 2 + .../static/metrics/lay/modules/transfer.js | 2 + .../static/metrics/lay/modules/tree.js | 2 + .../static/metrics/lay/modules/upload.js | 2 + .../static/metrics/lay/modules/util.js | 2 + .../resources/static/metrics/layui.all.js | 5 + .../main/resources/static/metrics/layui.js | 2 + .../metrics/tiny-alert/css/zepto.alert.css | 52 + .../static/metrics/tiny-alert/demo.html | 102 + .../metrics/tiny-alert/images/alert-icons.png | Bin 0 -> 2048 bytes .../tiny-alert/images/alert-loading.gif | Bin 0 -> 3897 bytes .../metrics/tiny-alert/js/zepto.alert.js | 241 ++ .../resources/static/metrics/zepto.min.js | 2 + .../static/tiny-alert/css/zepto.alert.css | 52 + .../resources/static/tiny-alert/demo.html | 102 + .../static/tiny-alert/images/alert-icons.png | Bin 0 -> 2048 bytes .../tiny-alert/images/alert-loading.gif | Bin 0 -> 3897 bytes .../static/tiny-alert/js/zepto.alert.js | 241 ++ .../src/main/resources/static/zepto.min.js | 2 + .../resources/templates/car/orderInfo.html | 348 ++ .../resources/templates/car/orderLog.html | 269 ++ .../main/resources/templates/sms/index.html | 52 + .../main/resources/templates/sms/login.html | 153 + car-service/pom.xml | 68 + .../main/java/com/weiqi/mis/MsgService.java | 26 + .../main/java/com/weiqi/mis/UserService.java | 15 + .../weiqi/mis/annotation/LoginRequired.java | 15 + .../com/weiqi/mis/annotation/LoginType.java | 15 + .../com/weiqi/mis/impl/MsgServiceImpl.java | 152 + .../com/weiqi/mis/impl/UserServiceImpl.java | 41 + .../mis/interceptor/AnotationInterceptor.java | 43 + .../mis/interceptor/LoginInterceptor.java | 99 + .../interceptor/WebAppConfigurerCommon.java | 26 + .../weiqi/mis/redis/RedisListenerConfig.java | 105 + .../com/weiqi/mis/redis/RedisReceiver.java | 86 + pom.xml | 167 + 327 files changed, 20958 insertions(+) create mode 100644 .gitignore create mode 100644 car-common/.gitignore create mode 100644 car-common/pom.xml create mode 100644 car-common/src/main/java/com/weiqi/mis/DateHelper.java create mode 100644 car-common/src/main/java/com/weiqi/mis/DateUtil.java create mode 100644 car-common/src/main/java/com/weiqi/mis/DateUtils.java create mode 100644 car-common/src/main/java/com/weiqi/mis/HttpUtil.java create mode 100644 car-common/src/main/java/com/weiqi/mis/IPUtil.java create mode 100644 car-common/src/main/java/com/weiqi/mis/JacksonHelper.java create mode 100644 car-common/src/main/java/com/weiqi/mis/MD5Util.java create mode 100644 car-common/src/main/java/com/weiqi/mis/RedisUtil.java create mode 100644 car-common/src/main/java/com/weiqi/mis/ReturnCode.java create mode 100644 car-common/src/main/java/com/weiqi/mis/ReturnValue.java create mode 100644 car-common/src/main/java/com/weiqi/mis/ReturnValueApi.java create mode 100644 car-common/src/main/java/com/weiqi/mis/ReturnValuePage.java create mode 100644 car-common/src/main/java/com/weiqi/mis/SpAddr.java create mode 100644 car-common/src/main/java/com/weiqi/mis/StringUtils.java create mode 100644 car-common/src/main/java/com/weiqi/mis/ThreadPoolConfig.java create mode 100644 car-common/src/main/java/com/weiqi/mis/URLEncodeUtil.java create mode 100644 car-common/src/main/java/com/weiqi/mis/XmlUtil.java create mode 100644 car-common/src/main/java/com/weiqi/mis/Z.java create mode 100644 car-common/src/main/java/com/weiqi/util/DingTalkUtils.java create mode 100644 car-common/src/main/java/com/weiqi/util/SmsTools.java create mode 100644 car-common/src/main/java/com/weiqi/vo/AddrVo.java create mode 100644 car-common/src/main/java/com/weiqi/vo/AutoBiStatisticSpVo.java create mode 100644 car-common/src/main/java/com/weiqi/vo/AutoBiStatisticVo.java create mode 100644 car-common/src/main/java/com/weiqi/vo/BusinessException.java create mode 100644 car-common/src/main/java/com/weiqi/vo/MisUserinfo.java create mode 100644 car-common/src/main/java/com/weiqi/vo/OrderInfoVo.java create mode 100644 car-common/src/main/java/com/weiqi/vo/RouteInfoVo.java create mode 100644 car-common/src/main/java/com/weiqi/vo/RouteVo.java create mode 100644 car-common/src/main/java/com/weiqi/vo/SmsGlobalIndex.java create mode 100644 car-common/src/main/java/com/weiqi/vo/SmsSendVo.java create mode 100644 car-common/src/main/java/com/weiqi/vo/WightVo.java create mode 100644 car-dao/.gitignore create mode 100644 car-dao/pom.xml create mode 100644 car-dao/src/main/.DS_Store create mode 100644 car-dao/src/main/java/DaoApplication.java create mode 100644 car-dao/src/main/java/com/weiqi/mis/bo/StisticByDay.java create mode 100644 car-dao/src/main/java/com/weiqi/mis/domain/AdminUserInfo.java create mode 100644 car-dao/src/main/java/com/weiqi/mis/domain/AdminUserInfoExample.java create mode 100644 car-dao/src/main/java/com/weiqi/mis/domain/WxXrPemsOrder.java create mode 100644 car-dao/src/main/java/com/weiqi/mis/domain/WxXrPemsOrderExample.java create mode 100644 car-dao/src/main/java/com/weiqi/mis/domain/WxXrPemsOrderPushLog.java create mode 100644 car-dao/src/main/java/com/weiqi/mis/domain/WxXrPemsOrderPushLogExample.java create mode 100644 car-dao/src/main/java/com/weiqi/mis/enums/ReportStatusEnum.java create mode 100644 car-dao/src/main/java/com/weiqi/mis/mapper/AdminUserInfoMapper.java create mode 100644 car-dao/src/main/java/com/weiqi/mis/mapper/WxXrPemsOrderMapper.java create mode 100644 car-dao/src/main/java/com/weiqi/mis/mapper/WxXrPemsOrderPushLogMapper.java create mode 100644 car-dao/src/main/resources/com/weiqi/mis/mapper/AdminUserInfoMapper.xml create mode 100644 car-dao/src/main/resources/com/weiqi/mis/mapper/WxXrPemsOrderMapper.xml create mode 100644 car-dao/src/main/resources/com/weiqi/mis/mapper/WxXrPemsOrderPushLogMapper.xml create mode 100644 car-mis/.gitignore create mode 100644 car-mis/pom.xml create mode 100644 car-mis/src/main/java/com/alibaba/excel/read/SaxAnalyserV07.java create mode 100644 car-mis/src/main/java/com/weiqi/mis/MisApplication.java create mode 100644 car-mis/src/main/java/com/weiqi/mis/ServletInitializer.java create mode 100644 car-mis/src/main/java/com/weiqi/mis/config/JobLog.java create mode 100644 car-mis/src/main/java/com/weiqi/mis/config/ScheduleConfig.java create mode 100644 car-mis/src/main/java/com/weiqi/mis/config/XxlJobConfig.java create mode 100644 car-mis/src/main/java/com/weiqi/mis/contorller/BaseController.java create mode 100644 car-mis/src/main/java/com/weiqi/mis/contorller/CallableTask.java create mode 100644 car-mis/src/main/java/com/weiqi/mis/contorller/CarController.java create mode 100644 car-mis/src/main/java/com/weiqi/mis/contorller/CarLogController.java create mode 100644 car-mis/src/main/java/com/weiqi/mis/contorller/CheckController.java create mode 100644 car-mis/src/main/java/com/weiqi/mis/contorller/CorsConfig.java create mode 100644 car-mis/src/main/java/com/weiqi/mis/export/SmsListExcel.java create mode 100644 car-mis/src/main/java/com/weiqi/mis/redis/RedisListenerConfig.java create mode 100644 car-mis/src/main/java/com/weiqi/mis/redis/RedisReceiver.java create mode 100644 car-mis/src/main/resources/application-test.properties create mode 100644 car-mis/src/main/resources/application-yz.properties create mode 100644 car-mis/src/main/resources/application.properties create mode 100644 car-mis/src/main/resources/config.properties create mode 100644 car-mis/src/main/resources/logback-prod.xml create mode 100644 car-mis/src/main/resources/logback-test.xml create mode 100644 car-mis/src/main/resources/static/css/layui.css create mode 100644 car-mis/src/main/resources/static/css/layui.mobile.css create mode 100644 car-mis/src/main/resources/static/css/modules/code.css create mode 100644 car-mis/src/main/resources/static/css/modules/laydate/default/laydate.css create mode 100644 car-mis/src/main/resources/static/css/modules/layer/default/icon-ext.png create mode 100644 car-mis/src/main/resources/static/css/modules/layer/default/icon.png create mode 100644 car-mis/src/main/resources/static/css/modules/layer/default/layer.css create mode 100644 car-mis/src/main/resources/static/css/modules/layer/default/loading-0.gif create mode 100644 car-mis/src/main/resources/static/css/modules/layer/default/loading-1.gif create mode 100644 car-mis/src/main/resources/static/css/modules/layer/default/loading-2.gif create mode 100644 car-mis/src/main/resources/static/font/iconfont.eot create mode 100644 car-mis/src/main/resources/static/font/iconfont.svg create mode 100644 car-mis/src/main/resources/static/font/iconfont.ttf create mode 100644 car-mis/src/main/resources/static/font/iconfont.woff create mode 100644 car-mis/src/main/resources/static/font/iconfont.woff2 create mode 100644 car-mis/src/main/resources/static/images/face/0.gif create mode 100644 car-mis/src/main/resources/static/images/face/1.gif create mode 100644 car-mis/src/main/resources/static/images/face/10.gif create mode 100644 car-mis/src/main/resources/static/images/face/11.gif create mode 100644 car-mis/src/main/resources/static/images/face/12.gif create mode 100644 car-mis/src/main/resources/static/images/face/13.gif create mode 100644 car-mis/src/main/resources/static/images/face/14.gif create mode 100644 car-mis/src/main/resources/static/images/face/15.gif create mode 100644 car-mis/src/main/resources/static/images/face/16.gif create mode 100644 car-mis/src/main/resources/static/images/face/17.gif create mode 100644 car-mis/src/main/resources/static/images/face/18.gif create mode 100644 car-mis/src/main/resources/static/images/face/19.gif create mode 100644 car-mis/src/main/resources/static/images/face/2.gif create mode 100644 car-mis/src/main/resources/static/images/face/20.gif create mode 100644 car-mis/src/main/resources/static/images/face/21.gif create mode 100644 car-mis/src/main/resources/static/images/face/22.gif create mode 100644 car-mis/src/main/resources/static/images/face/23.gif create mode 100644 car-mis/src/main/resources/static/images/face/24.gif create mode 100644 car-mis/src/main/resources/static/images/face/25.gif create mode 100644 car-mis/src/main/resources/static/images/face/26.gif create mode 100644 car-mis/src/main/resources/static/images/face/27.gif create mode 100644 car-mis/src/main/resources/static/images/face/28.gif create mode 100644 car-mis/src/main/resources/static/images/face/29.gif create mode 100644 car-mis/src/main/resources/static/images/face/3.gif create mode 100644 car-mis/src/main/resources/static/images/face/30.gif create mode 100644 car-mis/src/main/resources/static/images/face/31.gif create mode 100644 car-mis/src/main/resources/static/images/face/32.gif create mode 100644 car-mis/src/main/resources/static/images/face/33.gif create mode 100644 car-mis/src/main/resources/static/images/face/34.gif create mode 100644 car-mis/src/main/resources/static/images/face/35.gif create mode 100644 car-mis/src/main/resources/static/images/face/36.gif create mode 100644 car-mis/src/main/resources/static/images/face/37.gif create mode 100644 car-mis/src/main/resources/static/images/face/38.gif create mode 100644 car-mis/src/main/resources/static/images/face/39.gif create mode 100644 car-mis/src/main/resources/static/images/face/4.gif create mode 100644 car-mis/src/main/resources/static/images/face/40.gif create mode 100644 car-mis/src/main/resources/static/images/face/41.gif create mode 100644 car-mis/src/main/resources/static/images/face/42.gif create mode 100644 car-mis/src/main/resources/static/images/face/43.gif create mode 100644 car-mis/src/main/resources/static/images/face/44.gif create mode 100644 car-mis/src/main/resources/static/images/face/45.gif create mode 100644 car-mis/src/main/resources/static/images/face/46.gif create mode 100644 car-mis/src/main/resources/static/images/face/47.gif create mode 100644 car-mis/src/main/resources/static/images/face/48.gif create mode 100644 car-mis/src/main/resources/static/images/face/49.gif create mode 100644 car-mis/src/main/resources/static/images/face/5.gif create mode 100644 car-mis/src/main/resources/static/images/face/50.gif create mode 100644 car-mis/src/main/resources/static/images/face/51.gif create mode 100644 car-mis/src/main/resources/static/images/face/52.gif create mode 100644 car-mis/src/main/resources/static/images/face/53.gif create mode 100644 car-mis/src/main/resources/static/images/face/54.gif create mode 100644 car-mis/src/main/resources/static/images/face/55.gif create mode 100644 car-mis/src/main/resources/static/images/face/56.gif create mode 100644 car-mis/src/main/resources/static/images/face/57.gif create mode 100644 car-mis/src/main/resources/static/images/face/58.gif create mode 100644 car-mis/src/main/resources/static/images/face/59.gif create mode 100644 car-mis/src/main/resources/static/images/face/6.gif create mode 100644 car-mis/src/main/resources/static/images/face/60.gif create mode 100644 car-mis/src/main/resources/static/images/face/61.gif create mode 100644 car-mis/src/main/resources/static/images/face/62.gif create mode 100644 car-mis/src/main/resources/static/images/face/63.gif create mode 100644 car-mis/src/main/resources/static/images/face/64.gif create mode 100644 car-mis/src/main/resources/static/images/face/65.gif create mode 100644 car-mis/src/main/resources/static/images/face/66.gif create mode 100644 car-mis/src/main/resources/static/images/face/67.gif create mode 100644 car-mis/src/main/resources/static/images/face/68.gif create mode 100644 car-mis/src/main/resources/static/images/face/69.gif create mode 100644 car-mis/src/main/resources/static/images/face/7.gif create mode 100644 car-mis/src/main/resources/static/images/face/70.gif create mode 100644 car-mis/src/main/resources/static/images/face/71.gif create mode 100644 car-mis/src/main/resources/static/images/face/8.gif create mode 100644 car-mis/src/main/resources/static/images/face/9.gif create mode 100644 car-mis/src/main/resources/static/jquery.js create mode 100644 car-mis/src/main/resources/static/lay/modules/carousel.js create mode 100644 car-mis/src/main/resources/static/lay/modules/code.js create mode 100644 car-mis/src/main/resources/static/lay/modules/colorpicker.js create mode 100644 car-mis/src/main/resources/static/lay/modules/element.js create mode 100644 car-mis/src/main/resources/static/lay/modules/flow.js create mode 100644 car-mis/src/main/resources/static/lay/modules/form.js create mode 100644 car-mis/src/main/resources/static/lay/modules/jquery.js create mode 100644 car-mis/src/main/resources/static/lay/modules/laydate.js create mode 100644 car-mis/src/main/resources/static/lay/modules/layedit.js create mode 100644 car-mis/src/main/resources/static/lay/modules/layer.js create mode 100644 car-mis/src/main/resources/static/lay/modules/laypage.js create mode 100644 car-mis/src/main/resources/static/lay/modules/laytpl.js create mode 100644 car-mis/src/main/resources/static/lay/modules/mobile.js create mode 100644 car-mis/src/main/resources/static/lay/modules/rate.js create mode 100644 car-mis/src/main/resources/static/lay/modules/slider.js create mode 100644 car-mis/src/main/resources/static/lay/modules/table.js create mode 100644 car-mis/src/main/resources/static/lay/modules/transfer.js create mode 100644 car-mis/src/main/resources/static/lay/modules/tree.js create mode 100644 car-mis/src/main/resources/static/lay/modules/upload.js create mode 100644 car-mis/src/main/resources/static/lay/modules/util.js create mode 100644 car-mis/src/main/resources/static/layui.all.js create mode 100644 car-mis/src/main/resources/static/layui.js create mode 100644 car-mis/src/main/resources/static/metrics/css/layui.css create mode 100644 car-mis/src/main/resources/static/metrics/css/layui.mobile.css create mode 100644 car-mis/src/main/resources/static/metrics/css/modules/code.css create mode 100644 car-mis/src/main/resources/static/metrics/css/modules/laydate/default/laydate.css create mode 100644 car-mis/src/main/resources/static/metrics/css/modules/layer/default/icon-ext.png create mode 100644 car-mis/src/main/resources/static/metrics/css/modules/layer/default/icon.png create mode 100644 car-mis/src/main/resources/static/metrics/css/modules/layer/default/layer.css create mode 100644 car-mis/src/main/resources/static/metrics/css/modules/layer/default/loading-0.gif create mode 100644 car-mis/src/main/resources/static/metrics/css/modules/layer/default/loading-1.gif create mode 100644 car-mis/src/main/resources/static/metrics/css/modules/layer/default/loading-2.gif create mode 100644 car-mis/src/main/resources/static/metrics/font/iconfont.eot create mode 100644 car-mis/src/main/resources/static/metrics/font/iconfont.svg create mode 100644 car-mis/src/main/resources/static/metrics/font/iconfont.ttf create mode 100644 car-mis/src/main/resources/static/metrics/font/iconfont.woff create mode 100644 car-mis/src/main/resources/static/metrics/font/iconfont.woff2 create mode 100644 car-mis/src/main/resources/static/metrics/highcharts/exporting.js create mode 100644 car-mis/src/main/resources/static/metrics/highcharts/highcharts.js create mode 100644 car-mis/src/main/resources/static/metrics/highcharts/oldie.js create mode 100644 car-mis/src/main/resources/static/metrics/images/face/0.gif create mode 100644 car-mis/src/main/resources/static/metrics/images/face/1.gif create mode 100644 car-mis/src/main/resources/static/metrics/images/face/10.gif create mode 100644 car-mis/src/main/resources/static/metrics/images/face/11.gif create mode 100644 car-mis/src/main/resources/static/metrics/images/face/12.gif create mode 100644 car-mis/src/main/resources/static/metrics/images/face/13.gif create mode 100644 car-mis/src/main/resources/static/metrics/images/face/14.gif create mode 100644 car-mis/src/main/resources/static/metrics/images/face/15.gif create mode 100644 car-mis/src/main/resources/static/metrics/images/face/16.gif create mode 100644 car-mis/src/main/resources/static/metrics/images/face/17.gif create mode 100644 car-mis/src/main/resources/static/metrics/images/face/18.gif create mode 100644 car-mis/src/main/resources/static/metrics/images/face/19.gif create mode 100644 car-mis/src/main/resources/static/metrics/images/face/2.gif create mode 100644 car-mis/src/main/resources/static/metrics/images/face/20.gif create mode 100644 car-mis/src/main/resources/static/metrics/images/face/21.gif create mode 100644 car-mis/src/main/resources/static/metrics/images/face/22.gif create mode 100644 car-mis/src/main/resources/static/metrics/images/face/23.gif create mode 100644 car-mis/src/main/resources/static/metrics/images/face/24.gif create mode 100644 car-mis/src/main/resources/static/metrics/images/face/25.gif create mode 100644 car-mis/src/main/resources/static/metrics/images/face/26.gif create mode 100644 car-mis/src/main/resources/static/metrics/images/face/27.gif create mode 100644 car-mis/src/main/resources/static/metrics/images/face/28.gif create mode 100644 car-mis/src/main/resources/static/metrics/images/face/29.gif create mode 100644 car-mis/src/main/resources/static/metrics/images/face/3.gif create mode 100644 car-mis/src/main/resources/static/metrics/images/face/30.gif create mode 100644 car-mis/src/main/resources/static/metrics/images/face/31.gif create mode 100644 car-mis/src/main/resources/static/metrics/images/face/32.gif create mode 100644 car-mis/src/main/resources/static/metrics/images/face/33.gif create mode 100644 car-mis/src/main/resources/static/metrics/images/face/34.gif create mode 100644 car-mis/src/main/resources/static/metrics/images/face/35.gif create mode 100644 car-mis/src/main/resources/static/metrics/images/face/36.gif create mode 100644 car-mis/src/main/resources/static/metrics/images/face/37.gif create mode 100644 car-mis/src/main/resources/static/metrics/images/face/38.gif create mode 100644 car-mis/src/main/resources/static/metrics/images/face/39.gif create mode 100644 car-mis/src/main/resources/static/metrics/images/face/4.gif create mode 100644 car-mis/src/main/resources/static/metrics/images/face/40.gif create mode 100644 car-mis/src/main/resources/static/metrics/images/face/41.gif create mode 100644 car-mis/src/main/resources/static/metrics/images/face/42.gif create mode 100644 car-mis/src/main/resources/static/metrics/images/face/43.gif create mode 100644 car-mis/src/main/resources/static/metrics/images/face/44.gif create mode 100644 car-mis/src/main/resources/static/metrics/images/face/45.gif create mode 100644 car-mis/src/main/resources/static/metrics/images/face/46.gif create mode 100644 car-mis/src/main/resources/static/metrics/images/face/47.gif create mode 100644 car-mis/src/main/resources/static/metrics/images/face/48.gif create mode 100644 car-mis/src/main/resources/static/metrics/images/face/49.gif create mode 100644 car-mis/src/main/resources/static/metrics/images/face/5.gif create mode 100644 car-mis/src/main/resources/static/metrics/images/face/50.gif create mode 100644 car-mis/src/main/resources/static/metrics/images/face/51.gif create mode 100644 car-mis/src/main/resources/static/metrics/images/face/52.gif create mode 100644 car-mis/src/main/resources/static/metrics/images/face/53.gif create mode 100644 car-mis/src/main/resources/static/metrics/images/face/54.gif create mode 100644 car-mis/src/main/resources/static/metrics/images/face/55.gif create mode 100644 car-mis/src/main/resources/static/metrics/images/face/56.gif create mode 100644 car-mis/src/main/resources/static/metrics/images/face/57.gif create mode 100644 car-mis/src/main/resources/static/metrics/images/face/58.gif create mode 100644 car-mis/src/main/resources/static/metrics/images/face/59.gif create mode 100644 car-mis/src/main/resources/static/metrics/images/face/6.gif create mode 100644 car-mis/src/main/resources/static/metrics/images/face/60.gif create mode 100644 car-mis/src/main/resources/static/metrics/images/face/61.gif create mode 100644 car-mis/src/main/resources/static/metrics/images/face/62.gif create mode 100644 car-mis/src/main/resources/static/metrics/images/face/63.gif create mode 100644 car-mis/src/main/resources/static/metrics/images/face/64.gif create mode 100644 car-mis/src/main/resources/static/metrics/images/face/65.gif create mode 100644 car-mis/src/main/resources/static/metrics/images/face/66.gif create mode 100644 car-mis/src/main/resources/static/metrics/images/face/67.gif create mode 100644 car-mis/src/main/resources/static/metrics/images/face/68.gif create mode 100644 car-mis/src/main/resources/static/metrics/images/face/69.gif create mode 100644 car-mis/src/main/resources/static/metrics/images/face/7.gif create mode 100644 car-mis/src/main/resources/static/metrics/images/face/70.gif create mode 100644 car-mis/src/main/resources/static/metrics/images/face/71.gif create mode 100644 car-mis/src/main/resources/static/metrics/images/face/8.gif create mode 100644 car-mis/src/main/resources/static/metrics/images/face/9.gif create mode 100644 car-mis/src/main/resources/static/metrics/jquery.js create mode 100644 car-mis/src/main/resources/static/metrics/lay/modules/carousel.js create mode 100644 car-mis/src/main/resources/static/metrics/lay/modules/code.js create mode 100644 car-mis/src/main/resources/static/metrics/lay/modules/colorpicker.js create mode 100644 car-mis/src/main/resources/static/metrics/lay/modules/element.js create mode 100644 car-mis/src/main/resources/static/metrics/lay/modules/flow.js create mode 100644 car-mis/src/main/resources/static/metrics/lay/modules/form.js create mode 100644 car-mis/src/main/resources/static/metrics/lay/modules/jquery.js create mode 100644 car-mis/src/main/resources/static/metrics/lay/modules/laydate.js create mode 100644 car-mis/src/main/resources/static/metrics/lay/modules/layedit.js create mode 100644 car-mis/src/main/resources/static/metrics/lay/modules/layer.js create mode 100644 car-mis/src/main/resources/static/metrics/lay/modules/laypage.js create mode 100644 car-mis/src/main/resources/static/metrics/lay/modules/laytpl.js create mode 100644 car-mis/src/main/resources/static/metrics/lay/modules/mobile.js create mode 100644 car-mis/src/main/resources/static/metrics/lay/modules/rate.js create mode 100644 car-mis/src/main/resources/static/metrics/lay/modules/slider.js create mode 100644 car-mis/src/main/resources/static/metrics/lay/modules/table.js create mode 100644 car-mis/src/main/resources/static/metrics/lay/modules/transfer.js create mode 100644 car-mis/src/main/resources/static/metrics/lay/modules/tree.js create mode 100644 car-mis/src/main/resources/static/metrics/lay/modules/upload.js create mode 100644 car-mis/src/main/resources/static/metrics/lay/modules/util.js create mode 100644 car-mis/src/main/resources/static/metrics/layui.all.js create mode 100644 car-mis/src/main/resources/static/metrics/layui.js create mode 100644 car-mis/src/main/resources/static/metrics/tiny-alert/css/zepto.alert.css create mode 100644 car-mis/src/main/resources/static/metrics/tiny-alert/demo.html create mode 100644 car-mis/src/main/resources/static/metrics/tiny-alert/images/alert-icons.png create mode 100644 car-mis/src/main/resources/static/metrics/tiny-alert/images/alert-loading.gif create mode 100644 car-mis/src/main/resources/static/metrics/tiny-alert/js/zepto.alert.js create mode 100644 car-mis/src/main/resources/static/metrics/zepto.min.js create mode 100644 car-mis/src/main/resources/static/tiny-alert/css/zepto.alert.css create mode 100644 car-mis/src/main/resources/static/tiny-alert/demo.html create mode 100644 car-mis/src/main/resources/static/tiny-alert/images/alert-icons.png create mode 100644 car-mis/src/main/resources/static/tiny-alert/images/alert-loading.gif create mode 100644 car-mis/src/main/resources/static/tiny-alert/js/zepto.alert.js create mode 100644 car-mis/src/main/resources/static/zepto.min.js create mode 100644 car-mis/src/main/resources/templates/car/orderInfo.html create mode 100644 car-mis/src/main/resources/templates/car/orderLog.html create mode 100644 car-mis/src/main/resources/templates/sms/index.html create mode 100644 car-mis/src/main/resources/templates/sms/login.html create mode 100644 car-service/pom.xml create mode 100644 car-service/src/main/java/com/weiqi/mis/MsgService.java create mode 100644 car-service/src/main/java/com/weiqi/mis/UserService.java create mode 100644 car-service/src/main/java/com/weiqi/mis/annotation/LoginRequired.java create mode 100644 car-service/src/main/java/com/weiqi/mis/annotation/LoginType.java create mode 100644 car-service/src/main/java/com/weiqi/mis/impl/MsgServiceImpl.java create mode 100644 car-service/src/main/java/com/weiqi/mis/impl/UserServiceImpl.java create mode 100644 car-service/src/main/java/com/weiqi/mis/interceptor/AnotationInterceptor.java create mode 100644 car-service/src/main/java/com/weiqi/mis/interceptor/LoginInterceptor.java create mode 100644 car-service/src/main/java/com/weiqi/mis/interceptor/WebAppConfigurerCommon.java create mode 100644 car-service/src/main/java/com/weiqi/mis/redis/RedisListenerConfig.java create mode 100644 car-service/src/main/java/com/weiqi/mis/redis/RedisReceiver.java create mode 100644 pom.xml diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..2f1b92f --- /dev/null +++ b/.gitignore @@ -0,0 +1,39 @@ +HELP.md +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/** +!**/src/test/** + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ + +### VS Code ### +.vscode/ +~/data/** +hawkeye** +project_** + +**.DS_Store +project_run.log.2021-12-31 +project_run.log.2022-02-14 +project_run.log.2022-02-15 diff --git a/car-common/.gitignore b/car-common/.gitignore new file mode 100644 index 0000000..a4c6f0c --- /dev/null +++ b/car-common/.gitignore @@ -0,0 +1,31 @@ +HELP.md +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/** +!**/src/test/** + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ + +### VS Code ### +.vscode/ diff --git a/car-common/pom.xml b/car-common/pom.xml new file mode 100644 index 0000000..b863a7b --- /dev/null +++ b/car-common/pom.xml @@ -0,0 +1,189 @@ + + + + carmis + com.weiqi + 0.0.1-SNAPSHOT + + 4.0.0 + + car-common + + + com.weiqi + car-dao + 0.0.1-SNAPSHOT + + + + + ma.glasnost.orika + orika-core + 1.5.4 + + + + com.google.guava + guava + 21.0 + + + + org.apache.commons + commons-email + 1.5 + + + + + org.springframework.boot + spring-boot-starter-data-redis + + + io.lettuce + lettuce-core + + + + + org.apache.commons + commons-lang3 + 3.5 + + + com.google.guava + guava + 21.0 + + + joda-time + joda-time + + + com.google.code.gson + gson + 2.8.0 + + + org.javatuples + javatuples + 1.2 + + + org.apache.httpcomponents + httpclient + 4.5.3 + + + commons-io + commons-io + 2.5 + + + + com.alibaba + fastjson + 1.2.61 + + + + com.google.zxing + core + 3.3.0 + + + org.apache.httpcomponents + httpmime + 4.5.3 + + + com.fasterxml.jackson.core + jackson-annotations + + + com.fasterxml.jackson.core + jackson-databind + + + javax.servlet + javax.servlet-api + + + org.springframework + spring-web + 4.3.19.RELEASE + + + commons-collections + commons-collections + 3.2.2 + + + + dom4j + dom4j + + + com.alibaba + druid + + + com.alibaba + druid + 1.0.29 + + + + com.github.ben-manes.caffeine + caffeine + 2.5.5 + + + redis.clients + jedis + 2.9.0 + + + com.aliyun + alibaba-dingtalk-service-sdk + 2.0.0 + compile + + + org.projectlombok + lombok + + + + + + + + + + + + + + + + + + + + + releases + + http://repo.corpweiqi.com/nexus/content/repositories/releases/ + + + + snapshots + + http://repo.corpweiqi.com/nexus/content/repositories/snapshots/ + + + + \ No newline at end of file diff --git a/car-common/src/main/java/com/weiqi/mis/DateHelper.java b/car-common/src/main/java/com/weiqi/mis/DateHelper.java new file mode 100644 index 0000000..19be092 --- /dev/null +++ b/car-common/src/main/java/com/weiqi/mis/DateHelper.java @@ -0,0 +1,780 @@ +package com.weiqi.mis; + +import java.text.DateFormat; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.time.DayOfWeek; +import java.time.Duration; +import java.time.Instant; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.LocalTime; +import java.time.ZoneId; +import java.time.ZoneOffset; +import java.time.ZonedDateTime; +import java.time.format.DateTimeFormatter; +import java.time.temporal.ChronoUnit; +import java.time.temporal.TemporalAdjusters; +import java.util.Arrays; +import java.util.Calendar; +import java.util.Date; +import java.util.List; +import java.util.Random; +import java.util.TimeZone; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import com.google.common.base.Joiner; +import com.google.common.base.Preconditions; +import lombok.extern.slf4j.Slf4j; +import lombok.val; +import org.springframework.util.StringUtils; + +/** + * Created by yinqingzhun on 2024/6/1. + */ +@Slf4j +public class DateHelper { + + public final static String DATEFORMAT_FULL = "yyyy-MM-dd HH:mm:ss.SSS"; + public final static String DATEFORMAT_STANDARD = "yyyy-MM-dd HH:mm:ss"; + public final static String DATEFORMAT_STANDARD_HH_MM = "yyyy-MM-dd HH:mm"; + public final static String DATEFORMAT_ONLY_MONTH = "yyyy-MM"; + + public final static String DATEFORMAT_ONLY_DATE = "yyyy-MM-dd"; + public final static String DATEFORMAT_ONLY_DATE_SHORT = "yyyyMMdd"; + public final static String DATEFORMAT_NEW = "yyyy/MM/dd HH:mm:ss"; + public final static String DATEFORMAT_FULL_PURE_NUMBER = "yyyyMMddHHmmssSSS"; + public final static String DATEFORMAT_FULL_PURE_NUMBER_SHORT = "yyyyMMddHHmmss"; + public final static String FULL_TIME_PATTERN = "HH:mm:ss.SSS"; + public final static String FULL_TIME_PATTERN_SHORT = "HH:mm:ss"; + public final static String FULL_TIME_PATTERN_SHORT_T = "HHmmss"; + public final static String DATEFORMONTH_PATTERN_SHORT = "MM-dd HH:mm"; + public final static String DATEFORMONTH_PATTERN_SHORT2 = "MM-dd HH:mm:ss"; + /** + * "2019-01-30T13:16:06.950+0000" + * "2019-01-30T13:16:06.950" + * "2019-01-30T13:16:06" + */ + public final static String DATEFORMAT_SPECIAL_T = "yyyy-MM-dd'T'HH:mm:ss"; + public final static LocalDateTime UNIX_START_LOCAL_DATE_TIME = LocalDateTime.of(1970, 1, 1, 0, 0, 0); + + + public static long getDiffDays(Date date1, Date date2) { + LocalDateTime l1 = date1.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime(); + LocalDateTime l2 = date2.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime(); + if (l1.isAfter(l2)) { + LocalDateTime temp; + temp = l2; + l2 = l1; + l1 = temp; + } + Duration between = Duration.between(l1, l2); + return between.toDays(); + } + + public static long getDiffDays(LocalDate date1, LocalDate date2) { + Duration between = Duration.between(date1, date2); + return between.toDays(); + } + + // public static void main(String[] args) { +// System.out.println(getDiffDays(deserialize("2022-10-01","yyyy-MM-dd"),deserialize("2022-10-02", +// "yyyy-MM-dd"))); +// } + public static Date getLastDayOfMonth() { + Calendar cal = Calendar.getInstance(); + cal.set(Calendar.DAY_OF_MONTH, cal.getActualMaximum(Calendar.DAY_OF_MONTH)); + String dayTime = serialize(cal.getTime(), DATEFORMAT_ONLY_DATE) + " 00:00:00"; + return deserialize(dayTime, DATEFORMAT_STANDARD); + } + + + public static Date deserialize(String source, String... dateFormat) { + Date date = null; + if (dateFormat != null && dateFormat.length > 0) { + for (String df : dateFormat) { + try { + date = new SimpleDateFormat(df).parse(source); + break; + } catch (Exception e) { + log.debug(e.getMessage()); + } + } + + } else { + // sample: /Date(1528805593000)/ + Matcher matcher = Pattern.compile("\\/Date\\((-?\\d+)\\)\\/").matcher(source); + if (matcher.matches()) { + date = new Date(Long.valueOf(matcher.group(1))); + } else { + try { + date = parse(source); + } catch (ParseException e) { + log.debug(e.getMessage()); + } + } + + + } + Preconditions.checkNotNull(date, String.format("date %s can't be resolved", source)); + return date; + + } + + /** + * 使用dateFormat格式化Date对象 + * + * @param date + * @param dateFormat + * @return + */ + public static String serialize(Date date, String dateFormat) { + DateFormat df = new SimpleDateFormat(dateFormat); + String str = df.format(date); + return str; + } + + /** + * 使用dateFormat格式化LocalDateTime对象 + * + * @param date + * @param dateFormat + * @return + */ + public static String serialize(LocalDateTime date, String dateFormat) { + DateFormat df = new SimpleDateFormat(dateFormat); + String str = df.format(localDateTimeToDate(date)); + return str; + } + + /** + * 使用dateFormat格式化LocalDate对象 + * + * @param date + * @param dateFormat + * @return + */ + public static String serialize(LocalDate date, String dateFormat) { + DateFormat df = new SimpleDateFormat(dateFormat); + String str = df.format(localDateToDate(date)); + return str; + } + + /** + * 使用yyyy-MM-dd HH:mm:ss.SSS格式化date对象 + * + * @param date + * @return + */ + public static String serialize(Date date) { + DateFormat df = new SimpleDateFormat(DateHelper.DATEFORMAT_FULL); + String str = df.format(date); + return str; + } + + /** + * 返回代表当前时间格式化的字符串(格式:yyyy-MM-dd HH:mm:ss.SSS) + * + * @return + */ + public static String getNowString() { + return serialize(getNow(), DATEFORMAT_FULL); + } + + /** + * 返回代表当前日期格式化的字符串的数字(格式:yyyyMMdd) + * + * @return + */ + public static int getNowOnlyDateShortString() { + return Integer.parseInt(serialize(getNow(), DATEFORMAT_ONLY_DATE_SHORT)); + } + + /** + * 返回代表当前时间格式化的字符串 + * + * @return + */ + public static String getNowString(String dateFormat) { + return serialize(getNow(), dateFormat); + } + + /** + * 返回一个代表当前时间的Date对象 + * + * @return + */ + public static Date getNow() { + return Calendar.getInstance().getTime(); + } + + /** + * 返回代表当前时间的毫秒数 + * + * @return + */ + public static long getNowInInMillis() { + return Calendar.getInstance().getTimeInMillis(); + } + + /** + * 获取当前日期加上指定时间长度以后的Date + * + * @param timeUnit 时间单位 + * @param account 添加到calendarTimeField的时间或日期数量 + * @return + */ + public static Date getDate(TimeUnit timeUnit, int account) { + Calendar calendar = Calendar.getInstance(); + calendar.add(timeUnit.getValue(), account); + return calendar.getTime(); + } + + /** + * 加减指定单位的时间 + * + * @param date + * @param timeUnit + * @param account + * @return + */ + public static Date add(Date date, TimeUnit timeUnit, int account) { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + calendar.add(timeUnit.getValue(), account); + return calendar.getTime(); + } + + public static String add(Date date, TimeUnit timeUnit, int account,String dateformat) { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + calendar.add(timeUnit.getValue(), account); + Date time = calendar.getTime(); + DateFormat format = new SimpleDateFormat(dateformat); + + return format.format(time); + } + + /** + * 获取指定的timestamp + * + * @param timeUnit 时间单位 + * @param account 添加到calendarTimeField的时间或日期数量 + * @return + */ + public static long getTimeInMillis(TimeUnit timeUnit, int account) { + Calendar calendar = Calendar.getInstance(); + calendar.add(timeUnit.getValue(), account); + return calendar.getTimeInMillis(); + } + + /** + * 函数功能描述:UTC时间转本地时间格式 + * + * @param datetime 日期字符串 + * @return 本地日期 + */ + private static Date parse(String datetime) throws ParseException { + boolean isUTC = false; + String utcTimePattern = "yyyy-MM-dd"; + String subTime = datetime.substring(10);// UTC时间格式以 yyyy-MM-dd 开头,将utc时间的前10位截取掉,之后是含有多时区时间格式信息的数据 + + // 处理当后缀为:+8:00时,转换为:+08:00 或 -8:00转换为-08:00 + if (subTime.indexOf("+") != -1) { + subTime = changeUtcSuffix(subTime, "+"); + } else if (subTime.indexOf("-") != -1) { + subTime = changeUtcSuffix(subTime, "-"); + } + datetime = datetime.substring(0, 10) + subTime; + + // 依据传入函数的utc时间,得到对应的utc时间格式 + // 步骤一:处理 T + if (datetime.indexOf("T") != -1) { + utcTimePattern += "'T'"; + } + + // 步骤二:处理毫秒SSS + if (StringUtils.hasText(subTime)) { + if (datetime.indexOf(".") != -1) { + utcTimePattern = utcTimePattern + "HH:mm:ss.SSS"; + } else if (subTime.indexOf("+") == -1 || subTime.indexOf("-") == -1 || subTime.indexOf("Z") == -1) { + List list = Arrays.asList("HH:mm:ss".split("[:]")); + utcTimePattern = utcTimePattern + String.join(":", list.subList(0, subTime.split("[:]").length)); + } else { + utcTimePattern = utcTimePattern + "HH:mm:ss"; + } + } + + // 步骤三:处理时区问题 + if (subTime.indexOf("+") != -1 || subTime.indexOf("-") != -1) { + utcTimePattern += "XXX"; + isUTC = true; + } else if (subTime.indexOf("Z") != -1) { + utcTimePattern += "'Z'"; + isUTC = true; + } + + + SimpleDateFormat utcFormater = new SimpleDateFormat(utcTimePattern); + if (isUTC) { + utcFormater.setTimeZone(TimeZone.getTimeZone("UTC")); + } + Date date = utcFormater.parse(datetime); + return date; + + } + + /** + * 函数功能描述:修改时间格式后缀 + * 函数使用场景:处理当后缀为:+8:00时,转换为:+08:00 或 -8:00转换为-08:00 + * + * @param subTime + * @param sign + * @return + */ + private static String changeUtcSuffix(String subTime, String sign) { + String timeSuffix = null; + String[] splitTimeArrayOne = subTime.split("[" + sign + "]"); + String[] splitTimeArrayTwo = splitTimeArrayOne[1].split(":"); + if (splitTimeArrayTwo[0].length() < 2) { + timeSuffix = sign + "0" + splitTimeArrayTwo[0] + ":" + splitTimeArrayTwo[1]; + subTime = splitTimeArrayOne[0] + timeSuffix; + return subTime; + } + return subTime; + } + + public static long pastDays(Date date) { + long t = System.currentTimeMillis() - date.getTime(); + return t / (24 * 60 * 60 * 1000); + } + + public static Date addDays(Date date, int days) { + Calendar cal = Calendar.getInstance(); + cal.setTime(date); + cal.add(Calendar.DATE, days); // minus number would decrement the days + return cal.getTime(); + } + + public static Date localDateToDate(LocalDate localDate) { + ZoneId zoneId = ZoneId.systemDefault(); + ZonedDateTime zdt = localDate.atStartOfDay(zoneId); + + Date date = Date.from(zdt.toInstant()); + return date; + } + + public static LocalDate dateToLocalDate(Date date) { + LocalDate localDate = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate(); + return localDate; + } + + public static LocalDate stringToLcalDate(String timeStr, String format) { + + LocalDate parse = LocalDate.parse(timeStr, DateTimeFormatter.ofPattern(format)); + return parse; + + } + + public static Date localDateTimeToDate(LocalDateTime localDateTime) { + ZoneId zoneId = ZoneId.systemDefault(); + ZonedDateTime zdt = localDateTime.atZone(zoneId); + + Date date = Date.from(zdt.toInstant()); + return date; + } + + public static LocalDateTime dateToLocalDateTime(Date date) { + LocalDateTime LocalDateTime = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime(); + return LocalDateTime; + } + + public static String getRemainingTime(Date future) { + long seconds = (future.getTime() - System.currentTimeMillis()) / 1000; + + int secondsPerDay = 86400; + int secondsPerHour = 3600; + int secondsPerMinute = 60; + + if (seconds < 0) { + return "-"; + } + + StringBuilder stringBuilder = new StringBuilder(); + if (seconds > secondsPerDay) { + stringBuilder.append(seconds / secondsPerDay).append("天"); + seconds -= seconds / secondsPerDay * secondsPerDay; + } + + + if (seconds > secondsPerHour) { + stringBuilder.append(seconds / secondsPerHour).append("时"); + seconds -= seconds / secondsPerHour * secondsPerHour; + } else if (stringBuilder.length() > 0) { + stringBuilder.append(0).append("时"); + } + + if (seconds > secondsPerMinute) { + stringBuilder.append(seconds / secondsPerMinute).append("分"); + seconds -= seconds / secondsPerMinute * secondsPerMinute; + } else if (stringBuilder.length() > 0) { + stringBuilder.append(0).append("分"); + } + + stringBuilder.append(seconds).append("秒"); + return stringBuilder.toString(); + + } + + public static Long getTimeDifference(Date beginDate, Date endDate, TimeUnit timeUnit) { + long beginTime = beginDate.getTime(); + long endTime = endDate.getTime(); + int unit = 1; + if (timeUnit.getValue() == Calendar.DAY_OF_YEAR) { + unit = 1000 * 60 * 60 * 24; + } + // 其他单位待完善 + long betweenDays = (long) ((endTime - beginTime) / unit + 0.5); + return betweenDays; + } + + /** + * 获取当日剩余时间,单位:秒 + * + * @return + */ + public static long getTodayRemainingTimeInSecond() { + Instant end = LocalDate.now().atStartOfDay(ZoneId.systemDefault()).plusDays(1).plus(-1, ChronoUnit.SECONDS) + .toInstant(); + long seconds = Duration.between(Instant.now(), end).toMillis() / 1000; + return seconds; + } + + /** + * 获取距离指定日期的剩余时间,单位:秒 + * + * @return + */ + public static Integer getRemainSecondsOneDay(LocalDateTime localDateTime) { + long seconds = ChronoUnit.SECONDS.between(LocalDateTime.now(), localDateTime); + return (int) seconds; + } + + /** + * 获取N日内剩余时间,单位:秒 + * + * @return + */ + public static long getDaysRemainingTimeInSecond(Long days) { + Instant end = LocalDate.now().atStartOfDay(ZoneId.systemDefault()).plusDays(days).plus(-1, ChronoUnit.SECONDS) + .toInstant(); + long seconds = Duration.between(Instant.now(), end).toMillis() / 1000; + return seconds; + } + + /** + * 解析字符串为LocalTime + * + * @param source + * @return + */ + public static LocalTime parseTime(String source) { + + String timePattern = ""; + + if (source.indexOf(".") != -1) { + timePattern = FULL_TIME_PATTERN; + } else { + timePattern = FULL_TIME_PATTERN.substring(0, FULL_TIME_PATTERN.indexOf(".")); + timePattern = Joiner.on(":") + .join(Arrays.asList(timePattern.split("[:]")).subList(0, source.split("[:]").length)); + } + + return LocalTime.parse(source, DateTimeFormatter.ofPattern(timePattern)); + } + + /** + * 产生指定日期的随机时间点 + * + * @param localDate + * @param startTime + * @param endTime + * @return + */ + public static Date getRandomTime(LocalDate localDate, LocalTime startTime, LocalTime endTime) { + int offsetSeconds = 0; + int compared = startTime.compareTo(endTime); + if (compared != 0) { + Duration duration = Duration.between(startTime, endTime); + offsetSeconds = new Random().nextInt((int) Math.abs(duration.toMillis() / 1000)); + } + + LocalTime randomTime = (compared < 0 ? startTime : endTime).plusSeconds(offsetSeconds); + return Date.from(LocalDateTime.of(localDate, randomTime).atZone(ZoneOffset.systemDefault()).toInstant()); + } + + /** + * 合并localDate和localTime为Date + * + * @param localDate + * @param localTime + * @return + */ + public static Date combine(LocalDate localDate, LocalTime localTime) { + return Date.from(LocalDateTime.of(localDate, localTime).atZone(ZoneOffset.systemDefault()).toInstant()); + } + + public static LocalTime min(LocalTime a, LocalTime b) { + return a.isBefore(b) ? a : b; + } + + public static LocalTime max(LocalTime a, LocalTime b) { + return a.isAfter(b) ? a : b; + } + + public static long getMinutesBetween(LocalDateTime a, LocalDateTime b) { + val duration = Duration.between(a, b); + return duration.toMinutes(); + } + + public static LocalDateTime getMinLocalDateTime() { + return LocalDateTime.of(1900, 1, 1, 0, 0, 0); + } + + public static LocalDate getMinLocalDate() { + return LocalDate.of(1900, 1, 1); + } + + + public static int compare(LocalDateTime small, LocalDateTime large) { + return small.isBefore(large) ? -1 : small.equals(large) ? 0 : 1; + } + + public static String escapeBy(LocalDateTime start, LocalDateTime now) { + Duration duration = Duration.between(start, now); + if (duration.toHours() < 1) { + return "刚刚"; + } else if (duration.toDays() < 1) { + return String.format("%d小时前", duration.toHours()); + } else { + return String.format("%d天前", duration.toDays()); + } + } + + public static LocalDateTime parseStringToDateTime(String dateTime) { + if (StringUtils.isEmpty(dateTime)) { + return null; + } + LocalDateTime localDateTime = LocalDateTime.parse(dateTime, DateTimeFormatter.ofPattern(DATEFORMAT_STANDARD)); + return localDateTime; + } + + /** + * 获取当前小时 + * + * @return + */ + public static int getHour() { + Calendar calendar = Calendar.getInstance(); + int hour = calendar.get(Calendar.HOUR_OF_DAY); // 24小时制 + return hour; + } + + + public enum TimeUnit { + YEAR(Calendar.YEAR), + MONTH(Calendar.MONTH), + DAY(Calendar.DAY_OF_YEAR), + HOUR(Calendar.HOUR_OF_DAY), + MINUTE(Calendar.MINUTE), + SECOND(Calendar.SECOND), + MILLISECOND(Calendar.MILLISECOND); + + + private int v; + + TimeUnit(int value) { + this.v = value; + } + + int getValue() { + return this.v; + } + } + + public static LocalDateTime strToLocalDateTime(String strLocalTime, String dft) { + // 1.具有转换功能的对象 + DateTimeFormatter df = DateTimeFormatter.ofPattern(dft); + // 2.要转换的对象 + LocalDateTime time = LocalDateTime.now(); + + // 3.发动功能 + String localTime = df.format(time); + System.out.println("LocalDateTime转成String类型的时间:" + localTime); + + // 3.LocalDate发动,将字符串转换成 df格式的LocalDateTime对象,的功能 + LocalDateTime LocalTime = LocalDateTime.parse(strLocalTime, df); + return LocalTime; + } + + public static int getMonth(LocalDate localDate) { + return localDate.getMonthValue(); + } + + public static int getWeekOfYear(String date,String format) { + SimpleDateFormat df=new SimpleDateFormat(format); + Calendar calendar = Calendar.getInstance(); + try { + calendar.setTime(df.parse(date)); + } catch (ParseException e) { + e.printStackTrace(); + } + //设置每周第一天为周一 默认每周第一天为周日 + calendar.setFirstDayOfWeek(Calendar.MONDAY); + //获取当前日期所在周周日 + calendar.set(Calendar.DAY_OF_WEEK,Calendar.SUNDAY); + return calendar.get(Calendar.WEEK_OF_YEAR); + } + + +// public static void main(String[] args) { +// System.out.println(DateHelper.getWeekOfYear(DateHelper.serialize(DateHelper.addDays(new Date(),-6),"yyyy-MM-dd"),"yyyy-MM-dd")); +// } + + public static LocalDate parseLocalDate(String localDateStr, String dateFormat) { + return LocalDate.parse(localDateStr, DateTimeFormatter.ofPattern(dateFormat)); + } + public static LocalDate getFirstDayOfMonth(LocalDate localDate){ + return localDate.with(TemporalAdjusters.firstDayOfMonth()); + } + public static LocalDate getLastDayOfMonth(LocalDate localDate){ + return localDate.with(TemporalAdjusters.lastDayOfMonth()); + } + + /** + * 获取两时间间隔天数 + * @param statrDate + * @param endDate + * @return + */ + public static Long getDateIntervalDay(String statrDate,String endDate){ + + DateFormat dft = new SimpleDateFormat("yyyy-MM-dd"); + try { + Date star = dft.parse(statrDate);//开始时间 + Date endDay=dft.parse(endDate);//结束时间 + Long starTime=star.getTime(); + Long endTime=endDay.getTime(); + Long num=endTime-starTime;//时间戳相差的毫秒数 + return num/24/60/60/1000; + } catch (ParseException e) { + e.printStackTrace(); + } + return 0L; + } + + + //获得前一天对应的月份第一天 + public static String getPerDayMonthFirstDay(String dt,int month) { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + Date star = null; + try { + star = sdf.parse(dt);//开始时间 + } catch (ParseException e) { + e.printStackTrace(); + } + + + Calendar rightNow = Calendar.getInstance(); + rightNow.setTime(star); + rightNow.add(Calendar.DAY_OF_YEAR, -1); + rightNow.set(Calendar.DAY_OF_MONTH, 1); + Date dt1 = rightNow.getTime(); + return getDateMonthFirstDay(dt1,-(month - 1)); + } + + public static String getPerDayMonthFirstDay(Date dt,int month) { + Calendar rightNow = Calendar.getInstance(); + rightNow.setTime(dt); + rightNow.add(Calendar.DAY_OF_YEAR, -1); + rightNow.set(Calendar.DAY_OF_MONTH, 1); + Date dt1 = rightNow.getTime(); + return getDateMonthFirstDay(dt1,-(month - 1)); + } + + //获得指定月份第一天 + public static String getDateMonthFirstDay(Date dt,int month) { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + Calendar rightNow = Calendar.getInstance(); + rightNow.setTime(dt); + rightNow.add(Calendar.MONTH, month); + rightNow.set(Calendar.DAY_OF_MONTH, 1); + Date dt1 = rightNow.getTime(); + String reStr = sdf.format(dt1); + return reStr; + } + + /** + * 获取指定日期所属季度 + * @param localDate + * @return + */ + public static int getQuarter(LocalDate localDate){ + int month = localDate.getMonthValue(); + int quarter = (month + 2) / 3; + System.out.println("当前季度为:" + quarter); + return quarter; + } + + /** + * 获取今年第一天 + * @return + */ + public static String getFirstDayByYear(){ + Calendar currCal=Calendar.getInstance(); + Calendar calendar = Calendar.getInstance(); + calendar.clear(); + calendar.set(Calendar.YEAR,currCal.get(Calendar.YEAR)); + Date time = calendar.getTime(); + SimpleDateFormat format = new SimpleDateFormat(DateHelper.DATEFORMAT_STANDARD); + String firstday = format.format(time); + return firstday; + } + public static Boolean isNullOrEmpty(LocalDateTime localDateTime){ + return localDateTime == null || localDateTime.equals(UNIX_START_LOCAL_DATE_TIME); + } + + /** + * 获取当前时间前一天零点 + * @return + */ + public static LocalDateTime getPreDayStart(){ + // 获取当前日期和时间 + LocalDateTime now = LocalDateTime.now(); + + // 获取当前日期 + LocalDate currentDate = now.toLocalDate(); + + // 使用当前日期减去一天得到前一天的日期 + LocalDate previousDate = currentDate.minusDays(1); + + // 构造前一天的零点时间 + LocalDateTime previousDayStart = LocalDateTime.of(previousDate, LocalTime.MIN); + + return previousDayStart; + } + + public static int getWeekday(String dateStr) { + // 定义日期格式 + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + // 解析字符串为LocalDate对象 + LocalDate date = LocalDate.parse(dateStr, formatter); + // 获取本周第一天 + LocalDate firstDayOfWeek = date.with(DayOfWeek.MONDAY); + // 计算与本周第一天相差的天数,加1得到本周第几天(星期一为第一天) + return date.getDayOfWeek().getValue() - firstDayOfWeek.getDayOfWeek().getValue() + 1; + } + + +} diff --git a/car-common/src/main/java/com/weiqi/mis/DateUtil.java b/car-common/src/main/java/com/weiqi/mis/DateUtil.java new file mode 100644 index 0000000..760cb80 --- /dev/null +++ b/car-common/src/main/java/com/weiqi/mis/DateUtil.java @@ -0,0 +1,1113 @@ +/** + * + */ +package com.weiqi.mis; + +import com.google.common.base.Strings; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.sql.Timestamp; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.*; + +/** + * @类名 DateUtil + * @描述: TODO + * @创建人 yyy + * @创建时间 2024年3月23日 + * @版本 v1.0 + */ +public class DateUtil { + private static final Logger logger = LoggerFactory.getLogger(DateUtil.class); + + /** + * 字符串转换成日期 + * + * @param dateString + * 日期串 + * @param model + * 日期串的格式 ,如:yyyy-mm-dd + * @return + * @throws Exception + */ + public static Date string2Date(String dateString, String model) { + Date date = null; + SimpleDateFormat sdf = new SimpleDateFormat(model); + try { + date = sdf.parse(dateString); + + if (!dateString.equals(sdf.format(date))) { + date = null; + } + } catch (ParseException e) { + logger.error("DateUtil.String2Date error!"); + e.printStackTrace(); + } + return date; + } + + /** + * utc 时间格式转换正常格式 2018-08-07T03:41:59Z + * + * @param utcTime + * 时间 + * @return + */ + public static String formatStrUTCToDateStr(String utcTime) { + SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'", Locale.US); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + TimeZone utcZone = TimeZone.getTimeZone("UTC"); + sf.setTimeZone(utcZone); + Date date = null; + String dateTime = ""; + try { + date = sf.parse(utcTime); + dateTime = sdf.format(date); + } catch (ParseException e) { + e.printStackTrace(); + } + return dateTime; + } + + /** + * 当前日期加减n天的日期 + * + * @param n + * 正数加,负数减 + * @return + */ + public static Date nDaysAfterNowDate(int n) { + Calendar rightNow = Calendar.getInstance(); + rightNow.add(Calendar.DAY_OF_MONTH, +n); + return rightNow.getTime(); + } + + /** + * dateToDate + * + * @param date + * 日期 + * @param model + * 转换成的格式 如:yyyy-MM-dd HH:mm:ss + * @return + */ + public static Date getFormatDate(Date date, String model) { + SimpleDateFormat sdf = new SimpleDateFormat(model); + Date formatdate = null; + try { + formatdate = sdf.parse(sdf.format(date)); + } catch (ParseException e) { + logger.error("日期转换失败", e); + } + return formatdate; + } + + /** + * 日期转换成字符串 + * + * @param date + * @param model + * 如yyyyMMdd + * @return + */ + public static String Date2String(Date date, String model) { + SimpleDateFormat sdf = new SimpleDateFormat(model); + String strdate = sdf.format(date); + return strdate; + } + + /** + * 返回8位当前系统时间 + * + * @return + */ + public static String Date2String8() { + SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); + String strdate = sdf.format(new Date()); + return strdate; + } + + /** + * 判定传入时间是否是当天 + * + * @param date + * 日期 + * @return + */ + public static boolean isTodayDate(Date date) { + boolean ret = false; + SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); + String compDay = null; + try { + compDay = sdf.format(date); + String today = sdf.format(new Date()); + if (compDay.equals(today)) { + ret = true; + } + } catch (Exception e) { + logger.error("日期比较失败", e); + } + return ret; + } + + /** + * 大于当天 true 否则 false + * + * @param str + * 日期 + * @param + * @return + */ + public static boolean compareToday(String str) { + boolean ret = false; + if (str == null || str.length() == 0) { + return ret; + } + SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); + String strdate = sdf.format(new Date()); + try { + if (strdate.compareTo(str) <= 0) { + return true; + } else { + return false; + } + + } catch (Exception e) { + logger.error("日期比较失败", e); + + } + return ret; + } + + /** + * 给定时间在某一时间范围内 + * + * @param start + * 日期格式为 yyyy-MM-dd + * @param end + * 日期格式为 yyyy-MM-dd + * @param appoint + * 日期格式为 yyyy-MM-dd + * @return + */ + public static boolean compareBetweenAnd(String start, String end, String appoint) { + boolean ret = false; + if ((start == null || start.length() == 0) || (end == null || end.length() == 0)) { + return ret; + } + try { + if ((appoint.compareTo(start) >= 0) && (appoint.compareTo(end) <= 0)) { + return true; + } else { + return false; + } + + } catch (Exception e) { + logger.error("日期比较失败", e); + + } + return ret; + } + + /** + * 给定时间在某一时间范围内不含等号 + * + * @param start + * 日期格式为 yyyy-MM-dd + * @param end + * 日期格式为 yyyy-MM-dd + * @param appoint + * 日期格式为 yyyy-MM-dd + * @return + */ + public static boolean compareBetweenAndNOT(String start, String end, String appoint) { + boolean ret = false; + if ((start == null || start.length() == 0) || (end == null || end.length() == 0)) { + return ret; + } + try { + if ((appoint.compareTo(start) < 0) || (appoint.compareTo(end) > 0)) { + return true; + } else { + return false; + } + + } catch (Exception e) { + logger.error("日期比较失败", e); + + } + return ret; + } + + // 获取当天的开始时间 + public static Date getDayBegin() { + Calendar cal = new GregorianCalendar(); + cal.set(Calendar.HOUR_OF_DAY, 0); + cal.set(Calendar.MINUTE, 0); + cal.set(Calendar.SECOND, 0); + cal.set(Calendar.MILLISECOND, 0); + return cal.getTime(); + } + + // 获取当天的结束时间 + public static Date getDayEnd() { + Calendar cal = new GregorianCalendar(); + cal.set(Calendar.HOUR_OF_DAY, 23); + cal.set(Calendar.MINUTE, 59); + cal.set(Calendar.SECOND, 59); + return cal.getTime(); + } + + // 获取昨天的开始时间 + public static Date getBeginDayOfYesterday() { + Calendar cal = new GregorianCalendar(); + cal.setTime(getDayBegin()); + cal.add(Calendar.DAY_OF_MONTH, -1); + return cal.getTime(); + } + + // 获取昨天的结束时间 + public static Date getEndDayOfYesterDay() { + Calendar cal = new GregorianCalendar(); + cal.setTime(getDayEnd()); + cal.add(Calendar.DAY_OF_MONTH, -1); + return cal.getTime(); + } + + // 获取明天的开始时间 + public static Date getBeginDayOfTomorrow() { + Calendar cal = new GregorianCalendar(); + cal.setTime(getDayBegin()); + cal.add(Calendar.DAY_OF_MONTH, 1); + + return cal.getTime(); + } + + // 获取明天的结束时间 + public static Date getEndDayOfTomorrow() { + Calendar cal = new GregorianCalendar(); + cal.setTime(getDayEnd()); + cal.add(Calendar.DAY_OF_MONTH, 1); + return cal.getTime(); + } + + // 获取本周的开始时间 + public static Date getBeginDayOfWeek() { + Date date = new Date(); + if (date == null) { + return null; + } + Calendar cal = Calendar.getInstance(); + cal.setTime(date); + int dayofweek = cal.get(Calendar.DAY_OF_WEEK); + if (dayofweek == 1) { + dayofweek += 7; + } + cal.add(Calendar.DATE, 2 - dayofweek); + return getDayStartTime(cal.getTime()); + } + + // 获取本周的结束时间 + public static Date getEndDayOfWeek() { + Calendar cal = Calendar.getInstance(); + cal.setTime(getBeginDayOfWeek()); + cal.add(Calendar.DAY_OF_WEEK, 6); + Date weekEndSta = cal.getTime(); + return getDayEndTime(weekEndSta); + } + + // 获取本月的开始时间 + public static Date getBeginDayOfMonth() { + Calendar calendar = Calendar.getInstance(); + calendar.set(getNowYear(), getNowMonth() - 1, 1); + return getDayStartTime(calendar.getTime()); + } + + // 指定月的开始时间 + public static Date getBeginDayOfMonth(int year, int month) { + Calendar calendar = Calendar.getInstance(); + calendar.set(year, month - 1, 1); + return getDayStartTime(calendar.getTime()); + } + + // 获取本月的开始时间 + public static String getBeginDayOfMonthStr() { + Calendar calendar = Calendar.getInstance(); + calendar.set(getNowYear(), getNowMonth() - 1, 1); + + return Date2String(getDayStartTime(calendar.getTime()), "yyyy-MM-dd") + " 00:00:00"; + } + + // 获取本月的结束时间 + public static String getEndDayOfMonth() { + Calendar calendar = Calendar.getInstance(); + calendar.set(getNowYear(), getNowMonth() - 1, 1); + int day = calendar.getActualMaximum(5); + calendar.set(getNowYear(), getNowMonth() - 1, day); + + return Date2String(getDayEndTime(calendar.getTime()), "yyyy-MM-dd") + " 00:00:00"; + } + + // 获取本月的结束时间 + public static Date getEndDayOfMonthStr() { + Calendar calendar = Calendar.getInstance(); + calendar.set(getNowYear(), getNowMonth() - 1, 1); + int day = calendar.getActualMaximum(5); + calendar.set(getNowYear(), getNowMonth() - 1, day); + return getDayEndTime(calendar.getTime()); + } + + // 指定月的结束时间 + public static Date getEndDayOfMonth(int year, int month) { + Calendar calendar = Calendar.getInstance(); + calendar.set(year, month - 1, 1); + int day = calendar.getActualMaximum(5); + calendar.set(year, month - 1, day); + return getDayEndTime(calendar.getTime()); + } + + // 获取本年的开始时间 + public static Date getBeginDayOfYear() { + Calendar cal = Calendar.getInstance(); + cal.set(Calendar.YEAR, getNowYear()); + // cal.set + cal.set(Calendar.MONTH, Calendar.JANUARY); + cal.set(Calendar.DATE, 1); + + return getDayStartTime(cal.getTime()); + } + + // 获取本年的结束时间 + public static Date getEndDayOfYear() { + Calendar cal = Calendar.getInstance(); + cal.set(Calendar.YEAR, getNowYear()); + cal.set(Calendar.MONTH, Calendar.DECEMBER); + cal.set(Calendar.DATE, 31); + return getDayEndTime(cal.getTime()); + } + + // 获取某个日期的开始时间 + public static Timestamp getDayStartTime(Date d) { + Calendar calendar = Calendar.getInstance(); + if (null != d) { + calendar.setTime(d); + } + calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH), 0, + 0, 0); + calendar.set(Calendar.MILLISECOND, 0); + return new Timestamp(calendar.getTimeInMillis()); + } + + // 获取某个日期的结束时间 + public static Timestamp getDayEndTime(Date d) { + Calendar calendar = Calendar.getInstance(); + if (null != d) { + calendar.setTime(d); + } + calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH), 23, + 59, 59); + calendar.set(Calendar.MILLISECOND, 999); + return new Timestamp(calendar.getTimeInMillis()); + } + + // 获取今年是哪一年 + public static Integer getNowYear() { + Date date = new Date(); + GregorianCalendar gc = (GregorianCalendar)Calendar.getInstance(); + gc.setTime(date); + return Integer.valueOf(gc.get(1)); + } + + // 获取本月是哪一月 + public static int getNowMonth() { + Date date = new Date(); + GregorianCalendar gc = (GregorianCalendar)Calendar.getInstance(); + gc.setTime(date); + return gc.get(2) + 1; + } + + // 两个日期相减得到的天数 + public static int getDiffDays(Date beginDate, Date endDate) { + + if (beginDate == null || endDate == null) { + throw new IllegalArgumentException("getDiffDays param is null!"); + } + + long diff = (endDate.getTime() - beginDate.getTime()) / (1000 * 60 * 60 * 24); + + int days = new Long(diff).intValue(); + + return days + 1; + } + + // 两个日期相减得到的毫秒数 + public static long dateDiff(Date beginDate, Date endDate) { + long date1ms = beginDate.getTime(); + long date2ms = endDate.getTime(); + return date2ms - date1ms; + } + + // 获取两个日期中的最大日期 + public static Date max(Date beginDate, Date endDate) { + if (beginDate == null) { + return endDate; + } + if (endDate == null) { + return beginDate; + } + if (beginDate.after(endDate)) { + return beginDate; + } + return endDate; + } + + // 获取两个日期中的最小日期 + public static Date min(Date beginDate, Date endDate) { + if (beginDate == null) { + return endDate; + } + if (endDate == null) { + return beginDate; + } + if (beginDate.after(endDate)) { + return endDate; + } + return beginDate; + } + + // 返回某月该季度的第一个月 + public static Date getFirstSeasonDate(Date date) { + final int[] SEASON = {1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4}; + Calendar cal = Calendar.getInstance(); + cal.setTime(date); + int sean = SEASON[cal.get(Calendar.MONTH)]; + cal.set(Calendar.MONTH, sean * 3 - 3); + return cal.getTime(); + } + + // 返回某个日期下几天的日期 + public static Date getNextDay(Date date, int i) { + Calendar cal = new GregorianCalendar(); + cal.setTime(date); + cal.set(Calendar.DATE, cal.get(Calendar.DATE) + i); + return cal.getTime(); + } + + // 返回某个日期前几天的日期 + public static Date getFrontDay(Date date, int i) { + Calendar cal = new GregorianCalendar(); + cal.setTime(date); + cal.set(Calendar.DATE, cal.get(Calendar.DATE) - i); + return cal.getTime(); + } + + // 获取某年某月到某年某月按天的切片日期集合(间隔天数的集合) + public static List getTimeList(int beginYear, int beginMonth, int endYear, int endMonth, int k) { + List list = new ArrayList(); + if (beginYear == endYear) { + for (int j = beginMonth; j <= endMonth; j++) { + list.add(getTimeList(beginYear, j, k)); + + } + } else { + { + for (int j = beginMonth; j < 12; j++) { + list.add(getTimeList(beginYear, j, k)); + } + + for (int i = beginYear + 1; i < endYear; i++) { + for (int j = 0; j < 12; j++) { + list.add(getTimeList(i, j, k)); + } + } + for (int j = 0; j <= endMonth; j++) { + list.add(getTimeList(endYear, j, k)); + } + } + } + return list; + } + + // 获取某年某月按天切片日期集合(某个月间隔多少天的日期集合) + public static List getTimeList(int beginYear, int beginMonth, int k) { + List list = new ArrayList(); + Calendar begincal = new GregorianCalendar(beginYear, beginMonth, 1); + int max = begincal.getActualMaximum(Calendar.DATE); + for (int i = 1; i < max; i = i + k) { + list.add(begincal.getTime()); + begincal.add(Calendar.DATE, k); + } + begincal = new GregorianCalendar(beginYear, beginMonth, max); + list.add(begincal.getTime()); + return list; + } + + public static String UTCToCST(String UTCStr, String format) { + try { + if (UTCStr.length() == 19) { + return UTCStr; + } else { + return UTCStr.substring(0, 19); + } + // if(format==null){ + // if(UTCStr.length()==19){ + // format = "yyyy-MM-dd'T'HH:mm:ss"; + // }else{ + // + // format = "yyyy-MM-dd'T'HH:mm:ss.SSS"; + // } + // } + // + // Date date = null; + // SimpleDateFormat sdf = new SimpleDateFormat(format); + // date = sdf.parse(UTCStr); + //// System.out.println("UTC时间: " + date); + // Calendar calendar = Calendar.getInstance(); calendar.setTime(date); + // calendar.set(Calendar.HOUR, calendar.get(Calendar.HOUR) + 8); //calendar.getTime() + // 返回的是Date类型,也可以使用calendar.getTimeInMillis()获取时间戳 + //// System.out.println("北京时间: " + calendar.getTime()); + // + // SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + // String strdate = sdf1.format(calendar.getTime()); + // + // return strdate; + } catch (Exception e) { + return UTCStr; + } + } + + // 获取当前时间1-5秒统一归位1秒 + public static Date getCurrentTimeFormate() { + + Date d = new Date(); + Calendar now = Calendar.getInstance(); + now.setTime(d); + int second = now.get(Calendar.SECOND); + int sechigh = second / 10; + int sec = second % 10; + // System.out.println(second); + if (sec < 5) { + sec = sechigh * 10; + } else { + sec = sechigh * 10 + 5; + } + now.set(Calendar.SECOND, sec); + // logger.error("--------当前时间,计算时间-------{}---{}---------{}",second,sec,now.getTime()); + return now.getTime(); + } + + // 获取当前时间1-5秒统一归位1秒 + public static long getCurrentTimeLong() { + + Date d = new Date(); + Calendar now = Calendar.getInstance(); + now.setTime(d); + int second = now.get(Calendar.SECOND); + int sechigh = second / 10; + int sec = second % 10; + // System.out.println(second); + if (sec < 5) { + sec = sechigh * 10; + } else { + sec = sechigh * 10 + 5; + } + now.set(Calendar.SECOND, sec); + + // System.out.println("+++++"+now.getTime()); + String time = now.getTime().getTime() + ""; + String rettime = time.substring(0, 10) + "000"; + // logger.error("--------当前时间,计算时间-------{}---{}---------{},{}",second,sec,now.getTime(),rettime); + return Long.valueOf(rettime); + } + + // 获取当前时间1-5秒统一归位1秒 + public static long getCurrentTimeLong(String date) { + + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + try { + Date d = sdf.parse(date); + Calendar now = Calendar.getInstance(); + now.setTime(d); + int second = now.get(Calendar.SECOND); + int sechigh = second / 10; + int sec = second % 10; + if (sec < 5) { + sec = sechigh * 10; + } else { + sec = sechigh * 10 + 5; + } + now.set(Calendar.SECOND, sec); + String time = now.getTime().getTime() + ""; + String rettime = time.substring(0, 10) + "000"; + + return Long.valueOf(rettime); + } catch (Exception e) { + logger.error("{}", e); + } + + return 0; + + } + + public static void main(String[] args) throws ParseException { +// +// System.currentTimeMillis(); +// System.out.println(getCurrentTimeFormate().getTime()); +// System.out.println(getCurrentTimeLong()); + + System.out.println(getExpireByTtl("D",1,new Date()).getTime()); + + // System.out.println(formatShopTime2String("2024-12-12")); + // + // System.out.println(getDateBeforeSecond( 7)); + // System.out.println(Date2String8().compareTo("20241109")); + // System.out.println(monthBeforeToString(new Date(),3)); + // System.out.println(dayBefore(string2Date("2018-03-01", "yyyy-MM-dd"), 90, null)); + // List local = getBetweenDates("2018-03-01", "2018-04-22","yyyy-MM-dd", true); + // System.out.println(local.get(0).toString()); + // System.out.println(daysBetweenDates(string2Date("2024-07-04 11:20:20","yyyy-MM-dd + // HH:mm:ss"),string2Date("2024-06-30 12:30:40","yyyy-MM-dd HH:mm:ss"))); + + // System.out.println(getDateBeforeTimeMillis(365)); + // System.out.println(getDateBeforeTimeMillis(0)); + // System.out.println(getDateBefore(0)); + // System.out.println(System.currentTimeMillis()); + + } + + /** + * 返回指定格式时间 + * + * @param strY + * 原来时间字符串 + * @param strYGS + * 原时间格式 + * @return + */ + public static String string2String(String strY, String strYGS, String strMGS) { + SimpleDateFormat s = new SimpleDateFormat(strYGS); + String date = strY; + String dat = ""; + Date d; + try { + d = s.parse(date); + SimpleDateFormat ss = new SimpleDateFormat(strMGS); + dat = ss.format(d); + } catch (ParseException e) { + // TODO Auto-generated catch block + dat = "时间格式有误!"; + e.printStackTrace(); + } + return dat; + } + + /** + * 返回时分秒 + * + * @param strY + * 原来时间字符串 + * @return + */ + public static String string2StringSecond(String strY) { + + String date = strY; + if (date == null || date.length() != 6) { + return date; + } + String HH = strY.substring(0, 2); + String mm = strY.substring(2, 4); + String ss = strY.substring(4, 6); + date = HH + ":" + mm + ":" + ss; + return date; + } + + /** + * getTodayBeginTime + * + * @return 当日开始时间 + */ + public static Date getTodayBeginTime() { + Calendar c1 = new GregorianCalendar(); + c1.set(Calendar.HOUR_OF_DAY, 0); + c1.set(Calendar.MINUTE, 0); + c1.set(Calendar.SECOND, 0); + return c1.getTime(); + } + + /** + * getTodayEndTime + * + * @return 当日开始时间 + */ + public static Date getTodayEndTime() { + Calendar c1 = new GregorianCalendar(); + c1.set(Calendar.HOUR_OF_DAY, 23); + c1.set(Calendar.MINUTE, 59); + c1.set(Calendar.SECOND, 59); + return c1.getTime(); + } + + /** + * 得到两个日期之间相差的天数 + * + * @param newDate + * 大的日期 + * @param oldDate + * 小的日期 + * @return newDate-oldDate相差的天数 + */ + public static int daysBetweenDates(Date newDate, Date oldDate) { + int days = 0; + Calendar calo = Calendar.getInstance(); + Calendar caln = Calendar.getInstance(); + calo.setTime(oldDate); + caln.setTime(newDate); + int oday = calo.get(Calendar.DAY_OF_YEAR); + int nyear = caln.get(Calendar.YEAR); + int oyear = calo.get(Calendar.YEAR); + while (nyear > oyear) { + calo.set(Calendar.MONTH, 11); + calo.set(Calendar.DATE, 31); + days = days + calo.get(Calendar.DAY_OF_YEAR); + oyear = oyear + 1; + calo.set(Calendar.YEAR, oyear); + } + int nday = caln.get(Calendar.DAY_OF_YEAR); + days = days + nday - oday; + + return days; + } + + public static String getPerDateDay(int n, String date, String model) { + // n为推迟的天数 -1表示前一天,1后移一天 + SimpleDateFormat f = new SimpleDateFormat(model); + Calendar c = Calendar.getInstance(); + try { + c.setTime(f.parse(date)); + } catch (ParseException e) { + System.out.println(e); + } + + c.add(Calendar.DATE, n); + String day = f.format(c.getTime()); + return day; + } + + /** + * 传递一个数据返回精准的yyyy/mm/dd hh:mm:ss + * + * @param dateStr + * @return + */ + public static String formatDate2String(String dateStr) { + String str = ""; + if (dateStr != null && dateStr.length() == 14) { + String y = dateStr.substring(0, 4); + String m = dateStr.substring(4, 6); + String d = dateStr.substring(6, 8); + String h = dateStr.substring(8, 10); + String fen = dateStr.substring(10, 12); + String sec = dateStr.substring(12, 14); + str = y + "/" + m + "/" + d + " " + h + ":" + fen + ":" + sec; + return str; + } else { + return dateStr; + } + } + + /** + * 传递一个数据返回精准的yyyy-mm-dd 转换成 yyyy年mm月dd日 + * + * @param dateStr + * @return + */ + public static String formatShopTime2String(String dateStr) { + String str = ""; + if (dateStr != null && dateStr.length() == 10) { + String y = dateStr.substring(0, 4); + String m = dateStr.substring(5, 7); + String d = dateStr.substring(8, 10); + str = y + "年" + m + "月" + d + "日"; + return str; + } else { + return dateStr; + } + } + + /** + * 计算几个月前时间 + * + * @param month + * @return + */ + public static Date monthBefore(int month) { + Date dNow = new Date(); // 当前时间 + Date dBefore = new Date(); + Calendar calendar = Calendar.getInstance(); // 得到日历 + calendar.setTime(dNow);// 把当前时间赋给日历 + calendar.add(calendar.MONTH, -month); // 设置为前3月 + dBefore = calendar.getTime(); // 得到前3月的时间 + // SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //设置时间格式 + // String defaultStartDate = sdf.format(dBefore); //格式化前3月的时间 + // System.out.println("前"+month+"个月的时间是:" + defaultStartDate); + return dBefore; + } + + /** + * 计算指定日期几个月前时间 + * + * @param month + * @return + */ + public static Date monthBefore(Date date, int month) { + Calendar calendar = Calendar.getInstance(); // 得到日历 + calendar.setTime(date);// 把当前时间赋给日历 + calendar.add(calendar.MONTH, -month); // 设置为前3月 + Date dBefore = calendar.getTime(); // 得到前3月的时间 + return dBefore; + } + + /** + * 计算几天前时间 + * + * @param day + * @return + */ + public static Date dayBefore(int day) { + Date dNow = new Date(); // 当前时间 + Date dBefore = new Date(); + Calendar calendar = Calendar.getInstance(); // 得到日历 + calendar.setTime(dNow);// 把当前时间赋给日历 + calendar.add(calendar.DATE, -day); // 设置为前3月 + calendar.set(Calendar.HOUR_OF_DAY, 00); + calendar.set(Calendar.MINUTE, 00); + calendar.set(Calendar.SECOND, 00); + dBefore = calendar.getTime(); // 得到前3月的时间 + // SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //设置时间格式 + // String defaultStartDate = sdf.format(dBefore); //格式化前3月的时间 + // System.out.println("前"+month+"个月的时间是:" + defaultStartDate); + return dBefore; + } + + // 获取几天前开始时间 + public static String getDateBefore(int day) { + Date d = new Date(); + Calendar now = Calendar.getInstance(); + now.setTime(d); + now.set(Calendar.DATE, now.get(Calendar.DATE) - day); + now.set(Calendar.HOUR_OF_DAY, 0); + now.set(Calendar.MINUTE, 0); + now.set(Calendar.SECOND, 0); + now.set(Calendar.MILLISECOND, 0); + // System.out.println(now.getTime()); + return Date2String(now.getTime(), "yyyy-MM-dd HH:mm:ss"); + } + + // //获取几天前开始时间 + public static long getDateBeforeTimeMillis(int day) { + Date d = new Date(); + Calendar now = Calendar.getInstance(); + now.setTime(d); + now.set(Calendar.DATE, now.get(Calendar.DATE) - day); + now.set(Calendar.HOUR_OF_DAY, 0); + now.set(Calendar.MINUTE, 0); + now.set(Calendar.SECOND, 0); + now.set(Calendar.MILLISECOND, 0); + return now.getTimeInMillis(); + } + + // 获取几天前结束时间 + public static String getEndDateBefore(int day) { + + Date d = new Date(); + Calendar now = Calendar.getInstance(); + now.setTime(d); + now.set(Calendar.DATE, now.get(Calendar.DATE) - day); + now.set(Calendar.HOUR_OF_DAY, 23); + now.set(Calendar.MINUTE, 59); + now.set(Calendar.SECOND, 59); + return Date2String(now.getTime(), "yyyy-MM-dd HH:mm:ss"); + } + + public static List getMonthBetween(String minDate, String maxDate) throws ParseException { + ArrayList result = new ArrayList(); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");// 格式化为年月 + + Calendar min = Calendar.getInstance(); + Calendar max = Calendar.getInstance(); + + min.setTime(sdf.parse(minDate)); + min.set(min.get(Calendar.YEAR), min.get(Calendar.MONTH), 1); + + max.setTime(sdf.parse(maxDate)); + max.set(max.get(Calendar.YEAR), max.get(Calendar.MONTH), 2); + + Calendar curr = min; + while (curr.before(max)) { + result.add(sdf.format(curr.getTime())); + curr.add(Calendar.MONTH, 1); + } + + return result; + } + + /** + * 获取两个日期之间的日期 + * + * @param beginDate + * @param endDate + * @return + */ + public static List getBetweenDates(String beginDate, String endDate, String fmt, boolean isChoose) { + List result = new ArrayList(); + DateTimeFormatter formatter = null; + if (Strings.isNullOrEmpty(fmt)) { + formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + } else { + formatter = DateTimeFormatter.ofPattern(fmt); + } + LocalDate startTime = LocalDate.parse(beginDate, formatter); + if (!isChoose) { + startTime = startTime.plusDays(1); + } + LocalDate endTime = LocalDate.parse(endDate, formatter); + while (startTime.isBefore(endTime)) { + result.add(startTime); + startTime = startTime.plusDays(1); + } + if (isChoose) { + result.add(endTime); + } + return result; + } + + /** + * 返回当前系统时间 yyyy-MM-dd HH:mm:ss + * + * @return + */ + public static String getCurrentDate(String model) { + SimpleDateFormat sdf = new SimpleDateFormat(model); + String strdate = sdf.format(new Date()); + return strdate; + } + + /** + * 计算到第二天凌晨0点之后点一个随机值,为了防止大面值key失效导致点服务器压力,使其在10分钟之内均匀失效 + * + * @return + */ + public static Long getSecondsNextEarlyMorning() { + int ranmin = new Random().nextInt(10); + int ransec = new Random().nextInt(59); + Calendar cal = Calendar.getInstance(); + cal.add(Calendar.DAY_OF_YEAR, 1); + // 改成这样就好了 + cal.set(Calendar.HOUR_OF_DAY, 0); + cal.set(Calendar.SECOND, ransec); + cal.set(Calendar.MINUTE, ranmin); + cal.set(Calendar.MILLISECOND, 0); + return (cal.getTimeInMillis() - System.currentTimeMillis()) / 1000; + } + + + /** + * 格式为时间单位+正整数。支持年(Y)、月(M)、日(D)、时(H)、分(m)、秒(S)时间单位。 例如Y1(1年),M2(2个月),D3(3天),H4(4小时),m5(5分钟),S6(6秒)。不支持两个单位同时使用。 + * 如果ttl为空,则默认为一个月。 + * + * @param ttlTimeUnit + * @param ttlTime + * @param now + * @return + */ + public static Date getExpireByTtl(String ttlTimeUnit, int ttlTime, Date now) { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(now); + switch (ttlTimeUnit) { + case "Y": + calendar.add(Calendar.YEAR, ttlTime); + break; + case "M": + calendar.add(Calendar.MONTH, ttlTime); + break; + case "D": + calendar.add(Calendar.DATE, ttlTime); + break; + case "H": + calendar.add(Calendar.HOUR, ttlTime); + break; + case "m": + calendar.add(Calendar.MINUTE, ttlTime); + break; + case "S": + calendar.add(calendar.SECOND, ttlTime); + break; + } + return calendar.getTime(); + } + /** + * 获取当前天开始时间 + * @return + */ + public static String getStartOfToday() { + LocalDateTime now = LocalDateTime.now(); // 获取当前时间 + LocalDateTime startOfToday = now.withHour(0).withMinute(0).withSecond(0); // 设置时分秒为0 + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); // 定义日期时间格式 + String startOfTodayStr = startOfToday.format(formatter); // 格式化为字符串 + return startOfTodayStr; + } + + /** + * 返回当前小时前一个小时的时间 + * @return + */ + public static String getBefore1Hour() { + + // 获取当前时间 + LocalDateTime currentTime = LocalDateTime.now(); + + // 减去一小时 + LocalDateTime previousHour = currentTime.minusHours(1); + + // 格式化为字符串 + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + String formattedDateTime = previousHour.format(formatter); + + return formattedDateTime; + } + + /** + * 返回当前系统时间 yyyy-MM-dd HH:mm:ss + * + * @return + */ + // public static String getDateBefore(int n) { + // Calendar calendar = Calendar.getInstance(); + // Date date = new Date(System.currentTimeMillis()); + // calendar.setTime(date); + //// calendar.add(Calendar.WEEK_OF_YEAR, -1); + // calendar.add(Calendar.YEAR, n); + // date = calendar.getTime(); + // System.out.println(date); + // return tt; + // } + + // 获取当前时刻timestamp + + /** + * + * @param model + * @return + */ + public static String getTimestamp( String model) { + String timestamp = ""; + SimpleDateFormat sdf = new SimpleDateFormat(model); + timestamp = sdf.format(new Date()); + return timestamp; + } +} diff --git a/car-common/src/main/java/com/weiqi/mis/DateUtils.java b/car-common/src/main/java/com/weiqi/mis/DateUtils.java new file mode 100644 index 0000000..dba325e --- /dev/null +++ b/car-common/src/main/java/com/weiqi/mis/DateUtils.java @@ -0,0 +1,1271 @@ +package com.weiqi.mis; + +import com.google.common.base.Preconditions; +import org.javatuples.Pair; +import org.joda.time.DateTime; +import org.joda.time.format.DateTimeFormat; +import org.joda.time.format.DateTimeFormatter; + +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.Date; +import java.util.List; + +public class DateUtils extends org.apache.commons.lang3.time.DateUtils { + + public final static int TIME_DAY_MILLISECOND = 86400000; + + public final static int TIME_HOUR_MILLISECOND = 1000 * 60 * 60 * 1; + + public final static int TIME_SECONDS_MILLISECOND = 1000; + + // / + // 定义时间日期显示格式 + // / + public final static String DATE_FORMAT = "yyyy-MM-dd"; + + public final static String DATE_FORMAT_MINUTE = "yyyy-MM-dd HH:mm"; + + public final static String DATE_FORMAT_HOUR = "yyyy-MM-dd HH"; + + public final static String DATE_FORMAT_CN = "yyyy年MM月dd日"; + + public final static String TIME_FORMAT = "yyyy-MM-dd HH:mm:ss"; + + public final static String TIME_FORMAT_SPACE = "yyyy MM dd HH:mm:ss"; + + public final static String TIME_FORMAT_CN = "yyyy年MM月dd日 HH:mm:ss"; + + public final static String MONTH_FORMAT = "yyyy-MM"; + + public final static String DAY_FORMAT = "yyyyMMdd"; + + public final static String TIME_FORMAT_NUM = "MMddHHmmss"; + + public final static String TIME_FORMAT_YYYYMMDDHHMMSS = "yyyyMMddHHmmss"; + + public final static String TIME_FORMAT_HHMMSS = "HH:mm:ss"; + + + public final static String TIME_FORMAT_DATE_BANK = "MMyy"; + + private static final DateTimeFormatter dateTimeFormatter = DateTimeFormat.forPattern(TIME_FORMAT); + + private static final DateTimeFormatter shortDateTimeFormatter = DateTimeFormat.forPattern(TIME_FORMAT); + + private static final DateTimeFormatter bankDateTimeFormatter = DateTimeFormat.forPattern(TIME_FORMAT_DATE_BANK); + + + public static String toStringOfBank(Date date) { + DateTime dateTime = new DateTime(date); + return bankDateTimeFormatter.print(dateTime); + } + + public static String getYesterdayMonthFirstDayWithHMS() { + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + Calendar calendar = Calendar.getInstance(); + calendar.add(Calendar.DAY_OF_YEAR, -1); + calendar.set(Calendar.DAY_OF_MONTH, calendar + .getActualMinimum(Calendar.DAY_OF_MONTH)); + + calendar.set(Calendar.HOUR_OF_DAY, 0); + calendar.set(Calendar.MINUTE, 0); + calendar.set(Calendar.SECOND, 0); + + return format.format(calendar.getTime()); + } + + + /** + * 判断昨天所在的月的第一天是 + * + * @return + */ + public static String getyesterDayMonthFirstDay() { + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); + Calendar calendar = Calendar.getInstance(); + calendar.add(Calendar.DAY_OF_YEAR, -1); + calendar.set(Calendar.DAY_OF_MONTH, calendar + .getActualMinimum(Calendar.DAY_OF_MONTH)); + + + return format.format(calendar.getTime()); + } + + + public static Date getyesterDayMonthFirstDayDate() { + Calendar calendar = Calendar.getInstance(); + calendar.add(Calendar.DAY_OF_YEAR, -1); + calendar.set(Calendar.DAY_OF_MONTH, calendar + .getActualMinimum(Calendar.DAY_OF_MONTH)); + + return calendar.getTime(); + } + + + /** + * 取得当前系统时间,返回java.util.Date类型 + * + * @return java.util.Date 返回服务器当前系统时间 + * @see Date + */ + public static Date getCurrDate() { + return new Date(); + } + + /** + * 取得明天的开始时间,返回java.util.Date类型 + * + * @return java.util.Date + * @see Date + */ + public static Date getTomorrowBeginDate() { + Date date = new Date(); + SimpleDateFormat sf = new SimpleDateFormat(DAY_FORMAT); + String nowDate = sf.format(date); + Calendar cal = Calendar.getInstance(); + try { + cal.setTime(sf.parse(nowDate)); + cal.add(Calendar.DAY_OF_YEAR, +1); + return cal.getTime(); + } catch (ParseException e) { + e.printStackTrace(); + } + return null; + } + + /** + * 取得今天的剩余秒数,返回剩余秒数 + * + * @return int + */ + public static int getCurrDateSurplusSeconds() { + Date currDate = getCurrDate(); + Date tomorrowDate = getTomorrowBeginDate(); + return getSecondsBetweenDates(currDate, tomorrowDate); + } + + + /** + * 取得当前系统时间戳 + * + * @return java.sql.Timestamp 系统时间戳 + * @see java.sql.Timestamp + */ + public static java.sql.Timestamp getCurrTimestamp() { + return new java.sql.Timestamp(System.currentTimeMillis()); + } + + /** + * 返回当前时间是上午还是下午 + * + * @return + */ + public static Integer getCurrDateAMorPM() { + Calendar calendar = Calendar.getInstance(); + return calendar.get(Calendar.AM_PM); + } + + /** + * 得到格式化后的日期,格式为yyyy-MM-dd,如2009-10-15 + * + * @param currDate 要格式化的日期 + * @return String 返回格式化后的日期,默认格式为为yyyy-MM-dd,如2009-10-15 + * @see #getFormatDate(Date, String) + */ + public static String getFormatDate(Date currDate) { + return getFormatDate(currDate, DATE_FORMAT); + } + + /** + * 得到格式化后的日期,格式为yyyy-MM-dd,如2009-10-15 + * + * @param currDate 要格式化的日期 + * @return Date 返回格式化后的日期,默认格式为为yyyy-MM-dd,如2009-10-15 + * @see #getFormatDate(Date) + */ + public static Date getFormatDateToDate(Date currDate) { + return getFormatDate(getFormatDate(currDate)); + } + + /** + * 得到格式化后的日期,格式为yyyy年MM月dd日,如2009年02月15日 + * + * @param currDate 要格式化的日期 + * @return String 返回格式化后的日期,默认格式为yyyy年MM月dd日,如2009年02月15日 + * @see #getFormatDate(Date, String) + */ + public static String getFormatDate_CN(Date currDate) { + return getFormatDate(currDate, DATE_FORMAT_CN); + } + + /** + * 得到格式化后的日期,格式为yyyy年MM月dd日,如2009年02月15日 + * + * @param currDate 要格式化的日期 + * @return Date 返回格式化后的日期,默认格式为yyyy年MM月dd日,如2009年02月15日 + * @see #getFormatDate_CN(String) + */ + public static Date getFormatDateToDate_CN(Date currDate) { + return getFormatDate_CN(getFormatDate_CN(currDate)); + } + + /** + * 得到格式化后的日期,格式为yyyy-MM-dd,如2009-10-15 + * + * @param currDate 要格式化的日期 + * @return Date 返回格式化后的日期,默认格式为yyyy-MM-dd,如2009-10-15 + * @see #getFormatDate(String, String) + */ + public static Date getFormatDate(String currDate) { + return getFormatDate(currDate, DATE_FORMAT); + } + + /** + * 得到格式化后的日期,格式为yyyy年MM月dd日,如2009年02月15日 + * + * @param currDate 要格式化的日期 + * @return 返回格式化后的日期,默认格式为yyyy年MM月dd日,如2009年02月15日 + * @see #getFormatDate(String, String) + */ + public static Date getFormatDate_CN(String currDate) { + return getFormatDate(currDate, DATE_FORMAT_CN); + } + + /** + * 根据格式得到格式化后的日期 + * + * @param currDate 要格式化的日期 + * @param format 日期格式,如yyyy-MM-dd + * @return String 返回格式化后的日期,格式由参数format + * 定义,如yyyy-MM-dd,如2009-10-15 + * @see SimpleDateFormat#format(Date) + */ + public static String getFormatDate(Date currDate, String format) { + SimpleDateFormat dtFormatdB = null; + try { + dtFormatdB = new SimpleDateFormat(format); + return dtFormatdB.format(currDate); + } catch (Exception e) { + dtFormatdB = new SimpleDateFormat(DATE_FORMAT); + try { + return dtFormatdB.format(currDate); + } catch (Exception ex) { + } + } + return null; + } + + /** + * 得到格式化后的时间,格式为yyyy-MM-dd HH:mm:ss,如2009-10-15 15:23:45 + * + * @param currDate 要格式化的时间 + * @return String 返回格式化后的时间,默认格式为yyyy-MM-dd HH:mm:ss,如2009-10-15 15:23:45 + * @see #getFormatDateTime(Date, String) + */ + public static String getFormatDateTime(Date currDate) { + return getFormatDateTime(currDate, TIME_FORMAT); + } + + public static String getNowFormatDateTime() { + return getFormatDateTime(new Date(), TIME_FORMAT); + } + /** + * 得到格式化后的时间,格式为yyyy-MM-dd HH:mm:ss,如2009-10-15 15:23:45 + * + * @param currDate 要格式环的时间 + * @return Date 返回格式化后的时间,默认格式为yyyy-MM-dd HH:mm:ss,如2009-10-15 15:23:45 + * @see #getFormatDateTime(String) + */ + public static Date getFormatDateTimeToTime(Date currDate) { + return getFormatDateTime(getFormatDateTime(currDate)); + } + + /** + * 得到格式化后的时间,格式为yyyy-MM-dd HH:mm:ss,如2009-10-15 15:23:45 + * + * @param currDate 要格式化的时间 + * @return Date 返回格式化后的时间,默认格式为yyyy-MM-dd HH:mm:ss,如2009-10-15 15:23:45 + * @see #getFormatDateTime(String, String) + */ + public static Date getFormatDateTime(String currDate) { + return getFormatDateTime(currDate, TIME_FORMAT); + } + + /** + * 得到格式化后的时间,格式为yyyy年MM月dd日 HH:mm:ss,如2009年02月15日 15:23:45 + * + * @param currDate 要格式化的时间 + * @return String 返回格式化后的时间,默认格式为yyyy年MM月dd日 HH:mm:ss,如2009年02月15日 15:23:45 + * @see #getFormatDateTime(Date, String) + */ + public static String getFormatDateTime_CN(Date currDate) { + return getFormatDateTime(currDate, TIME_FORMAT_CN); + } + + /** + * 得到格式化后的时间,格式为yyyy年MM月dd日 HH:mm:ss,如2009年02月15日 15:23:45 + * + * @param currDate 要格式化的时间 + * @return Date 返回格式化后的时间,默认格式为yyyy年MM月dd日 HH:mm:ss,如2009年02月15日 15:23:45 + * @see #getFormatDateTime_CN(String) + */ + public static Date getFormatDateTimeToTime_CN(Date currDate) { + return getFormatDateTime_CN(getFormatDateTime_CN(currDate)); + } + + /** + * 得到格式化后的时间,格式为yyyy年MM月dd日 HH:mm:ss,如2009年02月15日 15:23:45 + * + * @param currDate 要格式化的时间 + * @return Date 返回格式化后的时间,默认格式为yyyy年MM月dd日 HH:mm:ss,如2009年02月15日 15:23:45 + * @see #getFormatDateTime(String, String) + */ + public static Date getFormatDateTime_CN(String currDate) { + return getFormatDateTime(currDate, TIME_FORMAT_CN); + } + + /** + * 根据格式得到格式化后的时间 + * + * @param currDate 要格式化的时间 + * @param format 时间格式,如yyyy-MM-dd HH:mm:ss + * @return String 返回格式化后的时间,格式由参数format定义,如yyyy-MM-dd HH:mm:ss + * @see SimpleDateFormat#format(Date) + */ + public static String getFormatDateTime(Date currDate, String format) { + SimpleDateFormat dtFormatdB = null; + try { + dtFormatdB = new SimpleDateFormat(format); + return dtFormatdB.format(currDate); + } catch (Exception e) { + dtFormatdB = new SimpleDateFormat(TIME_FORMAT); + try { + return dtFormatdB.format(currDate); + } catch (Exception ex) { + } + } + return null; + } + + /** + * 根据格式得到格式化后的日期 + * + * @param currDate 要格式化的日期 + * @param format 日期格式,如yyyy-MM-dd + * @return Date 返回格式化后的日期,格式由参数format + * 定义,如yyyy-MM-dd,如2009-10-15 + * @see SimpleDateFormat#parse(String) + */ + public static Date getFormatDate(String currDate, String format) { + SimpleDateFormat dtFormatdB = null; + try { + dtFormatdB = new SimpleDateFormat(format); + return dtFormatdB.parse(currDate); + } catch (Exception e) { + dtFormatdB = new SimpleDateFormat(DATE_FORMAT); + try { + return dtFormatdB.parse(currDate); + } catch (Exception ex) { + } + } + return null; + } + + + /** + * 根据格式得到格式化后的时间 + * + * @param currDate 要格式化的时间 + * @param format 时间格式,如yyyy-MM-dd HH:mm:ss + * @return Date 返回格式化后的时间,格式由参数format定义,如yyyy-MM-dd HH:mm:ss + * @see SimpleDateFormat#parse(String) + */ + public static Date getFormatDateTime(String currDate, String format) { + SimpleDateFormat dtFormatdB = null; + try { + dtFormatdB = new SimpleDateFormat(format); + return dtFormatdB.parse(currDate); + } catch (Exception e) { + dtFormatdB = new SimpleDateFormat(TIME_FORMAT); + try { + return dtFormatdB.parse(currDate); + } catch (Exception ex) { + } + } + return null; + } + + /** + * @param time Seconds 传入参数 秒 + * @return 返回 格式 hh:mm:ss 秒 + */ + public static String getFormatHourAndMinuteTime(long time) { + if (time < 60) { + return String.valueOf(time); + } + if (time < 60 * 60) { + int seconds = (int) (time % 60L); + int minutes = (int) (time / (60L)); + return String.valueOf(minutes) + ":" + (seconds < 10 ? ("0" + String.valueOf(seconds)) : String.valueOf(seconds)); + } + int seconds = (int) (time % 60L); + int minutes = (int) ((time / 60L) % 60L); + int hours = (int) (time / (60L * 60L)); + return hours + ":" + (minutes < 10 ? ("0" + String.valueOf(minutes)) : String.valueOf(minutes)) + ":" + + (seconds < 10 ? ("0" + String.valueOf(seconds)) : String.valueOf(seconds)); + } + + /** + * 得到本日的上月时间 如果当日为2007-9-1,那么获得2007-8-1 + */ + public static String getDateBeforeMonth() { + Calendar cal = Calendar.getInstance(); + cal.add(Calendar.MONTH, -1); + return getFormatDate(cal.getTime(), DATE_FORMAT); + } + + /** + * 得到本日的前几个月时间 如果number=2当日为2007-9-1,那么获得2007-7-1 + */ + public static String getDateBeforeMonth(int number) { + Calendar cal = Calendar.getInstance(); + cal.add(Calendar.MONTH, -number); + return getFormatDate(cal.getTime(), DATE_FORMAT); + } + + + /** + * 得到本日的前几个月时间 如果number=2当日为2007-9-1,那么获得2007-7-1 + */ + public static Date getDateBeforeMonthByNum(int number) { + Calendar cal = Calendar.getInstance(); + cal.add(Calendar.MONTH, -number); + return cal.getTime(); + } + + + /** + * 获得两个Date型日期之间相差的天数(第2个减第1个) + * + * @param first + * @param second + * @return int 相差的天数 + */ + public static int getDaysBetweenDates(Date first, Date second) { + Date d1 = getFormatDateTime(getFormatDate(first), DATE_FORMAT); + Date d2 = getFormatDateTime(getFormatDate(second), DATE_FORMAT); + + Long mils = (d2.getTime() - d1.getTime()) / (TIME_DAY_MILLISECOND); + + return mils.intValue(); + } + + /** + * 获得两个Date型日期之间相差的小时数(第2个减第1个) + * + * @param first, Date second + * @return int 相差的小时数 + */ + public static int getHoursBetweenDates(Date first, Date second) { + + Date d1 = getFormatDateTime(getFormatDate(first), DATE_FORMAT); + Date d2 = getFormatDateTime(getFormatDate(second), DATE_FORMAT); + + Long mils = (d2.getTime() - d1.getTime()) / (TIME_HOUR_MILLISECOND); + + return mils.intValue(); + + } + + public static int getSecondsBetweenDates(Date first, Date second) { + Long mils = (second.getTime() - first.getTime()) / (TIME_SECONDS_MILLISECOND); + return mils.intValue(); + } + + /** + * 获得两个String型日期之间相差的天数(第2个减第1个) + * + * @param first, String second + * @return int 相差的天数 + */ + public static int getDaysBetweenDates(String first, String second) { + Date d1 = getFormatDateTime(first, DATE_FORMAT); + Date d2 = getFormatDateTime(second, DATE_FORMAT); + + Long mils = (d2.getTime() - d1.getTime()) / (TIME_DAY_MILLISECOND); + + return mils.intValue(); + } + + + public static Date getDate(long times) { + Date date = new Date(times); + return date; + } + + /** + * @return 获取两个Date之间的天数的列表 + */ + public static List getDaysListBetweenDates(Date first, Date second) { + List dateList = new ArrayList(); + Date d1 = getFormatDateTime(getFormatDate(first), DATE_FORMAT); + Date d2 = getFormatDateTime(getFormatDate(second), DATE_FORMAT); + if (d1.compareTo(d2) > 0) { + return dateList; + } + do { + dateList.add(d1); + d1 = getDateBeforeOrAfter(d1, 1); + } while (d1.compareTo(d2) <= 0); + return dateList; + } + + + public static String getDateBeforeDay() { + Calendar cal = Calendar.getInstance(); + cal.add(Calendar.DAY_OF_YEAR, -1); + return getFormatDate(cal.getTime(), DATE_FORMAT); + } + + /** + * 得到格式化后的当前系统日期,格式为yyyy-MM-dd,如2009-10-15 + * + * @return String 返回格式化后的当前服务器系统日期,格式为yyyy-MM-dd,如2009-10-15 + * @see #getFormatDate(Date) + */ + public static String getCurrDateStr() { + return getFormatDate(getCurrDate()); + } + + public static int getCurrDateHour() { + Calendar cal = Calendar.getInstance(); + return cal.get(Calendar.HOUR_OF_DAY); + } + + /** + * 得到格式化后的当前系统时间,格式为yyyy-MM-dd HH:mm:ss,如2009-10-15 15:23:45 + * + * @return String 返回格式化后的当前服务器系统时间,格式为yyyy-MM-dd HH:mm:ss,如2009-10-15 + * 15:23:45 + * @see #getFormatDateTime(Date) + */ + public static String getCurrDateTimeStr() { + return getFormatDateTime(getCurrDate()); + } + + public static String getCurrDateTimeStr(String format) { + return getFormatDate(getCurrDate(), format); + } + + /** + * 得到格式化后的当前系统日期,格式为yyyy年MM月dd日,如2009年02月15日 + * + * @return String 返回当前服务器系统日期,格式为yyyy年MM月dd日,如2009年02月15日 + * @see #getFormatDate(Date, String) + */ + public static String getCurrDateStr_CN() { + return getFormatDate(getCurrDate(), DATE_FORMAT_CN); + } + + /** + * 得到格式化后的当前系统时间,格式为yyyy年MM月dd日 HH:mm:ss,如2009年02月15日 15:23:45 + * + * @return String 返回格式化后的当前服务器系统时间,格式为yyyy年MM月dd日 HH:mm:ss,如2009年02月15日 + * 15:23:45 + * @see #getFormatDateTime(Date, String) + */ + public static String getCurrDateTimeStr_CN() { + return getFormatDateTime(getCurrDate(), TIME_FORMAT_CN); + } + + /** + * 得到系统当前日期的前或者后几天 + * + * @param iDate 如果要获得前几天日期,该参数为负数; 如果要获得后几天日期,该参数为正数 + * @return Date 返回系统当前日期的前或者后几天 + * @see Calendar#add(int, int) + */ + public static Date getDateBeforeOrAfter(int iDate) { + Calendar cal = Calendar.getInstance(); + cal.add(Calendar.DAY_OF_MONTH, iDate); + return cal.getTime(); + } + + /** + * 得到日期的前或者后几天 + * + * @param iDate 如果要获得前几天日期,该参数为负数; 如果要获得后几天日期,该参数为正数 + * @return Date 返回参数curDate定义日期的前或者后几天 + * @see Calendar#add(int, int) + */ + public static Date getDateBeforeOrAfter(Date curDate, int iDate) { + Calendar cal = Calendar.getInstance(); + cal.setTime(curDate); + cal.add(Calendar.DAY_OF_MONTH, iDate); + return cal.getTime(); + } + + /** + * 得到格式化后的月份,格式为yyyy-MM,如2009-02 + * + * @param currDate 要格式化的日期 + * @return String 返回格式化后的月份,格式为yyyy-MM,如2009-02 + * @see #getFormatDate(Date, String) + */ + public static String getFormatMonth(Date currDate) { + return getFormatDate(currDate, MONTH_FORMAT); + } + + /** + * 得到格式化后的日,格式为yyyyMMdd,如20090210 + * + * @param currDate 要格式化的日期 + * @return String 返回格式化后的日,格式为yyyyMMdd,如20090210 + * @see #getFormatDate(Date, String) + */ + public static String getFormatDay(Date currDate) { + return getFormatDate(currDate, DAY_FORMAT); + } + + public static String getFormatTime(Date currDate) { + return getFormatDate(currDate, TIME_FORMAT_NUM); + } + + public static String getFormatTimeHHmmss(Date currDate) { + return getFormatDate(currDate, TIME_FORMAT_HHMMSS); + } + + /** + * 得到格式化后的当月第一天,格式为yyyy-MM-dd,如2009-10-01 + * + * @return String 返回格式化后的当月第一天,格式为yyyy-MM-dd,如2009-10-01 + * @see Calendar#getMinimum(int) + * @see #getFormatDate(Date, String) + */ + public static String getFirstDayOfMonth() { + Calendar cal = Calendar.getInstance(); + int firstDay = cal.getMinimum(Calendar.DAY_OF_MONTH); + cal.set(Calendar.DAY_OF_MONTH, firstDay); + return getFormatDate(cal.getTime(), DATE_FORMAT); + } + + /** + * 得到格式化后的下月第一天,格式为yyyy-MM-dd,如2009-10-01 + *

+ * 要格式化的日期 + * + * @return String 返回格式化后的下月第一天,格式为yyyy-MM-dd,如2009-10-01 + * @see Calendar#getMinimum(int) + * @see #getFormatDate(Date, String) + */ + public static String getFirstDayOfNextMonth() { + Calendar cal = Calendar.getInstance(); + cal.add(Calendar.MONTH, +1); + int firstDay = cal.getMinimum(Calendar.DAY_OF_MONTH); + cal.set(Calendar.DAY_OF_MONTH, firstDay); + return getFormatDate(cal.getTime(), DATE_FORMAT); + } + + /** + * 得到格式化后的当月第一天,格式为yyyy-MM-dd,如2009-10-01 + * + * @param currDate 要格式化的日期 + * @return String 返回格式化后的当月第一天,格式为yyyy-MM-dd,如2009-10-01 + * @see Calendar#getMinimum(int) + * @see #getFormatDate(Date, String) + */ + public static String getFirstDayOfMonth(Date currDate) { + Calendar cal = Calendar.getInstance(); + cal.setTime(currDate); + int firstDay = cal.getMinimum(Calendar.DAY_OF_MONTH); + cal.set(Calendar.DAY_OF_MONTH, firstDay); + return getFormatDate(cal.getTime(), DATE_FORMAT); + } + + /** + * 得到格式化后的当月最后一天,格式为yyyy-MM-dd,如2009-10-28 + * + * @param currDate 要格式化的日期 + * @return String 返回格式化后的当月最后一天,格式为yyyy-MM-dd,如2009-10-28 + * @see Calendar#getMinimum(int) + * @see #getFormatDate(Date, String) + */ + public static String getLastDayOfMonth(Date currDate) { + Calendar cal = Calendar.getInstance(); + cal.setTime(currDate); + int lastDay = cal.getActualMaximum(Calendar.DAY_OF_MONTH); + cal.set(Calendar.DAY_OF_MONTH, lastDay); + return getFormatDate(cal.getTime(), DATE_FORMAT); + } + + /** + * 得到格式化后的当月最后一天,格式为yyyy-MM-dd,如2009-10-28 + *

+ * 要格式化的日期 + * + * @return String 返回格式化后的当月最后一天,格式为yyyy-MM-dd,如2009-10-28 + * @see Calendar#getMinimum(int) + * @see #getFormatDate(Date, String) + */ + public static String getLastDayOfMonth() { + Calendar cal = Calendar.getInstance(); + int lastDay = cal.getActualMaximum(Calendar.DAY_OF_MONTH); + cal.set(Calendar.DAY_OF_MONTH, lastDay); + return getFormatDate(cal.getTime(), DATE_FORMAT); + } + + /** + * 得到日期的前或者后几小时 + * + * @param iHour 如果要获得前几小时日期,该参数为负数; 如果要获得后几小时日期,该参数为正数 + * @return Date 返回参数curDate定义日期的前或者后几小时 + * @see Calendar#add(int, int) + */ + public static Date getDateBeforeOrAfterHours(Date curDate, int iHour) { + Calendar cal = Calendar.getInstance(); + cal.setTime(curDate); + cal.add(Calendar.HOUR_OF_DAY, iHour); + return cal.getTime(); + } + + /** + * 得到日期的前或者后几分钟 + * + * @param iMinute 如果要获得前几小时日期,该参数为负数; 如果要获得后几小时日期,该参数为正数 + * @return Date 返回参数curDate定义日期的前或者后几小时 + * @see Calendar#add(int, int) + */ + public static Date getDateBeforeOrAfterMinute(Date curDate, int iMinute) { + Calendar cal = Calendar.getInstance(); + cal.setTime(curDate); + cal.add(Calendar.MINUTE, iMinute); + return cal.getTime(); + } + + /** + * 判断日期是否在当前周内 + * + * @param curDate + * @param compareDate + * @return + */ + public static boolean isSameWeek(Date curDate, Date compareDate) { + if (curDate == null || compareDate == null) { + return false; + } + + Calendar calSun = Calendar.getInstance(); + calSun.setTime(getFormatDateToDate(curDate)); + calSun.set(Calendar.DAY_OF_WEEK, 1); + + Calendar calNext = Calendar.getInstance(); + calNext.setTime(calSun.getTime()); + calNext.add(Calendar.DATE, 7); + + Calendar calComp = Calendar.getInstance(); + calComp.setTime(compareDate); + if (calComp.after(calSun) && calComp.before(calNext)) { + return true; + } else { + return false; + } + } + + public static boolean isSameDay(Date currentDate, Date compareDate) { + if (currentDate == null || compareDate == null) { + return false; + } + String current = getFormatDate(currentDate); + String compare = getFormatDate(compareDate); + if (current.equals(compare)) { + return true; + } + return false; + } + + public static Date setDateCustomBeginFix(Date date, int hour) { + if (date == null) { + return null; + } + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + calendar.set(Calendar.HOUR_OF_DAY, hour); + calendar.set(Calendar.MINUTE, 0); + calendar.set(Calendar.SECOND, 0); + return calendar.getTime(); + } + + public static Date setDateBeginFix(Date date) { + return setDateCustomBeginFix(date, 0); + } + + public static Date setDateCustomEndFix(Date date, int hour) { + if (date == null) { + return null; + } + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + calendar.set(Calendar.HOUR_OF_DAY, hour); + calendar.set(Calendar.MINUTE, 59); + calendar.set(Calendar.SECOND, 59); + return calendar.getTime(); + } + + public static Date setDateEndFix(Date date) { + return setDateCustomEndFix(date, 23); + } + + /** + * 时间查询时,开始时间的 00:00:00 + */ + public static String addDateBeginfix(String datestring) { + if ((datestring == null) || "".equals(datestring)) { + return null; + } + return datestring + " 00:00:00"; + } + + /** + * 时间查询时,结束时间的 23:59:59 + */ + public static String addDateEndfix(String datestring) { + if ((datestring == null) || "".equals(datestring)) { + return null; + } + return datestring + " 23:59:59"; + } + + /** + * 返回格式化的日期 + * + * @param dateStr 格式"yyyy-MM-dd 23:59:59"; + * @return + */ + public static Date getFormatDateEndfix(String dateStr) { + dateStr = addDateEndfix(dateStr); + return getFormatDateTime(dateStr); + } + + /** + * 返回格式化的日期 + * + * @param datePre 格式"yyyy-MM-dd HH:mm:ss"; + * @return + */ + public static Date formatEndTime(String datePre) { + if (datePre == null) { + return null; + } + String dateStr = addDateEndfix(datePre); + return getFormatDateTime(dateStr); + } + + // date1加上compday天数以后的日期与当前时间比较,如果大于当前时间返回true,否则false + public static Boolean compareDay(Date date1, int compday) { + if (date1 == null) { + return false; + } + Date dateComp = getDateBeforeOrAfter(date1, compday); + Date nowdate = new Date(); + if (dateComp.after(nowdate)) { + return true; + } else { + return false; + } + } + + /** + * 获得年份 + * + * @param + * @return + */ + public static int getYear() { + Date date = new Date(); + Calendar cal = Calendar.getInstance(); + cal.setTime(date); + return cal.get(Calendar.YEAR); + } + + /** + * 获得月份 + * + * @param date + * @return + */ + public static int getMonth(Date date) { + Calendar cal = Calendar.getInstance(); + cal.setTime(date); + return cal.get(Calendar.MONTH); + } + + /** + * 获得天 + * + * @param date + * @return + */ + public static int getDay(Date date) { + Calendar cal = Calendar.getInstance(); + cal.setTime(date); + return cal.get(Calendar.DAY_OF_MONTH); + } + + /** + * 获得hour + * + * @param date + * @return + */ + public static int getHour(Date date) { + Calendar cal = Calendar.getInstance(); + cal.setTime(date); + return cal.get(Calendar.HOUR_OF_DAY); + } + + public static Date fromDateString(String dataStr) { + if (dataStr == "") { + return new Date(); + } + try { + return dateTimeFormatter.parseDateTime(dataStr).toDate(); + } catch (Exception e) { + try { + return shortDateTimeFormatter.parseDateTime(dataStr).toDate(); + } catch (Exception ex) { + ex.printStackTrace(); + return new Date(); + } + } + } + + public static Date fromDateStringWithYYYY_MM_DD_HH_MM_SS(String dateStr) { + try { + return dateTimeFormatter.parseDateTime(dateStr).toDate(); + } catch (Exception e) { + return null; + } + } + + public static String toDateString(Date date) { + DateTime dateTime = new DateTime(date); + return dateTimeFormatter.print(dateTime); + } + + public static String toShortDateString(Date date) { + DateTime dateTime = new DateTime(date); + return shortDateTimeFormatter.print(dateTime); + } + + public static long compare(Date time, long lasttime) { + time = Preconditions.checkNotNull(time); + lasttime = Preconditions.checkNotNull(lasttime); + return time.getTime() - lasttime; + + } + + public static long compare(Date currenttime, Date lasttime) { + currenttime = Preconditions.checkNotNull(currenttime); + lasttime = Preconditions.checkNotNull(lasttime); + return compare(currenttime, lasttime.getTime()); + } + + public static Date yesterdayBegin() { + Calendar calendar = Calendar.getInstance(); + calendar.set(Calendar.DAY_OF_MONTH, calendar.get(Calendar.DAY_OF_MONTH) - 1); + calendar.set(Calendar.HOUR_OF_DAY, 0); + calendar.set(Calendar.MINUTE, 0); + calendar.set(Calendar.SECOND, 0); + return calendar.getTime(); + } + + public static Date yesterdayLast() { + Calendar calendar = Calendar.getInstance(); + calendar.set(Calendar.DAY_OF_MONTH, calendar.get(Calendar.DAY_OF_MONTH) - 1); + calendar.set(Calendar.HOUR_OF_DAY, 23); + calendar.set(Calendar.MINUTE, 59); + calendar.set(Calendar.SECOND, 59); + return calendar.getTime(); + } + + public static Date dayBegin() { + Calendar calendar = Calendar.getInstance(); + calendar.set(Calendar.HOUR_OF_DAY, 0); + calendar.set(Calendar.MINUTE, 0); + calendar.set(Calendar.SECOND, 0); + return calendar.getTime(); + } + + public static Date dayLast() { + Calendar calendar = Calendar.getInstance(); + calendar.set(Calendar.HOUR_OF_DAY, 23); + calendar.set(Calendar.MINUTE, 59); + calendar.set(Calendar.SECOND, 59); + return calendar.getTime(); + } + + public static Date dayBegin(Date date) { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + calendar.set(Calendar.HOUR_OF_DAY, 0); + calendar.set(Calendar.MINUTE, 0); + calendar.set(Calendar.SECOND, 0); + return calendar.getTime(); + } + + public static Date dayLast(Date date) { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + calendar.set(Calendar.HOUR_OF_DAY, 23); + calendar.set(Calendar.MINUTE, 59); + calendar.set(Calendar.SECOND, 59); + return calendar.getTime(); + } + + + public static Date add(int field, int amount) { + Calendar calendar = Calendar.getInstance(); + calendar.add(field, amount); + return calendar.getTime(); + } + + public static Date add(Date date, int field, int amount) { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + calendar.add(field, amount); + return calendar.getTime(); + } + + public static boolean inOneDay(Date currentDay, Date compareDay) { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(currentDay); + int currentDayYears = calendar.get(Calendar.YEAR); + int currentDayDays = calendar.get(Calendar.DAY_OF_YEAR); + + calendar.setTime(compareDay); + int compareDayYears = calendar.get(Calendar.YEAR); + int compareDayDays = calendar.get(Calendar.DAY_OF_YEAR); + if (currentDayYears == compareDayYears && currentDayDays == compareDayDays) { + return true; + } else { + return false; + } + } + + public static Date weekendBegin() { + return getMonday(getCurrDate()); + } + + public static Date getMonday(Date day) { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(day); + int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK) - 1; + if (dayOfWeek == 0) { + dayOfWeek = 7; + } + calendar.add(Calendar.DATE, -dayOfWeek + 1); + calendar.set(Calendar.HOUR_OF_DAY, 0); + calendar.set(Calendar.MINUTE, 0); + calendar.set(Calendar.SECOND, 0); + return calendar.getTime(); + } + + public static Date weekendLast() { + return getSunday(getCurrDate()); + } + + public static Date getSunday(Date day) { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(day); + int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK) - 1; + if (dayOfWeek == 0) { + dayOfWeek = 7; + } + calendar.add(Calendar.DATE, -dayOfWeek + 7); + calendar.set(Calendar.HOUR_OF_DAY, 0); + calendar.set(Calendar.MINUTE, 0); + calendar.set(Calendar.SECOND, 0); + return calendar.getTime(); + } + + public static Date getLastThursday(Date day) { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(day); + int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK) - 5; + if (dayOfWeek == 0) { + dayOfWeek = 7; + } + if (dayOfWeek < 0) { + dayOfWeek = -dayOfWeek - 7; + } + if (dayOfWeek > 0) { + dayOfWeek = -dayOfWeek; + } + calendar.add(Calendar.DATE, dayOfWeek); + calendar.set(Calendar.HOUR_OF_DAY, 0); + calendar.set(Calendar.MINUTE, 0); + calendar.set(Calendar.SECOND, 0); + return calendar.getTime(); + } + + /** + * 获取本周的起始日期 + * + * @return + */ + public static Pair getCurrWeek() { + Calendar c = Calendar.getInstance(); + int weekday = c.get(7) - 2; + c.add(5, -weekday); + String beginDate = DateUtils.getFormatDate(c.getTime()); + c.add(5, 6); + String endDate = DateUtils.getFormatDate(c.getTime()); + return Pair.with(beginDate, endDate); + } + + public static boolean isThisDaySaturday(Date date) { + Calendar c = Calendar.getInstance(); + c.setTime(date); + + int day = c.get(Calendar.DAY_OF_WEEK); + + if (day == Calendar.SUNDAY) { + return true; + } else { + return false; + } + + } + + public static boolean isThisDayMonday(Date date) { + Calendar c = Calendar.getInstance(); + c.setTime(date); + + int day = c.get(Calendar.DAY_OF_WEEK); + + if (day == Calendar.MONDAY) { + return true; + } else { + return false; + } + + } + + public static Date getAfterDate(int afterDay) { + Calendar calendar = Calendar.getInstance(); + calendar.add(Calendar.DAY_OF_YEAR, afterDay); + return calendar.getTime(); + } + + /** + * 某年第一天 + * + * @return + */ + public static Date getCurrYearFirst() { + Calendar currCal = Calendar.getInstance(); + int currentYear = currCal.get(Calendar.YEAR); + return getYearFirst(currentYear); + } + + /** + * 获取当年的最后一天 + * + * @param + * @return + */ + public static Date getCurrYearLast() { + Calendar currCal = Calendar.getInstance(); + int currentYear = currCal.get(Calendar.YEAR); + return getYearLast(currentYear); + } + + /** + * 获取某年最后一天日期 + * + * @param year 年份 + * @return Date + */ + public static Date getYearLast(int year) { + Calendar calendar = Calendar.getInstance(); + calendar.clear(); + calendar.set(Calendar.YEAR, year); + calendar.roll(Calendar.DAY_OF_YEAR, -1); + Date currYearLast = calendar.getTime(); + + return currYearLast; + } + + /** + * 获取某年第一天日期 + * + * @param year 年份 + * @return Date + */ + public static Date getYearFirst(int year) { + Calendar calendar = Calendar.getInstance(); + calendar.clear(); + calendar.set(Calendar.YEAR, year); + Date currYearFirst = calendar.getTime(); + return currYearFirst; + } + + /** + * 获取当月第一天和最后一天 + */ + public static Pair getCurrentMonthFirstAndEnd(Date date) { + //获取当前月第一天: + Calendar c = Calendar.getInstance(); + //设置为入参时间 + c.setTime(date); + c.add(Calendar.MONTH, 0); + c.set(Calendar.DAY_OF_MONTH, 1);//设置为1号,当前日期既为本月第一天 + String first = getFormatDate(c.getTime(), DATE_FORMAT); + + //获取当前月最后一天 + Calendar ca = Calendar.getInstance(); + ca.setTime(date); + ca.set(Calendar.DAY_OF_MONTH, ca.getActualMaximum(Calendar.DAY_OF_MONTH)); + String last = getFormatDate(ca.getTime(), DATE_FORMAT); + return Pair.with(first, last); + } + + /** + * 字符串转换成日期 + * + * @param dateString 日期串 + * @param model 日期串的格式 ,如:yyyy-mm-dd + * @return + * @throws Exception + */ + public static Date string2Date(String dateString, String model) { + Date date = null; + SimpleDateFormat sdf = new SimpleDateFormat(model); + try { + date = sdf.parse(dateString); + + if (!dateString.equals(sdf.format(date))) { + date = null; + } + } catch (ParseException e) { + e.printStackTrace(); + } + return date; + } + + + public static void main(String[] args) { + System.out.println(getDaysBetweenDates(getFormatDateTime(getFormatDate("2024-08-31"), DATE_FORMAT),getFormatDateTime(getFormatDate("2024-11-28"), DATE_FORMAT))); + + +// System.out.println(addDateBeginfix(getFirstDayOfMonth())); +// System.out.println(addDateEndfix(getLastDayOfMonth())); +// +// System.out.println(addDateBeginfix(getCurrWeek().getValue0()) + " " + addDateEndfix(getCurrWeek().getValue1())); +// System.out.println(addDateBeginfix(getFormatDate(getYearFirst(getYear(new Date()))))); +// System.out.println(addDateEndfix(getFormatDate(getYearLast(getYear(new Date()))))); + } +} diff --git a/car-common/src/main/java/com/weiqi/mis/HttpUtil.java b/car-common/src/main/java/com/weiqi/mis/HttpUtil.java new file mode 100644 index 0000000..43b6481 --- /dev/null +++ b/car-common/src/main/java/com/weiqi/mis/HttpUtil.java @@ -0,0 +1,622 @@ +package com.weiqi.mis; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import org.apache.commons.io.IOUtils; +import org.apache.http.*; +import org.apache.http.HttpResponse; +import org.apache.http.client.config.RequestConfig; +import org.apache.http.client.entity.UrlEncodedFormEntity; +import org.apache.http.client.methods.HttpGet; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.conn.ConnectTimeoutException; +import org.apache.http.conn.routing.HttpRoute; +import org.apache.http.entity.StringEntity; +import org.apache.http.entity.mime.MultipartEntityBuilder; +import org.apache.http.impl.client.CloseableHttpClient; +import org.apache.http.impl.client.HttpClients; +import org.apache.http.impl.conn.PoolingHttpClientConnectionManager; +import org.apache.http.message.BasicNameValuePair; +import org.apache.http.util.EntityUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.*; +import java.net.*; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.concurrent.Executors; +import java.util.concurrent.TimeUnit; + + +public class HttpUtil { + + private static final Logger logger = LoggerFactory.getLogger(HttpUtil.class); + + private static CloseableHttpClient httpClient; + private static PoolingHttpClientConnectionManager cm; + + static { + init(); + closeExpiredConnectionsPeriodTask(60); + } + + static void init() { + cm = new PoolingHttpClientConnectionManager(); + // max connections + cm.setMaxTotal(300); + // max connections per route + cm.setDefaultMaxPerRoute(60); + // set max connections for a specified route + cm.setMaxPerRoute(new HttpRoute(new HttpHost("locahost")), 100); + cm.setValidateAfterInactivity(500); + + final RequestConfig requestConfig = RequestConfig.custom() + // the socket timeout (SO_TIMEOUT) in milliseconds + .setSocketTimeout(15000) + // the timeout in milliseconds until a connection is established. + .setConnectTimeout(15000) + // the timeout in milliseconds used when requesting a connection from the connection pool. + .setConnectionRequestTimeout(15000) + .build(); + httpClient = HttpClients.custom().setConnectionManager(cm).setDefaultRequestConfig(requestConfig).build(); + } + + public static String sendGetRequest(String url, Map paramMap) { + return sendGetRequestSetEncoding(url, paramMap, "UTF-8"); + } + + public static String sendGetRequest(String url){ + HttpGet httpGet = new HttpGet(url); + httpGet.setHeader("User-Agent", ""); + // httpGet.setHeader("Cookie", "Token=49FCFB0599EC33D5F89141535CF90849"); + //httpGet.setHeader(); + HttpResponse response; + String startTime = null; + try { + startTime = DateUtils.getCurrDateTimeStr(); + response = httpClient.execute(httpGet); + return parseResponse(url, response, "UTF-8"); + }catch (ConnectTimeoutException e){ + logger.error("request url:" + url + "startTime:" + startTime + ",ConnectTimeout", e); + return null; + }catch (SocketTimeoutException e){ + logger.error("request url:" + url + "startTime:" + startTime + ",SocketTimeout", e); + return null; + }catch (Exception e) { + logger.error("request url:" + url + ",error", e); + return null; + } + + } + + public static String sendGetRequestSetEncoding(String url, Map paramMap, String encoding) { + StringBuilder urlBuffer = new StringBuilder(url); + if (url.indexOf("?") < 0) { + urlBuffer.append("?"); + } + if (paramMap != null && !paramMap.isEmpty()) { + Iterator iterator = paramMap.keySet().iterator(); + while (iterator.hasNext()) { + String paramName = iterator.next(); + if (urlBuffer.toString().endsWith("?")) { + urlBuffer.append(paramName).append("=").append(paramMap.get(paramName).toString()); + } else { + urlBuffer.append("&").append(paramName).append("=").append(paramMap.get(paramName).toString()); + } + } + } + String requestUrl = urlBuffer.toString(); + HttpGet httpGet = new HttpGet(requestUrl); + httpGet.setHeader("User-Agent", ""); + HttpResponse response; + String startTime = null; + try { + startTime = DateUtils.getCurrDateTimeStr(); + response = httpClient.execute(httpGet); + return parseResponse(requestUrl, response, encoding); + }catch (ConnectTimeoutException e){ + logger.error("request url:" + requestUrl + "startTime:" + startTime + ",ConnectTimeout", e); + return null; + }catch (SocketTimeoutException e){ + logger.error("request url:" + requestUrl + "startTime:" + startTime + ",SocketTimeout", e); + return null; + }catch (Exception e) { + logger.error("request url:" + requestUrl + ",error", e); + return null; + } + } + + /** + * post方式请求 + * + * @param url + * @param paramMap + * @return + */ + + public static String sendPostRequest(String url, Map paramMap,String host) { + return sendPostRequest(url, paramMap, "UTF-8",host); + } + + + public static String sendPostRequestByJson(String url, Map paramMap) { + HttpPost httpPost = new HttpPost(url); + httpPost.setHeader("Content-Type", "application/json;charset=UTF-8"); +// httpPost.setHeader("Host", "ngmgapi.in.weiqi.com.cn"); + StringEntity se = null; + try { + se = new StringEntity(JSON.toJSONString(paramMap), "UTF-8"); + se.setContentType("application/json;charset=UTF-8"); + + } catch (Exception e) { + e.printStackTrace(); + } + httpPost.setEntity(se); + HttpResponse response = null; + try { + response = httpClient.execute(httpPost); + } catch (Exception e) { + logger.error("request url:" + url + ",error", e); + throw new RuntimeException(e); + } + return parseResponse(url, response, "UTF-8"); + } + + + public static String sendPostRequestByJson(String url, String param) { + HttpPost httpPost = new HttpPost(url); + httpPost.setHeader("Content-Type", "application/json;charset=UTF-8"); + httpPost.setHeader("Host", "ngmgapi.in.weiqi.com.cn"); + StringEntity se = null; + try { + se = new StringEntity(param, "UTF-8"); + se.setContentType("application/json;charset=UTF-8"); +// System.out.println("------" + JSON.toJSONString(paramMap)); + + } catch (Exception e) { + e.printStackTrace(); + } + httpPost.setEntity(se); + HttpResponse response = null; + try { + response = httpClient.execute(httpPost); + } catch (Exception e) { + logger.error("request url:" + url + ",error", e); + throw new RuntimeException(e); + } + return parseResponse(url, response, "UTF-8"); + } + + + public static String sendPostRequestByJsonObject(String url, Map paramMap) { + HttpPost httpPost = new HttpPost(url); + httpPost.setHeader("Content-Type", "application/json;charset=UTF-8"); + StringEntity se = null; + try { + se = new StringEntity(JSON.toJSONString(paramMap), "UTF-8"); + se.setContentType("application/json;charset=UTF-8"); + + } catch (Exception e) { + e.printStackTrace(); + } + httpPost.setEntity(se); + HttpResponse response = null; + try { + response = httpClient.execute(httpPost); + } catch (Exception e) { + logger.error("request url:" + url + ",error", e); + throw new RuntimeException(e); + } + return parseResponse(url, response, "UTF-8"); + } + + public static String sendPostRequestByJsonObject2(String url, Map paramMap) { + HttpPost httpPost = new HttpPost(url); + httpPost.setHeader("Accept","text/plain"); + httpPost.setHeader("Content-Type", "application/x-www-form-urlencoded;charset=utf-8"); + StringEntity se = null; + try { + se = new StringEntity(JSON.toJSONString(paramMap), "UTF-8"); + se.setContentType("application/json;charset=UTF-8"); + + } catch (Exception e) { + e.printStackTrace(); + } + httpPost.setEntity(se); + HttpResponse response = null; + try { + response = httpClient.execute(httpPost); + } catch (Exception e) { + logger.error("request url:" + url + ",error", e); + throw new RuntimeException(e); + } + return parseResponse(url, response, "UTF-8"); + } + + + + + /** + * post方式请求 + * + * @param url + * @param paramMap + * @return + */ + + public static String sendPostRequest(String url, Map paramMap, String enc,String host) { + HttpPost httpPost = new HttpPost(url); + + if(host!=null&&host.length()>1){ + httpPost.setHeader("Host", host); + } + +// httpPost.setHeader("pcpopclub", "551521767E62D76CB2A5CE5BACC7772E5BC73D0B47947C7B1F84A434A0A74FA89754DD632F25BCD867D9AD6BD27DCDE2E5AA36A609F398CC5948C80AB4957C30AD32453CA0BBFB1B97DCB5D54D118997D734E111D8A0B1B38AB7B6CB55DADD4FD3A9C3C7649F940238A4D1A023E4D174254BAD9DD9E3DE3FA46F6C4AAF84D2A96E6956FB750D91B6AB2B84478EC883A8EC02DE35D320DB91CA0EBA9B25E6C604C338845EB4540B22E88CCB5A44051AE17237B39BF3966E999FA0FF0B92112273771ABDE0AF84D11B4C03869FC0E803743AB680D17F2C6EF17EA73EEC11F46C9E1D66B6A8AE52FDEE8E81F7138277BC8700F341A7610A19667A5F855C6CF02EB62FB1FA76BC94C5D3EFDDEC58EBBFA62C5669C9BD5AB4BEEF069C6E47251733576F5C3DC82484A61CE1356E1269EDB0FED256A3AC1E1FFE12B43BDD0F".toUpperCase()); + if (paramMap != null && !paramMap.isEmpty()) { + Iterator iterator = paramMap.keySet().iterator(); + List params = new ArrayList<>(paramMap.size()); + while (iterator.hasNext()) { + String paramName = iterator.next(); + params.add(new BasicNameValuePair(paramName, paramMap.get(paramName).toString())); + } + try { + httpPost.setEntity(new UrlEncodedFormEntity(params, "UTF-8")); + } catch (Exception e) { + logger.error("can not request url:" + url, e); + throw new RuntimeException(e); + } + } + HttpResponse response = null; + try { + response = httpClient.execute(httpPost); + } catch (Exception e) { + logger.error("request url:" + url + ",error", e); + throw new RuntimeException(e); + } + return parseResponse(url, response, enc); + } + + /** + * 解析返回结果 + * + * @param url + * @param response + * @return + */ + + private static String parseResponse(String url, HttpResponse response, String encoding) { + if (response == null) { + logger.error("can not parse httpResponse,beacuse is null,url:" + url); + return null; + } + InputStream inputStream = null; + try { + StatusLine status = response.getStatusLine(); + HttpEntity entity = response.getEntity(); + inputStream = entity.getContent(); + if (status.getStatusCode() != 200) { + throw new RuntimeException("request url:" + url + ", status error, status is " + status.getStatusCode()); + } + return IOUtils.toString(inputStream, encoding); + } catch (Exception e) { + logger.error("parse response error", e); + throw new RuntimeException("parse response error", e); + } finally { + IOUtils.closeQuietly(inputStream); + } + } + + + private static void closeExpiredConnectionsPeriodTask(int timeUnitBySecond) { + Executors.newSingleThreadExecutor().execute(new Runnable() { + @Override + public void run() { + while (!Thread.currentThread().isInterrupted()) { + try { + TimeUnit.SECONDS.sleep(timeUnitBySecond); + } catch (InterruptedException e) { + e.printStackTrace(); + } + cm.closeExpiredConnections(); + } + } + }); + } + + public static String multipartFormPost(String url, MultipartEntityBuilder builder) { + try { + String result = ""; + HttpPost httppost = new HttpPost(url); + httppost.setEntity(builder.build()); + HttpResponse response = httpClient.execute(httppost); + if (response.getStatusLine().getStatusCode() == 200) { + result = EntityUtils.toString(response.getEntity()); + } + return result; + } catch (Exception e) { + logger.error("parse multipartFormPost error", e); + throw new RuntimeException("parse multipartFormPost error", e); + + } + } + + /**post请求 raw 类型 + * + * @param uri + * @param content + * @return + */ + public static String postBodyRaw(String uri, String content) { + + String result = null; + try{ + HttpPost httpPost = new HttpPost(uri); + StringEntity requestEntity = new StringEntity(content, "UTF-8"); + requestEntity.setContentType("application/json"); + httpPost.setEntity(requestEntity); + HttpResponse response = httpClient.execute(httpPost); + HttpEntity entity = response.getEntity(); + result = EntityUtils.toString(entity, "UTF-8"); + + }catch (Exception e){ + logger.error("uri={},content={},异常={}",uri,content,e); + } + + return result; + } + + /** + * + * @param url 提交地址 + * @param charset 编码 + * @param params 提交参数 + * @return + */ + public static String postHttpText(String url, String charset,String params) { + + URL myFileUrl = null; + BufferedReader in = null; + HttpURLConnection conn =null; + OutputStreamWriter out=null; + String result=""; + + try { + + if(charset==null || "".equals(charset)){ + charset = "UTF-8"; + } + + myFileUrl = new URL(url); + conn = (HttpURLConnection) myFileUrl.openConnection(); + conn.setRequestMethod("POST");// + conn.setConnectTimeout(20*1000); + conn.setReadTimeout(20*1000); + conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); + conn.setDoOutput(true); + conn.setDoInput(true); + conn.setUseCaches(false); + conn.connect(); + out = new OutputStreamWriter(conn.getOutputStream(), charset); // utf-8编码 + out.append(params); + out.flush(); + out.close(); + out=null; + + if (conn.getResponseCode() == 200) { + in = new BufferedReader( + new InputStreamReader(conn.getInputStream(),charset)); + String line=""; + while ((line=in.readLine())!=null){ + result+=line; + } + in.close(); + in=null; + + conn.disconnect(); + conn=null; + } else { + + } + } catch (Exception e) { + e.printStackTrace(); + } finally { + try { + if(null!=out){ + out.close(); + out=null; + } + } catch (IOException e) { + e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. + } + try { + if(null!=in){ + in.close(); + in=null; + } + } catch (IOException e) { + e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. + } + if(null!=conn){ + conn.disconnect(); + conn=null; + } + } + return result; + } + + + public static void main(String[] args) { +// Map map = new HashMap(); +// map.put("_appid", "jiage"); +// map.put("type", "2"); +// map.put("userid", "123"); +// map.put("info", "123"); +// System.out.println(HttpUtil.sendPostRequestByJson("http://dealercloudinnerapi.lq.weiqi.com.cn/api/ugc/sharepricecallback?_appid=jiage", map)); +// +// SavePriceVo savePriceVo = new SavePriceVo(); +// savePriceVo.setFeelContent("1"); +// savePriceVo.setweiqiua("iPhone\t11.0.0\tdealercloudapp\t2.0.0\tiPhone"); +// savePriceVo.setCityId(110100 + ""); +// savePriceVo.setUseTax(new BigDecimal(300)); +// savePriceVo.setPurchaseTax(new BigDecimal(8000)); +// savePriceVo.setInsurer(new BigDecimal(3000)); +// savePriceVo.set_appid("dealercloud.ios"); +// savePriceVo.setNakedPrice(new BigDecimal(100000)); +// savePriceVo.setLicenseFee(new BigDecimal(2000)); +// +// savePriceVo.setSeriesId(526 + ""); +// savePriceVo.setSpecId(24194 + ""); +// savePriceVo.setProvinceId(110000 + ""); +// savePriceVo.setPriceType(0); +// savePriceVo.setInvoiceUrl("WER"); +// savePriceVo.setBrandId(3 + ""); +// savePriceVo.setUc_ticket("e58dd17110914d16ad574b38a1ed060a000f54eb"); +// savePriceVo.setBuycartime("2024-12-01"); +// savePriceVo.setTrafficInsurance(new BigDecimal(0.0)); +// savePriceVo.setFeellevel(2 + ""); +// savePriceVo.setDealerId(1111 + ""); +// Map m = new HashMap(); +// m.put("feelContent", "1"); +// m.put("weiqiua", "iPhone\t11.0.0\tdealercloudapp\t2.0.0\tiPhone"); +// m.put("cityId", "110100"); +// m.put("useTax", "300"); +// m.put("purchaseTax", "8000"); +// m.put("insurer", "3000"); +// m.put("_appid", "dealercloud.ios"); +// m.put("nakedPrice", "100000"); +// m.put("licenseFee", "2000"); +// m.put("SeriesId", "526"); +// m.put("SpecId", "24194"); +// m.put("provinceId", "110000"); +// m.put("invoiceUrl", "WER"); +// m.put("brandId", "3"); +// m.put("SeriesId", "526"); +// m.put("uc_ticket", "0AAB882A705D0507E90C10E41165878B53E75B2545201EB474022E0EA48B5CE2F410A34F816F06974D895F88159FE5057DC412FA83FD21CD2F2E584321A4074D21B907E1C9A6E2E4011F8CC86FF292692B2B03D53A68FFDC5AE7E5E152A5B349BB224635011C033E3EA307F1D3ACF2ED9F67862515D196DEEC1BC394CBDB57501A1A8BCD8D2445647AE6CB3316F803B8C75FBFEAAAA98B554614653DBB7FE8A50065E53E11F9E9F6094285B88137DB2512157578A28636C75AC4956792ECB0CBCA95DBA6458FD751ABD9277500B96A7AEF82434F7F4CAB851D1DE59B37ABF661AEFA16EDF94BBE07D762070285C2E2FD840047D48F149D5BAD2B5BACCC29F2C2CF9985397ACF6A55DA64FC7AFDFD94D543290D91052D5FB9101325DCF375923D075110781DC7023061C271AEF347FEAADFC4D478"); +// m.put("buycartime", "2024-12-01"); +// m.put("trafficInsurance", "0"); +// m.put("feellevel", "2"); +// m.put("dealerId", "111"); +// System.out.println(HttpUtil.sendPostRequest("http://jiage.api.weiqi.com.cn/api/carprice/SavePrice", m)); + + JSONObject js = new JSONObject(); + js.put("dt","2019-01-01"); + js.put("category_type","浏览用户" ); + js.put("page","1"); + js.put("pageSize","10"); + +// HttpClient httpClient = new DefaultHttpClient(); +// HttpPost post = new HttpPost("http://api.bdp.weiqi.com.cn/datacenter/common/output/ol/interactive_carowner_price_consult?APPKEY=008B97BF6F5F4A6A2C3058127FBA96A0"); +// StringEntity postingString = new StringEntity(js.toString());// json传递 +// post.setEntity(postingString); +// post.addHeader("Content-type","application/json; charset=utf-8"); +// +// HttpResponse response = httpClient.execute(post); +// String content = EntityUtils.toString(response.getEntity()); +// System.out.println(content); + +// String ret = postBodyRaw("http://api.bdp.weiqi.com.cn/datacenter/common/output/ol/interactive_carowner_price_consult?APPKEY=008B97BF6F5F4A6A2C3058127FBA96A0",js.toString()); +// System.out.println(ret); + + + +// String str = "{\"data\":{\"cms_series_ids\":3170,\"jump_url\":\"http://jiage.m.weiqi.com.cn/mobile/pricenew?priceid=540f9026-cc80-4f51-917f-034147c0c83f\",\"recommend_time\":\"2019-03-21 15:46:45\",\"img_url\":\"https://car3.autoimg.cn/cardfs/product/g26/M05/8F/7E/weiqicar__ChcCP1wE9RCAMsnDAAamtqJFuJg855.jpg\",\"city\":\"北京\",\"publish_time\":\"2019-02-22 00:00:00\",\"modify_time\":\"\",\"img_url2\":\"\",\"cms_spec_ids\":36623,\"title\":\"加价8.19万 当前热门奥迪A3 2019款 Sportback 35 TFSI 时尚型 国V真实车主价是多少\",\"view_count\":\"\",\"city_id\":110100},\"object_class_id\":\"0027\",\"biz_type\":60200,\"object_line_id\":0018,\"biz_id\":1953664,\"push_time\":\"2019-03-21 15:47:02\",\"operation\":0}"; + + String str = "{\n" + + "\"scheme_url\":\"weiqi://insidebrowserwk?url=https://fs.weiqi.com.cn/spa/activity_calendar\",\n" + + "\"extra_kwargs\":{\"plan_id\":355,\"bizCode\":\"duanxin001\"},\n" + + "\"html_url\":\"https://fs.weiqi.com.cn/views/shorturl_comm_launch/index.html\",\n" + + "\"_appid\":\"sms\"}"; + JSONObject js11 = JSON.parseObject(str); + + + String ret = postBodyRaw("https://fs.weiqi.com.cn/api/shorten/createShortUrl",js11.toString()); + System.out.println(ret); +} + + + public static String getURLEncoderString(String str) { + String result = ""; + if (null == str) { + return ""; + } + try { + result = URLEncoder.encode(str, "UTF-8"); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + return result; + } + + public static String URLDecoderString(String str) { + String result = ""; + if (null == str) { + return ""; + } + try { + result = URLDecoder.decode(str, "UTF-8"); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + return result; + } + + /** + * post请求 raw 类型 返回token 华为专用 + * + * @param uri + * @param content + * @return + */ + public static String postBodyRawReturnToken(String uri, String content) { + + String result = null; + try { + HttpPost httpPost = new HttpPost(uri); + StringEntity requestEntity = new StringEntity(content, "UTF-8"); + requestEntity.setContentType("application/json"); + httpPost.setEntity(requestEntity); + HttpResponse response = httpClient.execute(httpPost); + Header[] headers = response.getHeaders("X-Subject-Token"); + result = headers[0].getValue(); + + } catch (Exception e) { + logger.error("uri={},content={},异常={}", uri, content, e); + + } + + return result; + } + /** + * post请求 raw 类型 + * + * @param uri + * @param content + * @return + */ + public static String postBodyRawHuawei(String uri, String content,String token) { + + String result = null; + try { + HttpPost httpPost = new HttpPost(uri); + StringEntity requestEntity = new StringEntity(content, "UTF-8"); + requestEntity.setContentType("application/json"); + if(token!=null&token.length()>0){ + + httpPost.addHeader("X-Auth-Token", token); + } + httpPost.setEntity(requestEntity); + HttpResponse response = httpClient.execute(httpPost); + HttpEntity entity = response.getEntity(); + result = EntityUtils.toString(entity, "UTF-8"); + + } catch (Exception e) { + logger.error("uri={},content={},异常={}", uri, content, e); + } + + return result; + } + +} diff --git a/car-common/src/main/java/com/weiqi/mis/IPUtil.java b/car-common/src/main/java/com/weiqi/mis/IPUtil.java new file mode 100644 index 0000000..8f4aac6 --- /dev/null +++ b/car-common/src/main/java/com/weiqi/mis/IPUtil.java @@ -0,0 +1,164 @@ +package com.weiqi.mis; + + +import com.google.common.base.Splitter; +import com.google.common.base.Strings; +import org.apache.commons.lang3.StringUtils; + +import javax.servlet.http.HttpServletRequest; +import java.net.*; + +import jdk.nashorn.internal.runtime.regexp.joni.Regex; +import org.apache.commons.lang3.StringUtils; + +import java.net.Inet4Address; +import java.net.InetAddress; +import java.net.NetworkInterface; +import java.net.SocketException; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.Enumeration; +import java.util.List; +import java.util.regex.Pattern; + +public class IPUtil { + + + private final static String IP_SEPARATOR = ","; + + /** + * return 机器名 + */ + public static String getHostName() { + try { + InetAddress ia = InetAddress.getByName("127.0.0.1"); + return ia.getHostName(); + } catch (UnknownHostException e) { + return null; + } + } + + public static String[] getIps() { + + List ips = new ArrayList(); + try { + Enumeration nets = NetworkInterface.getNetworkInterfaces(); + for (NetworkInterface netint : Collections.list(nets)) { + if (netint.getHardwareAddress() != null) { + List list = netint.getInterfaceAddresses(); + for (InterfaceAddress interfaceAddress : list) { + String localIp = interfaceAddress.getAddress().getHostAddress(); + if (StringUtils.isNoneBlank(localIp)) { + ips.add(localIp); + } + } + } + } + } catch (SocketException e1) { + return null; + } + return ips.toArray(new String[ips.size()]); + } + +// +// public static String getIP(HttpServletRequest request) { +// +// String ip = request.getHeader("X-Real-IP"); +// +// if (StringUtils.isBlank(ip) || "unknown".equalsIgnoreCase(ip)) { +// ip = request.getHeader("x-forwarded-for"); +// } else { +// return ip; +// } +// +// if (StringUtils.isBlank(ip) || "unknown".equalsIgnoreCase(ip)) { +// ip = request.getHeader("Proxy-Client-IP"); +// } else { +// //当有多级反向代理时,x-forwarded-for值为多个时取第一个ip地址 +// if (ip.indexOf(IP_SEPARATOR) != -1) { +// ip = ip.substring(0, ip.indexOf(IP_SEPARATOR)); +// } +// return ip; +// } +// +// if (StringUtils.isBlank(ip) || "unknown".equalsIgnoreCase(ip)) { +// ip = request.getHeader("WL-Proxy-Client-IP"); +// } else { +// return ip; +// } +// +// if (StringUtils.isBlank(ip) || "unknown".equalsIgnoreCase(ip)) { +// ip = request.getRemoteAddr(); +// } else { +// return ip; +// } +// +// if (StringUtils.isBlank(ip) || "unknown".equalsIgnoreCase(ip)) { +// ip = ""; +// } +// return ip; +// } + + /** + * @Author : Jiaobailong + * @Summary : getIpAddress + * @Date : 2016/12/15 15:52 + */ + public static String getIpAddress(HttpServletRequest request) { + + String ip = null; + + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("X-Forwarded-For"); + } + + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("HTTP_CIP"); + } + + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("HTTP_X_FORWARDED_FOR"); + + if (!Strings.isNullOrEmpty(ip)) { + ip = Splitter.on(',').trimResults().omitEmptyStrings().splitToList(ip).get(0); + } + } + + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("REMOTE_ADDR"); + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("HTTP_CDN_SRC_IP"); + } + + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getRemoteAddr(); + } + + if (ip != null && ip.startsWith("::")) { + ip = "127.0.0.1"; + } + + return ip; + } + + private static final Pattern lanIp = Pattern.compile( + "(10|172|192)\\\\.([0-1][0-9]{0,2}|[2][0-5]{0,2}|[3-9][0-9]?)\\\\.([0-1][0-9]{0,2}|[2][0-5]{0,2}|[3-9][0-9]?)\\\\.([0-1][0-9]{0,2}|[2][0-5]{0,2}|[3-9][0-9]?)"); + + + /** + * @Author : Jiaobailong + * @Summary : isLanClient + * @Date : 2016/12/15 16:07 + */ + public static boolean isLanClient(String ip) { + + /** + * 华为云139开头 + */ + return !StringUtils.isEmpty(ip) && (ip.equals("localhost") || ip.equals("0:0:0:0:0:0:0:1") + || ip.startsWith("127.") || ip.startsWith("10.") || ip.startsWith("192.168.") || lanIp.matcher(ip).find()); + + } +} diff --git a/car-common/src/main/java/com/weiqi/mis/JacksonHelper.java b/car-common/src/main/java/com/weiqi/mis/JacksonHelper.java new file mode 100644 index 0000000..d338ab1 --- /dev/null +++ b/car-common/src/main/java/com/weiqi/mis/JacksonHelper.java @@ -0,0 +1,292 @@ +package com.weiqi.mis; + +import java.io.IOException; +import java.text.SimpleDateFormat; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.Date; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.DeserializationFeature; +import com.fasterxml.jackson.databind.JavaType; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.MapperFeature; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.SerializationFeature; +import com.fasterxml.jackson.databind.deser.std.DateDeserializers; +import com.fasterxml.jackson.databind.ser.std.DateSerializer; +import com.fasterxml.jackson.databind.type.TypeFactory; +import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; +import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer; +import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer; +import com.fasterxml.jackson.module.paramnames.ParameterNamesModule; +import com.google.common.base.Preconditions; +import lombok.SneakyThrows; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; + +@Slf4j +public class JacksonHelper { + + private static ObjectMapper mapper = new ObjectMapper(); + + static { + JavaTimeModule javaTimeModule = new JavaTimeModule(); + javaTimeModule.addSerializer(LocalDateTime.class, + new LocalDateTimeSerializer(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS"))); + javaTimeModule.addDeserializer(LocalDateTime.class, + new LocalDateTimeDeserializer(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS"))); + javaTimeModule.addSerializer(Date.class, + new DateSerializer(false, new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"))); + javaTimeModule.addDeserializer(Date.class, new CustomDateDeserializer()); + + mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false) + .configure(DeserializationFeature.FAIL_ON_IGNORED_PROPERTIES, false) + .configure(MapperFeature.ACCEPT_CASE_INSENSITIVE_PROPERTIES, true) + .configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false) + .registerModule(new ParameterNamesModule()) + .registerModule(javaTimeModule); + ; + + mapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS")); + } + + private JacksonHelper() { + } + + public static ObjectMapper getMapper() { + return mapper; + } + + @SneakyThrows + public static String serialize(Object o) { + return mapper.writeValueAsString(o); + } + + @SneakyThrows + public static String serialize(Object o, boolean pretty) { + if (pretty) { + return mapper.writerWithDefaultPrettyPrinter().writeValueAsString(o); + } + return mapper.writeValueAsString(o); + } + + + @SneakyThrows + public static T deserialize(String s, Class clazz) { + if (s == null || s.length() == 0) { + return null; + } + + + T t = mapper.readValue(s, clazz); + return t; + + } + + @SneakyThrows + public static T deserialize(String s, JavaType javaType) { + if (s == null || s.length() == 0) { + return null; + } + + T t = mapper.readValue(s, javaType); + return t; + } + + @SneakyThrows + public static T deserialize(String s, TypeReference clazz) { + + if (s == null || s.length() == 0) { + return null; + } + + T t = (T) mapper.readValue(s, clazz); + return t; + } + + public static T deserialize(String s, Class parametrized, Class... parameterClasses) { + if (s == null || s.length() == 0) { + return null; + } + + try { + if (parameterClasses == null || parameterClasses.length == 0) { + T t = mapper.readValue(s, parametrized); + } + T t = mapper.readValue(s, + TypeFactory.defaultInstance().constructParametricType(parametrized, parameterClasses)); + return t; + } catch (IOException e) { + log.error(s + ", " + e.getMessage()); + } + return null; + } + + @SneakyThrows + public static JsonNode deserialize(String s) { + if (s == null || s.length() == 0) { + return null; + } + + JsonNode t = mapper.readTree(s); + return t; + } + + /** + * Description 将json数据按规则组装成List格式 + * + * @param jsonList 列表json数据 + * @param map 对应规则 old -> new + * @param flag 是否允许旧字段值为空 + * @return + */ + @SneakyThrows + public static List> reloadData(String jsonList, Map map, boolean flag) { + List> dataMaps = new ArrayList<>(); + ObjectMapper objectMapper = new ObjectMapper(); + JsonNode jsonNodes = objectMapper.readTree(jsonList); + Iterator jsonNodeIterator = jsonNodes.iterator(); + boolean isList = jsonNodes.isArray(); + if (isList) { + while (jsonNodeIterator.hasNext()) { + Map item = new HashMap(); + JsonNode jsonNode = jsonNodeIterator.next(); + + //获取新旧字段对应规则 + Set> entries = map.entrySet(); + for (Map.Entry entry : entries) { + JsonNode jsonNodeItem = jsonNode; + String oldFiled = entry.getKey(); + String newFiled = entry.getValue(); + Preconditions.checkArgument(StringUtils.isNotEmpty(oldFiled), "oldFiled must not be empty"); + Preconditions.checkArgument(StringUtils.isNotEmpty(newFiled), "newFiled must not be empty"); + + String[] split = oldFiled.split("-"); + if (split.length >= 2) { + for (int i = 0; i < split.length - 1; i++) { + jsonNodeItem = jsonNodeItem.get(split[i]); + if (i == split.length - 2) { + oldFiled = split[split.length - 1]; + } + } + } + + //旧字段值 + String oldValue = null; + try { + oldValue = jsonNodeItem.get(oldFiled).asText(); + } catch (Exception e) { + if (!flag) { + log.error(oldFiled + " : get oldValue is empty" + jsonNodes.toString()); + } + } finally { + item.put(newFiled, oldValue); + } + if (!flag) { + Preconditions.checkArgument(StringUtils.isNotEmpty(oldValue), "oldValue must not be empty"); + } + } + if (item.size() == entries.size()) { + dataMaps.add(item); + } + } + } else { + Map item = new HashMap(); + //获取新旧字段对应规则 + Set> entries = map.entrySet(); + for (Map.Entry entry : entries) { + JsonNode jsonNodeItem = jsonNodes; + String oldFiled = entry.getKey(); + String newFiled = entry.getValue(); + Preconditions.checkArgument(StringUtils.isNotEmpty(oldFiled), "oldFiled must not be empty"); + Preconditions.checkArgument(StringUtils.isNotEmpty(newFiled), "newFiled must not be empty"); + //旧字段值 + + String[] split = oldFiled.split("-"); + if (split.length >= 2) { + for (int i = 0; i < split.length - 1; i++) { + jsonNodeItem = jsonNodeItem.get(split[i]); + if (i == split.length - 2) { + oldFiled = split[split.length - 1]; + } + } + } + + String oldValue = null; + try { + oldValue = jsonNodeItem.get(oldFiled).asText(); + } catch (Exception e) { + if (!flag) { + log.error(oldFiled + " : get oldValue is empty" + jsonNodes.toString()); + } + } finally { + item.put(newFiled, oldValue); + } + if (!flag) { + Preconditions.checkArgument(StringUtils.isNotEmpty(oldValue), "oldValue must not be empty"); + } + } + if (item.size() == entries.size()) { + dataMaps.add(item); + } + } + return dataMaps; + } + + public static TypeFactory getTypeFactory() { + return mapper.getTypeFactory(); + } + + public static T toObject(JsonNode node, Class clazz) { + if (node == null) { + return null; + } + + if (node.isArray()) { + log.error("error when converting jsonNode to object. node is array. node: " + node); + return null; + } + + T t = null; + try { + t = mapper.treeToValue(node, clazz); + } catch (Exception ex) { + log.error("error when converting jsonNode to object. node: " + node, ex); + } + + return t; + } + + static class CustomDateDeserializer extends DateDeserializers.DateDeserializer { + + + @Override + public Date deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { + + Date date = null; + + try { + date = super.deserialize(p, ctxt); + } catch (IOException e) { + } + + + if (date == null) { + date = DateHelper.deserialize(p.getText()); + } + + return date; + } + } + + +} diff --git a/car-common/src/main/java/com/weiqi/mis/MD5Util.java b/car-common/src/main/java/com/weiqi/mis/MD5Util.java new file mode 100644 index 0000000..1d8c8d5 --- /dev/null +++ b/car-common/src/main/java/com/weiqi/mis/MD5Util.java @@ -0,0 +1,71 @@ +package com.weiqi.mis; + +import com.google.common.base.Charsets; +import com.google.common.hash.Hasher; +import com.google.common.hash.Hashing; +import org.springframework.util.DigestUtils; + +import java.io.UnsupportedEncodingException; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; + +public class MD5Util { + + /** + * @Author : yyy + * @Summary : md5 + * @Date : 2019/07/09 15:40 + */ + public final static byte[] md5(byte[] data) { + Hasher hasher = Hashing.md5().newHasher(); + hasher.putBytes(data); + return hasher.hash().asBytes(); + } + + /** + * @Author : yyy + * @Summary : md5 + * @Date : 2019/07/09 15:40 + */ + public final static String md5(String data) { + Hasher hasher = Hashing.md5().newHasher(); + hasher.putString(data, Charsets.UTF_8); + return hasher.hash().toString().toUpperCase(); + } + + + public static void main(String[] args) { + System.out.println(DigestUtils.md5DigestAsHex("abc".getBytes())); + System.out.println(md5("abc").toLowerCase()); + //System.out.println(getMD5Str("abc")); + } + + /** + * description: 聚通达专用 + * + * @param sourceStr + * @return java.lang.String + */ + public static String getMD5(String sourceStr) { + String resultStr = ""; + try { + byte[] temp = sourceStr.getBytes(); + MessageDigest md5 = MessageDigest.getInstance("MD5"); + md5.update(temp); + byte[] b = md5.digest(); + for (int i = 0; i < b.length; i++) { + char[] digit = {'0', '1', '2', '3', '4', '5', '6', '7', '8', + '9', 'A', 'B', 'C', 'D', 'E', 'F'}; + char[] ob = new char[2]; + ob[0] = digit[(b[i] >>> 4) & 0X0F]; + ob[1] = digit[b[i] & 0X0F]; + resultStr += new String(ob); + } + return resultStr; + } catch (NoSuchAlgorithmException e) { + e.printStackTrace(); + return null; + } + } + +} diff --git a/car-common/src/main/java/com/weiqi/mis/RedisUtil.java b/car-common/src/main/java/com/weiqi/mis/RedisUtil.java new file mode 100644 index 0000000..45b2c55 --- /dev/null +++ b/car-common/src/main/java/com/weiqi/mis/RedisUtil.java @@ -0,0 +1,87 @@ +package com.weiqi.mis; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.PropertySource; +import redis.clients.jedis.Jedis; +import redis.clients.jedis.JedisPool; +import redis.clients.jedis.JedisPoolConfig; + +import java.util.function.Consumer; + +/** + * Created by sky on 2019/7/24. + */ + + +@Configuration +//@PropertySource("classpath:redis.properties") +public class RedisUtil { + + @Value("${spring.redis.host:192.168.0.1}") + private String host; + + @Value("${spring.redis.port:6793}") + private int port; + + @Value("${spring.redis.timeout:5000}") + private int timeout; + + @Value("${spring.redis.jedis.pool.max-idle:1}") + private int maxIdle; + + @Value("${spring.redis.jedis.pool.max-wait:0}") + private long maxWaitMillis; + + @Value("${spring.redis.block-when-exhausted:0}") + private boolean blockWhenExhausted; + + @Bean + public JedisPool redisPoolFactory() throws Exception{ + + JedisPoolConfig jedisPoolConfig = new JedisPoolConfig(); + jedisPoolConfig.setMaxIdle(maxIdle); + jedisPoolConfig.setMaxWaitMillis(maxWaitMillis); + // 连接耗尽时是否阻塞, false报异常,ture阻塞直到超时, 默认true + jedisPoolConfig.setBlockWhenExhausted(blockWhenExhausted); + // 是否启用pool的jmx管理功能, 默认true + jedisPoolConfig.setJmxEnabled(true); + JedisPool jedisPool = new JedisPool(jedisPoolConfig, host, port, timeout); + return jedisPool; + + } + + + public static JedisPool pool=null; + @Autowired + void init(JedisPool _pool) + { + pool=_pool; + } + public static void call(Consumer fun) + { + try (Jedis jedis = pool.getResource()) { + fun.accept(jedis); + } + } + + + + private static final String SCRIPT="local t= redis.call('time')[1]\n return redis.call('incrby',KEYS[1]..':'..KEYS[2]..':'..t,ARGV[1])"; + public static Long qpsOK(String key, Integer value) { + try (Jedis jedis = pool.getResource()) { + return (Long) jedis.eval(SCRIPT,2,"incrOK",key, String.valueOf(value)); + } + } + public static Long qpsERROR(String key, Integer value) { + try (Jedis jedis = pool.getResource()) { + return (Long) jedis.eval(SCRIPT,2,"incrERROR",key, String.valueOf(value)); + } + } + + +} + + diff --git a/car-common/src/main/java/com/weiqi/mis/ReturnCode.java b/car-common/src/main/java/com/weiqi/mis/ReturnCode.java new file mode 100644 index 0000000..a2c26e6 --- /dev/null +++ b/car-common/src/main/java/com/weiqi/mis/ReturnCode.java @@ -0,0 +1,113 @@ +package com.weiqi.mis; + +import java.util.HashMap; +import java.util.Map; + +/** + * Created by yyy on 2024/3/22. + */ +public enum ReturnCode { + + UNREGISTER(104, "_appid未注册(请联系接口提供方)~!"), + SIGNERROR(107, "_sign签名无效~!"), + TIMESTAMPERROR(108, "_timestamp无效~!"), + TIMESTAMPEXPIRES(109, "_timestamp已过期~!"), + + INVALID(0, "无效"), + LACK_PARAM(101, "缺少必要的请求参数"), + FORMAT_ERROR(102, "请求参数格式错误"), + LACK_APPID(103, "缺少参数_appid"), + APPID_WITHOUT(104, "该appid不存在"), + APPID_STOP(105, "该_appid已停用"), + LACK_AUTOGRAPH(106, "缺少签名"), + AUTOGRAPH_ERROR(107, "缺少签名"), + LACK_TIMESTAMP(108, "缺少参数_timestamp"), + REQUEST_INVALID(109, "请求已过期"), + REDIRECT(110, "请求重发"), + NOT_HTTPGET(111, "HTTP请求非get方式"), + NOT_HTTPPOST(112, "HTTP请求非post方式"), + API_NOT_EXIST(113, "接口版本不存在"), + NOT_API_AUTH(114, "没有接口访问权限"), + API_STOP(115, "接口已停用"), + API_OFFLINE(116, "接口不处于上线状态"), + BEYOND_FREQUENCY(117, "已超限频阀值"), + BEYOND_CURRENT_LIMIT(118, "已超限流阀值"), + IP_INVALID(119, "ip限制不能访问资源"), + WITHOUT_PCPOPCLUB(120, "获取不到pcpopclub值"), + PCPOPCLUB_ERROR(121, "pcpopclub解密失败"), + INFO_ERROR(122, "用户名或密码验证失败"), + REQUEST_ILLEGAL(123, "请求被拒绝.用来处理业务上认为定义的非法请求"), + PHONE_ERROR(124, "pcpopclub解密成功,未验证手机号"), + NOT_MODIFY(125, "pcpopclub解密成功,未修改初始用户名"), + WITHOUT_RESULT(126, "查询内容不存在"), + API_ERROR(127, "接口系统错误"), + TRADE_NO_EXIST(128, "交易号已经存在,重复推送数据"), + USER_NO_LOGIN(129, "用户未登录"), + OCR_NO_RESULT(130, "OCR接口识别失败"), + BAD_SOURCE(131, "source错误"), + UPLOAD_FAILE(2150137, "上传失败:请上传购车发票"), + PIC_FORMAT_ERROR(2150138, "上传失败:图片格式错误"), + USERINFO_ERROR(2150139, "调用用户中心获取用户信息失败"), + + NAKED_PRICE_LACK(2150101, "缺少裸车价"), + BUY_TIME_LACK(2150102, "缺少购车时间"), + BUY_TIME_F(2150103, "购车时间不正确"), + + CARPRICE_STATISTICS_EXIST(2160301, "该价格您已经点击过有帮助,不允许重复提交"), + MARKET_PRICE_EXIST(2160101, "该价格已经保存过,不允许重复保存"), + MARKET_PRICE_NOT_EXIST(2160102, "该价格不存在"), + MARKET_INVITE_NOT_EXIST(2160102, "该邀请信息不存在"), + IS_CURRENT_MEMBER(2160103, "不允许自己邀请自己"), + MARKET_PRICE_REWARD_EXIST(2160104, "已经发过奖励,不允许再次发送"), + FILE_LENGTH_OUT_OF_RANGE(105, "字节流超出范围"), + + + NOT_BRAND_LACK(2170002, "缺少品牌信息"), + NOT_SERIES_LACK(2170003, "缺少车系信息"), + NOT_SPEC_LACK(2170004, "缺少车型信息"), + NOT_PROVICE_LACK(2170005, "缺少省份信息"), + NOT_CITY_LACK(2170006, "缺少城市信息"), + NOT_JXS_LACK(2170007, "缺少经销商信息"), + NOT_SHOW_TIME_LACK(2170008, "缺少车展日期信息"), + NOT_CUSTOMER_NAME_LACK(2170009, "缺少客户名称信息"), + NOT_VERDOR_NAME_LACK(2170010, "缺少商家名称信息"), + SEND_AUTOSHOW_STATUS_ERROR(2170011, "发送审核状态失败"), + SEND_OCR_TOOL_CALLBACK_ERROR(2170012, "发送审核状态失败"), + SEND_CAR_OWNER_STATUS_ERROR(2170013, "发送审核状态失败"), + NOT_PKUUID_LACK(2170014,"缺少pkuuid"), + + // 验证码相关 + VCODE_MISSING_GVCODE(3000100, "请输入图片验证码"), + VCODE_BAD_GVCODE(3000201, "图片验证码错误"), + VCODE_SEND_FAILED(3001101, "验证码发送失败"); + + private int code; + private String desc; + + private ReturnCode(int code, String desc) { + this.code = code; + this.desc = desc; + } + + private static Map codes = new HashMap(); + + public int getCode() { + return this.code; + } + + public String getDesc() { + return this.desc; + } + + public static ReturnCode getReturnCode(int code) { + ReturnCode[] types = values(); + for (ReturnCode ct : types) { + if (ct.getCode() == code) { + return ct; + } + } + return null; + } + + +} diff --git a/car-common/src/main/java/com/weiqi/mis/ReturnValue.java b/car-common/src/main/java/com/weiqi/mis/ReturnValue.java new file mode 100644 index 0000000..68cb0f2 --- /dev/null +++ b/car-common/src/main/java/com/weiqi/mis/ReturnValue.java @@ -0,0 +1,99 @@ +package com.weiqi.mis; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import com.google.common.collect.ImmutableMap; + +import java.io.Serializable; +import java.util.Map; + + +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonPropertyOrder({"code", "msg", "data"}) +public class ReturnValue implements Serializable { + + + @JsonProperty("code") + private int code; + + private String msg; + + private int count; + + private T data; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public T getData() { + return data; + } + + public void setData(T data) { + this.data = data; + } + + public static ReturnValue buildSuccessdata(T obj) { + ReturnValue rt = new ReturnValue<>(); + rt.setCode(0); + rt.setData(obj); + rt.setMsg(""); + return rt; + } + + public static ReturnValue buildSuccessdata(T obj,int count) { + ReturnValue rt = new ReturnValue<>(); + rt.setCode(0); + rt.setData(obj); + rt.setCount(count); + rt.setMsg(""); + return rt; + } + + public static ReturnValue buildErrordata(int code, String msg) { + ReturnValue rt = new ReturnValue(); + rt.setCode(code); + rt.setMsg(msg); + return rt; + } + + public static Map buildSuccessdata() { + return ImmutableMap.of("code", 0, "msg", ""); + } + + public static Map buildErrormsg(int code, String msg) { + return ImmutableMap.of("code", code, "msg", msg); + } + + public int getCount() { + return count; + } + + public void setCount(int count) { + this.count = count; + } + + @Override + public String toString() { + return "ReturnValue{" + + "code=" + code + + ", msg='" + msg + '\'' + + ", count=" + count + + ", data=" + data + + '}'; + } +} diff --git a/car-common/src/main/java/com/weiqi/mis/ReturnValueApi.java b/car-common/src/main/java/com/weiqi/mis/ReturnValueApi.java new file mode 100644 index 0000000..8c77b07 --- /dev/null +++ b/car-common/src/main/java/com/weiqi/mis/ReturnValueApi.java @@ -0,0 +1,80 @@ +package com.weiqi.mis; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import com.google.common.collect.ImmutableMap; + +import java.io.Serializable; +import java.util.Map; + + +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonPropertyOrder({"returnCode", "message", "result"}) +public class ReturnValueApi implements Serializable { + + + @JsonProperty("returncode") + private int returnCode; + + private String message; + + private T result; + + public int getReturnCode() { + return returnCode; + } + + public void setReturnCode(int returnCode) { + this.returnCode = returnCode; + } + + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public T getResult() { + return result; + } + + public void setResult(T result) { + this.result = result; + } + + public static ReturnValueApi buildSuccessResult(T obj) { + ReturnValueApi rt = new ReturnValueApi<>(); + rt.setReturnCode(0); + rt.setResult(obj); + rt.setMessage(""); + return rt; + } + + public static ReturnValueApi buildErrorResult(int returnCode, String message) { + ReturnValueApi rt = new ReturnValueApi(); + rt.setReturnCode(returnCode); + rt.setMessage(message); + return rt; + } + + public static Map buildSuccessResult() { + return ImmutableMap.of("returncode", 0, "message", ""); + } + + public static Map buildErrorMessage(int returnCode, String message) { + return ImmutableMap.of("returncode", returnCode, "message", message); + } + + @Override + public String toString() { + return "ReturnValue{" + + "returnCode=" + returnCode + + ", message='" + message + '\'' + + ", result=" + result + + '}'; + } +} diff --git a/car-common/src/main/java/com/weiqi/mis/ReturnValuePage.java b/car-common/src/main/java/com/weiqi/mis/ReturnValuePage.java new file mode 100644 index 0000000..b0c3d4b --- /dev/null +++ b/car-common/src/main/java/com/weiqi/mis/ReturnValuePage.java @@ -0,0 +1,99 @@ +package com.weiqi.mis; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import com.google.common.collect.ImmutableMap; + +import java.io.Serializable; +import java.util.Map; + + +@JsonIgnoreProperties(ignoreUnknown = true) +@JsonPropertyOrder({"code", "msg", "data"}) +public class ReturnValuePage implements Serializable { + + + @JsonProperty("code") + private int code; + + private String msg; + + private int count; + + private T data; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public T getData() { + return data; + } + + public void setData(T data) { + this.data = data; + } + + public static ReturnValuePage buildSuccessdata(T obj) { + ReturnValuePage rt = new ReturnValuePage<>(); + rt.setCode(0); + rt.setData(obj); + rt.setMsg(""); + return rt; + } + + public static ReturnValuePage buildSuccessdata(T obj,int count) { + ReturnValuePage rt = new ReturnValuePage<>(); + rt.setCode(0); + rt.setData(obj); + rt.setCount(count); + rt.setMsg(""); + return rt; + } + + public static ReturnValuePage buildErrordata(int code, String msg) { + ReturnValuePage rt = new ReturnValuePage(); + rt.setCode(code); + rt.setMsg(msg); + return rt; + } + + public static Map buildSuccessdata() { + return ImmutableMap.of("code", 0, "msg", ""); + } + + public static Map buildErrormsg(int code, String msg) { + return ImmutableMap.of("code", code, "msg", msg); + } + + public int getCount() { + return count; + } + + public void setCount(int count) { + this.count = count; + } + + @Override + public String toString() { + return "ReturnValuePage{" + + "code=" + code + + ", msg='" + msg + '\'' + + ", count=" + count + + ", data=" + data + + '}'; + } +} diff --git a/car-common/src/main/java/com/weiqi/mis/SpAddr.java b/car-common/src/main/java/com/weiqi/mis/SpAddr.java new file mode 100644 index 0000000..d4ce3e6 --- /dev/null +++ b/car-common/src/main/java/com/weiqi/mis/SpAddr.java @@ -0,0 +1,39 @@ +package com.weiqi.mis; + + +import java.util.HashMap; +import java.util.Map; +import java.util.TreeMap; + +public class SpAddr { + + public static String path = ""; + public static Map selfOkMap = new TreeMap<>(); + public static Map selfErrMap = new TreeMap<>(); + + public static Map yzMap = new TreeMap<>(); + public static Map js1Map = new TreeMap<>(); + + public static Map yzMapF = new TreeMap<>(); + public static Map js1MapF = new TreeMap<>(); + + + //流量图表请求地址 + + static { + + //流量机器 +// yzMapF.put("10.168.12.81:4000","初始化"); +// yzMapF.put("10.27.156.9","初始化"); + + + + + + } + + + + + +} diff --git a/car-common/src/main/java/com/weiqi/mis/StringUtils.java b/car-common/src/main/java/com/weiqi/mis/StringUtils.java new file mode 100644 index 0000000..2b13a98 --- /dev/null +++ b/car-common/src/main/java/com/weiqi/mis/StringUtils.java @@ -0,0 +1,59 @@ +package com.weiqi.mis; + +import java.util.HashMap; +import java.util.Map; + +public class StringUtils { + + /** + * 反转 + * + * @param str + * @return + */ + public static String reverse(String str) { + char[] chars = str.toCharArray(); + String reverse = ""; + for (int i = chars.length - 1; i >= 0; i--) { + reverse += chars[i]; + } + return reverse; + } + + + + + /** + * 切割项目名称 + * + * @param path + * @return + */ + public static String getPath(String path) { +// String path1 = "/data/jiage-sms-mis/deploy/jiage-sms-mis_9081/WEB-INF/classes/"; + String patharr[] = path.split("/"); + if (patharr.length > 5) { + return patharr[4]; + } + return path; + } + + + /** + * 格式化body + * + * @param str 目标字符串 + * @param values 储值对象 + * @return + */ + public static String fmtByObj(String str, Map values) { + + for (String key : values.keySet()) { + str = str.replace("{" + key + "}", values.get(key)); + } + + return str; + } + + +} diff --git a/car-common/src/main/java/com/weiqi/mis/ThreadPoolConfig.java b/car-common/src/main/java/com/weiqi/mis/ThreadPoolConfig.java new file mode 100644 index 0000000..12d2167 --- /dev/null +++ b/car-common/src/main/java/com/weiqi/mis/ThreadPoolConfig.java @@ -0,0 +1,39 @@ +package com.weiqi.mis; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; + +import java.util.concurrent.Executor; +import java.util.concurrent.ThreadPoolExecutor; + +/** + * Created by yyy on 2018/5/29. + */ +@Configuration +public class ThreadPoolConfig { + + private int corePoolSize = 30;//线程池维护线程的最少数量 + + private int maxPoolSize = 50;//线程池维护线程的最大数量 + + private int queueCapacity = 100; //缓存队列 + + private int keepAlive = 60;//允许的空闲时间 + + @Bean(name = "threadPool") + public Executor getThreadPool(){ + ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); + executor.setCorePoolSize(corePoolSize); + executor.setMaxPoolSize(maxPoolSize); + executor.setQueueCapacity(queueCapacity); + executor.setThreadNamePrefix("carPriceExecutor-"); + // rejection-policy:当pool已经达到max size的时候,如何处理新任务 + // CALLER_RUNS:不在新线程中执行任务,而是由调用者所在的线程来执行 + executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy()); //对拒绝task的处理策略 + executor.setKeepAliveSeconds(keepAlive); + executor.initialize(); + return executor; + } + +} diff --git a/car-common/src/main/java/com/weiqi/mis/URLEncodeUtil.java b/car-common/src/main/java/com/weiqi/mis/URLEncodeUtil.java new file mode 100644 index 0000000..6bc9943 --- /dev/null +++ b/car-common/src/main/java/com/weiqi/mis/URLEncodeUtil.java @@ -0,0 +1,15 @@ +package com.weiqi.mis; + +public class URLEncodeUtil { + + //生成urlencode方法 + public static String urlEncode(String str) { + String result = ""; + try { + result = java.net.URLEncoder.encode(str, "UTF-8"); + } catch (Exception e) { + e.printStackTrace(); + } + return result; + } +} diff --git a/car-common/src/main/java/com/weiqi/mis/XmlUtil.java b/car-common/src/main/java/com/weiqi/mis/XmlUtil.java new file mode 100644 index 0000000..dfa6890 --- /dev/null +++ b/car-common/src/main/java/com/weiqi/mis/XmlUtil.java @@ -0,0 +1,48 @@ +package com.weiqi.mis; + +import org.dom4j.Document; +import org.dom4j.DocumentException; +import org.dom4j.DocumentHelper; +import org.dom4j.Element; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class XmlUtil { + + /** + * xml 转 map + * @param soap + * @return + */ + public static Map xml2Map(String soap) { + + Map map = new HashMap(); + Document doc = null;// 报文转成doc对象 + try { + doc = DocumentHelper.parseText(soap); + } catch (DocumentException e) { + e.printStackTrace(); + return map; + } + Element root = doc.getRootElement();// 获取根元素,准备递归解析这个XML树 + getCode(root, map); + return map; + + } + + public static void getCode(Element root, Map map) { + if (root.elements() != null) { + List list = root.elements();// 如果当前跟节点有子节点,找到子节点 + for (Element e : list) {// 遍历每个节点 + if (e.elements().size() > 0) { + getCode(e, map);// 当前节点不为空的话,递归遍历子节点; + } + if (e.elements().size() == 0) { + map.put(e.getName(), e.getTextTrim()); + } // 如果为叶子节点,那么直接把名字和值放入map + } + } + } +} diff --git a/car-common/src/main/java/com/weiqi/mis/Z.java b/car-common/src/main/java/com/weiqi/mis/Z.java new file mode 100644 index 0000000..65079ae --- /dev/null +++ b/car-common/src/main/java/com/weiqi/mis/Z.java @@ -0,0 +1,974 @@ +package com.weiqi.mis; + +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.DeserializationFeature; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.SerializationFeature; +import ma.glasnost.orika.MapperFacade; +import ma.glasnost.orika.MapperFactory; +import ma.glasnost.orika.impl.DefaultMapperFactory; +import org.apache.commons.codec.digest.DigestUtils; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.util.StopWatch; + +import javax.servlet.http.Cookie; +import javax.servlet.http.HttpServletRequest; +import java.io.*; +import java.net.*; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; +import java.text.DateFormat; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.*; +import java.util.concurrent.ConcurrentHashMap; +import java.util.function.Function; +import java.util.function.Predicate; +import java.util.regex.Pattern; +import java.util.stream.Collectors; + +// import com.weiqi.chat.common.model.FilePart; + +/** + * Created by lindaohui on 2018/3/22. + */ +public final class Z { + + private final static Logger logger = LoggerFactory.getLogger(Z.class); + public static ObjectMapper objectMapper; + public static MapperFacade orikaMapper; + + /** + * 服务器 IP + */ + public static final String SERVER_IP; + + static { + + String hostAddress; + try { + hostAddress = InetAddress.getLocalHost().getHostAddress(); + } catch (UnknownHostException e) { + hostAddress = "Unknown"; + } + SERVER_IP = hostAddress; + } + + /** + * 默认时间格式 + */ + private static final SimpleDateFormat defaultDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + + static { + // jackson + objectMapper = new ObjectMapper(); + objectMapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES); // 缺字段不报异常 + objectMapper.disable(SerializationFeature.FAIL_ON_EMPTY_BEANS); + objectMapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS); + // objectMapper.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL, JsonTypeInfo.As.PROPERTY); // 加 @class + // 信息 + // objectMapper.setPropertyNamingStrategy(PropertyNamingStrategy.SNAKE_CASE); // 驼峰变下滑线 + objectMapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")); + // orika + MapperFactory mapperFactory = new DefaultMapperFactory.Builder().build(); + orikaMapper = mapperFactory.getMapperFacade(); + } + + /** + * 字符串合并方法,返回一个合并后的字符串,像.net里的format函数 + * + * @param str + * @param args + * @return + */ + public static String fmt(String str, Object... args) { + if (str == null || "".equals(str) || args.length == 0) + return str; + + String result = str.intern(); + Pattern p = Pattern.compile("\\{(\\d+)\\}"); + java.util.regex.Matcher m = p.matcher(str); + + while (m.find()) { + int index = Z.parseInt(m.group(1)); + if (index < args.length) { + result = result.replace(m.group(), args[index] == null ? "" : args[index].toString()); + } + } + return result; + } + + public static int parseInt(String s) { + return parseInt(s, 0); + } + + public static Integer parseInt(String s, int def) { + try { + return Integer.parseInt(s); + } catch (NumberFormatException e) { + return def; + } + } + + public static T fromJSON(final TypeReference typeReference, final String jsonString) throws Exception { + T data = Z.objectMapper.readValue(jsonString, typeReference); + return data; + } + + public static T fromJSON(final Class tClass, final String jsonString) throws Exception { + T data = Z.objectMapper.readValue(jsonString, tClass); + return data; + } + + public static String toJSON(Object val) throws Exception { + String str = Z.objectMapper.writeValueAsString(val); + return str; + } + + public static String safeToJSON(Object val) { + String str = ""; + try { + str = Z.toJSON(val); + } catch (Exception e) { + logger.debug("toJSON 发生异常,errMsg:{},val:{}", e.getMessage(), val, e); + } + return str; + } + + public static T safeFromJSON(final Class tClass, final String jsonString) { + T data = null; + try { + data = Z.objectMapper.readValue(jsonString, tClass); + } catch (IOException e) { + logger.debug("safeFromJSON 发生异常,errMsg:{},jsonString:{}", e.getMessage(), jsonString, e); + } + return data; + } + + /** + * 简单的复制出新类型对象 + * + * @param source + * @param destinationClass + * @param + * @param + * @return + */ + public static D map(S source, Class destinationClass) { + return orikaMapper.map(source, destinationClass); + } + + /** + * 简单的复制出新类型对象 + * + * @param source + * @param destinationClass + * @param + * @param + * @return + */ + public static List mapAsList(Iterable source, Class destinationClass) { + return orikaMapper.mapAsList(source, destinationClass); + } + + // /** + // * @param min 这个正则过于严格,无法满足需求 + // * 最小值 + // * @param max + // * 最大值,会返回最大值 + // * @return + // */ + // public static int getRandom(int min, int max) { + // return (int)(min + Math.random() * (max - min + 1)); + // } + // + // public static boolean isMobile(String mobile) { + // if (mobile == null) { + // return false; + // } + // Pattern pattern = Pattern.compile("^0?1[34578]\\d{9}$"); + // Matcher matcher = pattern.matcher(mobile); + // return matcher.matches(); + // } + + public static boolean isNullOrEmpty(String content) { + return content == null || content.length() == 0; + } + + /** + * 是否为 null 或者小于1 + * + * @param value + * @return + */ + public static boolean isNullOrLessOne(Integer value) { + return value == null || value < 1; + } + + /** + * 是否为 null 或者长度为0 + * + * @param collection + * @return + */ + public static boolean isNullOrEmpty(Collection collection) { + return collection == null || collection.size() == 0; + } + + public static String getIpAddress(HttpServletRequest request) { + String ip = request.getHeader("X-Forwarded-For"); + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("F443CIP"); + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("HTTP_CIP"); + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("HTTP_X_FORWARDED_FOR"); + if (!isNullOrEmpty(ip)) { + ip = ip.split(",")[0]; + } + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("REMOTE_ADDR"); + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("HTTP_CDN_SRC_IP"); + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getRemoteAddr(); + } + if (ip != null && ip.startsWith("::")) { + ip = "127.0.0.1"; + } + return ip; + } + + /** + * 获取本地主机名字 + * + * @return + */ + public static String getLocalHostName() { + try { + return InetAddress.getLocalHost().getHostName(); + } catch (UnknownHostException e) { + return "unknown"; + } + } + + public static String getParameter(HttpServletRequest request, String name) { + Enumeration parameterNames = request.getParameterNames(); + while (parameterNames.hasMoreElements()) { + String key = parameterNames.nextElement(); + if (name.equalsIgnoreCase(key)) { + return request.getParameter(key); + } + } + return ""; + } + + public static int getParameterForInt(HttpServletRequest request, String name, int defaultValue) { + String str = getParameter(request, name); + if (isNullOrEmpty(str)) { + return defaultValue; + } + try { + return Integer.parseInt(str); + } catch (Exception e) { + return defaultValue; + } + } + + public static Cookie getCookie(Cookie[] cookies, String name) { + if (cookies != null) { + for (Cookie cookie : cookies) { + if (name.equalsIgnoreCase(cookie.getName())) { + return cookie; + } + } + } + return null; + } + + public static String joinString(Object[] array, String regex) { + int length = array.length; + if (length < 1) { + return ""; + } + if (length == 1) { + return array[0].toString(); + } + StringBuilder sb = new StringBuilder(array[0].toString()); + for (int i = 1; i < length; i++) { + sb.append(regex); + sb.append(array[i]); + } + return sb.toString(); + } + + public static String formatLogContent(String url, String queryString, String message) { + + String args = message; + if (url != null && !url.isEmpty()) { + args += "," + Z.safeURLEncode(url); + } + if (queryString != null && !queryString.isEmpty()) { + args += "," + Z.safeURLEncode(queryString); + } + return args; + // SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd*HH:mm:ss"); + // String args = "host_str=&url_str=" + url + "&query_str="; + // try { + // args += URLEncoder.encode(queryString, "utf-8"); + // } catch (Exception e) { + // } + // return String.format("`%s`cyqchat`%s`%s", simpleDateFormat.format(new Date()).replace('*', 'T'), args, + // message); + } + + public static String formatLogContent(String message) { + return formatLogContent("", "", message); + } + + public static String httpGet(String url) throws Exception { + return httpGet(url, 0, "utf-8", null); + } + + public static String httpGet(String url, Map headerMap) throws Exception { + return httpGet(url, 0, "utf-8", headerMap); + } + + public static String httpGet(String url, Integer timeout, String receiveEncoding) throws Exception { + return httpGet(url, timeout, receiveEncoding, null); + } + + public static String httpGet(String url, Integer timeout, String receiveEncoding, Map headerMap) + throws Exception { + if (isNullOrEmpty(url)) { + throw new Exception("url is empty"); + } + + logger.debug("httpGet url:{}, timeout:{}, receiveEncoding:{}, headerMap:{}", url, timeout, receiveEncoding, + headerMap); + // 计时开始 + StopWatch stopWatch = new StopWatch(); + stopWatch.start(); + // 调用接口 + URL httpUrl = new URL(url); + HttpURLConnection httpConnection = (HttpURLConnection)httpUrl.openConnection(); + httpConnection.setRequestMethod("GET"); + if (timeout > 0) { + httpConnection.setConnectTimeout(timeout); + httpConnection.setReadTimeout(timeout); + } + if (headerMap != null) { + for (Map.Entry mapEntry : headerMap.entrySet()) { + httpConnection.setRequestProperty(mapEntry.getKey(), mapEntry.getValue()); + } + } + httpConnection.setRequestProperty("Accept-Charset", receiveEncoding); + BufferedReader inputBufferedReader = new BufferedReader(new InputStreamReader( + httpConnection.getResponseCode() == 200 ? httpConnection.getInputStream() : httpConnection.getErrorStream(), + receiveEncoding)); + StringBuilder sb = new StringBuilder(); + String readLine = null; + while ((readLine = inputBufferedReader.readLine()) != null) { + sb.append(readLine); + // sb.append("\r\n"); + } + inputBufferedReader.close(); + httpConnection.disconnect(); + // 计时结束 + stopWatch.stop(); + Long pastTime = stopWatch.getLastTaskTimeMillis(); + if (pastTime > 200) { + logger.warn(formatLogContent(url, "", "request tired - httpGet, " + pastTime + "ms")); + } + + logger.debug("httpGet response:{}", sb.toString()); + return sb.toString(); + } + + /** + * 获取请求响应状态码 + * + * @param url + * @param timeout + * @return + * @throws IOException + */ + public static Integer httpGetResponseCode(String url, Integer timeout) { + + Integer code; + try { + URL httpUrl = new URL(url); + HttpURLConnection httpConnection = (HttpURLConnection)httpUrl.openConnection(); + if (timeout > 0) { + httpConnection.setConnectTimeout(timeout); + httpConnection.setReadTimeout(timeout); + } + httpConnection.setRequestMethod("GET"); + + code = httpConnection.getResponseCode(); + + httpConnection.disconnect(); + + } catch (IOException e) { + code = 500; + logger.error("获取请求响应状态码发送异常,errMsg:{},url:{},timeout:{}", e.getMessage(), url, timeout, e); + } + + return code; + + } + + public static String httpPost(String url, String data, Map headerMap) throws Exception { + return httpPost(url, 0, "utf-8", "utf-8", data, headerMap); + } + + public static String httpPost(String url, Integer timeout, String sendEncoding, String receiveEncoding, String data, + Map headerMap) throws Exception { + if (isNullOrEmpty(url)) { + throw new Exception("url is empty"); + } + + logger.debug("发起 HTTP POST 请求,请求地址:{},超时时间:{},发送编码:{},接收编码:{},数据:{},请求头:{}", url, timeout, sendEncoding, + receiveEncoding, data, headerMap); + // 计时开始 + StopWatch stopWatch = new StopWatch(); + stopWatch.start(); + // 调用接口 + URL httpUrl = new URL(url); + HttpURLConnection httpConnection = (HttpURLConnection)httpUrl.openConnection(); + httpConnection.setRequestMethod("POST"); + if (timeout > 0) { + httpConnection.setConnectTimeout(timeout); + httpConnection.setReadTimeout(timeout); + } + // 默认headers + httpConnection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); + if (headerMap != null) { + for (Map.Entry mapEntry : headerMap.entrySet()) { + httpConnection.setRequestProperty(mapEntry.getKey(), mapEntry.getValue()); + } + } + httpConnection.setRequestProperty("Content-Length", String.valueOf(data.length())); + httpConnection.setRequestProperty("Accept-Charset", receiveEncoding); + // 发送 post 必须 + httpConnection.setDoOutput(true); + httpConnection.setDoInput(true); + // 输出参数 + BufferedWriter outputBufferedWriter = + new BufferedWriter(new OutputStreamWriter(httpConnection.getOutputStream(), sendEncoding)); + outputBufferedWriter.write(data); + outputBufferedWriter.flush(); + outputBufferedWriter.close(); + // 输入内容 + BufferedReader inputBufferedReader = new BufferedReader(new InputStreamReader( + httpConnection.getResponseCode() == 200 ? httpConnection.getInputStream() : httpConnection.getErrorStream(), + receiveEncoding)); + StringBuilder sb = new StringBuilder(); + String readLine = null; + while ((readLine = inputBufferedReader.readLine()) != null) { + sb.append(readLine); + // sb.append("\r\n"); + } + inputBufferedReader.close(); + httpConnection.disconnect(); + // 计时结束 + stopWatch.stop(); + Long pastTime = stopWatch.getLastTaskTimeMillis(); + if (pastTime > 100) { + logger.warn(formatLogContent(url, "", "request tired - httpPost, " + pastTime + "ms")); + } + + logger.debug("HTTP POST 请求结束,响应内容:{}", sb.toString()); + return sb.toString(); + } + + /** + * 检查是否包含特殊字符 + * + * @param content + * @return + */ + public static boolean isSpecialChar(String content) { + String pattern = + "^[\u4e00-\u9fa5A-Za-z0-9\u0000-\u00FF\uFF00-\uFFFF ———……》、『 【 € ■ ○ ◆\"\":;。,!…—·ˉˇ¨〃|`'∶‖‘’〔〕〈〉《》「」『』.〖〗【】()" + + ((char)8220) + "" + ((char)8221) + "[]{}々~/?《、]+$"; + return !content.matches(pattern); + } + + /** + * 将值转换为整数 转换失败使用默认值 + * + * @param value + * @param defaultValue + * @return + */ + public static Integer valueOfInteger(String value, Integer defaultValue) { + + try { + if (value == null || !value.matches("\\d+")) { + return defaultValue; + } + return Z.valueOfInteger(value); + } catch (Exception e) { + logger.error("valueOfInteger error, value:{}, defaultValue:{}", value, defaultValue); + return defaultValue; + } + } + + /** + * 将值转换为整数 + * + * @param value + * @return + */ + public static Integer valueOfInteger(String value) { + return Integer.valueOf(value); + } + + /** + * Map转key:value + * + * @param map + * @return + */ + public static String mapConvertParams(Map map) { + StringBuffer sb = new StringBuffer(); + if (map == null) { + return sb.toString(); + } + for (Map.Entry entry : map.entrySet()) { + sb.append("&").append(entry.getKey()).append("=").append(Z.safeURLEncode(entry.getValue())); + } + return sb.substring(1); + } + + /** + * 格式化日期 + * + * @param date + * @return + */ + public static String formatDate(Date date) { + return defaultDateFormat.format(date); + } + + /** + * 转换时间 + * + * @param date + * @return + */ + + public static Optional convertDate(String date) { + try { + return Optional.ofNullable(defaultDateFormat.parse(date)); + } catch (ParseException e) { + logger.error("转换时间发生异常,errMsg:{},date:{}", e.getMessage(), date, e); + return Optional.empty(); + } + } + + public static Optional convertDate(String date, String pattern) { + try { + SimpleDateFormat dateFormat = new SimpleDateFormat(pattern); + + return Optional.ofNullable(dateFormat.parse(date)); + } catch (ParseException e) { + logger.error("转换时间发生异常,errMsg:{},date:{}", e.getMessage(), date, e); + return Optional.empty(); + } + } + + /** + * 获取请求响应流 + * + * @param url + * @param timeout + * @return + * @throws IOException + */ + public static InputStream httpGetInputStream(String url, Integer timeout) throws IOException { + + URL httpUrl = new URL(url); + HttpURLConnection httpConnection = (HttpURLConnection)httpUrl.openConnection(); + if (timeout > 0) { + httpConnection.setConnectTimeout(timeout); + httpConnection.setReadTimeout(timeout); + } + httpConnection.setRequestMethod("GET"); + + InputStream inputStream = httpConnection.getInputStream(); + + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + + byte[] buffer = new byte[1024]; + int len; + while ((len = inputStream.read(buffer)) > -1) { + baos.write(buffer, 0, len); + } + baos.flush(); + + httpConnection.disconnect(); + + return new ByteArrayInputStream(baos.toByteArray()); + + } + + public static Predicate distinctByKey(Function keyExtractor) { + Map seen = new ConcurrentHashMap<>(); + return t -> seen.putIfAbsent(keyExtractor.apply(t), Boolean.TRUE) == null; + } + + /** + * 将集合根据指定长度进行分区 分区集合为原集合的子集合 修改原集合对象分区内的信息也会改变 具体可参看测试用例 + * + * @param list + * 原集合 + * @param size + * 长度 + * @param + * @return 分区后的集合对象 + */ + public static List> partition(List list, Integer size) { + + List> lists = new ArrayList<>(); + + for (int i = 0; i < list.size(); i += size) { + // i + size 大于集合长度时截止位置为集合长度 + int end = Math.min(list.size(), i + size); + lists.add(list.subList(i, end)); + } + + return lists; + } + + /** + * 安全的 URL 编码 发生异常返回空字符串 + * + * @param content + * 内容 + * @param encoding + * 编码 + * @return + */ + public static String safeURLEncode(String content, String encoding) { + try { + return URLEncoder.encode(content, encoding); + } catch (UnsupportedEncodingException e) { + return ""; + } + } + + /** + * 使用 UTF-8 编码 安全的 URL 编码 发生异常返回空字符串 + * + * @param content + * 内容 + * @return + */ + public static String safeURLEncode(String content) { + return safeURLEncode(content, "UTF-8"); + } + + /** + * @param list + * 使用分隔符连接集合 + * @param delimiter + * 连接后的字符串 + * @return + */ + public static String joinString(List list, String delimiter) { + + String result = list.stream().map(i -> i.toString()).collect(Collectors.joining(delimiter)); + + return result; + } + + /** + * 字符串按指定字元打断成List 无效成员被忽略(永远不抛异常,默认按照逗号打断) + * + * @param submitid + * @param splitChar + * @return + */ + public static List SplitToLongList(String submitid, char splitChar) { + List list = new ArrayList<>(); + if (submitid.isEmpty()) { + return list; + } + if (splitChar == '\0') { + splitChar = ','; + } + String[] split = submitid.split(String.valueOf(splitChar)); + for (String s : split) { + try { + Long aLong = Long.valueOf(s); + list.add(aLong); + } catch (NumberFormatException e) { + // e.printStackTrace(); + } + } + return list; + } + + /** + * 字符串按指定字元打断成List + * + * @param msgid + * @param c + * @return + */ + public static List SplitToStringList(String msgid, char c) { + List list = new ArrayList<>(); + String[] split = msgid.split(String.valueOf(c)); + for (String s : split) { + if(s.length()==0){ + //防止空字符问题 + continue; + } + list.add(s); + } + return list; + } + + /** + * 对字符串拆分并去重 + * + * @param mobile + * @param s + * @return + */ + public static List SplitAndDistinct(String mobile, String s) { + List list = new ArrayList<>(); + String[] split = mobile.split(s); + for (String s1 : split) { + if (!list.contains(s1)) { + list.add(s1); + } + } + return list; + } + + /** + * 读取ip配置列表,支撑多种分隔符及ip段表示法 + * + * @param ipConfigValue + * @return + */ + public static List ReadIpConfig(String ipConfigValue) { + List list = new ArrayList<>(); + if (StringUtils.isBlank(ipConfigValue)) { + return list; + } + String ipSplit = + ipConfigValue.replace(" ", "").replace(" ", "").replace("\t", "").replace("\r\n", ",").replace("\n", ","); + String[] split = ipSplit.split("[;,|]"); + List arr = new ArrayList<>(); + for (String s : split) { + if (s.length() > 0) { + arr.add(s); + } + } + for (String ip : arr) { + if (ip.contains("-")) { + list.addAll(readIpSection(ip)); + } else { + list.add(ip); + } + } + return list; + } + + public static List readIpSection(String ip) { + List list = new ArrayList<>(); + String[] arr = ip.split("\\.|\\,|\\-"); + if (arr.length == 5) { + String network = arr[0] + "." + arr[1] + "." + arr[2] + "."; + int ipStart = Integer.parseInt(arr[3]); + int ipEnd = Integer.parseInt(arr[4]); + for (int i = ipStart; i <= ipEnd; i++) { + list.add(network + i); + } + } + return list; + } + + public static String objectToJson(Object obj) { + String json = null; + + if (obj == null) { + return null; + } + + try { + json = Z.objectMapper.writeValueAsString(obj); + } catch (JsonProcessingException e) { + logger.error(e.getMessage(), e); + } + + return json; + } + + public static T jsonToObject(Class objType, String json) { + T obj = null; + try { + obj = Z.objectMapper.readValue(json, objType); + } catch (IOException ie) { + logger.error(ie.getMessage(), ie); + } catch (Exception ex) { + logger.error(ex.getMessage(), ex); + } + return obj; + } + + /** + * 模板的用这个 + */ + public static T jsonToObject(final TypeReference type, final String jsonPacket) { + + if (org.springframework.util.StringUtils.isEmpty(jsonPacket)) { + return null; + } + + T data = null; + + try { + data = Z.objectMapper.readValue(jsonPacket, type); + } catch (Exception e) { + logger.error(e.getMessage(), e); + } + + return data; + } + + public static long getCurrentTime() { + return System.currentTimeMillis() / 1000; + } + + public static long getRandom() { + return (new Random(getCurrentTime())).nextInt(900000) + 100000; + } + + static String md5(String password) { + String encodeStr = DigestUtils.md5Hex(password + "SMmsEncryptKey"); + return encodeStr.toUpperCase(); + } + + public static String calculateSignature(String accountId, String password, long random, long timestamp, + String mobile) { + StringBuilder builder = + new StringBuilder("AccountId=").append(accountId).append("&PhoneNos=").append(mobile).append("&Password=") + .append(md5(password)).append("&Random=").append(random).append("&Timestamp=").append(timestamp); + return sha256(builder.toString()); + } + + /** + * SHA256 加密 + * + * @param str + * @return + */ + private static String sha256(String str) { + MessageDigest messageDigest; + String encodestr = ""; + try { + messageDigest = MessageDigest.getInstance("SHA-256"); + messageDigest.update(str.getBytes("UTF-8")); + encodestr = byte2Hex(messageDigest.digest()); + } catch (NoSuchAlgorithmException e) { + e.printStackTrace(); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + return encodestr; + } + + /** + * 将byte转为16进制 + * + * @param bytes + * @return + */ + private static String byte2Hex(byte[] bytes) { + StringBuffer buffer = new StringBuffer(); + String temp = null; + for (int i = 0; i < bytes.length; i++) { + temp = Integer.toHexString(bytes[i] & 0xFF); + if (temp.length() == 1) { + buffer.append("0"); + } + buffer.append(temp); + } + return buffer.toString(); + } + + /** + * 获取精确到秒的时间戳 + * + * @param date + * @return + */ + public static int getSecondTimestamp(Date date) { + if (null == date) { + return 0; + } + String timestamp = String.valueOf(date.getTime()); + int length = timestamp.length(); + if (length > 3) { + return Integer.valueOf(timestamp.substring(0, length - 3)); + } else { + return 0; + } + } + + + + public static void main(String[] args) throws Exception { + + } + + public static String dealDateFormat(String oldDate) { + Date date1 = null; + DateFormat df2 = null; + try { + oldDate = oldDate.replace("Z", " UTC"); + DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS Z"); + Date date = df.parse(oldDate); + SimpleDateFormat df1 = new SimpleDateFormat("EEE MMM dd HH:mm:ss Z yyyy", Locale.UK); + date1 = df1.parse(date.toString()); + df2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + } catch (ParseException e) { + + e.printStackTrace(); + } + return df2.format(date1); + } + + public static String Base64Encode(String message) { + /*String encode = ""; + try { + encode = URLEncoder.encode(message, "UTF-8"); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + byte[] bytes = encode.getBytes(); + return Base64.getEncoder().encodeToString(bytes);*/ + byte[] utf8s = null; + try { + utf8s = message.getBytes("utf8"); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + return Base64.getEncoder().encodeToString(utf8s); + } + + +} \ No newline at end of file diff --git a/car-common/src/main/java/com/weiqi/util/DingTalkUtils.java b/car-common/src/main/java/com/weiqi/util/DingTalkUtils.java new file mode 100644 index 0000000..a165249 --- /dev/null +++ b/car-common/src/main/java/com/weiqi/util/DingTalkUtils.java @@ -0,0 +1,454 @@ +package com.weiqi.util; + +import com.alibaba.fastjson.JSON; +import com.dingtalk.api.DefaultDingTalkClient; +import com.dingtalk.api.DingTalkClient; +import com.dingtalk.api.request.OapiRobotSendRequest; +import com.dingtalk.api.response.OapiRobotSendResponse; +import org.apache.commons.codec.binary.Base64; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.util.CollectionUtils; + +import javax.crypto.Mac; +import javax.crypto.spec.SecretKeySpec; +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; +import java.security.InvalidKeyException; +import java.security.NoSuchAlgorithmException; +import java.util.Arrays; +import java.util.List; + + +public class DingTalkUtils { + private static final Logger log = LoggerFactory.getLogger(DingTalkUtils.class); + + /** + * 钉钉群设置 webhook, 支持重置 + */ +// private static String ACCESS_TOKEN= "https://oapi.dingtalk.com/robot/send?access_token=d35626c41065d6d6e300a1493bb90a7a16c24a4143a9f0455ce631f1c12a5139"; +// private static final String SECRET = "SEC6c7d9617b9d767a382b524295a3bb47b5376e75a399a658db6192de33e65238e"; + + /** + * 钉钉报警群 + */ + private static String ACCESS_TOKEN= "https://oapi.dingtalk.com/robot/send?access_token=1bcda404d18977ab2fce2c0e723e17f4d795ce4289d59c67ce968462509dde96"; + private static final String SECRET = "SECc0e2b27d818994ab113c7972509da627f32c0e1e94a6564bad91b2032ae600fd"; + + public static final List PHONE = Arrays.asList("18975045528"); + + /** + * 消息类型 + */ + private static final String MSG_TYPE_TEXT = "text"; + private static final String MSG_TYPE_LINK = "link"; + private static final String MSG_TYPE_MARKDOWN = "markdown"; + private static final String MSG_TYPE_ACTION_CARD = "actionCard"; + private static final String MSG_TYPE_FEED_CARD = "feedCard"; + + /** + * 客户端实例 + */ + private static DingTalkClient client; + + static { + try { + client = new DefaultDingTalkClient(ACCESS_TOKEN + sign()); + } catch (NoSuchAlgorithmException | UnsupportedEncodingException | InvalidKeyException e) { + e.printStackTrace(); + } + } + + /** + * 官方演示示例 + * title 是消息列表下透出的标题 + * text 是进入群后看到的消息内容 + * 注意事项: + * 1.文本,链接,Markdown会存在覆盖,推送最后一个定义的消息 + * 2.自定义机器人关键字要包含在content或title中,text.setContent("");link.setTitle("");markdown.setTitle(""); + * + * @return OapiRobotSendResponse + */ + public static void sdkDemoJava() { + //请求对象 + OapiRobotSendRequest request = new OapiRobotSendRequest(); + + //链接 + request.setMsgtype("link"); + OapiRobotSendRequest.Link link = new OapiRobotSendRequest.Link(); + link.setMessageUrl("https://www.dingtalk.com/"); + link.setPicUrl(""); + link.setTitle("时代的火车向前开"); + link.setText("这个即将发布的新版本,创始人阿Q称它为红树林。而在此之前,每当面临重大升级,产品经理们都会取一个应景的代号,这一次,为什么是红树林"); + request.setLink(link); + + //Markdown + request.setMsgtype("markdown"); + OapiRobotSendRequest.Markdown markdown = new OapiRobotSendRequest.Markdown(); + markdown.setTitle("南京的天气真好呀"); + markdown.setText("#### 南京的天气真好呀 @130****1239\n" + + "> 9度,西北风1级,空气良89,相对温度73%\n\n" + + "> ![screenshot](https://gw.alicdn.com/tfs/TB1ut3xxbsrBKNjSZFpXXcXhFXa-846-786.png)\n" + + "> ###### 10点20分发布 [天气](http://www.thinkpage.cn/) \n"); + request.setMarkdown(markdown); + + //文本 + request.setMsgtype("text"); + OapiRobotSendRequest.Text text = new OapiRobotSendRequest.Text(); + text.setContent("大家好!我是 DingTalkRobot 机器人,很高兴为你们服务!"); + request.setText(text); + OapiRobotSendRequest.At at = new OapiRobotSendRequest.At(); + at.setAtMobiles(Arrays.asList("130****1239")); + // isAtAll类型如果不为Boolean,请升级至最新SDK + at.setIsAtAll(true); + at.setAtUserIds(Arrays.asList("109929", "32099")); + request.setAt(at); + + try { + OapiRobotSendResponse response = DingTalkUtils.client.execute(request); + System.out.println("【DingTalkUtils】消息发送演示示例 响应参数:" + JSON.toJSONString(response)); + } catch ( com.taobao.api.ApiException e) { + log.error("[ApiException]: 消息发送演示示例, 异常捕获{}", e.getMessage()); + } + } + + /** + * 发送普通文本消息 + * + * @param content 文本消息 + * @param mobileList 指定@ 联系人 + * @param isAtAll 是否@ 全部联系人 + * @return OapiRobotSendResponse + */ + public static OapiRobotSendResponse sendMessageByText(String content, List mobileList, boolean isAtAll) { + if (StringUtils.isEmpty(content)) { + return null; + } + + //参数 参数类型 必须 说明 + //msgtype String 是 消息类型,此时固定为:text + //content String 是 消息内容 + //atMobiles Array 否 被@人的手机号(在content里添加@人的手机号) + //isAtAll bool 否 @所有人时:true,否则为:false + OapiRobotSendRequest.Text text = new OapiRobotSendRequest.Text(); + text.setContent(content); + OapiRobotSendRequest request = new OapiRobotSendRequest(); + if (!CollectionUtils.isEmpty(mobileList)) { + // 发送消息并@ 以下手机号联系人 + OapiRobotSendRequest.At at = new OapiRobotSendRequest.At(); + at.setAtMobiles(mobileList); + at.setIsAtAll(isAtAll); + request.setAt(at); + } + request.setMsgtype(DingTalkUtils.MSG_TYPE_TEXT); + request.setText(text); + + OapiRobotSendResponse response = new OapiRobotSendResponse(); + try { + response = DingTalkUtils.client.execute(request); + System.out.println("【DingTalkUtils】发送普通文本消息 响应参数:" + JSON.toJSONString(response)); + } catch ( com.taobao.api.ApiException e) { + log.error("[发送普通文本消息]: 发送消息失败, 异常捕获{}", e.getMessage()); + } + return response; + } + + /** + * 发送link 类型消息 + * + * @param title 消息标题 + * @param text 消息内容 + * @param messageUrl 点击消息后跳转的url + * @param picUrl 插入图片的url + * @return OapiRobotSendResponse + */ + public static OapiRobotSendResponse sendMessageByLink(String title, String text, String messageUrl, String picUrl) { + if (StringUtils.isEmpty(title) || StringUtils.isEmpty(text) || StringUtils.isEmpty(messageUrl)) { + return null; + } + //参数 参数类型 必须 说明 + //msgtype String 是 消息类型,此时固定为:link + //title String 是 消息标题 + //text String 是 消息内容。如果太长只会部分展示 + //messageUrl String 是 点击消息跳转的URL + //picUrl String 否 图片URL + OapiRobotSendRequest.Link link = new OapiRobotSendRequest.Link(); + link.setTitle(title); + link.setText(text); + link.setMessageUrl(messageUrl); + link.setPicUrl(picUrl); + + OapiRobotSendRequest request = new OapiRobotSendRequest(); + request.setMsgtype(DingTalkUtils.MSG_TYPE_LINK); + request.setLink(link); + + OapiRobotSendResponse response = new OapiRobotSendResponse(); + try { + response = DingTalkUtils.client.execute(request); + System.out.println("【DingTalkUtils】发送link 响应参数:" + JSON.toJSONString(response)); + } catch (com.taobao.api.ApiException e) { + log.error("[发送link 类型消息]: 发送消息失败, 异常捕获{}", e.getMessage()); + } + return response; + } + + + /** + * 发送Markdown 编辑格式的消息 + * + * @param title 标题 + * @param markdownText 支持markdown 编辑格式的文本信息 + * @param mobileList 消息@ 联系人 + * @param isAtAll 是否@ 全部 + * @return OapiRobotSendResponse + */ + public static OapiRobotSendResponse sendMessageByMarkdown(String title, String markdownText, List mobileList, boolean isAtAll) { + if (StringUtils.isEmpty(title) || StringUtils.isEmpty(markdownText)) { + return null; + } + + //参数 类型 必选 说明 + //msgtype String 是 此消息类型为固定markdown + //title String 是 首屏会话透出的展示内容 + //text String 是 markdown格式的消息 + //atMobiles Array 否 被@人的手机号(在text内容里要有@手机号) + //isAtAll bool 否 @所有人时:true,否则为:false + OapiRobotSendRequest.Markdown markdown = new OapiRobotSendRequest.Markdown(); + markdown.setTitle(title); + markdown.setText(markdownText); + + OapiRobotSendRequest request = new OapiRobotSendRequest(); + request.setMsgtype(DingTalkUtils.MSG_TYPE_MARKDOWN); + request.setMarkdown(markdown); + if (!CollectionUtils.isEmpty(mobileList)) { + OapiRobotSendRequest.At at = new OapiRobotSendRequest.At(); + at.setIsAtAll(isAtAll); + at.setAtMobiles(mobileList); + request.setAt(at); + } + + OapiRobotSendResponse response = new OapiRobotSendResponse(); + try { + response = DingTalkUtils.client.execute(request); +// System.out.println("【DingTalkUtils】发送link 响应参数:" + JSON.toJSONString(response)); + } catch ( com.taobao.api.ApiException e) { + log.error("[发送link 类型消息]: 发送消息失败, 异常捕获{}", e.getMessage()); + } + return response; + } + + /** + * 整体跳转ActionCard类型的消息发送 + * + * @param title 消息标题, 会话消息会展示标题 + * @param markdownText markdown格式的消息 + * @param singleTitle 单个按钮的标题 + * @param singleURL 单个按钮的跳转链接 + * @param btnOrientation 是否横向排列(true 横向排列, false 纵向排列) + * @param hideAvatar 是否隐藏发消息者头像(true 隐藏头像, false 不隐藏) + * @return OapiRobotSendResponse + */ + public static OapiRobotSendResponse sendMessageByActionCardSingle(String title, String markdownText, String singleTitle, String singleURL, boolean btnOrientation, boolean hideAvatar) { + if (StringUtils.isEmpty(title) || StringUtils.isEmpty(markdownText)) { + return null; + } + //参数 类型 必选 说明 + // msgtype string true 此消息类型为固定actionCard + // title string true 首屏会话透出的展示内容 + // text string true markdown格式的消息 + // singleTitle string true 单个按钮的方案。(设置此项和singleURL后btns无效) + // singleURL string true 点击singleTitle按钮触发的URL + // btnOrientation string false 0-按钮竖直排列,1-按钮横向排列 + // hideAvatar string false 0-正常发消息者头像,1-隐藏发消息者头像 + OapiRobotSendRequest.Actioncard actionCard = new OapiRobotSendRequest.Actioncard(); + actionCard.setTitle(title); + actionCard.setText(markdownText); + actionCard.setSingleTitle(singleTitle); + actionCard.setSingleURL(singleURL); + // 此处默认为0 + actionCard.setBtnOrientation(btnOrientation ? "1" : "0"); + // 此处默认为0 + actionCard.setHideAvatar(hideAvatar ? "1" : "0"); + + OapiRobotSendRequest request = new OapiRobotSendRequest(); + request.setMsgtype(DingTalkUtils.MSG_TYPE_ACTION_CARD); + request.setActionCard(actionCard); + OapiRobotSendResponse response = new OapiRobotSendResponse(); + try { + response = DingTalkUtils.client.execute(request); + System.out.println("【DingTalkUtils】整体跳转ActionCard类型的发送消息 响应参数:" + JSON.toJSONString(response)); + } catch (com.taobao.api.ApiException e) { + log.error("[发送ActionCard 类型消息]: 整体跳转ActionCard类型的发送消息失败, 异常捕获{}", e.getMessage()); + } + return response; + } + + /** + * 独立跳转ActionCard类型 消息发送 + * + * @param title 标题 + * @param markdownText 文本 + * @param btns 按钮列表 + * @param btnOrientation 是否横向排列(true 横向排列, false 纵向排列) + * @param hideAvatar 是否隐藏发消息者头像(true 隐藏头像, false 不隐藏) + * @return OapiRobotSendResponse + */ + public static OapiRobotSendResponse sendMessageByActionCardMulti(String title, String markdownText, List btns, boolean btnOrientation, boolean hideAvatar) { + if (StringUtils.isEmpty(title) || StringUtils.isEmpty(markdownText) || CollectionUtils.isEmpty(btns)) { + return null; + } + //参数 类型 必选 说明 + //msgtype string true 此消息类型为固定actionCard + //title string true 首屏会话透出的展示内容 + //text string true markdown格式的消息 + //btns array true 按钮的信息:title-按钮方案,actionURL-点击按钮触发的URL + //btnOrientation string false 0-按钮竖直排列,1-按钮横向排列 + //hideAvatar string false 0-正常发消息者头像,1-隐藏发消息者头像 + OapiRobotSendRequest.Actioncard actionCard = new OapiRobotSendRequest.Actioncard(); + actionCard.setTitle(title); + actionCard.setText(markdownText); + // 此处默认为0 + actionCard.setBtnOrientation(btnOrientation ? "1" : "0"); + // 此处默认为0 + actionCard.setHideAvatar(hideAvatar ? "1" : "0"); + + actionCard.setBtns(btns); + + OapiRobotSendRequest request = new OapiRobotSendRequest(); + request.setMsgtype(DingTalkUtils.MSG_TYPE_ACTION_CARD); + request.setActionCard(actionCard); + OapiRobotSendResponse response = new OapiRobotSendResponse(); + try { + response = DingTalkUtils.client.execute(request); + System.out.println("【DingTalkUtils】独立跳转ActionCard类型发送消息 响应参数:" + JSON.toJSONString(response)); + } catch ( com.taobao.api.ApiException e) { + log.error("[发送ActionCard 类型消息]: 独立跳转ActionCard类型发送消息失败, 异常捕获{}", e.getMessage()); + } + return response; + } + + /** + * 发送FeedCard类型消息 + * + * @param links + * @return OapiRobotSendResponse + */ + public static OapiRobotSendResponse sendMessageByFeedCard(List links) { + if (CollectionUtils.isEmpty(links)) { + return null; + } + + //msgtype string true 此消息类型为固定feedCard + //title string true 单条信息文本 + //messageURL string true 点击单条信息到跳转链接 + //picURL string true 单条信息后面图片的URL + OapiRobotSendRequest.Feedcard feedcard = new OapiRobotSendRequest.Feedcard(); + feedcard.setLinks(links); + OapiRobotSendRequest request = new OapiRobotSendRequest(); + request.setMsgtype(DingTalkUtils.MSG_TYPE_FEED_CARD); + request.setFeedCard(feedcard); + OapiRobotSendResponse response = new OapiRobotSendResponse(); + try { + response = DingTalkUtils.client.execute(request); + System.out.println("【DingTalkUtils】独立跳转ActionCard类型发送消息 响应参数:" + JSON.toJSONString(response)); + } catch ( com.taobao.api.ApiException e) { + log.error("[发送ActionCard 类型消息]: 独立跳转ActionCard类型发送消息失败, 异常捕获{}", e.getMessage()); + } + return response; + } + + /** + * 获取签名 + * 把timestamp+"\n"+密钥当做签名字符串,使用HmacSHA256算法计算签名,然后进行Base64 encode,最后再把签名参数再进行urlEncode,得到最终的签名(需要使用UTF-8字符集)。 + * timestamp 当前时间戳,单位是毫秒,与请求调用时间误差不能超过1小时。 + * secret 密钥,机器人安全设置页面,加签一栏下面显示的SEC开头的字符串。 + * + * @param + * @return java.lang.String + */ + private static String sign() throws NoSuchAlgorithmException, UnsupportedEncodingException, InvalidKeyException { + Long timestamp = System.currentTimeMillis(); + String stringToSign = timestamp + "\n" + SECRET; + Mac mac = Mac.getInstance("HmacSHA256"); + mac.init(new SecretKeySpec(SECRET.getBytes("UTF-8"), "HmacSHA256")); + byte[] signData = mac.doFinal(stringToSign.getBytes("UTF-8")); + String sign = URLEncoder.encode(new String(Base64.encodeBase64(signData)), "UTF-8"); + return "×tamp=" + timestamp + "&sign=" + sign; + } + + /** + * 测试 + * + * @param args + * @return void + */ + public static void main(String args[]) { + //官方演示示例 +// sdkDemoJava(); + + //发送普通文本消息 +// ArrayList userList = new ArrayList<>(); +// userList.add("18975045528"); +// sendMessageByText("大家好!我是 DingTalkRobot 机器人,很高兴为你们服务!", userList, true); + + //发送link 类型消息 +// String title = "这是标题"; +// String text = "这是消息内容"; +// String messageUrl = "https://hotspot.corpweiqi.com/index.html#/hotspots/manage/index.html?pk=100393"; +// String picUrl = "https://gw.alicdn.com/tfs/TB1ut3xxbsrBKNjSZFpXXcXhFXa-846-786.png"; +// sendMessageByLink(title, text, messageUrl, picUrl); + + //发送Markdown 编辑格式的消息 + String title = "测试标题"; +//// String markdownText2 = "#### 南京的天气真好呀 @130****1239\n" + +//// "> 9度,西北风1级,空气良89,相对温度73%\n\n" + +//// "> ###### 10点20分发布 [天气](http://www.thinkpage.cn/) \n"; +// + String markdownText = "|appid|mobile| 发送条数|业务线负责人|\n" + + "|--|--|--|--|\n" + + " | 2sc | 5528| weaewae | jack |\n" + + " | 2sc | 2000| weaewae | jack |\n" ; + + List mobileList = Arrays.asList("18975045528"); + boolean isAtAll = true; + sendMessageByMarkdown(title, markdownText, mobileList, isAtAll); + + //整体跳转ActionCard类型的消息发送 + //String title = "南京的天气真好呀"; + //String markdownText = "#### 南京的天气真好呀 @130****1239\n" + + // "> 9度,西北风1级,空气良89,相对温度73%\n\n" + + // "> ![screenshot](https://gw.alicdn.com/tfs/TB1ut3xxbsrBKNjSZFpXXcXhFXa-846-786.png)\n" + + // "> ###### 10点20分发布 [天气](http://www.thinkpage.cn/) \n"; + //String singleTitle = "百度一下,啥也不知道"; + //String singleURL = "https://www.baidu.com/"; + //boolean btnOrientation = true; + //boolean hideAvatar = false; + //sendMessageByActionCardSingle(title, markdownText, singleTitle, singleURL, btnOrientation, hideAvatar); + + //独立跳转ActionCard类型 消息发送 + //String title = "南京的天气真好呀"; + //String markdownText = "#### 南京的天气真好呀 @130****1239\n" + + // "> 9度,西北风1级,空气良89,相对温度73%\n\n" + + // "> ![screenshot](https://gw.alicdn.com/tfs/TB1ut3xxbsrBKNjSZFpXXcXhFXa-846-786.png)\n" + + // "> ###### 10点20分发布 [天气](http://www.thinkpage.cn/) \n"; + // + //OapiRobotSendRequest.Btns btn = new OapiRobotSendRequest.Btns(); + //btn.setTitle("按钮-钉钉开放文档"); + //btn.setActionURL("https://open.dingtalk.com/"); + //List btns = Arrays.asList(btn); + //boolean btnOrientation = true; + //boolean hideAvatar = false; + //sendMessageByActionCardMulti(title, markdownText, btns, btnOrientation, hideAvatar); + + //发送FeedCard类型消息 +// OapiRobotSendRequest.Links link = new OapiRobotSendRequest.Links(); +// link.setTitle("时代的火车向前开"); +// link.setMessageURL("https://www.dingtalk.com/"); +// link.setPicURL("https://gw.alicdn.com/tfs/TB1ut3xxbsrBKNjSZFpXXcXhFXa-846-786.png"); +// List links = Arrays.asList(link); +// sendMessageByFeedCard(links); + + } + +} diff --git a/car-common/src/main/java/com/weiqi/util/SmsTools.java b/car-common/src/main/java/com/weiqi/util/SmsTools.java new file mode 100644 index 0000000..3112639 --- /dev/null +++ b/car-common/src/main/java/com/weiqi/util/SmsTools.java @@ -0,0 +1,93 @@ +package com.weiqi.util; + +import java.util.ArrayList; +import java.util.List; +import java.util.concurrent.ConcurrentHashMap; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class SmsTools { + private static final Logger logger = LoggerFactory.getLogger(SmsTools.class); + private static int SmsGlobalIndex = -1; + // 项目启动时通过数据库加载数据,项目运行中通过页面控制修改每家流量 + public static List sv = new ArrayList<>(); + public static int sendTotalNum = 200000; + public static boolean isRedisStatistic = true; + public static boolean isRedisStatisticUP = false; + + // 模版总开关 + public static boolean isTemplateOpen = false; + // 收集是否开启,如果开启则经过模版到保存到数据库 + public static boolean isMatching = false; + // 拦截开关,如果开启则将不符合到直接拦截掉 + public static boolean isIntercept = false; + + public static ConcurrentHashMap FLOW_MAP = new ConcurrentHashMap<>(); + public static final String API_INCR_KEY = "api_key:"; + public static final String DISPATHER_INCR_KEY = "dispather_key:"; + public static final String TOOLS_INCR_KEY = "tools_key:"; + + public static final String KEY_FREQUENCY_SWITCH_S = "sms:frequencySwitch:s"; + public static final String KEY_FREQUENCY_SWITCH_Y = "sms:frequencySwitch:y"; + public static final String KEY_FREQUENCY_SWITCH_MASTER = "sms:frequencySwitch:MasterSwitch"; + + public static final String KEY_ONE_HOUR_LIMIT_S = "ONE_HOUR_LIMIT_S"; + public static final String KEY_SAME_CONTENT_LIMIT_S = "SAME_CONTENT_LIMIT_S"; + public static final String KEY_SENDING_TIMES_LIMIT_S = "SENDING_TIMES_LIMIT_S"; + public static final String KEY_ONE_HOUR_LIMIT_Y = "ONE_HOUR_LIMIT_Y"; + public static final String KEY_SAME_CONTENT_LIMIT_Y = "SAME_CONTENT_LIMIT_Y"; + public static final String KEY_SENDING_TIMES_LIMIT_Y = "SENDING_TIMES_LIMIT_Y"; + + public static int ONE_HOUR_LIMIT_S = 1; + public static int SAME_CONTENT_LIMIT_S = 1; + public static int SENDING_TIMES_LIMIT_S = 20; + public static int ONE_HOUR_LIMIT_Y = 1; + public static int SAME_CONTENT_LIMIT_Y = 1; + public static int SENDING_TIMES_LIMIT_Y = 20; + + public static String nextServerIndex() { + int total = 0; + int size = sv.size(); + if (size == 0) + return "string.Empty;";// 不匹配任何sp + + for (int i = 0; i < size; i++) { + + sv.get(i).setCurrent(sv.get(i).getCurrent() + sv.get(i).getWeight()); + + total += sv.get(i).getWeight(); + + if (SmsGlobalIndex == -1 || sv.get(SmsGlobalIndex).getCurrent() < sv.get(i).getCurrent()) { + + SmsGlobalIndex = i; + } + } + + sv.get(SmsGlobalIndex).setCurrent(sv.get(SmsGlobalIndex).getCurrent() - total); + + logger.info("sv===={},{}", sv.toString(), sv.get(SmsGlobalIndex).getName()); + return sv.get(SmsGlobalIndex).getName(); + } + + public static void main(String[] args) { + + for (int i = 0; i < 1000; i++) { + System.out.println(nextServerIndex()); + } + } + + public void add(String key, int inrc) { + key = key + System.currentTimeMillis() / 1000; + if (FLOW_MAP.get(key) == null) { + synchronized (this) { + if (FLOW_MAP.get(key) == null) { + FLOW_MAP.put(key, 0L); + } + } + } + synchronized (this) { + FLOW_MAP.put(key, FLOW_MAP.get(key) + inrc); + } + } +} diff --git a/car-common/src/main/java/com/weiqi/vo/AddrVo.java b/car-common/src/main/java/com/weiqi/vo/AddrVo.java new file mode 100644 index 0000000..4f55c3a --- /dev/null +++ b/car-common/src/main/java/com/weiqi/vo/AddrVo.java @@ -0,0 +1,50 @@ +package com.weiqi.vo; + + +public class AddrVo implements Comparable { + + + private String addr; + private String ip; + + private String des; + + public String getIp() { + return ip; + } + + public void setIp(String ip) { + this.ip = ip; + } + + public String getDes() { + return des; + } + + public void setDes(String des) { + this.des = des; + } + + public String getAddr() { + return addr; + } + + public void setAddr(String addr) { + this.addr = addr; + } + + @Override + public String toString() { + return "AddrVo{" + + "addr='" + addr + '\'' + + ", ip='" + ip + '\'' + + ", des='" + des + '\'' + + '}'; + } + + @Override + public int compareTo(AddrVo o) { + return o.getIp().compareTo(o.getIp()) ; + + } +} \ No newline at end of file diff --git a/car-common/src/main/java/com/weiqi/vo/AutoBiStatisticSpVo.java b/car-common/src/main/java/com/weiqi/vo/AutoBiStatisticSpVo.java new file mode 100644 index 0000000..038777e --- /dev/null +++ b/car-common/src/main/java/com/weiqi/vo/AutoBiStatisticSpVo.java @@ -0,0 +1,152 @@ +package com.weiqi.vo; + +import java.io.Serializable; + +public class AutoBiStatisticSpVo implements Serializable { + private String spName; + private double spProdSuccessRate; + private double spProdResponseTime; + private int spProdSubmitCount; + private int spProdSuccessCount; + private int spProdFailCount; + private int spMarketingSubmitCount; + private int spMarketingSuccessCount; + private int spMarketingFailCount; + private double spMarketingSuccessRate; + private int spFinMarketingSubmitCount; + private int spFinMarketingSuccessCount; + private int spFinMarketingFailCount; + private double spFinMarketingSuccessRate; + + public String getSpName() { + return spName; + } + + public void setSpName(String spName) { + this.spName = spName; + } + + public double getSpProdSuccessRate() { + return spProdSuccessRate; + } + + public void setSpProdSuccessRate(double spProdSuccessRate) { + this.spProdSuccessRate = spProdSuccessRate; + } + + public double getSpProdResponseTime() { + return spProdResponseTime; + } + + public void setSpProdResponseTime(double spProdResponseTime) { + this.spProdResponseTime = spProdResponseTime; + } + + public int getSpProdSubmitCount() { + return spProdSubmitCount; + } + + public void setSpProdSubmitCount(int spProdSubmitCount) { + this.spProdSubmitCount = spProdSubmitCount; + } + + public int getSpProdSuccessCount() { + return spProdSuccessCount; + } + + public void setSpProdSuccessCount(int spProdSuccessCount) { + this.spProdSuccessCount = spProdSuccessCount; + } + + public int getSpProdFailCount() { + return spProdFailCount; + } + + public void setSpProdFailCount(int spProdFailCount) { + this.spProdFailCount = spProdFailCount; + } + + public int getSpMarketingSubmitCount() { + return spMarketingSubmitCount; + } + + public void setSpMarketingSubmitCount(int spMarketingSubmitCount) { + this.spMarketingSubmitCount = spMarketingSubmitCount; + } + + public int getSpMarketingSuccessCount() { + return spMarketingSuccessCount; + } + + public void setSpMarketingSuccessCount(int spMarketingSuccessCount) { + this.spMarketingSuccessCount = spMarketingSuccessCount; + } + + public int getSpMarketingFailCount() { + return spMarketingFailCount; + } + + public void setSpMarketingFailCount(int spMarketingFailCount) { + this.spMarketingFailCount = spMarketingFailCount; + } + + public double getSpMarketingSuccessRate() { + return spMarketingSuccessRate; + } + + public void setSpMarketingSuccessRate(double spMarketingSuccessRate) { + this.spMarketingSuccessRate = spMarketingSuccessRate; + } + + public int getSpFinMarketingSubmitCount() { + return spFinMarketingSubmitCount; + } + + public void setSpFinMarketingSubmitCount(int spFinMarketingSubmitCount) { + this.spFinMarketingSubmitCount = spFinMarketingSubmitCount; + } + + public int getSpFinMarketingSuccessCount() { + return spFinMarketingSuccessCount; + } + + public void setSpFinMarketingSuccessCount(int spFinMarketingSuccessCount) { + this.spFinMarketingSuccessCount = spFinMarketingSuccessCount; + } + + public int getSpFinMarketingFailCount() { + return spFinMarketingFailCount; + } + + public void setSpFinMarketingFailCount(int spFinMarketingFailCount) { + this.spFinMarketingFailCount = spFinMarketingFailCount; + } + + public double getSpFinMarketingSuccessRate() { + return spFinMarketingSuccessRate; + } + + public void setSpFinMarketingSuccessRate(double spFinMarketingSuccessRate) { + this.spFinMarketingSuccessRate = spFinMarketingSuccessRate; + } + + @Override + public String toString() { + return "AutoBiStatisticSpVo{" + + "spName='" + spName + '\'' + + ", spProdSuccessRate=" + spProdSuccessRate + + ", spProdResponseTime=" + spProdResponseTime + + ", spProdSubmitCount=" + spProdSubmitCount + + ", spProdSuccessCount=" + spProdSuccessCount + + ", spProdFailCount=" + spProdFailCount + + ", spMarketingSubmitCount=" + spMarketingSubmitCount + + ", spMarketingSuccessCount=" + spMarketingSuccessCount + + ", spMarketingFailCount=" + spMarketingFailCount + + ", spMarketingSuccessRate=" + spMarketingSuccessRate + + ", spFinMarketingSubmitCount=" + spFinMarketingSubmitCount + + ", spFinMarketingSuccessCount=" + spFinMarketingSuccessCount + + ", spFinMarketingFailCount=" + spFinMarketingFailCount + + ", spFinMarketingSuccessRate=" + spFinMarketingSuccessRate + + '}'; + } +} \ No newline at end of file diff --git a/car-common/src/main/java/com/weiqi/vo/AutoBiStatisticVo.java b/car-common/src/main/java/com/weiqi/vo/AutoBiStatisticVo.java new file mode 100644 index 0000000..4b4a23b --- /dev/null +++ b/car-common/src/main/java/com/weiqi/vo/AutoBiStatisticVo.java @@ -0,0 +1,93 @@ +package com.weiqi.vo; + +import java.io.Serializable; +import java.util.List; + +public class AutoBiStatisticVo implements Serializable { + private int submitCount; + private int prodSubmitCount; + private int marketingSubmitCount; + private int finMarketingSubmitCount; + private int prodSuccessCount; + private int marketingSuccessCount; + private int finMarketingSuccessCount; + private List splist; + + public int getSubmitCount() { + return submitCount; + } + + public void setSubmitCount(int submitCount) { + this.submitCount = submitCount; + } + + public int getProdSubmitCount() { + return prodSubmitCount; + } + + public void setProdSubmitCount(int prodSubmitCount) { + this.prodSubmitCount = prodSubmitCount; + } + + public int getMarketingSubmitCount() { + return marketingSubmitCount; + } + + public void setMarketingSubmitCount(int marketingSubmitCount) { + this.marketingSubmitCount = marketingSubmitCount; + } + + public int getProdSuccessCount() { + return prodSuccessCount; + } + + public void setProdSuccessCount(int prodSuccessCount) { + this.prodSuccessCount = prodSuccessCount; + } + + public int getMarketingSuccessCount() { + return marketingSuccessCount; + } + + public void setMarketingSuccessCount(int marketingSuccessCount) { + this.marketingSuccessCount = marketingSuccessCount; + } + + public List getSplist() { + return splist; + } + + public void setSplist(List splist) { + this.splist = splist; + } + + public int getFinMarketingSubmitCount() { + return finMarketingSubmitCount; + } + + public void setFinMarketingSubmitCount(int finMarketingSubmitCount) { + this.finMarketingSubmitCount = finMarketingSubmitCount; + } + + public int getFinMarketingSuccessCount() { + return finMarketingSuccessCount; + } + + public void setFinMarketingSuccessCount(int finMarketingSuccessCount) { + this.finMarketingSuccessCount = finMarketingSuccessCount; + } + + @Override + public String toString() { + return "AutoBiStatisticVo{" + + "submitCount=" + submitCount + + ", prodSubmitCount=" + prodSubmitCount + + ", marketingSubmitCount=" + marketingSubmitCount + + ", finMarketingSubmitCount=" + finMarketingSubmitCount + + ", prodSuccessCount=" + prodSuccessCount + + ", marketingSuccessCount=" + marketingSuccessCount + + ", finMarketingSuccessCount=" + finMarketingSuccessCount + + ", splist=" + splist + + '}'; + } +} \ No newline at end of file diff --git a/car-common/src/main/java/com/weiqi/vo/BusinessException.java b/car-common/src/main/java/com/weiqi/vo/BusinessException.java new file mode 100644 index 0000000..9495c58 --- /dev/null +++ b/car-common/src/main/java/com/weiqi/vo/BusinessException.java @@ -0,0 +1,19 @@ +package com.weiqi.vo; + +public class BusinessException extends RuntimeException { + private int code; + + public BusinessException(int code, String message) { + super(message); + this.code = code; + } + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + +} diff --git a/car-common/src/main/java/com/weiqi/vo/MisUserinfo.java b/car-common/src/main/java/com/weiqi/vo/MisUserinfo.java new file mode 100644 index 0000000..fbaf737 --- /dev/null +++ b/car-common/src/main/java/com/weiqi/vo/MisUserinfo.java @@ -0,0 +1,74 @@ +package com.weiqi.vo; + + +import java.io.Serializable; +import java.util.Date; + +/** + * Created by + */ + +public class MisUserinfo implements Serializable { + + private int id; + + + private int userid; + + private String username; + + private transient Date gmtCreate; + + private transient Date gmtModify; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public int getUserid() { + return userid; + } + + public void setUserid(int userid) { + this.userid = userid; + } + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + public Date getGmtCreate() { + return gmtCreate; + } + + public void setGmtCreate(Date gmtCreate) { + this.gmtCreate = gmtCreate; + } + + public Date getGmtModify() { + return gmtModify; + } + + public void setGmtModify(Date gmtModify) { + this.gmtModify = gmtModify; + } + + @Override + public String toString() { + return "MisUserinfo{" + + "id=" + id + + ", userid=" + userid + + ", username='" + username + '\'' + + ", gmtCreate=" + gmtCreate + + ", gmtModify=" + gmtModify + + '}'; + } +} diff --git a/car-common/src/main/java/com/weiqi/vo/OrderInfoVo.java b/car-common/src/main/java/com/weiqi/vo/OrderInfoVo.java new file mode 100644 index 0000000..a0cf1b7 --- /dev/null +++ b/car-common/src/main/java/com/weiqi/vo/OrderInfoVo.java @@ -0,0 +1,462 @@ +package com.weiqi.vo; + +import java.util.Date; + +public class OrderInfoVo { + private int page;//第几页 + private int limit;//每页显示条数 + private String beginTime; + private String endTime; + private Integer id; + + private String orderno; + + private Integer mid; + + private String mname; + + private Integer orderuserid; + + private String orderusername; + + private Date admissiontime; + + private Date constructionstarttime; + + private String platenumber; + + private String vin; + + private String registertime; + + private Float kilometers; + + private String drivinglicensesrc; + + private String vehiclesrc; + + private String vehicletype; + + private String linkname; + + private String linktel; + + private Integer gaugingschemeid; + + private String gaugingschemename; + + private Integer maintenanceschemeid; + + private String maintenanceschemename; + + private Integer brandid; + + private String brandname; + + private Integer seriesid; + + private String seriesname; + + private String productionyear; + + private String enginestructure; + + private Integer enginestructurenumber; + + private String electronicfueltype; + + private String transmissioncase; + + private String drivetype; + + private String emissionstandard; + + private Integer status; + + private Date createTime; + + private Date updateTime; + + private Integer wxXrPemsUserId; + + private Integer checkUpResult; + + private String wxXrPemsUserName; + + private String exhauststructure; + + private Integer factoryid; + + private String factoryname; + + private String vinContent; + + public int getPage() { + return page; + } + + public void setPage(int page) { + this.page = page; + } + + public int getLimit() { + return limit; + } + + public void setLimit(int limit) { + this.limit = limit; + } + + public String getBeginTime() { + return beginTime; + } + + public void setBeginTime(String beginTime) { + this.beginTime = beginTime; + } + + public String getEndTime() { + return endTime; + } + + public void setEndTime(String endTime) { + this.endTime = endTime; + } + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getOrderno() { + return orderno; + } + + public void setOrderno(String orderno) { + this.orderno = orderno == null ? null : orderno.trim(); + } + + public Integer getMid() { + return mid; + } + + public void setMid(Integer mid) { + this.mid = mid; + } + + public String getMname() { + return mname; + } + + public void setMname(String mname) { + this.mname = mname == null ? null : mname.trim(); + } + + public Integer getOrderuserid() { + return orderuserid; + } + + public void setOrderuserid(Integer orderuserid) { + this.orderuserid = orderuserid; + } + + public String getOrderusername() { + return orderusername; + } + + public void setOrderusername(String orderusername) { + this.orderusername = orderusername == null ? null : orderusername.trim(); + } + + public Date getAdmissiontime() { + return admissiontime; + } + + public void setAdmissiontime(Date admissiontime) { + this.admissiontime = admissiontime; + } + + public Date getConstructionstarttime() { + return constructionstarttime; + } + + public void setConstructionstarttime(Date constructionstarttime) { + this.constructionstarttime = constructionstarttime; + } + + public String getPlatenumber() { + return platenumber; + } + + public void setPlatenumber(String platenumber) { + this.platenumber = platenumber == null ? null : platenumber.trim(); + } + + public String getVin() { + return vin; + } + + public void setVin(String vin) { + this.vin = vin == null ? null : vin.trim(); + } + + public String getRegistertime() { + return registertime; + } + + public void setRegistertime(String registertime) { + this.registertime = registertime == null ? null : registertime.trim(); + } + + public Float getKilometers() { + return kilometers; + } + + public void setKilometers(Float kilometers) { + this.kilometers = kilometers; + } + + public String getDrivinglicensesrc() { + return drivinglicensesrc; + } + + public void setDrivinglicensesrc(String drivinglicensesrc) { + this.drivinglicensesrc = drivinglicensesrc == null ? null : drivinglicensesrc.trim(); + } + + public String getVehiclesrc() { + return vehiclesrc; + } + + public void setVehiclesrc(String vehiclesrc) { + this.vehiclesrc = vehiclesrc == null ? null : vehiclesrc.trim(); + } + + public String getVehicletype() { + return vehicletype; + } + + public void setVehicletype(String vehicletype) { + this.vehicletype = vehicletype == null ? null : vehicletype.trim(); + } + + public String getLinkname() { + return linkname; + } + + public void setLinkname(String linkname) { + this.linkname = linkname == null ? null : linkname.trim(); + } + + public String getLinktel() { + return linktel; + } + + public void setLinktel(String linktel) { + this.linktel = linktel == null ? null : linktel.trim(); + } + + public Integer getGaugingschemeid() { + return gaugingschemeid; + } + + public void setGaugingschemeid(Integer gaugingschemeid) { + this.gaugingschemeid = gaugingschemeid; + } + + public String getGaugingschemename() { + return gaugingschemename; + } + + public void setGaugingschemename(String gaugingschemename) { + this.gaugingschemename = gaugingschemename == null ? null : gaugingschemename.trim(); + } + + public Integer getMaintenanceschemeid() { + return maintenanceschemeid; + } + + public void setMaintenanceschemeid(Integer maintenanceschemeid) { + this.maintenanceschemeid = maintenanceschemeid; + } + + public String getMaintenanceschemename() { + return maintenanceschemename; + } + + public void setMaintenanceschemename(String maintenanceschemename) { + this.maintenanceschemename = maintenanceschemename == null ? null : maintenanceschemename.trim(); + } + + public Integer getBrandid() { + return brandid; + } + + public void setBrandid(Integer brandid) { + this.brandid = brandid; + } + + public String getBrandname() { + return brandname; + } + + public void setBrandname(String brandname) { + this.brandname = brandname == null ? null : brandname.trim(); + } + + public Integer getSeriesid() { + return seriesid; + } + + public void setSeriesid(Integer seriesid) { + this.seriesid = seriesid; + } + + public String getSeriesname() { + return seriesname; + } + + public void setSeriesname(String seriesname) { + this.seriesname = seriesname == null ? null : seriesname.trim(); + } + + public String getProductionyear() { + return productionyear; + } + + public void setProductionyear(String productionyear) { + this.productionyear = productionyear == null ? null : productionyear.trim(); + } + + public String getEnginestructure() { + return enginestructure; + } + + public void setEnginestructure(String enginestructure) { + this.enginestructure = enginestructure == null ? null : enginestructure.trim(); + } + + public Integer getEnginestructurenumber() { + return enginestructurenumber; + } + + public void setEnginestructurenumber(Integer enginestructurenumber) { + this.enginestructurenumber = enginestructurenumber; + } + + public String getElectronicfueltype() { + return electronicfueltype; + } + + public void setElectronicfueltype(String electronicfueltype) { + this.electronicfueltype = electronicfueltype == null ? null : electronicfueltype.trim(); + } + + public String getTransmissioncase() { + return transmissioncase; + } + + public void setTransmissioncase(String transmissioncase) { + this.transmissioncase = transmissioncase == null ? null : transmissioncase.trim(); + } + + public String getDrivetype() { + return drivetype; + } + + public void setDrivetype(String drivetype) { + this.drivetype = drivetype == null ? null : drivetype.trim(); + } + + public String getEmissionstandard() { + return emissionstandard; + } + + public void setEmissionstandard(String emissionstandard) { + this.emissionstandard = emissionstandard == null ? null : emissionstandard.trim(); + } + + public Integer getStatus() { + return status; + } + + public void setStatus(Integer status) { + this.status = status; + } + + public Date getCreateTime() { + return createTime; + } + + public void setCreateTime(Date createTime) { + this.createTime = createTime; + } + + public Date getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(Date updateTime) { + this.updateTime = updateTime; + } + + public Integer getWxXrPemsUserId() { + return wxXrPemsUserId; + } + + public void setWxXrPemsUserId(Integer wxXrPemsUserId) { + this.wxXrPemsUserId = wxXrPemsUserId; + } + + public Integer getCheckUpResult() { + return checkUpResult; + } + + public void setCheckUpResult(Integer checkUpResult) { + this.checkUpResult = checkUpResult; + } + + public String getWxXrPemsUserName() { + return wxXrPemsUserName; + } + + public void setWxXrPemsUserName(String wxXrPemsUserName) { + this.wxXrPemsUserName = wxXrPemsUserName == null ? null : wxXrPemsUserName.trim(); + } + + public String getExhauststructure() { + return exhauststructure; + } + + public void setExhauststructure(String exhauststructure) { + this.exhauststructure = exhauststructure == null ? null : exhauststructure.trim(); + } + + public Integer getFactoryid() { + return factoryid; + } + + public void setFactoryid(Integer factoryid) { + this.factoryid = factoryid; + } + + public String getFactoryname() { + return factoryname; + } + + public void setFactoryname(String factoryname) { + this.factoryname = factoryname == null ? null : factoryname.trim(); + } + + public String getVinContent() { + return vinContent; + } + + public void setVinContent(String vinContent) { + this.vinContent = vinContent == null ? null : vinContent.trim(); + } + +} \ No newline at end of file diff --git a/car-common/src/main/java/com/weiqi/vo/RouteInfoVo.java b/car-common/src/main/java/com/weiqi/vo/RouteInfoVo.java new file mode 100644 index 0000000..8c141f0 --- /dev/null +++ b/car-common/src/main/java/com/weiqi/vo/RouteInfoVo.java @@ -0,0 +1,82 @@ +package com.weiqi.vo; + +public class RouteInfoVo { + private Integer id; + private Integer operatorType;//1增 2删 3改 + + //业务线 + private String appId; + private String appName; + + //原sp + private String sourceSpId; + private String sourceSpName; + + //目标sp + private String targetSpId; + private String targetSpName; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public Integer getOperatorType() { + return operatorType; + } + + public void setOperatorType(Integer operatorType) { + this.operatorType = operatorType; + } + + public String getAppId() { + return appId; + } + + public void setAppId(String appId) { + this.appId = appId; + } + + public String getAppName() { + return appName; + } + + public void setAppName(String appName) { + this.appName = appName; + } + + public String getSourceSpId() { + return sourceSpId; + } + + public void setSourceSpId(String sourceSpId) { + this.sourceSpId = sourceSpId; + } + + public String getSourceSpName() { + return sourceSpName; + } + + public void setSourceSpName(String sourceSpName) { + this.sourceSpName = sourceSpName; + } + + public String getTargetSpId() { + return targetSpId; + } + + public void setTargetSpId(String targetSpId) { + this.targetSpId = targetSpId; + } + + public String getTargetSpName() { + return targetSpName; + } + + public void setTargetSpName(String targetSpName) { + this.targetSpName = targetSpName; + } +} diff --git a/car-common/src/main/java/com/weiqi/vo/RouteVo.java b/car-common/src/main/java/com/weiqi/vo/RouteVo.java new file mode 100644 index 0000000..ce9e055 --- /dev/null +++ b/car-common/src/main/java/com/weiqi/vo/RouteVo.java @@ -0,0 +1,236 @@ +package com.weiqi.vo; + + +public class RouteVo { + + private int page;//第几页 + private int limit;//每页显示条数 + + private String appid; + + private String mobile; + + private String message; + + private String appendid; + + private String sp; + + private String begintime; + private String endtime; + + private Integer id; + private Integer oldId; + private Integer operatorType;//1增 2删 3改 6批量切换 + + private Integer ruleindex; + + private String operators; + + + private Boolean enabled; + + private String remark; + private String appids; + + /** + * 原sp路由(批量切换路由使用) + */ + private String originalSp; + /** + * 目标sp路由(批量切换路由使用) + */ + private String targetSp; + + /** + * 批量切换数量 + */ + private int bacthChangeNum; + + + public int getBacthChangeNum() { + return bacthChangeNum; + } + + public void setBacthChangeNum(int bacthChangeNum) { + this.bacthChangeNum = bacthChangeNum; + } + + public String getOriginalSp() { + return originalSp; + } + + public void setOriginalSp(String originalSp) { + this.originalSp = originalSp; + } + + public String getTargetSp() { + return targetSp; + } + + public void setTargetSp(String targetSp) { + this.targetSp = targetSp; + } + + public int getPage() { + return page; + } + + public void setPage(int page) { + this.page = page; + } + + public int getLimit() { + return limit; + } + + public void setLimit(int limit) { + this.limit = limit; + } + + public String getAppid() { + return appid; + } + + public void setAppid(String appid) { + this.appid = appid; + } + + public String getMobile() { + return mobile; + } + + public void setMobile(String mobile) { + this.mobile = mobile; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public String getAppendid() { + return appendid; + } + + public void setAppendid(String appendid) { + this.appendid = appendid; + } + + public String getSp() { + return sp; + } + + public void setSp(String sp) { + this.sp = sp; + } + + public String getBegintime() { + return begintime; + } + + public void setBegintime(String begintime) { + this.begintime = begintime; + } + + public String getEndtime() { + return endtime; + } + + public void setEndtime(String endtime) { + this.endtime = endtime; + } + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public Integer getOldId() { + return oldId; + } + + public void setOldId(Integer oldId) { + this.oldId = oldId; + } + + public Integer getOperatorType() { + return operatorType; + } + + public void setOperatorType(Integer operatorType) { + this.operatorType = operatorType; + } + + public Integer getRuleindex() { + return ruleindex; + } + + public void setRuleindex(Integer ruleindex) { + this.ruleindex = ruleindex; + } + + public String getOperators() { + return operators; + } + + public void setOperators(String operators) { + this.operators = operators; + } + + public Boolean getEnabled() { + return enabled; + } + + public void setEnabled(Boolean enabled) { + this.enabled = enabled; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } + + public String getAppids() { + return appids; + } + + public void setAppids(String appids) { + this.appids = appids; + } + + @Override + public String toString() { + return "RouteVo{" + + "page=" + page + + ", limit=" + limit + + ", appid='" + appid + '\'' + + ", mobile='" + mobile + '\'' + + ", message='" + message + '\'' + + ", appendid='" + appendid + '\'' + + ", sp='" + sp + '\'' + + ", begintime='" + begintime + '\'' + + ", endtime='" + endtime + '\'' + + ", id=" + id + + ", oldId=" + oldId + + ", operatorType=" + operatorType + + ", ruleindex=" + ruleindex + + ", operators='" + operators + '\'' + + ", enabled=" + enabled + + ", remark='" + remark + '\'' + + ", appids='" + appids + '\'' + + ", originalSp='" + originalSp + '\'' + + ", targetSp='" + targetSp + '\'' + + ", bacthChangeNum=" + bacthChangeNum + + '}'; + } +} \ No newline at end of file diff --git a/car-common/src/main/java/com/weiqi/vo/SmsGlobalIndex.java b/car-common/src/main/java/com/weiqi/vo/SmsGlobalIndex.java new file mode 100644 index 0000000..53ec096 --- /dev/null +++ b/car-common/src/main/java/com/weiqi/vo/SmsGlobalIndex.java @@ -0,0 +1,43 @@ +package com.weiqi.vo; + +public class SmsGlobalIndex { + // 服务名称 + private String name; + // 初始权重 + private int weight; + // 当前权重 + private int current; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public int getWeight() { + return weight; + } + + public void setWeight(int weight) { + this.weight = weight; + } + + public int getCurrent() { + return current; + } + + public void setCurrent(int current) { + this.current = current; + } + + @Override + public String toString() { + return "SmsGlobalIndex{" + + "name='" + name + '\'' + + ", weight=" + weight + + ", current=" + current + + '}'; + } +} diff --git a/car-common/src/main/java/com/weiqi/vo/SmsSendVo.java b/car-common/src/main/java/com/weiqi/vo/SmsSendVo.java new file mode 100644 index 0000000..532facd --- /dev/null +++ b/car-common/src/main/java/com/weiqi/vo/SmsSendVo.java @@ -0,0 +1,237 @@ +package com.weiqi.vo; + +import java.util.Date; + +public class SmsSendVo { + private String msgid; + private int page;//第几页 + private int limit;//每页显示条数 + + private String appid; + + private String mobile; + + private String message; + + private String appendid; + + private String sp; + + private String fixedSp; + + private String beginTime; + private String endTime; + + private String clientIp; + + private Byte splitCount; + + private Byte splitCountOk; + + private Byte splitCountFail; + + private Date reportTime; + + private String reportDesc; + + private String rsaMobile; + + private String md5Mobile; + private String status; + private Byte sendStatus; + + public Byte getSendStatus() { + return sendStatus; + } + + public void setSendStatus(Byte sendStatus) { + this.sendStatus = sendStatus; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getMsgid() { + return msgid; + } + + public void setMsgid(String msgid) { + this.msgid = msgid == null ? null : msgid.trim(); + } + + public String getAppid() { + return appid; + } + + public void setAppid(String appid) { + this.appid = appid == null ? null : appid.trim(); + } + + public String getMobile() { + return mobile; + } + + public void setMobile(String mobile) { + this.mobile = mobile == null ? null : mobile.trim(); + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message == null ? null : message.trim(); + } + + public String getAppendid() { + return appendid; + } + + public void setAppendid(String appendid) { + this.appendid = appendid == null ? null : appendid.trim(); + } + + public String getSp() { + return sp; + } + + public void setSp(String sp) { + this.sp = sp == null ? null : sp.trim(); + } + + public String getFixedSp() { + return fixedSp; + } + + public void setFixedSp(String fixedSp) { + this.fixedSp = fixedSp == null ? null : fixedSp.trim(); + } + + public String getBeginTime() { + return beginTime; + } + + public void setBeginTime(String beginTime) { + this.beginTime = beginTime; + } + + public String getEndTime() { + return endTime; + } + + public void setEndTime(String endTime) { + this.endTime = endTime; + } + + public String getClientIp() { + return clientIp; + } + + public void setClientIp(String clientIp) { + this.clientIp = clientIp == null ? null : clientIp.trim(); + } + + public Byte getSplitCount() { + return splitCount; + } + + public void setSplitCount(Byte splitCount) { + this.splitCount = splitCount; + } + + public Byte getSplitCountOk() { + return splitCountOk; + } + + public void setSplitCountOk(Byte splitCountOk) { + this.splitCountOk = splitCountOk; + } + + public Byte getSplitCountFail() { + return splitCountFail; + } + + public void setSplitCountFail(Byte splitCountFail) { + this.splitCountFail = splitCountFail; + } + + public Date getReportTime() { + return reportTime; + } + + public void setReportTime(Date reportTime) { + this.reportTime = reportTime; + } + + public String getReportDesc() { + return reportDesc; + } + + public void setReportDesc(String reportDesc) { + this.reportDesc = reportDesc == null ? null : reportDesc.trim(); + } + + public String getRsaMobile() { + return rsaMobile; + } + + public void setRsaMobile(String rsaMobile) { + this.rsaMobile = rsaMobile == null ? null : rsaMobile.trim(); + } + + public String getMd5Mobile() { + return md5Mobile; + } + + public void setMd5Mobile(String md5Mobile) { + this.md5Mobile = md5Mobile == null ? null : md5Mobile.trim(); + } + + public int getPage() { + return page; + } + + public void setPage(int page) { + this.page = page; + } + + public int getLimit() { + return limit; + } + + public void setLimit(int limit) { + this.limit = limit; + } + + @Override + public String toString() { + return "SmsSendVo{" + + "msgid='" + msgid + '\'' + + ", page=" + page + + ", limit=" + limit + + ", appid='" + appid + '\'' + + ", mobile='" + mobile + '\'' + + ", message='" + message + '\'' + + ", appendid='" + appendid + '\'' + + ", sp='" + sp + '\'' + + ", fixedSp='" + fixedSp + '\'' + + ", beginTime='" + beginTime + '\'' + + ", endTime='" + endTime + '\'' + + ", clientIp='" + clientIp + '\'' + + ", splitCount=" + splitCount + + ", splitCountOk=" + splitCountOk + + ", splitCountFail=" + splitCountFail + + ", reportTime=" + reportTime + + ", reportDesc='" + reportDesc + '\'' + + ", rsaMobile='" + rsaMobile + '\'' + + ", md5Mobile='" + md5Mobile + '\'' + + ", status='" + status + '\'' + + ", sendStatus=" + sendStatus + + '}'; + } +} \ No newline at end of file diff --git a/car-common/src/main/java/com/weiqi/vo/WightVo.java b/car-common/src/main/java/com/weiqi/vo/WightVo.java new file mode 100644 index 0000000..01081c4 --- /dev/null +++ b/car-common/src/main/java/com/weiqi/vo/WightVo.java @@ -0,0 +1,86 @@ +package com.weiqi.vo; + +public class WightVo { + + private int id; + private String getTime; + private String ip; + private String sp206; + private String sp116; + private String flow; + private String cluster; + private String type; + private String des; + + public String getDes() { + return des; + } + + public void setDes(String des) { + this.des = des; + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getGetTime() { + return getTime; + } + + public void setGetTime(String getTime) { + this.getTime = getTime; + } + + public String getIp() { + return ip; + } + + public void setIp(String ip) { + this.ip = ip; + } + + public String getSp206() { + return sp206; + } + + public void setSp206(String sp206) { + this.sp206 = sp206; + } + + public String getSp116() { + return sp116; + } + + public void setSp116(String sp116) { + this.sp116 = sp116; + } + + public String getFlow() { + return flow; + } + + public void setFlow(String flow) { + this.flow = flow; + } + + public String getCluster() { + return cluster; + } + + public void setCluster(String cluster) { + this.cluster = cluster; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } +} diff --git a/car-dao/.gitignore b/car-dao/.gitignore new file mode 100644 index 0000000..a4c6f0c --- /dev/null +++ b/car-dao/.gitignore @@ -0,0 +1,31 @@ +HELP.md +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/** +!**/src/test/** + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ + +### VS Code ### +.vscode/ diff --git a/car-dao/pom.xml b/car-dao/pom.xml new file mode 100644 index 0000000..1634076 --- /dev/null +++ b/car-dao/pom.xml @@ -0,0 +1,60 @@ + + + + carmis + com.weiqi + 0.0.1-SNAPSHOT + + 4.0.0 + + car-dao + + + 1.8 + + + + + org.mybatis.spring.boot + mybatis-spring-boot-starter + 1.3.1 + + + + org.mybatis + mybatis + 3.4.1 + + + + + + + + + + + + + + + + + + + + releases + + http://repo.corpweiqi.com/nexus/content/repositories/releases/ + + + + snapshots + + http://repo.corpweiqi.com/nexus/content/repositories/snapshots/ + + + + \ No newline at end of file diff --git a/car-dao/src/main/.DS_Store b/car-dao/src/main/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..dc5902630eccf07eef38398cd76f85a67d7a1928 GIT binary patch literal 6148 zcmeHK!D`z;5Z!g$R*ImgkV67FEacFO4>oS=t8na|0u7ak4@v5-kf>FJ6lB>x7=!2s z^aGM>ntVvof9RL=oSEIVsd0L2smlz^zS-HCS?^o3t7VMw_Bd=X<}$`CP{fK2%_D;2 zsB2O&9z>2cg6ZfYNU{L>Ki8tk@h>ufdsk(jnPd|tf8D>}B8f*uz5at&wyIB_KC|p? z$9A4O&bdF#rhXxd@u)5HfxGX=VHC)`ABV-T7p2`KnndZl{74p2eu}}pEK49j+cG$b zqv^oiIn2^R#%YwRdb-A0KTgAJ+RnylI8yPZxU!FBF@!qSfj96Jm$qdO+`ZYX(Q3V} ziDt7tuZdZ!Rj-Lx%{TM8ZCiUU-@gAa{_^$m>iXNw?cKfJ0uKLHB`*vv;5!&gHYR?a zCRzFke2e%+93e443=jjG&44-8EN8QqLBF0DAO`*b19(0NP(;sQsZkvr(BS7Ij#m*; zz{a-(qA=(gEH%Oi2-m5AI+dFz2G{A}7bea#SZdVijH{WUj+vR87YbLigI}m{#yySH z5(C7*Dg#@(>*D?2{r&rYHHmt}05R}iF~F-Gzte^#nY(puad_7X(2t-f7*}dsrhuWY hVu;17co$R&_yrn(p21QhctGewK+!-AG4NLzcmP-YV8;Le literal 0 HcmV?d00001 diff --git a/car-dao/src/main/java/DaoApplication.java b/car-dao/src/main/java/DaoApplication.java new file mode 100644 index 0000000..3ac71f2 --- /dev/null +++ b/car-dao/src/main/java/DaoApplication.java @@ -0,0 +1,12 @@ +// +// +//import org.springframework.boot.SpringApplication; +//import org.springframework.boot.autoconfigure.SpringBootApplication; +//@SpringBootApplication +//public class DaoApplication { +// +// public static void main(String[] args) { +// SpringApplication.run(DaoApplication.class, args); +// } +// +//} diff --git a/car-dao/src/main/java/com/weiqi/mis/bo/StisticByDay.java b/car-dao/src/main/java/com/weiqi/mis/bo/StisticByDay.java new file mode 100644 index 0000000..344e157 --- /dev/null +++ b/car-dao/src/main/java/com/weiqi/mis/bo/StisticByDay.java @@ -0,0 +1,44 @@ +package com.weiqi.mis.bo; + +/** + * @author duly + * @date 2020/5/14 + */ +public class StisticByDay { + private String splitCount; + private String splitCountOk; + private String accountType; + private String sp; + + public String getSplitCount() { + return splitCount; + } + + public void setSplitCount(String splitCount) { + this.splitCount = splitCount; + } + + public String getSplitCountOk() { + return splitCountOk; + } + + public void setSplitCountOk(String splitCountOk) { + this.splitCountOk = splitCountOk; + } + + public String getAccountType() { + return accountType; + } + + public void setAccountType(String accountType) { + this.accountType = accountType; + } + + public String getSp() { + return sp; + } + + public void setSp(String sp) { + this.sp = sp; + } +} diff --git a/car-dao/src/main/java/com/weiqi/mis/domain/AdminUserInfo.java b/car-dao/src/main/java/com/weiqi/mis/domain/AdminUserInfo.java new file mode 100644 index 0000000..1599f28 --- /dev/null +++ b/car-dao/src/main/java/com/weiqi/mis/domain/AdminUserInfo.java @@ -0,0 +1,65 @@ +package com.weiqi.mis.domain; + +import java.util.Date; + +public class AdminUserInfo { + private Integer id; + + private String userName; + + private String password; + + private Date gmtCreate; + + private Date gmtModify; + + private Integer isDel; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getUserName() { + return userName; + } + + public void setUserName(String userName) { + this.userName = userName == null ? null : userName.trim(); + } + + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password == null ? null : password.trim(); + } + + public Date getGmtCreate() { + return gmtCreate; + } + + public void setGmtCreate(Date gmtCreate) { + this.gmtCreate = gmtCreate; + } + + public Date getGmtModify() { + return gmtModify; + } + + public void setGmtModify(Date gmtModify) { + this.gmtModify = gmtModify; + } + + public Integer getIsDel() { + return isDel; + } + + public void setIsDel(Integer isDel) { + this.isDel = isDel; + } +} \ No newline at end of file diff --git a/car-dao/src/main/java/com/weiqi/mis/domain/AdminUserInfoExample.java b/car-dao/src/main/java/com/weiqi/mis/domain/AdminUserInfoExample.java new file mode 100644 index 0000000..788bab6 --- /dev/null +++ b/car-dao/src/main/java/com/weiqi/mis/domain/AdminUserInfoExample.java @@ -0,0 +1,581 @@ +package com.weiqi.mis.domain; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class AdminUserInfoExample { + protected String orderByClause; + + protected boolean distinct; + + protected List oredCriteria; + + public AdminUserInfoExample() { + oredCriteria = new ArrayList(); + } + + public void setOrderByClause(String orderByClause) { + this.orderByClause = orderByClause; + } + + public String getOrderByClause() { + return orderByClause; + } + + public void setDistinct(boolean distinct) { + this.distinct = distinct; + } + + public boolean isDistinct() { + return distinct; + } + + public List getOredCriteria() { + return oredCriteria; + } + + public void or(Criteria criteria) { + oredCriteria.add(criteria); + } + + public Criteria or() { + Criteria criteria = createCriteriaInternal(); + oredCriteria.add(criteria); + return criteria; + } + + public Criteria createCriteria() { + Criteria criteria = createCriteriaInternal(); + if (oredCriteria.size() == 0) { + oredCriteria.add(criteria); + } + return criteria; + } + + protected Criteria createCriteriaInternal() { + Criteria criteria = new Criteria(); + return criteria; + } + + public void clear() { + oredCriteria.clear(); + orderByClause = null; + distinct = false; + } + + protected abstract static class GeneratedCriteria { + protected List criteria; + + protected GeneratedCriteria() { + super(); + criteria = new ArrayList(); + } + + public boolean isValid() { + return criteria.size() > 0; + } + + public List getAllCriteria() { + return criteria; + } + + public List getCriteria() { + return criteria; + } + + protected void addCriterion(String condition) { + if (condition == null) { + throw new RuntimeException("Value for condition cannot be null"); + } + criteria.add(new Criterion(condition)); + } + + protected void addCriterion(String condition, Object value, String property) { + if (value == null) { + throw new RuntimeException("Value for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value)); + } + + protected void addCriterion(String condition, Object value1, Object value2, String property) { + if (value1 == null || value2 == null) { + throw new RuntimeException("Between values for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value1, value2)); + } + + public Criteria andIdIsNull() { + addCriterion("id is null"); + return (Criteria) this; + } + + public Criteria andIdIsNotNull() { + addCriterion("id is not null"); + return (Criteria) this; + } + + public Criteria andIdEqualTo(Integer value) { + addCriterion("id =", value, "id"); + return (Criteria) this; + } + + public Criteria andIdNotEqualTo(Integer value) { + addCriterion("id <>", value, "id"); + return (Criteria) this; + } + + public Criteria andIdGreaterThan(Integer value) { + addCriterion("id >", value, "id"); + return (Criteria) this; + } + + public Criteria andIdGreaterThanOrEqualTo(Integer value) { + addCriterion("id >=", value, "id"); + return (Criteria) this; + } + + public Criteria andIdLessThan(Integer value) { + addCriterion("id <", value, "id"); + return (Criteria) this; + } + + public Criteria andIdLessThanOrEqualTo(Integer value) { + addCriterion("id <=", value, "id"); + return (Criteria) this; + } + + public Criteria andIdIn(List values) { + addCriterion("id in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdNotIn(List values) { + addCriterion("id not in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdBetween(Integer value1, Integer value2) { + addCriterion("id between", value1, value2, "id"); + return (Criteria) this; + } + + public Criteria andIdNotBetween(Integer value1, Integer value2) { + addCriterion("id not between", value1, value2, "id"); + return (Criteria) this; + } + + public Criteria andUserNameIsNull() { + addCriterion("user_name is null"); + return (Criteria) this; + } + + public Criteria andUserNameIsNotNull() { + addCriterion("user_name is not null"); + return (Criteria) this; + } + + public Criteria andUserNameEqualTo(String value) { + addCriterion("user_name =", value, "userName"); + return (Criteria) this; + } + + public Criteria andUserNameNotEqualTo(String value) { + addCriterion("user_name <>", value, "userName"); + return (Criteria) this; + } + + public Criteria andUserNameGreaterThan(String value) { + addCriterion("user_name >", value, "userName"); + return (Criteria) this; + } + + public Criteria andUserNameGreaterThanOrEqualTo(String value) { + addCriterion("user_name >=", value, "userName"); + return (Criteria) this; + } + + public Criteria andUserNameLessThan(String value) { + addCriterion("user_name <", value, "userName"); + return (Criteria) this; + } + + public Criteria andUserNameLessThanOrEqualTo(String value) { + addCriterion("user_name <=", value, "userName"); + return (Criteria) this; + } + + public Criteria andUserNameLike(String value) { + addCriterion("user_name like", value, "userName"); + return (Criteria) this; + } + + public Criteria andUserNameNotLike(String value) { + addCriterion("user_name not like", value, "userName"); + return (Criteria) this; + } + + public Criteria andUserNameIn(List values) { + addCriterion("user_name in", values, "userName"); + return (Criteria) this; + } + + public Criteria andUserNameNotIn(List values) { + addCriterion("user_name not in", values, "userName"); + return (Criteria) this; + } + + public Criteria andUserNameBetween(String value1, String value2) { + addCriterion("user_name between", value1, value2, "userName"); + return (Criteria) this; + } + + public Criteria andUserNameNotBetween(String value1, String value2) { + addCriterion("user_name not between", value1, value2, "userName"); + return (Criteria) this; + } + + public Criteria andPasswordIsNull() { + addCriterion("password is null"); + return (Criteria) this; + } + + public Criteria andPasswordIsNotNull() { + addCriterion("password is not null"); + return (Criteria) this; + } + + public Criteria andPasswordEqualTo(String value) { + addCriterion("password =", value, "password"); + return (Criteria) this; + } + + public Criteria andPasswordNotEqualTo(String value) { + addCriterion("password <>", value, "password"); + return (Criteria) this; + } + + public Criteria andPasswordGreaterThan(String value) { + addCriterion("password >", value, "password"); + return (Criteria) this; + } + + public Criteria andPasswordGreaterThanOrEqualTo(String value) { + addCriterion("password >=", value, "password"); + return (Criteria) this; + } + + public Criteria andPasswordLessThan(String value) { + addCriterion("password <", value, "password"); + return (Criteria) this; + } + + public Criteria andPasswordLessThanOrEqualTo(String value) { + addCriterion("password <=", value, "password"); + return (Criteria) this; + } + + public Criteria andPasswordLike(String value) { + addCriterion("password like", value, "password"); + return (Criteria) this; + } + + public Criteria andPasswordNotLike(String value) { + addCriterion("password not like", value, "password"); + return (Criteria) this; + } + + public Criteria andPasswordIn(List values) { + addCriterion("password in", values, "password"); + return (Criteria) this; + } + + public Criteria andPasswordNotIn(List values) { + addCriterion("password not in", values, "password"); + return (Criteria) this; + } + + public Criteria andPasswordBetween(String value1, String value2) { + addCriterion("password between", value1, value2, "password"); + return (Criteria) this; + } + + public Criteria andPasswordNotBetween(String value1, String value2) { + addCriterion("password not between", value1, value2, "password"); + return (Criteria) this; + } + + public Criteria andGmtCreateIsNull() { + addCriterion("gmt_create is null"); + return (Criteria) this; + } + + public Criteria andGmtCreateIsNotNull() { + addCriterion("gmt_create is not null"); + return (Criteria) this; + } + + public Criteria andGmtCreateEqualTo(Date value) { + addCriterion("gmt_create =", value, "gmtCreate"); + return (Criteria) this; + } + + public Criteria andGmtCreateNotEqualTo(Date value) { + addCriterion("gmt_create <>", value, "gmtCreate"); + return (Criteria) this; + } + + public Criteria andGmtCreateGreaterThan(Date value) { + addCriterion("gmt_create >", value, "gmtCreate"); + return (Criteria) this; + } + + public Criteria andGmtCreateGreaterThanOrEqualTo(Date value) { + addCriterion("gmt_create >=", value, "gmtCreate"); + return (Criteria) this; + } + + public Criteria andGmtCreateLessThan(Date value) { + addCriterion("gmt_create <", value, "gmtCreate"); + return (Criteria) this; + } + + public Criteria andGmtCreateLessThanOrEqualTo(Date value) { + addCriterion("gmt_create <=", value, "gmtCreate"); + return (Criteria) this; + } + + public Criteria andGmtCreateIn(List values) { + addCriterion("gmt_create in", values, "gmtCreate"); + return (Criteria) this; + } + + public Criteria andGmtCreateNotIn(List values) { + addCriterion("gmt_create not in", values, "gmtCreate"); + return (Criteria) this; + } + + public Criteria andGmtCreateBetween(Date value1, Date value2) { + addCriterion("gmt_create between", value1, value2, "gmtCreate"); + return (Criteria) this; + } + + public Criteria andGmtCreateNotBetween(Date value1, Date value2) { + addCriterion("gmt_create not between", value1, value2, "gmtCreate"); + return (Criteria) this; + } + + public Criteria andGmtModifyIsNull() { + addCriterion("gmt_modify is null"); + return (Criteria) this; + } + + public Criteria andGmtModifyIsNotNull() { + addCriterion("gmt_modify is not null"); + return (Criteria) this; + } + + public Criteria andGmtModifyEqualTo(Date value) { + addCriterion("gmt_modify =", value, "gmtModify"); + return (Criteria) this; + } + + public Criteria andGmtModifyNotEqualTo(Date value) { + addCriterion("gmt_modify <>", value, "gmtModify"); + return (Criteria) this; + } + + public Criteria andGmtModifyGreaterThan(Date value) { + addCriterion("gmt_modify >", value, "gmtModify"); + return (Criteria) this; + } + + public Criteria andGmtModifyGreaterThanOrEqualTo(Date value) { + addCriterion("gmt_modify >=", value, "gmtModify"); + return (Criteria) this; + } + + public Criteria andGmtModifyLessThan(Date value) { + addCriterion("gmt_modify <", value, "gmtModify"); + return (Criteria) this; + } + + public Criteria andGmtModifyLessThanOrEqualTo(Date value) { + addCriterion("gmt_modify <=", value, "gmtModify"); + return (Criteria) this; + } + + public Criteria andGmtModifyIn(List values) { + addCriterion("gmt_modify in", values, "gmtModify"); + return (Criteria) this; + } + + public Criteria andGmtModifyNotIn(List values) { + addCriterion("gmt_modify not in", values, "gmtModify"); + return (Criteria) this; + } + + public Criteria andGmtModifyBetween(Date value1, Date value2) { + addCriterion("gmt_modify between", value1, value2, "gmtModify"); + return (Criteria) this; + } + + public Criteria andGmtModifyNotBetween(Date value1, Date value2) { + addCriterion("gmt_modify not between", value1, value2, "gmtModify"); + return (Criteria) this; + } + + public Criteria andIsDelIsNull() { + addCriterion("is_del is null"); + return (Criteria) this; + } + + public Criteria andIsDelIsNotNull() { + addCriterion("is_del is not null"); + return (Criteria) this; + } + + public Criteria andIsDelEqualTo(Integer value) { + addCriterion("is_del =", value, "isDel"); + return (Criteria) this; + } + + public Criteria andIsDelNotEqualTo(Integer value) { + addCriterion("is_del <>", value, "isDel"); + return (Criteria) this; + } + + public Criteria andIsDelGreaterThan(Integer value) { + addCriterion("is_del >", value, "isDel"); + return (Criteria) this; + } + + public Criteria andIsDelGreaterThanOrEqualTo(Integer value) { + addCriterion("is_del >=", value, "isDel"); + return (Criteria) this; + } + + public Criteria andIsDelLessThan(Integer value) { + addCriterion("is_del <", value, "isDel"); + return (Criteria) this; + } + + public Criteria andIsDelLessThanOrEqualTo(Integer value) { + addCriterion("is_del <=", value, "isDel"); + return (Criteria) this; + } + + public Criteria andIsDelIn(List values) { + addCriterion("is_del in", values, "isDel"); + return (Criteria) this; + } + + public Criteria andIsDelNotIn(List values) { + addCriterion("is_del not in", values, "isDel"); + return (Criteria) this; + } + + public Criteria andIsDelBetween(Integer value1, Integer value2) { + addCriterion("is_del between", value1, value2, "isDel"); + return (Criteria) this; + } + + public Criteria andIsDelNotBetween(Integer value1, Integer value2) { + addCriterion("is_del not between", value1, value2, "isDel"); + return (Criteria) this; + } + } + + public static class Criteria extends GeneratedCriteria { + + protected Criteria() { + super(); + } + } + + public static class Criterion { + private String condition; + + private Object value; + + private Object secondValue; + + private boolean noValue; + + private boolean singleValue; + + private boolean betweenValue; + + private boolean listValue; + + private String typeHandler; + + public String getCondition() { + return condition; + } + + public Object getValue() { + return value; + } + + public Object getSecondValue() { + return secondValue; + } + + public boolean isNoValue() { + return noValue; + } + + public boolean isSingleValue() { + return singleValue; + } + + public boolean isBetweenValue() { + return betweenValue; + } + + public boolean isListValue() { + return listValue; + } + + public String getTypeHandler() { + return typeHandler; + } + + protected Criterion(String condition) { + super(); + this.condition = condition; + this.typeHandler = null; + this.noValue = true; + } + + protected Criterion(String condition, Object value, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.typeHandler = typeHandler; + if (value instanceof List) { + this.listValue = true; + } else { + this.singleValue = true; + } + } + + protected Criterion(String condition, Object value) { + this(condition, value, null); + } + + protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.secondValue = secondValue; + this.typeHandler = typeHandler; + this.betweenValue = true; + } + + protected Criterion(String condition, Object value, Object secondValue) { + this(condition, value, secondValue, null); + } + } +} \ No newline at end of file diff --git a/car-dao/src/main/java/com/weiqi/mis/domain/WxXrPemsOrder.java b/car-dao/src/main/java/com/weiqi/mis/domain/WxXrPemsOrder.java new file mode 100644 index 0000000..d733dd3 --- /dev/null +++ b/car-dao/src/main/java/com/weiqi/mis/domain/WxXrPemsOrder.java @@ -0,0 +1,425 @@ +package com.weiqi.mis.domain; + +import java.util.Date; + +public class WxXrPemsOrder { + private Integer id; + + private String orderno; + + private Integer mid; + + private String mname; + + private Integer orderuserid; + + private String orderusername; + + private Date admissiontime; + + private Date constructionstarttime; + + private String platenumber; + + private String vin; + + private String registertime; + + private Float kilometers; + + private String drivinglicensesrc; + + private String vehiclesrc; + + private String vehicletype; + + private String linkname; + + private String linktel; + + private Integer gaugingschemeid; + + private String gaugingschemename; + + private Integer maintenanceschemeid; + + private String maintenanceschemename; + + private Integer brandid; + + private String brandname; + + private Integer seriesid; + + private String seriesname; + + private String productionyear; + + private String enginestructure; + + private Integer enginestructurenumber; + + private String electronicfueltype; + + private String transmissioncase; + + private String drivetype; + + private String emissionstandard; + + private Integer status; + + private Date createTime; + + private Date updateTime; + + private Integer wxXrPemsUserId; + + private Integer checkUpResult; + + private String wxXrPemsUserName; + + private String exhauststructure; + + private Integer factoryid; + + private String factoryname; + + private String vinContent; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getOrderno() { + return orderno; + } + + public void setOrderno(String orderno) { + this.orderno = orderno == null ? null : orderno.trim(); + } + + public Integer getMid() { + return mid; + } + + public void setMid(Integer mid) { + this.mid = mid; + } + + public String getMname() { + return mname; + } + + public void setMname(String mname) { + this.mname = mname == null ? null : mname.trim(); + } + + public Integer getOrderuserid() { + return orderuserid; + } + + public void setOrderuserid(Integer orderuserid) { + this.orderuserid = orderuserid; + } + + public String getOrderusername() { + return orderusername; + } + + public void setOrderusername(String orderusername) { + this.orderusername = orderusername == null ? null : orderusername.trim(); + } + + public Date getAdmissiontime() { + return admissiontime; + } + + public void setAdmissiontime(Date admissiontime) { + this.admissiontime = admissiontime; + } + + public Date getConstructionstarttime() { + return constructionstarttime; + } + + public void setConstructionstarttime(Date constructionstarttime) { + this.constructionstarttime = constructionstarttime; + } + + public String getPlatenumber() { + return platenumber; + } + + public void setPlatenumber(String platenumber) { + this.platenumber = platenumber == null ? null : platenumber.trim(); + } + + public String getVin() { + return vin; + } + + public void setVin(String vin) { + this.vin = vin == null ? null : vin.trim(); + } + + public String getRegistertime() { + return registertime; + } + + public void setRegistertime(String registertime) { + this.registertime = registertime == null ? null : registertime.trim(); + } + + public Float getKilometers() { + return kilometers; + } + + public void setKilometers(Float kilometers) { + this.kilometers = kilometers; + } + + public String getDrivinglicensesrc() { + return drivinglicensesrc; + } + + public void setDrivinglicensesrc(String drivinglicensesrc) { + this.drivinglicensesrc = drivinglicensesrc == null ? null : drivinglicensesrc.trim(); + } + + public String getVehiclesrc() { + return vehiclesrc; + } + + public void setVehiclesrc(String vehiclesrc) { + this.vehiclesrc = vehiclesrc == null ? null : vehiclesrc.trim(); + } + + public String getVehicletype() { + return vehicletype; + } + + public void setVehicletype(String vehicletype) { + this.vehicletype = vehicletype == null ? null : vehicletype.trim(); + } + + public String getLinkname() { + return linkname; + } + + public void setLinkname(String linkname) { + this.linkname = linkname == null ? null : linkname.trim(); + } + + public String getLinktel() { + return linktel; + } + + public void setLinktel(String linktel) { + this.linktel = linktel == null ? null : linktel.trim(); + } + + public Integer getGaugingschemeid() { + return gaugingschemeid; + } + + public void setGaugingschemeid(Integer gaugingschemeid) { + this.gaugingschemeid = gaugingschemeid; + } + + public String getGaugingschemename() { + return gaugingschemename; + } + + public void setGaugingschemename(String gaugingschemename) { + this.gaugingschemename = gaugingschemename == null ? null : gaugingschemename.trim(); + } + + public Integer getMaintenanceschemeid() { + return maintenanceschemeid; + } + + public void setMaintenanceschemeid(Integer maintenanceschemeid) { + this.maintenanceschemeid = maintenanceschemeid; + } + + public String getMaintenanceschemename() { + return maintenanceschemename; + } + + public void setMaintenanceschemename(String maintenanceschemename) { + this.maintenanceschemename = maintenanceschemename == null ? null : maintenanceschemename.trim(); + } + + public Integer getBrandid() { + return brandid; + } + + public void setBrandid(Integer brandid) { + this.brandid = brandid; + } + + public String getBrandname() { + return brandname; + } + + public void setBrandname(String brandname) { + this.brandname = brandname == null ? null : brandname.trim(); + } + + public Integer getSeriesid() { + return seriesid; + } + + public void setSeriesid(Integer seriesid) { + this.seriesid = seriesid; + } + + public String getSeriesname() { + return seriesname; + } + + public void setSeriesname(String seriesname) { + this.seriesname = seriesname == null ? null : seriesname.trim(); + } + + public String getProductionyear() { + return productionyear; + } + + public void setProductionyear(String productionyear) { + this.productionyear = productionyear == null ? null : productionyear.trim(); + } + + public String getEnginestructure() { + return enginestructure; + } + + public void setEnginestructure(String enginestructure) { + this.enginestructure = enginestructure == null ? null : enginestructure.trim(); + } + + public Integer getEnginestructurenumber() { + return enginestructurenumber; + } + + public void setEnginestructurenumber(Integer enginestructurenumber) { + this.enginestructurenumber = enginestructurenumber; + } + + public String getElectronicfueltype() { + return electronicfueltype; + } + + public void setElectronicfueltype(String electronicfueltype) { + this.electronicfueltype = electronicfueltype == null ? null : electronicfueltype.trim(); + } + + public String getTransmissioncase() { + return transmissioncase; + } + + public void setTransmissioncase(String transmissioncase) { + this.transmissioncase = transmissioncase == null ? null : transmissioncase.trim(); + } + + public String getDrivetype() { + return drivetype; + } + + public void setDrivetype(String drivetype) { + this.drivetype = drivetype == null ? null : drivetype.trim(); + } + + public String getEmissionstandard() { + return emissionstandard; + } + + public void setEmissionstandard(String emissionstandard) { + this.emissionstandard = emissionstandard == null ? null : emissionstandard.trim(); + } + + public Integer getStatus() { + return status; + } + + public void setStatus(Integer status) { + this.status = status; + } + + public Date getCreateTime() { + return createTime; + } + + public void setCreateTime(Date createTime) { + this.createTime = createTime; + } + + public Date getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(Date updateTime) { + this.updateTime = updateTime; + } + + public Integer getWxXrPemsUserId() { + return wxXrPemsUserId; + } + + public void setWxXrPemsUserId(Integer wxXrPemsUserId) { + this.wxXrPemsUserId = wxXrPemsUserId; + } + + public Integer getCheckUpResult() { + return checkUpResult; + } + + public void setCheckUpResult(Integer checkUpResult) { + this.checkUpResult = checkUpResult; + } + + public String getWxXrPemsUserName() { + return wxXrPemsUserName; + } + + public void setWxXrPemsUserName(String wxXrPemsUserName) { + this.wxXrPemsUserName = wxXrPemsUserName == null ? null : wxXrPemsUserName.trim(); + } + + public String getExhauststructure() { + return exhauststructure; + } + + public void setExhauststructure(String exhauststructure) { + this.exhauststructure = exhauststructure == null ? null : exhauststructure.trim(); + } + + public Integer getFactoryid() { + return factoryid; + } + + public void setFactoryid(Integer factoryid) { + this.factoryid = factoryid; + } + + public String getFactoryname() { + return factoryname; + } + + public void setFactoryname(String factoryname) { + this.factoryname = factoryname == null ? null : factoryname.trim(); + } + + public String getVinContent() { + return vinContent; + } + + public void setVinContent(String vinContent) { + this.vinContent = vinContent == null ? null : vinContent.trim(); + } +} \ No newline at end of file diff --git a/car-dao/src/main/java/com/weiqi/mis/domain/WxXrPemsOrderExample.java b/car-dao/src/main/java/com/weiqi/mis/domain/WxXrPemsOrderExample.java new file mode 100644 index 0000000..fbc710c --- /dev/null +++ b/car-dao/src/main/java/com/weiqi/mis/domain/WxXrPemsOrderExample.java @@ -0,0 +1,2901 @@ +package com.weiqi.mis.domain; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class WxXrPemsOrderExample { + protected String orderByClause; + + protected boolean distinct; + + protected List oredCriteria; + + public WxXrPemsOrderExample() { + oredCriteria = new ArrayList(); + } + + public void setOrderByClause(String orderByClause) { + this.orderByClause = orderByClause; + } + + public String getOrderByClause() { + return orderByClause; + } + + public void setDistinct(boolean distinct) { + this.distinct = distinct; + } + + public boolean isDistinct() { + return distinct; + } + + public List getOredCriteria() { + return oredCriteria; + } + + public void or(Criteria criteria) { + oredCriteria.add(criteria); + } + + public Criteria or() { + Criteria criteria = createCriteriaInternal(); + oredCriteria.add(criteria); + return criteria; + } + + public Criteria createCriteria() { + Criteria criteria = createCriteriaInternal(); + if (oredCriteria.size() == 0) { + oredCriteria.add(criteria); + } + return criteria; + } + + protected Criteria createCriteriaInternal() { + Criteria criteria = new Criteria(); + return criteria; + } + + public void clear() { + oredCriteria.clear(); + orderByClause = null; + distinct = false; + } + + protected abstract static class GeneratedCriteria { + protected List criteria; + + protected GeneratedCriteria() { + super(); + criteria = new ArrayList(); + } + + public boolean isValid() { + return criteria.size() > 0; + } + + public List getAllCriteria() { + return criteria; + } + + public List getCriteria() { + return criteria; + } + + protected void addCriterion(String condition) { + if (condition == null) { + throw new RuntimeException("Value for condition cannot be null"); + } + criteria.add(new Criterion(condition)); + } + + protected void addCriterion(String condition, Object value, String property) { + if (value == null) { + throw new RuntimeException("Value for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value)); + } + + protected void addCriterion(String condition, Object value1, Object value2, String property) { + if (value1 == null || value2 == null) { + throw new RuntimeException("Between values for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value1, value2)); + } + + public Criteria andIdIsNull() { + addCriterion("ID is null"); + return (Criteria) this; + } + + public Criteria andIdIsNotNull() { + addCriterion("ID is not null"); + return (Criteria) this; + } + + public Criteria andIdEqualTo(Integer value) { + addCriterion("ID =", value, "id"); + return (Criteria) this; + } + + public Criteria andIdNotEqualTo(Integer value) { + addCriterion("ID <>", value, "id"); + return (Criteria) this; + } + + public Criteria andIdGreaterThan(Integer value) { + addCriterion("ID >", value, "id"); + return (Criteria) this; + } + + public Criteria andIdGreaterThanOrEqualTo(Integer value) { + addCriterion("ID >=", value, "id"); + return (Criteria) this; + } + + public Criteria andIdLessThan(Integer value) { + addCriterion("ID <", value, "id"); + return (Criteria) this; + } + + public Criteria andIdLessThanOrEqualTo(Integer value) { + addCriterion("ID <=", value, "id"); + return (Criteria) this; + } + + public Criteria andIdIn(List values) { + addCriterion("ID in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdNotIn(List values) { + addCriterion("ID not in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdBetween(Integer value1, Integer value2) { + addCriterion("ID between", value1, value2, "id"); + return (Criteria) this; + } + + public Criteria andIdNotBetween(Integer value1, Integer value2) { + addCriterion("ID not between", value1, value2, "id"); + return (Criteria) this; + } + + public Criteria andOrdernoIsNull() { + addCriterion("OrderNo is null"); + return (Criteria) this; + } + + public Criteria andOrdernoIsNotNull() { + addCriterion("OrderNo is not null"); + return (Criteria) this; + } + + public Criteria andOrdernoEqualTo(String value) { + addCriterion("OrderNo =", value, "orderno"); + return (Criteria) this; + } + + public Criteria andOrdernoNotEqualTo(String value) { + addCriterion("OrderNo <>", value, "orderno"); + return (Criteria) this; + } + + public Criteria andOrdernoGreaterThan(String value) { + addCriterion("OrderNo >", value, "orderno"); + return (Criteria) this; + } + + public Criteria andOrdernoGreaterThanOrEqualTo(String value) { + addCriterion("OrderNo >=", value, "orderno"); + return (Criteria) this; + } + + public Criteria andOrdernoLessThan(String value) { + addCriterion("OrderNo <", value, "orderno"); + return (Criteria) this; + } + + public Criteria andOrdernoLessThanOrEqualTo(String value) { + addCriterion("OrderNo <=", value, "orderno"); + return (Criteria) this; + } + + public Criteria andOrdernoLike(String value) { + addCriterion("OrderNo like", value, "orderno"); + return (Criteria) this; + } + + public Criteria andOrdernoNotLike(String value) { + addCriterion("OrderNo not like", value, "orderno"); + return (Criteria) this; + } + + public Criteria andOrdernoIn(List values) { + addCriterion("OrderNo in", values, "orderno"); + return (Criteria) this; + } + + public Criteria andOrdernoNotIn(List values) { + addCriterion("OrderNo not in", values, "orderno"); + return (Criteria) this; + } + + public Criteria andOrdernoBetween(String value1, String value2) { + addCriterion("OrderNo between", value1, value2, "orderno"); + return (Criteria) this; + } + + public Criteria andOrdernoNotBetween(String value1, String value2) { + addCriterion("OrderNo not between", value1, value2, "orderno"); + return (Criteria) this; + } + + public Criteria andMidIsNull() { + addCriterion("MID is null"); + return (Criteria) this; + } + + public Criteria andMidIsNotNull() { + addCriterion("MID is not null"); + return (Criteria) this; + } + + public Criteria andMidEqualTo(Integer value) { + addCriterion("MID =", value, "mid"); + return (Criteria) this; + } + + public Criteria andMidNotEqualTo(Integer value) { + addCriterion("MID <>", value, "mid"); + return (Criteria) this; + } + + public Criteria andMidGreaterThan(Integer value) { + addCriterion("MID >", value, "mid"); + return (Criteria) this; + } + + public Criteria andMidGreaterThanOrEqualTo(Integer value) { + addCriterion("MID >=", value, "mid"); + return (Criteria) this; + } + + public Criteria andMidLessThan(Integer value) { + addCriterion("MID <", value, "mid"); + return (Criteria) this; + } + + public Criteria andMidLessThanOrEqualTo(Integer value) { + addCriterion("MID <=", value, "mid"); + return (Criteria) this; + } + + public Criteria andMidIn(List values) { + addCriterion("MID in", values, "mid"); + return (Criteria) this; + } + + public Criteria andMidNotIn(List values) { + addCriterion("MID not in", values, "mid"); + return (Criteria) this; + } + + public Criteria andMidBetween(Integer value1, Integer value2) { + addCriterion("MID between", value1, value2, "mid"); + return (Criteria) this; + } + + public Criteria andMidNotBetween(Integer value1, Integer value2) { + addCriterion("MID not between", value1, value2, "mid"); + return (Criteria) this; + } + + public Criteria andMnameIsNull() { + addCriterion("MName is null"); + return (Criteria) this; + } + + public Criteria andMnameIsNotNull() { + addCriterion("MName is not null"); + return (Criteria) this; + } + + public Criteria andMnameEqualTo(String value) { + addCriterion("MName =", value, "mname"); + return (Criteria) this; + } + + public Criteria andMnameNotEqualTo(String value) { + addCriterion("MName <>", value, "mname"); + return (Criteria) this; + } + + public Criteria andMnameGreaterThan(String value) { + addCriterion("MName >", value, "mname"); + return (Criteria) this; + } + + public Criteria andMnameGreaterThanOrEqualTo(String value) { + addCriterion("MName >=", value, "mname"); + return (Criteria) this; + } + + public Criteria andMnameLessThan(String value) { + addCriterion("MName <", value, "mname"); + return (Criteria) this; + } + + public Criteria andMnameLessThanOrEqualTo(String value) { + addCriterion("MName <=", value, "mname"); + return (Criteria) this; + } + + public Criteria andMnameLike(String value) { + addCriterion("MName like", value, "mname"); + return (Criteria) this; + } + + public Criteria andMnameNotLike(String value) { + addCriterion("MName not like", value, "mname"); + return (Criteria) this; + } + + public Criteria andMnameIn(List values) { + addCriterion("MName in", values, "mname"); + return (Criteria) this; + } + + public Criteria andMnameNotIn(List values) { + addCriterion("MName not in", values, "mname"); + return (Criteria) this; + } + + public Criteria andMnameBetween(String value1, String value2) { + addCriterion("MName between", value1, value2, "mname"); + return (Criteria) this; + } + + public Criteria andMnameNotBetween(String value1, String value2) { + addCriterion("MName not between", value1, value2, "mname"); + return (Criteria) this; + } + + public Criteria andOrderuseridIsNull() { + addCriterion("OrderUserId is null"); + return (Criteria) this; + } + + public Criteria andOrderuseridIsNotNull() { + addCriterion("OrderUserId is not null"); + return (Criteria) this; + } + + public Criteria andOrderuseridEqualTo(Integer value) { + addCriterion("OrderUserId =", value, "orderuserid"); + return (Criteria) this; + } + + public Criteria andOrderuseridNotEqualTo(Integer value) { + addCriterion("OrderUserId <>", value, "orderuserid"); + return (Criteria) this; + } + + public Criteria andOrderuseridGreaterThan(Integer value) { + addCriterion("OrderUserId >", value, "orderuserid"); + return (Criteria) this; + } + + public Criteria andOrderuseridGreaterThanOrEqualTo(Integer value) { + addCriterion("OrderUserId >=", value, "orderuserid"); + return (Criteria) this; + } + + public Criteria andOrderuseridLessThan(Integer value) { + addCriterion("OrderUserId <", value, "orderuserid"); + return (Criteria) this; + } + + public Criteria andOrderuseridLessThanOrEqualTo(Integer value) { + addCriterion("OrderUserId <=", value, "orderuserid"); + return (Criteria) this; + } + + public Criteria andOrderuseridIn(List values) { + addCriterion("OrderUserId in", values, "orderuserid"); + return (Criteria) this; + } + + public Criteria andOrderuseridNotIn(List values) { + addCriterion("OrderUserId not in", values, "orderuserid"); + return (Criteria) this; + } + + public Criteria andOrderuseridBetween(Integer value1, Integer value2) { + addCriterion("OrderUserId between", value1, value2, "orderuserid"); + return (Criteria) this; + } + + public Criteria andOrderuseridNotBetween(Integer value1, Integer value2) { + addCriterion("OrderUserId not between", value1, value2, "orderuserid"); + return (Criteria) this; + } + + public Criteria andOrderusernameIsNull() { + addCriterion("OrderUserName is null"); + return (Criteria) this; + } + + public Criteria andOrderusernameIsNotNull() { + addCriterion("OrderUserName is not null"); + return (Criteria) this; + } + + public Criteria andOrderusernameEqualTo(String value) { + addCriterion("OrderUserName =", value, "orderusername"); + return (Criteria) this; + } + + public Criteria andOrderusernameNotEqualTo(String value) { + addCriterion("OrderUserName <>", value, "orderusername"); + return (Criteria) this; + } + + public Criteria andOrderusernameGreaterThan(String value) { + addCriterion("OrderUserName >", value, "orderusername"); + return (Criteria) this; + } + + public Criteria andOrderusernameGreaterThanOrEqualTo(String value) { + addCriterion("OrderUserName >=", value, "orderusername"); + return (Criteria) this; + } + + public Criteria andOrderusernameLessThan(String value) { + addCriterion("OrderUserName <", value, "orderusername"); + return (Criteria) this; + } + + public Criteria andOrderusernameLessThanOrEqualTo(String value) { + addCriterion("OrderUserName <=", value, "orderusername"); + return (Criteria) this; + } + + public Criteria andOrderusernameLike(String value) { + addCriterion("OrderUserName like", value, "orderusername"); + return (Criteria) this; + } + + public Criteria andOrderusernameNotLike(String value) { + addCriterion("OrderUserName not like", value, "orderusername"); + return (Criteria) this; + } + + public Criteria andOrderusernameIn(List values) { + addCriterion("OrderUserName in", values, "orderusername"); + return (Criteria) this; + } + + public Criteria andOrderusernameNotIn(List values) { + addCriterion("OrderUserName not in", values, "orderusername"); + return (Criteria) this; + } + + public Criteria andOrderusernameBetween(String value1, String value2) { + addCriterion("OrderUserName between", value1, value2, "orderusername"); + return (Criteria) this; + } + + public Criteria andOrderusernameNotBetween(String value1, String value2) { + addCriterion("OrderUserName not between", value1, value2, "orderusername"); + return (Criteria) this; + } + + public Criteria andAdmissiontimeIsNull() { + addCriterion("AdmissionTime is null"); + return (Criteria) this; + } + + public Criteria andAdmissiontimeIsNotNull() { + addCriterion("AdmissionTime is not null"); + return (Criteria) this; + } + + public Criteria andAdmissiontimeEqualTo(Date value) { + addCriterion("AdmissionTime =", value, "admissiontime"); + return (Criteria) this; + } + + public Criteria andAdmissiontimeNotEqualTo(Date value) { + addCriterion("AdmissionTime <>", value, "admissiontime"); + return (Criteria) this; + } + + public Criteria andAdmissiontimeGreaterThan(Date value) { + addCriterion("AdmissionTime >", value, "admissiontime"); + return (Criteria) this; + } + + public Criteria andAdmissiontimeGreaterThanOrEqualTo(Date value) { + addCriterion("AdmissionTime >=", value, "admissiontime"); + return (Criteria) this; + } + + public Criteria andAdmissiontimeLessThan(Date value) { + addCriterion("AdmissionTime <", value, "admissiontime"); + return (Criteria) this; + } + + public Criteria andAdmissiontimeLessThanOrEqualTo(Date value) { + addCriterion("AdmissionTime <=", value, "admissiontime"); + return (Criteria) this; + } + + public Criteria andAdmissiontimeIn(List values) { + addCriterion("AdmissionTime in", values, "admissiontime"); + return (Criteria) this; + } + + public Criteria andAdmissiontimeNotIn(List values) { + addCriterion("AdmissionTime not in", values, "admissiontime"); + return (Criteria) this; + } + + public Criteria andAdmissiontimeBetween(Date value1, Date value2) { + addCriterion("AdmissionTime between", value1, value2, "admissiontime"); + return (Criteria) this; + } + + public Criteria andAdmissiontimeNotBetween(Date value1, Date value2) { + addCriterion("AdmissionTime not between", value1, value2, "admissiontime"); + return (Criteria) this; + } + + public Criteria andConstructionstarttimeIsNull() { + addCriterion("ConstructionStartTime is null"); + return (Criteria) this; + } + + public Criteria andConstructionstarttimeIsNotNull() { + addCriterion("ConstructionStartTime is not null"); + return (Criteria) this; + } + + public Criteria andConstructionstarttimeEqualTo(Date value) { + addCriterion("ConstructionStartTime =", value, "constructionstarttime"); + return (Criteria) this; + } + + public Criteria andConstructionstarttimeNotEqualTo(Date value) { + addCriterion("ConstructionStartTime <>", value, "constructionstarttime"); + return (Criteria) this; + } + + public Criteria andConstructionstarttimeGreaterThan(Date value) { + addCriterion("ConstructionStartTime >", value, "constructionstarttime"); + return (Criteria) this; + } + + public Criteria andConstructionstarttimeGreaterThanOrEqualTo(Date value) { + addCriterion("ConstructionStartTime >=", value, "constructionstarttime"); + return (Criteria) this; + } + + public Criteria andConstructionstarttimeLessThan(Date value) { + addCriterion("ConstructionStartTime <", value, "constructionstarttime"); + return (Criteria) this; + } + + public Criteria andConstructionstarttimeLessThanOrEqualTo(Date value) { + addCriterion("ConstructionStartTime <=", value, "constructionstarttime"); + return (Criteria) this; + } + + public Criteria andConstructionstarttimeIn(List values) { + addCriterion("ConstructionStartTime in", values, "constructionstarttime"); + return (Criteria) this; + } + + public Criteria andConstructionstarttimeNotIn(List values) { + addCriterion("ConstructionStartTime not in", values, "constructionstarttime"); + return (Criteria) this; + } + + public Criteria andConstructionstarttimeBetween(Date value1, Date value2) { + addCriterion("ConstructionStartTime between", value1, value2, "constructionstarttime"); + return (Criteria) this; + } + + public Criteria andConstructionstarttimeNotBetween(Date value1, Date value2) { + addCriterion("ConstructionStartTime not between", value1, value2, "constructionstarttime"); + return (Criteria) this; + } + + public Criteria andPlatenumberIsNull() { + addCriterion("PlateNumber is null"); + return (Criteria) this; + } + + public Criteria andPlatenumberIsNotNull() { + addCriterion("PlateNumber is not null"); + return (Criteria) this; + } + + public Criteria andPlatenumberEqualTo(String value) { + addCriterion("PlateNumber =", value, "platenumber"); + return (Criteria) this; + } + + public Criteria andPlatenumberNotEqualTo(String value) { + addCriterion("PlateNumber <>", value, "platenumber"); + return (Criteria) this; + } + + public Criteria andPlatenumberGreaterThan(String value) { + addCriterion("PlateNumber >", value, "platenumber"); + return (Criteria) this; + } + + public Criteria andPlatenumberGreaterThanOrEqualTo(String value) { + addCriterion("PlateNumber >=", value, "platenumber"); + return (Criteria) this; + } + + public Criteria andPlatenumberLessThan(String value) { + addCriterion("PlateNumber <", value, "platenumber"); + return (Criteria) this; + } + + public Criteria andPlatenumberLessThanOrEqualTo(String value) { + addCriterion("PlateNumber <=", value, "platenumber"); + return (Criteria) this; + } + + public Criteria andPlatenumberLike(String value) { + addCriterion("PlateNumber like", value, "platenumber"); + return (Criteria) this; + } + + public Criteria andPlatenumberNotLike(String value) { + addCriterion("PlateNumber not like", value, "platenumber"); + return (Criteria) this; + } + + public Criteria andPlatenumberIn(List values) { + addCriterion("PlateNumber in", values, "platenumber"); + return (Criteria) this; + } + + public Criteria andPlatenumberNotIn(List values) { + addCriterion("PlateNumber not in", values, "platenumber"); + return (Criteria) this; + } + + public Criteria andPlatenumberBetween(String value1, String value2) { + addCriterion("PlateNumber between", value1, value2, "platenumber"); + return (Criteria) this; + } + + public Criteria andPlatenumberNotBetween(String value1, String value2) { + addCriterion("PlateNumber not between", value1, value2, "platenumber"); + return (Criteria) this; + } + + public Criteria andVinIsNull() { + addCriterion("VIN is null"); + return (Criteria) this; + } + + public Criteria andVinIsNotNull() { + addCriterion("VIN is not null"); + return (Criteria) this; + } + + public Criteria andVinEqualTo(String value) { + addCriterion("VIN =", value, "vin"); + return (Criteria) this; + } + + public Criteria andVinNotEqualTo(String value) { + addCriterion("VIN <>", value, "vin"); + return (Criteria) this; + } + + public Criteria andVinGreaterThan(String value) { + addCriterion("VIN >", value, "vin"); + return (Criteria) this; + } + + public Criteria andVinGreaterThanOrEqualTo(String value) { + addCriterion("VIN >=", value, "vin"); + return (Criteria) this; + } + + public Criteria andVinLessThan(String value) { + addCriterion("VIN <", value, "vin"); + return (Criteria) this; + } + + public Criteria andVinLessThanOrEqualTo(String value) { + addCriterion("VIN <=", value, "vin"); + return (Criteria) this; + } + + public Criteria andVinLike(String value) { + addCriterion("VIN like", value, "vin"); + return (Criteria) this; + } + + public Criteria andVinNotLike(String value) { + addCriterion("VIN not like", value, "vin"); + return (Criteria) this; + } + + public Criteria andVinIn(List values) { + addCriterion("VIN in", values, "vin"); + return (Criteria) this; + } + + public Criteria andVinNotIn(List values) { + addCriterion("VIN not in", values, "vin"); + return (Criteria) this; + } + + public Criteria andVinBetween(String value1, String value2) { + addCriterion("VIN between", value1, value2, "vin"); + return (Criteria) this; + } + + public Criteria andVinNotBetween(String value1, String value2) { + addCriterion("VIN not between", value1, value2, "vin"); + return (Criteria) this; + } + + public Criteria andRegistertimeIsNull() { + addCriterion("RegisterTime is null"); + return (Criteria) this; + } + + public Criteria andRegistertimeIsNotNull() { + addCriterion("RegisterTime is not null"); + return (Criteria) this; + } + + public Criteria andRegistertimeEqualTo(String value) { + addCriterion("RegisterTime =", value, "registertime"); + return (Criteria) this; + } + + public Criteria andRegistertimeNotEqualTo(String value) { + addCriterion("RegisterTime <>", value, "registertime"); + return (Criteria) this; + } + + public Criteria andRegistertimeGreaterThan(String value) { + addCriterion("RegisterTime >", value, "registertime"); + return (Criteria) this; + } + + public Criteria andRegistertimeGreaterThanOrEqualTo(String value) { + addCriterion("RegisterTime >=", value, "registertime"); + return (Criteria) this; + } + + public Criteria andRegistertimeLessThan(String value) { + addCriterion("RegisterTime <", value, "registertime"); + return (Criteria) this; + } + + public Criteria andRegistertimeLessThanOrEqualTo(String value) { + addCriterion("RegisterTime <=", value, "registertime"); + return (Criteria) this; + } + + public Criteria andRegistertimeLike(String value) { + addCriterion("RegisterTime like", value, "registertime"); + return (Criteria) this; + } + + public Criteria andRegistertimeNotLike(String value) { + addCriterion("RegisterTime not like", value, "registertime"); + return (Criteria) this; + } + + public Criteria andRegistertimeIn(List values) { + addCriterion("RegisterTime in", values, "registertime"); + return (Criteria) this; + } + + public Criteria andRegistertimeNotIn(List values) { + addCriterion("RegisterTime not in", values, "registertime"); + return (Criteria) this; + } + + public Criteria andRegistertimeBetween(String value1, String value2) { + addCriterion("RegisterTime between", value1, value2, "registertime"); + return (Criteria) this; + } + + public Criteria andRegistertimeNotBetween(String value1, String value2) { + addCriterion("RegisterTime not between", value1, value2, "registertime"); + return (Criteria) this; + } + + public Criteria andKilometersIsNull() { + addCriterion("Kilometers is null"); + return (Criteria) this; + } + + public Criteria andKilometersIsNotNull() { + addCriterion("Kilometers is not null"); + return (Criteria) this; + } + + public Criteria andKilometersEqualTo(Float value) { + addCriterion("Kilometers =", value, "kilometers"); + return (Criteria) this; + } + + public Criteria andKilometersNotEqualTo(Float value) { + addCriterion("Kilometers <>", value, "kilometers"); + return (Criteria) this; + } + + public Criteria andKilometersGreaterThan(Float value) { + addCriterion("Kilometers >", value, "kilometers"); + return (Criteria) this; + } + + public Criteria andKilometersGreaterThanOrEqualTo(Float value) { + addCriterion("Kilometers >=", value, "kilometers"); + return (Criteria) this; + } + + public Criteria andKilometersLessThan(Float value) { + addCriterion("Kilometers <", value, "kilometers"); + return (Criteria) this; + } + + public Criteria andKilometersLessThanOrEqualTo(Float value) { + addCriterion("Kilometers <=", value, "kilometers"); + return (Criteria) this; + } + + public Criteria andKilometersIn(List values) { + addCriterion("Kilometers in", values, "kilometers"); + return (Criteria) this; + } + + public Criteria andKilometersNotIn(List values) { + addCriterion("Kilometers not in", values, "kilometers"); + return (Criteria) this; + } + + public Criteria andKilometersBetween(Float value1, Float value2) { + addCriterion("Kilometers between", value1, value2, "kilometers"); + return (Criteria) this; + } + + public Criteria andKilometersNotBetween(Float value1, Float value2) { + addCriterion("Kilometers not between", value1, value2, "kilometers"); + return (Criteria) this; + } + + public Criteria andDrivinglicensesrcIsNull() { + addCriterion("DrivingLicenseSrc is null"); + return (Criteria) this; + } + + public Criteria andDrivinglicensesrcIsNotNull() { + addCriterion("DrivingLicenseSrc is not null"); + return (Criteria) this; + } + + public Criteria andDrivinglicensesrcEqualTo(String value) { + addCriterion("DrivingLicenseSrc =", value, "drivinglicensesrc"); + return (Criteria) this; + } + + public Criteria andDrivinglicensesrcNotEqualTo(String value) { + addCriterion("DrivingLicenseSrc <>", value, "drivinglicensesrc"); + return (Criteria) this; + } + + public Criteria andDrivinglicensesrcGreaterThan(String value) { + addCriterion("DrivingLicenseSrc >", value, "drivinglicensesrc"); + return (Criteria) this; + } + + public Criteria andDrivinglicensesrcGreaterThanOrEqualTo(String value) { + addCriterion("DrivingLicenseSrc >=", value, "drivinglicensesrc"); + return (Criteria) this; + } + + public Criteria andDrivinglicensesrcLessThan(String value) { + addCriterion("DrivingLicenseSrc <", value, "drivinglicensesrc"); + return (Criteria) this; + } + + public Criteria andDrivinglicensesrcLessThanOrEqualTo(String value) { + addCriterion("DrivingLicenseSrc <=", value, "drivinglicensesrc"); + return (Criteria) this; + } + + public Criteria andDrivinglicensesrcLike(String value) { + addCriterion("DrivingLicenseSrc like", value, "drivinglicensesrc"); + return (Criteria) this; + } + + public Criteria andDrivinglicensesrcNotLike(String value) { + addCriterion("DrivingLicenseSrc not like", value, "drivinglicensesrc"); + return (Criteria) this; + } + + public Criteria andDrivinglicensesrcIn(List values) { + addCriterion("DrivingLicenseSrc in", values, "drivinglicensesrc"); + return (Criteria) this; + } + + public Criteria andDrivinglicensesrcNotIn(List values) { + addCriterion("DrivingLicenseSrc not in", values, "drivinglicensesrc"); + return (Criteria) this; + } + + public Criteria andDrivinglicensesrcBetween(String value1, String value2) { + addCriterion("DrivingLicenseSrc between", value1, value2, "drivinglicensesrc"); + return (Criteria) this; + } + + public Criteria andDrivinglicensesrcNotBetween(String value1, String value2) { + addCriterion("DrivingLicenseSrc not between", value1, value2, "drivinglicensesrc"); + return (Criteria) this; + } + + public Criteria andVehiclesrcIsNull() { + addCriterion("VehicleSrc is null"); + return (Criteria) this; + } + + public Criteria andVehiclesrcIsNotNull() { + addCriterion("VehicleSrc is not null"); + return (Criteria) this; + } + + public Criteria andVehiclesrcEqualTo(String value) { + addCriterion("VehicleSrc =", value, "vehiclesrc"); + return (Criteria) this; + } + + public Criteria andVehiclesrcNotEqualTo(String value) { + addCriterion("VehicleSrc <>", value, "vehiclesrc"); + return (Criteria) this; + } + + public Criteria andVehiclesrcGreaterThan(String value) { + addCriterion("VehicleSrc >", value, "vehiclesrc"); + return (Criteria) this; + } + + public Criteria andVehiclesrcGreaterThanOrEqualTo(String value) { + addCriterion("VehicleSrc >=", value, "vehiclesrc"); + return (Criteria) this; + } + + public Criteria andVehiclesrcLessThan(String value) { + addCriterion("VehicleSrc <", value, "vehiclesrc"); + return (Criteria) this; + } + + public Criteria andVehiclesrcLessThanOrEqualTo(String value) { + addCriterion("VehicleSrc <=", value, "vehiclesrc"); + return (Criteria) this; + } + + public Criteria andVehiclesrcLike(String value) { + addCriterion("VehicleSrc like", value, "vehiclesrc"); + return (Criteria) this; + } + + public Criteria andVehiclesrcNotLike(String value) { + addCriterion("VehicleSrc not like", value, "vehiclesrc"); + return (Criteria) this; + } + + public Criteria andVehiclesrcIn(List values) { + addCriterion("VehicleSrc in", values, "vehiclesrc"); + return (Criteria) this; + } + + public Criteria andVehiclesrcNotIn(List values) { + addCriterion("VehicleSrc not in", values, "vehiclesrc"); + return (Criteria) this; + } + + public Criteria andVehiclesrcBetween(String value1, String value2) { + addCriterion("VehicleSrc between", value1, value2, "vehiclesrc"); + return (Criteria) this; + } + + public Criteria andVehiclesrcNotBetween(String value1, String value2) { + addCriterion("VehicleSrc not between", value1, value2, "vehiclesrc"); + return (Criteria) this; + } + + public Criteria andVehicletypeIsNull() { + addCriterion("VehicleType is null"); + return (Criteria) this; + } + + public Criteria andVehicletypeIsNotNull() { + addCriterion("VehicleType is not null"); + return (Criteria) this; + } + + public Criteria andVehicletypeEqualTo(String value) { + addCriterion("VehicleType =", value, "vehicletype"); + return (Criteria) this; + } + + public Criteria andVehicletypeNotEqualTo(String value) { + addCriterion("VehicleType <>", value, "vehicletype"); + return (Criteria) this; + } + + public Criteria andVehicletypeGreaterThan(String value) { + addCriterion("VehicleType >", value, "vehicletype"); + return (Criteria) this; + } + + public Criteria andVehicletypeGreaterThanOrEqualTo(String value) { + addCriterion("VehicleType >=", value, "vehicletype"); + return (Criteria) this; + } + + public Criteria andVehicletypeLessThan(String value) { + addCriterion("VehicleType <", value, "vehicletype"); + return (Criteria) this; + } + + public Criteria andVehicletypeLessThanOrEqualTo(String value) { + addCriterion("VehicleType <=", value, "vehicletype"); + return (Criteria) this; + } + + public Criteria andVehicletypeLike(String value) { + addCriterion("VehicleType like", value, "vehicletype"); + return (Criteria) this; + } + + public Criteria andVehicletypeNotLike(String value) { + addCriterion("VehicleType not like", value, "vehicletype"); + return (Criteria) this; + } + + public Criteria andVehicletypeIn(List values) { + addCriterion("VehicleType in", values, "vehicletype"); + return (Criteria) this; + } + + public Criteria andVehicletypeNotIn(List values) { + addCriterion("VehicleType not in", values, "vehicletype"); + return (Criteria) this; + } + + public Criteria andVehicletypeBetween(String value1, String value2) { + addCriterion("VehicleType between", value1, value2, "vehicletype"); + return (Criteria) this; + } + + public Criteria andVehicletypeNotBetween(String value1, String value2) { + addCriterion("VehicleType not between", value1, value2, "vehicletype"); + return (Criteria) this; + } + + public Criteria andLinknameIsNull() { + addCriterion("LinkName is null"); + return (Criteria) this; + } + + public Criteria andLinknameIsNotNull() { + addCriterion("LinkName is not null"); + return (Criteria) this; + } + + public Criteria andLinknameEqualTo(String value) { + addCriterion("LinkName =", value, "linkname"); + return (Criteria) this; + } + + public Criteria andLinknameNotEqualTo(String value) { + addCriterion("LinkName <>", value, "linkname"); + return (Criteria) this; + } + + public Criteria andLinknameGreaterThan(String value) { + addCriterion("LinkName >", value, "linkname"); + return (Criteria) this; + } + + public Criteria andLinknameGreaterThanOrEqualTo(String value) { + addCriterion("LinkName >=", value, "linkname"); + return (Criteria) this; + } + + public Criteria andLinknameLessThan(String value) { + addCriterion("LinkName <", value, "linkname"); + return (Criteria) this; + } + + public Criteria andLinknameLessThanOrEqualTo(String value) { + addCriterion("LinkName <=", value, "linkname"); + return (Criteria) this; + } + + public Criteria andLinknameLike(String value) { + addCriterion("LinkName like", value, "linkname"); + return (Criteria) this; + } + + public Criteria andLinknameNotLike(String value) { + addCriterion("LinkName not like", value, "linkname"); + return (Criteria) this; + } + + public Criteria andLinknameIn(List values) { + addCriterion("LinkName in", values, "linkname"); + return (Criteria) this; + } + + public Criteria andLinknameNotIn(List values) { + addCriterion("LinkName not in", values, "linkname"); + return (Criteria) this; + } + + public Criteria andLinknameBetween(String value1, String value2) { + addCriterion("LinkName between", value1, value2, "linkname"); + return (Criteria) this; + } + + public Criteria andLinknameNotBetween(String value1, String value2) { + addCriterion("LinkName not between", value1, value2, "linkname"); + return (Criteria) this; + } + + public Criteria andLinktelIsNull() { + addCriterion("LinkTel is null"); + return (Criteria) this; + } + + public Criteria andLinktelIsNotNull() { + addCriterion("LinkTel is not null"); + return (Criteria) this; + } + + public Criteria andLinktelEqualTo(String value) { + addCriterion("LinkTel =", value, "linktel"); + return (Criteria) this; + } + + public Criteria andLinktelNotEqualTo(String value) { + addCriterion("LinkTel <>", value, "linktel"); + return (Criteria) this; + } + + public Criteria andLinktelGreaterThan(String value) { + addCriterion("LinkTel >", value, "linktel"); + return (Criteria) this; + } + + public Criteria andLinktelGreaterThanOrEqualTo(String value) { + addCriterion("LinkTel >=", value, "linktel"); + return (Criteria) this; + } + + public Criteria andLinktelLessThan(String value) { + addCriterion("LinkTel <", value, "linktel"); + return (Criteria) this; + } + + public Criteria andLinktelLessThanOrEqualTo(String value) { + addCriterion("LinkTel <=", value, "linktel"); + return (Criteria) this; + } + + public Criteria andLinktelLike(String value) { + addCriterion("LinkTel like", value, "linktel"); + return (Criteria) this; + } + + public Criteria andLinktelNotLike(String value) { + addCriterion("LinkTel not like", value, "linktel"); + return (Criteria) this; + } + + public Criteria andLinktelIn(List values) { + addCriterion("LinkTel in", values, "linktel"); + return (Criteria) this; + } + + public Criteria andLinktelNotIn(List values) { + addCriterion("LinkTel not in", values, "linktel"); + return (Criteria) this; + } + + public Criteria andLinktelBetween(String value1, String value2) { + addCriterion("LinkTel between", value1, value2, "linktel"); + return (Criteria) this; + } + + public Criteria andLinktelNotBetween(String value1, String value2) { + addCriterion("LinkTel not between", value1, value2, "linktel"); + return (Criteria) this; + } + + public Criteria andGaugingschemeidIsNull() { + addCriterion("GaugingSchemeID is null"); + return (Criteria) this; + } + + public Criteria andGaugingschemeidIsNotNull() { + addCriterion("GaugingSchemeID is not null"); + return (Criteria) this; + } + + public Criteria andGaugingschemeidEqualTo(Integer value) { + addCriterion("GaugingSchemeID =", value, "gaugingschemeid"); + return (Criteria) this; + } + + public Criteria andGaugingschemeidNotEqualTo(Integer value) { + addCriterion("GaugingSchemeID <>", value, "gaugingschemeid"); + return (Criteria) this; + } + + public Criteria andGaugingschemeidGreaterThan(Integer value) { + addCriterion("GaugingSchemeID >", value, "gaugingschemeid"); + return (Criteria) this; + } + + public Criteria andGaugingschemeidGreaterThanOrEqualTo(Integer value) { + addCriterion("GaugingSchemeID >=", value, "gaugingschemeid"); + return (Criteria) this; + } + + public Criteria andGaugingschemeidLessThan(Integer value) { + addCriterion("GaugingSchemeID <", value, "gaugingschemeid"); + return (Criteria) this; + } + + public Criteria andGaugingschemeidLessThanOrEqualTo(Integer value) { + addCriterion("GaugingSchemeID <=", value, "gaugingschemeid"); + return (Criteria) this; + } + + public Criteria andGaugingschemeidIn(List values) { + addCriterion("GaugingSchemeID in", values, "gaugingschemeid"); + return (Criteria) this; + } + + public Criteria andGaugingschemeidNotIn(List values) { + addCriterion("GaugingSchemeID not in", values, "gaugingschemeid"); + return (Criteria) this; + } + + public Criteria andGaugingschemeidBetween(Integer value1, Integer value2) { + addCriterion("GaugingSchemeID between", value1, value2, "gaugingschemeid"); + return (Criteria) this; + } + + public Criteria andGaugingschemeidNotBetween(Integer value1, Integer value2) { + addCriterion("GaugingSchemeID not between", value1, value2, "gaugingschemeid"); + return (Criteria) this; + } + + public Criteria andGaugingschemenameIsNull() { + addCriterion("GaugingSchemeName is null"); + return (Criteria) this; + } + + public Criteria andGaugingschemenameIsNotNull() { + addCriterion("GaugingSchemeName is not null"); + return (Criteria) this; + } + + public Criteria andGaugingschemenameEqualTo(String value) { + addCriterion("GaugingSchemeName =", value, "gaugingschemename"); + return (Criteria) this; + } + + public Criteria andGaugingschemenameNotEqualTo(String value) { + addCriterion("GaugingSchemeName <>", value, "gaugingschemename"); + return (Criteria) this; + } + + public Criteria andGaugingschemenameGreaterThan(String value) { + addCriterion("GaugingSchemeName >", value, "gaugingschemename"); + return (Criteria) this; + } + + public Criteria andGaugingschemenameGreaterThanOrEqualTo(String value) { + addCriterion("GaugingSchemeName >=", value, "gaugingschemename"); + return (Criteria) this; + } + + public Criteria andGaugingschemenameLessThan(String value) { + addCriterion("GaugingSchemeName <", value, "gaugingschemename"); + return (Criteria) this; + } + + public Criteria andGaugingschemenameLessThanOrEqualTo(String value) { + addCriterion("GaugingSchemeName <=", value, "gaugingschemename"); + return (Criteria) this; + } + + public Criteria andGaugingschemenameLike(String value) { + addCriterion("GaugingSchemeName like", value, "gaugingschemename"); + return (Criteria) this; + } + + public Criteria andGaugingschemenameNotLike(String value) { + addCriterion("GaugingSchemeName not like", value, "gaugingschemename"); + return (Criteria) this; + } + + public Criteria andGaugingschemenameIn(List values) { + addCriterion("GaugingSchemeName in", values, "gaugingschemename"); + return (Criteria) this; + } + + public Criteria andGaugingschemenameNotIn(List values) { + addCriterion("GaugingSchemeName not in", values, "gaugingschemename"); + return (Criteria) this; + } + + public Criteria andGaugingschemenameBetween(String value1, String value2) { + addCriterion("GaugingSchemeName between", value1, value2, "gaugingschemename"); + return (Criteria) this; + } + + public Criteria andGaugingschemenameNotBetween(String value1, String value2) { + addCriterion("GaugingSchemeName not between", value1, value2, "gaugingschemename"); + return (Criteria) this; + } + + public Criteria andMaintenanceschemeidIsNull() { + addCriterion("MaintenanceSchemeID is null"); + return (Criteria) this; + } + + public Criteria andMaintenanceschemeidIsNotNull() { + addCriterion("MaintenanceSchemeID is not null"); + return (Criteria) this; + } + + public Criteria andMaintenanceschemeidEqualTo(Integer value) { + addCriterion("MaintenanceSchemeID =", value, "maintenanceschemeid"); + return (Criteria) this; + } + + public Criteria andMaintenanceschemeidNotEqualTo(Integer value) { + addCriterion("MaintenanceSchemeID <>", value, "maintenanceschemeid"); + return (Criteria) this; + } + + public Criteria andMaintenanceschemeidGreaterThan(Integer value) { + addCriterion("MaintenanceSchemeID >", value, "maintenanceschemeid"); + return (Criteria) this; + } + + public Criteria andMaintenanceschemeidGreaterThanOrEqualTo(Integer value) { + addCriterion("MaintenanceSchemeID >=", value, "maintenanceschemeid"); + return (Criteria) this; + } + + public Criteria andMaintenanceschemeidLessThan(Integer value) { + addCriterion("MaintenanceSchemeID <", value, "maintenanceschemeid"); + return (Criteria) this; + } + + public Criteria andMaintenanceschemeidLessThanOrEqualTo(Integer value) { + addCriterion("MaintenanceSchemeID <=", value, "maintenanceschemeid"); + return (Criteria) this; + } + + public Criteria andMaintenanceschemeidIn(List values) { + addCriterion("MaintenanceSchemeID in", values, "maintenanceschemeid"); + return (Criteria) this; + } + + public Criteria andMaintenanceschemeidNotIn(List values) { + addCriterion("MaintenanceSchemeID not in", values, "maintenanceschemeid"); + return (Criteria) this; + } + + public Criteria andMaintenanceschemeidBetween(Integer value1, Integer value2) { + addCriterion("MaintenanceSchemeID between", value1, value2, "maintenanceschemeid"); + return (Criteria) this; + } + + public Criteria andMaintenanceschemeidNotBetween(Integer value1, Integer value2) { + addCriterion("MaintenanceSchemeID not between", value1, value2, "maintenanceschemeid"); + return (Criteria) this; + } + + public Criteria andMaintenanceschemenameIsNull() { + addCriterion("MaintenanceSchemeName is null"); + return (Criteria) this; + } + + public Criteria andMaintenanceschemenameIsNotNull() { + addCriterion("MaintenanceSchemeName is not null"); + return (Criteria) this; + } + + public Criteria andMaintenanceschemenameEqualTo(String value) { + addCriterion("MaintenanceSchemeName =", value, "maintenanceschemename"); + return (Criteria) this; + } + + public Criteria andMaintenanceschemenameNotEqualTo(String value) { + addCriterion("MaintenanceSchemeName <>", value, "maintenanceschemename"); + return (Criteria) this; + } + + public Criteria andMaintenanceschemenameGreaterThan(String value) { + addCriterion("MaintenanceSchemeName >", value, "maintenanceschemename"); + return (Criteria) this; + } + + public Criteria andMaintenanceschemenameGreaterThanOrEqualTo(String value) { + addCriterion("MaintenanceSchemeName >=", value, "maintenanceschemename"); + return (Criteria) this; + } + + public Criteria andMaintenanceschemenameLessThan(String value) { + addCriterion("MaintenanceSchemeName <", value, "maintenanceschemename"); + return (Criteria) this; + } + + public Criteria andMaintenanceschemenameLessThanOrEqualTo(String value) { + addCriterion("MaintenanceSchemeName <=", value, "maintenanceschemename"); + return (Criteria) this; + } + + public Criteria andMaintenanceschemenameLike(String value) { + addCriterion("MaintenanceSchemeName like", value, "maintenanceschemename"); + return (Criteria) this; + } + + public Criteria andMaintenanceschemenameNotLike(String value) { + addCriterion("MaintenanceSchemeName not like", value, "maintenanceschemename"); + return (Criteria) this; + } + + public Criteria andMaintenanceschemenameIn(List values) { + addCriterion("MaintenanceSchemeName in", values, "maintenanceschemename"); + return (Criteria) this; + } + + public Criteria andMaintenanceschemenameNotIn(List values) { + addCriterion("MaintenanceSchemeName not in", values, "maintenanceschemename"); + return (Criteria) this; + } + + public Criteria andMaintenanceschemenameBetween(String value1, String value2) { + addCriterion("MaintenanceSchemeName between", value1, value2, "maintenanceschemename"); + return (Criteria) this; + } + + public Criteria andMaintenanceschemenameNotBetween(String value1, String value2) { + addCriterion("MaintenanceSchemeName not between", value1, value2, "maintenanceschemename"); + return (Criteria) this; + } + + public Criteria andBrandidIsNull() { + addCriterion("BrandId is null"); + return (Criteria) this; + } + + public Criteria andBrandidIsNotNull() { + addCriterion("BrandId is not null"); + return (Criteria) this; + } + + public Criteria andBrandidEqualTo(Integer value) { + addCriterion("BrandId =", value, "brandid"); + return (Criteria) this; + } + + public Criteria andBrandidNotEqualTo(Integer value) { + addCriterion("BrandId <>", value, "brandid"); + return (Criteria) this; + } + + public Criteria andBrandidGreaterThan(Integer value) { + addCriterion("BrandId >", value, "brandid"); + return (Criteria) this; + } + + public Criteria andBrandidGreaterThanOrEqualTo(Integer value) { + addCriterion("BrandId >=", value, "brandid"); + return (Criteria) this; + } + + public Criteria andBrandidLessThan(Integer value) { + addCriterion("BrandId <", value, "brandid"); + return (Criteria) this; + } + + public Criteria andBrandidLessThanOrEqualTo(Integer value) { + addCriterion("BrandId <=", value, "brandid"); + return (Criteria) this; + } + + public Criteria andBrandidIn(List values) { + addCriterion("BrandId in", values, "brandid"); + return (Criteria) this; + } + + public Criteria andBrandidNotIn(List values) { + addCriterion("BrandId not in", values, "brandid"); + return (Criteria) this; + } + + public Criteria andBrandidBetween(Integer value1, Integer value2) { + addCriterion("BrandId between", value1, value2, "brandid"); + return (Criteria) this; + } + + public Criteria andBrandidNotBetween(Integer value1, Integer value2) { + addCriterion("BrandId not between", value1, value2, "brandid"); + return (Criteria) this; + } + + public Criteria andBrandnameIsNull() { + addCriterion("BrandName is null"); + return (Criteria) this; + } + + public Criteria andBrandnameIsNotNull() { + addCriterion("BrandName is not null"); + return (Criteria) this; + } + + public Criteria andBrandnameEqualTo(String value) { + addCriterion("BrandName =", value, "brandname"); + return (Criteria) this; + } + + public Criteria andBrandnameNotEqualTo(String value) { + addCriterion("BrandName <>", value, "brandname"); + return (Criteria) this; + } + + public Criteria andBrandnameGreaterThan(String value) { + addCriterion("BrandName >", value, "brandname"); + return (Criteria) this; + } + + public Criteria andBrandnameGreaterThanOrEqualTo(String value) { + addCriterion("BrandName >=", value, "brandname"); + return (Criteria) this; + } + + public Criteria andBrandnameLessThan(String value) { + addCriterion("BrandName <", value, "brandname"); + return (Criteria) this; + } + + public Criteria andBrandnameLessThanOrEqualTo(String value) { + addCriterion("BrandName <=", value, "brandname"); + return (Criteria) this; + } + + public Criteria andBrandnameLike(String value) { + addCriterion("BrandName like", value, "brandname"); + return (Criteria) this; + } + + public Criteria andBrandnameNotLike(String value) { + addCriterion("BrandName not like", value, "brandname"); + return (Criteria) this; + } + + public Criteria andBrandnameIn(List values) { + addCriterion("BrandName in", values, "brandname"); + return (Criteria) this; + } + + public Criteria andBrandnameNotIn(List values) { + addCriterion("BrandName not in", values, "brandname"); + return (Criteria) this; + } + + public Criteria andBrandnameBetween(String value1, String value2) { + addCriterion("BrandName between", value1, value2, "brandname"); + return (Criteria) this; + } + + public Criteria andBrandnameNotBetween(String value1, String value2) { + addCriterion("BrandName not between", value1, value2, "brandname"); + return (Criteria) this; + } + + public Criteria andSeriesidIsNull() { + addCriterion("SeriesId is null"); + return (Criteria) this; + } + + public Criteria andSeriesidIsNotNull() { + addCriterion("SeriesId is not null"); + return (Criteria) this; + } + + public Criteria andSeriesidEqualTo(Integer value) { + addCriterion("SeriesId =", value, "seriesid"); + return (Criteria) this; + } + + public Criteria andSeriesidNotEqualTo(Integer value) { + addCriterion("SeriesId <>", value, "seriesid"); + return (Criteria) this; + } + + public Criteria andSeriesidGreaterThan(Integer value) { + addCriterion("SeriesId >", value, "seriesid"); + return (Criteria) this; + } + + public Criteria andSeriesidGreaterThanOrEqualTo(Integer value) { + addCriterion("SeriesId >=", value, "seriesid"); + return (Criteria) this; + } + + public Criteria andSeriesidLessThan(Integer value) { + addCriterion("SeriesId <", value, "seriesid"); + return (Criteria) this; + } + + public Criteria andSeriesidLessThanOrEqualTo(Integer value) { + addCriterion("SeriesId <=", value, "seriesid"); + return (Criteria) this; + } + + public Criteria andSeriesidIn(List values) { + addCriterion("SeriesId in", values, "seriesid"); + return (Criteria) this; + } + + public Criteria andSeriesidNotIn(List values) { + addCriterion("SeriesId not in", values, "seriesid"); + return (Criteria) this; + } + + public Criteria andSeriesidBetween(Integer value1, Integer value2) { + addCriterion("SeriesId between", value1, value2, "seriesid"); + return (Criteria) this; + } + + public Criteria andSeriesidNotBetween(Integer value1, Integer value2) { + addCriterion("SeriesId not between", value1, value2, "seriesid"); + return (Criteria) this; + } + + public Criteria andSeriesnameIsNull() { + addCriterion("SeriesName is null"); + return (Criteria) this; + } + + public Criteria andSeriesnameIsNotNull() { + addCriterion("SeriesName is not null"); + return (Criteria) this; + } + + public Criteria andSeriesnameEqualTo(String value) { + addCriterion("SeriesName =", value, "seriesname"); + return (Criteria) this; + } + + public Criteria andSeriesnameNotEqualTo(String value) { + addCriterion("SeriesName <>", value, "seriesname"); + return (Criteria) this; + } + + public Criteria andSeriesnameGreaterThan(String value) { + addCriterion("SeriesName >", value, "seriesname"); + return (Criteria) this; + } + + public Criteria andSeriesnameGreaterThanOrEqualTo(String value) { + addCriterion("SeriesName >=", value, "seriesname"); + return (Criteria) this; + } + + public Criteria andSeriesnameLessThan(String value) { + addCriterion("SeriesName <", value, "seriesname"); + return (Criteria) this; + } + + public Criteria andSeriesnameLessThanOrEqualTo(String value) { + addCriterion("SeriesName <=", value, "seriesname"); + return (Criteria) this; + } + + public Criteria andSeriesnameLike(String value) { + addCriterion("SeriesName like", value, "seriesname"); + return (Criteria) this; + } + + public Criteria andSeriesnameNotLike(String value) { + addCriterion("SeriesName not like", value, "seriesname"); + return (Criteria) this; + } + + public Criteria andSeriesnameIn(List values) { + addCriterion("SeriesName in", values, "seriesname"); + return (Criteria) this; + } + + public Criteria andSeriesnameNotIn(List values) { + addCriterion("SeriesName not in", values, "seriesname"); + return (Criteria) this; + } + + public Criteria andSeriesnameBetween(String value1, String value2) { + addCriterion("SeriesName between", value1, value2, "seriesname"); + return (Criteria) this; + } + + public Criteria andSeriesnameNotBetween(String value1, String value2) { + addCriterion("SeriesName not between", value1, value2, "seriesname"); + return (Criteria) this; + } + + public Criteria andProductionyearIsNull() { + addCriterion("ProductionYear is null"); + return (Criteria) this; + } + + public Criteria andProductionyearIsNotNull() { + addCriterion("ProductionYear is not null"); + return (Criteria) this; + } + + public Criteria andProductionyearEqualTo(String value) { + addCriterion("ProductionYear =", value, "productionyear"); + return (Criteria) this; + } + + public Criteria andProductionyearNotEqualTo(String value) { + addCriterion("ProductionYear <>", value, "productionyear"); + return (Criteria) this; + } + + public Criteria andProductionyearGreaterThan(String value) { + addCriterion("ProductionYear >", value, "productionyear"); + return (Criteria) this; + } + + public Criteria andProductionyearGreaterThanOrEqualTo(String value) { + addCriterion("ProductionYear >=", value, "productionyear"); + return (Criteria) this; + } + + public Criteria andProductionyearLessThan(String value) { + addCriterion("ProductionYear <", value, "productionyear"); + return (Criteria) this; + } + + public Criteria andProductionyearLessThanOrEqualTo(String value) { + addCriterion("ProductionYear <=", value, "productionyear"); + return (Criteria) this; + } + + public Criteria andProductionyearLike(String value) { + addCriterion("ProductionYear like", value, "productionyear"); + return (Criteria) this; + } + + public Criteria andProductionyearNotLike(String value) { + addCriterion("ProductionYear not like", value, "productionyear"); + return (Criteria) this; + } + + public Criteria andProductionyearIn(List values) { + addCriterion("ProductionYear in", values, "productionyear"); + return (Criteria) this; + } + + public Criteria andProductionyearNotIn(List values) { + addCriterion("ProductionYear not in", values, "productionyear"); + return (Criteria) this; + } + + public Criteria andProductionyearBetween(String value1, String value2) { + addCriterion("ProductionYear between", value1, value2, "productionyear"); + return (Criteria) this; + } + + public Criteria andProductionyearNotBetween(String value1, String value2) { + addCriterion("ProductionYear not between", value1, value2, "productionyear"); + return (Criteria) this; + } + + public Criteria andEnginestructureIsNull() { + addCriterion("EngineStructure is null"); + return (Criteria) this; + } + + public Criteria andEnginestructureIsNotNull() { + addCriterion("EngineStructure is not null"); + return (Criteria) this; + } + + public Criteria andEnginestructureEqualTo(String value) { + addCriterion("EngineStructure =", value, "enginestructure"); + return (Criteria) this; + } + + public Criteria andEnginestructureNotEqualTo(String value) { + addCriterion("EngineStructure <>", value, "enginestructure"); + return (Criteria) this; + } + + public Criteria andEnginestructureGreaterThan(String value) { + addCriterion("EngineStructure >", value, "enginestructure"); + return (Criteria) this; + } + + public Criteria andEnginestructureGreaterThanOrEqualTo(String value) { + addCriterion("EngineStructure >=", value, "enginestructure"); + return (Criteria) this; + } + + public Criteria andEnginestructureLessThan(String value) { + addCriterion("EngineStructure <", value, "enginestructure"); + return (Criteria) this; + } + + public Criteria andEnginestructureLessThanOrEqualTo(String value) { + addCriterion("EngineStructure <=", value, "enginestructure"); + return (Criteria) this; + } + + public Criteria andEnginestructureLike(String value) { + addCriterion("EngineStructure like", value, "enginestructure"); + return (Criteria) this; + } + + public Criteria andEnginestructureNotLike(String value) { + addCriterion("EngineStructure not like", value, "enginestructure"); + return (Criteria) this; + } + + public Criteria andEnginestructureIn(List values) { + addCriterion("EngineStructure in", values, "enginestructure"); + return (Criteria) this; + } + + public Criteria andEnginestructureNotIn(List values) { + addCriterion("EngineStructure not in", values, "enginestructure"); + return (Criteria) this; + } + + public Criteria andEnginestructureBetween(String value1, String value2) { + addCriterion("EngineStructure between", value1, value2, "enginestructure"); + return (Criteria) this; + } + + public Criteria andEnginestructureNotBetween(String value1, String value2) { + addCriterion("EngineStructure not between", value1, value2, "enginestructure"); + return (Criteria) this; + } + + public Criteria andEnginestructurenumberIsNull() { + addCriterion("EngineStructureNumber is null"); + return (Criteria) this; + } + + public Criteria andEnginestructurenumberIsNotNull() { + addCriterion("EngineStructureNumber is not null"); + return (Criteria) this; + } + + public Criteria andEnginestructurenumberEqualTo(Integer value) { + addCriterion("EngineStructureNumber =", value, "enginestructurenumber"); + return (Criteria) this; + } + + public Criteria andEnginestructurenumberNotEqualTo(Integer value) { + addCriterion("EngineStructureNumber <>", value, "enginestructurenumber"); + return (Criteria) this; + } + + public Criteria andEnginestructurenumberGreaterThan(Integer value) { + addCriterion("EngineStructureNumber >", value, "enginestructurenumber"); + return (Criteria) this; + } + + public Criteria andEnginestructurenumberGreaterThanOrEqualTo(Integer value) { + addCriterion("EngineStructureNumber >=", value, "enginestructurenumber"); + return (Criteria) this; + } + + public Criteria andEnginestructurenumberLessThan(Integer value) { + addCriterion("EngineStructureNumber <", value, "enginestructurenumber"); + return (Criteria) this; + } + + public Criteria andEnginestructurenumberLessThanOrEqualTo(Integer value) { + addCriterion("EngineStructureNumber <=", value, "enginestructurenumber"); + return (Criteria) this; + } + + public Criteria andEnginestructurenumberIn(List values) { + addCriterion("EngineStructureNumber in", values, "enginestructurenumber"); + return (Criteria) this; + } + + public Criteria andEnginestructurenumberNotIn(List values) { + addCriterion("EngineStructureNumber not in", values, "enginestructurenumber"); + return (Criteria) this; + } + + public Criteria andEnginestructurenumberBetween(Integer value1, Integer value2) { + addCriterion("EngineStructureNumber between", value1, value2, "enginestructurenumber"); + return (Criteria) this; + } + + public Criteria andEnginestructurenumberNotBetween(Integer value1, Integer value2) { + addCriterion("EngineStructureNumber not between", value1, value2, "enginestructurenumber"); + return (Criteria) this; + } + + public Criteria andElectronicfueltypeIsNull() { + addCriterion("ElectronicFuelType is null"); + return (Criteria) this; + } + + public Criteria andElectronicfueltypeIsNotNull() { + addCriterion("ElectronicFuelType is not null"); + return (Criteria) this; + } + + public Criteria andElectronicfueltypeEqualTo(String value) { + addCriterion("ElectronicFuelType =", value, "electronicfueltype"); + return (Criteria) this; + } + + public Criteria andElectronicfueltypeNotEqualTo(String value) { + addCriterion("ElectronicFuelType <>", value, "electronicfueltype"); + return (Criteria) this; + } + + public Criteria andElectronicfueltypeGreaterThan(String value) { + addCriterion("ElectronicFuelType >", value, "electronicfueltype"); + return (Criteria) this; + } + + public Criteria andElectronicfueltypeGreaterThanOrEqualTo(String value) { + addCriterion("ElectronicFuelType >=", value, "electronicfueltype"); + return (Criteria) this; + } + + public Criteria andElectronicfueltypeLessThan(String value) { + addCriterion("ElectronicFuelType <", value, "electronicfueltype"); + return (Criteria) this; + } + + public Criteria andElectronicfueltypeLessThanOrEqualTo(String value) { + addCriterion("ElectronicFuelType <=", value, "electronicfueltype"); + return (Criteria) this; + } + + public Criteria andElectronicfueltypeLike(String value) { + addCriterion("ElectronicFuelType like", value, "electronicfueltype"); + return (Criteria) this; + } + + public Criteria andElectronicfueltypeNotLike(String value) { + addCriterion("ElectronicFuelType not like", value, "electronicfueltype"); + return (Criteria) this; + } + + public Criteria andElectronicfueltypeIn(List values) { + addCriterion("ElectronicFuelType in", values, "electronicfueltype"); + return (Criteria) this; + } + + public Criteria andElectronicfueltypeNotIn(List values) { + addCriterion("ElectronicFuelType not in", values, "electronicfueltype"); + return (Criteria) this; + } + + public Criteria andElectronicfueltypeBetween(String value1, String value2) { + addCriterion("ElectronicFuelType between", value1, value2, "electronicfueltype"); + return (Criteria) this; + } + + public Criteria andElectronicfueltypeNotBetween(String value1, String value2) { + addCriterion("ElectronicFuelType not between", value1, value2, "electronicfueltype"); + return (Criteria) this; + } + + public Criteria andTransmissioncaseIsNull() { + addCriterion("TransmissionCase is null"); + return (Criteria) this; + } + + public Criteria andTransmissioncaseIsNotNull() { + addCriterion("TransmissionCase is not null"); + return (Criteria) this; + } + + public Criteria andTransmissioncaseEqualTo(String value) { + addCriterion("TransmissionCase =", value, "transmissioncase"); + return (Criteria) this; + } + + public Criteria andTransmissioncaseNotEqualTo(String value) { + addCriterion("TransmissionCase <>", value, "transmissioncase"); + return (Criteria) this; + } + + public Criteria andTransmissioncaseGreaterThan(String value) { + addCriterion("TransmissionCase >", value, "transmissioncase"); + return (Criteria) this; + } + + public Criteria andTransmissioncaseGreaterThanOrEqualTo(String value) { + addCriterion("TransmissionCase >=", value, "transmissioncase"); + return (Criteria) this; + } + + public Criteria andTransmissioncaseLessThan(String value) { + addCriterion("TransmissionCase <", value, "transmissioncase"); + return (Criteria) this; + } + + public Criteria andTransmissioncaseLessThanOrEqualTo(String value) { + addCriterion("TransmissionCase <=", value, "transmissioncase"); + return (Criteria) this; + } + + public Criteria andTransmissioncaseLike(String value) { + addCriterion("TransmissionCase like", value, "transmissioncase"); + return (Criteria) this; + } + + public Criteria andTransmissioncaseNotLike(String value) { + addCriterion("TransmissionCase not like", value, "transmissioncase"); + return (Criteria) this; + } + + public Criteria andTransmissioncaseIn(List values) { + addCriterion("TransmissionCase in", values, "transmissioncase"); + return (Criteria) this; + } + + public Criteria andTransmissioncaseNotIn(List values) { + addCriterion("TransmissionCase not in", values, "transmissioncase"); + return (Criteria) this; + } + + public Criteria andTransmissioncaseBetween(String value1, String value2) { + addCriterion("TransmissionCase between", value1, value2, "transmissioncase"); + return (Criteria) this; + } + + public Criteria andTransmissioncaseNotBetween(String value1, String value2) { + addCriterion("TransmissionCase not between", value1, value2, "transmissioncase"); + return (Criteria) this; + } + + public Criteria andDrivetypeIsNull() { + addCriterion("DriveType is null"); + return (Criteria) this; + } + + public Criteria andDrivetypeIsNotNull() { + addCriterion("DriveType is not null"); + return (Criteria) this; + } + + public Criteria andDrivetypeEqualTo(String value) { + addCriterion("DriveType =", value, "drivetype"); + return (Criteria) this; + } + + public Criteria andDrivetypeNotEqualTo(String value) { + addCriterion("DriveType <>", value, "drivetype"); + return (Criteria) this; + } + + public Criteria andDrivetypeGreaterThan(String value) { + addCriterion("DriveType >", value, "drivetype"); + return (Criteria) this; + } + + public Criteria andDrivetypeGreaterThanOrEqualTo(String value) { + addCriterion("DriveType >=", value, "drivetype"); + return (Criteria) this; + } + + public Criteria andDrivetypeLessThan(String value) { + addCriterion("DriveType <", value, "drivetype"); + return (Criteria) this; + } + + public Criteria andDrivetypeLessThanOrEqualTo(String value) { + addCriterion("DriveType <=", value, "drivetype"); + return (Criteria) this; + } + + public Criteria andDrivetypeLike(String value) { + addCriterion("DriveType like", value, "drivetype"); + return (Criteria) this; + } + + public Criteria andDrivetypeNotLike(String value) { + addCriterion("DriveType not like", value, "drivetype"); + return (Criteria) this; + } + + public Criteria andDrivetypeIn(List values) { + addCriterion("DriveType in", values, "drivetype"); + return (Criteria) this; + } + + public Criteria andDrivetypeNotIn(List values) { + addCriterion("DriveType not in", values, "drivetype"); + return (Criteria) this; + } + + public Criteria andDrivetypeBetween(String value1, String value2) { + addCriterion("DriveType between", value1, value2, "drivetype"); + return (Criteria) this; + } + + public Criteria andDrivetypeNotBetween(String value1, String value2) { + addCriterion("DriveType not between", value1, value2, "drivetype"); + return (Criteria) this; + } + + public Criteria andEmissionstandardIsNull() { + addCriterion("EmissionStandard is null"); + return (Criteria) this; + } + + public Criteria andEmissionstandardIsNotNull() { + addCriterion("EmissionStandard is not null"); + return (Criteria) this; + } + + public Criteria andEmissionstandardEqualTo(String value) { + addCriterion("EmissionStandard =", value, "emissionstandard"); + return (Criteria) this; + } + + public Criteria andEmissionstandardNotEqualTo(String value) { + addCriterion("EmissionStandard <>", value, "emissionstandard"); + return (Criteria) this; + } + + public Criteria andEmissionstandardGreaterThan(String value) { + addCriterion("EmissionStandard >", value, "emissionstandard"); + return (Criteria) this; + } + + public Criteria andEmissionstandardGreaterThanOrEqualTo(String value) { + addCriterion("EmissionStandard >=", value, "emissionstandard"); + return (Criteria) this; + } + + public Criteria andEmissionstandardLessThan(String value) { + addCriterion("EmissionStandard <", value, "emissionstandard"); + return (Criteria) this; + } + + public Criteria andEmissionstandardLessThanOrEqualTo(String value) { + addCriterion("EmissionStandard <=", value, "emissionstandard"); + return (Criteria) this; + } + + public Criteria andEmissionstandardLike(String value) { + addCriterion("EmissionStandard like", value, "emissionstandard"); + return (Criteria) this; + } + + public Criteria andEmissionstandardNotLike(String value) { + addCriterion("EmissionStandard not like", value, "emissionstandard"); + return (Criteria) this; + } + + public Criteria andEmissionstandardIn(List values) { + addCriterion("EmissionStandard in", values, "emissionstandard"); + return (Criteria) this; + } + + public Criteria andEmissionstandardNotIn(List values) { + addCriterion("EmissionStandard not in", values, "emissionstandard"); + return (Criteria) this; + } + + public Criteria andEmissionstandardBetween(String value1, String value2) { + addCriterion("EmissionStandard between", value1, value2, "emissionstandard"); + return (Criteria) this; + } + + public Criteria andEmissionstandardNotBetween(String value1, String value2) { + addCriterion("EmissionStandard not between", value1, value2, "emissionstandard"); + return (Criteria) this; + } + + public Criteria andStatusIsNull() { + addCriterion("Status is null"); + return (Criteria) this; + } + + public Criteria andStatusIsNotNull() { + addCriterion("Status is not null"); + return (Criteria) this; + } + + public Criteria andStatusEqualTo(Integer value) { + addCriterion("Status =", value, "status"); + return (Criteria) this; + } + + public Criteria andStatusNotEqualTo(Integer value) { + addCriterion("Status <>", value, "status"); + return (Criteria) this; + } + + public Criteria andStatusGreaterThan(Integer value) { + addCriterion("Status >", value, "status"); + return (Criteria) this; + } + + public Criteria andStatusGreaterThanOrEqualTo(Integer value) { + addCriterion("Status >=", value, "status"); + return (Criteria) this; + } + + public Criteria andStatusLessThan(Integer value) { + addCriterion("Status <", value, "status"); + return (Criteria) this; + } + + public Criteria andStatusLessThanOrEqualTo(Integer value) { + addCriterion("Status <=", value, "status"); + return (Criteria) this; + } + + public Criteria andStatusIn(List values) { + addCriterion("Status in", values, "status"); + return (Criteria) this; + } + + public Criteria andStatusNotIn(List values) { + addCriterion("Status not in", values, "status"); + return (Criteria) this; + } + + public Criteria andStatusBetween(Integer value1, Integer value2) { + addCriterion("Status between", value1, value2, "status"); + return (Criteria) this; + } + + public Criteria andStatusNotBetween(Integer value1, Integer value2) { + addCriterion("Status not between", value1, value2, "status"); + return (Criteria) this; + } + + public Criteria andCreateTimeIsNull() { + addCriterion("create_time is null"); + return (Criteria) this; + } + + public Criteria andCreateTimeIsNotNull() { + addCriterion("create_time is not null"); + return (Criteria) this; + } + + public Criteria andCreateTimeEqualTo(Date value) { + addCriterion("create_time =", value, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeNotEqualTo(Date value) { + addCriterion("create_time <>", value, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeGreaterThan(Date value) { + addCriterion("create_time >", value, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) { + addCriterion("create_time >=", value, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeLessThan(Date value) { + addCriterion("create_time <", value, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeLessThanOrEqualTo(Date value) { + addCriterion("create_time <=", value, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeIn(List values) { + addCriterion("create_time in", values, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeNotIn(List values) { + addCriterion("create_time not in", values, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeBetween(Date value1, Date value2) { + addCriterion("create_time between", value1, value2, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeNotBetween(Date value1, Date value2) { + addCriterion("create_time not between", value1, value2, "createTime"); + return (Criteria) this; + } + + public Criteria andUpdateTimeIsNull() { + addCriterion("update_time is null"); + return (Criteria) this; + } + + public Criteria andUpdateTimeIsNotNull() { + addCriterion("update_time is not null"); + return (Criteria) this; + } + + public Criteria andUpdateTimeEqualTo(Date value) { + addCriterion("update_time =", value, "updateTime"); + return (Criteria) this; + } + + public Criteria andUpdateTimeNotEqualTo(Date value) { + addCriterion("update_time <>", value, "updateTime"); + return (Criteria) this; + } + + public Criteria andUpdateTimeGreaterThan(Date value) { + addCriterion("update_time >", value, "updateTime"); + return (Criteria) this; + } + + public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) { + addCriterion("update_time >=", value, "updateTime"); + return (Criteria) this; + } + + public Criteria andUpdateTimeLessThan(Date value) { + addCriterion("update_time <", value, "updateTime"); + return (Criteria) this; + } + + public Criteria andUpdateTimeLessThanOrEqualTo(Date value) { + addCriterion("update_time <=", value, "updateTime"); + return (Criteria) this; + } + + public Criteria andUpdateTimeIn(List values) { + addCriterion("update_time in", values, "updateTime"); + return (Criteria) this; + } + + public Criteria andUpdateTimeNotIn(List values) { + addCriterion("update_time not in", values, "updateTime"); + return (Criteria) this; + } + + public Criteria andUpdateTimeBetween(Date value1, Date value2) { + addCriterion("update_time between", value1, value2, "updateTime"); + return (Criteria) this; + } + + public Criteria andUpdateTimeNotBetween(Date value1, Date value2) { + addCriterion("update_time not between", value1, value2, "updateTime"); + return (Criteria) this; + } + + public Criteria andWxXrPemsUserIdIsNull() { + addCriterion("wx_xr_pems_user_id is null"); + return (Criteria) this; + } + + public Criteria andWxXrPemsUserIdIsNotNull() { + addCriterion("wx_xr_pems_user_id is not null"); + return (Criteria) this; + } + + public Criteria andWxXrPemsUserIdEqualTo(Integer value) { + addCriterion("wx_xr_pems_user_id =", value, "wxXrPemsUserId"); + return (Criteria) this; + } + + public Criteria andWxXrPemsUserIdNotEqualTo(Integer value) { + addCriterion("wx_xr_pems_user_id <>", value, "wxXrPemsUserId"); + return (Criteria) this; + } + + public Criteria andWxXrPemsUserIdGreaterThan(Integer value) { + addCriterion("wx_xr_pems_user_id >", value, "wxXrPemsUserId"); + return (Criteria) this; + } + + public Criteria andWxXrPemsUserIdGreaterThanOrEqualTo(Integer value) { + addCriterion("wx_xr_pems_user_id >=", value, "wxXrPemsUserId"); + return (Criteria) this; + } + + public Criteria andWxXrPemsUserIdLessThan(Integer value) { + addCriterion("wx_xr_pems_user_id <", value, "wxXrPemsUserId"); + return (Criteria) this; + } + + public Criteria andWxXrPemsUserIdLessThanOrEqualTo(Integer value) { + addCriterion("wx_xr_pems_user_id <=", value, "wxXrPemsUserId"); + return (Criteria) this; + } + + public Criteria andWxXrPemsUserIdIn(List values) { + addCriterion("wx_xr_pems_user_id in", values, "wxXrPemsUserId"); + return (Criteria) this; + } + + public Criteria andWxXrPemsUserIdNotIn(List values) { + addCriterion("wx_xr_pems_user_id not in", values, "wxXrPemsUserId"); + return (Criteria) this; + } + + public Criteria andWxXrPemsUserIdBetween(Integer value1, Integer value2) { + addCriterion("wx_xr_pems_user_id between", value1, value2, "wxXrPemsUserId"); + return (Criteria) this; + } + + public Criteria andWxXrPemsUserIdNotBetween(Integer value1, Integer value2) { + addCriterion("wx_xr_pems_user_id not between", value1, value2, "wxXrPemsUserId"); + return (Criteria) this; + } + + public Criteria andCheckUpResultIsNull() { + addCriterion("check_up_result is null"); + return (Criteria) this; + } + + public Criteria andCheckUpResultIsNotNull() { + addCriterion("check_up_result is not null"); + return (Criteria) this; + } + + public Criteria andCheckUpResultEqualTo(Integer value) { + addCriterion("check_up_result =", value, "checkUpResult"); + return (Criteria) this; + } + + public Criteria andCheckUpResultNotEqualTo(Integer value) { + addCriterion("check_up_result <>", value, "checkUpResult"); + return (Criteria) this; + } + + public Criteria andCheckUpResultGreaterThan(Integer value) { + addCriterion("check_up_result >", value, "checkUpResult"); + return (Criteria) this; + } + + public Criteria andCheckUpResultGreaterThanOrEqualTo(Integer value) { + addCriterion("check_up_result >=", value, "checkUpResult"); + return (Criteria) this; + } + + public Criteria andCheckUpResultLessThan(Integer value) { + addCriterion("check_up_result <", value, "checkUpResult"); + return (Criteria) this; + } + + public Criteria andCheckUpResultLessThanOrEqualTo(Integer value) { + addCriterion("check_up_result <=", value, "checkUpResult"); + return (Criteria) this; + } + + public Criteria andCheckUpResultIn(List values) { + addCriterion("check_up_result in", values, "checkUpResult"); + return (Criteria) this; + } + + public Criteria andCheckUpResultNotIn(List values) { + addCriterion("check_up_result not in", values, "checkUpResult"); + return (Criteria) this; + } + + public Criteria andCheckUpResultBetween(Integer value1, Integer value2) { + addCriterion("check_up_result between", value1, value2, "checkUpResult"); + return (Criteria) this; + } + + public Criteria andCheckUpResultNotBetween(Integer value1, Integer value2) { + addCriterion("check_up_result not between", value1, value2, "checkUpResult"); + return (Criteria) this; + } + + public Criteria andWxXrPemsUserNameIsNull() { + addCriterion("wx_xr_pems_user_name is null"); + return (Criteria) this; + } + + public Criteria andWxXrPemsUserNameIsNotNull() { + addCriterion("wx_xr_pems_user_name is not null"); + return (Criteria) this; + } + + public Criteria andWxXrPemsUserNameEqualTo(String value) { + addCriterion("wx_xr_pems_user_name =", value, "wxXrPemsUserName"); + return (Criteria) this; + } + + public Criteria andWxXrPemsUserNameNotEqualTo(String value) { + addCriterion("wx_xr_pems_user_name <>", value, "wxXrPemsUserName"); + return (Criteria) this; + } + + public Criteria andWxXrPemsUserNameGreaterThan(String value) { + addCriterion("wx_xr_pems_user_name >", value, "wxXrPemsUserName"); + return (Criteria) this; + } + + public Criteria andWxXrPemsUserNameGreaterThanOrEqualTo(String value) { + addCriterion("wx_xr_pems_user_name >=", value, "wxXrPemsUserName"); + return (Criteria) this; + } + + public Criteria andWxXrPemsUserNameLessThan(String value) { + addCriterion("wx_xr_pems_user_name <", value, "wxXrPemsUserName"); + return (Criteria) this; + } + + public Criteria andWxXrPemsUserNameLessThanOrEqualTo(String value) { + addCriterion("wx_xr_pems_user_name <=", value, "wxXrPemsUserName"); + return (Criteria) this; + } + + public Criteria andWxXrPemsUserNameLike(String value) { + addCriterion("wx_xr_pems_user_name like", value, "wxXrPemsUserName"); + return (Criteria) this; + } + + public Criteria andWxXrPemsUserNameNotLike(String value) { + addCriterion("wx_xr_pems_user_name not like", value, "wxXrPemsUserName"); + return (Criteria) this; + } + + public Criteria andWxXrPemsUserNameIn(List values) { + addCriterion("wx_xr_pems_user_name in", values, "wxXrPemsUserName"); + return (Criteria) this; + } + + public Criteria andWxXrPemsUserNameNotIn(List values) { + addCriterion("wx_xr_pems_user_name not in", values, "wxXrPemsUserName"); + return (Criteria) this; + } + + public Criteria andWxXrPemsUserNameBetween(String value1, String value2) { + addCriterion("wx_xr_pems_user_name between", value1, value2, "wxXrPemsUserName"); + return (Criteria) this; + } + + public Criteria andWxXrPemsUserNameNotBetween(String value1, String value2) { + addCriterion("wx_xr_pems_user_name not between", value1, value2, "wxXrPemsUserName"); + return (Criteria) this; + } + + public Criteria andExhauststructureIsNull() { + addCriterion("ExhaustStructure is null"); + return (Criteria) this; + } + + public Criteria andExhauststructureIsNotNull() { + addCriterion("ExhaustStructure is not null"); + return (Criteria) this; + } + + public Criteria andExhauststructureEqualTo(String value) { + addCriterion("ExhaustStructure =", value, "exhauststructure"); + return (Criteria) this; + } + + public Criteria andExhauststructureNotEqualTo(String value) { + addCriterion("ExhaustStructure <>", value, "exhauststructure"); + return (Criteria) this; + } + + public Criteria andExhauststructureGreaterThan(String value) { + addCriterion("ExhaustStructure >", value, "exhauststructure"); + return (Criteria) this; + } + + public Criteria andExhauststructureGreaterThanOrEqualTo(String value) { + addCriterion("ExhaustStructure >=", value, "exhauststructure"); + return (Criteria) this; + } + + public Criteria andExhauststructureLessThan(String value) { + addCriterion("ExhaustStructure <", value, "exhauststructure"); + return (Criteria) this; + } + + public Criteria andExhauststructureLessThanOrEqualTo(String value) { + addCriterion("ExhaustStructure <=", value, "exhauststructure"); + return (Criteria) this; + } + + public Criteria andExhauststructureLike(String value) { + addCriterion("ExhaustStructure like", value, "exhauststructure"); + return (Criteria) this; + } + + public Criteria andExhauststructureNotLike(String value) { + addCriterion("ExhaustStructure not like", value, "exhauststructure"); + return (Criteria) this; + } + + public Criteria andExhauststructureIn(List values) { + addCriterion("ExhaustStructure in", values, "exhauststructure"); + return (Criteria) this; + } + + public Criteria andExhauststructureNotIn(List values) { + addCriterion("ExhaustStructure not in", values, "exhauststructure"); + return (Criteria) this; + } + + public Criteria andExhauststructureBetween(String value1, String value2) { + addCriterion("ExhaustStructure between", value1, value2, "exhauststructure"); + return (Criteria) this; + } + + public Criteria andExhauststructureNotBetween(String value1, String value2) { + addCriterion("ExhaustStructure not between", value1, value2, "exhauststructure"); + return (Criteria) this; + } + + public Criteria andFactoryidIsNull() { + addCriterion("FactoryId is null"); + return (Criteria) this; + } + + public Criteria andFactoryidIsNotNull() { + addCriterion("FactoryId is not null"); + return (Criteria) this; + } + + public Criteria andFactoryidEqualTo(Integer value) { + addCriterion("FactoryId =", value, "factoryid"); + return (Criteria) this; + } + + public Criteria andFactoryidNotEqualTo(Integer value) { + addCriterion("FactoryId <>", value, "factoryid"); + return (Criteria) this; + } + + public Criteria andFactoryidGreaterThan(Integer value) { + addCriterion("FactoryId >", value, "factoryid"); + return (Criteria) this; + } + + public Criteria andFactoryidGreaterThanOrEqualTo(Integer value) { + addCriterion("FactoryId >=", value, "factoryid"); + return (Criteria) this; + } + + public Criteria andFactoryidLessThan(Integer value) { + addCriterion("FactoryId <", value, "factoryid"); + return (Criteria) this; + } + + public Criteria andFactoryidLessThanOrEqualTo(Integer value) { + addCriterion("FactoryId <=", value, "factoryid"); + return (Criteria) this; + } + + public Criteria andFactoryidIn(List values) { + addCriterion("FactoryId in", values, "factoryid"); + return (Criteria) this; + } + + public Criteria andFactoryidNotIn(List values) { + addCriterion("FactoryId not in", values, "factoryid"); + return (Criteria) this; + } + + public Criteria andFactoryidBetween(Integer value1, Integer value2) { + addCriterion("FactoryId between", value1, value2, "factoryid"); + return (Criteria) this; + } + + public Criteria andFactoryidNotBetween(Integer value1, Integer value2) { + addCriterion("FactoryId not between", value1, value2, "factoryid"); + return (Criteria) this; + } + + public Criteria andFactorynameIsNull() { + addCriterion("FactoryName is null"); + return (Criteria) this; + } + + public Criteria andFactorynameIsNotNull() { + addCriterion("FactoryName is not null"); + return (Criteria) this; + } + + public Criteria andFactorynameEqualTo(String value) { + addCriterion("FactoryName =", value, "factoryname"); + return (Criteria) this; + } + + public Criteria andFactorynameNotEqualTo(String value) { + addCriterion("FactoryName <>", value, "factoryname"); + return (Criteria) this; + } + + public Criteria andFactorynameGreaterThan(String value) { + addCriterion("FactoryName >", value, "factoryname"); + return (Criteria) this; + } + + public Criteria andFactorynameGreaterThanOrEqualTo(String value) { + addCriterion("FactoryName >=", value, "factoryname"); + return (Criteria) this; + } + + public Criteria andFactorynameLessThan(String value) { + addCriterion("FactoryName <", value, "factoryname"); + return (Criteria) this; + } + + public Criteria andFactorynameLessThanOrEqualTo(String value) { + addCriterion("FactoryName <=", value, "factoryname"); + return (Criteria) this; + } + + public Criteria andFactorynameLike(String value) { + addCriterion("FactoryName like", value, "factoryname"); + return (Criteria) this; + } + + public Criteria andFactorynameNotLike(String value) { + addCriterion("FactoryName not like", value, "factoryname"); + return (Criteria) this; + } + + public Criteria andFactorynameIn(List values) { + addCriterion("FactoryName in", values, "factoryname"); + return (Criteria) this; + } + + public Criteria andFactorynameNotIn(List values) { + addCriterion("FactoryName not in", values, "factoryname"); + return (Criteria) this; + } + + public Criteria andFactorynameBetween(String value1, String value2) { + addCriterion("FactoryName between", value1, value2, "factoryname"); + return (Criteria) this; + } + + public Criteria andFactorynameNotBetween(String value1, String value2) { + addCriterion("FactoryName not between", value1, value2, "factoryname"); + return (Criteria) this; + } + } + + public static class Criteria extends GeneratedCriteria { + + protected Criteria() { + super(); + } + } + + public static class Criterion { + private String condition; + + private Object value; + + private Object secondValue; + + private boolean noValue; + + private boolean singleValue; + + private boolean betweenValue; + + private boolean listValue; + + private String typeHandler; + + public String getCondition() { + return condition; + } + + public Object getValue() { + return value; + } + + public Object getSecondValue() { + return secondValue; + } + + public boolean isNoValue() { + return noValue; + } + + public boolean isSingleValue() { + return singleValue; + } + + public boolean isBetweenValue() { + return betweenValue; + } + + public boolean isListValue() { + return listValue; + } + + public String getTypeHandler() { + return typeHandler; + } + + protected Criterion(String condition) { + super(); + this.condition = condition; + this.typeHandler = null; + this.noValue = true; + } + + protected Criterion(String condition, Object value, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.typeHandler = typeHandler; + if (value instanceof List) { + this.listValue = true; + } else { + this.singleValue = true; + } + } + + protected Criterion(String condition, Object value) { + this(condition, value, null); + } + + protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.secondValue = secondValue; + this.typeHandler = typeHandler; + this.betweenValue = true; + } + + protected Criterion(String condition, Object value, Object secondValue) { + this(condition, value, secondValue, null); + } + } +} \ No newline at end of file diff --git a/car-dao/src/main/java/com/weiqi/mis/domain/WxXrPemsOrderPushLog.java b/car-dao/src/main/java/com/weiqi/mis/domain/WxXrPemsOrderPushLog.java new file mode 100644 index 0000000..4c85659 --- /dev/null +++ b/car-dao/src/main/java/com/weiqi/mis/domain/WxXrPemsOrderPushLog.java @@ -0,0 +1,115 @@ +package com.weiqi.mis.domain; + +import java.util.Date; + +public class WxXrPemsOrderPushLog { + private Integer id; + + private String orderno; + + private String weixiuorderno; + + private String requestparam; + + private String response; + + private Integer step; + + private Integer status; + + private Date createTime; + + private Date updateTime; + + private Integer userId; + + private String userName; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getOrderno() { + return orderno; + } + + public void setOrderno(String orderno) { + this.orderno = orderno == null ? null : orderno.trim(); + } + + public String getWeixiuorderno() { + return weixiuorderno; + } + + public void setWeixiuorderno(String weixiuorderno) { + this.weixiuorderno = weixiuorderno == null ? null : weixiuorderno.trim(); + } + + public String getRequestparam() { + return requestparam; + } + + public void setRequestparam(String requestparam) { + this.requestparam = requestparam == null ? null : requestparam.trim(); + } + + public String getResponse() { + return response; + } + + public void setResponse(String response) { + this.response = response == null ? null : response.trim(); + } + + public Integer getStep() { + return step; + } + + public void setStep(Integer step) { + this.step = step; + } + + public Integer getStatus() { + return status; + } + + public void setStatus(Integer status) { + this.status = status; + } + + public Date getCreateTime() { + return createTime; + } + + public void setCreateTime(Date createTime) { + this.createTime = createTime; + } + + public Date getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(Date updateTime) { + this.updateTime = updateTime; + } + + public Integer getUserId() { + return userId; + } + + public void setUserId(Integer userId) { + this.userId = userId; + } + + public String getUserName() { + return userName; + } + + public void setUserName(String userName) { + this.userName = userName == null ? null : userName.trim(); + } +} \ No newline at end of file diff --git a/car-dao/src/main/java/com/weiqi/mis/domain/WxXrPemsOrderPushLogExample.java b/car-dao/src/main/java/com/weiqi/mis/domain/WxXrPemsOrderPushLogExample.java new file mode 100644 index 0000000..6028c40 --- /dev/null +++ b/car-dao/src/main/java/com/weiqi/mis/domain/WxXrPemsOrderPushLogExample.java @@ -0,0 +1,911 @@ +package com.weiqi.mis.domain; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class WxXrPemsOrderPushLogExample { + protected String orderByClause; + + protected boolean distinct; + + protected List oredCriteria; + + public WxXrPemsOrderPushLogExample() { + oredCriteria = new ArrayList(); + } + + public void setOrderByClause(String orderByClause) { + this.orderByClause = orderByClause; + } + + public String getOrderByClause() { + return orderByClause; + } + + public void setDistinct(boolean distinct) { + this.distinct = distinct; + } + + public boolean isDistinct() { + return distinct; + } + + public List getOredCriteria() { + return oredCriteria; + } + + public void or(Criteria criteria) { + oredCriteria.add(criteria); + } + + public Criteria or() { + Criteria criteria = createCriteriaInternal(); + oredCriteria.add(criteria); + return criteria; + } + + public Criteria createCriteria() { + Criteria criteria = createCriteriaInternal(); + if (oredCriteria.size() == 0) { + oredCriteria.add(criteria); + } + return criteria; + } + + protected Criteria createCriteriaInternal() { + Criteria criteria = new Criteria(); + return criteria; + } + + public void clear() { + oredCriteria.clear(); + orderByClause = null; + distinct = false; + } + + protected abstract static class GeneratedCriteria { + protected List criteria; + + protected GeneratedCriteria() { + super(); + criteria = new ArrayList(); + } + + public boolean isValid() { + return criteria.size() > 0; + } + + public List getAllCriteria() { + return criteria; + } + + public List getCriteria() { + return criteria; + } + + protected void addCriterion(String condition) { + if (condition == null) { + throw new RuntimeException("Value for condition cannot be null"); + } + criteria.add(new Criterion(condition)); + } + + protected void addCriterion(String condition, Object value, String property) { + if (value == null) { + throw new RuntimeException("Value for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value)); + } + + protected void addCriterion(String condition, Object value1, Object value2, String property) { + if (value1 == null || value2 == null) { + throw new RuntimeException("Between values for " + property + " cannot be null"); + } + criteria.add(new Criterion(condition, value1, value2)); + } + + public Criteria andIdIsNull() { + addCriterion("ID is null"); + return (Criteria) this; + } + + public Criteria andIdIsNotNull() { + addCriterion("ID is not null"); + return (Criteria) this; + } + + public Criteria andIdEqualTo(Integer value) { + addCriterion("ID =", value, "id"); + return (Criteria) this; + } + + public Criteria andIdNotEqualTo(Integer value) { + addCriterion("ID <>", value, "id"); + return (Criteria) this; + } + + public Criteria andIdGreaterThan(Integer value) { + addCriterion("ID >", value, "id"); + return (Criteria) this; + } + + public Criteria andIdGreaterThanOrEqualTo(Integer value) { + addCriterion("ID >=", value, "id"); + return (Criteria) this; + } + + public Criteria andIdLessThan(Integer value) { + addCriterion("ID <", value, "id"); + return (Criteria) this; + } + + public Criteria andIdLessThanOrEqualTo(Integer value) { + addCriterion("ID <=", value, "id"); + return (Criteria) this; + } + + public Criteria andIdIn(List values) { + addCriterion("ID in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdNotIn(List values) { + addCriterion("ID not in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdBetween(Integer value1, Integer value2) { + addCriterion("ID between", value1, value2, "id"); + return (Criteria) this; + } + + public Criteria andIdNotBetween(Integer value1, Integer value2) { + addCriterion("ID not between", value1, value2, "id"); + return (Criteria) this; + } + + public Criteria andOrdernoIsNull() { + addCriterion("OrderNo is null"); + return (Criteria) this; + } + + public Criteria andOrdernoIsNotNull() { + addCriterion("OrderNo is not null"); + return (Criteria) this; + } + + public Criteria andOrdernoEqualTo(String value) { + addCriterion("OrderNo =", value, "orderno"); + return (Criteria) this; + } + + public Criteria andOrdernoNotEqualTo(String value) { + addCriterion("OrderNo <>", value, "orderno"); + return (Criteria) this; + } + + public Criteria andOrdernoGreaterThan(String value) { + addCriterion("OrderNo >", value, "orderno"); + return (Criteria) this; + } + + public Criteria andOrdernoGreaterThanOrEqualTo(String value) { + addCriterion("OrderNo >=", value, "orderno"); + return (Criteria) this; + } + + public Criteria andOrdernoLessThan(String value) { + addCriterion("OrderNo <", value, "orderno"); + return (Criteria) this; + } + + public Criteria andOrdernoLessThanOrEqualTo(String value) { + addCriterion("OrderNo <=", value, "orderno"); + return (Criteria) this; + } + + public Criteria andOrdernoLike(String value) { + addCriterion("OrderNo like", value, "orderno"); + return (Criteria) this; + } + + public Criteria andOrdernoNotLike(String value) { + addCriterion("OrderNo not like", value, "orderno"); + return (Criteria) this; + } + + public Criteria andOrdernoIn(List values) { + addCriterion("OrderNo in", values, "orderno"); + return (Criteria) this; + } + + public Criteria andOrdernoNotIn(List values) { + addCriterion("OrderNo not in", values, "orderno"); + return (Criteria) this; + } + + public Criteria andOrdernoBetween(String value1, String value2) { + addCriterion("OrderNo between", value1, value2, "orderno"); + return (Criteria) this; + } + + public Criteria andOrdernoNotBetween(String value1, String value2) { + addCriterion("OrderNo not between", value1, value2, "orderno"); + return (Criteria) this; + } + + public Criteria andWeixiuordernoIsNull() { + addCriterion("WeiXiuOrderNo is null"); + return (Criteria) this; + } + + public Criteria andWeixiuordernoIsNotNull() { + addCriterion("WeiXiuOrderNo is not null"); + return (Criteria) this; + } + + public Criteria andWeixiuordernoEqualTo(String value) { + addCriterion("WeiXiuOrderNo =", value, "weixiuorderno"); + return (Criteria) this; + } + + public Criteria andWeixiuordernoNotEqualTo(String value) { + addCriterion("WeiXiuOrderNo <>", value, "weixiuorderno"); + return (Criteria) this; + } + + public Criteria andWeixiuordernoGreaterThan(String value) { + addCriterion("WeiXiuOrderNo >", value, "weixiuorderno"); + return (Criteria) this; + } + + public Criteria andWeixiuordernoGreaterThanOrEqualTo(String value) { + addCriterion("WeiXiuOrderNo >=", value, "weixiuorderno"); + return (Criteria) this; + } + + public Criteria andWeixiuordernoLessThan(String value) { + addCriterion("WeiXiuOrderNo <", value, "weixiuorderno"); + return (Criteria) this; + } + + public Criteria andWeixiuordernoLessThanOrEqualTo(String value) { + addCriterion("WeiXiuOrderNo <=", value, "weixiuorderno"); + return (Criteria) this; + } + + public Criteria andWeixiuordernoLike(String value) { + addCriterion("WeiXiuOrderNo like", value, "weixiuorderno"); + return (Criteria) this; + } + + public Criteria andWeixiuordernoNotLike(String value) { + addCriterion("WeiXiuOrderNo not like", value, "weixiuorderno"); + return (Criteria) this; + } + + public Criteria andWeixiuordernoIn(List values) { + addCriterion("WeiXiuOrderNo in", values, "weixiuorderno"); + return (Criteria) this; + } + + public Criteria andWeixiuordernoNotIn(List values) { + addCriterion("WeiXiuOrderNo not in", values, "weixiuorderno"); + return (Criteria) this; + } + + public Criteria andWeixiuordernoBetween(String value1, String value2) { + addCriterion("WeiXiuOrderNo between", value1, value2, "weixiuorderno"); + return (Criteria) this; + } + + public Criteria andWeixiuordernoNotBetween(String value1, String value2) { + addCriterion("WeiXiuOrderNo not between", value1, value2, "weixiuorderno"); + return (Criteria) this; + } + + public Criteria andRequestparamIsNull() { + addCriterion("RequestParam is null"); + return (Criteria) this; + } + + public Criteria andRequestparamIsNotNull() { + addCriterion("RequestParam is not null"); + return (Criteria) this; + } + + public Criteria andRequestparamEqualTo(String value) { + addCriterion("RequestParam =", value, "requestparam"); + return (Criteria) this; + } + + public Criteria andRequestparamNotEqualTo(String value) { + addCriterion("RequestParam <>", value, "requestparam"); + return (Criteria) this; + } + + public Criteria andRequestparamGreaterThan(String value) { + addCriterion("RequestParam >", value, "requestparam"); + return (Criteria) this; + } + + public Criteria andRequestparamGreaterThanOrEqualTo(String value) { + addCriterion("RequestParam >=", value, "requestparam"); + return (Criteria) this; + } + + public Criteria andRequestparamLessThan(String value) { + addCriterion("RequestParam <", value, "requestparam"); + return (Criteria) this; + } + + public Criteria andRequestparamLessThanOrEqualTo(String value) { + addCriterion("RequestParam <=", value, "requestparam"); + return (Criteria) this; + } + + public Criteria andRequestparamLike(String value) { + addCriterion("RequestParam like", value, "requestparam"); + return (Criteria) this; + } + + public Criteria andRequestparamNotLike(String value) { + addCriterion("RequestParam not like", value, "requestparam"); + return (Criteria) this; + } + + public Criteria andRequestparamIn(List values) { + addCriterion("RequestParam in", values, "requestparam"); + return (Criteria) this; + } + + public Criteria andRequestparamNotIn(List values) { + addCriterion("RequestParam not in", values, "requestparam"); + return (Criteria) this; + } + + public Criteria andRequestparamBetween(String value1, String value2) { + addCriterion("RequestParam between", value1, value2, "requestparam"); + return (Criteria) this; + } + + public Criteria andRequestparamNotBetween(String value1, String value2) { + addCriterion("RequestParam not between", value1, value2, "requestparam"); + return (Criteria) this; + } + + public Criteria andResponseIsNull() { + addCriterion("Response is null"); + return (Criteria) this; + } + + public Criteria andResponseIsNotNull() { + addCriterion("Response is not null"); + return (Criteria) this; + } + + public Criteria andResponseEqualTo(String value) { + addCriterion("Response =", value, "response"); + return (Criteria) this; + } + + public Criteria andResponseNotEqualTo(String value) { + addCriterion("Response <>", value, "response"); + return (Criteria) this; + } + + public Criteria andResponseGreaterThan(String value) { + addCriterion("Response >", value, "response"); + return (Criteria) this; + } + + public Criteria andResponseGreaterThanOrEqualTo(String value) { + addCriterion("Response >=", value, "response"); + return (Criteria) this; + } + + public Criteria andResponseLessThan(String value) { + addCriterion("Response <", value, "response"); + return (Criteria) this; + } + + public Criteria andResponseLessThanOrEqualTo(String value) { + addCriterion("Response <=", value, "response"); + return (Criteria) this; + } + + public Criteria andResponseLike(String value) { + addCriterion("Response like", value, "response"); + return (Criteria) this; + } + + public Criteria andResponseNotLike(String value) { + addCriterion("Response not like", value, "response"); + return (Criteria) this; + } + + public Criteria andResponseIn(List values) { + addCriterion("Response in", values, "response"); + return (Criteria) this; + } + + public Criteria andResponseNotIn(List values) { + addCriterion("Response not in", values, "response"); + return (Criteria) this; + } + + public Criteria andResponseBetween(String value1, String value2) { + addCriterion("Response between", value1, value2, "response"); + return (Criteria) this; + } + + public Criteria andResponseNotBetween(String value1, String value2) { + addCriterion("Response not between", value1, value2, "response"); + return (Criteria) this; + } + + public Criteria andStepIsNull() { + addCriterion("Step is null"); + return (Criteria) this; + } + + public Criteria andStepIsNotNull() { + addCriterion("Step is not null"); + return (Criteria) this; + } + + public Criteria andStepEqualTo(Integer value) { + addCriterion("Step =", value, "step"); + return (Criteria) this; + } + + public Criteria andStepNotEqualTo(Integer value) { + addCriterion("Step <>", value, "step"); + return (Criteria) this; + } + + public Criteria andStepGreaterThan(Integer value) { + addCriterion("Step >", value, "step"); + return (Criteria) this; + } + + public Criteria andStepGreaterThanOrEqualTo(Integer value) { + addCriterion("Step >=", value, "step"); + return (Criteria) this; + } + + public Criteria andStepLessThan(Integer value) { + addCriterion("Step <", value, "step"); + return (Criteria) this; + } + + public Criteria andStepLessThanOrEqualTo(Integer value) { + addCriterion("Step <=", value, "step"); + return (Criteria) this; + } + + public Criteria andStepIn(List values) { + addCriterion("Step in", values, "step"); + return (Criteria) this; + } + + public Criteria andStepNotIn(List values) { + addCriterion("Step not in", values, "step"); + return (Criteria) this; + } + + public Criteria andStepBetween(Integer value1, Integer value2) { + addCriterion("Step between", value1, value2, "step"); + return (Criteria) this; + } + + public Criteria andStepNotBetween(Integer value1, Integer value2) { + addCriterion("Step not between", value1, value2, "step"); + return (Criteria) this; + } + + public Criteria andStatusIsNull() { + addCriterion("Status is null"); + return (Criteria) this; + } + + public Criteria andStatusIsNotNull() { + addCriterion("Status is not null"); + return (Criteria) this; + } + + public Criteria andStatusEqualTo(Integer value) { + addCriterion("Status =", value, "status"); + return (Criteria) this; + } + + public Criteria andStatusNotEqualTo(Integer value) { + addCriterion("Status <>", value, "status"); + return (Criteria) this; + } + + public Criteria andStatusGreaterThan(Integer value) { + addCriterion("Status >", value, "status"); + return (Criteria) this; + } + + public Criteria andStatusGreaterThanOrEqualTo(Integer value) { + addCriterion("Status >=", value, "status"); + return (Criteria) this; + } + + public Criteria andStatusLessThan(Integer value) { + addCriterion("Status <", value, "status"); + return (Criteria) this; + } + + public Criteria andStatusLessThanOrEqualTo(Integer value) { + addCriterion("Status <=", value, "status"); + return (Criteria) this; + } + + public Criteria andStatusIn(List values) { + addCriterion("Status in", values, "status"); + return (Criteria) this; + } + + public Criteria andStatusNotIn(List values) { + addCriterion("Status not in", values, "status"); + return (Criteria) this; + } + + public Criteria andStatusBetween(Integer value1, Integer value2) { + addCriterion("Status between", value1, value2, "status"); + return (Criteria) this; + } + + public Criteria andStatusNotBetween(Integer value1, Integer value2) { + addCriterion("Status not between", value1, value2, "status"); + return (Criteria) this; + } + + public Criteria andCreateTimeIsNull() { + addCriterion("create_time is null"); + return (Criteria) this; + } + + public Criteria andCreateTimeIsNotNull() { + addCriterion("create_time is not null"); + return (Criteria) this; + } + + public Criteria andCreateTimeEqualTo(Date value) { + addCriterion("create_time =", value, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeNotEqualTo(Date value) { + addCriterion("create_time <>", value, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeGreaterThan(Date value) { + addCriterion("create_time >", value, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) { + addCriterion("create_time >=", value, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeLessThan(Date value) { + addCriterion("create_time <", value, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeLessThanOrEqualTo(Date value) { + addCriterion("create_time <=", value, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeIn(List values) { + addCriterion("create_time in", values, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeNotIn(List values) { + addCriterion("create_time not in", values, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeBetween(Date value1, Date value2) { + addCriterion("create_time between", value1, value2, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeNotBetween(Date value1, Date value2) { + addCriterion("create_time not between", value1, value2, "createTime"); + return (Criteria) this; + } + + public Criteria andUpdateTimeIsNull() { + addCriterion("update_time is null"); + return (Criteria) this; + } + + public Criteria andUpdateTimeIsNotNull() { + addCriterion("update_time is not null"); + return (Criteria) this; + } + + public Criteria andUpdateTimeEqualTo(Date value) { + addCriterion("update_time =", value, "updateTime"); + return (Criteria) this; + } + + public Criteria andUpdateTimeNotEqualTo(Date value) { + addCriterion("update_time <>", value, "updateTime"); + return (Criteria) this; + } + + public Criteria andUpdateTimeGreaterThan(Date value) { + addCriterion("update_time >", value, "updateTime"); + return (Criteria) this; + } + + public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) { + addCriterion("update_time >=", value, "updateTime"); + return (Criteria) this; + } + + public Criteria andUpdateTimeLessThan(Date value) { + addCriterion("update_time <", value, "updateTime"); + return (Criteria) this; + } + + public Criteria andUpdateTimeLessThanOrEqualTo(Date value) { + addCriterion("update_time <=", value, "updateTime"); + return (Criteria) this; + } + + public Criteria andUpdateTimeIn(List values) { + addCriterion("update_time in", values, "updateTime"); + return (Criteria) this; + } + + public Criteria andUpdateTimeNotIn(List values) { + addCriterion("update_time not in", values, "updateTime"); + return (Criteria) this; + } + + public Criteria andUpdateTimeBetween(Date value1, Date value2) { + addCriterion("update_time between", value1, value2, "updateTime"); + return (Criteria) this; + } + + public Criteria andUpdateTimeNotBetween(Date value1, Date value2) { + addCriterion("update_time not between", value1, value2, "updateTime"); + return (Criteria) this; + } + + public Criteria andUserIdIsNull() { + addCriterion("user_id is null"); + return (Criteria) this; + } + + public Criteria andUserIdIsNotNull() { + addCriterion("user_id is not null"); + return (Criteria) this; + } + + public Criteria andUserIdEqualTo(Integer value) { + addCriterion("user_id =", value, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdNotEqualTo(Integer value) { + addCriterion("user_id <>", value, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdGreaterThan(Integer value) { + addCriterion("user_id >", value, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdGreaterThanOrEqualTo(Integer value) { + addCriterion("user_id >=", value, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdLessThan(Integer value) { + addCriterion("user_id <", value, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdLessThanOrEqualTo(Integer value) { + addCriterion("user_id <=", value, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdIn(List values) { + addCriterion("user_id in", values, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdNotIn(List values) { + addCriterion("user_id not in", values, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdBetween(Integer value1, Integer value2) { + addCriterion("user_id between", value1, value2, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdNotBetween(Integer value1, Integer value2) { + addCriterion("user_id not between", value1, value2, "userId"); + return (Criteria) this; + } + + public Criteria andUserNameIsNull() { + addCriterion("user_name is null"); + return (Criteria) this; + } + + public Criteria andUserNameIsNotNull() { + addCriterion("user_name is not null"); + return (Criteria) this; + } + + public Criteria andUserNameEqualTo(String value) { + addCriterion("user_name =", value, "userName"); + return (Criteria) this; + } + + public Criteria andUserNameNotEqualTo(String value) { + addCriterion("user_name <>", value, "userName"); + return (Criteria) this; + } + + public Criteria andUserNameGreaterThan(String value) { + addCriterion("user_name >", value, "userName"); + return (Criteria) this; + } + + public Criteria andUserNameGreaterThanOrEqualTo(String value) { + addCriterion("user_name >=", value, "userName"); + return (Criteria) this; + } + + public Criteria andUserNameLessThan(String value) { + addCriterion("user_name <", value, "userName"); + return (Criteria) this; + } + + public Criteria andUserNameLessThanOrEqualTo(String value) { + addCriterion("user_name <=", value, "userName"); + return (Criteria) this; + } + + public Criteria andUserNameLike(String value) { + addCriterion("user_name like", value, "userName"); + return (Criteria) this; + } + + public Criteria andUserNameNotLike(String value) { + addCriterion("user_name not like", value, "userName"); + return (Criteria) this; + } + + public Criteria andUserNameIn(List values) { + addCriterion("user_name in", values, "userName"); + return (Criteria) this; + } + + public Criteria andUserNameNotIn(List values) { + addCriterion("user_name not in", values, "userName"); + return (Criteria) this; + } + + public Criteria andUserNameBetween(String value1, String value2) { + addCriterion("user_name between", value1, value2, "userName"); + return (Criteria) this; + } + + public Criteria andUserNameNotBetween(String value1, String value2) { + addCriterion("user_name not between", value1, value2, "userName"); + return (Criteria) this; + } + } + + public static class Criteria extends GeneratedCriteria { + + protected Criteria() { + super(); + } + } + + public static class Criterion { + private String condition; + + private Object value; + + private Object secondValue; + + private boolean noValue; + + private boolean singleValue; + + private boolean betweenValue; + + private boolean listValue; + + private String typeHandler; + + public String getCondition() { + return condition; + } + + public Object getValue() { + return value; + } + + public Object getSecondValue() { + return secondValue; + } + + public boolean isNoValue() { + return noValue; + } + + public boolean isSingleValue() { + return singleValue; + } + + public boolean isBetweenValue() { + return betweenValue; + } + + public boolean isListValue() { + return listValue; + } + + public String getTypeHandler() { + return typeHandler; + } + + protected Criterion(String condition) { + super(); + this.condition = condition; + this.typeHandler = null; + this.noValue = true; + } + + protected Criterion(String condition, Object value, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.typeHandler = typeHandler; + if (value instanceof List) { + this.listValue = true; + } else { + this.singleValue = true; + } + } + + protected Criterion(String condition, Object value) { + this(condition, value, null); + } + + protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { + super(); + this.condition = condition; + this.value = value; + this.secondValue = secondValue; + this.typeHandler = typeHandler; + this.betweenValue = true; + } + + protected Criterion(String condition, Object value, Object secondValue) { + this(condition, value, secondValue, null); + } + } +} \ No newline at end of file diff --git a/car-dao/src/main/java/com/weiqi/mis/enums/ReportStatusEnum.java b/car-dao/src/main/java/com/weiqi/mis/enums/ReportStatusEnum.java new file mode 100644 index 0000000..b58c0b8 --- /dev/null +++ b/car-dao/src/main/java/com/weiqi/mis/enums/ReportStatusEnum.java @@ -0,0 +1,30 @@ +package com.weiqi.mis.enums; + +public enum ReportStatusEnum { + SUCCESS("1", "成功"), + FAIL("-1", "失败"), + UNKNOWN("0", "未知"); + private String status; + private String desc; + + ReportStatusEnum(String status, String desc) { + this.status = status; + this.desc = desc; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getDesc() { + return desc; + } + + public void setDesc(String desc) { + this.desc = desc; + } +} diff --git a/car-dao/src/main/java/com/weiqi/mis/mapper/AdminUserInfoMapper.java b/car-dao/src/main/java/com/weiqi/mis/mapper/AdminUserInfoMapper.java new file mode 100644 index 0000000..272b22b --- /dev/null +++ b/car-dao/src/main/java/com/weiqi/mis/mapper/AdminUserInfoMapper.java @@ -0,0 +1,24 @@ +package com.weiqi.mis.mapper; + +import com.weiqi.mis.domain.AdminUserInfo; +import com.weiqi.mis.domain.AdminUserInfoExample; + +import java.util.List; + +public interface AdminUserInfoMapper { + int countByExample(AdminUserInfoExample example); + + int deleteByPrimaryKey(Integer id); + + int insert(AdminUserInfo record); + + int insertSelective(AdminUserInfo record); + + List selectByExample(AdminUserInfoExample example); + + AdminUserInfo selectByPrimaryKey(Integer id); + + int updateByPrimaryKeySelective(AdminUserInfo record); + + int updateByPrimaryKey(AdminUserInfo record); +} \ No newline at end of file diff --git a/car-dao/src/main/java/com/weiqi/mis/mapper/WxXrPemsOrderMapper.java b/car-dao/src/main/java/com/weiqi/mis/mapper/WxXrPemsOrderMapper.java new file mode 100644 index 0000000..b37f80e --- /dev/null +++ b/car-dao/src/main/java/com/weiqi/mis/mapper/WxXrPemsOrderMapper.java @@ -0,0 +1,27 @@ +package com.weiqi.mis.mapper; + +import com.weiqi.mis.domain.WxXrPemsOrder; +import com.weiqi.mis.domain.WxXrPemsOrderExample; +import java.util.List; + +public interface WxXrPemsOrderMapper { + int countByExample(WxXrPemsOrderExample example); + + int deleteByPrimaryKey(Integer id); + + int insert(WxXrPemsOrder record); + + int insertSelective(WxXrPemsOrder record); + + List selectByExampleWithBLOBs(WxXrPemsOrderExample example); + + List selectByExample(WxXrPemsOrderExample example); + + WxXrPemsOrder selectByPrimaryKey(Integer id); + + int updateByPrimaryKeySelective(WxXrPemsOrder record); + + int updateByPrimaryKeyWithBLOBs(WxXrPemsOrder record); + + int updateByPrimaryKey(WxXrPemsOrder record); +} \ No newline at end of file diff --git a/car-dao/src/main/java/com/weiqi/mis/mapper/WxXrPemsOrderPushLogMapper.java b/car-dao/src/main/java/com/weiqi/mis/mapper/WxXrPemsOrderPushLogMapper.java new file mode 100644 index 0000000..2f4a3ad --- /dev/null +++ b/car-dao/src/main/java/com/weiqi/mis/mapper/WxXrPemsOrderPushLogMapper.java @@ -0,0 +1,23 @@ +package com.weiqi.mis.mapper; + +import com.weiqi.mis.domain.WxXrPemsOrderPushLog; +import com.weiqi.mis.domain.WxXrPemsOrderPushLogExample; +import java.util.List; + +public interface WxXrPemsOrderPushLogMapper { + int countByExample(WxXrPemsOrderPushLogExample example); + + int deleteByPrimaryKey(Integer id); + + int insert(WxXrPemsOrderPushLog record); + + int insertSelective(WxXrPemsOrderPushLog record); + + List selectByExample(WxXrPemsOrderPushLogExample example); + + WxXrPemsOrderPushLog selectByPrimaryKey(Integer id); + + int updateByPrimaryKeySelective(WxXrPemsOrderPushLog record); + + int updateByPrimaryKey(WxXrPemsOrderPushLog record); +} \ No newline at end of file diff --git a/car-dao/src/main/resources/com/weiqi/mis/mapper/AdminUserInfoMapper.xml b/car-dao/src/main/resources/com/weiqi/mis/mapper/AdminUserInfoMapper.xml new file mode 100644 index 0000000..f16b430 --- /dev/null +++ b/car-dao/src/main/resources/com/weiqi/mis/mapper/AdminUserInfoMapper.xml @@ -0,0 +1,156 @@ + + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + id, user_name, password, gmt_create, gmt_modify, is_del + + + + + delete from admin_user_info + where id = #{id,jdbcType=INTEGER} + + + insert into admin_user_info (id, user_name, password, + gmt_create, gmt_modify, is_del + ) + values (#{id,jdbcType=INTEGER}, #{userName,jdbcType=VARCHAR}, #{password,jdbcType=VARCHAR}, + #{gmtCreate,jdbcType=TIMESTAMP}, #{gmtModify,jdbcType=TIMESTAMP}, #{isDel,jdbcType=INTEGER} + ) + + + insert into admin_user_info + + + id, + + + user_name, + + + password, + + + gmt_create, + + + gmt_modify, + + + is_del, + + + + + #{id,jdbcType=INTEGER}, + + + #{userName,jdbcType=VARCHAR}, + + + #{password,jdbcType=VARCHAR}, + + + #{gmtCreate,jdbcType=TIMESTAMP}, + + + #{gmtModify,jdbcType=TIMESTAMP}, + + + #{isDel,jdbcType=INTEGER}, + + + + + + update admin_user_info + + + user_name = #{userName,jdbcType=VARCHAR}, + + + password = #{password,jdbcType=VARCHAR}, + + + gmt_create = #{gmtCreate,jdbcType=TIMESTAMP}, + + + gmt_modify = #{gmtModify,jdbcType=TIMESTAMP}, + + + is_del = #{isDel,jdbcType=INTEGER}, + + + where id = #{id,jdbcType=INTEGER} + + + update admin_user_info + set user_name = #{userName,jdbcType=VARCHAR}, + password = #{password,jdbcType=VARCHAR}, + gmt_create = #{gmtCreate,jdbcType=TIMESTAMP}, + gmt_modify = #{gmtModify,jdbcType=TIMESTAMP}, + is_del = #{isDel,jdbcType=INTEGER} + where id = #{id,jdbcType=INTEGER} + + \ No newline at end of file diff --git a/car-dao/src/main/resources/com/weiqi/mis/mapper/WxXrPemsOrderMapper.xml b/car-dao/src/main/resources/com/weiqi/mis/mapper/WxXrPemsOrderMapper.xml new file mode 100644 index 0000000..0d8df3e --- /dev/null +++ b/car-dao/src/main/resources/com/weiqi/mis/mapper/WxXrPemsOrderMapper.xml @@ -0,0 +1,650 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + ID, OrderNo, MID, MName, OrderUserId, OrderUserName, AdmissionTime, ConstructionStartTime, + PlateNumber, VIN, RegisterTime, Kilometers, DrivingLicenseSrc, VehicleSrc, VehicleType, + LinkName, LinkTel, GaugingSchemeID, GaugingSchemeName, MaintenanceSchemeID, MaintenanceSchemeName, + BrandId, BrandName, SeriesId, SeriesName, ProductionYear, EngineStructure, EngineStructureNumber, + ElectronicFuelType, TransmissionCase, DriveType, EmissionStandard, Status, create_time, + update_time, wx_xr_pems_user_id, check_up_result, wx_xr_pems_user_name, ExhaustStructure, + FactoryId, FactoryName + + + vin_content + + + + + + delete from wx_xr_pems_order + where ID = #{id,jdbcType=INTEGER} + + + insert into wx_xr_pems_order (ID, OrderNo, MID, + MName, OrderUserId, OrderUserName, + AdmissionTime, ConstructionStartTime, + PlateNumber, VIN, RegisterTime, + Kilometers, DrivingLicenseSrc, VehicleSrc, + VehicleType, LinkName, LinkTel, + GaugingSchemeID, GaugingSchemeName, MaintenanceSchemeID, + MaintenanceSchemeName, BrandId, BrandName, + SeriesId, SeriesName, ProductionYear, + EngineStructure, EngineStructureNumber, + ElectronicFuelType, TransmissionCase, DriveType, + EmissionStandard, Status, create_time, + update_time, wx_xr_pems_user_id, check_up_result, + wx_xr_pems_user_name, ExhaustStructure, FactoryId, + FactoryName, vin_content) + values (#{id,jdbcType=INTEGER}, #{orderno,jdbcType=VARCHAR}, #{mid,jdbcType=INTEGER}, + #{mname,jdbcType=VARCHAR}, #{orderuserid,jdbcType=INTEGER}, #{orderusername,jdbcType=VARCHAR}, + #{admissiontime,jdbcType=TIMESTAMP}, #{constructionstarttime,jdbcType=TIMESTAMP}, + #{platenumber,jdbcType=VARCHAR}, #{vin,jdbcType=VARCHAR}, #{registertime,jdbcType=VARCHAR}, + #{kilometers,jdbcType=REAL}, #{drivinglicensesrc,jdbcType=VARCHAR}, #{vehiclesrc,jdbcType=VARCHAR}, + #{vehicletype,jdbcType=VARCHAR}, #{linkname,jdbcType=VARCHAR}, #{linktel,jdbcType=VARCHAR}, + #{gaugingschemeid,jdbcType=INTEGER}, #{gaugingschemename,jdbcType=VARCHAR}, #{maintenanceschemeid,jdbcType=INTEGER}, + #{maintenanceschemename,jdbcType=VARCHAR}, #{brandid,jdbcType=INTEGER}, #{brandname,jdbcType=VARCHAR}, + #{seriesid,jdbcType=INTEGER}, #{seriesname,jdbcType=VARCHAR}, #{productionyear,jdbcType=VARCHAR}, + #{enginestructure,jdbcType=VARCHAR}, #{enginestructurenumber,jdbcType=INTEGER}, + #{electronicfueltype,jdbcType=VARCHAR}, #{transmissioncase,jdbcType=VARCHAR}, #{drivetype,jdbcType=VARCHAR}, + #{emissionstandard,jdbcType=VARCHAR}, #{status,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP}, + #{updateTime,jdbcType=TIMESTAMP}, #{wxXrPemsUserId,jdbcType=INTEGER}, #{checkUpResult,jdbcType=INTEGER}, + #{wxXrPemsUserName,jdbcType=VARCHAR}, #{exhauststructure,jdbcType=VARCHAR}, #{factoryid,jdbcType=INTEGER}, + #{factoryname,jdbcType=VARCHAR}, #{vinContent,jdbcType=LONGVARCHAR}) + + + insert into wx_xr_pems_order + + + ID, + + + OrderNo, + + + MID, + + + MName, + + + OrderUserId, + + + OrderUserName, + + + AdmissionTime, + + + ConstructionStartTime, + + + PlateNumber, + + + VIN, + + + RegisterTime, + + + Kilometers, + + + DrivingLicenseSrc, + + + VehicleSrc, + + + VehicleType, + + + LinkName, + + + LinkTel, + + + GaugingSchemeID, + + + GaugingSchemeName, + + + MaintenanceSchemeID, + + + MaintenanceSchemeName, + + + BrandId, + + + BrandName, + + + SeriesId, + + + SeriesName, + + + ProductionYear, + + + EngineStructure, + + + EngineStructureNumber, + + + ElectronicFuelType, + + + TransmissionCase, + + + DriveType, + + + EmissionStandard, + + + Status, + + + create_time, + + + update_time, + + + wx_xr_pems_user_id, + + + check_up_result, + + + wx_xr_pems_user_name, + + + ExhaustStructure, + + + FactoryId, + + + FactoryName, + + + vin_content, + + + + + #{id,jdbcType=INTEGER}, + + + #{orderno,jdbcType=VARCHAR}, + + + #{mid,jdbcType=INTEGER}, + + + #{mname,jdbcType=VARCHAR}, + + + #{orderuserid,jdbcType=INTEGER}, + + + #{orderusername,jdbcType=VARCHAR}, + + + #{admissiontime,jdbcType=TIMESTAMP}, + + + #{constructionstarttime,jdbcType=TIMESTAMP}, + + + #{platenumber,jdbcType=VARCHAR}, + + + #{vin,jdbcType=VARCHAR}, + + + #{registertime,jdbcType=VARCHAR}, + + + #{kilometers,jdbcType=REAL}, + + + #{drivinglicensesrc,jdbcType=VARCHAR}, + + + #{vehiclesrc,jdbcType=VARCHAR}, + + + #{vehicletype,jdbcType=VARCHAR}, + + + #{linkname,jdbcType=VARCHAR}, + + + #{linktel,jdbcType=VARCHAR}, + + + #{gaugingschemeid,jdbcType=INTEGER}, + + + #{gaugingschemename,jdbcType=VARCHAR}, + + + #{maintenanceschemeid,jdbcType=INTEGER}, + + + #{maintenanceschemename,jdbcType=VARCHAR}, + + + #{brandid,jdbcType=INTEGER}, + + + #{brandname,jdbcType=VARCHAR}, + + + #{seriesid,jdbcType=INTEGER}, + + + #{seriesname,jdbcType=VARCHAR}, + + + #{productionyear,jdbcType=VARCHAR}, + + + #{enginestructure,jdbcType=VARCHAR}, + + + #{enginestructurenumber,jdbcType=INTEGER}, + + + #{electronicfueltype,jdbcType=VARCHAR}, + + + #{transmissioncase,jdbcType=VARCHAR}, + + + #{drivetype,jdbcType=VARCHAR}, + + + #{emissionstandard,jdbcType=VARCHAR}, + + + #{status,jdbcType=INTEGER}, + + + #{createTime,jdbcType=TIMESTAMP}, + + + #{updateTime,jdbcType=TIMESTAMP}, + + + #{wxXrPemsUserId,jdbcType=INTEGER}, + + + #{checkUpResult,jdbcType=INTEGER}, + + + #{wxXrPemsUserName,jdbcType=VARCHAR}, + + + #{exhauststructure,jdbcType=VARCHAR}, + + + #{factoryid,jdbcType=INTEGER}, + + + #{factoryname,jdbcType=VARCHAR}, + + + #{vinContent,jdbcType=LONGVARCHAR}, + + + + + + update wx_xr_pems_order + + + OrderNo = #{orderno,jdbcType=VARCHAR}, + + + MID = #{mid,jdbcType=INTEGER}, + + + MName = #{mname,jdbcType=VARCHAR}, + + + OrderUserId = #{orderuserid,jdbcType=INTEGER}, + + + OrderUserName = #{orderusername,jdbcType=VARCHAR}, + + + AdmissionTime = #{admissiontime,jdbcType=TIMESTAMP}, + + + ConstructionStartTime = #{constructionstarttime,jdbcType=TIMESTAMP}, + + + PlateNumber = #{platenumber,jdbcType=VARCHAR}, + + + VIN = #{vin,jdbcType=VARCHAR}, + + + RegisterTime = #{registertime,jdbcType=VARCHAR}, + + + Kilometers = #{kilometers,jdbcType=REAL}, + + + DrivingLicenseSrc = #{drivinglicensesrc,jdbcType=VARCHAR}, + + + VehicleSrc = #{vehiclesrc,jdbcType=VARCHAR}, + + + VehicleType = #{vehicletype,jdbcType=VARCHAR}, + + + LinkName = #{linkname,jdbcType=VARCHAR}, + + + LinkTel = #{linktel,jdbcType=VARCHAR}, + + + GaugingSchemeID = #{gaugingschemeid,jdbcType=INTEGER}, + + + GaugingSchemeName = #{gaugingschemename,jdbcType=VARCHAR}, + + + MaintenanceSchemeID = #{maintenanceschemeid,jdbcType=INTEGER}, + + + MaintenanceSchemeName = #{maintenanceschemename,jdbcType=VARCHAR}, + + + BrandId = #{brandid,jdbcType=INTEGER}, + + + BrandName = #{brandname,jdbcType=VARCHAR}, + + + SeriesId = #{seriesid,jdbcType=INTEGER}, + + + SeriesName = #{seriesname,jdbcType=VARCHAR}, + + + ProductionYear = #{productionyear,jdbcType=VARCHAR}, + + + EngineStructure = #{enginestructure,jdbcType=VARCHAR}, + + + EngineStructureNumber = #{enginestructurenumber,jdbcType=INTEGER}, + + + ElectronicFuelType = #{electronicfueltype,jdbcType=VARCHAR}, + + + TransmissionCase = #{transmissioncase,jdbcType=VARCHAR}, + + + DriveType = #{drivetype,jdbcType=VARCHAR}, + + + EmissionStandard = #{emissionstandard,jdbcType=VARCHAR}, + + + Status = #{status,jdbcType=INTEGER}, + + + create_time = #{createTime,jdbcType=TIMESTAMP}, + + + update_time = #{updateTime,jdbcType=TIMESTAMP}, + + + wx_xr_pems_user_id = #{wxXrPemsUserId,jdbcType=INTEGER}, + + + check_up_result = #{checkUpResult,jdbcType=INTEGER}, + + + wx_xr_pems_user_name = #{wxXrPemsUserName,jdbcType=VARCHAR}, + + + ExhaustStructure = #{exhauststructure,jdbcType=VARCHAR}, + + + FactoryId = #{factoryid,jdbcType=INTEGER}, + + + FactoryName = #{factoryname,jdbcType=VARCHAR}, + + + vin_content = #{vinContent,jdbcType=LONGVARCHAR}, + + + where ID = #{id,jdbcType=INTEGER} + + + update wx_xr_pems_order + set OrderNo = #{orderno,jdbcType=VARCHAR}, + MID = #{mid,jdbcType=INTEGER}, + MName = #{mname,jdbcType=VARCHAR}, + OrderUserId = #{orderuserid,jdbcType=INTEGER}, + OrderUserName = #{orderusername,jdbcType=VARCHAR}, + AdmissionTime = #{admissiontime,jdbcType=TIMESTAMP}, + ConstructionStartTime = #{constructionstarttime,jdbcType=TIMESTAMP}, + PlateNumber = #{platenumber,jdbcType=VARCHAR}, + VIN = #{vin,jdbcType=VARCHAR}, + RegisterTime = #{registertime,jdbcType=VARCHAR}, + Kilometers = #{kilometers,jdbcType=REAL}, + DrivingLicenseSrc = #{drivinglicensesrc,jdbcType=VARCHAR}, + VehicleSrc = #{vehiclesrc,jdbcType=VARCHAR}, + VehicleType = #{vehicletype,jdbcType=VARCHAR}, + LinkName = #{linkname,jdbcType=VARCHAR}, + LinkTel = #{linktel,jdbcType=VARCHAR}, + GaugingSchemeID = #{gaugingschemeid,jdbcType=INTEGER}, + GaugingSchemeName = #{gaugingschemename,jdbcType=VARCHAR}, + MaintenanceSchemeID = #{maintenanceschemeid,jdbcType=INTEGER}, + MaintenanceSchemeName = #{maintenanceschemename,jdbcType=VARCHAR}, + BrandId = #{brandid,jdbcType=INTEGER}, + BrandName = #{brandname,jdbcType=VARCHAR}, + SeriesId = #{seriesid,jdbcType=INTEGER}, + SeriesName = #{seriesname,jdbcType=VARCHAR}, + ProductionYear = #{productionyear,jdbcType=VARCHAR}, + EngineStructure = #{enginestructure,jdbcType=VARCHAR}, + EngineStructureNumber = #{enginestructurenumber,jdbcType=INTEGER}, + ElectronicFuelType = #{electronicfueltype,jdbcType=VARCHAR}, + TransmissionCase = #{transmissioncase,jdbcType=VARCHAR}, + DriveType = #{drivetype,jdbcType=VARCHAR}, + EmissionStandard = #{emissionstandard,jdbcType=VARCHAR}, + Status = #{status,jdbcType=INTEGER}, + create_time = #{createTime,jdbcType=TIMESTAMP}, + update_time = #{updateTime,jdbcType=TIMESTAMP}, + wx_xr_pems_user_id = #{wxXrPemsUserId,jdbcType=INTEGER}, + check_up_result = #{checkUpResult,jdbcType=INTEGER}, + wx_xr_pems_user_name = #{wxXrPemsUserName,jdbcType=VARCHAR}, + ExhaustStructure = #{exhauststructure,jdbcType=VARCHAR}, + FactoryId = #{factoryid,jdbcType=INTEGER}, + FactoryName = #{factoryname,jdbcType=VARCHAR}, + vin_content = #{vinContent,jdbcType=LONGVARCHAR} + where ID = #{id,jdbcType=INTEGER} + + + update wx_xr_pems_order + set OrderNo = #{orderno,jdbcType=VARCHAR}, + MID = #{mid,jdbcType=INTEGER}, + MName = #{mname,jdbcType=VARCHAR}, + OrderUserId = #{orderuserid,jdbcType=INTEGER}, + OrderUserName = #{orderusername,jdbcType=VARCHAR}, + AdmissionTime = #{admissiontime,jdbcType=TIMESTAMP}, + ConstructionStartTime = #{constructionstarttime,jdbcType=TIMESTAMP}, + PlateNumber = #{platenumber,jdbcType=VARCHAR}, + VIN = #{vin,jdbcType=VARCHAR}, + RegisterTime = #{registertime,jdbcType=VARCHAR}, + Kilometers = #{kilometers,jdbcType=REAL}, + DrivingLicenseSrc = #{drivinglicensesrc,jdbcType=VARCHAR}, + VehicleSrc = #{vehiclesrc,jdbcType=VARCHAR}, + VehicleType = #{vehicletype,jdbcType=VARCHAR}, + LinkName = #{linkname,jdbcType=VARCHAR}, + LinkTel = #{linktel,jdbcType=VARCHAR}, + GaugingSchemeID = #{gaugingschemeid,jdbcType=INTEGER}, + GaugingSchemeName = #{gaugingschemename,jdbcType=VARCHAR}, + MaintenanceSchemeID = #{maintenanceschemeid,jdbcType=INTEGER}, + MaintenanceSchemeName = #{maintenanceschemename,jdbcType=VARCHAR}, + BrandId = #{brandid,jdbcType=INTEGER}, + BrandName = #{brandname,jdbcType=VARCHAR}, + SeriesId = #{seriesid,jdbcType=INTEGER}, + SeriesName = #{seriesname,jdbcType=VARCHAR}, + ProductionYear = #{productionyear,jdbcType=VARCHAR}, + EngineStructure = #{enginestructure,jdbcType=VARCHAR}, + EngineStructureNumber = #{enginestructurenumber,jdbcType=INTEGER}, + ElectronicFuelType = #{electronicfueltype,jdbcType=VARCHAR}, + TransmissionCase = #{transmissioncase,jdbcType=VARCHAR}, + DriveType = #{drivetype,jdbcType=VARCHAR}, + EmissionStandard = #{emissionstandard,jdbcType=VARCHAR}, + Status = #{status,jdbcType=INTEGER}, + create_time = #{createTime,jdbcType=TIMESTAMP}, + update_time = #{updateTime,jdbcType=TIMESTAMP}, + wx_xr_pems_user_id = #{wxXrPemsUserId,jdbcType=INTEGER}, + check_up_result = #{checkUpResult,jdbcType=INTEGER}, + wx_xr_pems_user_name = #{wxXrPemsUserName,jdbcType=VARCHAR}, + ExhaustStructure = #{exhauststructure,jdbcType=VARCHAR}, + FactoryId = #{factoryid,jdbcType=INTEGER}, + FactoryName = #{factoryname,jdbcType=VARCHAR} + where ID = #{id,jdbcType=INTEGER} + + \ No newline at end of file diff --git a/car-dao/src/main/resources/com/weiqi/mis/mapper/WxXrPemsOrderPushLogMapper.xml b/car-dao/src/main/resources/com/weiqi/mis/mapper/WxXrPemsOrderPushLogMapper.xml new file mode 100644 index 0000000..ba588ec --- /dev/null +++ b/car-dao/src/main/resources/com/weiqi/mis/mapper/WxXrPemsOrderPushLogMapper.xml @@ -0,0 +1,214 @@ + + + + + + + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + ID, OrderNo, WeiXiuOrderNo, RequestParam, Response, Step, Status, create_time, update_time, + user_id, user_name + + + + + delete from wx_xr_pems_order_push_log + where ID = #{id,jdbcType=INTEGER} + + + insert into wx_xr_pems_order_push_log (ID, OrderNo, WeiXiuOrderNo, + RequestParam, Response, Step, + Status, create_time, update_time, + user_id, user_name) + values (#{id,jdbcType=INTEGER}, #{orderno,jdbcType=VARCHAR}, #{weixiuorderno,jdbcType=VARCHAR}, + #{requestparam,jdbcType=VARCHAR}, #{response,jdbcType=VARCHAR}, #{step,jdbcType=INTEGER}, + #{status,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP}, + #{userId,jdbcType=INTEGER}, #{userName,jdbcType=VARCHAR}) + + + insert into wx_xr_pems_order_push_log + + + ID, + + + OrderNo, + + + WeiXiuOrderNo, + + + RequestParam, + + + Response, + + + Step, + + + Status, + + + create_time, + + + update_time, + + + user_id, + + + user_name, + + + + + #{id,jdbcType=INTEGER}, + + + #{orderno,jdbcType=VARCHAR}, + + + #{weixiuorderno,jdbcType=VARCHAR}, + + + #{requestparam,jdbcType=VARCHAR}, + + + #{response,jdbcType=VARCHAR}, + + + #{step,jdbcType=INTEGER}, + + + #{status,jdbcType=INTEGER}, + + + #{createTime,jdbcType=TIMESTAMP}, + + + #{updateTime,jdbcType=TIMESTAMP}, + + + #{userId,jdbcType=INTEGER}, + + + #{userName,jdbcType=VARCHAR}, + + + + + + update wx_xr_pems_order_push_log + + + OrderNo = #{orderno,jdbcType=VARCHAR}, + + + WeiXiuOrderNo = #{weixiuorderno,jdbcType=VARCHAR}, + + + RequestParam = #{requestparam,jdbcType=VARCHAR}, + + + Response = #{response,jdbcType=VARCHAR}, + + + Step = #{step,jdbcType=INTEGER}, + + + Status = #{status,jdbcType=INTEGER}, + + + create_time = #{createTime,jdbcType=TIMESTAMP}, + + + update_time = #{updateTime,jdbcType=TIMESTAMP}, + + + user_id = #{userId,jdbcType=INTEGER}, + + + user_name = #{userName,jdbcType=VARCHAR}, + + + where ID = #{id,jdbcType=INTEGER} + + + update wx_xr_pems_order_push_log + set OrderNo = #{orderno,jdbcType=VARCHAR}, + WeiXiuOrderNo = #{weixiuorderno,jdbcType=VARCHAR}, + RequestParam = #{requestparam,jdbcType=VARCHAR}, + Response = #{response,jdbcType=VARCHAR}, + Step = #{step,jdbcType=INTEGER}, + Status = #{status,jdbcType=INTEGER}, + create_time = #{createTime,jdbcType=TIMESTAMP}, + update_time = #{updateTime,jdbcType=TIMESTAMP}, + user_id = #{userId,jdbcType=INTEGER}, + user_name = #{userName,jdbcType=VARCHAR} + where ID = #{id,jdbcType=INTEGER} + + \ No newline at end of file diff --git a/car-mis/.gitignore b/car-mis/.gitignore new file mode 100644 index 0000000..a4c6f0c --- /dev/null +++ b/car-mis/.gitignore @@ -0,0 +1,31 @@ +HELP.md +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/** +!**/src/test/** + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ + +### VS Code ### +.vscode/ diff --git a/car-mis/pom.xml b/car-mis/pom.xml new file mode 100644 index 0000000..a165112 --- /dev/null +++ b/car-mis/pom.xml @@ -0,0 +1,275 @@ + + + + carmis + com.weiqi + 0.0.1-SNAPSHOT + + 4.0.0 + + car-mis + war + + 1.8 + + + + ma.glasnost.orika + orika-core + 1.5.4 + + + + + + ch.qos.logback + logback-classic + 1.2.3 + + + + org.springframework.boot + spring-boot-starter-web + + + + mysql + mysql-connector-java + runtime + + + + + org.springframework.boot + spring-boot-starter-test + test + + + + junit + junit + 4.12 + + + + org.mybatis.spring.boot + mybatis-spring-boot-starter + 1.3.1 + + + + org.mybatis + mybatis + 3.4.1 + + + org.springframework.boot + spring-boot-starter-thymeleaf + + + + + + + + + + org.springframework.boot + spring-boot-starter-thymeleaf + + + nz.net.ultraq.thymeleaf + thymeleaf-layout-dialect + + + + antlr + antlr + 2.7.7 + + + + com.google.guava + guava + 21.0 + + + + net.sourceforge.nekohtml + nekohtml + 1.9.22 + + + + org.springframework.boot + spring-boot-starter-thymeleaf + + + + + org.elasticsearch + elasticsearch + 6.3.2 + + + + + org.springframework.boot + spring-boot-starter-aop + + + + com.alibaba + druid + 1.1.2 + + + + + com.alibaba + fastjson + 1.2.61 + + + com.weiqi + car-service + 0.0.1-SNAPSHOT + + + + com.alibaba + easyexcel + 1.0.4 + + + + + org.apache.poi + poi + 3.17 + + + + org.apache.poi + poi-ooxml + 3.17 + + + + org.apache.poi + poi-scratchpad + 3.17 + + + + com.google.code.gson + gson + + + + com.xuxueli + xxl-job-core + 2.3.1 + + + + + + test + + test + + + true + + + + dev + + dev + + + + + prod + + prod + + + + yz + + yz + + + + hw + + hw + + + + lf + + lf + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + exec + + + + + + + src/main/webapp + + + src/main/resources + + application-${activatedProperties}.properties + application.properties + **/*.xml + **/*.properties + config/* + templates/** + static/** + + true + + + src/main/java + + **/*.xml + config/* + + + + + + + + + releases + + http://repo.corpweiqi.com/nexus/content/repositories/releases/ + + + + snapshots + + http://repo.corpweiqi.com/nexus/content/repositories/snapshots/ + + + + + + \ No newline at end of file diff --git a/car-mis/src/main/java/com/alibaba/excel/read/SaxAnalyserV07.java b/car-mis/src/main/java/com/alibaba/excel/read/SaxAnalyserV07.java new file mode 100644 index 0000000..9f6e486 --- /dev/null +++ b/car-mis/src/main/java/com/alibaba/excel/read/SaxAnalyserV07.java @@ -0,0 +1,280 @@ +package com.alibaba.excel.read; + +import com.alibaba.excel.metadata.Sheet; +import com.alibaba.excel.read.context.AnalysisContext; +import com.alibaba.excel.read.exception.ExcelAnalysisException; +import com.alibaba.excel.read.v07.RowHandler; +import com.alibaba.excel.read.v07.XMLTempFile; +import com.alibaba.excel.read.v07.XmlParserFactory; +import com.alibaba.excel.util.FileUtil; +import org.apache.poi.xssf.model.SharedStringsTable; +import org.apache.xmlbeans.XmlException; +import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTWorkbook; +import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTWorkbookPr; +import org.openxmlformats.schemas.spreadsheetml.x2006.main.WorkbookDocument; +import org.xml.sax.Attributes; +import org.xml.sax.ContentHandler; +import org.xml.sax.SAXException; +import org.xml.sax.helpers.DefaultHandler; + +import javax.xml.parsers.ParserConfigurationException; +import java.io.*; +import java.util.*; + +public class SaxAnalyserV07 extends BaseSaxAnalyser { + + private SharedStringsTable sharedStringsTable; + + private List sharedStringList = new LinkedList(); + + private List sheetSourceList = new ArrayList(); + + private boolean use1904WindowDate = false; + + private final String path; + + private File tmpFile; + + private String workBookXMLFilePath; + + private String sharedStringXMLFilePath; + + public SaxAnalyserV07(AnalysisContext analysisContext) throws Exception { + this.analysisContext = analysisContext; + this.path = XMLTempFile.createPath(); + this.tmpFile = new File(XMLTempFile.getTmpFilePath(path)); + this.workBookXMLFilePath = XMLTempFile.getWorkBookFilePath(path); + this.sharedStringXMLFilePath = XMLTempFile.getSharedStringFilePath(path); + start(); + } + + @Override + protected void execute() { + try { + Sheet sheet = analysisContext.getCurrentSheet(); + if (!isAnalysisAllSheets(sheet)) { + if (this.sheetSourceList.size() < sheet.getSheetNo() || sheet.getSheetNo() == 0) { + return; + } + InputStream sheetInputStream = this.sheetSourceList.get(sheet.getSheetNo() - 1).getInputStream(); + parseXmlSource(sheetInputStream); + return; + } + int i = 0; + for (SheetSource sheetSource : this.sheetSourceList) { + i++; + this.analysisContext.setCurrentSheet(new Sheet(i)); + parseXmlSource(sheetSource.getInputStream()); + } + + } catch (Exception e) { + stop(); + throw new ExcelAnalysisException(e); + } finally { + } + + } + + private boolean isAnalysisAllSheets(Sheet sheet) { + if (sheet == null) { + return true; + } + if (sheet.getSheetNo() < 0) { + return true; + } + return false; + } + + public void stop() { + FileUtil.deletefile(path); + } + + private void parseXmlSource(InputStream inputStream) { + try { + ContentHandler handler = new RowHandler(this, this.sharedStringsTable, this.analysisContext, + sharedStringList); + XmlParserFactory.parse(inputStream, handler); + inputStream.close(); + } catch (Exception e) { + try { + inputStream.close(); + } catch (IOException e1) { + e1.printStackTrace(); + } + throw new ExcelAnalysisException(e); + } + } + + public List getSheets() { + List sheets = new ArrayList(); + try { + int i = 1; + for (SheetSource sheetSource : this.sheetSourceList) { + Sheet sheet = new Sheet(i, 0); + sheet.setSheetName(sheetSource.getSheetName()); + i++; + sheets.add(sheet); + } + } catch (Exception e) { + stop(); + throw new ExcelAnalysisException(e); + } finally { + + } + + return sheets; + } + + private void start() throws IOException, XmlException, ParserConfigurationException, SAXException { + + createTmpFile(); + + unZipTempFile(); + + initSharedStringsTable(); + + initUse1904WindowDate(); + + initSheetSourceList(); + + } + + private void createTmpFile() throws FileNotFoundException { + FileUtil.writeFile(tmpFile, analysisContext.getInputStream()); + } + + private void unZipTempFile() throws IOException { + FileUtil.doUnZip(path, tmpFile); + } + + private void initSheetSourceList() throws IOException, ParserConfigurationException, SAXException { + this.sheetSourceList = new ArrayList(); + InputStream workbookXml = new FileInputStream(this.workBookXMLFilePath); + XmlParserFactory.parse(workbookXml, new DefaultHandler() { + @Override + public void startElement(String uri, String localName, String qName, Attributes attrs) throws SAXException { + if (qName.toLowerCase(Locale.US).equals("sheet")) { + String name = null; + int id = 0; + for (int i = 0; i < attrs.getLength(); i++) { + if (attrs.getLocalName(i).toLowerCase(Locale.US).equals("name")) { + name = attrs.getValue(i); + }/** else if (attrs.getLocalName(i).toLowerCase(Locale.US).equals("r:id")) { + id = Integer.parseInt(attrs.getValue(i).replaceAll("rId", "")); + try { + InputStream inputStream = new FileInputStream(XMLTempFile.getSheetFilePath(path, id)); + sheetSourceList.add(new SheetSource(id, name, inputStream)); + } catch (FileNotFoundException e) { + e.printStackTrace(); + } + } **/ + //应该使用sheetId属性 + else if (attrs.getLocalName(i).toLowerCase(Locale.US).equals("sheetid")) { +// id = Integer.parseInt(attrs.getValue(i)); + id = 1;//系统bug,默认获取第一个sheet + try { + InputStream inputStream = new FileInputStream(XMLTempFile.getSheetFilePath(path, id)); + sheetSourceList.add(new SheetSource(id, name, inputStream)); + } catch (FileNotFoundException e) { + e.printStackTrace(); + } + } + } + + } + } + + }); + workbookXml.close(); + // 排序后是倒序,不符合实际要求 + // Collections.sort(sheetSourceList); + Collections.sort(sheetSourceList, new Comparator() { + @Override + public int compare(SheetSource o1, SheetSource o2) { + return o1.id - o2.id; + } + }); + } + + private void initUse1904WindowDate() throws IOException, XmlException { + InputStream workbookXml = new FileInputStream(workBookXMLFilePath); + WorkbookDocument ctWorkbook = WorkbookDocument.Factory.parse(workbookXml); + CTWorkbook wb = ctWorkbook.getWorkbook(); + CTWorkbookPr prefix = wb.getWorkbookPr(); + if (prefix != null) { + this.use1904WindowDate = prefix.getDate1904(); + } + this.analysisContext.setUse1904WindowDate(use1904WindowDate); + workbookXml.close(); + } + + private void initSharedStringsTable() throws IOException, ParserConfigurationException, SAXException { + //因为sharedStrings.xml文件不一定存在,所以在处理之前增加判断 + File sharedStringXMLFile = new File(this.sharedStringXMLFilePath); + if (!sharedStringXMLFile.exists()) { + return; + } + InputStream inputStream = new FileInputStream(this.sharedStringXMLFilePath); + //this.sharedStringsTable = new SharedStringsTable(); + //this.sharedStringsTable.readFrom(inputStream); + + XmlParserFactory.parse(inputStream, new DefaultHandler() { + @Override + public void characters(char[] ch, int start, int length) { + sharedStringList.add(new String(ch, start, length)); + } + + }); + inputStream.close(); + } + + private class SheetSource implements Comparable { + + private int id; + + private String sheetName; + + private InputStream inputStream; + + public SheetSource(int id, String sheetName, InputStream inputStream) { + this.id = id; + this.sheetName = sheetName; + this.inputStream = inputStream; + } + + public String getSheetName() { + return sheetName; + } + + public void setSheetName(String sheetName) { + this.sheetName = sheetName; + } + + public InputStream getInputStream() { + return inputStream; + } + + public void setInputStream(InputStream inputStream) { + this.inputStream = inputStream; + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public int compareTo(SheetSource o) { + if (o.id == this.id) { + return 0; + } else if (o.id > this.id) { + return 1; + } else { + return -1; + } + } + } + +} diff --git a/car-mis/src/main/java/com/weiqi/mis/MisApplication.java b/car-mis/src/main/java/com/weiqi/mis/MisApplication.java new file mode 100644 index 0000000..f97c6c3 --- /dev/null +++ b/car-mis/src/main/java/com/weiqi/mis/MisApplication.java @@ -0,0 +1,17 @@ +package com.weiqi.mis; + +import org.mybatis.spring.annotation.MapperScan; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.scheduling.annotation.EnableAsync; + +@MapperScan(basePackages = { "com.weiqi.mis.mapper"}) +@SpringBootApplication +@EnableAsync +public class MisApplication { + + public static void main(String[] args) { + SpringApplication.run(MisApplication.class, args); + } + +} diff --git a/car-mis/src/main/java/com/weiqi/mis/ServletInitializer.java b/car-mis/src/main/java/com/weiqi/mis/ServletInitializer.java new file mode 100644 index 0000000..41496da --- /dev/null +++ b/car-mis/src/main/java/com/weiqi/mis/ServletInitializer.java @@ -0,0 +1,15 @@ +package com.weiqi.mis; + +import org.springframework.boot.builder.SpringApplicationBuilder; +import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; +//import org.springframework.boot.web.support.SpringBootServletInitializer; + + +public class ServletInitializer extends SpringBootServletInitializer { + + @Override + protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { + return application.sources(MisApplication.class); + } + +} diff --git a/car-mis/src/main/java/com/weiqi/mis/config/JobLog.java b/car-mis/src/main/java/com/weiqi/mis/config/JobLog.java new file mode 100644 index 0000000..fe19436 --- /dev/null +++ b/car-mis/src/main/java/com/weiqi/mis/config/JobLog.java @@ -0,0 +1,77 @@ +package com.weiqi.mis.config; + +import com.weiqi.mis.DateUtil; +import com.xxl.job.core.context.XxlJobContext; +import com.xxl.job.core.log.XxlJobFileAppender; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.PrintWriter; +import java.io.StringWriter; +import java.util.Date; + +public class JobLog { + private static final Logger logger = LoggerFactory.getLogger("xxl-job logger"); + + public static void info(String appendLog) { + String formatAppendLog = formatLog(appendLog); + if (XxlJobContext.getXxlJobContext() == null) { + logger.info(appendLog); + return; + } + String jobLogFileName = XxlJobContext.getXxlJobContext() == null ? null : XxlJobContext.getXxlJobContext().getJobLogFileName(); + if (jobLogFileName != null && jobLogFileName.trim().length() != 0) { + XxlJobFileAppender.appendLog(jobLogFileName, formatAppendLog); + logger.info("[{}]: {}", jobLogFileName, appendLog); + } else { + logger.info(appendLog); + } + } + + public static void warn(String appendLog) { + String formatAppendLog = formatLog(appendLog); + if (XxlJobContext.getXxlJobContext() == null) { + logger.warn(appendLog); + return; + } + String jobLogFileName = XxlJobContext.getXxlJobContext().getJobLogFileName(); + if (jobLogFileName != null && jobLogFileName.trim().length() != 0) { + XxlJobFileAppender.appendLog(jobLogFileName, formatAppendLog); + logger.warn("[{}]: {}", jobLogFileName, appendLog); + } else { + logger.warn(appendLog); + } + } + + public static void error(String appendLog, Throwable e) { + String formatAppendLog = formatLog(appendLog); + if (XxlJobContext.getXxlJobContext() == null) { + logger.error(appendLog, e); + return; + } + String jobLogFileName = XxlJobContext.getXxlJobContext().getJobLogFileName(); + if (jobLogFileName != null && jobLogFileName.trim().length() != 0) { + XxlJobFileAppender.appendLog(jobLogFileName, formatAppendLog); + StringWriter out = new StringWriter(); + PrintWriter pr = new PrintWriter(out); + e.printStackTrace(pr); + XxlJobFileAppender.appendLog(jobLogFileName, out.toString()); + + logger.error("[{}]: {}", jobLogFileName, appendLog, e); + } else { + logger.error(appendLog, e); + } + } + + private static String formatLog(String appendLog) { + StackTraceElement[] stackTraceElements = (new Throwable()).getStackTrace(); + StackTraceElement callInfo = stackTraceElements[1]; + String formatLocalDateTime = DateUtil.Date2String (new Date(),"yyyy-MM-dd HH:mm:ss"); + return formatLocalDateTime + " [" + + callInfo.getClassName() + "]-[" + + callInfo.getMethodName() + "]-[" + + callInfo.getLineNumber() + "]-[" + + Thread.currentThread().getName() + "] " + + (appendLog != null ? appendLog : ""); + } +} diff --git a/car-mis/src/main/java/com/weiqi/mis/config/ScheduleConfig.java b/car-mis/src/main/java/com/weiqi/mis/config/ScheduleConfig.java new file mode 100644 index 0000000..42aaf5c --- /dev/null +++ b/car-mis/src/main/java/com/weiqi/mis/config/ScheduleConfig.java @@ -0,0 +1,23 @@ +package com.weiqi.mis.config; + +import org.springframework.context.annotation.Configuration; +import org.springframework.scheduling.annotation.EnableScheduling; +import org.springframework.scheduling.annotation.SchedulingConfigurer; +import org.springframework.scheduling.config.ScheduledTaskRegistrar; + +import java.util.concurrent.Executors; + +@Configuration + +@EnableScheduling +/** + * 定时任务使用多线程操作,防止单线程单独任务执行时间过长导致任务延迟 + */ +public class ScheduleConfig implements SchedulingConfigurer { + + @Override + public void configureTasks(ScheduledTaskRegistrar taskRegistrar) { + taskRegistrar.setScheduler(Executors.newScheduledThreadPool(6)); + } + +} \ No newline at end of file diff --git a/car-mis/src/main/java/com/weiqi/mis/config/XxlJobConfig.java b/car-mis/src/main/java/com/weiqi/mis/config/XxlJobConfig.java new file mode 100644 index 0000000..e35eaf5 --- /dev/null +++ b/car-mis/src/main/java/com/weiqi/mis/config/XxlJobConfig.java @@ -0,0 +1,52 @@ +package com.weiqi.mis.config; + +import com.xxl.job.core.executor.impl.XxlJobSpringExecutor; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@ConditionalOnProperty(name = "xxl.job.enable", havingValue = "true", matchIfMissing = false) +@Configuration +public class XxlJobConfig { + private Logger logger = LoggerFactory.getLogger(XxlJobConfig.class); + + @Value("${xxl.job.admin.addresses}") + private String adminAddresses; + + @Value("${xxl.job.executor.appname}") + private String appName; + + @Value("${xxl.job.executor.bindip}") + private String ip; + + @Value("${xxl.job.executor.port}") + private int port; + + @Value("${xxl.job.accessToken}") + private String accessToken; + + @Value("${xxl.job.executor.logpath}") + private String logPath; + + @Value("${xxl.job.executor.logretentiondays}") + private int logRetentionDays; + + + @Bean + public XxlJobSpringExecutor xxlJobExecutor() { + XxlJobSpringExecutor xxlJobSpringExecutor = new XxlJobSpringExecutor(); + xxlJobSpringExecutor.setAdminAddresses(adminAddresses); + xxlJobSpringExecutor.setAppname(appName); + xxlJobSpringExecutor.setIp(ip); + xxlJobSpringExecutor.setPort(port); + xxlJobSpringExecutor.setAccessToken(accessToken); + xxlJobSpringExecutor.setLogPath(logPath); + xxlJobSpringExecutor.setLogRetentionDays(logRetentionDays); + + return xxlJobSpringExecutor; + } + +} \ No newline at end of file diff --git a/car-mis/src/main/java/com/weiqi/mis/contorller/BaseController.java b/car-mis/src/main/java/com/weiqi/mis/contorller/BaseController.java new file mode 100644 index 0000000..681b93c --- /dev/null +++ b/car-mis/src/main/java/com/weiqi/mis/contorller/BaseController.java @@ -0,0 +1,86 @@ +package com.weiqi.mis.contorller; + +import com.weiqi.mis.MD5Util; +import com.weiqi.mis.UserService; +import com.weiqi.mis.annotation.LoginType; +import com.weiqi.mis.domain.AdminUserInfo; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; +import java.util.List; + +/** + * 登录转发 + */ +@Controller +@RequestMapping(value = "mis") +public class BaseController { + private static final Logger logger = LoggerFactory.getLogger(BaseController.class); + + @Autowired + UserService userService; + + @RequestMapping("/index") + @LoginType + public Object toIndex(){ + return "sms/index"; + } + + @RequestMapping("/login") + public Object login(){ + //System.out.println("sms/login"); + return "sms/login"; + } + + /** + * 登录接口 + * @param request + * @param response + * @param token + * @return + */ + @RequestMapping("/toLogin") + @ResponseBody + public Object toLogin(HttpServletRequest request,HttpServletResponse response, String username, String token){ + logger.info("username={},token={}",username,token); + List userInfoList = userService.getUserInfo(username, token); + if(userInfoList!=null&&userInfoList.size()>=1){ + AdminUserInfo adminUserInfo = userInfoList.get(0); + if(adminUserInfo.getUserName().equals(username)&&token.equals(adminUserInfo.getPassword())){ + HttpSession session = request.getSession(); + session.setAttribute("USER", MD5Util.md5(token)); // "USER" 是我们给Session中存储的用户名的键 + session.setMaxInactiveInterval(30*60); // 比如这里设置为30分钟 + return "1"; + }else { + //验证失败 + return "0"; + } + + } + return "0"; + +// HttpSession session = request.getSession(); + +// if (StringUtils.isNotBlank(token) && "dxadmin".equals(token)){ +// +// +// //验证成功 +//// session.setAttribute("Token","smsadmin"); +// CookieUtil.addCookie(response, "DXToken", MD5Util.md5("dsadmin"), "/metrics"); +//// session.setMaxInactiveInterval(1 * 60 * 60); +// return "1"; +// }else { +// //验证失败 +// return "0"; +// } + } + + +} diff --git a/car-mis/src/main/java/com/weiqi/mis/contorller/CallableTask.java b/car-mis/src/main/java/com/weiqi/mis/contorller/CallableTask.java new file mode 100644 index 0000000..e33ff0f --- /dev/null +++ b/car-mis/src/main/java/com/weiqi/mis/contorller/CallableTask.java @@ -0,0 +1,167 @@ +package com.weiqi.mis.contorller; + + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.weiqi.mis.HttpUtil; +import com.weiqi.vo.WightVo; + + +import java.util.concurrent.Callable; + + +/** + * @Description 回调方法 + * @author yyy + * @date 2019/8/1 下午3:16 + */ +public class CallableTask implements Callable { + String url; + Integer id; + String des; + int type; + String host; + + + public CallableTask(String url, int id, String des,int type, String host) { + super(); + this.url = url; + this.id = id; + this.des = des; + this.type = type; + this.host = host; + + } + + @Override + public WightVo call() throws Exception { + + WightVo v = getwight(url, id, des,type,host); + return v; + + } + + + /** + * + * @param url + * @param id + * @param des + * @param type 1 权重 2 流量 + * @return + */ + + public WightVo getwight(String url, int id, String des,int type,String host){ + String result = ""; + WightVo wightVo =null; + try{ + if(type==1){ + result = HttpUtil.sendPostRequest("http://" + url + "/api/sms/getlb?_appid=test", null,host); + JSONArray jsa = JSONArray.parseArray(result); + wightVo = init(url,id,des,jsa); + }else if(type==2){ + //调用权重接口 + result = HttpUtil.sendPostRequest("http://" + url + "/api/sms/getFlow?_appid=test", null,host); + JSONObject jsa = JSONObject.parseObject(result); + wightVo = initflow(url,id,des,jsa); + }else if(type==3){ + //调用权重接口 + result = HttpUtil.sendPostRequest("http://" + url + "/api/sms/getKafkaCluster?_appid=test", null,host); + JSONObject jsa = JSONObject.parseObject(result); + wightVo = initCluster(url,id,des,jsa); + } + + + }catch (Exception e){ + wightVo = initerror(url,id,des,e.getMessage()); + } + + return wightVo; + } + + /**初始化权重列表 + * + * @param url + * @param id + * @param name + * @param jsa + * @return + */ + public WightVo init(String url,int id,String name, JSONArray jsa ) { + + WightVo wightVo = new WightVo(); + for(int i =0 ;i map = new HashMap<>(); + String path1 = this.getClass().getClassLoader().getResource("/").getPath(); + + map.put("path1",path1); + + String jdlj = this.getClass().getClassLoader().getResource(".").getPath(); + map.put("jdlj",jdlj); + + + if(SpAddr.path.equals("")){ + StringUtils.getPath(this.getClass().getClassLoader().getResource("/").getPath()); + } + InetAddress ia=null; + try { + ia=ia.getLocalHost(); + + String localname=ia.getHostName(); + String localip=ia.getHostAddress(); + System.out.println("本机名称是:"+ localname); + System.out.println("本机的ip是 :"+localip); + map.put("localname",localname); + map.put("localip",localip); +// map.put("getLocalIPList", IPUtil.getLocalIPList().toString()); + } catch (Exception e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + + + + return map; + } + + + + + +} diff --git a/car-mis/src/main/java/com/weiqi/mis/contorller/CorsConfig.java b/car-mis/src/main/java/com/weiqi/mis/contorller/CorsConfig.java new file mode 100644 index 0000000..b149f19 --- /dev/null +++ b/car-mis/src/main/java/com/weiqi/mis/contorller/CorsConfig.java @@ -0,0 +1,136 @@ +package com.weiqi.mis.contorller; +// +//import org.springframework.context.annotation.Bean; +//import org.springframework.context.annotation.Configuration; +//import org.springframework.format.FormatterRegistry; +//import org.springframework.http.converter.HttpMessageConverter; +//import org.springframework.validation.MessageCodesResolver; +//import org.springframework.validation.Validator; +//import org.springframework.web.method.support.HandlerMethodArgumentResolver; +//import org.springframework.web.method.support.HandlerMethodReturnValueHandler; +//import org.springframework.web.servlet.HandlerExceptionResolver; +//import org.springframework.web.servlet.config.annotation.*; +// +//import java.util.List; +// +//@Configuration +//public class CorsConfig { +// +// @Bean +// public WebMvcConfigurer corsConfigurer() { +// return new WebMvcConfigurer() { +// @Override +// public void configurePathMatch(PathMatchConfigurer configurer) { +// +// } +// +// @Override +// public void configureContentNegotiation(ContentNegotiationConfigurer configurer) { +// +// } +// +// @Override +// public void configureAsyncSupport(AsyncSupportConfigurer configurer) { +// +// } +// +// @Override +// public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) { +// +// } +// +// @Override +// public void addFormatters(FormatterRegistry registry) { +// +// } +// +// @Override +// public void addInterceptors(InterceptorRegistry registry) { +// +// } +// +// @Override +// public void addResourceHandlers(ResourceHandlerRegistry registry) { +// +// } +// +// @Override +// public void addCorsMappings(CorsRegistry registry) { +// registry.addMapping("/metrics/sms/callback/chart2/api/show/**") +// .allowedHeaders("*") +// .allowedMethods("*") +// .allowedOrigins("*") +// .allowCredentials(true); +// } +// +// @Override +// public void addViewControllers(ViewControllerRegistry registry) { +// +// } +// +// @Override +// public void configureViewResolvers(ViewResolverRegistry registry) { +// +// } +// +// @Override +// public void addArgumentResolvers(List argumentResolvers) { +// +// } +// +// @Override +// public void addReturnValueHandlers(List returnValueHandlers) { +// +// } +// +// @Override +// public void configureMessageConverters(List> converters) { +// +// } +// +// @Override +// public void extendMessageConverters(List> converters) { +// +// } +// +// @Override +// public void configureHandlerExceptionResolvers(List exceptionResolvers) { +// +// } +// +// @Override +// public void extendHandlerExceptionResolvers(List exceptionResolvers) { +// +// } +// +// @Override +// public Validator getValidator() { +// return null; +// } +// +// @Override +// public MessageCodesResolver getMessageCodesResolver() { +// return null; +// } +// }; +// } +// +// +//} + +import org.springframework.context.annotation.Configuration; +import org.springframework.web.servlet.config.annotation.CorsRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; + +@Configuration +public class CorsConfig extends WebMvcConfigurerAdapter { + + @Override + public void addCorsMappings(CorsRegistry registry) { + registry.addMapping("/**") + .allowedOrigins("*") + .allowCredentials(true) + .allowedMethods("GET", "POST", "DELETE", "PUT") + .maxAge(3600); + } +} \ No newline at end of file diff --git a/car-mis/src/main/java/com/weiqi/mis/export/SmsListExcel.java b/car-mis/src/main/java/com/weiqi/mis/export/SmsListExcel.java new file mode 100644 index 0000000..4ee6a04 --- /dev/null +++ b/car-mis/src/main/java/com/weiqi/mis/export/SmsListExcel.java @@ -0,0 +1,77 @@ +//package com.weiqi.mis.export; +// +//import org.apache.poi.ss.usermodel.Row; +//import org.apache.poi.ss.usermodel.Sheet; +//import org.apache.poi.ss.usermodel.Workbook; +//import org.springframework.web.servlet.view.document.AbstractXlsView; +// +//import javax.servlet.http.HttpServletRequest; +//import javax.servlet.http.HttpServletResponse; +//import java.io.OutputStream; +//import java.util.List; +//import java.util.Map; +// +//public class SmsListExcel extends AbstractXlsView { +// +// +// @Override +// protected void buildExcelDocument(Map model, Workbook workbook, HttpServletRequest request, HttpServletResponse response) throws Exception { +// +// // change the file name +//// response.setHeader("Content-Disposition", "attachment; filename=\"my-xls-file.xls\""); +//// +//// @SuppressWarnings("unchecked") +//// List courses = (List) model.get("courses"); +//// +//// // create excel xls sheet +//// Sheet sheet = workbook.createSheet("下行列表"); +//// +//// // create header row +//// Row header = sheet.createRow(0); +//// sheet.setColumnWidth(1, 2000*2 ); +//// sheet.setColumnWidth(2, 2000*3 ); +//// sheet.setColumnWidth(4, 2000 * 13); +//// initHead(header); +//// +//// +//// int rowCount = 1; +//// for (SmsSend course : courses) { +//// Row courseRow = sheet.createRow(rowCount++); +//// courseRow.createCell(0).setCellValue(course.getAppid()); +//// courseRow.createCell(1).setCellValue(course.getSp()); +//// courseRow.createCell(2).setCellValue(course.getRsaMobile()); +//// courseRow.createCell(3).setCellValue(course.getMobile()); +//// courseRow.createCell(4).setCellValue(course.getMessage()); +//// courseRow.createCell(5).setCellValue(course.getMd5Mobile()); +//// courseRow.createCell(6).setCellValue(course.getReportDesc()); +//// } +//// +//// +//// String filename = "sms.xls";// 设置下载时客户端Excel的名称 +//// response.setContentType("application/vnd.ms-excel;charset=UTF-8"); +//// response.setCharacterEncoding("UTF-8"); +//// response.setHeader("Content-disposition", "attachment;filename=" + filename); +//// OutputStream ouputStream = response.getOutputStream(); +//// workbook.write(ouputStream); +//// ouputStream.flush(); +//// ouputStream.close(); +//// +//// } +//// +//// +//// public void initHead(Row header) { +//// +//// header.createCell(0).setCellValue("业务线"); +//// header.createCell(1).setCellValue("SP通道"); +//// header.createCell(2).setCellValue("发送时间"); +//// header.createCell(3).setCellValue("接收者号码"); +//// header.createCell(4).setCellValue("内容"); +//// header.createCell(5).setCellValue("状态"); +//// header.createCell(6).setCellValue("备注"); +//// +// } +// +// +//} +// +// diff --git a/car-mis/src/main/java/com/weiqi/mis/redis/RedisListenerConfig.java b/car-mis/src/main/java/com/weiqi/mis/redis/RedisListenerConfig.java new file mode 100644 index 0000000..c9f7401 --- /dev/null +++ b/car-mis/src/main/java/com/weiqi/mis/redis/RedisListenerConfig.java @@ -0,0 +1,108 @@ +//package com.weiqi.mis.redis; +// +//import org.springframework.context.annotation.Bean; +//import org.springframework.context.annotation.Configuration; +//import org.springframework.data.redis.connection.RedisConnectionFactory; +//import org.springframework.data.redis.core.StringRedisTemplate; +//import org.springframework.data.redis.listener.PatternTopic; +//import org.springframework.data.redis.listener.RedisMessageListenerContainer; +//import org.springframework.data.redis.listener.adapter.MessageListenerAdapter; +// +//@Configuration +//public class RedisListenerConfig { +// +// public static final String sms_redisqueue_channel = "sms_redisqueue"; +// public static final String sms_redisqueue_total_channel = "sms_redisqueue_total"; +// public static final String sms_redis_kg_channel = "sms_redi_kg_channel"; +// public static final String sms_redis_wg_channel = "sms_redi_wg_channel"; +// public static final String sms_redis_headbeat = "headbeat"; +// +// /** +// * redis消息监听器容器 可以添加多个监听不同话题的redis监听器,只需要把消息监听器和相应的消息订阅处理器绑定,该消息监听器 通过反射技术调用消息订阅处理器的相关方法进行一些业务处理 +// * +// * @param connectionFactory +// * @param listenerAdapter +// * @return +// */ +// @Bean +// RedisMessageListenerContainer container(RedisConnectionFactory connectionFactory, +// MessageListenerAdapter listenerAdapter, MessageListenerAdapter listenerAdapter2, +// MessageListenerAdapter listenerAdapterkg,MessageListenerAdapter listenerAdapterwg,MessageListenerAdapter listenerAdapterhb) { +// RedisMessageListenerContainer container = new RedisMessageListenerContainer(); +// container.setConnectionFactory(connectionFactory); +// +// // 可以添加多个 messageListener +// container.addMessageListener(listenerAdapter, new PatternTopic(sms_redisqueue_channel)); +// container.addMessageListener(listenerAdapter2, new PatternTopic(sms_redisqueue_total_channel)); +// container.addMessageListener(listenerAdapterkg, new PatternTopic(sms_redis_kg_channel)); +// container.addMessageListener(listenerAdapterwg, new PatternTopic(sms_redis_wg_channel)); +// container.addMessageListener(listenerAdapterhb, new PatternTopic(sms_redis_headbeat)); +// +// return container; +// } +// +// /** +// * 消息监听器适配器,绑定消息处理器,利用反射技术调用消息处理器的业务方法 +// * +// * @param redisReceiver +// * @return +// */ +// @Bean +// MessageListenerAdapter listenerAdapter(RedisReceiver redisReceiver) { +// +// return new MessageListenerAdapter(redisReceiver, "receiveMessage"); +// } +// +// /** +// * 消息监听器适配器,绑定消息处理器,利用反射技术调用消息处理器的业务方法 +// * +// * @param redisReceiver +// * @return +// */ +// @Bean +// MessageListenerAdapter listenerAdapter2(RedisReceiver redisReceiver) { +// +// return new MessageListenerAdapter(redisReceiver, "receiveMessage2"); +// } +// +// /** +// * 消息监听器适配器,绑定消息处理器,利用反射技术调用消息处理器的业务方法 +// * +// * @param redisReceiver +// * @return +// */ +// @Bean +// MessageListenerAdapter listenerAdapterkg(RedisReceiver redisReceiver) { +// +// return new MessageListenerAdapter(redisReceiver, "receiveMessage3"); +// } +// +// /** +// * 消息监听器适配器,绑定消息处理器,利用反射技术调用消息处理器的业务方法 +// * +// * @param redisReceiver +// * @return +// */ +// @Bean +// MessageListenerAdapter listenerAdapterwg(RedisReceiver redisReceiver) { +// +// return new MessageListenerAdapter(redisReceiver, "receiveMessage4"); +// } +// /** +// * 心跳 +// * +// * @param redisReceiver +// * @return +// */ +// @Bean +// MessageListenerAdapter listenerAdapterhb(RedisReceiver redisReceiver) { +// +// return new MessageListenerAdapter(redisReceiver, "receiveMessage5"); +// } +// +// // 使用默认的工厂初始化redis操作模板 +// @Bean +// StringRedisTemplate template(RedisConnectionFactory connectionFactory) { +// return new StringRedisTemplate(connectionFactory); +// } +//} \ No newline at end of file diff --git a/car-mis/src/main/java/com/weiqi/mis/redis/RedisReceiver.java b/car-mis/src/main/java/com/weiqi/mis/redis/RedisReceiver.java new file mode 100644 index 0000000..8163cba --- /dev/null +++ b/car-mis/src/main/java/com/weiqi/mis/redis/RedisReceiver.java @@ -0,0 +1,85 @@ +//package com.weiqi.mis.redis; +// +//import com.weiqi.mis.Z; +//import com.weiqi.util.SmsTools; +//import com.weiqi.vo.SmsGlobalIndex; +//import com.fasterxml.jackson.core.type.TypeReference; +//import org.slf4j.Logger; +//import org.slf4j.LoggerFactory; +//import org.springframework.stereotype.Service; +// +//import java.util.List; +// +//@Service +//public class RedisReceiver { +// private static final Logger log = LoggerFactory.getLogger(RedisReceiver.class); +// +// public void receiveMessage(String message) { +// +// try { +// +// List jsonObj = Z.fromJSON(new TypeReference>() {}, message); +// SmsTools.sv = jsonObj; +// +// log.info("SmsTools.sv 消息条数为:{},info={}", SmsTools.sv.size(), SmsTools.sv); +// } catch (Exception e) { +// e.printStackTrace(); +// log.error("消息来了:{}", e); +// } +// +// } +// +// /** 接收消息的方法 */ +// public void receiveMessage2(String message) { +// +// try { +// SmsTools.sendTotalNum = Integer.parseInt(message); +// } catch (NumberFormatException e) { +// e.printStackTrace(); +// log.error("消息来了2:{}", e); +// } +// log.info("SmsTools.sendTotalNum ={}", SmsTools.sendTotalNum); +// +// } +// +// /** 接收消息的方法 */ +// public void receiveMessage3(String message) { +// +// try { +// SmsTools.isRedisStatistic = message.equalsIgnoreCase("1") ? true : false; +// +// log.info("消息来了3:{}", SmsTools.isRedisStatistic); +// } catch (NumberFormatException e) { +// e.printStackTrace(); +// log.error("消息来了3:{}", e); +// } +// log.info("SmsTools.sendTotalNum ={}", SmsTools.sendTotalNum); +// +// } +// +// /** 接收消息的方法 */ +// public void receiveMessage4(String message) { +// +// try { +// SmsTools.isRedisStatisticUP = message.equalsIgnoreCase("1") ? true : false; +// +// log.info("消息来了4:{}", SmsTools.isRedisStatisticUP); +// } catch (NumberFormatException e) { +// e.printStackTrace(); +// log.error("消息来了4:{}", e); +// } +// log.info("SmsTools.sendTotalNum ={}", SmsTools.sendTotalNum); +// +// } +// /** 心跳 */ +// public void receiveMessage5(String message) { +// +// try { +//// log.info("心跳消息来了5:{}",message); +// } catch (NumberFormatException e) { +// e.printStackTrace(); +// log.error("心跳消息来了5:{}", e); +// } +// +// } +//} \ No newline at end of file diff --git a/car-mis/src/main/resources/application-test.properties b/car-mis/src/main/resources/application-test.properties new file mode 100644 index 0000000..97930b9 --- /dev/null +++ b/car-mis/src/main/resources/application-test.properties @@ -0,0 +1,37 @@ +###\u7AEF\u53E3\u914D\u7F6E +spring.datasource.type=com.alibaba.druid.pool.DruidDataSource + +spring.datasource.url=jdbc:mysql://10.27.74.56:4000/smsdb?allowMultiQueries=true&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&serverTimezone=GMT%2b8&useSSL=false +spring.datasource.username=sysbench +spring.datasource.password=SysBench12 + +spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver +spring.datasource.initialSize=1 +spring.datasource.minIdle=1 +spring.datasource.maxActive=20 +spring.datasource.dbcp2.max-open-prepared-statements=20 +spring.datasource.maxWait=60000 +spring.datasource.timeBetweenEvictionRunsMillis=60000 +spring.datasource.minEvictableIdleTimeMillis=300000 +spring.datasource.testWhileIdle=true +spring.datasource.testOnBorrow=false +spring.datasource.testOnReturn=false +spring.datasource.poolPreparedStatements=false +spring.datasource.maxPoolPreparedStatementPerConnectionSize=20 +spring.datasource.hikari.validation-timeout=900000 +spring.datasource.filters=stat,wall,log4j +spring.datasource.connectionProperties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=50 + +logging.config=classpath:logback-test.xml + + +##redis 189 +#spring.redis.database=0 +#spring.redis.host=10.168.100.189 +#spring.redis.password=0gyU7a +#spring.redis.port=6379 +#spring.redis.jedis.pool.max-active=1024 +#spring.redis.jedis.pool.max-idle=500 +#spring.redis.jedis.pool.min-idle=100 +#spring.redis.block-when-exhausted=true + diff --git a/car-mis/src/main/resources/application-yz.properties b/car-mis/src/main/resources/application-yz.properties new file mode 100644 index 0000000..b9c1dbc --- /dev/null +++ b/car-mis/src/main/resources/application-yz.properties @@ -0,0 +1,57 @@ +###\u7AEF\u53E3\u914D\u7F6E +spring.datasource.type=com.alibaba.druid.pool.DruidDataSource + +# +#spring.datasource.url=jdbc:mysql://feed-4000-tidb.yz.weiqi.com.cn:4000/smsdb?useUnicode=true&characterEncoding=utf-8&useSSL=false +spring.datasource.url=jdbc:mysql://sms-master-4000.tidb.db.corpweiqi.com:4000/smsdb?allowMultiQueries=true&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&serverTimezone=GMT%2b8&useSSL=false +spring.datasource.username=smsdb_wr +spring.datasource.password=ULZahlCFfI9Tt5qk + +#\u4E3A\u4E86\u4F7F\u7528tiflash\u5148\u4F7F\u7528\u5ECA\u574A\u673A\u623F +#spring.datasource.url=jdbc:mysql://sms-slave-4000.tidb.db.corpweiqi.com:4000/smsdb?useUnicode=true&characterEncoding=utf-8&useSSL=false&rewriteBatchedStatements=true&useServerPrepStmts=true&allowMultiQueries=true +#spring.datasource.username=smsdb_wr +#spring.datasource.password=ULZahlCFfI9Tt5qk + +spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver +spring.datasource.initialSize=1 +spring.datasource.minIdle=1 +spring.datasource.maxActive=20 +spring.datasource.dbcp2.max-open-prepared-statements=20 +spring.datasource.maxWait=60000 +spring.datasource.timeBetweenEvictionRunsMillis=60000 +spring.datasource.minEvictableIdleTimeMillis=300000 +spring.datasource.testWhileIdle=true +spring.datasource.testOnBorrow=false +spring.datasource.testOnReturn=false +spring.datasource.poolPreparedStatements=false +spring.datasource.maxPoolPreparedStatementPerConnectionSize=20 +spring.datasource.hikari.validation-timeout=900000 +spring.datasource.filters=stat,wall,log4j +spring.datasource.connectionProperties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=50 + +logging.config=classpath:logback-prod.xml + + +spring.redis.database=0 +spring.redis.host=jiage-sms-kafka.redis.cache.corpweiqi.com +spring.redis.port=20061 +spring.redis.password=9FL4a*g4Ai +#spring.redis.host=10.231.61.40 +#spring.redis.port=6379 +#spring.redis.password=9FL4a*g4Ai +spring.redis.jedis.pool.max-active=1024 +spring.redis.jedis.pool.max-idle=500 +spring.redis.jedis.pool.min-idle=100 +spring.redis.block-when-exhausted=true + +#\u9001\u8FBE\u7387\u4F4E\u4E8E90%\u62A5\u8B66 +send.rate.alarm.phoneno=18801217561,18975045528,16601102415,13180180070,13581608179 +# xxl-job?? +xxl.job.enable=true +xxl.job.admin.addresses=http://uag-job.corpweiqi.com/xxl-job-admin +xxl.job.executor.appname=sms-mis +xxl.job.executor.port=7999 +xxl.job.executor.logpath=/data/jiage-sms-mis/log +xxl.job.executor.logretentiondays=30 +xxl.job.accessToken=xMrVFjivwewvVriOeikYJFJIpUEktBGWrZMrBkhSXJS +xxl.job.executor.bindip= \ No newline at end of file diff --git a/car-mis/src/main/resources/application.properties b/car-mis/src/main/resources/application.properties new file mode 100644 index 0000000..7aba31d --- /dev/null +++ b/car-mis/src/main/resources/application.properties @@ -0,0 +1,26 @@ +spring.profiles.active=test +# \u914D\u7F6E\u76D1\u63A7\u7EDF\u8BA1\u62E6\u622A\u7684filters\uFF0C\u53BB\u6389\u540E\u76D1\u63A7\u754C\u9762sql\u65E0\u6CD5\u7EDF\u8BA1\uFF0C'wall'\u7528\u4E8E\u9632\u706B\u5899 +spring.datasource.filters=stat,log4j +# \u901A\u8FC7connectProperties\u5C5E\u6027\u6765\u6253\u5F00mergeSql\u529F\u80FD\uFF1B\u6162SQL\u8BB0\u5F55 +spring.datasource.connectionProperties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=10 +#\u5173\u95ED\u7A7A\u95F2\u8FDE\u63A5\u8D85\u65F6\u65F6\u95F4 +spring.datasource.druid.remove-abandoned-timeout=1000 +spring.datasource.druid.filter-class-names=stat +spring.datasource.druid.filters=stat,config + +spring.servlet.multipart.max-file-size=100000000 +spring.servlet.multipart.max-request-size=100000000 + +spring.thymeleaf.servlet.content-type=text/html +spring.thymeleaf.mode=LEGACYHTML5 +spring.thymeleaf.cache=false +server.port=6081 + +spring.session.store-type=none + +spring.jackson.time-zone=GMT+8 +spring.jackson.date-format=yyyy/MM/dd HH:mm:ss + + +redis.check.geetest.status.key=REDIS_CHECK_GEETEST_STATUS_KEY +redis.check.geetest.status.extime=86400 diff --git a/car-mis/src/main/resources/config.properties b/car-mis/src/main/resources/config.properties new file mode 100644 index 0000000..c0410f3 --- /dev/null +++ b/car-mis/src/main/resources/config.properties @@ -0,0 +1,40 @@ +# \u5411\u6781\u9A8C\u7533\u8BF7\u7684id\u548Ckey +geetest.id=467f23c37772ea257ecda512156704bc +geetest.key=5467948a5474802dd245e8f4d544a72d + +# \u6781\u9A8C\u4E91\u76D1\u63A7\u63A5\u53E3 +check.geetest.status.url=http://bypass.geetest.com/v1/bypass_status.php +# \u5B9A\u65F6\u5668\u4EFB\u52A1\u8F6E\u8BE2\u95F4\u9694\u65F6\u95F4\u8BBE\u7F6E\uFF0C\u5355\u4F4D/\u6BEB\u79D2 +task.schedule.check.geetest.status.interval=10000 + +# redis\u4E2D\u5B58\u5165\u6781\u9A8C\u4E91\u72B6\u6001\u7684key +redis.check.geetest.status.key=REDIS_CHECK_GEETEST_STATUS_KEY +# redis\u8FC7\u671F\u65F6\u95F4\uFF0C\u5355\u4F4D/\u79D2 +redis.check.geetest.status.extime=86400 + +# redis\u5730\u5740 +#redis1.ip=127.0.0.1 +#redis1.port=6379 +#redis1.password=crs-57hpob9h4ng6d#o2s5H + +redis1.ip=10.28.74.50 +redis1.port=6399 + +# redis\u8FDE\u63A5\u6C60\u914D\u7F6E +# \u6700\u5927\u8FDE\u63A5\u6570 +redis.max.total=20 +# \u5728jedispool\u4E2D\u6700\u5927\u7684idle\u72B6\u6001(\u7A7A\u95F2\u7684)jedis\u5B9E\u4F8B\u7684\u4E2A\u6570 +redis.max.idle=20 +# \u5728jedispool\u4E2D\u6700\u5C0F\u7684idle\u72B6\u6001(\u7A7A\u95F2\u7684)jedis\u5B9E\u4F8B\u7684\u4E2A\u6570 +redis.min.idle=20 +# \u6700\u5927\u7B49\u5F85\u65F6\u95F4 +redis.max.millis=5 +# \u5728borow\u4E00\u4E2Ajedis\u5B9E\u4F8B\u7684\u65F6\u5019\uFF0C\u662F\u5426\u8981\u8FDB\u884C\u9A8C\u8BC1\u64CD\u4F5C\uFF0C\u5982\u679C\u8D4B\u503Ctrue\uFF0C\u5219\u5F97\u5230\u7684jedis\u5B9E\u4F8B\u80AF\u5B9A\u662F\u53EF\u4EE5\u7528\u7684\u3002 +redis.test.borrow=true +# \u5728return\u4E00\u4E2Ajedis\u5B9E\u4F8B\u7684\u65F6\u5019\uFF0C\u662F\u5426\u8981\u8FDB\u884C\u9A8C\u8BC1\u64CD\u4F5C\uFF0C\u5982\u679C\u8D4B\u503Ctrue\uFF0C\u5219\u653E\u56DE\u7684jedis\u5B9E\u4F8B\u80AF\u5B9A\u662F\u53EF\u4EE5\u7528\u7684\u3002 +redis.test.return=true +# \u8FDE\u63A5\u8017\u5C3D\u7684\u65F6\u5019\uFF0C\u662F\u5426\u963B\u585E\uFF0Cfalse\u4F1A\u629B\u51FA\u5F02\u5E38\uFF0Ctrue\u963B\u585E\u76F4\u5230\u8D85\u65F6\u3002\u9ED8\u8BA4true +redis.block.exhausted=true + + + diff --git a/car-mis/src/main/resources/logback-prod.xml b/car-mis/src/main/resources/logback-prod.xml new file mode 100644 index 0000000..7f4816e --- /dev/null +++ b/car-mis/src/main/resources/logback-prod.xml @@ -0,0 +1,130 @@ + + + + + + [%thread] %d{MM-dd HH:mm:ss} %-5level %-4relative %logger{50} - %msg%n + + + + + + + ${LOG_HOME}/api-all.log + + ${LOG_HOME}/api-all.log.%d{yyyy-MM-dd} + 20 + + + [%thread] %d{MM-dd HH:mm:ss} %-5level %-4relative %logger{0} - %msg%n + + + + + + + INFO + ACCEPT + DENY + + ${LOG_HOME}/api-info.log + + ${LOG_HOME}/api-info.log.%d{yyyy-MM-dd} + 20 + + + [%thread] %d{MM-dd HH:mm:ss} %-5level %-4relative %logger{0} - %msg%n + + + + + + + + WARN + ACCEPT + DENY + + ${LOG_HOME}/api-warn.log + + ${LOG_HOME}/api-warn.log.%d{yyyy-MM-dd} + 20 + + + [%thread] %d{MM-dd HH:mm:ss} %-5level %-4relative %logger{0} - %msg%n + false + + + + + + + ERROR + + ${LOG_HOME}/api-error.log + + ${LOG_HOME}/api-error.log.%d{yyyy-MM-dd} + 20 + + + + %d{yyyy-MM-dd HH:mm:ss}`%p`%c.%M\(\):%L`%msg%n + + + + + + + + + ${LOG_HOME}/slowSql.log + + + ${LOG_HOME}/api-slowSql.log.%d{yyyy-MM-dd} + + 20 + + + [%thread] %d{MM-dd HH:mm:ss} %-5level %-4relative %logger{0} - %msg%n + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/car-mis/src/main/resources/logback-test.xml b/car-mis/src/main/resources/logback-test.xml new file mode 100644 index 0000000..44309d4 --- /dev/null +++ b/car-mis/src/main/resources/logback-test.xml @@ -0,0 +1,135 @@ + + + + + + + + + [%thread] %d{MM-dd HH:mm:ss} %-5level %-4relative %logger{50} - %msg%n + + + + + + + ${LOG_HOME}/api-all.log + + ${LOG_HOME}/api-all.log.%d{yyyy-MM-dd} + 30 + + + [%thread] %d{MM-dd HH:mm:ss} %-5level %-4relative %logger{0} - %msg%n + + + + + + + + + INFO + ACCEPT + DENY + + ${LOG_HOME}/api-info.log + + ${LOG_HOME}/api-info.log.%d{yyyy-MM-dd} + 30 + + + [%thread] %d{MM-dd HH:mm:ss} %-5level %-4relative %logger{0} - %msg%n + + + + + + + + WARN + ACCEPT + DENY + + ${LOG_HOME}/api-warn.log + + ${LOG_HOME}/api-warn.log.%d{yyyy-MM-dd} + 30 + + + [%thread] %d{MM-dd HH:mm:ss} %-5level %-4relative %logger{0} - %msg%n + false + + + + + + + ERROR + + ${LOG_HOME}/api-error.log + + ${LOG_HOME}/api-error.log.%d{yyyy-MM-dd} + 30 + + + + %d{yyyy-MM-dd HH:mm:ss}`%p`%c.%M\(\):%L`%msg%n + + + + + + + + + ${LOG_HOME}/slowSql.log + + + ${LOG_HOME}/api-slowSql.log.%d{yyyy-MM-dd} + + 30 + + + [%thread] %d{MM-dd HH:mm:ss} %-5level %-4relative %logger{0} - %msg%n + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/car-mis/src/main/resources/static/css/layui.css b/car-mis/src/main/resources/static/css/layui.css new file mode 100644 index 0000000..4f76515 --- /dev/null +++ b/car-mis/src/main/resources/static/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/car-mis/src/main/resources/static/css/layui.mobile.css b/car-mis/src/main/resources/static/css/layui.mobile.css new file mode 100644 index 0000000..8528bd5 --- /dev/null +++ b/car-mis/src/main/resources/static/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/car-mis/src/main/resources/static/css/modules/code.css b/car-mis/src/main/resources/static/css/modules/code.css new file mode 100644 index 0000000..5d255cc --- /dev/null +++ b/car-mis/src/main/resources/static/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/car-mis/src/main/resources/static/css/modules/laydate/default/laydate.css b/car-mis/src/main/resources/static/css/modules/laydate/default/laydate.css new file mode 100644 index 0000000..ff278b3 --- /dev/null +++ b/car-mis/src/main/resources/static/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/car-mis/src/main/resources/static/css/modules/layer/default/icon-ext.png b/car-mis/src/main/resources/static/css/modules/layer/default/icon-ext.png new file mode 100644 index 0000000000000000000000000000000000000000..bbbb669bb311514baa5db3a6a00b4644d0e280f1 GIT binary patch literal 5911 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 bWW^%>x7XlHV^#Q1uOX^B?ki3(VEg|7!QHuF literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/css/modules/layer/default/loading-1.gif b/car-mis/src/main/resources/static/css/modules/layer/default/loading-1.gif new file mode 100644 index 0000000000000000000000000000000000000000..db3a483e4b74971fbfb1cc0fb6499852cedfe650 GIT binary patch literal 701 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 literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/font/iconfont.svg b/car-mis/src/main/resources/static/font/iconfont.svg new file mode 100644 index 0000000..df16ffb --- /dev/null +++ b/car-mis/src/main/resources/static/font/iconfont.svg @@ -0,0 +1,485 @@ + + + + + +Created by iconfont + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/car-mis/src/main/resources/static/font/iconfont.ttf b/car-mis/src/main/resources/static/font/iconfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..3c22a2384684571f2b8a398595b632a96ae681e1 GIT binary patch literal 41536 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 literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/font/iconfont.woff b/car-mis/src/main/resources/static/font/iconfont.woff new file mode 100644 index 0000000000000000000000000000000000000000..8c660cef5642d429de9178c7503b18f46300c655 GIT binary patch literal 27256 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 TQ)VD-$X#3e51sM)nE(I)88ehq literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/font/iconfont.woff2 b/car-mis/src/main/resources/static/font/iconfont.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..928d66a8dc3793ede9b05460d8cf3648d4bae338 GIT binary patch literal 23140 zcmV(_K-9l?Pew8T0RR9109s@K3jhEB0HQzu09q0N0RR9100000000000000000000 z0000SLIzduBm;zK3xYNP1Rw>41qX~*8@Ylt(`}w0w*wF)Rh~YI zva|}LqMQ;Q$o~JY2kICgpF=fma{y_XD6FvFmUis6Ar9^Xr>y*TyNZ*BrB&wOYb1na z;K-1u6xH69|Q(5Sl{o@ci6*KNhTtsBKgYMzmua z(W62cu~90O$}qtMLvC>V%Uh(ZC$InWGfjoWRee*4}=aa zC$r4HNLT4fhQ!J27z9DEonesVcmMzYJI(*IrDW!J=E&%C5xzb(kI;Zr8PfE5xUIC~p zq%MVYl~SdYx+Pnt+Sj&u%#&_l$gw)s{~@P2 zG5)t0k582}f*_R`9Y5z1o*5nVHHJf*9M^rr0CZplYar>pr+w6b0N!mG09*R9kU>pG z2Ehm$XnHEjE>YRr!hi;Tow0&9@fY6S)p^5%gM#4g*W+i8^5#vo29>O}wMLu* zIJ*J?I06s=MN^DqK)7Hx^%BORS))8B;e~rg2)PeNIl_Tzh%_ z<%gHQhrHTf-3EKWVS4yrSpCG^4OfD(^0I0@zT}D?yLYZWfXk)tnGIaU6D59pgU$M} zZB1}Lj{m>&lsGU0UaPl^h0Tp8vLj|FMxEnL>=1efxlSYyhFoBT!ICo{C9Ew;-a-8v zr*j$=VbY%t}MXHaH zV*k8meO;MWWp8|4w`q0O?^-(onVYAL1@lXDlix?we{0cnxE9l-r9@`)7E>|FhCz#i zG<)SS?{InmMvR5wlfk${XxkkyeM~Tk8Nl?h7?0`WFaZHfLJ$@M!I%w%U=9$9{XiHT z0>WYn!eJ8-9&3R#FclFn4H2;&h=e0RWSk%hP7@WQ5DkBU=oo<*H~_@NF=AmPVq-MY z#AKw6oj^KR38ageKzi5!q>nv71~^WJ!xtAY7V)qOh>r)!2p7m0FOdnJB2)YhGRHV% zfr-cxkCGK`kTs?Q*$ic#%@@DM*elL83D}Sunb6n_eqHtC=;(z7Cr}M z<7-e3egx&>3((T3(=x!Hpyl`ql!vWA`Pc?jfM=-??@>n<^r{29?(h52kOOJ)Q1H? zSMd|*+H}!%z#5bhyuY^=J*&1+)r`;oZ-B2}fz?#fTI8FeiivxuzMP}e>3gK~cSaD4u7s8xYB zDM_qeM0Yu?v@}Q>Bi0-x#b&V0s***cNV^o&bh(8vna#ossxWx8 zK4s@Y_^vDS<|%C51E-_d%5LRWAN;8tp4XO?MLpuEr^uO* z>adr#+D~bd)qd7Julwu!>UUg`^ftz8bNkv9Qj0Fs)Rz)e)hW=}K zzgI@udUL^{tv3MoEpU6=o8Fd)$pajJH1#y=xFG^OkEK~<|C1B*a~FLwyLEG6}9X~fHq?cJxDD^HxQ zN3PtE0_olzTC$NfZ-M962Ur{ss<2O43@wk-I;Lb*UsbC3!g+bFEgX>!((*Wo zZQY|W?YQ{4=1oi)G_23lbv_+5pfq8imKT+9w~&)-g^ir>niU#s*&$W-QdN_qC)n?t z-m4}J*X6`*0V_FZPx0>1aCP)SMfYiZrd}LtXkB$EBvz=b_5pWVDZqOq_@&I?7>;IH zC6-Q&&0aS#km~V|wjXUR3swCjUj^K45zaQlNTfiQIN{yQI%%+uFB*TK^DcjdF! zKhu>D-t|CN0zqwf=#Kl_@Z7b&TE89n1!dYg&gX^hSX7vomS@O?f;L=p>>2Y?w@t}> zVQK|))tum2NU7zhv#}yfn;0yF4UBAr5djQGY-G)_ValU@6Fz$-Dlorx5k!547HVSNFso8YUX%b4RSN&3c;;Ou+r1Hqq zj$^}Z5m7kTE-E=f=F$s_+tZ8{Bqm^1M84LuMT+pD1U%W{KneBV_-v%p>wJvT(NgSF zN>Pc{mAU_l-Aya!GdHWu^wBVqj@9N*urM3eY4MPd*&8xai6iZ(u6=GrKJ>^yNyZV) zVho1`B$VvcWFvBnAk1xK`LSoFh?(m;&dd?l#g22RJy+d9qCH9l!{|3^X)O8|s zfQ{4p3ptkUN%rP}AXhM?10HuGf^ZH44Q&Os<9Zign$N#jc<;sh{7VbGd_O;#UhV%d z5lMb8Bx9JFN<^VNqT0<0ez5Yyf8)Ik-eVY9f$p2(`?*EcVCBv~Z2b}KzYq_kuGiY| zo3`9=_rIh;d}zyUb?AFOXdEcF=)KuwvX?gpfhn#BC@amjRB_6}M(XRL8i+TcX1hi@ z5=&lL2sw?2bgkW3POcgIRMG|-)Ez8?a@=Evmmjm%`q|#`>rl^$q}wi-C)1w8S5wX| zr{EKYc;4}OAv2ffJb!{axojLT6!-utop+!OrJw&5LR3-LC4~R`H{8LF z+nG3%I_x5McW@_;ok|-vZseU#(!Zmwt+;MI--i12;$JT9Yw5DH1G{b&cYnlN8oE5$ zg7Zmvm(Z^*t1YoKM7mPTmDxde>jS%|FcDNyWttd4U`5;{u_xKFmL;5zF@&M%12Qan zpb#XP9AqOSl(W^z&*e7u6YksLZk&K!vCub_Yue0UM;}a2B!0-L?{!@3G8FU_5+7?& z>6Z*_`o~ZPF|cx{0vm9j@*T#lt?m#a3d7_EGRj^EBwD|`+ZkhXXQ7g-?fyp} z$vllpGYre@rG}M%p{%QUR-mtQ`ksP0tj|*hjzVIOK)d&_ucWX+I7q3KJkq>3lzA-K zz|y5UeBeZLd=~}fdLC|HPA4rrBxoo9%8CX8{cfPBEd;4UUYHV;L4@$YFJPcE=8LE& z=;jh@ec@9$R&0$_mXyoEs`+Y9`AEpnOoj-2&=-a5Or-S30sln)dr31fLrk2Gw)%>d z#ACJ(_48tOc4jU!lglidm!QaO}(QeBR+U!==y z=B)>R9!|$I-rh}$B}xW{B8>xM>ZiZ>v8FmQc^6ZLnT{r1{4)Xv7l#jyQQjHza)W2B zpVZNVt{-Wpt5!!hQY&wi55_!Ajbc|Gn&^6_!BneLXW%m?D^}ZwiAjwT%(fMqz17(A z=JJvQo`v?7g@vG3#Q&(HMAryC&%yDr%1_Ujf8K*$NoaAQPMZTe(`S8rN*xy3fZ~J$ z+qjylW1E9W8|rx}qtIpx3!coUmM0oNN!@*|{P7yNpKvGT{8Zq$m8pi-ApfjX{SZb48 zrv{gNJ~S}4@;%qHS+3K>OU_CcH_@|uPHM^(;HXwyKP5ct*5Hx7gmIQ!CC0BwIix_k zhB|wDz*AatN{}N0(bB2K2qj>Zu;X4x!BCx&S_6F~mAL3de2aN|6jD6#^&Wa?rSs@bv+Sa1GyiQeiW5fe=j6_kho zYT$%RrCQyREd-c-_qNO*4~BA1)Vv`Av@%YMz2Md>Jp6i_s~Rvmj`UnFW>6>#J;1DD5Z@1Un7 z>ybtpYubm{ByR-O?zeJzZ|ISilny(L&BtPc87cYEF6!AZ75A;nY)h9leF1BSu8SXZ z+~uvlBRn#dJDu1ZMC&cAAB?AVkFUOOeD6$Zb%yrhP+wVGL-{qQS0hE+pm?ZDOQxq5nKSR=(BI+X!#hoV^p~hjD zN>*k|kLq~HnO|Zubn0Z7MaInV+Z?XH7O2FJ*^3aWhzf&c`4>4i9G#K)Z4gQ{-tW?I z^Nn!zjPu#4X(AbZZ^}@DWO%8Oa$xlt2EXfXw)|j_BmZe*cmfDhlWBuIVeM)YOy8FJPaDfos!m#r;M;u|x^yMY zqG~x%Kjio3rFUrorOA*-H5US1iaKYR!)qZo;gz`_WQ>wu`hRrRtZrjQ;FqO`E{8_; zsGoMQUqca#`+Ok!BH2hlaorA);zgX_UX{7MNAZlX7~Xo6b~t!!C-oN9%$4^Dwc}m} zC7>F8ibaN-Nu$(#->O~At_^)nEETl1SCKqXQ<$(mB^d`9RPx^oFsV6&G9g&5RSN;( zbZHV-NyHMz3hbfcAt0SqAfP_1l%$;YxON4=9qZiUAx>ux z^_dk2;&H%e5!FT-m#<)v9Hb_I(5NCX+F;Mc5cs|F0uxIp^Rmx_sMt*qdVU0bbwsY< zE!*R?emk8mvp(Y_U%eaUyFa>3uhCe=l}xyDElmmQ*$zh=gZ_yTSuOuV);Su()B@kX zM#V|9Z=1z?UthR;-b)?r>F+(1Fq3CwmIhfgf_#_-Q!tn4=LOlo;7zrDzcbsRxTl>rN6&7st z4)SR2aJ8Y~r3<~=Hpvf$ez?iCM;{$!qu`x%*>K8Rdw6)rb)8`ihKAgoGORd;ipo!qQ5zj`Sy{LqiHwSffREKEmN)_#@ngFpKxDk0%j<#MH-lG=g?yTLF?qT^>09i6iVu*3 zPt4jCV0`IuzOF-qq#Zc-e8SA&3o}X^RI^gWpG~CulTx%Y)h$Ib2?PvKfg6v@CE{$Q zX48h5xyX*I(HT+wmN?L7)a5MK^)g;br2rkVfg|Y_8@Z{qU3pviBeI)-br73&OD|6U zF$&=eB~v*rDhvtB8ib*218~2LW2g9h}*UP4aWcW#+ohT8FDkZkuXl*ob*cz2Ycjc&(Wc@g!P-LPY|fZ1+G1uPj@Se^ZBW| zh-f#R#)23m`->ApcKe``)X%r1$%QNuuF}_n$QSP<89|QS5^+0fA{l#R5haP+t2-HV zRlc~pDqr1>NP3kfno=Na-BH>G^n+T5+{DGrhe-j7*2r{fPsVklR<`5B2SS6mZ@CXz zY?Z8|h{VO+r|Pk@CT8|xc<5vmLq3qnsvY*LmNP%`*jxg*Fpm*1ft3i6rm>5?X9tnH z^9A2nW?v7&$FvDOlbgloW6yGGLG>bJ{y$pB#Rxjt8v=RqZFk}TZ1_33zqO2~Bh@6mCZFe>6nw7^H9aHqBHEACrdE}v&Q|&&0?~x0m0bDhMnQ=@ zP=<0~VxvF|{ANkdkP5KLB#|m-$|pzbgKM?4=y}9;FtfKqd-jheJ8^1o5rSo`3zP$# za!YUWKLUjF{gN*r3bVaXg#((Qjtr$Ei4XxTCYc@ZrHUDWf%bLL(iYrE`x#QNXDA4G zvU>ynp@8I};H=Lk>Yd?Wl++T{V)3poUF#Zmq(b!N?SDCt#()jPqneoFo;2VLbEhfc z{<9F({}%UQL@lmeftj!wl8!=s#eM&r4`5@NFU~`?$3eM5sUgkpQAnKX+C2Qo1{65R zV^6}nOH66843MxmR007d$Z*LDHnNaYZE@v+|02!W*S~)bpn8n34s7Ihx%KJaUQYDd zXfIB)SJDQsb6tB|N|9@LmZRGq+iSwEI!exSm1~Jt)+bo=Pz&=9OGk+*8GAuPXOn*6 z2c3o4FMkqvE4w(d2EhzjcwPuR`Ekp!ew|{a!1!!m5Geg|#P^5c7X%OAaa4>JFqB-BEUJ!>!As}bc$dio=+uxv zv&nu9R1*$~DuV2gk>Cz4cPLlW&5sMHjhrhj#px(u+C$~aFD5&jTP5%MhigCnZR{J- z$||Y0EEI8wa^p;eub$-3JI#@S=DOO_&^B;7iNt%w?jVY1{3L4IB1#*6p&|^jx-~Yu znf2d!U}-2AZktkF*G>(%_4`Im-gRQ=c-Di?uXi-fVP%l{<+pWI92(UXIG#XTAucUr zc{2-LIjZa~;@tt48b&O$gisDC*4!Aw&$#HL(6IhrMlI4yjXk8&F|BRm+T&anux4oB z;E4QQYX@JD3u+k~LmZS`I!JgN!a1)31LD6!&cpLH0a0$ST=Ug}3!C|&l*QR$F`7i~ zJ-~dm&?K)gCk+&c=_Lpg<3>GDefkO9#wmexYsKJNz8JX77u&6Yt>xPc%crcE`5Mf4a0-qfVY4zgbwG8DSdV^?A@o(IO}`HM*g@FB$0R!HYXVz zT4O6pJHAR^)5UaRo?Xiw-)uuYcv9MdeBG(5wgkZ*jEv$7nap2)|E| z1*C}KJ!XI;au0fnLKT=>Ze*XCYvL5)^`Lc0V9Ut+92*w04Z;w-K1f`+o$8vz zSpHEm_OcsG;ESUj1gjG@SBi!C`r5~Ta@c|`s0vJhqx8p~8y|gQ-Gx!|k1x}ZVA8=| zs;_u9O=dvZwu4-=*~jCUV8+m25a|G#3mD}En-EC}H+>zNYb_KUfJu9`l1 zrlZ=JQW$+lNzZd9TRQthBD0ssx5JHH1_M|9 zT~qw65#MN3VLie&r+%5Xe3JGFK?!9}T`BlQ51oraTGA@G7j#)OF8(;_6^XA4HJSV4 z<#4b*5+4l9ZYfGja5J_#_Y+r-l#NZ^qQp~!#FJ~-<#?TdUO6R`Y>+WRh5)^f0i{nd zdNboU`HZg{<4^iN@Oyp0h}}&QV-Hhy1NE=q)MuAV%^SJ@1n0=VhZlYLzhuvN(r*6NJ9fI#%7jC=q;q1N)zw&Ch z4c@dL%JyauGbms(=_0Omtu2gRo-~fN-b(-Z_7A}-l)ZYaLgzhS73@pJ`%9E%prA|` z-BON4@|q+c>nddNTun9FKW(!6e`)I4bnD02Ibh~8T&Ahr`79g7vp?zr(YXDS_D3GUN~Q;FKX-m})UP;za|^qCl?{wA$2TN;!w+M25Ak$Q~r8XIfTxElW; z`gp~TOW*P?BspD>qu$#5ywrVD-V6WRzfjx=3!iSCB`tkGPHcShr=~w>_WWO#;xydl zW!Sx0xO`#QU)wDJSz4c{2YIB-*c=F6-^sTGL(5H_{aJe!)wXk=Y@Xot>o&rx7bnmB z^y@)yOQJO9F9)skN7JmfFnyBZ`J_70my{hklU6kL6jZ<~X-4B{?0m8@g~)DR$oqU0 z7L*ZLcn{25uE2O6irKZ?oKTH2X6nUUgPY;>Tz2TCWAjyp8Zu}_WZJsF$Uale=XRc` z_rY854Qxh`NGrAicHq<{4vwUItK<6o-s^6<^0J$+pStU=u`yjFGM^gp?8H5(i5rz* zNS#sR_VH`PEE@REHRF^y)0sBAqoZt{yy?o}2YT0S59=r-##Aczj)|DvIGmj!fHiYZ zDBCNZv-_?8OFwi=iax@jGB_8~6+j_Q$lAKY!{D92>W`zdGt?~hq1%{LFmfP$aZ$j8 z&d`;Xup#8Z@h_tVUJY+^pJhf7-&6s6N%aORG-q_=lMTrv1=$uV_jKqH5r2&&<`OC4 z#<01obr`dVKyg9s=H^go<(bj~&aYczg-zq%d84U?(%Pe(9KBxuNX!@Hddo!9990da zd1__83}2&4S~QgaHu*5(!OzIlMQxKts-8)$C>AXPH!!uUmU^(W+I+qqaZcs+(rRC_ z>mj0JAiFg6jqYN7U*ZnQ@3}WlirdD;s;SB#Py92QzPvE4;HVs+7HB6@X#EPRzomG?xT&Y2cPfoS3)e{9YGPTYlF^8VLXW zdr6)KMKIOUGDfsC3O~nGhh#}*GU!)WEPq1l)oCJiy6XjoREPk&1iHGtF2uL<>pRLt z&glG`kJ^Q`)ai(G=q*7q=a!{OJZ~>ChjtRP-X$+5XYhzUMfJ{q<6d!PopfD3_V8?F zwV>J}aZO2C#|Ww@kxWqOgau^m1zMhmW?I7V+MScIS>3vupA=)O94ybPrG4?HLCm7X zH8cp2_m1O|MTJY6WQ&q94OA-q$fFUNwzvutBg_=b3+l{L+?A-^IY}|Yt)lJ_;hO+J z{|_%!54dTi_Satj`(eR``NKHgo!JV$L)81<&qW zi<=WRE9d8h%&J0~PO%&uMe@YSfki8wI~G%t(NzFZ<(C1T7HJ zXM-_+$KIs`Rg)d;V1fC(Xi9lQi&{vF84}DxQA?_!0wqU`9+9r3?DBnnq8`(Wv<}r= z`6rpA-gO!YGL#`{af0~n>sy&{GF_9luhbmg(vQ}9YLi!%9yu7u?&I`@QMDtaF11mZ z8`IQJ2T`1<{h-~1J>sx^%hTV#@?`rt(S!_tSFSC0B=il-V02<(y^jP zX_^YjOvWdZ$MAd&FYVZpVBva5q&}N)S4&F$Ioq^eunntV*yafN;;$0}r=3JmA};TC zSR&3)OG64Ph~Xlgq2+^l9r@Xivzsc11?x(kqzw#`DIIncVVFl299&;_F($HGA#&J7 zmA7Kymz^t02jNW0(xUEe7EgX}_(_vNr*Bo6|9+4R;=Fg|m2MA>#itohgh2o1Xehaj z@#(?YkgKQ#iUY~Mo#mCC{>H<)j?U4P;OHKj=0kb)8~48sgi=$X5(5oF5h>`-CUvRRT_n>ExQO@?`rm)3ikE;8CFav} z@A>cFRlsD~ZT#1KaJD>1qASwP$Pi6WvRx0rr9h-B(c3Q8^PzCM3v|JISFvtT=W6)m zNn|y$rooBVxG)q~GqcPu!L)VlExx;3%Cv!YS^!s^lm-t!=lD_e+R)-!>C z=V0c;Oa5LRZKwQJwODLqE{5XcA&lbq1Tm0+K_T&HqX$+=OXdrCNtt*t#B1?|Yjub# zFjvg|YYcescF-{sF%;Q4_@et}J4u#qTUn{jI)4Xnx=(;o+UX-XFYh3 zHnQ{WbY~sEOMiELwg<~S-|Wyt2h8+ zuXnC>gGZvseS{SUqoMqKC^|sHu!tCPe4*rI2+`LdM3HZBFzdbT`z`;1e4$L35B}Yf zu>UYRGlL=?Hh}LEsK3NMP2rw-+aWB}!KTzpW|4yNxAhlr6}>*NLLG!*w=-{B$S^4d zz<@!7gwd|LoFb)KXkVorGG(T3{nC;(Q31 znL!FlA|FDCcz6LE9DWRakRH?FMUzpnwA@l!>>LB0qEklV=kNWp{oXz?HtOA+WHfD* zxOu-R&xi-Iw*gMuh(ONwdvpIv-W5+(;i+aa@vQ#k{@E)KT zpuJ0s*NU2NE{_r>V9q9rCl)~fHehSk~W z&i34Bk_x!YMHkWEztKzR#l{yA-~{9%a>%i5+O`_X1HL|RFL z$bN$W1j9gjGVIx;K1Dw9f@V{J{AD5bvZY zzKmB@&6DvX&+(&p;X6mhi{hV)q@2JH=SRVF1Ynslm;DYP_aCTCJkat1gn$w|Y2Cjo zp3H`aH#Q1|;bFkzv+i`O!VT*YEW(H?=idUijOo_QJqaR4o?(L3K-Egt)*0s3qA2G* zdA57=Ci_7N}d2D%1U9%(o03$#6=8qV?+?@Q!qRmNek>)0WaOO$wpR{(d}vM~)Rilg%9;BqIhp6{%ZtvPX)HBt-)+EQ7flWp&K7G9aEg+^ z!U|0?ovfj%8jQ#P>rk5igPI`vDhSR|pkf>>3444&zyl4RJ~aSM^PPX#qAP3AZ4mIZ zN66s^48qNh%e3y7!9BL3a7JY?(fbKCe95YFyAE3htzay%JiI-E(^gUvN(~`jSrWak z7;{O=$Pt@z17M$Cw?0LAI4!_RSxC#U4X9OwX|7LDz@7nAe2(z4^WycJ+yrb588IT< zPDUvr7Z8Jl}^vTm#Y?(X)FA3E3<8ecFCKYz#tgSZhd-~aRGi}v(MNuEStDE3*S2fvyX z)!99#tbkRwU*qlD7|{Z1X=TZ%V_3>L^2zR)gl@qC5`!*ak3wZMt8ObsIrQeJ zXaNDpf(R6gR&HaI(PCrSu~ydNz&p{5^|YAS7}|OU&|WEY7lPC@;OOSa^#MT1e8g04 z8*kb&-?Z6hxh-0X;GuFntI`M6TLnXKM#NOG*TiN8ld+7~J!PR^Au=bMKkC z<3?^}`C{;*W)vk;&>IRGkJr=kMy*)kHV`sa zT@8XhZ!3kLH{)7yq@XnoxO(hw8vXtF=370fg$|dDf$&C<_h5$vi*lQZcZtpBUy9yp z>#mn$A0(nA4^D3C4h>h09jUoq2jz(muq8ku&g-y8H3FPGBdy)!#W{8BNYA9pX&vG` zAOS9`mX2}&LBJe~gxrMjoWr??Ey5UOMrFpC zMwz*E8)3SXk-^5M??0=-5z8ZBk1!AgDF`-mlu=d~``l4pJsG1u=i4sNxd z1pj$nM1TEKK4=&g6K3{lWPTn!jh>nRc=`rdFM5XY=I2i%^d{qbca87*Pre5XZ&z0? z{Q4cD2Nl6DAQylCBHj+`MxH%KyU^}u&$^K=chYQtCI>G(c z%&Z}buD_#Ai2hHz6}iSkddr1;7}jyzf2hiYPM67u{iq%n8jRL=4})fiav!=;i@_Fu zs|?@}qVtDfIGY)0;u`6;xYx&PF}FBfr)9J51}@C#dn|~F4>{%=u^;k?)*pmu)@Z-3 zOhl)fR2}Mc)Ik^w;Y!kwanfeHw;}qrh@UQHsGRB95Bp9QK-`>E_~$?_Z%;VFIJF(^ z$G|Sj$D}@-dDhK`ns;Fz1Lkhf-Q1F{Q@oh(E$&<#SZMC-#>^QJTo2ZD$N>IUTMSx^ z=st2{>oWtatbEYckbhV~aSG-$9kYK4t6>bueo5!OTLR`0%XW^x=jo^i#{*#wlmh7^ zSP1Hb4d$P3Zl+AUUng_Mj=9BLL%0gUc*7~^B8b+MM}v`$JUX-v3cJBwj&kKVpDHi- zKGf@iJ-dYK8qBn}+6^56&}t5)qP)km>sSbkTkd?y+=})cd&f1;1pe(7Vq!%@m;X$8 zoJNEFtYN0FiLM(fME5_cd!R<5X?O%=M4X!mL}3$l$iUXiT-5atykb-x+_XjrM^H>Oq^m~&F|Q{5xzozj3I&s3uW!ZBSN?m&O#p$_%Ajf zEjWLBJUlxI=O9D#@ZV4qpgkhdoCzpu6a>SA6dDZoQ{>+nCOpaIg5nJL3oNC=BqrSC z2)7aKu^RuPTn#3~LWxorf@vI@B!iLFdXKT@&L{y!BC+N$lcY`hiiMF1Yqm2P3+v#` zNZB1YE%+PD3ce1(IFQJyKykZiZJ77iaLToJTza&hquIV6Kc^g+DL%&5%ht<3z&JMS zg3(rpkT2S>mN|lD)BG<(`lt=OrT1wFoc#}wIb*NM>}!v%w8b3^Un@V5#T8HrFm;pg zdst9(2~&&V{N)GD_6nxpeLI-G(n^7tEU}7|$yRONRtS9-glYN+?063F^=B%SBZA;w zSTIR{6yLs@YXRco0v7mSnhasc7^g9y!Z;BBC-u_whiQ~e#tD`lv=OUg0=zdS zu&TtOD39GWmNtHp(#7V|Cep|Ll*=Djyt8>n`{Z)bb+a2*H_WcfWV7~q4u%eT_VZ7K z(%5KzYD)=U!*Tr@BMsr8M9ycmePHoGE|>9!?uX{#3j&7OPe##7Da-2CF56k$vW=qv z@M%>K*BW7E*ND7Q{yKXi8ifHyO!PWPw}(syKLU;WGRWsp>3v;RkqnDl1r8bkm-nWz;u$0ZO$FQhXPGb*0AqD|rurs}zc`1q*el)<;Yf5Ii*c(R&gMMdYNc99&oC@z zAo3dzs%_j*1h!kx41znZ-r=BVLq`DuffB>EAKHuz>W~ehKwd^*^?@8g=1;GHJYRt` zH7bjLsibFk0Sxbb<(lb?T2m9AzBo+$(dt>>W#^nu$W=w$I z7h6)a+!MebH!X8yZ5XTa1W%tQH8}d*iIX<=5pK;t$RaH4-%y<&hf*E1_T1fcb@g#< z03R&Xp_!+^G4?Vz1&THTT%(oK7(+vJN)$ux^bNQO#Kn-jZS)$7#iCbD!D6qWZquLc znNOKEL*YZAHlGxfapUYt<3$pi+uot@+Xgc&fzvEseUqX$6)*v7$MFQo%hd{1+>F~-rx`tm= zgvc)#Z%p|mXTT&sIKOG^xFJ9-%CUo0{P~IDcF7vcV8Yp@c#KoEZWI zll>E{f&d72uX6-lycm8rD7RkbjWqFm04}0>_&jmIPeO=n+sU0v-5!ndZVTNXJ!s&H ziBeY#^=*_4q5uDn4gng5QDP?{kzL5sXK0tvr%%m6^x0FSi;tFP&$?0{a~PQnxoPV- zn^EV(^q`gKsI{V(LgW_N>&@ye%TZI65zTQt*s|p49Jrk7=jQj38Q|ex&~6qGyauEo zT{BM)zp4U7`2Z=wYt8%%c6;~*FlTwfT@06VMwYjj`sy2Hn#0>KUu#0PAtTq2?dC?A zdZxb1TRnVT8IP6ovCrnN;Nax)sw5~8s;GjJ4YWrhEPK5svXQ+;V(AAh9!&$}zgX@E z>7B7e4*44%v&c8YxdBM0rlv*9LA$l7N&1TTMAF(?ug%wPc>=Q4kc*jy7(zDz7#@tG z6bf46=ztI1R9EP6U=tr_uCUA4uNwtx$ z&TP;3y%%b)?ZSATdV&0${C?$@RhfDEN^;rHIqb~#yLsbE1IZ5wSqYwMUJ(tj_Ok~> zag*%*tbwUXIl3Q_Uy&pGQF$^@iTYtL_&i(1K5v-&cUi%5l{`h!1bg9=qJAck*)KBp z_l6aOJ&A>gknE%kqP#G`W@6}=OssL@PeV)@m|c)q%Zg;ttX(>V5iuoB0il=}!Q(NM zL_!hA283ed4j#UYx)Kv3$8JFAjKdyxg%2ToV-$GCLEUO~46l{+)#&S%Z@;HLZ**Hp zTWL$pr6$nKU2KKU5vKN>PFQm^-}|dJ`)EN9G;KRqUsJ8?boK_iJ=ptS zoPic8nX1EDnuoK~jy{16SjMwm0+_3p1fI_^2=_DmHQfVA3A{}_0+6b&6a5Sq+2))N zTw*NvKNuSdzHlixDORJ8Mo+V>{qm5(l44a)Y4!wZpH@nl+Xh zr5-F@3T;FN&chqwO#^W6NQ&)7&z;?}1$e@$F~bFn)~Jb}G8UxVJ|;S5Rr7ksYrsWf zo*IpKWbX2t_$=lG^70jWJV4_Ub~mw`2vR3Ca~1xznMpRi`+V`sg`3NxTe0i-a~2<; zgzHR$tKS3%rrQBVG>G&Re-BgW_wNLMf8uLw{|jZ%(Z8aX!LZ(&=n%+%Zs<>Y26$gt zx<4&X8#7ur)f=!6t)$By0nF)_RBNs6w&zV~cV?m|4GQSCS|^WE{Txi3jb4r1_R`?m z8$TSJ+wbPITvNb&L=BDfF#)mp<`&C$&)jv67*E(;A8WQOs%>lD09_!93UJpqLm~Hc zfteMa&5NwrKlIKj$FWFWlo>#v%-`M~PsK{`u_UrRH=$YPu_&Te6GRvGS+6<0r(j^I zx>-kDsRL0xmzKYBy4#g&;9-=@cyTxv#sv{#$-tMNa8T~$lfK#wB)>7V8%tQ ztQ_~}k=+|iS;oiT*e`xHy3~+uRnYP2b$k(Axo|YadUta7zWhr@0(o?Thpi5W;aMbb zvn6sIqiRp9e}}Y3H|uPx%d!RoA%04lV5fFZVE(*dA>T{ei~9(!rM7{m+D~O;_WK0d z0yWDAWChq%^Q#q6wHoF*_8-d?5@SOicQrHWwDLfpD}(=GWkSQz&xAC`Z>!Pq&uO|^o- ziTU^s9+#dMdS@1l_Ku@KpZmlhr}CJU)HcQc*NAB#(m^Ya7VY1BU$ zj@vO>;NP5^L3vRtI)(@_2QQ!F`f^(il(6R*nW;-#5B}=V5Yn6ZkG`ioNsN9%^FO8D zeQ(3wjZK5X0GpsgrAJ19aOA?m3Go^ATT>(6mnb%_GN~+H?4LAenC*t_pPue45g8CV zI;W?+oHBIpA1s-SI}~2b^-cg4TDelZ|Fn4DW+$40u7?^#(!lJzg0G;R{{muw$HWJ- z2Lx?)F3bD}^Ns5Q`%Wf2kohR4h9!J0`CD%BeEY}tV#Y7ImV`ewtndNukh(#e8h9*c zXI>F9F6wwuYIBF^<#XQZ92ebSIAm+C6*8%U~5f{uJJ|7CUFZ^)O#w@zB zGH30w_*|!`Ye6^k%e$$USW_KF(^jKgZ|{+39$~{(6uK^h;yyI|(L=1R8fWY2QPy5j z^BqH`>%I&`fYykF`A2IzO?-7nE88mLVq3KxbXw!${FMI1%8bKztB#R&Yi!)8uddXL z%-61ui;K;S%}^H0);b-&&ie*p54RrP(7GWut_66|uErNhgUIXkLnl=ZJHzL**N3{U zsWpj(ACF1LkCGjqq|NE+&+g@|q=zNhY*rs3>wOmKbN{V+-1SFs|CP>7KfXw%y=Vkk zCjxy8-RE^~>EGA3V)NY{_sX}n=^oYo2l_kQ3w;`H^Vu;V;XucgYnEp}_{bU)rD0OF zq(l-;k^OV$i7+?o zg_X?=ctdLSGzpP>a{&<%j9#drK3#&RBKx6l4m~^Y1|s`rCJ(KQwSJ~DFHE|fJfDEf z!_2B~`cu$&2JkvX9dB-U65EmS38bAc!k|vm;(iY(%}C*^rcXIBIJXU9|}qVK2XHc z(bUxH8pu;>)Wh>?7IG_~Xk6U#3gDgkFS6m?`IATz*zbOI5^@Eso$i{CQ zPx(@yu+2&zPmLH)&r;YHym5-vcM_(2^%-sssq*q>`PF?Nk3&ojl_XT|~@2uK#xx zmMb`VZ(${Wp(bNi1BU^r`OmV%p#tm>Cf(BG_t($VUx0NR*{smMWKFzZYJP{Nm#13k zOW95KUGY?((0Ex#@|IvVq*Ji{Da&JMcY9bHy#k~|KsQr&m(Hw}8E-|2PZlo)v0UWH z^z6HL;_O+O3u2dwldVAzdgV9f#aMR?u(_=24}{Xwp}>v=OACa~1!XwE13P4XP8R6v zt9GhWnhA~Y!9fN61r_l&BUU3OBl72>N0yicoZWD9nm}_7mv%p70`fWRj~^xm1$-J0 zT+;zL8ph?oLQUrRkjBQ4^M55+V7uJv4+#j^zPojMJK&XO0?&Riu|vFarMTmC0^8gn zKFtaL*VbjE|L+hdvYI**fK7}_#3W;KqcFVXd|Y|z3T!ntJ(a^a|I{eQ6*M?FJ2>&3 z`5l~8+>xS;+yFer@Lq+|mSkJ5D32P9G!A-Y`zpv}WXT!ZGeIQVJ2tmnZ70E`Eh*^4 z%U9BtlO~{c;kQvxh;PM_aXWF~46X&I(FO8baU}c^d_EYvk@>pin=6IYW242mdOUk! z_hJ1w#|NhJfA~0d=eoHS2a3iMBPH!^UloYfOZ-_TtBufZNkXf=gtTA7PiH47>kA@45u-I`i;liOi z_i&sHp}1mGMHOana9~;Vc$p_&M?V4IP3s!d-Iti>HF$bc#V#GUSnmk~)=e>iuD`J? z7$wXR-V67dP2m^42io8q(dKHR*>w$s>q4Ak&k?Ou>o3|(frZBnA;DT&6OOD9PvT}D z1f|KLKqw$BH3$UgT2KHKm?rl?PSFOG1GF1P<`ftJ+CiLxCU7DSsA=RuGEHq%)ScQz z77}+6h2&i%!<1+H#PG>3;Jf*fdcFRnRZ{?^i%g?bZ>pxy$lYW>uC7k;Kt9t)rjtiZ zPLqP$AtkQ?T)aW5E{)%u+W@(sPP=7lsOa}T#g5t)9Wfy5~Meyp*#zK2BGz~jZ?)4knLJSNxdrU~aComY?f5zIZ* zNR~2jorM2AmmWwtwK|y4y(Y4j(`@dmkzPoW%BkBog%&fCDM9qD+~AvixMvvF=LSs; zjHkVZ#3kg_jV_Z&PL$iqu(R)eT-`RleEk{BT6{QVg-z8oCWVXQwFy|se(O&&4e@JB zIc3)G$jwG^x_*T1k#P(XFY^)kB$!wU@ow42u7G5!<*C^UJc$!?EmCSweeLD3#lQQxjK zhJ7sE+Pi|+{tviv^={hhXb-Mn3;^fhg#YnuM{11soY)8hyli;$Cb-1x0ilT8#>HqT zFAt7}qw+pf!$-}LJYe4&-V1hm$6@R*)Z{L$DpVA$>5fUndW*eduulEGJ-e@F?sDwo z=qcpq?Bg*&AWJBI@nGpv;8`d!j;pJSH%T(No?toF*O|nbCS5m0CF?0C*3}uu%OCWg z>xlya*fNL=kg0zk$g@T2%v#J^&FX_&NDvuNAo3S7MEQ2wJov3lPcXm)`s&2Wuu*aP zXrPlpB;&B)sr_}>TH=}Si0C;q?MT1zS4-S@}qBl5+TOY_CF@Nks%#A+49uePw5F_(kEYIKVnNM zRzZKwU}@}i(C&0Ayn`FK6kr-kIcLqJOJAR!?d?z(X{+8wb4=%R;zIX=g?~QDN41=r zO}-?hJ7!rJETR+DJT;L{xIZv-3Y|6QY~emkEoze;`AV{O@@btjN!m$QBbM+fe0>A{ z_M%D{V?)w;{^wG6$HL=*tC3h#%VMG`(Ma4DaPsj`4e014y!nLmq36DQK8yAtpWYC9 zMH)M9UfGH4LT=p(U(TIZZ*JFkUC&1DymuW#Bw`S+4+v3mh+3;I`&}mU^myd$%@es< zOV{Rhf9(30yS6$jcl*TlhjD!)ej{=2S~6dkL0(&S2Vl4$lFR*ufKX)~E;FE`z4qHM zB3I@fY?FPjezyL3)|a#4BB4lLEdx@I2N^OyJfcBbOoC^*6fW=BUxt*!9UXAFzgJaY zm1E;$XftjQC&PE+z}Ds`7vk`>J8x8(i^~YXJ`K_`;0I@J+?WX~;f>3E9s`NAq^X&L zW{NA!TSl>KECu@xY_(2u1QP$e(Sqk;VQD5Fi*blUZ2vYYrc9j9E!qQR;k&2mS~f9nfEAq6>a9EC0gq%wU>-rw71}9LBR!I z-}FUkQt89Of}8CL=50e-OLDxvW_u=U|8BKtPY}?9zZYxec+)B`&Bbc-wq1#53i1bi zrNCa^S6^CoC7=kMpa>~{)mWsvpQlKu?z7dDtDN~fGr+w5rPb_{yxOX8aIgwi2l_sXyRtBvd?0*e;Z9YTVNAnX7aojoMJTGhiR ziiAy4k@@5W!~3a#%q2z7Zomy0TDeJui|QGGq;E`rQ!@T+-Q)Oz9{I|YM_|rK!`vI* zwwa@I_J~$5_d>=4Uri^)JwtVG)jsz>S@qhd#2mTN@3YK`Ed{Fzs)0e4XS{N|yM0qM zyEuvD8UHBGFdorXHJ$D0^KA+6I%C~j8t7pV2YU4*VYi)Mds^`J0v6aas~-WKdTL&$ zRd@V&Do#ap01oqbti_4r^_urbHuV5)h_s0eX#=2(2+J`_OgUB|Di;ks80=CN;^@Y*Z}Xn$A9`PS|M??dKJW zY9?FB+b4_yvYFNM=dWwI7#gVW>(NRZwLfYuezvuAiF3VJTo^DiKQJJ+jFp9=tyzvo zL|XNp{-NO}tGr@GKYdH)*~9vCB$Ggoo!NQ^*RE+KQ6(?Cb5nO)rIuvB*xNgZg#7&n zY3@7l@Tu9g>yhcG=}ba=V&aVHpy?weC@rnrwd;c+&%_t-qk*8ZQUKf{H}Cy`$9K&A zfFB`0I?lj*tZ`T}N*=Dbzw-XM1j}!mG&kq$hxHUPzeh+Wf2ccK`Fh8-59`Bp?GSiu zs5(R=xPh-A%>`VEY6|7PPcxRwojP2!zz73DXLuEAHnFjHD&0QZ+#vkk+XVjZBTo+* zbtsDF0g|7B!w3I-__V0aD}G$Fp+V@_t=4BdIrjP!`5RtNv&2%f)a$b>f@8^(kOxy-O&2~(#0V$O^@KCjbvHjo<(hvb#AU^oWUY4%q zaEx!EKza~`NThIqAf4+LrzMEk6l@#llV$ueA^h`&a>mR*_Yv-eitPQgh?<*!Ad0=` zD;Q+6gAn&Z^#bh?3SYK4*e1}g$oYG)n4jr7%a<@NN4r@LIK^_aT}Lt)VoMHN&TbFk^KHkDQ2@HrZOd&s(hzIG;y5;8QDAfXhJVIsF@emrN} z$bGz7k&UCsKwJ~WG)!iTPt8onW#bYrg{Q^FY+%2ezL+Tq?OvsQM-9kSG9cd}!&!if zaNiu9hSaJea&eA*MX{5Vo?4Luj6M&&-JfTx7Z|5nIuEbf0GZM{{B4UDFf=wJJ%7E7f5y1g!vZu@Oiil&)pHmSE z;52?bAwlrL518%Rl@=~-&`4+Dbl}}9TsSsyl<9lT4Qh*~LH{oWeW!HsrC9L~jT-hp zAI|x~ZS5o5)XSb5#*wByzv%D-J$jUpzVSUzia8Dom)$P|r@x~tv0{9w?y0_lFaAw~ z7V3uPd()IS+#=rTi?J za^dMmWuU>cweGtV3)tQG(>{W$wpvDw?cGoK8z9%nwD z=k=U6ehU_AZcn%L+@6K^9A|uEk#04%_M8ZTI(xS5B_O!ll_K%WyKB-4O}9OmV4Q8H zg=uSE-W8+Uiv|l!n;+Z)&{34OI;pY48nrsTBu^VhjX;1juWW z>j4qeD|M7{-)1+Kgzcqc8u5)LpR^b7%*&L+fj%iZu|~tK9K*4avb7lOJo0dF}{Z)><&M)SKssCSWl1J&s24@YWt`5>S=4o zotd|*D$m_E!%j*$@qR%{&$RN(VP@m|_3jzuiCkx3&s6by>Isg7`kuH-sF**?r_?L! zDSRVl8R^JWW*QA8d=`UYmJEmfuKYS`9li@6eSm@ENU~jpajIw?mycAq3iyaG%JFe^ zM1`VtA|dK%mnt>&HBL<^BRh_-qjrFbzbCAzzO;2TUuris76sm{1K)`Ml;2VypIk0R1hS++Dm(1nWAM1+j6 zsiI(ZGK0-SQIGbd;vmsQ1Hu^5V=3WbLu1230(jp2Hj(ErK|CTpt06fjv5F%LDQgc| zV1^vB<7>ria+(s7*HMAqKH2$i$%tf_C8?3z3%Qz_17#iAh+-ucmxzHqJ(*9H8c3;; z8(6vUe_mL4uV&%9X#c-(Zef`h>>B_U29e8%F8~YIk#mR(01Fqhyri>S-tw2I&VO|f zSDtW+HUQ-5S7T`-?>e9>`Mip$$zTm#Ps0;n7L0+JC=Praxgx6L6vo@>Be4>t;>fa!I zG3D(0Dr5o37U~=^I=lTVUBB!iAKAkfc-Ax9!2hc}Z$d19-gU7~J^^H?*EFP8U6E1Q z^l`P^bV~jhVrm@~EeCWy*$}?KZu?iKafeJs%&@h8#eWQmBRo`h5>Np^0KX_I)J{{S!-$CdN*6(H^O0wroM<47KA#}bh8kM6EQg5a z(q6Di?a-sU{+b3NSSlcYu6vEuslm6C#XJktClB$IkNShN&f0w9l=5(oJwi+53P8r(M~y5kHhKvp}vR8`eBJ7j_xVz6iKu?FNvV-NuK<)eW& znx!REs*X6ZkLa^H@b^`6V#>DwZiRkP%UqTo_cPd2>7 zu&PU`Rft>8X|JfcG_r5=#N0Xla|A!a={7#%w z9YcMq)qD1^)du*cJ_Gz$EiFgSxS!F>Zg2gkKK~^e{E9$g9@TR6NjA&>%^e!DUN*zH zIrAs)1GjLk8tL#7>Lw5d;FFtm9{>l?;Zg8^#Ai-0vozz=+!-*?Wg^Zh2Q^q-CD4H# zJ{Fx_RX`7}uc|-??yl;q64!6cOk7}^2{Y&KRInBv?j2P5DY7H!cq4p{VIRRJ>w zi4}*N=Bf@nF)N=v*s&*6YBRKo&g{22At%Z_?E>BP>{nmi7alcOc8k)%KV&(1HZu=X z!8xCpkVSb&I~G+k#5tOeM)wax$fj_9BIw{%%VQjg*2DlgzI3mQR?(ULj!u6QLK;&GMr-?|B#kP94=K; z=#`!bI`|ry@)+?I5ic3KjmJYKnUxpm)u!|lK#rI^1&WkN{=@^m6~>X)ko}b#{zA!T z2?)Umis1xF(G1J+f+)#~s_BMl*^cY^K^VnJn&m}V)s4k!vpbxw_sQ$<`uu@lC>)8t zQHXzv{&!d^oyq3%g<`2(sn+U^W~<%l_WFb2XgrzD=8NTOz1i;ehvVtocKt9;^RjOH z;dnY;J?j%YqS9RunYX8h zfQK*8Y%SiKU?f_R!T#n%lbxksyFct3e?bj6*CtA($t|-jw=aHm`csQji$c_RuYdKyVmjcd)Gw>*b!epo#Iw*#?pfes#2I{X3{??<_mn+*fiI* z*ta>OZDiE=|C*%g&qL^iL|aM5xel#qjA~T-1NLc;{{ggi6@1#(!ji3fxNz_62noMF zf$mK!s)ye9oZ3ZuvUZZEO>kta=pyxGD(A7JtYIOkW7wj+MA%6X!uUnSkhXuWhOtoZ zKWZfjDyzlaABh?_6(jDL#L1L@4wGXZgeA|h!A9YNgTTId#WdB^kHxrp0F|Ebx2bs& P;R0LaxVzD+*yI}k84c5u literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/images/face/0.gif b/car-mis/src/main/resources/static/images/face/0.gif new file mode 100644 index 0000000000000000000000000000000000000000..a63f0d523561c523476e5330a0d67eb7318cb187 GIT binary patch literal 2689 zcmbVNX;c%*77h|fSVf7btRc9;2uTMBA%GGHLDVpaID<1f5|U^lkc1>iKxY6!1rbG@ zd2aAjaK>G62Sr5@Tv%lj5ZMBV%8n>ts{1vL_@3u@=Ev*PeX8o#z2E)rQq{hGY`QDg z1Y?5vfMDRklNoDFn+y1$-V+&nI?*1FjNVaKeTNKPP*>Wj%Sp)S#fb{Le6b$#p-{ol zsW=k|kKKQjucL0^f#x9i&7RS^Kv2J=HOHjvYO1<34zzKv#bH4$O z#ZFq03?oqI0iLr!jWcLn2O9kz?9&3Z4A8^@wQiuy9MsUj%i!U1H=q*1{h6R?C3x4%9Z~bY?lcTmR7j#Mw>w(q{eMOd|)qc5L4N&c* zuC#-D;)kkvpmjZHTn0Kef@(+gGxF;@#-Mq1Z|Ta0Q`*Srt;^f+@S9XnW&vKOd~B6~ zHyNOJFDSJDP5y6-g21a^k$3r^XIIl%Q@Cp@Xb*$?kBqma0hL(Ye-`v4To=x`Eyook z8;-r))qmH#x4;x0I$fJ%qOMq2{D&DbUW-iBk2QvUX!>cQSp;gFz)RlCiz^#1xfLC- z87Zj=eCi$V&2U#t-?L}$cK{g8qbIOabq>? zp4*0{8D2G6Ot>!#v2jzcD7SojpVX4O3Vsy}_iV4&YYK*PK%Fl#a&`FG zM$objsAAv_jp9{L8DlbVvx3c0C zr|Pl<9y$m2ro$@nL4nz&9SmgnEc|9WGSQyB1p-}ha92Fse?ZQ_Bctc8B-z2L2xQ`g z`dyy7!B5?H1nxhi9>_)z#2V4__X%3<%?$9NI#4tL15Xk`R&u3e$bmwRh?tD)leSzDDEKdpZ)(efVx$6cpg=B(lJNwny3Ld^ zn!A5?G^vQPVSFzWp+(__vn0Hz2!UAP$MPVdI}UsipFwe?qgixuqPS2gG&%&)Szcb= zUTn5A#oNb)?!ubF_?9i(g+_B>QeAz}{6mlrgqnM?ATOpDlj_W-In$Ej}3 z2Pdarnjc+!IX(h0dS+zk;m|-}p#C^9KK9}L=(~~Op}~RvzTUTQUiZA}?&?%^w70dk zylj5a)Y$O6zOJ^W`dL+FMR{52(=Vb2{W~l3=#j&R4*u(p-w$N$Pv5sUZBOd%l;mAIcO)flPl%8E z?bmHvV`G%jTcQ+lS)^1VjtCFiED~ zT(R75nJ?Rih87J7rZv4a|qPj4f%`NKP{w9zJutaJ^PRj7vDCX2@s-1fMsBq7R3UP)M+%4tA?D+}XvHFzz*y%L=kmCmK7^vJPkuUQkAmPS3^L3MDk2U`FtXG(OBw%kf#qS1^68svpOwv@mo8;P zDGCaXYN>-Qp0~Xx+rV_GI`^sF6U7K8(~zl=;$%)R)~gj@bP&VoMw_I4V?6f(!^$+;TlKZKNWRvr5bBw-5Huyw**;mBJ z$e)Q{?zFlcJ6(9*C`9kUZrt2~XFpTKnRkA%Zm|z`^-ujm+}lE&XVKZs-c=Znar+N+ CBC!|% literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/images/face/1.gif b/car-mis/src/main/resources/static/images/face/1.gif new file mode 100644 index 0000000000000000000000000000000000000000..b2b78b218996f70773540d0d3a8649d3c2d199a2 GIT binary patch literal 5514 zcmeI0X;f2Z8pm%|0tv}wF|q`>VUY-kh?astAQA;dB?6_fabYVUO9#+)7)Q(s2}KDA zighC_TBPE*AR-hSAO%6du#{TxXn-QNiVcVgN|Fij%v8I5oO9-!+)ww*d!7%!|9hVI z{|nx@!P_T>2oQmXY@j$fRCS-Fst#8Fl-Ji<_wt8B#oMn7hHBnZ4SIK-bRDmyJo~XxHIe<@S;}yGsph#%R&3pM=?m3xsA@drb+`R>L5S-6 zz>yk^YAiuB+oYNAZ_LF?#Sxmh?wKCnks9lU+z5q2ar+DGPfeziHw@J?S6jsf&!0cP zdJv^~b+7qw%%v2U$@--gvCCCsdk<_PHte%$Jmk_-lRDCrG;npxi~bPRgV?D7zN#&_ zCe2g*w7m0(@9fi`>xz@w^U1XtK2y!sP1)pEFP~|YwX*|ZH)_kL?|yde{AtyLq;?6r zrS5!RPuG*%o2S}r6<3x__s6NL<5VMzZyPSC`gf@xv3stwub#tO^-JmF&hTmZ_Q|h(Unn2|LQqcJljcz`CqNT-d#=P4TsI+`$f9Ch+HH6_=gXNx+LO~J;=#8M2bsj0pAsmE~jpC z+e9r#gRZAtL!FaYC?7{MaSw`>N^<&&ALWFFS+Qsk`6z^CS-}uaQG8o7OPH^h*N!^J zB?bn*FiR_2UPN3N6Xq3j4@!m%=yWd_((FOaO!^t=l&v`jJMzn0XXJy!`5gR078K1v9z+wE}3v}$MR=6 zIFTWuo=H)j?LKN}v%e&C+c=j~Y*=?dE}h{YLpr1Us*A?L@@)yGj!AMTkYgK|JtLTp zUWYwtNqJJ#_vQJ4FS9uod6LmbIk@-lL+QNel<(bl-msVKb!gj$+4V_uU<(q(x}GL@ zP{By=zzPD^M&24#*nggXldXc+BNE$8YZmMYeZm}wO7Pr>N#jQ-B(?~MM===Y3%&*=Az{%xjzo9W+X z`aYxYGyeyD21WR52Y^Qx#cLG+wFnJr4M0ddVvCPf0r+fTZ3%Hb=^BdjXJOs64!{j- z=8t&W0hH)!X479OfRW#}%z;G(K(o*q2{@ATH=C@;d9$e&vFpb-3t_8bq(m%AT5@Bi zGKi3|JlPKn^yD5RScM;yAK_GS4BiW0*wZ&o;~|Z$kQjO8WbdgJcAJw{tw!Ydd%mLV z?5ZPx4kl~B=EBi-Yvfii`n%!vDN)FMpTt8(Ew_zvl;e_+rl=Jxb0hxKtiGzC91`BW zqTyE4hbwpcrhAe4$e0eaKLebbF8(+pE&#b81IH#>A%oS!(rt_mamlx3=#H zfJ`;IZGvzuAmC!j{5rHu0AsnC&xJqi665{5&Q?zcb2^b9QInYSv`~04FS!aFd?!vT z?KXphV}y6&glQ}sz4LCID8Gpl_h}Ya87wsNA?=`Nl$ZW;|K?|kRPTx)u)uh~1X4b8 z&WAd9zsAXep^cMydzlIptr}~=83}fgrZaeGbNI#uc}5V>o9Fz&=fwToM4rGRP+`G| nqjLpT%jon>&iI|hI5DGFNqSH|Meaf1bVU=!q}mt-2YmkxGX3TC literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/images/face/10.gif b/car-mis/src/main/resources/static/images/face/10.gif new file mode 100644 index 0000000000000000000000000000000000000000..556c7e326801a0ea090bd693ca43807925d3cbc2 GIT binary patch literal 2797 zcmd^A`#)6c8Xsolx+O`H%Q93$nTyL{n9MM)A-684%gM}GWn?bROqpmGJGZ^Fi(PxC zQc0BVBpao@iAv-WQX~e2E`%;_^UgXmoi68xeb(o*-uGGG@ArA0^?g3?^6~R_ zc3~Q#3{evksAPYm+ldxe`B>25hYY5H$5ilyap#a4=-C9i!a--i^?{+Kq>xB__^Jl4Vn&qDieZbVwCxhx2@ zILKOvg+lCu6V~AQ`is#P@}Y#M=jR}wYR+vn|5TiK@RaXU!OgY6vPDVqMt==D71BV~Djr?Wup*KT5)s0Nt z1Ea;`y*Z$Vg^U%+NAu)^dy4m>3*sq2x(&3`O809f`!AG_6@bUi^1&ZV_v?Zdd(dFk zaB1^UmD5ngJo#|eL{F^zWjuI$5Ol4%mt`$$vYF`IF#R$WJTyT@^O32h{2hyB4HojL z=IPO!U?>rcovq1KN5(EAA1kK%5`D7*2eJ&VEMP|C>Q*F(8D`a)X#VL03k>m1L zNkAHLnrro;Eo8bcxh+q#qdYo0+G?;|YpN42;h4%E5#%GMLHA}^^K#ikNY-R6d*oOs zTKf3>vYC2QS))~Z!7^DZ^;7j+S>2+dJsMN@jAc!@>Domz^^oi_W2V7c*5V2pOc4Y@ z&2m{F+Cg67VV?A0FFQODt)hS_LhA#AAqG>-R6O0>B?2aUJ1mA+@HP&QihXzMZ!E-# zq+-`O1`-1Wo^TY$H%P1BC+l(AvXy{!WD2~F%yz-V|XHpgowuN zu~vo&Sm-lEyq$`rD_=m$oSu9k3_0TMZP`Q;2_lp6BnL+_nY043Ba-Y0M8!?EB{@(W z$rL*$=*xvwWD`birGzrPzvNQvsMsj6SU@2VVq;_RvG#bra2tW-;^Lyzu(PvOAZ$gu zd19u-mM60Os=$CnY#~P==J0utQjy8x?-Wz9ic0_80$1=&mM6l0ZU@iia|sfrfIz|% zl`VY*1_u6bD3|*UEfR;q-|PLa!lLlq0+> z3;A5=bJG;g?6o+|s`rH(IeRURvvLWFVhBoW|HJC9A;tVCm){0gvH3RoFi$b>Ld9UK zAaWp^nVy=Q`1J9^`|+{ScO%1Z-@JY`G&u0`MSowfw5R)d*R#%!r%&1+x3#uBYHn(5 zcvxTep!WW~yEWB!sw)5f>vqMho8@Jtf0o=RzFt&#?dp}wmo8o?IDalb?`-awoYSXH zW}i5IEbHhWzaKgLTV}?ggTJO9_~qxc)Rg3;{XZop?A!a}p7^-klGt54#UkMj0iVZ> z*&fY_+O`#rWV4tNTmHFu)5Z<|Sif%Vn((mDkl@upfdQ-h{d|4Ay%?Szbej80s+%jt z#o3AM=wNS0A`&{X=-C5hG6x_Mhp(KcU9@@YgLMeldR?axtN zwEd5V&Z~-T*Iv@rI8N2DD@?W3Rvb>{t;?G1!&v7sZ$i}`xn`>FQLpFZa5oZbQ!WU# z6N0id*ekoxJ8V?Re!96gG%&ojbC{6bC=zRL(qC9 z9AVRaGo3jGR+2<4BiUquM~)5rObdsjH=o&{j`7Fgq#-%QIg)q|V7l8WN}3~Mr^HPsnv zYBVTkuWYI`!P&3tY=gmCJ!#Glz7;G6+M758sp#>>(`c$v8b;e4Wr3n58|AJ_HBZ4M zKkT%FdUFzk{<}(CnOdM}KuhNHXeOR1V!?SZ4Gh!>qiTZn!)^dLP>z z5V6E{^;KymZ80qbv*Od_xEFz6_>=chubAD346L#aA6UNh2+PBUmt8$z7(H-o8%=4b z+W)tqA(h_^MWGdj)+!Cv!1vT~=&*>=JeMuyj@YH oWz4#Y8lWniX5g=81^=RXq3ldhwpWFqvq6_o40028>wtN;K2 literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/images/face/11.gif b/car-mis/src/main/resources/static/images/face/11.gif new file mode 100644 index 0000000000000000000000000000000000000000..2bfc58be8c70d512f4371b50b2b98c7b8adbe719 GIT binary patch literal 4121 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 literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/images/face/15.gif b/car-mis/src/main/resources/static/images/face/15.gif new file mode 100644 index 0000000000000000000000000000000000000000..c9f25fa1d25412e2e929347c0db0878b0b641d58 GIT binary patch literal 1793 zcmZ?wbhEHb6k`x$cvjC)UFLjcxo+2{sU44AEqro)?t{~@-b%N3XFR-Hwxr+ulK%oH+No|8@joUb;8o>khO;% z-pt54c=5$f_l$zz1xIF9ZC!k8rPSX?m75>!3YoF0@6_@yw?fNicKtc8QFZZ3q7CQQ zJ28K6dKNF8dwdf2>Dz5FoA&JK_I!S*#c%QM(+{R^st_tYd#Py0=A#ot|K1Au_q1vD z6!%ScSEOWk{yZ-7e1G7dQxZR(%&R%HD{|8GPuFK(p3ArTeE-+$eg#|BB~~S$dA0ra zCi@?c7ri|%pb4sD-Qd^>BZ@TkN^$;DL)19`Dfod@V3w#!8pDhc-E$->ITP|u(PWCJ5fjDdmu ze?xs!vs8YWOpZ)hzDjdnpQuc^mXOXgX{{oe-u@~|ZFy%{R@dafm z@IQa9kQKz2C85GpugPS}VD;TfljXPO4=V=Kgd@?P4xMV}iXHU$+K4vH=vCN_(f6?!dfWS6n2`SY^jFjF5#yp%}dht@+k^lQ5mUcOp* zcs?^%!Geg4gAHe92$#NpR-1INsfoGiRz$%hw=FUkg|bMf)@r}A%N=>H&t=-OGD)%dJ&%aS1;>?S28-4y56)#MguSwF{Wn{Bi0wrzT;!uy3&oA(_^ zP4_wBW87?f(kHzUYzsfa7D1pbvq83K2{lV=HFwoZ*)}QIN_Dj=yXlz=G?~}CDNBnw z0PXZuXlB-166sJM;cnU891&3uiN0ojaP%=)9kJ4E);wy(ATN9lXld$sVfl^MZ`{0f z`<5JUy@-h7JMl*sta~4a6oo18!%LOf$q&}sITYaYiet1X;M?G&Sqt4V`0s%?q;x>VWruo zITPfDMZ!^SQHzD;+gGnyyKeo4jrC#{^>Vzt^*iM1EyS8U1jSr=;w_HEA1-Lp7hf0JU8dSF%T&D%E<+7ylUKYC)M*n|{ZEMUu7fY$3aNE)ViSQzrOwtGm1);sbf z_Dz^%r|aYuqCS15lTnC&w5K1hmuJ8d&l*pEtR`qRKwZ!p-%_Ak4|D*~1b>MAGiJ?5 Y2vsx^3s|^#p`syH?V}DDY9U|^06Jl%MgRZ+ literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/images/face/16.gif b/car-mis/src/main/resources/static/images/face/16.gif new file mode 100644 index 0000000000000000000000000000000000000000..34f28e4cde0cd13acdbbd7482282eb306f5b21e5 GIT binary patch literal 6721 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 literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/images/face/17.gif b/car-mis/src/main/resources/static/images/face/17.gif new file mode 100644 index 0000000000000000000000000000000000000000..39cd03538a5bc595fbc46c97cf2b06c8bd8dadd1 GIT binary patch literal 4439 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 IdD(dV7kW}yvj6}9 literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/images/face/18.gif b/car-mis/src/main/resources/static/images/face/18.gif new file mode 100644 index 0000000000000000000000000000000000000000..7bce2997f86e477a6008fb1cae8dd03cda10abf6 GIT binary patch literal 3017 zcmeH}`&W`_9>8Dl1yK_aL;=Ob3nGb&N=AwoykI7&SsFG?;bls#Q?`m}L+3&8mQre& zIhILwGPi9z*=?-c$}De97tM;9W?i*RZLH05$~M7$)uy&if585*zr8;^=RME!`JU(V zdBVcQg2f3|kQMY4K>D$L6S^e*VCwsu-ujWeGlg;bq3@?|+D^5LdymJCUa~Y8^!gsY z{z2f>E#`2~Uw$8|*Z2Aw-rjh4oPRNYo?+rb`(D}^h4Ei=yw2tG^*=}Kj3iFKyRZM} zw>>}ZHeB#+uVQcHV~3jDI;&&G?pO8JbDnoe441zu5^60UJokvzr zv@PhaVNYFm*7q#wK9SmdwCvfV*1neFSKZ$}>n?nC)p6=?;rbSj_t$KHAL}3PEa<7l z>mRPT*&x4NGr#As@2yM6pSLjn(Y*dj>7NEpTfVv_{OyY4+Zz^dS_zZCtkypa)!&IX zoLZ*8lhA*0#ic^$@t)+qlbrW=g8yD6d*A8Wcf0xDy12e8^3j1`$4=T$Pfs(a%_2ir zt_T)IhkCm6j8G5+G2g)$PY6J6$Tu=1D+n^4RsxkeFTbELWWAf4sj1ugkixtW)6Ecv zWNS;}U`@q)+|pne3uOy!gtTyu*sY)rX4J3DCQt+`soayN)bb+?bUm^900+)sKxuL{ z8%=Mmr~F_`>6A0*Shk9_(VXAA|H04URGZCwbQ%k!hM3(&Bw}bBN2+@$iK77J6p;J1m6pocLCoTxg|5!y ze0Aaf=r6G|2gf1@CqP8x;N4093&QL$)a(tQM5EzQI10xor(GH%kwT&%jUNV^Cc!$Qr>))HJJ+FdjJP<~NCyx1LPaqE_63aOSL zgJ#3zZC@Ma=aC`_vIgR0DmB(FDmg1eWaa-$x(nHA>C)vM+xn(*6BFAkVVCoQt)yUc zi`;qCl*tU^fl7hP3x0~0)j?;Ir{@K}9Dr56MqFM(BC4y7VU+0E<@FR@0E;H2X%)v} z@f=?+L)W;zvo>&cXtSq;Arxc*kv?21kSdccVylbQVo%pZV7DqhphS%gSiH`C74Qou zvSgKjLh&Xz#rpvTd8hh^c&7$$;F+OHld7a#6W1_8So~tSn(GC`T+gsL@33|2Jmpdm zS>YrI@jDy0{X2rUlOH+5eK0+6lrp`Ee8TDsDT5j z{-{H!`6`2m$W+<;CXJK>VGkKG6H^utqr~ZXveDXw4q44brq@gD?PV95b>qfeAzVB@vs@)69ynJ_({9pf zhXVH+nX;txC(7&P0o&fLE>_-)ne&9@%ylt>um~*^gjS9cFwg+8GeA@d_$)LQ;uHZi zgD)qu=rnE_w5OnwK~M8frDxL6Wr(NuN%zy8qu5)>%nUU;MT(Z%M9@8KPp(5}(^nwq}4<2ejm;;1)1H#-RipPvSpCYvuGQVrc%(rF&-pS>snM~eV|J%Sv zVq-^GX)VgPl2}_>75Xf-Tx#V}ke21+QxWOo&{t9T)y@1L%_lUNxjB7y$3Ez%ct$^V zbNYej{G*ulPYDA+6bhIzPzGY4;_7%OZ-TeLGlR7lNL7qa5<4|1H190@IRAMg5(j8}L?(phY-y`50aH_-& z8U{DVAdq$){Y{AivqB20s8-wpxRcT?Z`FaicaB1cs)H@ zqu@!rE~yt8sHR{M}v6=UaO z1;V8&kz9rTSSvM(4H%a_|H#z?Bv%Z^7s2BH^hL48W|DP0J3FWiUv6)uh@L!>i#eM%g!m2b=EomsZoMrFNGwm%(_p IDGd4k2Wv_t&Hw-a literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/images/face/19.gif b/car-mis/src/main/resources/static/images/face/19.gif new file mode 100644 index 0000000000000000000000000000000000000000..adac542fd33e152fc08baf165d1c5a467f0c2747 GIT binary patch literal 3040 zcmeH}`&Uxg9>5Q86bs~`fKmvGN=OJ=XsCdSFDfllZ)I9iBDJa+pA|D35dp&{&8Do( zY;4M!>h`{Mb4u-@Ju!RP^cd|iS-0+W(rKJY^ny7y&FUYxYu(?@4||=p&*yvg=d)wt z6ylJDZjc-F6M$^5zP`10c7JD6)#SchlXsnjv(6| z>EJc5=N)_dp6s#Rns#?z&_7FEhJL*;)OV`2igr|s`EHfycxjOBUP9S){P1tLZ9k?D zotoBK?YlGx{p=*K^F;QQZAq_hZ@zN8_Vs1ut=;}ZXX5Vf!w&stkF7!6_vF~~Q_e42 zQwFd5Z7rPp{N$7umsj06{^iwb7u)?=E$cCNcT@WxZGL;VwCh{n!S+dC&tvtpE@`a} z>AzoKJ09@5IkaXOckr_N+m5)tp0@s5Nzbou89I^r`sNqsEVLj0A>Wii8n{S$u_w6y z;-m-7>#a51!Sg=0j@TRfa~i*`czOR^-;MN_H%xDu*n0ImrrWFwyHC$LZSv{uP`$H8K03&4+LrO|lK-RYjlXxMJUUzOqWi(CgUsRKVXtA_ zjOgUqk+Q^SAzy%iK@jBi8xkdi0K~ID+lS-^L6~73(3coWjV2JaB*57@AYe(9xkTZN z;gUT)$y{i;^9ECZf)YoQcu0yM3<{+QFxGSV)MPOQUzEI`@%O_e`5K6ki{etYdJ-TM z;*2K0#2-UvmP|bqDW)S>ja&4r@f$q3$u32Ab{dUSUB|Z%WYr@|umzzS z8QeEhTIEOcJk%^~L;JWA>!g)T<+^(M3`J&BCNvYLYXAONR(5JEH6pX5PP3yhWsM7pwJ6#Sc%<&*+cVb)n|V zh-4;ne&?aZnDT9c#FhGX)TQZ0^OACDKVgbXM=viAc2#xr(0#$lKv*R*bgH0gibqRJ zbzDV+@}yMTVz^!khmDZOJIG@pIE00ecJg$cSRz3KBcQUm)Ka6COO6(qHUb{N6n|&g#oQ7BP0T2A!<>-(?d%YZ0Y)3g*%^dbs`F=VP_01?5WkkRBu3`YSH!tr@T1}2Wn1C6=y;p(WM zWE@W9o>0S$Q{{;k;1YeipWs%ri5L|d|K#7jL8K?~x~|Wy-Mz)(-0;z7` zrq|^&C|BA1fvl{xrB3eEY3+&ZHWU{hzbx~cNWxl5Xx@XQzMs|^32qyeiQk+<6h}x? z_II}EitEth^oI8CsGdy`U+SRBH;ZD-!C)=1mzno+V$iIU%#{_E@PxslwJZbq4VGTz5S8EOsyqc)urqel zLWyG*BFPf<0W+yl>L!t_yn1dTA@k6anYFyaiw{<@{N!+aVi=*V?=k+epF6+(RAd(( z2A|h5E5En3wRQqb>vyVhPme{ilEq*Wj(NvoV4v$%pGgY{aO8Bi*F9@9+vY3G!!EQ9 z12dT;M{Nw-pPfBwCg2DZum@_nB|u?M6tE}Cemk;o2C_C$fvM3wl%!KSf9 zA%G)N){#hEY(p^qk|_q`<4|=5kCv+8YJ(nzps^Vmtng>=7LRFx7yXhJHOCRe!9jzE zcNW7Crh=jKD<4PUHXvs|!gh=#OaH3QTz?@FKFxJVTePUyiG&MusvD@%=~@}t`h^1` x&iYmvvfx#bmpT3`PtF^0k?a@iE%))*1NVySmZizF-M!R86}DbhY`;HF`!D7eFhu|W literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/images/face/2.gif b/car-mis/src/main/resources/static/images/face/2.gif new file mode 100644 index 0000000000000000000000000000000000000000..7edbb58a843cec27a1641a5c9b6d30b8fc1f8c26 GIT binary patch literal 3222 zcmeH}Sx{4F97iv?30p`p30s7afI%Y0usQ~*kRTvo39F(M9fDyo)qyIGxZdPOAXfuw zMXOZ@MT%f;N3m|GEf6fID6)v4qTr4|g<*?Gl4b#gPG5ZI?R!4|GvE0w;|8(3`Bs1x z@CE`_yJD2}b|0SX8E<8)R4Qff@v))So3@t97s9rhpC4WH_pkwL!xySPHq{)oZ7p>h zzvrkPIQOBeShx`LV*^5%D6C%`ebEiEl~ zk7CE4B~|Y;QY-4zgO`-;+$Y!56kQ@|0&T3P_~I^%dg!{c*>mvT;;r*BVqy5BGo%N1 z>y$4yj<eSIAsOnz$S)c;g7`UNK{5a%gXzk9w@* zb+!N1Z*Z#q(|tE>A72qE-$~S?mF?$QKjr5tH)lqBI}f!)-Psh@T^p)=9MN)#S6{a5 z)5GBNdp(u?=bL}eIw4v-(&%^nXp+1*wON*U)QfoKAiI@LkEEj?KB(WsGWwPb_Q~x# z%Pj_))}E%~{$aCw?}kb3!SMzc<>;fP!fzD)jmqa~!+lLXRgS8nQwfW3qmScXUR|)( z58qz3wdeK<)!QANf2Y5%2`s^ZidsvxTJ505@&aRHmU1EkJ(zBw0RR9FAJG_700J1A zx8_Jz0AQpRL9k>=GRa;_N?sz#%Zsq5<3pC>LV|oY+spD{Qbe2&7lU`gW43MM#*2ar*Rwx+$e-nGQen7iJ*HH&6s0DE)T16NM@URLM4sVjkz-7 zEVM@ox@)%#;|K;6VBO^yGDT45hL=an%;wJ9`Sg_goSH(sqv#czn<8!~#3sD~%K0_n zM8E1+ZQZBKnoC0ED>;cRViOmBxv=BT@LrSCmTmn8?91ocFUGXRDmGPv$5s+|%)PO4 zu!z}lmB=t-ZS|%1LinMQX;MOwcmS^G?9*u1hBP-+<}$vIIbo+9TL7Q-4AIssuw z=N}TG(+?p~3br$0y?OA2c(7hNM6a9{%@o_D&;*eH}6v}Ak*0_@l)tisouy=(k7zah6uVrZhe;O``p=gyk5s|!3?bZf88ne*I%R2?0u zS@(sfB0s%2$%Th?;siz>TCk?_9ePuuvyJQQP8vMj7X;0X5*K4F3?nP3QSNhuu{urs z84)e)87pS2n6YB!ulU@SnZM$z3t}))Q*A*^DVoWmscAMP6tU3N6pmY^9V;nttf6+O z=$l~2j(DK-Bo4lc`8k zQg{>bzl{g&%nN?YhqNV#O ztd%y!jg0~xk-W}^+K#6lpv-gGpDC^eLab>noeHkN6PT!JRZZ+!1SKWgcK&*DT0tgB zXm^Ef+`*7`+buyz`jvr4Q3^sy@c+#WJ(tOup_y~jhsI<}!D%hkERC;dDT30s^pD^v pEloJ|-EsmUGDRV$ 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 TKb&t*bx4GV=Q(`>7FhdV^sO<; literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/images/face/21.gif b/car-mis/src/main/resources/static/images/face/21.gif new file mode 100644 index 0000000000000000000000000000000000000000..b98421282467fb377dced2eabd72bcc5525f3e8e GIT binary patch literal 5191 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 TguQ+mZP{ha!SUN*Q#T$ZGKvWRLv@}vHJ9z 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 Lls229f${$VzcBA< literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/images/face/25.gif b/car-mis/src/main/resources/static/images/face/25.gif new file mode 100644 index 0000000000000000000000000000000000000000..0b4a88322946c1b65e9236657d6f42c71e412a94 GIT binary patch literal 3127 zcmeH}Sy)r~8OBdG60(?tEF?im2r+;L1lbWy5OoM5NLU65Q$b)@h6?I*ijH!^Ie`Ra zC+-{I0$SlgMa2~iD4?}c!BMND2!czsN^wC=U``U8YM-`Oz34^na(Djk_j{LoC12#{ zpTq{(z%U3*yz6*VPh5@91jVmp9hk*h_ue zPJQ3W9I7V2)w{mF$m+;*>u>N~s}C$^0`3@1m;r!i)ctaNxQyEFz(9+eC`^XN3!8BQIW zt(<1eq0t%6P)gK1?i~Ktd>1RgD&R3clgnP50)~j$^r-=)g}=2U`P7FrwO!vqU_*lU zFw_kbR;~X&u~yc;$&E*};A ze5@dpf)h2mKgvz4`5VTT6Y|IUpn?~B`O!Xow+E^_0HQ)fRwZ|q!mi;yyT(Q|dNO5( z(vaIEBo^5_+8bJG6foKk?C;Q)qcmHc(BdBLY_wYC6rS^a^2noz&3GFqSXDV4J%vAC z=ygah&ds5MJuT_7^Jnmlu+);;JL9n6_Cf`txBd`g4RhfCW$xgc}fq5F^bFhU|C@tyaSPrXmiWx_-;j z5{OH5aS8B-y#rjF!nZ?Npn#VKr||^yXmubK7N3GoHlI6xp_vXT&t-${;6-psCed4Z zju{@l@;WGkgg5K1S4V?6;eLXa^J0PgH(&%T2jlBr%DGT{sEszJRRQMz+ZQ1&fFZ;L zTCD{?98kf}EP*W8;ThJXyzh2EtH5btM3@+smE~CvCcpxi0iQZ?p|$PAT1a%k0lb8~ zN*V1XM=G=P7E0aLQrUW{8%L`2wu_dUPcC+qVwegWOwJEdU(ghkP-diGnZMYcPcW7@VbmOIpx>pYmRCzed%2X+OamT;YIX&wUMpf-{_n-e{s zN%$P^C$0a3oe}+cXRJY+JA)~xIrynF;Ke9!5mD7YqETbKiJ6Anb{rbZpvC2^4Zc{! z@Rbq`?@=ki6uJ~mORT8L#Gz4nS%;41Un!I3?CJ-SYA;dAvBLTW)x%B-Lr`6rn?L$k zUQFOV%IqF#gC5}Bdi>;-4rr1qs0)dcpyspYF!zUWfX;B1Pw|1=G5GRA`1$l9>H$VDpJQo!fe^lQ++|HN)tdbJB?X#PIO)x4gJ8!2~2 z#cM>{Dvru&7`$UFnDf{c`}j!Jz`M*RZyV@ z^7Pj#MM@!7tHBCOaFE%PsLDbV6GZ%IZL;I;y%5Uc#Be!-<|=i7Qv73~>`5Pbu))rF z4u;KN_alhm#Gf?TP=UVBjrl==;SVbw#biM?3VSySG~J$pUOaa$xC~86cY`RyE~c(y z;VHb7q8o$qEoz*V&^-!AW>ZrGnNNZrm(c~e^_=&;`>AxV)ar!vH+7{Dj`*x8YjbMB zHIxKdFw=fb%KE~K|CGA|=P)WgdLGg&yjf|cZgHZsr#XXx0-Pulm#|#GXl8gM;4(!x zK_DnH%g;`r(Zn=Kf+dqU&=N`%R>FP2!cLyzQz()2zGiX$kx5}ne_g7o0A|~ha|cB7 zLV~2(5Gkyw#S&tyLY|H|Y{a_6+>X-?Jf!k$DT*zx1Tt9>YjOOZusexEd`ajc0VncO z5C&z(?hjceaQeanUKQm*8~Y?)J-YnWH9d5H%9D_3Gk;f#^_)%f$Z?0hy@IC_R`#iE1Ud98@p~5HAYTDuK4U(zc<#GppqcpSq`GsG$aR6;x2k0_?6-$i z7m=~qrPV9qZVTWbdZ literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/images/face/26.gif b/car-mis/src/main/resources/static/images/face/26.gif new file mode 100644 index 0000000000000000000000000000000000000000..45c4fb5563081d684f00cc3560df41b803cf7bbf GIT binary patch literal 3291 zcmeHI`#;p_7awFU=3N(!aa z)@F63%VJeZ7o=9ZQnt0-6xqs9JUi^x?ho7dFZh0*&+GMhp7S~9ywBzRI**T^H`7C4 z2s4C@Ps2a}4)C#HI~NoigHSB6*8!HOC}Tq)*G;fC2OKPj(FGJVaMc0jhEI`juo?%# zaMPRdAVYurYr<3!zjB>V21i&gak{lAP5J_jKOvfu-^l)FrbJJ zYMHdu?mXbW<6M<|Y| zA7M8>`ZC!V2bA`phykRIr;IV+AX^n{3v%H74Duba8K{B=jqE_49XJ^VR%_n&!S)dB z9_rY26KnuO1C-jd*p-SfdSR<_g2Or}K^W7S`c_1>>H(0|FnoE2Dtn+MKt7mk-&j=y~ypsn%lmxoVC zdZ5H|I>KavivdiXQX}mqD?~$B*i#4WNk77aw9K>q-nW-Wl{i>Tyn5Y}zx7_pjuXpm z-amiVI}dkG5I%)vQPqK4LQ?mp&HY5Z8&QJyH1vm&(Xlk* z^NW`zUCN#(D_Jix)u)Q(37JxkRKCK&g@>X)-I7O%@1c zF(Q_FKO=S~L$fN%L^j!T<_9!`=_ON$Aa{zZQ!JH6gXnY$&CQ)or#V6{RGN!3RsGVP zXl^WbI?IIt{r!;DXbNE*E12i~Hba%90aga>y%$4%zw(V#U%Kf!(Zyzdy@QnyeH^V?};EHd*b1A{Gl- z3|Bs#>dBzWidmzAMzk)=-blj~^x{RO9d8z5QeC&FIMMSHmw~Jb(7|_o3gO{5tsf(ZIw0Uw(ej z_tX7*y?1-MyYAe+b+hxv^^R*-ueATz*4pyJGV% z-LO7InXFhRmq{f_iEG6P@o^$yY>Xg!&FZMgi14sgD_1NJ4G9hkTo&N})zT$?zCPZ3 zo)_1Xvv?7E;R2QilR>co;>YZj#w?Q2>&na`qI z;P6A9*UbBTGj5qHeb0NMbcesk>yo7nt>&=64j3%Gu)bZ(E-AD_%hEo&CC|scp>@Z? zB&#mGyRfCTjNaG9(VE+vk+&0#)yRV{sBXxHXUVS)?Mav<;AeZMGt;}7F;7r07;<#B zcYzt6SxCK7!7kZSa~aA~zn0s5Gh?nELQ$(3%P%ybUKFn@4$Lx4U+a6kuT_ag6*8M`RjFL!A)XSUC?DQd$IFpPS^kjr2)m5Fadb!#?~ zU?17hwYm<~GGKB$Q+BxvfZm2h8moZb!vTPlnm{-Fbvs zTiy8VW>&3@PL@xR?~6<-^j{c3F!98{F|xnG&BMSuQmipmE8=;oyT7A{X96tV-m~NL8l~6+F7aUlOIu@M5({Ic8FO>gh^2MGk_!BcJ BI{yFw literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/images/face/27.gif b/car-mis/src/main/resources/static/images/face/27.gif new file mode 100644 index 0000000000000000000000000000000000000000..7a4c0131dc926ee932804276038bf053a5cc1634 GIT binary patch literal 4377 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 G^ZyND2?^l< literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/images/face/3.gif b/car-mis/src/main/resources/static/images/face/3.gif new file mode 100644 index 0000000000000000000000000000000000000000..86df67b7aad1ac80079562c74945d9c4ced3c397 GIT binary patch literal 4017 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 Z`!_Z%27Br#6>oByc-ZnwM>1&V{{f6`u%rM0 literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/images/face/30.gif b/car-mis/src/main/resources/static/images/face/30.gif new file mode 100644 index 0000000000000000000000000000000000000000..b751f98abcf8173ae3c08402c99ae885a0dfe162 GIT binary patch literal 2555 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 literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/images/face/35.gif b/car-mis/src/main/resources/static/images/face/35.gif new file mode 100644 index 0000000000000000000000000000000000000000..a9322643dae616390d8263e8cf1bc4d9fdfa03ec GIT binary patch literal 1800 zcmY+EeN*;s8lPnTig9(j$s_FflJYkH{TT za!hS?Op8p-QyqNCgD=nyq|8VqAWBe7W=Lj=WoWv~dM-#W=l*m5`h7p&@Avn6Qq$(d z#V_{(K46dnO!sW2Cz0vTJ6SekbodZ+!@>-#`g)hY^Q3xY@JP>LZOIHSGgy9lTi7p- z6*2g1MUA+gN<3J-zRU$o*HRt3!Qyo7ny6+aC{39{v58t5f^S zS+91RvFjJ!Kpn3kxW#~ya;k(?`0}T$e&S-t!;oz2v;Gz4MdgyIpG!F91yM ze8;D&4irqgdA{ti!~4Ai? z9gXWdv&q%&_hy3NdPAu5sPfQy-5*Wf!)@7j`*t%w7@BKmbQ~%Ed~?7b&V98DrI!!p zj1FxXzPk6vV~c*jIO|@=%In7zzqR^5JSXqk@5yw(IMV9*phL&}RQ&jxX%BlBk3O{T zGY7WsNNKCD9QtzVlOK$aFNP0a`{>DcG0oL8@AgoC_E)#;kh$INK)2YG@^ZGG%uIP< zrk2M600jQU7bpM)H25Evr$5gxO;eWg!`4l&eH#X) z`i05letvwp#Ufi1^ud0<$s*THRfg*15>r^==cuSKnk$rfXDfFvHCTjPSz!^HEFoJ7 z{iH9a7U+vElETT*C#FQfO)#$Ht3p-$75aHx1t->rDlXy7l`iqJ6dU4FP~}!#`D=Vf z<>2KiB`Dmh&adF`L>8qoJgH<32pdSM1NKmdp+*>6dO)^S47>tHZEIVSYZUKrZKAaU zHzzd(#2jeI&rcqdcy4M*s$B51xa!cdBO2+)ZK$%|qp)Du&aK=vC8}kcw5Fn}S`t-b zGTsPE5&CGh0U%0x<%=tlh}R2j!-rZt;%4@)sham_b-#VSN_2amUbNdDakbFi-Xrjy z7C}gMmZBQD^4)dj`|AZBgi2f6(0KpDtnJV3+iw4zdF|74Q!Z=gIFteU zXKG_t#}yBS7)c%x*H{Y!Dx}=RS+*A!Xi5F{dsCuM^q87m`;-2yh6i}S6Nqs&g}551 zLVk#bd>zust<#X$(xedX`8#Mqa&LW`6$pIYmvt@9JnFC^T zHckk4W^RNnvDQmDjRSQve|A#ZX#uOW&P7SXi=4iGDnGOJe>eh+LtvcL@g%AcO+_1! zAi>Ev#;fD&|xlcB#x7#Nu!1@j{Vg&O||UrmXu z43)`B{Cy+f&>O~^p7}wfh{%n%If$C-SCm9A=fD7Ag(n=!q*U?w#MLH4zAPjwU~CVb zhQq-Iq}Tvt4d{>o@4;B$R>(TQcg;G$`!V4_Zj}?5U%@TO;N_t_UWS0Hfd81F)zs`r zTOxK~r^TJNqE4}zM9EMsq=ao$9}2(#LlRLQ(Ad&zPl1OL>DTZ(h0zwi50;oYOQxPu#WdW%h6fe6LbCLrg zLXf*67YU-E)h!@6g0>ohAgCasYo+5V!mgs!^|B~p18ktPPG`0|)0g}1y!yX5pLxE& z2wAu&Kw%Hq15Z`J+kwFTW8B6R&xh?%FFNQyGzraj{M>zgeIp|0KaLdD);&5$n7zrE z9Z#Q~JQ}OaoSn#Nsfb)FBDY+)I6u{y7G?AE;OBF%zbT5qUe0$vsMl}GFR&qz&9_)D zF8Xxj5P$4UoqfDHeAA})-K@zr?%dO_=Vu0=on=3}M9lI9=U&zKRmIJ}H??JBu9q?2 z3@4wJgHt1W(-QdRd*Z)sU`%w1`wo-Fdh=`deKFY+Wxhe%kgb{>iFy84c;@+qw>{F# zeSbQWMecwC?zbP9de--$mnsS5O!sp4qF&3?UfiuR-*#_Ev$|93{Py;`*@s`e zzn{ooih0@X{BBrgC|Ef^KmX>c_lI7_dCju1p@a8M*bQD%gitrn++FkPlFQt*aq?#R zbdTLwi)~AW!`RiGm(OKAHwNubjfjzQUK%&Pxs_3_+gz$uSl(gH6V|L+A14*dR|!1@ zNCW@?tQi!Z3a9|S<=cW}4*=MCNTq?dZ{z0WZQBm(^=mR>X_Q+v@ zaVv;)RwWDhs7p*#D<4|oWfEb-hJDYuOs2?@<)x7 zF747l=g2VmKZ;Ngh;}Y67E3}4KeR`Fu**@DmVI`CdO8+D-Y6r&=GItsH`RY(#FM5;+T~atKN>WX6impxm9mHRF}2!9&fiL-b1VeV}T&=M__c z?Wi>lOv?_}i*{Yps4wsP+$WQD5y_xvgjrmZL7L~Ovs1}z45$JEgkHilLP|xq_LM;8 zWz4Ijg$)wZ5ly>nmafQXH=K9CXr044bSd{VtGD0V4{qy&au4k|Rx?NKGd3b&&mfcT zOjlKJ=_qW4`Y?3jW1jT}sOGMr zu{h)f5b0Wuu7LMsRSlm>? z+z=^4;AVSUnlx_@*)MAWI~;X3S_8vpYXu@ zU{Z9xkoKCh%i7~2<}M6M?X&DaI3pmb3)*zqK9PF}(b!z%t@^cyq6dL?$@nDFCXkgV z28lsv`UNPiQ%7D(oIs5bVVT_uiPMFxaWn0Qm+ukc6d)3#U0v$k^4th@=`l&KPs_yP z{>pyD%J#~+CsKeLtqgj6C7AL%JOVtKyhRU+hXb+@CV-N<#eoF)9d09%fOLTdzn*B4qb8apz*bKxqNKOQ{Y z-?=-gg5x*W@p>rCM8_`y4ad5YF^;q)HBrT5Pj1u!5u-KqXs}T2kV-PJyxyZ~mLa~L zgP6rB*L2Gw`1A*te*p2ky@5sqi!04z6IWzSm^xYsZtlZ^iLoR(0whvCi$7Pn+KL$S zfX{evf{CFnNKGQTR~olUIB5;`8N%kxFWFKIKPGkSsO#xajNj4(ZwT|WfJXdM zw~_q1KKGrqOH}mZ!P&LU1rYTAS+Ww?5O9Ynxmm|!`*9Pw8d!>Q+RJ_LW>l@^sa%Hw zA;Wku-oaHFMv*f?%Th!!rqWZ3OG)h?{_myy;db3`EhVUe+0$JSf;emp5FbG~BE5$l zL#3LZ@S=!p(2Ni>2Xr~H990%~vm)XAatF^KD)yB-UZY^|TezlGHQHddWJSrx;^h4cxq@y0XFI&S> zE~nz;(St&iheOJb2jw@#6_rvdBT=G6WX`tRb&tFLx&PjOz8>$_^W_)d>&lKM0wNek z!1Bx8szKi|*;>`Rw8?tYXZ8D40sfjV?drL@3u)o17kLAvOl3A-H5#i?KCYLq6J}O@ z79UoBy4oFLt5T`vd)<_G`H#)<3teQ@tDU`K``c%OG%YPPN$9r(qRQT0UBqtB#Hgn) zj@39Vk0m`_&scisu{?OR{wS$?ok>Tw+4Eux)lkU%{Jd)Pu%;ruD|fYOGE0*po&ESe z^jz1LkXBWLRuC5BY?db1o zrsk9hCHJOE0%qS1UK8nEk2kM4WL7OU?Yn68ERUsr`?I3jR5=hiIZ*q>lKkhb)tXC} zmY(lWH99MDR=svuGu=X-c@Q)6e(a;7r#anC9U1k!!n3C^_MNAD+wlCWk>Q1j$|nKr zkE4D4i5`=;fBp1jS*cv=>S}gPZqaBoHX4Ji{IF1OZZO}8<)8}z0Bn>fJ$--xruNpB zL<9h%Nk$}6!2vc3#bzH6NHa49C>kDPY>dG>#-h&rB4G<)M+P+lR8Gj%jK5}vzYTq`s(FOQSDL?qZ5+U<|HfZ6n*|B;Jiqqm*Yp8aSvsRkY% zc}+U75s5b9iNvodq+;r)IrO|B8gZfB-f2Bo7)i$Kq8H5~W+Z4ZB(8J#WGBO<898kL z)*Y9<2`uq476O0BT?s`ZaTdf$&2grq*n$+F^ehg?O3)VrutZMER$f6e1Ou0CAbN(! z$+m$2DtFCIeSOG}6H$k~VhBT)`FqP+Tlt10X1F+d)(603hYYoeb#RG1o4BPevC6u$ z^_0uO#W??%=s<|OA`!=_IvHfi4r=hoS}&DYu8jrlrY31%h2@Xc!F#z4dX%2kzUkJL z%>s-LJ&u#Leh*gfyYNYlVAc5e72^%z)!2SW2XBi@^^YiQ%P!Dc5nhM0(a}Y@;fSR( zqc8e(%-r1K{T24y_aELq(qK`4_k;b~k2X3W0KB%JvShD>l|I~rFw$}4xKzeV_u`4I z_JkclQ|u6_l~Wixm%$4~#3cxY^phRB_$q~Qj7%v)LPb1kbq#Wh%;WQJG>J%F2%pi0 zkUJ4u9!W%IgzRP^&i#)VQB6%2B!V*n%#m2<5dwdB7^VEX@MTe{+_i+PUr7Am zS=nX3`A%e#dMcpxje2R{MsISCdG2!puyMl|EueyEHy1%ek$X1 z#y?)PymDZwR*bIcH!?YxO+_W8F4BL+z!><(&05j{>EB>#DI_YM+TMxo7D#DPBoU?i z7)@8#Yv3u#0!Uf(COb9V&nFDjRGeMGH%Gr&>;rvWKn{gyE z?=%|CI=C5}bmel)8gYFhe*hq!q+G&lUWp^3&qFpsDPirlh`RIPcBeQmMc76vUSPX!lr;JprxdAytTxo@a{s3so*F~L?k9&wF#d4;ke zV$$a3%Vsu`W*y!tIJXkw-_Nx(DUT@Al^x2(rMeCFbWa}88upF>|;PK7u)bq zXgJ=Q89egCe>_@V`c`UCI^Wi-1N5{ua9SNllW9!t0;w<}|N2oT3o-IJ65;NCT#lUc z%W;MfC=5A*h&JVgiHpfm5S@OET*8Qx3%O*9h~Z6_)42?SbDo@wv=`*jnas{SCPeH* mFpdMyo)5iv`D$1(GLR%cp|IROieSITZd15fx(%cN_rCxoNOo-i literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/images/face/38.gif b/car-mis/src/main/resources/static/images/face/38.gif new file mode 100644 index 0000000000000000000000000000000000000000..8b1c88a3e8658cde7b25b6e063d23d010f7ed86a GIT binary patch literal 3615 zcmeHIc~ld39-o=q5R!1nAxDM?f(RjrT#0}Q2{9;W1Xl3ang9_}4T&Mv=qe;!f?|nR zi+8-Swp;6Jz1lSiqLiwQXzQ(@Xwia#r2;hxJ3+DAee1q`uYc@6J2UUi%x}Ku@ALV7 zW@?%+fi3k0ynz87P&M7p-d3J?AIn+ z>TyrbxZA#)FnHd}b|u>W(>nV@wWIg2{Ri%ajee)AiT3NMw#(yxJVmhGTlDd~G4_Y= z5BHyP{A_;NmS+1l@b)J-OU)QZ&;A_?Ny9^J*AK^BXb8W5)XV;Tyko#*d$RTF{)il= z`-@AHtviAo&vu@ujdk=Mt;=$CJlopZ;M()G|Mi2uJxxK6kNey{Q`G%!`q0x)zN(Kp zQ61iSlKy!mudgltrIM8&!g3GsE`hxY)Zk z8H>Z7T$npN*g9})?)n^(Y1{0cmZWbE$sI%Y`mITQch|jaBDd`#{n{E(HU;W?uz#T0 zy~85Ca#xzP4>$E%C9mmO;k<$3j8ne+T|&dFVJ+vEC^yOsStfi=#7RV&meNkuZzFWJNQOD=vx| z!-SMH-EY6CJ&5*)saFNpz*UFq+9`vz;+mtSH1H zs$_YwMyib}E*Uo(K_Dy1SIbozxw05`MwI3$muiw|NTsh^P^jL9EiR#tv_sEVDx$Sg zRWy^%aJDpRn33_HO%;l_)+L%u*>Cm!+rTB+%T==IOj(I?sXAYVn2&R&QgQfdnN*`x zXDgM9M|V+Nq|_)&ij*ptpA`p(XGrtq#m#wR zpTdqwWyPej83HCVm6^hh6$<0nf>?G8Q^?@QjQR?c`AZeDV$G;;!Ee5?@AP$&L7_r2 z3uJ2f2eJa8TB(3Xn&!ygT?^}-@!t3ryt|f3@AQpEiivhY`%h4hE+PDJKE5R`^75AY zvSNhqYJ}L}u)}V9_3O~!z{_9ye}2)|`}|o?_fJosbp81FQRl-49qsq;-Mw@B*3BE& zfB62|)wV0v?=D}u_-*SqEf>x=pKG$1O=ti9^;c(3pE`Ns%j3uXcJzxQpa1om48{W zT)XUprJ54;5|y%8v3Sw@@}k0pvV#0Psbs->f1W>Y?ws75*?-E;%A6&hIU^%|`m{9B zRAH)spTgr#Nlr?f%wZ?Q$Hm4>Vlf%f^r*;*5fj40#)pQCqXom%puhnCv3|Zj-ebHx zJ=`f|k{i+0g@DIlF=!No$V2cDnot1ffJmoiIe(%6ei#4=0eISKEDj&r2{4aHn?gwj zajw4k+?sfg0|}BYin!K8uuzmssj!S8#aIGz4XG9ULf+%q`g2pSb7?79okFtGb1QR9*h8c^l8IGmiuNVyF8j;l5v zXX-)M@fmlp33o$GxG*uH*Lg0BJCBmgh2WLt;yv+sHmM7P;`TB<(bNTQn0slDODoe zmZWkkKJyVi3oIL7LuqMht@aMJ`dXp=)5se=#-k}*V~R(RE)(6@TUgsb(j2>Hr0}7u zr^+I9B2ZKbV$1M&yw$AJV{k-G!}NA?1(2_38RX49@8#Dx3)gPLp(+S*KrF!ZHw8k+ z6|TnHTlG|wTS1wx!`wuD&^&qIrKgmyaxHTa^fnnGEV1n9g3sG0r|74cXC>Bm{cO}x zpMF14HPADHnHad$VVq8V(e~X>0}i;!?mrpd$){2(+ne>cHUqD0po(Eac@s6|q+qW2 zT$K-9wSXE719~dwm{knL69Ev7-`AM8Mj|kzs7Rrvs#=$8MSG!njk+dGAVFgxClKL% zhKNR>62s`fVI_pmH<&j1%!l`E$ev9Qah(`p{t!kYCq`yztw-_-d;+DZ!fQfKf)(${ zwXFRJwYw`4ECg%G)N-phvuXwobbSx+7jDsQrm~7k^(

  • ap0JjxBHsOrGeE$JcnI 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 literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/images/face/4.gif b/car-mis/src/main/resources/static/images/face/4.gif new file mode 100644 index 0000000000000000000000000000000000000000..d52200c51ee924f0b91132e5cd3737fadcf40ef8 GIT binary patch literal 5689 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 E2fD;K%>V!Z literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/images/face/42.gif b/car-mis/src/main/resources/static/images/face/42.gif new file mode 100644 index 0000000000000000000000000000000000000000..0eb1434b4e81d4437098efe06cb4e1ab44a86211 GIT binary patch literal 5305 zcmeH~Ygkj~0mo0^kOXo&KnQ_Au3TbK#w}bT)dT{>Ajri^K(Gmy8kCK&isJR;LP$U^ zkqSk0YrG-a+6lUjwbVgCMJo$M$H`}j>#dkk(v3$GV{6*}BFogLpYc0=u zKR>~-Jn6LD+if0BwA`ZyF>EB(yK615x?nd;V zkF(F}WncgC7d>^znVFf&rS|QWQ8Qz^F6|@k@jx{eP(~{%ERT7eL*BjtR{s)r*-F7F|Ic4F_%#>Q{@-nzWU<6+;@FF#!;2?VbE)@$TkUDu(F{Rab{ zj>xqV_J=Cp+vnDtP{#JY{`!;Ax~JbheE7xI8*MRH58y{m2Yl5|ynp}x-^TY0o{Y7O z@9L}%KkQ4|>W6s#dHUGze0%DNmS_z<3TiIsq`S*!pdSL;?WRoB~#w?QxscUMI-QzHu z9RfFt7+c({YgNI?1e!k?L%@)Wi~Y9-|K_~_X=(u>Fwl!okSfiLI;q|k#b6fXMPxfP zWJlzIZvIi*)S+(cq(Ugdb9;klgiuHX@S!SSF~^MzqM#h=W@^q~z*dhkUw9+OgYF|l zIPaA}t+)ArkBpaJ*8a`aY9@;pDSq6|cL+%OV6|KxQ;CLH8}y+j3Ao&wqLWFx(l7^b zTw*OGHLcQnvRA5jgK3vVNL2ozGS^-|G%>1RdgzeyZW_SSbJUk z$B+c*`WQ{YtbMo?Ej#6G+>fiF zQ;MG5NExrIbjNwF3^L}Pt0P@?SS)QTh?#Qt1NZSDuzM0)jI5Y8*!MmCc6h1zE&wRY zpP`}YlvRH^dzkmX!17J|9@ctZ@Na^XK`FG;Mr$WTT>pYrZsN`eltY7)r(I(1OIjfU zVPwSih6qnc5VAn)mvSg4+)67v$MnnM1zbT0s)XDM#-gzVJ3X*x^kVb!(5h-+)Ra`S z81<{5NWYfz6cjyvh`qk68x3=fLE?+`2rqAJf-dN>zYs_CFE}%D(WeJZELII2s6Ve& z24K&ylRkb@g`gF-pg*}OI$WuxsqC7e8)W&N5YuCC z#<-Ez`fb`JjnO-Te5gsr*Ptkjj>1h_y+0{sITre1O-z%v1Oa|)C{r5VG2lbiRhwK# z`Q_ns#nA9rXDSLn`{)uBT?xEHc^HXSJn4nYkQoasGLXv((^cs~US0(6jGXYmhVYyWZ>ks7XK-x`2II^ZVXSyC zBEIvzqw%ne#>6ujDOaiyZ`*&?^a~*7iR?Lq^G4Nv`}{6;Byclf2ubG?#IYF7t*qrF300 zAW&(@H;!-P^HG9<09?GWo4=+uIVztMe&uTU^++%IKY=p8|fRqn49 zmG`|BdlYkxv)FQ^aVnvz{PLEL>eRmzdGk6 zNVYb~_q{JtiwFpzjP9{&V`vpjOZfla(xZ(XpOgf7bio~uqS|J)(Qa;O5=Ojt#Ftu^}7U&!WricKDW0ccoQSQQT;IoEgc;-VL~uu zB2OCf!=|uBQ-s<8_D!HOeLZqi8XYV~lqbw^iYkT+q}J~HE%3VjdZO(C7wKd zj&>nYT(nOxv(Dc=P#~x9l~o=uIj5)#OK(Y1 zb{|}=4ZwzM$d?~gqwrMW%IBvG22~Eus-hvXk8#C{f5?AkBHxgXQ9zuy9TSgHRkc*% zBl>`W&$>>h=%4=62(nAKUhOGAbt8mv- %FKWjtVdL1P%I)BVn;-eLqw9kid`E}a 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 Sh@V0@dM8BG^xew?0{#K$QUnA5 literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/images/face/44.gif b/car-mis/src/main/resources/static/images/face/44.gif new file mode 100644 index 0000000000000000000000000000000000000000..ad44497691d150ea5d02a900231e48ff519d9616 GIT binary patch literal 4126 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 literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/images/face/45.gif b/car-mis/src/main/resources/static/images/face/45.gif new file mode 100644 index 0000000000000000000000000000000000000000..6837fcaf214a394d8efb68f5d48c9ec6f9ea1fa3 GIT binary patch literal 3417 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 Be_#Lr literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/images/face/47.gif b/car-mis/src/main/resources/static/images/face/47.gif new file mode 100644 index 0000000000000000000000000000000000000000..58a083611d7c1afd95d136e3a7fa798c86d0c2ef GIT binary patch literal 2333 zcmeH|YfMuI7>2)d+R_WymLAH@(krc}g@UaIXysZc6v|DCFw{lML_tx9cp184*`ZL1 z8relh&=?dGG3o?08na|UL^p_06A@IL<1U+y4ZKZ27)xB1?B{;%hyT9c&-c9VYf4Gd z>GQq88%FK$%pZF7=(9wa`2rr;b`38_u1Ni#YoJ?-PQ<{Q1Mt)dw;~qzlI6dI!E6&; zR4S&=!}MYJULot>=bAnPrxl7WG3{Y~-ZMS?R7Fmx;JV!ZrqlUU4ZS8>Z=`Gh;F>w* zWhsn$!lPWuh!*)(43jHi(gHKv;NC*y$D;Kw)BTS}1Ph!lJ4eqYW z{g%g>PJ`Dq@YVr0ZM$bS!gWJbUl8S%5Sg+-e-LyD{YIE@A&eMd!^;HdTx;!1^10x_ zc$`oDtrVHP22a+a6LRQY#Ggupb_~Y&@Tv?ZN#um07ao2`LhsAe+>VK!o12r&xo0FU z&rUEbOVoxerXTCRc;d(gnBusp#@^!YJb!2 zEjv?U4%vf|HLNuvF}0Gq+TAmiuS;9EgNm>?9F_(VG~2`EI{r7h$iiJ^X3FI&h0z%4 zL6hltEXxP6ib9p1!Xj|?EmBaZ#MNqCo0Ah8sZwch=Bm7K5>qgR3O1d7XW6dOArs4w zeTi$Z#&Hh_i;mYzcq1Kd6%cVmEO9zGLXsFOmM(H|d63aejf+oa1m%s#@d~JB5|f|p zkhEvl9ORZ>`lH{%a6?t;-40NlJkhCOSOwY!SO8(U=fBerAgKw)j~WY_$x-8%lobMT zW7F7yst~s7Xu+w;z)Ft$W}2Y_4NP#ueD06(iH`OLp_|x4(cOjy1niZi9*xp*|H8+7 zhYy*DhrPq+6`BzeOuFpBOEN^>#J7Aurs3C{ZP@)Gp7QeZ;u1*0eVkjWV_tTGL5lLsZ%QmVr#~iiiTQ&bn%& zAUN6hdnd%DpD^<88eN#Qi{-iWM!ilP=s2j$lAgWD8yu=<+sn3hwix!OON`05TM$!!`a0qYQ+D0Gm zjNQ!D;g+hwM9lVZCZ`~Ozsn=@Xkban)%L+;Zpe$0I!N|e`gP{GrlKDW&>WlF*Kz-^fm&{KNpQTa;MH3VbMTSO)Iy`7$cc!}$F;)1yn)K77`oAz1q&dbPwMcqZS4-Gw#0WxD0%0Pa38b|9mayJf#kALK}E#J$BBuS_BN>|>~!Pl rL2H#EiEFFJCp(ZsP5Wj&2CVH=rzDGc@3T0Qspp*aTJ3^`42b*_XAT7W literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/images/face/48.gif b/car-mis/src/main/resources/static/images/face/48.gif new file mode 100644 index 0000000000000000000000000000000000000000..7ffd1613b5fa36c3ffa7daca94e7e8cd6f8d82ef GIT binary patch literal 2689 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 literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/images/face/5.gif b/car-mis/src/main/resources/static/images/face/5.gif new file mode 100644 index 0000000000000000000000000000000000000000..4e8b09f15101f3e3fad0777ad068fb559ed483a9 GIT binary patch literal 4567 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 literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/images/face/51.gif b/car-mis/src/main/resources/static/images/face/51.gif new file mode 100644 index 0000000000000000000000000000000000000000..ad3f4d3a8158106dbfa48e521084e6c56fc6406f GIT binary patch literal 2785 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 Y?y9hKVE|Dl+bifDKf^#>4e-@}0Qq7Ywg3PC literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/images/face/52.gif b/car-mis/src/main/resources/static/images/face/52.gif new file mode 100644 index 0000000000000000000000000000000000000000..39f8a22846945358446ed010e2b9bd50dfcc7a25 GIT binary patch literal 777 zcmV+k1NQt!Nk%w1VHN-u0Oo%H_RysE&7t_xrK?&j)|+hq+_3!Ft?IFT)0AV!c0$aC zRqD8h_|TsJ>&E)ltKOw@>9vIN%AU!BNyvIc?7@=%;kM9?T>taZ_{^H%oM+RGRsZhF z`r5JEo^R2GQ{9+i_}Q%gdgjaz^&bp0Z&w@W+~| zS1ZnjO~rUYx^+wGxrybje(A1!?Z1)y)1|L4Q~-nP||Tg`+@%Y8|vQYP4yVcL>g zvt~NObU**!w6tnI+^U8B*sH*IM&_z|#eGZp)T8>;r>$c?$Bk&qfJV7zHKbH2=(mZ+ zgI36gSAsHn*{k%yj=+0P^2nRuqi?otLDrynz;{Fc`{2HH zLjBdIzja5VP9(HtHTc)8{no1Ese0nAeZ78I+ml?_ms$MWwEzGAA^8LW004ggEC2ui z02Tli000O7fPaF6gnvseg^7xP76J~4i-a$bjEyHm@r9@V1n%lQKHaE#3h9gAw5QHw^!C@58A-z#?=7-ZCbD#S>_nhy%@3*|?JLj$r zU5vC!qK3OKOyIjL&=f_HLf;KT*4p zQZHIL*>mDv-L`YvVqf%rGdps+K56x(eBtbHo$;}uzd}0JS}|NHxm~Bf|9!#3hMa)| zDaI$A1BX-3rLP^W*F9<~ynSN(aJBl!)R389s$bvw?#gaq-51dF?#kK0W4(oOk6Vjd zl)UkdlJ?B7ryW&o`i)(Mab3EYQ(Gg(4dpMdA02BcGLHN()!#I5aO>55Th64cdC-(| zwOC--@u~4nqj9|JV(vQQqt;8=(I;hVCN5SESIegd&yKZyJy4;Xxn48%Yi)PVrrDum zwVPMYj&|Ov(T&s>bmqnO6vK~ON+vEGtV;-P&x!A?*#7eJ{->>_51Vs-Z`$|ZOwr`k zQzuiRjZ=f?cYHSW^ZuKa>Y;{;!RoB3YgL!?HW>SkyuMb`y;nRv)bQ$7qwz+=!{*|X zim<)|Dg70x&o7rxc9a*g78|FA2CFj9?@E{%ta~+Ff2TU_Zf%CqXmm4LNAO~zIqXOt znLsk12LJ$KS|1(>as_Gu^7RkYC- zP{Pp}5i!DyWFb?83tR>IYgihoLJF$|phhZ@saTo-oIoUxhgrzjWG3RkHxPAl0FG^1 z08KGDawQB>34Xpp5(I%X8UdnEX*9?OB$FUAk%YW7Ux>n@(pY3V`0l|W(UhVstSB!3 zT`Xi4fJ;=X6)Yk#EiH|Z=0}h#6NnI#$u#*OlYJ3{uPR-p7HE8BD*T)WF02wN#R|1p zE(1*-1@ZC}bpQ^@^lb@JMR@po$1)Y+O+f^qTuRgk6hw$XB1)yEy568w>L~a>X?zf^ zib+?%#3)!LPf-eC1dg90Bij9WAQKSDhP75HMm9wt;mU<6Qdp)A-l=L?+7Ba#f;S0dk^gpjWs+ zD3+NF-lh$DTQ3(@ic?_`Un!S@Zxm*UKac^%j|uTeTr!FOzbb#r75zV|5s_qwruO)+ zc9}CFJ!l%fZ+>L*{`kN$I5A-hEE2{GHgEc3W88+%KU=@WKC$uYCez431$Zct_tv9$zn3-G%Cf943UTgU!N7ry}dk_dAQ?oZlLSO zE`RyRd8yM9$Hfkd?Coq9E|_m)ZH2{HqEQy+X2=!eHf@1*0JMM)a@!!k0Y?C^G-hda zIt)gi?Vp>kx0Ypw>SM!KI2GiF%B@^;w6Q!MswCgqRYTBm(HyWU*Wbpa`euwQ`( z?ld}ph9XzSBFsm1-tb@LJnV#;e?cw?yRuZ+b(fAQtFN7aB`_E zNo`e`D+i->_KEXu((}=12xIHxlF_CMVxWVt_~h+fx(#$2+s{26mvxzO&0IWFah{&+ zHZ~Ycu#012!K9HY_Ixv&V3Zp+BG}70G0sXSEHbzCdVyK*#_hCN*q4 S8f7`(nZXDyt@tenSosGvnoLjt literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/images/face/54.gif b/car-mis/src/main/resources/static/images/face/54.gif new file mode 100644 index 0000000000000000000000000000000000000000..e289d929b9552beb7be70329b7cbefb1d0618008 GIT binary patch literal 2196 zcmbW2X;@QN8i2zdHUU9)$4j6T6|#|pkg|m=0&O4yDyY*Ek}CwrViIH#8X#;!fP&G% z;({n0L5fgC!J;fx7EuSJ6skCc5iO!DMeEQ(dwT=o^oP?QbD#S>_nhy1>wCU)?zUhi z*_&gHutq$QBVOLB89$TJt%#ne&wlbv@m#0sX>;C<%y8&wJ2chSpS2xY=pHNs@2L{U zzf2e|2=B-Ug`Qu7rmsG0DeB4I(UlVN=EvrdNtcv+MjPfjj@?zpydF6ZJ!*j_uRN|hID75rRAc^~Lwn{g zW4=?uQ?iy3^hE$T7wu+`$(t{dFyU>5G{}eRaK6)a#zgz&_Klf^|wk3%H z&0HOBIJ`7;daF>sZ5x-zo0fVGFF$U1Gu=AVrh0z$2sD4~a)OV#K1W@jyZBwz z-Lm+*M}&*lmC*QwpW4d1vUbi~DTmaT=Gx1kpKnamruP=@8z_ib8me0!se>ji&30Fg zoe*`)7_)6(K(ig==j2ljiifoahK@-F%E0cd2nd3lAmdO*WCV@MX5i6S9W4X`0gIwo zY=F*@ap13yf2x?nO$22?EEvZZ`l9B)?LYy1o-b+_k%eW6X<$4*C|v?Zq=!aw(-XPg zJe0p5;FC&86^I3(j02T32z@IoX&h33!eF+;$<>1 z1%pXRNkON0qD7K849?rzTjK+d_kcA#q-jDKC)GnJbzbv82c=vIUo7K`gn-5)Csvd! z^F_g#u9hGWvsmvO3#I6lg3w%%0F%lQV{m9JMj+7CwW2MRg@gZ1lKn6Y#&mc2AaX1Dp(3{9)lDz3eZvu{qr4iO_ zgN0HVN5}=&;_~6RZ*6gZYD=L>K#oi#i4=*F);fS4FOrF*@ggxmiy#4REDo11)Ce|f zHfXh8Iw;{E0C`M_NC2!5rtsgB0fFF+V_@lcEc1U=zG}<+f2d*LWH6fc_(Qv_iQpd8 z4Bs_BJb8C~Kp}i)B=F(Tf_{7Rdig)UF8%w}FE3v#{=6_hH~akA%+u+go;;p<^shdJ$t6+boHr|CyrNrd93npM~|ouSCoHIR$8JgE;>|Lke`>U$jQ!< zf1a6fFg-0bE+QwwiX@S%Le?MQJk0{<`FA|a9iN|3vXb<S)7PjMJ~WhE@nU!X3VC;NO5X0$~7U$#WEPGlS39 z&90mn}`MmRFg6x+I1XVw*+WNk9Lpx7AVlVoRR zbl_uKZEe*S8+U9{^bUPHJ6~TLa|I(L+0-GKhP1$7kZ3BEKoAbewLt`SI}(WroEI3Q zo$Y_w5SintW9>snreds-dlwkSI?lK0XZs3zx=T0GT$-wEwTkTQcV=W&It3Z6w~dP` zoT66TEY*Esb*=%Rv5mBy8mBAyUEL)P^dDMdnw)wqwD`LHh-|LX&=L{rR$^hGpJiz2 z_j-XH$}HWa|I!vacypk@EJbX-fUODC!zvP{rqxr(LWCAUKi7hm6Og6P3vF+v1_?^7 zw}z|6I;+EU%uPes|4rGyebcC2z;H-TQS)rxf zYik)q%Pq8U)-^#`x@Ig*P99e}`hRa8Q1ex>%_cvw8c=iSc}6k%BZGrohK^QRp4uiz z=X~94glXULAg*F?x2eZYmpXBPmLA}i71`NzR&?5atL_KU%{2`5t*G7P>yO>c5g+{y DWiE05 literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/images/face/55.gif b/car-mis/src/main/resources/static/images/face/55.gif new file mode 100644 index 0000000000000000000000000000000000000000..4351083ac8e0e65a64ff362cbd480f2c86eab4fb GIT binary patch literal 1971 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 O9M literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/images/face/57.gif b/car-mis/src/main/resources/static/images/face/57.gif new file mode 100644 index 0000000000000000000000000000000000000000..0bf130f0d930a1fb72ca83265bb504304cb08090 GIT binary patch literal 2705 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 literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/images/face/6.gif b/car-mis/src/main/resources/static/images/face/6.gif new file mode 100644 index 0000000000000000000000000000000000000000..f7715bf52817bc577c0d33cd0cbd17da898848a1 GIT binary patch literal 2213 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 literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/images/face/61.gif b/car-mis/src/main/resources/static/images/face/61.gif new file mode 100644 index 0000000000000000000000000000000000000000..f092d7e351cb195eaf707dbec74d32ced42f432f GIT binary patch literal 2495 zcmZvddpwls0>@{J%gYR7j4+up;~ps-g^~<|amh}yl}_7Y+vT7Wvfa*3b5mn-Xw(QEPFk@m^%H;^Pm=R@3$tBn3-FJp|Pv^7m^UwSD_xb+5kGGGPlXIvZOb_;w z4hu>WRu9bO^{zf1oIGFNTQT^7Th-I``h94IsJwfkq%pUy5n8e4q73P$oDwNA;h+TRVnUA`_FJACO6c)M++_wCByGB~^fmi{J_E`ZV%ux@x^UqeupTcd6~3D0Ton_H_0dMVc-Ceds;7_7Op3fM?JF4-(bWew!@<4uipnOUf!5Fgk22^bcK<9t@@i zGUzOJ!o^FRL@r%h`{;L9cxhLT+S;;hHGHjda`bQ9$hGqE`;ukr>qwwg1iB)Ba1E>= zIQo{*H$+bQXPwkpP7f2#7?1(FWFz!_ND+*?I0CmU!Y%?{_}D zgB9YeWcn`vZu)Kp4uqR3Ift;0s3_^+y^owVpxk|gF^N>x?KB?ea#FcF4ONmD~V zOSFv{O=Ol(xcPUxJUjIaHyf_N$Ui51Du&lY#~(285j^#0 z+p)y$5wMc&90YA8OG+(0$;KU54((qFY0GR#-E>RB_@<5BWT5+m-*`@lH`jD>3>hhz zO~73TLx7mVd9In)PVrDkF?$jV7g=gyLt50aTFVsNwqKcC>~5umE*o)@KCH9I?^-I1 zneX=3MJU0PVLC93;v#%wA)ts0iChFHIM&yQOGI(gh+HEG+aj=;={M8#GNt0Ik;)Iwz)ZYnw*K#u=Ajy&HMWM(0U$r z8WcwtvX<6=aIbLZ?X}1*j+C92WHcJL^@OhOiBq^avgOX`vt{m75!@Q6lt`x;`D%um z?Jn0NMjJ)kEy>0Fh*CkaD%CyCN!$K7PU~y;^Q(&xo3w3TlqNDEHdnE60n`H)%qPm< zipFzoO~l+H3u8)cb!gM39T?sXK*x=f9A)oD8L(0jeU7z{R|c?*%fVLe>6YAlQ!cOi zD<#NKxt}PxpPyiX%)1Dg$8`<72${F8-8KH2c1C;@iq9t!`EpKj;qLyZ5UzYpw)%!O z*%YSPZ0>k$J(D9)C5odx@fG2tVqgz{w$-kxU{cj& zQ`HSX+q^LqYmT2w6K16$uolXvd78?9fsqdv4jq^pfTBc1g@vvj=GIqKdz z>}2-8ad;CGJZ?`4i9pK^M8;a*G;+zN5lBHrIj+bG*TAx%sI?v6t5pDvGO9(PYHNwa z+K)gxyA(j%)_@KTe*$#s%{tI@xp^zAa-P0oCN(TEbFaCMl|SI##?#UGbFB8zSkvTV zjm{^`NJxel)l|G4qskPctFUi2#n9TR60Z&Clq&4QMUFn{ETAVB8$^~0ZmLoXA^Ubj zLiQEzqAf%A-9GlPRI$uTx_Mb%Q!(?Is=w-kvOI#N_TQnIhg!$-^3&(&W4wIWDJ*=n zD>5SH_I#u^`C373Y>nE|@)|V_fY&IcAkhG}#wm=P!cdCyN*22z zDC{HyrbKL8n1Bb&E>X^f6c)Fp6N*t=3SeBV&1Ae2C8p%%Rb_kbbSG1!s$q=Y{1YZr zBE}%dY#mbQiz^%}>TvCk?!9erOiccHgSq00G{hJ8OKsB&D?W|QM@i-wbUNU@UEhku z(%0Ya4RFKvAzk(Msa{jvr{{{?7f$y@X3%k4b#LjO!qIY(zCJ~CV>M)K&2~J2p6kP9 zd8t(**0*4*=}hVpw~ zk>4iKC;9E}`7^(Cw7Eno`6R#7|DRt=YQ#S*Joc_vr63V;(D;a;NlNliR7Kb&hNt4? zZ&a6}DrHbrO4^{Rl(}$cpsH*=IpmK)Kvi+D0P^xn16W1s6NxyeDm*OpGcqqGyy?>J tNMrII%;*&@oa8uz=YCKFxNClV+=*Obvw`TNkx8belN0|*V!~j%{{ZDj7zF?T literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/images/face/62.gif b/car-mis/src/main/resources/static/images/face/62.gif new file mode 100644 index 0000000000000000000000000000000000000000..7fe49840bf69219fa40585741f901fa0b187c044 GIT binary patch literal 2017 zcmb7E2~<-@6b%XriWPA~E&7S5U?CeMKrqS@kf@<3s92X0ldnl3i^)eK*p}kPCV~ix zfJKFXfD#rh3MxeF%Bm~@$`%k=RFE|W0{x-ja#}p6bLO0xdGqdl@7;N4Hc}idt!Rr7 zix6#oh~B}G&K^Ze*N58H!N&G6xk4GARi+#rdr?2s-mN$Zt8|D2&!)bX9 z@fj60tpjNVjWOA^RZV?0ErU@hrAfEy&WTE&RlgllC~rT09U&^daj!XAEKSO4Z0OE?(wdM}k@xJCRMvO;(u1r*Sz~*@ zq`Y0$DZiRi^Q5v@Qr1~s|L**?@+fgtLCM?PXKk_BwY9CiaoN&K;!4HHXkmFrbBA21 z9KBQYI=!&*?6v1`Er`#C!PsnP2RB!HTNei$3Nu{|zJg8eR2P6ugJ|%&ZiA3VqkDo7 zupd0g;*gNtdH0b3i$Ox}#8WX;o;}E9Ir;KIS6^p0y00hQih}inbI*>EI=Tju;zFI0c!%_ zFjyQK15bh})|`kZ5OEg3#6ZH)_>2R@ZDhxZSn!F2WI_;+h(`PP_@I2uP+a~&G}g+> zO2vW0nZh2Xf+HM=CN$*;R!%aIK>?l5;z2Af2T(E6_H(@<5)#hzpAy)-kF*>CYP=j2 zoy$fGX*@I*g;A9>=}4u1-IdM$=q-S@fuHjIPhx@F5gv%%1`4>|d^!lbuT+KN5$*XP z4dU|MxLmJE6^PHtOFLFmUsf*4rhUJu(PwYFgL?aV#!>(Hyh+YlUT+lEN)7ysu|ckI5HXJ zvkrp{M?RMgj2BI0O_>YMaZ0`kEMw|iFjHdDa58As(|-2UlP0)-RNIe@3m-nVKFERl zoewv*+SsUaWLWV*J~TMc-`D%Tr~BR8H(i|_?XTNjwYJEbn;IMH|EjC4kyck#R=j*s zURGLCT=e|e($a^f-#b&cY~Dn1+UV#&wzspj*|46p z&YEatX+gl7o8hn+G|JTEyS2tfYgVr^T!}OQRxH>5cG=P;dW#n=TrgjEp3dBF=4j8J zrKLG@hKBm|Y4G=8@IhT`0m2VqqWVNspEzRXh`(RJvEwIBo(c>K4hiuvHMQOtdR#}q zFwx(=H_}f>UlZqsTW+Eky2fa^dRm$zKn^rB_L`5MHH*J~PM-F`%<2aO_;S@38RMvJ~yY(nXQh9H$#C+X_N6J7*$<3$?X(0mkzJForwl@3YZR zD(7ypEO`2UwUg#jKaV}(l2@CjA#_$wOK5tyC3Nl~OJ>c>w!&a-TDZC%g`ap*7qR1L z3eZjo)z+#wr(=^XLRhaYF-#~^4@uA#A)`uxOotZCF_r@COs07jYnjoR41IHx^3z(23>`O(`)4x0N+N9Ug7`A4=;!*$FD3vz)I&(EtPkek$P3WH+wR>*i|S;@u67A}zhS~gjRlsT&q z>2ep_vPiupx+%s62_mZ6VYfJn&1J1cwzHwYdCiDZL26Es7v)%gW`st7wp5Hko~cZ8 fzaAzQ7Zd=~XY>c^Z;pPWn-TRQb#LAp9fbAYHD_Zj literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/images/face/63.gif b/car-mis/src/main/resources/static/images/face/63.gif new file mode 100644 index 0000000000000000000000000000000000000000..cf8e23e5b2e83bf4f383cd994510a7a04a74f57c GIT binary patch literal 5871 zcmaJ^dpwhS{C_sXFl^<1>C9Ym-^C@j)tI|sE=eUB<{mRs%jz6+EnQ4Sq#PpA<%G(S z(wS?b8&OELLLnit5$U(p>D2kXe&_f6v*&sCxxK%i_viinJ}z#~R@M|HKnV~CfEj}E zoGWJ5!G!N`*`uT0x@OJb;NS;G)9W%a)3%0-+pXt4a0^3&D-j!4a6gF>u{J4 zfv)_icQZcrpQ8yYU%u4pYQDEI{IJva^ZSWUVViD7N58VvU+!+5CD}g3V^$aDpFDXo z5 z>dNw6tnPB#b$-ysRX%@tsP~P%=}PCV&+`+@k2+`EY?j~jPPv)AaT<>mRru%%d!(+HU0?VI@{sdI5V2e*2xumZa`nlGL?{CQ$*u=LD3I}?7<;Za-T zrPbB9ciNXTBf9+ES3k|qd2LuJKlJf6?`_tv{Er_O@()gIc3U`8(4P?TX+NbkI{aft z^J4uUqtz8(R+g3`9N#^Buvl3<9=_$VlXd&{fbqlW{BY7-cl&%^*2;za#S?we=EEuYKd-Dr4LeeP}ZZJrNt`o;79 z<42cI|Hj`Rxpej7{Mg8|(5?K;2#*gJJx8MHMQawC8T<+}D854PRv(M@bm&>4E*}7#m*5gyg z_SJXi+ah)@o;WBdI$F1VOO?2IpPJgVjp3IsUx5Fm@&^Vll(845XZ#;v-G>K2r{vN@R zniNKlrZJ)u;*p|=l+c7^1|B7>^c#d-w12|JCz*bQV;YvQ3(cg^&{$K92-0^$PtX6~ zbl0wbtdkhN)F1W!pMjJ7_tL0nUusf9GChncG}jiTqS+AXR0<=3?w^nl_k9(~Q3;HM zq^JZMl1N1AZ;6f%PuP=W@YUSY)5a}6i9v}Eqq;fbQNjSG(b3^H4)%^%OM7dKlNH7a zi*+)$cP0`Y%^fyiFc=3*jHUH=U&n;77(caeD(#-wqcGIn!jW-(ptiOKkYF%y3l|L?Dx_F_w>U`z7it@8% zrN5V)IbD3JsPJS#{)ywq@;JFij~qUfbMQcRR%S+e8aws3U-$20rR-(y*`3Ttq9@W4 z;&;Wx#zaR&Mo`1ULMb6TgLedN-?lYyOTcD-KVKiRx0ff$!`;o*#o5V`=wMISv=MJ- zYh!J-!P3Iq42Q*_O-+oA3=Q*?xfqqLB}tkcv`S5s9{R#H@0y9NQ5my?CbNJ~K_ zCBz|OV4*f>EkVQ~fB-NS35sY31)yJm87v0DE@@7O$~$A4c_mz^zMOFlhQQ8{ki%JW zN<+9{IfPmz0mLH!IZEooG+J1giwwxBqCq*7co$HX;4%{tVY$i}i6AHv*@lNM08nU6 zs*_U*US~yv8w&D)y1b*nL*~*RE8`Uo+;0gT2Y~`*`aBvH)*nLeyhc@>4Udul0n)>M z+tKV)m^XN34VHo^FfIfSi*pF*otFWehLv_^t|>`I$=HkRJ(GSt)@6)-0(86-CyD!5 z+su5Q&idUxH%3d0#KD1s9u0(wF`Ax2_dQkbZx+u&p0*v}^3E5kCOhr7~@0}s!>8j=ye2AMco`~|Dna0bd?;uOTijPl`)H>N5Q5Zy(*DWvpxC<>bs}x};KNwZ@0PKL4^W7{GCNxv>4>tio z&Z8uFtK0JbF z?Ti6i_fkp~RPDJLOR?TLE^)<&SX&crjI{ulDm9uKs{8i0Os_2<32FmxfJe5 zoc2kX&l)oFW+4+1m_8tV&8bDFOnBA04!{!tPo}=Ftb3R=1P{cQZA8d=EmBavX3(Ztt)vi zAc)HG13WB`f<`bhI-{GjALJV`^afb^4jJnMB3Abqp3u2_iSpaDIHffr54w5pHaXSM zb55x&HGK`-v9~$riDY?ATLl8Q$%a^Q58kT#SY68@G^jSkJ4eapksMIOd+hFkG+s~Q zfPkEWr18-+#lRS)K5An`f35E89Wd~u-azk?IFu8a4EKaeqJtZx4sg5(>FI%zPF4zC zXG+IkoqDWbIBIo2#q%f&1p2v$-@$bQGvYNsx=$`kj^J7A=zhN`8zjMfUGcW$7lVMQ zK{1@v*>Y<;dU8(#wZMc$U)NIi6zq;t^|g`eo|EXg!qVIpUAv(TR;+ctDtQSqdanuM z0FUkoJ+!@=dcp2JyKRh%S0*bNOhVcfb={7&mDQyrWOu0T+P!ZnH2eYFAbwr1uY#*b zF_|25AmwpqaBa3?@Mm_ffv9!2&(yh$2jel9&G|McqKrI(|0a&UFY;cu*X9i9LE<*o z{A?TZmBq5MlF5FxZ7*e@KjRb4p@^eBKh2@EMk%317H_u*D+<-`CWI4USa-|tG=z~I zO$tJA%4)K9J4`AByPQOr`9m5JSP-;8$?lCxokC^zaTXAjQG|4GRzU}c3r{^%HW&F< z%dqX^%>D|GNC$jk%9Tz$;%Ldo=y|6$lv!jHblgz4ClBV`v9-Ck-SxUTFnz;SJ600d zz@OTGLu%ADo3$|MmWP0l3c36WE9o>)qNJ*`L;o{GN1%#ByqxwQPub3JWvAU0iD9iy zV?77mZdPT3h@tF%ck#R0bo?}lhPNbR6g4dH3NRHW1%O#xteA}|Fm@|A2nK)jX?1(5 z#9Dicggud&$rbaSA|SBrTxE2_F<1kVO!(a(*pW#Qie;U#G8hU$66ESl>6JWGa+{q(|Ii}%9Y|WIH*Q`w~quVtxKcx(VdQ7B^(!Gpv@IOViIt2 zH;t|3nwFv&7ormA9g>Y&c-^ssi3UBt$rKOhyh#>+$u?S*hW$h}$XA^ZQLRW+sVj$< zmL{g|N(dx-9@7zoa6<~)IYrhuf~QWQJu*Kg{E~@Q66A3+3xF_!XpSA%)YwyGDI}&D zujbMV5o&-^jkl#-A0yA1a|RchRs;%|ECJXmIq+LPoz8}e z!TcYId7M-iq#zXr-mW{WY?nowOcR%>W~(X%HiTDXHXS$FHp?-qAr-l!wvh-#=L|fe zU4s4!710gX&e=U?Zw7)oU|YiD%05JGuTaF9?n0VJHXLO`$9LCK%+8i5CHr`#SOUB4CnT@~7EQNj+?sJXAwc zYDO~=Qjvu>iV$s2&LKsX7BMSZ)8MiehJv75)(X||bGjZeoEvwX2e?*=<`&W?&MRpi zOP!{`3GW6w36;3LF%0xLe(T->tL*`kvdU`pm!f(TuPB~k{o(JV<`?c)s@6N*^9V%? z)JaSmf?s_K?QaU%>wYlDOz+847K*fgZNr_%`L==xiY^pRW|V$e9-RiLHW9& zieP;k>8m1GZ|}U|rV9eOOHoXHHZgVB6s@7+p zw;nI29`#!baTuBF=rX{D)*rkZh5-Rs*$GGk9GQBtP_U*n$Aa>ZeO^+J1EO7dQ7(ld zgWxsE;9{0j9B`^Mj)YgX-+e8LftE$BGuf9o!KqX{EA{8}{xw+kz~L09lIvV7=QDN>`gq-7EAEI>~f=SECp&7yDkc#5dO`yZ#ZuK(;k5-j7+@SX<;F&Ba|ji*SVnZ zsoElXu7bWHm}*j+-CA;2N$uINZB6!rYL*pk)Xk!~1jXJ$pE{U%{s}Cpda4KUwLMHu zP!XcGGoIJsM_OWIpQ}U0pP2jg z1fQW(9}bqW9Qcky;?wS@UGFq56(*vcA81&IwxyD^=J2w|!e|4fY~mYfDDlubSIGYc zB==Qo?|vJdheEy`FRYb>JZM@6&9wsij+7{xH5lLZ(XJsCt68iXBciT|tHtth{QCn;bYK(hGG9@wFKa%+hAP7{KAa5^OM{9VYLxOaPwBX&a8t3f zgj5;hIu)Fmi-f+4u_^4{Y@WLX?nwd1I?b(&05VqA$irTCM%wy=krjzLo&Yu|6to;Z zlFEe$dZBfG&LoT(*L@HUC=wA4{Q7IECpuq1{L*cpZ9ru&$K(;Ttai)60Ld!Bq~f4f rEJ-o=%(~<%mp~*1w)xk-i@w=4VXc`Kqy4WMXl?8h22a(6C~W@+b1jPt literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/images/face/64.gif b/car-mis/src/main/resources/static/images/face/64.gif new file mode 100644 index 0000000000000000000000000000000000000000..a7797198af0f3bb98361b1b8737784d0a8c2cba0 GIT binary patch literal 6448 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 E1xN?}xc~qF literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/images/face/66.gif b/car-mis/src/main/resources/static/images/face/66.gif new file mode 100644 index 0000000000000000000000000000000000000000..bb6d077504e3b39871f72150c1f5fa43d4e18bfe GIT binary patch literal 3029 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 n_4QGfNp-c(#;#v)!?fJ=R?7`D2^Hm literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/images/face/67.gif b/car-mis/src/main/resources/static/images/face/67.gif new file mode 100644 index 0000000000000000000000000000000000000000..6e33f7c4f762b5c4eda2a630793d681345423734 GIT binary patch literal 2701 zcmeHHX;@Qd7QP`wAR!P4LKMNv4ag!{fe<2l0wNMfff>RmQ$ung5we&B2sE}NQQ0hl z0##@QM5-uS7zc}jV`Pm>RVw1%Vylj=ZLzi0Qai)kFhb|YIKSsdzvp|N`+eu0_dVx) zXIZ;0ksTp&2i$>2dSD!leuTm7o^ZHfYuo>&Z`mPt!x{U-cRY5C*l#mC41LSmbHT;( zUGkI2nA2#Rrb`|(j*iO1cHQ?pn>;WFZ!LY-f^QrJJ1>S+WVvi^!dIWSuQ{>0b;9GY z9lH1^R@7iOPITRW)o1$v;bH{m?OsCtkax=nP1QzdzT*05X7UsP*FHsTpY$DAMmjku zHJ&8a40_cKyS{&MMd$Uv!e*DAJDlB@v7OgebU^t17Vx9nkfdcv>K1JA{$-LT+^>20 z*PhFU9}1p=KA*p=ujus4GGL#0dDncr?3a|ZhSRZ=1VYCp|7s4ldSK}bF7J8PhFLnj z>w4I+JCvP6u7>XATl;W>Unkd$;tqWpd@ms2%JYp!ZuyKpf*;VCr@mm{{^?CcEAB@( zx33b`9=e<|HY094!#O-AZXH=K-Q{|9M)S;X)z$<44FiFZSoG=!L84kW$5MoU&$>XH+5?|RuZc&g_t5tDm zw33n%YDoxHsm`Y{A|fKJ984w!(V%Eb6l7NT zNFj#T@uDDvgDR6rIAIZS^zd+cNJ1Es%U~oh;#mwPJ3cOs7akWE9~Kw7faNL0MRHi7 zUBF6y!-l>VYb^%33bD+C)v{t(lBib7!TF#$ve)~s zFNl!(u^tx-7r88!KCD3MU5ykrYVM!^`1R#4vp>Ih{?m`oe)#_B%y-{@^W^KV9{>H( z!v|k}aew;r&+gs5bNklK8&lUOuYEdk^~&W>E?vBE-ZDNmIx;+T&V2T7X9fpOpX&ek zWZz#;{H3?&qvOZAj~?kdeCWf@gB=Ij+gkU3@P144zP;}?H8$+oU0=7W_T8N|)m4=h zJGO5#84cy{yuDTbR#~a8q_{|{QEyQx74pJ@%`$0z9xM^(iZ;FZ=bVij{**1u`r{um zGt%D>q^0sx)+et^TAP@_xD9-fyB-6$pG36_y?M{(1_q6hr8^^LS-#_kcH}58IGV?6=MdMD+5tUHk&0(>?g&0>`2iA*g?VMdC zmdaRm(jLeZy-5U`hE1NFpy2)?1KNnSCyiL>(s4(Os~bURs4yDQHnyRo9cFXYNIGc+ z2pWb^k*-f4kC~d!HQq2r>t@r}blF69IS`U4(--l}tGJdA<(@ATpV^Rn%cCu8r)H*y zXJ*^F24{JO`Q$h_FC=Fvu=G`Oaw*$$jg{LdK^2uoN{&7$7w~EV$Z4s1O07Phh&(;P zi7c;3?jY#3wHQ5$fI{nY1UVqkhjNOl%+DnD^*I6KUdCi}PyuZ8SChsXNkzrQMJbbP z&$HsoB}DcV&l6UA7AQy$)S2Q?E>}s-%cII9FJ&8%K{F=ojVJH2ccCY(D4jSsf~(-W zdI!dCx2=jSjZe8Bl8{_!$~YioOMS3AJ)9Y-*=>w5H{8ngl|A$y4q_@wuWq_~{zQIS zs9x9Ieyv05ygZZ{kkf2Pb@4V<6V}B)v}v(%;|n6T7^|ynU?vzJvZJP|MYuUd2HD`6 zOi+Hm&_WL2x-moYw(a$Kc+P|g7G~-Mh7)u*?!>io2`ZH#lbLZlN1QCU3@6uz?6Qi{de e&Ns&5+yCAe|96dnSxgQJK<1box?FDn*8B_Be&pBy literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/images/face/68.gif b/car-mis/src/main/resources/static/images/face/68.gif new file mode 100644 index 0000000000000000000000000000000000000000..1a6c400d2aee3c2bf384ea98105ea143a7be97a9 GIT binary patch literal 1424 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 ig6vPE;(vp8vN=19VTuwMWT7@8^o literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/images/face/7.gif b/car-mis/src/main/resources/static/images/face/7.gif new file mode 100644 index 0000000000000000000000000000000000000000..e6d4db80572a8321fa233d7efd82636fd896bf49 GIT binary patch literal 3398 zcmd^>X;@Qd7RPTELI_!bkd;Wn76gSL8VCjmtHxL~xKN`N+n}hegVj>h8D8>cxj_Xi zSjVMQtw_~*7^&k@lqw)n5L%Qf;?}a%$_S(4Sc^ztZUR`_vClK#=R=++pYA>9{D0^C zZu0D;h{zS5h$r$BKyDljeeg~Gzpv>>pPpV9$sVltd~rxR`uyh5zR4p4e|vFC+O#|H zv~`i~-j?S%p|-YZRTls5(~6<90^7Bykw*t_{yoLk9^2PA*Vd`G-JE0VS^KObdni9- zrJysV)|MRV zaBJYG?OEYU%}|A8=;|Avr3>mxX52f;8N5DkxF+IZrSRUFsV^@0bbS{2%grTUf2o$GyCOZ|TCDz;sYyO{G90Ih5#fO`;Ud>i6G9Sc>o%d*M-cshOA3A78FdM{l3e3 z=iv1o5zA&zFEoa5a1lOUE(8}Z0nH~Xq%>s4f(3602*DW{)Gyc(>Ix$sVT<^*41ecb ze}Y$%isPfk8w2pXi+Yb!A2;jyVLW~SpYku+tU=qPli8pW=;!x4wjSv$pR&(F+B z_YEXRt-{9|pf4I)HIeQ!AzOyucb@(bM=` z(PEI~p50sx_;3Nc9 z5xKbS5K0$YDtkL?YQ-f1a9u?2idnO)BD(NSXl0^lvMR{K`%0sstSMecA>VpCmWdB^ z@(>jtRYRiLFa{*W4kQjCV$D&p_HwZHqNP}SnKaZqq4a2a~w^|4;5dy4mPab+0 z@VU$0XQ*Ye@MVyO=Y)qZjsZ(tUFW#U_<&P=UIrJ=CC(>K`nsukk{Tw!D5MIx2HKYc zBoPM^@!4k+E#||T@_s1pJ1iuZQyxDx{C3t%$E@qIVmLUg7y%7+kPk8Nv2wxU0{nWd0|dEHQp6|+bed(ZJD^M+%YPXeg< z6m|}mqJlK4fJ}`HEkT=%@he;Igy!|N?h2UV^j_`sm712_GyXK<@;ive8awt1M6WUg zUttK?8A2_YhYx{qhAP?cw+z`4I>+BPh7d+j(>cJu#l0HCdkIiacX&I7&!dHl0sG-& zcVOoSC*Xn9XHL@Yp4v%)%FVsZx5?Y+bfE|TY}bM0V=;8$(mRb;uk6Bmr5gIVty( z*3rs1?|2L_`#PWd<0PV`j&%l^G`RF|{_l-Q8s7*$=lf0> zkGpU#m=7kwKH|ekY95k6Bt{`{aA0Vi1JVHSj2pOC0oIHR4z%rp`lwn0V+d)tfSZtNXQOIQR zHj`(XLTM6{ghJBRI5GJ!nW9xHNg7j1%Arc&2DBuK6Ds+~ISQ&PHt8;SYBft&kjUgWbx@~;SRvvy;0@rWbt?pvmb>Pe*9vuRaX&t0 zpsy_?GY`Z8li6Yl&o-@Aps9d^x|`BSg`mhHHY??HI$5!LwOF}-zmP;(A^coUP7^CC z=zxBl0!sHE*NI6dPYcOaCZ$lR)#3Xyby_@m+qPkM0*+oFwZGrfJm%=S6h3H2pyl(Iu2|m8IIiYIUBrX7AZE zQl{fthK+q4Onm%wVLeU=8N4)dA=~m>BSSoI--MB&!^qnlLWT|@e>5)S^S=`^_|?dr z_VW*ZRdP3`WZ-bJC78J}iSdy%zMZRZM<^b?EMkV;0463JGl1C78#6$y%Gq5-Z~1Y> zlg?IxSn*`{`mBpJyApMu4sSXUhl2uoM90$bmD{~p^3kWU-ihR^iLgxn=0E@wiTV!_ Ch@v0> literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/images/face/70.gif b/car-mis/src/main/resources/static/images/face/70.gif new file mode 100644 index 0000000000000000000000000000000000000000..416c5c14a19fbdaf8fb8d6baf5cf7e31e54f751a GIT binary patch literal 4590 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 literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/images/face/71.gif b/car-mis/src/main/resources/static/images/face/71.gif new file mode 100644 index 0000000000000000000000000000000000000000..c17d60cbd15e80d83629b2220b562a224eec5554 GIT binary patch literal 5304 zcmeHKc~q0vwogJPk}xJ9B1#BhCgjTmNeq~YNd}{UqP0pUB^5{vVQ?&AEC?7ukz(-% zv`B#}B2rM$Flj)Lh+M>hDwb<4daKoHY425DXlvj5qpNSdx7J&$Z>@g+eBU`|@BQ2R z{Pyph^@T@m+2gq6oKWyd4Y z=SwsHF+KhD{rim~>xTS{-p^`JWF-A7jdOax;-~rfx!KuX3Z*_8V`yzX7>sx{J$+C_ zZaetl0Tyh$zx&DT?1^YhQ4nhUQu}@YxuDzjQmvkzoVH$vA65| ztBi~f1Hkv$lnycWs|t@Vw%{H=eq0!2p#>mM!dD&&K^zLfj7p{bELINPrgXLMO)b8R zgXw5!*iVK`6%wuu8DG78nL~y&th1Zx>Z;@+5A&>QBdv{F#TRVsUOavJGLG2KPLal zD|CM&e#N8)+j-`6cS}nS&3cSYDP_azqA(*_%g6V*E@U}>Env>Se)V8{ynT~h^Wg)g z;o;A#N`Df2jP2RmMf5xtZhdBh?WK;kneLwP(a|ZIe-$5jXW&91-Qp^ZdSJD0l>jl} zzU)o1&&A5zxw*Mv8G4w_9^bd`8i!LrhhA)J9UB^|2}K?YM-5P^L;d}u!NGl@;Xh<$ zU8vMPQ7ZS7!2gU4{{F>_3NHM+Cr_Haw#Rmv>d>eV;%)5sjXI{rXU_ zWeF2{E*??Bf}TsXZ&+h>%G^IuuyPK3gu^*1wCvo9J-RitYOC-?W~LUf_>c_I2HHOf z=bWvre3Koya6j+uPN#)B+1ss73#JWk4yV0M4|!X?W#R75g{j0h9|XQRk+)DtS~!!r zFd&mm21TK?9`OBbar+y zK`c{B6&%&|4id|t<&RospRB!@^oc}S}Hf2yT5Zb@7*5* zEgG7$VXsju%%q4@gi2{fsys~-DGVlh;*RQ^R`Qp3h z&%XWV(8Cm(%y|-nl(>Yx3_CH^*<7#;%W!TpJ!TUcE9n(BIc< zxO}On`{ISJ&M!L7x1Vb}+j{2o=Pk`mpEaIp`1It7`a1pJj@N#2tmfnDqg6)^S5_R- z9V{;^Jy25oQBh$*eqOFN=fnN`_U_reD?2MQLzAxFsZyq;rtJ7Yk-UAITqc!>leTVo zfAf2rHYRRZpAa9nZmnodY)o|2>d1)juu!3Z&*QEN3FfS1vzS4F3_6WU0muO)e?MOz zZ!b>|qC3G2@48~S%QEMsPD>mea9DdgTN`UD3>syLM8IKC3yArwar+T!i2^Nv{LROX z`95|8fshNJ1xuHRR()?C^qVe$QI&M5z{>7U&egFnVIFbC{GK0j212#;kKSJys_n}o zrzHb8IZ5~V)&l^KU(ljkvbp7{i(g{B00KuPBKdvIh;#4x=XgFANs@f=754Px=i*3W z=Jr|Dj{t+$@qQQdZLbKnyxIx9NsE#+Mm4~^(n_CrY^ybRTKoGjv<0{tc@5{|`OolG z7NL;Z=w?0PcCl-;XQa*)eYDwWr+tD-v|8WAASLbV)@TX-VcxXyRGTlT(K6CbOi(26c}lt9ld2|2N5UUjw`BcbrCdh)SAY7 zXbc5|@nx+W7XiAHD4JTjylk$9IgUfx(CgQ9l?O z%`Jn$V9-CN35oS=*GA9u?R}oYq(?mL?b&4$5siz;n>rtd^XAMyEDYnXorK)}={yok zj5nfo^$reSKbz~pCMM}~3h>14-N41c-0iv69`FVT!H1UzcdZgivcjy7+N{CK?jDJH z;EG8wX^YS59UAe47i61M53h7?kxW{qJTz3S#U@77ZEP5-EUraKSR$fns2$~7Q9Iu& ztAJXLYPw47yw<`HpF(Tiy9t@}a%mT3C$<_aQ1Voen|;pACkDH_9m3=d=$ex4O(mEU z*wCVnk$1w%Y#-;EK9Pu^DV?)YtdZ#8J7yc*2C=BdE9 z{>Ucq@fg27b1M5Psqt`lx%H8|-#uD(T=jpaB+LJ)l8{*67OypK{AI6a2h)>v19@3* zR_OHJI{4Wgr@Tek&j+o_^6Oh*ZLfCNc}6tq9A4xeI8rNxMQI`oTrip!k^L$u^FZhr zbopvbG)%ZI7j6~eUp(+_sY`&X-qYCOchs=TsY!2vmGb;VJWR$=`-6e9ojn6B*r@^S zrzbpHb^LSDm0nnm!+=^Jp|4ap#1mJ3mp4STw6FO_?cg3;kFs8EN&lh&*0P3~T=%>+ zNsGV@-vRN7pnjIty(6{QblQ>bFc$ByG|a2Snr7Et=ImyI)v*Tk$SKtj;s~$SH#HfY z6Ws_7fRViA4TnJot0@*aRWak-q?Z}Oe6G{_*Ap{D|EoHmgD%T`zxZl2h%?g& z?&rd~0kq9hDA&?em|YnTN_o7q$R`ZPHNp0^h{8}0WVR!|*FhE#7Z=sdGS?-zlUnu- znHYocG2#X8Qk?}DqDWSWknodvAa_5a`7e*$O(+1n5oJ6E)>g%}Vz_V((1}Emi2L8l tXu@la*v!%E+p0y5_RRmq(VvW?ziy=eFE`R(Qu>o0cYjIg&myIj{{av3`u+d_ literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/images/face/8.gif b/car-mis/src/main/resources/static/images/face/8.gif new file mode 100644 index 0000000000000000000000000000000000000000..66f967b48da173b68cbfc92986e4426ea35ade74 GIT binary patch literal 4050 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 JEmCgizW{zshWG#g literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/images/face/9.gif b/car-mis/src/main/resources/static/images/face/9.gif new file mode 100644 index 0000000000000000000000000000000000000000..60447400d31b035f56554b29af1aefc76bda1698 GIT binary patch literal 4221 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 literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/jquery.js b/car-mis/src/main/resources/static/jquery.js new file mode 100644 index 0000000..1e75806 --- /dev/null +++ b/car-mis/src/main/resources/static/jquery.js @@ -0,0 +1,5 @@ +/*! jQuery v1.10.2 | (c) 2005, 2013 jQuery Foundation, Inc. | jquery.org/license +*/ +(function(e,t){var n,r,i=typeof t,o=e.location,a=e.document,s=a.documentElement,l=e.jQuery,u=e.$,c={},p=[],f="1.10.2",d=p.concat,h=p.push,g=p.slice,m=p.indexOf,y=c.toString,v=c.hasOwnProperty,b=f.trim,x=function(e,t){return new x.fn.init(e,t,r)},w=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,T=/\S+/g,C=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,N=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,k=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,E=/^[\],:{}\s]*$/,S=/(?:^|:|,)(?:\s*\[)+/g,A=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,j=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,D=/^-ms-/,L=/-([\da-z])/gi,H=function(e,t){return t.toUpperCase()},q=function(e){(a.addEventListener||"load"===e.type||"complete"===a.readyState)&&(_(),x.ready())},_=function(){a.addEventListener?(a.removeEventListener("DOMContentLoaded",q,!1),e.removeEventListener("load",q,!1)):(a.detachEvent("onreadystatechange",q),e.detachEvent("onload",q))};x.fn=x.prototype={jquery:f,constructor:x,init:function(e,n,r){var i,o;if(!e)return this;if("string"==typeof e){if(i="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:N.exec(e),!i||!i[1]&&n)return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e);if(i[1]){if(n=n instanceof x?n[0]:n,x.merge(this,x.parseHTML(i[1],n&&n.nodeType?n.ownerDocument||n:a,!0)),k.test(i[1])&&x.isPlainObject(n))for(i in n)x.isFunction(this[i])?this[i](n[i]):this.attr(i,n[i]);return this}if(o=a.getElementById(i[2]),o&&o.parentNode){if(o.id!==i[2])return r.find(e);this.length=1,this[0]=o}return this.context=a,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):x.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),x.makeArray(e,this))},selector:"",length:0,toArray:function(){return g.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=x.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return x.each(this,e,t)},ready:function(e){return x.ready.promise().done(e),this},slice:function(){return this.pushStack(g.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},map:function(e){return this.pushStack(x.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:h,sort:[].sort,splice:[].splice},x.fn.init.prototype=x.fn,x.extend=x.fn.extend=function(){var e,n,r,i,o,a,s=arguments[0]||{},l=1,u=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[1]||{},l=2),"object"==typeof s||x.isFunction(s)||(s={}),u===l&&(s=this,--l);u>l;l++)if(null!=(o=arguments[l]))for(i in o)e=s[i],r=o[i],s!==r&&(c&&r&&(x.isPlainObject(r)||(n=x.isArray(r)))?(n?(n=!1,a=e&&x.isArray(e)?e:[]):a=e&&x.isPlainObject(e)?e:{},s[i]=x.extend(c,a,r)):r!==t&&(s[i]=r));return s},x.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),noConflict:function(t){return e.$===x&&(e.$=u),t&&e.jQuery===x&&(e.jQuery=l),x},isReady:!1,readyWait:1,holdReady:function(e){e?x.readyWait++:x.ready(!0)},ready:function(e){if(e===!0?!--x.readyWait:!x.isReady){if(!a.body)return setTimeout(x.ready);x.isReady=!0,e!==!0&&--x.readyWait>0||(n.resolveWith(a,[x]),x.fn.trigger&&x(a).trigger("ready").off("ready"))}},isFunction:function(e){return"function"===x.type(e)},isArray:Array.isArray||function(e){return"array"===x.type(e)},isWindow:function(e){return null!=e&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?c[y.call(e)]||"object":typeof e},isPlainObject:function(e){var n;if(!e||"object"!==x.type(e)||e.nodeType||x.isWindow(e))return!1;try{if(e.constructor&&!v.call(e,"constructor")&&!v.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(r){return!1}if(x.support.ownLast)for(n in e)return v.call(e,n);for(n in e);return n===t||v.call(e,n)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw Error(e)},parseHTML:function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||a;var r=k.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=x.buildFragment([e],t,i),i&&x(i).remove(),x.merge([],r.childNodes))},parseJSON:function(n){return e.JSON&&e.JSON.parse?e.JSON.parse(n):null===n?n:"string"==typeof n&&(n=x.trim(n),n&&E.test(n.replace(A,"@").replace(j,"]").replace(S,"")))?Function("return "+n)():(x.error("Invalid JSON: "+n),t)},parseXML:function(n){var r,i;if(!n||"string"!=typeof n)return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(o){r=t}return r&&r.documentElement&&!r.getElementsByTagName("parsererror").length||x.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&x.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(D,"ms-").replace(L,H)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var r,i=0,o=e.length,a=M(e);if(n){if(a){for(;o>i;i++)if(r=t.apply(e[i],n),r===!1)break}else for(i in e)if(r=t.apply(e[i],n),r===!1)break}else if(a){for(;o>i;i++)if(r=t.call(e[i],i,e[i]),r===!1)break}else for(i in e)if(r=t.call(e[i],i,e[i]),r===!1)break;return e},trim:b&&!b.call("\ufeff\u00a0")?function(e){return null==e?"":b.call(e)}:function(e){return null==e?"":(e+"").replace(C,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(M(Object(e))?x.merge(n,"string"==typeof e?[e]:e):h.call(n,e)),n},inArray:function(e,t,n){var r;if(t){if(m)return m.call(t,e,n);for(r=t.length,n=n?0>n?Math.max(0,r+n):n:0;r>n;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,o=0;if("number"==typeof r)for(;r>o;o++)e[i++]=n[o];else while(n[o]!==t)e[i++]=n[o++];return e.length=i,e},grep:function(e,t,n){var r,i=[],o=0,a=e.length;for(n=!!n;a>o;o++)r=!!t(e[o],o),n!==r&&i.push(e[o]);return i},map:function(e,t,n){var r,i=0,o=e.length,a=M(e),s=[];if(a)for(;o>i;i++)r=t(e[i],i,n),null!=r&&(s[s.length]=r);else for(i in e)r=t(e[i],i,n),null!=r&&(s[s.length]=r);return d.apply([],s)},guid:1,proxy:function(e,n){var r,i,o;return"string"==typeof n&&(o=e[n],n=e,e=o),x.isFunction(e)?(r=g.call(arguments,2),i=function(){return e.apply(n||this,r.concat(g.call(arguments)))},i.guid=e.guid=e.guid||x.guid++,i):t},access:function(e,n,r,i,o,a,s){var l=0,u=e.length,c=null==r;if("object"===x.type(r)){o=!0;for(l in r)x.access(e,n,l,r[l],!0,a,s)}else if(i!==t&&(o=!0,x.isFunction(i)||(s=!0),c&&(s?(n.call(e,i),n=null):(c=n,n=function(e,t,n){return c.call(x(e),n)})),n))for(;u>l;l++)n(e[l],r,s?i:i.call(e[l],l,n(e[l],r)));return o?e:c?n.call(e):u?n(e[0],r):a},now:function(){return(new Date).getTime()},swap: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}}),x.ready.promise=function(t){if(!n)if(n=x.Deferred(),"complete"===a.readyState)setTimeout(x.ready);else if(a.addEventListener)a.addEventListener("DOMContentLoaded",q,!1),e.addEventListener("load",q,!1);else{a.attachEvent("onreadystatechange",q),e.attachEvent("onload",q);var r=!1;try{r=null==e.frameElement&&a.documentElement}catch(i){}r&&r.doScroll&&function o(){if(!x.isReady){try{r.doScroll("left")}catch(e){return setTimeout(o,50)}_(),x.ready()}}()}return n.promise(t)},x.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){c["[object "+t+"]"]=t.toLowerCase()});function M(e){var t=e.length,n=x.type(e);return x.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}r=x(a),function(e,t){var n,r,i,o,a,s,l,u,c,p,f,d,h,g,m,y,v,b="sizzle"+-new Date,w=e.document,T=0,C=0,N=st(),k=st(),E=st(),S=!1,A=function(e,t){return e===t?(S=!0,0):0},j=typeof t,D=1<<31,L={}.hasOwnProperty,H=[],q=H.pop,_=H.push,M=H.push,O=H.slice,F=H.indexOf||function(e){var t=0,n=this.length;for(;n>t;t++)if(this[t]===e)return t;return-1},B="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",P="[\\x20\\t\\r\\n\\f]",R="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",W=R.replace("w","w#"),$="\\["+P+"*("+R+")"+P+"*(?:([*^$|!~]?=)"+P+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+W+")|)|)"+P+"*\\]",I=":("+R+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+$.replace(3,8)+")*)|.*)\\)|)",z=RegExp("^"+P+"+|((?:^|[^\\\\])(?:\\\\.)*)"+P+"+$","g"),X=RegExp("^"+P+"*,"+P+"*"),U=RegExp("^"+P+"*([>+~]|"+P+")"+P+"*"),V=RegExp(P+"*[+~]"),Y=RegExp("="+P+"*([^\\]'\"]*)"+P+"*\\]","g"),J=RegExp(I),G=RegExp("^"+W+"$"),Q={ID:RegExp("^#("+R+")"),CLASS:RegExp("^\\.("+R+")"),TAG:RegExp("^("+R.replace("w","w*")+")"),ATTR:RegExp("^"+$),PSEUDO:RegExp("^"+I),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+P+"*(even|odd|(([+-]|)(\\d*)n|)"+P+"*(?:([+-]|)"+P+"*(\\d+)|))"+P+"*\\)|)","i"),bool:RegExp("^(?:"+B+")$","i"),needsContext:RegExp("^"+P+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+P+"*((?:-\\d)?\\d*)"+P+"*\\)|)(?=[^-]|$)","i")},K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,et=/^(?:input|select|textarea|button)$/i,tt=/^h\d$/i,nt=/'|\\/g,rt=RegExp("\\\\([\\da-f]{1,6}"+P+"?|("+P+")|.)","ig"),it=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:0>r?String.fromCharCode(r+65536):String.fromCharCode(55296|r>>10,56320|1023&r)};try{M.apply(H=O.call(w.childNodes),w.childNodes),H[w.childNodes.length].nodeType}catch(ot){M={apply:H.length?function(e,t){_.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function at(e,t,n,i){var o,a,s,l,u,c,d,m,y,x;if((t?t.ownerDocument||t:w)!==f&&p(t),t=t||f,n=n||[],!e||"string"!=typeof e)return n;if(1!==(l=t.nodeType)&&9!==l)return[];if(h&&!i){if(o=Z.exec(e))if(s=o[1]){if(9===l){if(a=t.getElementById(s),!a||!a.parentNode)return n;if(a.id===s)return n.push(a),n}else if(t.ownerDocument&&(a=t.ownerDocument.getElementById(s))&&v(t,a)&&a.id===s)return n.push(a),n}else{if(o[2])return M.apply(n,t.getElementsByTagName(e)),n;if((s=o[3])&&r.getElementsByClassName&&t.getElementsByClassName)return M.apply(n,t.getElementsByClassName(s)),n}if(r.qsa&&(!g||!g.test(e))){if(m=d=b,y=t,x=9===l&&e,1===l&&"object"!==t.nodeName.toLowerCase()){c=mt(e),(d=t.getAttribute("id"))?m=d.replace(nt,"\\$&"):t.setAttribute("id",m),m="[id='"+m+"'] ",u=c.length;while(u--)c[u]=m+yt(c[u]);y=V.test(e)&&t.parentNode||t,x=c.join(",")}if(x)try{return M.apply(n,y.querySelectorAll(x)),n}catch(T){}finally{d||t.removeAttribute("id")}}}return kt(e.replace(z,"$1"),t,n,i)}function st(){var e=[];function t(n,r){return e.push(n+=" ")>o.cacheLength&&delete t[e.shift()],t[n]=r}return t}function lt(e){return e[b]=!0,e}function ut(e){var t=f.createElement("div");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function ct(e,t){var n=e.split("|"),r=e.length;while(r--)o.attrHandle[n[r]]=t}function pt(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||D)-(~e.sourceIndex||D);if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function ft(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function dt(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function ht(e){return lt(function(t){return t=+t,lt(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]))})})}s=at.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},r=at.support={},p=at.setDocument=function(e){var n=e?e.ownerDocument||e:w,i=n.defaultView;return n!==f&&9===n.nodeType&&n.documentElement?(f=n,d=n.documentElement,h=!s(n),i&&i.attachEvent&&i!==i.top&&i.attachEvent("onbeforeunload",function(){p()}),r.attributes=ut(function(e){return e.className="i",!e.getAttribute("className")}),r.getElementsByTagName=ut(function(e){return e.appendChild(n.createComment("")),!e.getElementsByTagName("*").length}),r.getElementsByClassName=ut(function(e){return e.innerHTML="
    ",e.firstChild.className="i",2===e.getElementsByClassName("i").length}),r.getById=ut(function(e){return d.appendChild(e).id=b,!n.getElementsByName||!n.getElementsByName(b).length}),r.getById?(o.find.ID=function(e,t){if(typeof t.getElementById!==j&&h){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},o.filter.ID=function(e){var t=e.replace(rt,it);return function(e){return e.getAttribute("id")===t}}):(delete o.find.ID,o.filter.ID=function(e){var t=e.replace(rt,it);return function(e){var n=typeof e.getAttributeNode!==j&&e.getAttributeNode("id");return n&&n.value===t}}),o.find.TAG=r.getElementsByTagName?function(e,n){return typeof n.getElementsByTagName!==j?n.getElementsByTagName(e):t}: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},o.find.CLASS=r.getElementsByClassName&&function(e,n){return typeof n.getElementsByClassName!==j&&h?n.getElementsByClassName(e):t},m=[],g=[],(r.qsa=K.test(n.querySelectorAll))&&(ut(function(e){e.innerHTML="",e.querySelectorAll("[selected]").length||g.push("\\["+P+"*(?:value|"+B+")"),e.querySelectorAll(":checked").length||g.push(":checked")}),ut(function(e){var t=n.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("t",""),e.querySelectorAll("[t^='']").length&&g.push("[*^$]="+P+"*(?:''|\"\")"),e.querySelectorAll(":enabled").length||g.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),g.push(",.*:")})),(r.matchesSelector=K.test(y=d.webkitMatchesSelector||d.mozMatchesSelector||d.oMatchesSelector||d.msMatchesSelector))&&ut(function(e){r.disconnectedMatch=y.call(e,"div"),y.call(e,"[s!='']:x"),m.push("!=",I)}),g=g.length&&RegExp(g.join("|")),m=m.length&&RegExp(m.join("|")),v=K.test(d.contains)||d.compareDocumentPosition?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},A=d.compareDocumentPosition?function(e,t){if(e===t)return S=!0,0;var i=t.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(t);return i?1&i||!r.sortDetached&&t.compareDocumentPosition(e)===i?e===n||v(w,e)?-1:t===n||v(w,t)?1:c?F.call(c,e)-F.call(c,t):0:4&i?-1:1:e.compareDocumentPosition?-1:1}:function(e,t){var r,i=0,o=e.parentNode,a=t.parentNode,s=[e],l=[t];if(e===t)return S=!0,0;if(!o||!a)return e===n?-1:t===n?1:o?-1:a?1:c?F.call(c,e)-F.call(c,t):0;if(o===a)return pt(e,t);r=e;while(r=r.parentNode)s.unshift(r);r=t;while(r=r.parentNode)l.unshift(r);while(s[i]===l[i])i++;return i?pt(s[i],l[i]):s[i]===w?-1:l[i]===w?1:0},n):f},at.matches=function(e,t){return at(e,null,null,t)},at.matchesSelector=function(e,t){if((e.ownerDocument||e)!==f&&p(e),t=t.replace(Y,"='$1']"),!(!r.matchesSelector||!h||m&&m.test(t)||g&&g.test(t)))try{var n=y.call(e,t);if(n||r.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(i){}return at(t,f,null,[e]).length>0},at.contains=function(e,t){return(e.ownerDocument||e)!==f&&p(e),v(e,t)},at.attr=function(e,n){(e.ownerDocument||e)!==f&&p(e);var i=o.attrHandle[n.toLowerCase()],a=i&&L.call(o.attrHandle,n.toLowerCase())?i(e,n,!h):t;return a===t?r.attributes||!h?e.getAttribute(n):(a=e.getAttributeNode(n))&&a.specified?a.value:null:a},at.error=function(e){throw Error("Syntax error, unrecognized expression: "+e)},at.uniqueSort=function(e){var t,n=[],i=0,o=0;if(S=!r.detectDuplicates,c=!r.sortStable&&e.slice(0),e.sort(A),S){while(t=e[o++])t===e[o]&&(i=n.push(o));while(i--)e.splice(n[i],1)}return e},a=at.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+=a(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r];r++)n+=a(t);return n},o=at.selectors={cacheLength:50,createPseudo:lt,match:Q,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(rt,it),e[3]=(e[4]||e[5]||"").replace(rt,it),"~="===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]||at.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]&&at.error(e[0]),e},PSEUDO:function(e){var n,r=!e[5]&&e[2];return Q.CHILD.test(e[0])?null:(e[3]&&e[4]!==t?e[2]=e[4]:r&&J.test(r)&&(n=mt(r,!0))&&(n=r.indexOf(")",r.length-n)-r.length)&&(e[0]=e[0].slice(0,n),e[2]=r.slice(0,n)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(rt,it).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=N[e+" "];return t||(t=RegExp("(^|"+P+")"+e+"("+P+"|$)"))&&N(e,function(e){return t.test("string"==typeof e.className&&e.className||typeof e.getAttribute!==j&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=at.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+" ").indexOf(n)>-1:"|="===t?i===n||i.slice(0,n.length+1)===n+"-":!1):!0}},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,l){var u,c,p,f,d,h,g=o!==a?"nextSibling":"previousSibling",m=t.parentNode,y=s&&t.nodeName.toLowerCase(),v=!l&&!s;if(m){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?m.firstChild:m.lastChild],a&&v){c=m[b]||(m[b]={}),u=c[e]||[],d=u[0]===T&&u[1],f=u[0]===T&&u[2],p=d&&m.childNodes[d];while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if(1===p.nodeType&&++f&&p===t){c[e]=[T,d,f];break}}else if(v&&(u=(t[b]||(t[b]={}))[e])&&u[0]===T)f=u[1];else while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===y:1===p.nodeType)&&++f&&(v&&((p[b]||(p[b]={}))[e]=[T,f]),p===t))break;return f-=i,f===r||0===f%r&&f/r>=0}}},PSEUDO:function(e,t){var n,r=o.pseudos[e]||o.setFilters[e.toLowerCase()]||at.error("unsupported pseudo: "+e);return r[b]?r(t):r.length>1?(n=[e,e,"",t],o.setFilters.hasOwnProperty(e.toLowerCase())?lt(function(e,n){var i,o=r(e,t),a=o.length;while(a--)i=F.call(e,o[a]),e[i]=!(n[i]=o[a])}):function(e){return r(e,0,n)}):r}},pseudos:{not:lt(function(e){var t=[],n=[],r=l(e.replace(z,"$1"));return r[b]?lt(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),!n.pop()}}),has:lt(function(e){return function(t){return at(e,t).length>0}}),contains:lt(function(e){return function(t){return(t.textContent||t.innerText||a(t)).indexOf(e)>-1}}),lang:lt(function(e){return G.test(e||"")||at.error("unsupported lang: "+e),e=e.replace(rt,it).toLowerCase(),function(t){var n;do if(n=h?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===d},focus:function(e){return e===f.activeElement&&(!f.hasFocus||f.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.nodeName>"@"||3===e.nodeType||4===e.nodeType)return!1;return!0},parent:function(e){return!o.pseudos.empty(e)},header:function(e){return tt.test(e.nodeName)},input:function(e){return et.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"))||t.toLowerCase()===e.type)},first:ht(function(){return[0]}),last:ht(function(e,t){return[t-1]}),eq:ht(function(e,t,n){return[0>n?n+t:n]}),even:ht(function(e,t){var n=0;for(;t>n;n+=2)e.push(n);return e}),odd:ht(function(e,t){var n=1;for(;t>n;n+=2)e.push(n);return e}),lt:ht(function(e,t,n){var r=0>n?n+t:n;for(;--r>=0;)e.push(r);return e}),gt:ht(function(e,t,n){var r=0>n?n+t:n;for(;t>++r;)e.push(r);return e})}},o.pseudos.nth=o.pseudos.eq;for(n in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})o.pseudos[n]=ft(n);for(n in{submit:!0,reset:!0})o.pseudos[n]=dt(n);function gt(){}gt.prototype=o.filters=o.pseudos,o.setFilters=new gt;function mt(e,t){var n,r,i,a,s,l,u,c=k[e+" "];if(c)return t?0:c.slice(0);s=e,l=[],u=o.preFilter;while(s){(!n||(r=X.exec(s)))&&(r&&(s=s.slice(r[0].length)||s),l.push(i=[])),n=!1,(r=U.exec(s))&&(n=r.shift(),i.push({value:n,type:r[0].replace(z," ")}),s=s.slice(n.length));for(a in o.filter)!(r=Q[a].exec(s))||u[a]&&!(r=u[a](r))||(n=r.shift(),i.push({value:n,type:a,matches:r}),s=s.slice(n.length));if(!n)break}return t?s.length:s?at.error(e):k(e,l).slice(0)}function yt(e){var t=0,n=e.length,r="";for(;n>t;t++)r+=e[t].value;return r}function vt(e,t,n){var r=t.dir,o=n&&"parentNode"===r,a=C++;return t.first?function(t,n,i){while(t=t[r])if(1===t.nodeType||o)return e(t,n,i)}:function(t,n,s){var l,u,c,p=T+" "+a;if(s){while(t=t[r])if((1===t.nodeType||o)&&e(t,n,s))return!0}else while(t=t[r])if(1===t.nodeType||o)if(c=t[b]||(t[b]={}),(u=c[r])&&u[0]===p){if((l=u[1])===!0||l===i)return l===!0}else if(u=c[r]=[p],u[1]=e(t,n,s)||i,u[1]===!0)return!0}}function bt(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 xt(e,t,n,r,i){var o,a=[],s=0,l=e.length,u=null!=t;for(;l>s;s++)(o=e[s])&&(!n||n(o,r,i))&&(a.push(o),u&&t.push(s));return a}function wt(e,t,n,r,i,o){return r&&!r[b]&&(r=wt(r)),i&&!i[b]&&(i=wt(i,o)),lt(function(o,a,s,l){var u,c,p,f=[],d=[],h=a.length,g=o||Nt(t||"*",s.nodeType?[s]:s,[]),m=!e||!o&&t?g:xt(g,f,e,s,l),y=n?i||(o?e:h||r)?[]:a:m;if(n&&n(m,y,s,l),r){u=xt(y,d),r(u,[],s,l),c=u.length;while(c--)(p=u[c])&&(y[d[c]]=!(m[d[c]]=p))}if(o){if(i||e){if(i){u=[],c=y.length;while(c--)(p=y[c])&&u.push(m[c]=p);i(null,y=[],u,l)}c=y.length;while(c--)(p=y[c])&&(u=i?F.call(o,p):f[c])>-1&&(o[u]=!(a[u]=p))}}else y=xt(y===a?y.splice(h,y.length):y),i?i(null,a,y,l):M.apply(a,y)})}function Tt(e){var t,n,r,i=e.length,a=o.relative[e[0].type],s=a||o.relative[" "],l=a?1:0,c=vt(function(e){return e===t},s,!0),p=vt(function(e){return F.call(t,e)>-1},s,!0),f=[function(e,n,r){return!a&&(r||n!==u)||((t=n).nodeType?c(e,n,r):p(e,n,r))}];for(;i>l;l++)if(n=o.relative[e[l].type])f=[vt(bt(f),n)];else{if(n=o.filter[e[l].type].apply(null,e[l].matches),n[b]){for(r=++l;i>r;r++)if(o.relative[e[r].type])break;return wt(l>1&&bt(f),l>1&&yt(e.slice(0,l-1).concat({value:" "===e[l-2].type?"*":""})).replace(z,"$1"),n,r>l&&Tt(e.slice(l,r)),i>r&&Tt(e=e.slice(r)),i>r&&yt(e))}f.push(n)}return bt(f)}function Ct(e,t){var n=0,r=t.length>0,a=e.length>0,s=function(s,l,c,p,d){var h,g,m,y=[],v=0,b="0",x=s&&[],w=null!=d,C=u,N=s||a&&o.find.TAG("*",d&&l.parentNode||l),k=T+=null==C?1:Math.random()||.1;for(w&&(u=l!==f&&l,i=n);null!=(h=N[b]);b++){if(a&&h){g=0;while(m=e[g++])if(m(h,l,c)){p.push(h);break}w&&(T=k,i=++n)}r&&((h=!m&&h)&&v--,s&&x.push(h))}if(v+=b,r&&b!==v){g=0;while(m=t[g++])m(x,y,l,c);if(s){if(v>0)while(b--)x[b]||y[b]||(y[b]=q.call(p));y=xt(y)}M.apply(p,y),w&&!s&&y.length>0&&v+t.length>1&&at.uniqueSort(p)}return w&&(T=k,u=C),x};return r?lt(s):s}l=at.compile=function(e,t){var n,r=[],i=[],o=E[e+" "];if(!o){t||(t=mt(e)),n=t.length;while(n--)o=Tt(t[n]),o[b]?r.push(o):i.push(o);o=E(e,Ct(i,r))}return o};function Nt(e,t,n){var r=0,i=t.length;for(;i>r;r++)at(e,t[r],n);return n}function kt(e,t,n,i){var a,s,u,c,p,f=mt(e);if(!i&&1===f.length){if(s=f[0]=f[0].slice(0),s.length>2&&"ID"===(u=s[0]).type&&r.getById&&9===t.nodeType&&h&&o.relative[s[1].type]){if(t=(o.find.ID(u.matches[0].replace(rt,it),t)||[])[0],!t)return n;e=e.slice(s.shift().value.length)}a=Q.needsContext.test(e)?0:s.length;while(a--){if(u=s[a],o.relative[c=u.type])break;if((p=o.find[c])&&(i=p(u.matches[0].replace(rt,it),V.test(s[0].type)&&t.parentNode||t))){if(s.splice(a,1),e=i.length&&yt(s),!e)return M.apply(n,i),n;break}}}return l(e,f)(i,t,!h,n,V.test(e)),n}r.sortStable=b.split("").sort(A).join("")===b,r.detectDuplicates=S,p(),r.sortDetached=ut(function(e){return 1&e.compareDocumentPosition(f.createElement("div"))}),ut(function(e){return e.innerHTML="
    ","#"===e.firstChild.getAttribute("href")})||ct("type|href|height|width",function(e,n,r){return r?t:e.getAttribute(n,"type"===n.toLowerCase()?1:2)}),r.attributes&&ut(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||ct("value",function(e,n,r){return r||"input"!==e.nodeName.toLowerCase()?t:e.defaultValue}),ut(function(e){return null==e.getAttribute("disabled")})||ct(B,function(e,n,r){var i;return r?t:(i=e.getAttributeNode(n))&&i.specified?i.value:e[n]===!0?n.toLowerCase():null}),x.find=at,x.expr=at.selectors,x.expr[":"]=x.expr.pseudos,x.unique=at.uniqueSort,x.text=at.getText,x.isXMLDoc=at.isXML,x.contains=at.contains}(e);var O={};function F(e){var t=O[e]={};return x.each(e.match(T)||[],function(e,n){t[n]=!0}),t}x.Callbacks=function(e){e="string"==typeof e?O[e]||F(e):x.extend({},e);var n,r,i,o,a,s,l=[],u=!e.once&&[],c=function(t){for(r=e.memory&&t,i=!0,a=s||0,s=0,o=l.length,n=!0;l&&o>a;a++)if(l[a].apply(t[0],t[1])===!1&&e.stopOnFalse){r=!1;break}n=!1,l&&(u?u.length&&c(u.shift()):r?l=[]:p.disable())},p={add:function(){if(l){var t=l.length;(function i(t){x.each(t,function(t,n){var r=x.type(n);"function"===r?e.unique&&p.has(n)||l.push(n):n&&n.length&&"string"!==r&&i(n)})})(arguments),n?o=l.length:r&&(s=t,c(r))}return this},remove:function(){return l&&x.each(arguments,function(e,t){var r;while((r=x.inArray(t,l,r))>-1)l.splice(r,1),n&&(o>=r&&o--,a>=r&&a--)}),this},has:function(e){return e?x.inArray(e,l)>-1:!(!l||!l.length)},empty:function(){return l=[],o=0,this},disable:function(){return l=u=r=t,this},disabled:function(){return!l},lock:function(){return u=t,r||p.disable(),this},locked:function(){return!u},fireWith:function(e,t){return!l||i&&!u||(t=t||[],t=[e,t.slice?t.slice():t],n?u.push(t):c(t)),this},fire:function(){return p.fireWith(this,arguments),this},fired:function(){return!!i}};return p},x.extend({Deferred:function(e){var t=[["resolve","done",x.Callbacks("once memory"),"resolved"],["reject","fail",x.Callbacks("once memory"),"rejected"],["notify","progress",x.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return x.Deferred(function(n){x.each(t,function(t,o){var a=o[0],s=x.isFunction(e[t])&&e[t];i[o[1]](function(){var e=s&&s.apply(this,arguments);e&&x.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[a+"With"](this===r?n.promise():this,s?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?x.extend(e,r):r}},i={};return r.pipe=r.then,x.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=0,n=g.call(arguments),r=n.length,i=1!==r||e&&x.isFunction(e.promise)?r:0,o=1===i?e:x.Deferred(),a=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?g.call(arguments):r,n===s?o.notifyWith(t,n):--i||o.resolveWith(t,n)}},s,l,u;if(r>1)for(s=Array(r),l=Array(r),u=Array(r);r>t;t++)n[t]&&x.isFunction(n[t].promise)?n[t].promise().done(a(t,u,n)).fail(o.reject).progress(a(t,l,s)):--i;return i||o.resolveWith(u,n),o.promise()}}),x.support=function(t){var n,r,o,s,l,u,c,p,f,d=a.createElement("div");if(d.setAttribute("className","t"),d.innerHTML="
    a",n=d.getElementsByTagName("*")||[],r=d.getElementsByTagName("a")[0],!r||!r.style||!n.length)return t;s=a.createElement("select"),u=s.appendChild(a.createElement("option")),o=d.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t.getSetAttribute="t"!==d.className,t.leadingWhitespace=3===d.firstChild.nodeType,t.tbody=!d.getElementsByTagName("tbody").length,t.htmlSerialize=!!d.getElementsByTagName("link").length,t.style=/top/.test(r.getAttribute("style")),t.hrefNormalized="/a"===r.getAttribute("href"),t.opacity=/^0.5/.test(r.style.opacity),t.cssFloat=!!r.style.cssFloat,t.checkOn=!!o.value,t.optSelected=u.selected,t.enctype=!!a.createElement("form").enctype,t.html5Clone="<:nav>"!==a.createElement("nav").cloneNode(!0).outerHTML,t.inlineBlockNeedsLayout=!1,t.shrinkWrapBlocks=!1,t.pixelPosition=!1,t.deleteExpando=!0,t.noCloneEvent=!0,t.reliableMarginRight=!0,t.boxSizingReliable=!0,o.checked=!0,t.noCloneChecked=o.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!u.disabled;try{delete d.test}catch(h){t.deleteExpando=!1}o=a.createElement("input"),o.setAttribute("value",""),t.input=""===o.getAttribute("value"),o.value="t",o.setAttribute("type","radio"),t.radioValue="t"===o.value,o.setAttribute("checked","t"),o.setAttribute("name","t"),l=a.createDocumentFragment(),l.appendChild(o),t.appendChecked=o.checked,t.checkClone=l.cloneNode(!0).cloneNode(!0).lastChild.checked,d.attachEvent&&(d.attachEvent("onclick",function(){t.noCloneEvent=!1}),d.cloneNode(!0).click());for(f in{submit:!0,change:!0,focusin:!0})d.setAttribute(c="on"+f,"t"),t[f+"Bubbles"]=c in e||d.attributes[c].expando===!1;d.style.backgroundClip="content-box",d.cloneNode(!0).style.backgroundClip="",t.clearCloneStyle="content-box"===d.style.backgroundClip;for(f in x(t))break;return t.ownLast="0"!==f,x(function(){var n,r,o,s="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",l=a.getElementsByTagName("body")[0];l&&(n=a.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",l.appendChild(n).appendChild(d),d.innerHTML="
    t
    ",o=d.getElementsByTagName("td"),o[0].style.cssText="padding:0;margin:0;border:0;display:none",p=0===o[0].offsetHeight,o[0].style.display="",o[1].style.display="none",t.reliableHiddenOffsets=p&&0===o[0].offsetHeight,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",x.swap(l,null!=l.style.zoom?{zoom:1}:{},function(){t.boxSizing=4===d.offsetWidth}),e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(d,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(d,null)||{width:"4px"}).width,r=d.appendChild(a.createElement("div")),r.style.cssText=d.style.cssText=s,r.style.marginRight=r.style.width="0",d.style.width="1px",t.reliableMarginRight=!parseFloat((e.getComputedStyle(r,null)||{}).marginRight)),typeof d.style.zoom!==i&&(d.innerHTML="",d.style.cssText=s+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=3===d.offsetWidth,d.style.display="block",d.innerHTML="
    ",d.firstChild.style.width="5px",t.shrinkWrapBlocks=3!==d.offsetWidth,t.inlineBlockNeedsLayout&&(l.style.zoom=1)),l.removeChild(n),n=d=o=r=null)}),n=s=l=u=r=o=null,t +}({});var B=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,P=/([A-Z])/g;function R(e,n,r,i){if(x.acceptData(e)){var o,a,s=x.expando,l=e.nodeType,u=l?x.cache:e,c=l?e[s]:e[s]&&s;if(c&&u[c]&&(i||u[c].data)||r!==t||"string"!=typeof n)return c||(c=l?e[s]=p.pop()||x.guid++:s),u[c]||(u[c]=l?{}:{toJSON:x.noop}),("object"==typeof n||"function"==typeof n)&&(i?u[c]=x.extend(u[c],n):u[c].data=x.extend(u[c].data,n)),a=u[c],i||(a.data||(a.data={}),a=a.data),r!==t&&(a[x.camelCase(n)]=r),"string"==typeof n?(o=a[n],null==o&&(o=a[x.camelCase(n)])):o=a,o}}function W(e,t,n){if(x.acceptData(e)){var r,i,o=e.nodeType,a=o?x.cache:e,s=o?e[x.expando]:x.expando;if(a[s]){if(t&&(r=n?a[s]:a[s].data)){x.isArray(t)?t=t.concat(x.map(t,x.camelCase)):t in r?t=[t]:(t=x.camelCase(t),t=t in r?[t]:t.split(" ")),i=t.length;while(i--)delete r[t[i]];if(n?!I(r):!x.isEmptyObject(r))return}(n||(delete a[s].data,I(a[s])))&&(o?x.cleanData([e],!0):x.support.deleteExpando||a!=a.window?delete a[s]:a[s]=null)}}}x.extend({cache:{},noData:{applet:!0,embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(e){return e=e.nodeType?x.cache[e[x.expando]]:e[x.expando],!!e&&!I(e)},data:function(e,t,n){return R(e,t,n)},removeData:function(e,t){return W(e,t)},_data:function(e,t,n){return R(e,t,n,!0)},_removeData:function(e,t){return W(e,t,!0)},acceptData:function(e){if(e.nodeType&&1!==e.nodeType&&9!==e.nodeType)return!1;var t=e.nodeName&&x.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),x.fn.extend({data:function(e,n){var r,i,o=null,a=0,s=this[0];if(e===t){if(this.length&&(o=x.data(s),1===s.nodeType&&!x._data(s,"parsedAttrs"))){for(r=s.attributes;r.length>a;a++)i=r[a].name,0===i.indexOf("data-")&&(i=x.camelCase(i.slice(5)),$(s,i,o[i]));x._data(s,"parsedAttrs",!0)}return o}return"object"==typeof e?this.each(function(){x.data(this,e)}):arguments.length>1?this.each(function(){x.data(this,e,n)}):s?$(s,e,x.data(s,e)):null},removeData:function(e){return this.each(function(){x.removeData(this,e)})}});function $(e,n,r){if(r===t&&1===e.nodeType){var i="data-"+n.replace(P,"-$1").toLowerCase();if(r=e.getAttribute(i),"string"==typeof r){try{r="true"===r?!0:"false"===r?!1:"null"===r?null:+r+""===r?+r:B.test(r)?x.parseJSON(r):r}catch(o){}x.data(e,n,r)}else r=t}return r}function I(e){var t;for(t in e)if(("data"!==t||!x.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}x.extend({queue:function(e,n,r){var i;return e?(n=(n||"fx")+"queue",i=x._data(e,n),r&&(!i||x.isArray(r)?i=x._data(e,n,x.makeArray(r)):i.push(r)),i||[]):t},dequeue:function(e,t){t=t||"fx";var n=x.queue(e,t),r=n.length,i=n.shift(),o=x._queueHooks(e,t),a=function(){x.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 x._data(e,n)||x._data(e,n,{empty:x.Callbacks("once memory").add(function(){x._removeData(e,t+"queue"),x._removeData(e,n)})})}}),x.fn.extend({queue:function(e,n){var r=2;return"string"!=typeof e&&(n=e,e="fx",r--),r>arguments.length?x.queue(this[0],e):n===t?this:this.each(function(){var t=x.queue(this,e,n);x._queueHooks(this,e),"fx"===e&&"inprogress"!==t[0]&&x.dequeue(this,e)})},dequeue:function(e){return this.each(function(){x.dequeue(this,e)})},delay:function(e,t){return e=x.fx?x.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,o=x.Deferred(),a=this,s=this.length,l=function(){--i||o.resolveWith(a,[a])};"string"!=typeof e&&(n=e,e=t),e=e||"fx";while(s--)r=x._data(a[s],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(l));return l(),o.promise(n)}});var z,X,U=/[\t\r\n\f]/g,V=/\r/g,Y=/^(?:input|select|textarea|button|object)$/i,J=/^(?:a|area)$/i,G=/^(?:checked|selected)$/i,Q=x.support.getSetAttribute,K=x.support.input;x.fn.extend({attr:function(e,t){return x.access(this,x.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){x.removeAttr(this,e)})},prop:function(e,t){return x.access(this,x.prop,e,t,arguments.length>1)},removeProp:function(e){return e=x.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,o,a=0,s=this.length,l="string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).addClass(e.call(this,t,this.className))});if(l)for(t=(e||"").match(T)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(U," "):" ")){o=0;while(i=t[o++])0>r.indexOf(" "+i+" ")&&(r+=i+" ");n.className=x.trim(r)}return this},removeClass:function(e){var t,n,r,i,o,a=0,s=this.length,l=0===arguments.length||"string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).removeClass(e.call(this,t,this.className))});if(l)for(t=(e||"").match(T)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(U," "):"")){o=0;while(i=t[o++])while(r.indexOf(" "+i+" ")>=0)r=r.replace(" "+i+" "," ");n.className=e?x.trim(r):""}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):x.isFunction(e)?this.each(function(n){x(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n){var t,r=0,o=x(this),a=e.match(T)||[];while(t=a[r++])o.hasClass(t)?o.removeClass(t):o.addClass(t)}else(n===i||"boolean"===n)&&(this.className&&x._data(this,"__className__",this.className),this.className=this.className||e===!1?"":x._data(this,"__className__")||"")})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(U," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,o=this[0];{if(arguments.length)return i=x.isFunction(e),this.each(function(n){var o;1===this.nodeType&&(o=i?e.call(this,n,x(this).val()):e,null==o?o="":"number"==typeof o?o+="":x.isArray(o)&&(o=x.map(o,function(e){return null==e?"":e+""})),r=x.valHooks[this.type]||x.valHooks[this.nodeName.toLowerCase()],r&&"set"in r&&r.set(this,o,"value")!==t||(this.value=o))});if(o)return r=x.valHooks[o.type]||x.valHooks[o.nodeName.toLowerCase()],r&&"get"in r&&(n=r.get(o,"value"))!==t?n:(n=o.value,"string"==typeof n?n.replace(V,""):null==n?"":n)}}}),x.extend({valHooks:{option:{get:function(e){var t=x.find.attr(e,"value");return null!=t?t:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||0>i,a=o?null:[],s=o?i+1:r.length,l=0>i?s:o?i:0;for(;s>l;l++)if(n=r[l],!(!n.selected&&l!==i||(x.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&x.nodeName(n.parentNode,"optgroup"))){if(t=x(n).val(),o)return t;a.push(t)}return a},set:function(e,t){var n,r,i=e.options,o=x.makeArray(t),a=i.length;while(a--)r=i[a],(r.selected=x.inArray(x(r).val(),o)>=0)&&(n=!0);return n||(e.selectedIndex=-1),o}}},attr:function(e,n,r){var o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return typeof e.getAttribute===i?x.prop(e,n,r):(1===s&&x.isXMLDoc(e)||(n=n.toLowerCase(),o=x.attrHooks[n]||(x.expr.match.bool.test(n)?X:z)),r===t?o&&"get"in o&&null!==(a=o.get(e,n))?a:(a=x.find.attr(e,n),null==a?t:a):null!==r?o&&"set"in o&&(a=o.set(e,r,n))!==t?a:(e.setAttribute(n,r+""),r):(x.removeAttr(e,n),t))},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(T);if(o&&1===e.nodeType)while(n=o[i++])r=x.propFix[n]||n,x.expr.match.bool.test(n)?K&&Q||!G.test(n)?e[r]=!1:e[x.camelCase("default-"+n)]=e[r]=!1:x.attr(e,n,""),e.removeAttribute(Q?n:r)},attrHooks:{type:{set:function(e,t){if(!x.support.radioValue&&"radio"===t&&x.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},propFix:{"for":"htmlFor","class":"className"},prop:function(e,n,r){var i,o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return a=1!==s||!x.isXMLDoc(e),a&&(n=x.propFix[n]||n,o=x.propHooks[n]),r!==t?o&&"set"in o&&(i=o.set(e,r,n))!==t?i:e[n]=r:o&&"get"in o&&null!==(i=o.get(e,n))?i:e[n]},propHooks:{tabIndex:{get:function(e){var t=x.find.attr(e,"tabindex");return t?parseInt(t,10):Y.test(e.nodeName)||J.test(e.nodeName)&&e.href?0:-1}}}}),X={set:function(e,t,n){return t===!1?x.removeAttr(e,n):K&&Q||!G.test(n)?e.setAttribute(!Q&&x.propFix[n]||n,n):e[x.camelCase("default-"+n)]=e[n]=!0,n}},x.each(x.expr.match.bool.source.match(/\w+/g),function(e,n){var r=x.expr.attrHandle[n]||x.find.attr;x.expr.attrHandle[n]=K&&Q||!G.test(n)?function(e,n,i){var o=x.expr.attrHandle[n],a=i?t:(x.expr.attrHandle[n]=t)!=r(e,n,i)?n.toLowerCase():null;return x.expr.attrHandle[n]=o,a}:function(e,n,r){return r?t:e[x.camelCase("default-"+n)]?n.toLowerCase():null}}),K&&Q||(x.attrHooks.value={set:function(e,n,r){return x.nodeName(e,"input")?(e.defaultValue=n,t):z&&z.set(e,n,r)}}),Q||(z={set:function(e,n,r){var i=e.getAttributeNode(r);return i||e.setAttributeNode(i=e.ownerDocument.createAttribute(r)),i.value=n+="","value"===r||n===e.getAttribute(r)?n:t}},x.expr.attrHandle.id=x.expr.attrHandle.name=x.expr.attrHandle.coords=function(e,n,r){var i;return r?t:(i=e.getAttributeNode(n))&&""!==i.value?i.value:null},x.valHooks.button={get:function(e,n){var r=e.getAttributeNode(n);return r&&r.specified?r.value:t},set:z.set},x.attrHooks.contenteditable={set:function(e,t,n){z.set(e,""===t?!1:t,n)}},x.each(["width","height"],function(e,n){x.attrHooks[n]={set:function(e,r){return""===r?(e.setAttribute(n,"auto"),r):t}}})),x.support.hrefNormalized||x.each(["href","src"],function(e,t){x.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}}),x.support.style||(x.attrHooks.style={get:function(e){return e.style.cssText||t},set:function(e,t){return e.style.cssText=t+""}}),x.support.optSelected||(x.propHooks.selected={get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}}),x.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){x.propFix[this.toLowerCase()]=this}),x.support.enctype||(x.propFix.enctype="encoding"),x.each(["radio","checkbox"],function(){x.valHooks[this]={set:function(e,n){return x.isArray(n)?e.checked=x.inArray(x(e).val(),n)>=0:t}},x.support.checkOn||(x.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var Z=/^(?:input|select|textarea)$/i,et=/^key/,tt=/^(?:mouse|contextmenu)|click/,nt=/^(?:focusinfocus|focusoutblur)$/,rt=/^([^.]*)(?:\.(.+)|)$/;function it(){return!0}function ot(){return!1}function at(){try{return a.activeElement}catch(e){}}x.event={global:{},add:function(e,n,r,o,a){var s,l,u,c,p,f,d,h,g,m,y,v=x._data(e);if(v){r.handler&&(c=r,r=c.handler,a=c.selector),r.guid||(r.guid=x.guid++),(l=v.events)||(l=v.events={}),(f=v.handle)||(f=v.handle=function(e){return typeof x===i||e&&x.event.triggered===e.type?t:x.event.dispatch.apply(f.elem,arguments)},f.elem=e),n=(n||"").match(T)||[""],u=n.length;while(u--)s=rt.exec(n[u])||[],g=y=s[1],m=(s[2]||"").split(".").sort(),g&&(p=x.event.special[g]||{},g=(a?p.delegateType:p.bindType)||g,p=x.event.special[g]||{},d=x.extend({type:g,origType:y,data:o,handler:r,guid:r.guid,selector:a,needsContext:a&&x.expr.match.needsContext.test(a),namespace:m.join(".")},c),(h=l[g])||(h=l[g]=[],h.delegateCount=0,p.setup&&p.setup.call(e,o,m,f)!==!1||(e.addEventListener?e.addEventListener(g,f,!1):e.attachEvent&&e.attachEvent("on"+g,f))),p.add&&(p.add.call(e,d),d.handler.guid||(d.handler.guid=r.guid)),a?h.splice(h.delegateCount++,0,d):h.push(d),x.event.global[g]=!0);e=null}},remove:function(e,t,n,r,i){var o,a,s,l,u,c,p,f,d,h,g,m=x.hasData(e)&&x._data(e);if(m&&(c=m.events)){t=(t||"").match(T)||[""],u=t.length;while(u--)if(s=rt.exec(t[u])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){p=x.event.special[d]||{},d=(r?p.delegateType:p.bindType)||d,f=c[d]||[],s=s[2]&&RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),l=o=f.length;while(o--)a=f[o],!i&&g!==a.origType||n&&n.guid!==a.guid||s&&!s.test(a.namespace)||r&&r!==a.selector&&("**"!==r||!a.selector)||(f.splice(o,1),a.selector&&f.delegateCount--,p.remove&&p.remove.call(e,a));l&&!f.length&&(p.teardown&&p.teardown.call(e,h,m.handle)!==!1||x.removeEvent(e,d,m.handle),delete c[d])}else for(d in c)x.event.remove(e,d+t[u],n,r,!0);x.isEmptyObject(c)&&(delete m.handle,x._removeData(e,"events"))}},trigger:function(n,r,i,o){var s,l,u,c,p,f,d,h=[i||a],g=v.call(n,"type")?n.type:n,m=v.call(n,"namespace")?n.namespace.split("."):[];if(u=f=i=i||a,3!==i.nodeType&&8!==i.nodeType&&!nt.test(g+x.event.triggered)&&(g.indexOf(".")>=0&&(m=g.split("."),g=m.shift(),m.sort()),l=0>g.indexOf(":")&&"on"+g,n=n[x.expando]?n:new x.Event(g,"object"==typeof n&&n),n.isTrigger=o?2:3,n.namespace=m.join("."),n.namespace_re=n.namespace?RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,n.result=t,n.target||(n.target=i),r=null==r?[n]:x.makeArray(r,[n]),p=x.event.special[g]||{},o||!p.trigger||p.trigger.apply(i,r)!==!1)){if(!o&&!p.noBubble&&!x.isWindow(i)){for(c=p.delegateType||g,nt.test(c+g)||(u=u.parentNode);u;u=u.parentNode)h.push(u),f=u;f===(i.ownerDocument||a)&&h.push(f.defaultView||f.parentWindow||e)}d=0;while((u=h[d++])&&!n.isPropagationStopped())n.type=d>1?c:p.bindType||g,s=(x._data(u,"events")||{})[n.type]&&x._data(u,"handle"),s&&s.apply(u,r),s=l&&u[l],s&&x.acceptData(u)&&s.apply&&s.apply(u,r)===!1&&n.preventDefault();if(n.type=g,!o&&!n.isDefaultPrevented()&&(!p._default||p._default.apply(h.pop(),r)===!1)&&x.acceptData(i)&&l&&i[g]&&!x.isWindow(i)){f=i[l],f&&(i[l]=null),x.event.triggered=g;try{i[g]()}catch(y){}x.event.triggered=t,f&&(i[l]=f)}return n.result}},dispatch:function(e){e=x.event.fix(e);var n,r,i,o,a,s=[],l=g.call(arguments),u=(x._data(this,"events")||{})[e.type]||[],c=x.event.special[e.type]||{};if(l[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){s=x.event.handlers.call(this,e,u),n=0;while((o=s[n++])&&!e.isPropagationStopped()){e.currentTarget=o.elem,a=0;while((i=o.handlers[a++])&&!e.isImmediatePropagationStopped())(!e.namespace_re||e.namespace_re.test(i.namespace))&&(e.handleObj=i,e.data=i.data,r=((x.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,l),r!==t&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,n){var r,i,o,a,s=[],l=n.delegateCount,u=e.target;if(l&&u.nodeType&&(!e.button||"click"!==e.type))for(;u!=this;u=u.parentNode||this)if(1===u.nodeType&&(u.disabled!==!0||"click"!==e.type)){for(o=[],a=0;l>a;a++)i=n[a],r=i.selector+" ",o[r]===t&&(o[r]=i.needsContext?x(r,this).index(u)>=0:x.find(r,this,null,[u]).length),o[r]&&o.push(i);o.length&&s.push({elem:u,handlers:o})}return n.length>l&&s.push({elem:this,handlers:n.slice(l)}),s},fix:function(e){if(e[x.expando])return e;var t,n,r,i=e.type,o=e,s=this.fixHooks[i];s||(this.fixHooks[i]=s=tt.test(i)?this.mouseHooks:et.test(i)?this.keyHooks:{}),r=s.props?this.props.concat(s.props):this.props,e=new x.Event(o),t=r.length;while(t--)n=r[t],e[n]=o[n];return e.target||(e.target=o.srcElement||a),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,o):e},props:"altKey bubbles cancelable ctrlKey currentTarget 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,n){var r,i,o,s=n.button,l=n.fromElement;return null==e.pageX&&null!=n.clientX&&(i=e.target.ownerDocument||a,o=i.documentElement,r=i.body,e.pageX=n.clientX+(o&&o.scrollLeft||r&&r.scrollLeft||0)-(o&&o.clientLeft||r&&r.clientLeft||0),e.pageY=n.clientY+(o&&o.scrollTop||r&&r.scrollTop||0)-(o&&o.clientTop||r&&r.clientTop||0)),!e.relatedTarget&&l&&(e.relatedTarget=l===e.target?n.toElement:l),e.which||s===t||(e.which=1&s?1:2&s?3:4&s?2:0),e}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==at()&&this.focus)try{return this.focus(),!1}catch(e){}},delegateType:"focusin"},blur:{trigger:function(){return this===at()&&this.blur?(this.blur(),!1):t},delegateType:"focusout"},click:{trigger:function(){return x.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):t},_default:function(e){return x.nodeName(e.target,"a")}},beforeunload:{postDispatch:function(e){e.result!==t&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=x.extend(new x.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?x.event.trigger(i,null,t):x.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},x.removeEvent=a.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&(typeof e[r]===i&&(e[r]=null),e.detachEvent(r,n))},x.Event=function(e,n){return this instanceof x.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?it:ot):this.type=e,n&&x.extend(this,n),this.timeStamp=e&&e.timeStamp||x.now(),this[x.expando]=!0,t):new x.Event(e,n)},x.Event.prototype={isDefaultPrevented:ot,isPropagationStopped:ot,isImmediatePropagationStopped:ot,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=it,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=it,e&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=it,this.stopPropagation()}},x.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){x.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;return(!i||i!==r&&!x.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),x.support.submitBubbles||(x.event.special.submit={setup:function(){return x.nodeName(this,"form")?!1:(x.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=x.nodeName(n,"input")||x.nodeName(n,"button")?n.form:t;r&&!x._data(r,"submitBubbles")&&(x.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),x._data(r,"submitBubbles",!0))}),t)},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&x.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){return x.nodeName(this,"form")?!1:(x.event.remove(this,"._submit"),t)}}),x.support.changeBubbles||(x.event.special.change={setup:function(){return Z.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(x.event.add(this,"propertychange._change",function(e){"checked"===e.originalEvent.propertyName&&(this._just_changed=!0)}),x.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),x.event.simulate("change",this,e,!0)})),!1):(x.event.add(this,"beforeactivate._change",function(e){var t=e.target;Z.test(t.nodeName)&&!x._data(t,"changeBubbles")&&(x.event.add(t,"change._change",function(e){!this.parentNode||e.isSimulated||e.isTrigger||x.event.simulate("change",this.parentNode,e,!0)}),x._data(t,"changeBubbles",!0))}),t)},handle:function(e){var n=e.target;return this!==n||e.isSimulated||e.isTrigger||"radio"!==n.type&&"checkbox"!==n.type?e.handleObj.handler.apply(this,arguments):t},teardown:function(){return x.event.remove(this,"._change"),!Z.test(this.nodeName)}}),x.support.focusinBubbles||x.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){x.event.simulate(t,e.target,x.event.fix(e),!0)};x.event.special[t]={setup:function(){0===n++&&a.addEventListener(e,r,!0)},teardown:function(){0===--n&&a.removeEventListener(e,r,!0)}}}),x.fn.extend({on:function(e,n,r,i,o){var a,s;if("object"==typeof e){"string"!=typeof n&&(r=r||n,n=t);for(a in e)this.on(a,n,r,e[a],o);return this}if(null==r&&null==i?(i=n,r=n=t):null==i&&("string"==typeof n?(i=r,r=t):(i=r,r=n,n=t)),i===!1)i=ot;else if(!i)return this;return 1===o&&(s=i,i=function(e){return x().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=x.guid++)),this.each(function(){x.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,o;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,x(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof e){for(o in e)this.off(o,n,e[o]);return this}return(n===!1||"function"==typeof n)&&(r=n,n=t),r===!1&&(r=ot),this.each(function(){x.event.remove(this,e,r,n)})},trigger:function(e,t){return this.each(function(){x.event.trigger(e,t,this)})},triggerHandler:function(e,n){var r=this[0];return r?x.event.trigger(e,n,r,!0):t}});var st=/^.[^:#\[\.,]*$/,lt=/^(?:parents|prev(?:Until|All))/,ut=x.expr.match.needsContext,ct={children:!0,contents:!0,next:!0,prev:!0};x.fn.extend({find:function(e){var t,n=[],r=this,i=r.length;if("string"!=typeof e)return this.pushStack(x(e).filter(function(){for(t=0;i>t;t++)if(x.contains(r[t],this))return!0}));for(t=0;i>t;t++)x.find(e,r[t],n);return n=this.pushStack(i>1?x.unique(n):n),n.selector=this.selector?this.selector+" "+e:e,n},has:function(e){var t,n=x(e,this),r=n.length;return this.filter(function(){for(t=0;r>t;t++)if(x.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(ft(this,e||[],!0))},filter:function(e){return this.pushStack(ft(this,e||[],!1))},is:function(e){return!!ft(this,"string"==typeof e&&ut.test(e)?x(e):e||[],!1).length},closest:function(e,t){var n,r=0,i=this.length,o=[],a=ut.test(e)||"string"!=typeof e?x(e,t||this.context):0;for(;i>r;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(11>n.nodeType&&(a?a.index(n)>-1:1===n.nodeType&&x.find.matchesSelector(n,e))){n=o.push(n);break}return this.pushStack(o.length>1?x.unique(o):o)},index:function(e){return e?"string"==typeof e?x.inArray(this[0],x(e)):x.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){var n="string"==typeof e?x(e,t):x.makeArray(e&&e.nodeType?[e]:e),r=x.merge(this.get(),n);return this.pushStack(x.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function pt(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}x.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return x.dir(e,"parentNode")},parentsUntil:function(e,t,n){return x.dir(e,"parentNode",n)},next:function(e){return pt(e,"nextSibling")},prev:function(e){return pt(e,"previousSibling")},nextAll:function(e){return x.dir(e,"nextSibling")},prevAll:function(e){return x.dir(e,"previousSibling")},nextUntil:function(e,t,n){return x.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return x.dir(e,"previousSibling",n)},siblings:function(e){return x.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return x.sibling(e.firstChild)},contents:function(e){return x.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:x.merge([],e.childNodes)}},function(e,t){x.fn[e]=function(n,r){var i=x.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=x.filter(r,i)),this.length>1&&(ct[e]||(i=x.unique(i)),lt.test(e)&&(i=i.reverse())),this.pushStack(i)}}),x.extend({filter:function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?x.find.matchesSelector(r,e)?[r]:[]:x.find.matches(e,x.grep(t,function(e){return 1===e.nodeType}))},dir:function(e,n,r){var i=[],o=e[n];while(o&&9!==o.nodeType&&(r===t||1!==o.nodeType||!x(o).is(r)))1===o.nodeType&&i.push(o),o=o[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});function ft(e,t,n){if(x.isFunction(t))return x.grep(e,function(e,r){return!!t.call(e,r,e)!==n});if(t.nodeType)return x.grep(e,function(e){return e===t!==n});if("string"==typeof t){if(st.test(t))return x.filter(t,e,n);t=x.filter(t,e)}return x.grep(e,function(e){return x.inArray(e,t)>=0!==n})}function dt(e){var t=ht.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}var ht="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",gt=/ jQuery\d+="(?:null|\d+)"/g,mt=RegExp("<(?:"+ht+")[\\s/>]","i"),yt=/^\s+/,vt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bt=/<([\w:]+)/,xt=/\s*$/g,At={option:[1,""],legend:[1,"
    ","
    "],area:[1,"",""],param:[1,"",""],thead:[1,"","
    "],tr:[2,"","
    "],col:[2,"","
    "],td:[3,"","
    "],_default:x.support.htmlSerialize?[0,"",""]:[1,"X
    ","
    "]},jt=dt(a),Dt=jt.appendChild(a.createElement("div"));At.optgroup=At.option,At.tbody=At.tfoot=At.colgroup=At.caption=At.thead,At.th=At.td,x.fn.extend({text:function(e){return x.access(this,function(e){return e===t?x.text(this):this.empty().append((this[0]&&this[0].ownerDocument||a).createTextNode(e))},null,e,arguments.length)},append:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Lt(this,e);t.appendChild(e)}})},prepend:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Lt(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){var n,r=e?x.filter(e,this):this,i=0;for(;null!=(n=r[i]);i++)t||1!==n.nodeType||x.cleanData(Ft(n)),n.parentNode&&(t&&x.contains(n.ownerDocument,n)&&_t(Ft(n,"script")),n.parentNode.removeChild(n));return this},empty:function(){var e,t=0;for(;null!=(e=this[t]);t++){1===e.nodeType&&x.cleanData(Ft(e,!1));while(e.firstChild)e.removeChild(e.firstChild);e.options&&x.nodeName(e,"select")&&(e.options.length=0)}return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return x.clone(this,e,t)})},html:function(e){return x.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return 1===n.nodeType?n.innerHTML.replace(gt,""):t;if(!("string"!=typeof e||Tt.test(e)||!x.support.htmlSerialize&&mt.test(e)||!x.support.leadingWhitespace&&yt.test(e)||At[(bt.exec(e)||["",""])[1].toLowerCase()])){e=e.replace(vt,"<$1>");try{for(;i>r;r++)n=this[r]||{},1===n.nodeType&&(x.cleanData(Ft(n,!1)),n.innerHTML=e);n=0}catch(o){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=x.map(this,function(e){return[e.nextSibling,e.parentNode]}),t=0;return this.domManip(arguments,function(n){var r=e[t++],i=e[t++];i&&(r&&r.parentNode!==i&&(r=this.nextSibling),x(this).remove(),i.insertBefore(n,r))},!0),t?this:this.remove()},detach:function(e){return this.remove(e,!0)},domManip:function(e,t,n){e=d.apply([],e);var r,i,o,a,s,l,u=0,c=this.length,p=this,f=c-1,h=e[0],g=x.isFunction(h);if(g||!(1>=c||"string"!=typeof h||x.support.checkClone)&&Nt.test(h))return this.each(function(r){var i=p.eq(r);g&&(e[0]=h.call(this,r,i.html())),i.domManip(e,t,n)});if(c&&(l=x.buildFragment(e,this[0].ownerDocument,!1,!n&&this),r=l.firstChild,1===l.childNodes.length&&(l=r),r)){for(a=x.map(Ft(l,"script"),Ht),o=a.length;c>u;u++)i=l,u!==f&&(i=x.clone(i,!0,!0),o&&x.merge(a,Ft(i,"script"))),t.call(this[u],i,u);if(o)for(s=a[a.length-1].ownerDocument,x.map(a,qt),u=0;o>u;u++)i=a[u],kt.test(i.type||"")&&!x._data(i,"globalEval")&&x.contains(s,i)&&(i.src?x._evalUrl(i.src):x.globalEval((i.text||i.textContent||i.innerHTML||"").replace(St,"")));l=r=null}return this}});function Lt(e,t){return x.nodeName(e,"table")&&x.nodeName(1===t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function Ht(e){return e.type=(null!==x.find.attr(e,"type"))+"/"+e.type,e}function qt(e){var t=Et.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function _t(e,t){var n,r=0;for(;null!=(n=e[r]);r++)x._data(n,"globalEval",!t||x._data(t[r],"globalEval"))}function Mt(e,t){if(1===t.nodeType&&x.hasData(e)){var n,r,i,o=x._data(e),a=x._data(t,o),s=o.events;if(s){delete a.handle,a.events={};for(n in s)for(r=0,i=s[n].length;i>r;r++)x.event.add(t,n,s[n][r])}a.data&&(a.data=x.extend({},a.data))}}function Ot(e,t){var n,r,i;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!x.support.noCloneEvent&&t[x.expando]){i=x._data(t);for(r in i.events)x.removeEvent(t,r,i.handle);t.removeAttribute(x.expando)}"script"===n&&t.text!==e.text?(Ht(t).text=e.text,qt(t)):"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),x.support.html5Clone&&e.innerHTML&&!x.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&Ct.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)}}x.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){x.fn[e]=function(e){var n,r=0,i=[],o=x(e),a=o.length-1;for(;a>=r;r++)n=r===a?this:this.clone(!0),x(o[r])[t](n),h.apply(i,n.get());return this.pushStack(i)}});function Ft(e,n){var r,o,a=0,s=typeof e.getElementsByTagName!==i?e.getElementsByTagName(n||"*"):typeof e.querySelectorAll!==i?e.querySelectorAll(n||"*"):t;if(!s)for(s=[],r=e.childNodes||e;null!=(o=r[a]);a++)!n||x.nodeName(o,n)?s.push(o):x.merge(s,Ft(o,n));return n===t||n&&x.nodeName(e,n)?x.merge([e],s):s}function Bt(e){Ct.test(e.type)&&(e.defaultChecked=e.checked)}x.extend({clone:function(e,t,n){var r,i,o,a,s,l=x.contains(e.ownerDocument,e);if(x.support.html5Clone||x.isXMLDoc(e)||!mt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(Dt.innerHTML=e.outerHTML,Dt.removeChild(o=Dt.firstChild)),!(x.support.noCloneEvent&&x.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||x.isXMLDoc(e)))for(r=Ft(o),s=Ft(e),a=0;null!=(i=s[a]);++a)r[a]&&Ot(i,r[a]);if(t)if(n)for(s=s||Ft(e),r=r||Ft(o),a=0;null!=(i=s[a]);a++)Mt(i,r[a]);else Mt(e,o);return r=Ft(o,"script"),r.length>0&&_t(r,!l&&Ft(e,"script")),r=s=i=null,o},buildFragment:function(e,t,n,r){var i,o,a,s,l,u,c,p=e.length,f=dt(t),d=[],h=0;for(;p>h;h++)if(o=e[h],o||0===o)if("object"===x.type(o))x.merge(d,o.nodeType?[o]:o);else if(wt.test(o)){s=s||f.appendChild(t.createElement("div")),l=(bt.exec(o)||["",""])[1].toLowerCase(),c=At[l]||At._default,s.innerHTML=c[1]+o.replace(vt,"<$1>")+c[2],i=c[0];while(i--)s=s.lastChild;if(!x.support.leadingWhitespace&&yt.test(o)&&d.push(t.createTextNode(yt.exec(o)[0])),!x.support.tbody){o="table"!==l||xt.test(o)?""!==c[1]||xt.test(o)?0:s:s.firstChild,i=o&&o.childNodes.length;while(i--)x.nodeName(u=o.childNodes[i],"tbody")&&!u.childNodes.length&&o.removeChild(u)}x.merge(d,s.childNodes),s.textContent="";while(s.firstChild)s.removeChild(s.firstChild);s=f.lastChild}else d.push(t.createTextNode(o));s&&f.removeChild(s),x.support.appendChecked||x.grep(Ft(d,"input"),Bt),h=0;while(o=d[h++])if((!r||-1===x.inArray(o,r))&&(a=x.contains(o.ownerDocument,o),s=Ft(f.appendChild(o),"script"),a&&_t(s),n)){i=0;while(o=s[i++])kt.test(o.type||"")&&n.push(o)}return s=null,f},cleanData:function(e,t){var n,r,o,a,s=0,l=x.expando,u=x.cache,c=x.support.deleteExpando,f=x.event.special;for(;null!=(n=e[s]);s++)if((t||x.acceptData(n))&&(o=n[l],a=o&&u[o])){if(a.events)for(r in a.events)f[r]?x.event.remove(n,r):x.removeEvent(n,r,a.handle); +u[o]&&(delete u[o],c?delete n[l]:typeof n.removeAttribute!==i?n.removeAttribute(l):n[l]=null,p.push(o))}},_evalUrl:function(e){return x.ajax({url:e,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})}}),x.fn.extend({wrapAll:function(e){if(x.isFunction(e))return this.each(function(t){x(this).wrapAll(e.call(this,t))});if(this[0]){var t=x(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&1===e.firstChild.nodeType)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return x.isFunction(e)?this.each(function(t){x(this).wrapInner(e.call(this,t))}):this.each(function(){var t=x(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=x.isFunction(e);return this.each(function(n){x(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){x.nodeName(this,"body")||x(this).replaceWith(this.childNodes)}).end()}});var Pt,Rt,Wt,$t=/alpha\([^)]*\)/i,It=/opacity\s*=\s*([^)]*)/,zt=/^(top|right|bottom|left)$/,Xt=/^(none|table(?!-c[ea]).+)/,Ut=/^margin/,Vt=RegExp("^("+w+")(.*)$","i"),Yt=RegExp("^("+w+")(?!px)[a-z%]+$","i"),Jt=RegExp("^([+-])=("+w+")","i"),Gt={BODY:"block"},Qt={position:"absolute",visibility:"hidden",display:"block"},Kt={letterSpacing:0,fontWeight:400},Zt=["Top","Right","Bottom","Left"],en=["Webkit","O","Moz","ms"];function tn(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=en.length;while(i--)if(t=en[i]+n,t in e)return t;return r}function nn(e,t){return e=t||e,"none"===x.css(e,"display")||!x.contains(e.ownerDocument,e)}function rn(e,t){var n,r,i,o=[],a=0,s=e.length;for(;s>a;a++)r=e[a],r.style&&(o[a]=x._data(r,"olddisplay"),n=r.style.display,t?(o[a]||"none"!==n||(r.style.display=""),""===r.style.display&&nn(r)&&(o[a]=x._data(r,"olddisplay",ln(r.nodeName)))):o[a]||(i=nn(r),(n&&"none"!==n||!i)&&x._data(r,"olddisplay",i?n:x.css(r,"display"))));for(a=0;s>a;a++)r=e[a],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[a]||"":"none"));return e}x.fn.extend({css:function(e,n){return x.access(this,function(e,n,r){var i,o,a={},s=0;if(x.isArray(n)){for(o=Rt(e),i=n.length;i>s;s++)a[n[s]]=x.css(e,n[s],!1,o);return a}return r!==t?x.style(e,n,r):x.css(e,n)},e,n,arguments.length>1)},show:function(){return rn(this,!0)},hide:function(){return rn(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){nn(this)?x(this).show():x(this).hide()})}}),x.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Wt(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":x.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,a,s,l=x.camelCase(n),u=e.style;if(n=x.cssProps[l]||(x.cssProps[l]=tn(u,l)),s=x.cssHooks[n]||x.cssHooks[l],r===t)return s&&"get"in s&&(o=s.get(e,!1,i))!==t?o:u[n];if(a=typeof r,"string"===a&&(o=Jt.exec(r))&&(r=(o[1]+1)*o[2]+parseFloat(x.css(e,n)),a="number"),!(null==r||"number"===a&&isNaN(r)||("number"!==a||x.cssNumber[l]||(r+="px"),x.support.clearCloneStyle||""!==r||0!==n.indexOf("background")||(u[n]="inherit"),s&&"set"in s&&(r=s.set(e,r,i))===t)))try{u[n]=r}catch(c){}}},css:function(e,n,r,i){var o,a,s,l=x.camelCase(n);return n=x.cssProps[l]||(x.cssProps[l]=tn(e.style,l)),s=x.cssHooks[n]||x.cssHooks[l],s&&"get"in s&&(a=s.get(e,!0,r)),a===t&&(a=Wt(e,n,i)),"normal"===a&&n in Kt&&(a=Kt[n]),""===r||r?(o=parseFloat(a),r===!0||x.isNumeric(o)?o||0:a):a}}),e.getComputedStyle?(Rt=function(t){return e.getComputedStyle(t,null)},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),l=s?s.getPropertyValue(n)||s[n]:t,u=e.style;return s&&(""!==l||x.contains(e.ownerDocument,e)||(l=x.style(e,n)),Yt.test(l)&&Ut.test(n)&&(i=u.width,o=u.minWidth,a=u.maxWidth,u.minWidth=u.maxWidth=u.width=l,l=s.width,u.width=i,u.minWidth=o,u.maxWidth=a)),l}):a.documentElement.currentStyle&&(Rt=function(e){return e.currentStyle},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),l=s?s[n]:t,u=e.style;return null==l&&u&&u[n]&&(l=u[n]),Yt.test(l)&&!zt.test(n)&&(i=u.left,o=e.runtimeStyle,a=o&&o.left,a&&(o.left=e.currentStyle.left),u.left="fontSize"===n?"1em":l,l=u.pixelLeft+"px",u.left=i,a&&(o.left=a)),""===l?"auto":l});function on(e,t,n){var r=Vt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function an(e,t,n,r,i){var o=n===(r?"border":"content")?4:"width"===t?1:0,a=0;for(;4>o;o+=2)"margin"===n&&(a+=x.css(e,n+Zt[o],!0,i)),r?("content"===n&&(a-=x.css(e,"padding"+Zt[o],!0,i)),"margin"!==n&&(a-=x.css(e,"border"+Zt[o]+"Width",!0,i))):(a+=x.css(e,"padding"+Zt[o],!0,i),"padding"!==n&&(a+=x.css(e,"border"+Zt[o]+"Width",!0,i)));return a}function sn(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=Rt(e),a=x.support.boxSizing&&"border-box"===x.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=Wt(e,t,o),(0>i||null==i)&&(i=e.style[t]),Yt.test(i))return i;r=a&&(x.support.boxSizingReliable||i===e.style[t]),i=parseFloat(i)||0}return i+an(e,t,n||(a?"border":"content"),r,o)+"px"}function ln(e){var t=a,n=Gt[e];return n||(n=un(e,t),"none"!==n&&n||(Pt=(Pt||x("',"",""].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([""].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,"

    ")}}),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,"

    "),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,"

    "),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:['

      ','
    • ','','
      ','',"
      ","
    • ",'
    • ','','
      ','",'","
      ","
    • ",'
    • ','','',"
    • ","
    "].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('
  • '+e+'
  • ')}),'
      '+t.join("")+"
    "}(),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:"插入代码",skin:"layui-layer-msg",content:['
      ','
    • ','','
      ','","
      ","
    • ",'
    • ','','
      ','',"
      ","
    • ",'
    • ','','',"
    • ","
    "].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:'',strong:'',italic:'',underline:'',del:'',"|":'',left:'',center:'',right:'',link:'',unlink:'',face:'',image:'',code:'',help:''},w=new c;t(n,w)}); \ No newline at end of file diff --git a/car-mis/src/main/resources/static/lay/modules/layer.js b/car-mis/src/main/resources/static/lay/modules/layer.js new file mode 100644 index 0000000..f2f0224 --- /dev/null +++ b/car-mis/src/main/resources/static/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:["确定","取消"],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:"信息",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?'
    '+(f?r.title[0]:r.title)+"
    ":"";return r.zIndex=s,t([r.shade?'
    ':"",'
    '+(e&&2!=r.type?"":u)+'
    '+(0==r.type&&r.icon!==-1?'':"")+(1==r.type&&e?"":r.content||"")+'
    '+function(){var e=c?'':"";return r.closeBtn&&(e+=''),e}()+""+(r.btn?function(){var e="";"string"==typeof r.btn&&(r.btn=[r.btn]);for(var t=0,i=r.btn.length;t'+r.btn[t]+"";return'
    '+e+"
    "}():"")+(r.resize?'':"")+"
    "],u,i('
    ')),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='';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]+'',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;af&&(a=f),ou&&(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?'":function(){return''}(),f=e.success;return delete e.success,r.open(i.extend({type:1,btn:["确定","取消"],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("最多输入"+(e.maxlength||500)+"个字数",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=''+t[0].title+"";i"+t[i].title+"";return a}(),content:'
      '+function(){var e=t.length,i=1,a="";if(e>0)for(a='
    • '+(t[0].content||"no content")+"
    • ";i'+(t[i].content||"no content")+"";return a}()+"
    ",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("没有图片")}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]'+(u[d].alt||
    '+(u.length>1?'':"")+'
    '+(u[d].alt||"")+""+s.imgIndex+"/"+u.length+"
    ",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("当前图片地址异常
    是否继续查看下一张?",{time:3e4,btn:["下一张","不看了"],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/car-mis/src/main/resources/static/lay/modules/laypage.js b/car-mis/src/main/resources/static/lay/modules/laypage.js new file mode 100644 index 0000000..89876b1 --- /dev/null +++ b/car-mis/src/main/resources/static/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:"上一页",a.next="next"in a?a.next:"下一页";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.prev+"":""}(),page:function(){var e=[];if(a.count<1)return"";n>1&&a.first!==!1&&0!==t&&e.push(''+(a.first||1)+"");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-r2&&e.push('');r<=u;r++)r===a.curr?e.push('"+r+""):e.push(''+r+"");return a.pages>t&&a.pages>u&&a.last!==!1&&(u+1…'),0!==t&&e.push(''+(a.last||a.pages)+"")),e.join("")}(),next:function(){return a.next?''+a.next+"":""}(),count:'共 '+a.count+" 条",limit:function(){var e=['"}(),refresh:['','',""].join(""),skip:function(){return['到第','','页',""].join("")}()};return['
    ',function(){var e=[];return layui.each(a.layout,function(a,t){i[t]&&e.push(i[t])}),e.join("")}(),"
    "].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;oi.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/car-mis/src/main/resources/static/lay/modules/laytpl.js b/car-mis/src/main/resources/static/lay/modules/laytpl.js new file mode 100644 index 0000000..b291ed7 --- /dev/null +++ b/car-mis/src/main/resources/static/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,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")},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/car-mis/src/main/resources/static/lay/modules/mobile.js b/car-mis/src/main/resources/static/lay/modules/mobile.js new file mode 100644 index 0000000..f20cc01 --- /dev/null +++ b/car-mis/src/main/resources/static/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,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")},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?'

    '+(e?i.title[0]:i.title)+"

    ":""}(),d=function(){"string"==typeof i.btn&&(i.btn=[i.btn]);var e,t=(i.btn||[]).length;return 0!==t&&i.btn?(e=''+i.btn[0]+"",2===t&&(e=''+i.btn[1]+""+e),'
    '+e+"
    "):""}();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.content||"")+"

    "),i.skin&&(i.anim="up"),"msg"===i.skin&&(i.shade=!1),s.innerHTML=(i.shade?"
    ':"")+'
    "+l+'
    '+i.content+"
    "+d+"
    ",!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;r0&&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=/^<(\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>")),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=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>/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("
    ").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('');return t("#"+n)[0]||r.append(u),s.each(function(r,s){s=t(s);var u='
    ',l=s.attr("lay-type")||a.type;a.unwrap||(u='
    '+u+''+(s.attr("lay-title")||a.title||"上传"+(o[l]||"图片"))+"
    "),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/car-mis/src/main/resources/static/lay/modules/rate.js b/car-mis/src/main/resources/static/lay/modules/rate.js new file mode 100644 index 0000000..6b973bf --- /dev/null +++ b/car-mis/src/main/resources/static/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='
      ",u=1;u<=i.length;u++){var r='
    • ";i.half&&parseInt(i.value)!==i.value&&u==Math.ceil(i.value)?n=n+'
    • ":n+=r}n+="
    "+(i.text?''+i.value+"星":"")+"";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/car-mis/src/main/resources/static/lay/modules/slider.js b/car-mis/src/main/resources/static/lay/modules/slider.js new file mode 100644 index 0000000..be6a040 --- /dev/null +++ b/car-mis/src/main/resources/static/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.maxt.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.valuet.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='
    '+(t.tips?'
    ':"")+'
    '+(t.range?'
    ':"")+"
    ",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
    ')}e.elemTemp.append(b)}if(t.input&&!t.range){var w=i('
    ');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(['
    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.stepl.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=el.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/car-mis/src/main/resources/static/lay/modules/table.js b/car-mis/src/main/resources/static/lay/modules/table.js new file mode 100644 index 0000000..2050ebb --- /dev/null +++ b/car-mis/src/main/resources/static/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("
    "+o+"
    ").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||{},['
    ',"","{{# layui.each(d.data.cols, function(i1, item1){ }}","","{{# 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; }}",'",e.fixed?"{{# }; }}":"","{{# }); }}","","{{# }); }}","","
    ','
    ','{{# if(item2.type === "checkbox"){ }}','',"{{# } else { }}",'{{item2.title||""}}',"{{# if(isSort){ }}",'',"{{# } }}","{{# } }}","
    ","
    "].join("")},z=['',"","
    "].join(""),H=['
    ',"{{# if(d.data.toolbar){ }}",'
    ','
    ','
    ',"
    ","{{# } }}",'
    ',"{{# if(d.data.loading){ }}",'
    ','',"
    ","{{# } }}","{{# var left, right; }}",'
    ',E(),"
    ",'
    ',z,"
    ","{{# if(left){ }}",'
    ','
    ',E({fixed:!0}),"
    ",'
    ',z,"
    ","
    ","{{# }; }}","{{# if(right){ }}",'
    ','
    ',E({fixed:"right"}),'
    ',"
    ",'
    ',z,"
    ","
    ","{{# }; }}","
    ","{{# if(d.data.totalRow){ }}",'
    ','','',"
    ","
    ","{{# } }}","{{# if(d.data.page){ }}",'
    ','
    ',"
    ","{{# } }}","","
    "].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=['
    ','
    ','
    '].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('
    ')}),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&&ln&&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('
    '+(e||"Error")+"
    ");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=['','
    '+function(){var n=t.extend(!0,{LAY_INDEX:g},l),o=d.config.checkName;switch(r.type){case"checkbox":return'";case"radio":return n[o]&&(e=a),'';case"numbers":return g}return r.toolbar?i(t(r.toolbar).html()||"").render(n):u(r,v,n)}(),"
    "].join("");o.push(m),r.fixed&&"right"!==r.fixed&&y.push(m),"right"===r.fixed&&p.push(m)}}),h.push(''+o.join("")+""),v.push(''+y.join("")+""),m.push(''+p.join("")+""))}),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:'',next:'',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=['','
    '+function(){var e=t.totalRowText||"";return t.totalRow?parseFloat(a[n]).toFixed(2)||e:e}(),"
    "].join("");l.push(o)}),t.layTotal.find("tbody").html(""+l.join("")+"")}},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(['
    ','',"
    "].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('
    ');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('
      ');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('
    • ')}),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['
    • 导出到 Csv 文件
    • ','
    • 导出到 Excel 文件
    • '].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=[""].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');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('
      ')}};a.layBody.on("click","."+g,function(e){var i=t(this),n=i.parent(),d=n.children(h);a.tipsIndex=l.tips(['
      ',d.html(),"
      ",''].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/car-mis/src/main/resources/static/lay/modules/transfer.js b/car-mis/src/main/resources/static/lay/modules/transfer.js new file mode 100644 index 0000000..9858501 --- /dev/null +++ b/car-mis/src/main/resources/static/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||{},['
      ','
      ','","
      ","{{# if(d.data.showSearch){ }}",'","{{# } }}",'
        ',"
        "].join("")},v=['
        ',p({index:0,checkAllName:"layTransferLeftCheckAll"}),'
        ','",'","
        ",p({index:1,checkAllName:"layTransferRightCheckAll"}),"
        "].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=["
      • ",'',"
      • "].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('

        '+(t||"")+"

        ");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/car-mis/src/main/resources/static/lay/modules/tree.js b/car-mis/src/main/resources/static/lay/modules/tree.js new file mode 100644 index 0000000..97c668d --- /dev/null +++ b/car-mis/src/main/resources/static/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('
        ');e.tree(n);var r=a.elem=i(a.elem);if(r[0]){if(a.showSearch&&n.prepend(''),e.key=a.id||e.index,e.elem=n,e.elemNone=i('
        '+a.text.none+"
        "),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('
        '),h=i(['
        ',"
        ','
        ',function(){return r.showLine?c?'':'':''}(),function(){return r.showCheckbox?'':""}(),function(){return r.isJump&&l.href?''+(l.title||l.label||r.text.defaultNodeName)+"":''+(l.title||l.label||r.text.defaultNodeName)+""}(),"
        ",function(){if(!r.edit)return"";var e={add:'',update:'',del:''},i=['
        '];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("")+"
        "):void 0}(),"
        "].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('
        '));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(''),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&&rF&&rn&&r')),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(rw)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/car-mis/src/main/resources/static/lay/modules/upload.js b/car-mis/src/main/resources/static/lay/modules/upload.js new file mode 100644 index 0000000..e5fc350 --- /dev/null +++ b/car-mis/src/main/resources/static/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(['"].join("")),o=i.elem.next();(o.hasClass(u)||o.hasClass(c))&&o.remove(),a.ie&&a.ie<10&&i.elem.wrap('
        '),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(''),a=t(['
        ',"
        "].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('')}),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(''+o+"")};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/car-mis/src/main/resources/static/lay/modules/util.js b/car-mis/src/main/resources/static/lay/modules/util.js new file mode 100644 index 0000000..3001e10 --- /dev/null +++ b/car-mis/src/main/resources/static/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?"":t.bar1,t.bar2=t.bar2===!0?"":t.bar2,t.bgcolor=t.bgcolor?"background-color:"+t.bgcolor:"";var c=[t.bar1,t.bar2,""],g=e(['
          ',t.bar1?'
        • '+c[0]+"
        • ":"",t.bar2?'
        • '+c[1]+"
        • ":"",'
        • '+c[2]+"
        • ","
        "].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/g,">").replace(/'/g,"'").replace(/"/g,""")},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/car-mis/src/main/resources/static/layui.all.js b/car-mis/src/main/resources/static/layui.all.js new file mode 100644 index 0000000..58295e1 --- /dev/null +++ b/car-mis/src/main/resources/static/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;oi?1:r/g,">").replace(/'/g,"'").replace(/"/g,""")},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:"上一页",a.next="next"in a?a.next:"下一页";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.prev+"":""}(),page:function(){var e=[];if(a.count<1)return"";n>1&&a.first!==!1&&0!==t&&e.push(''+(a.first||1)+"");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-r2&&e.push('');r<=u;r++)r===a.curr?e.push('"+r+""):e.push(''+r+"");return a.pages>t&&a.pages>u&&a.last!==!1&&(u+1…'),0!==t&&e.push(''+(a.last||a.pages)+"")),e.join("")}(),next:function(){return a.next?''+a.next+"":""}(),count:'共 '+a.count+" 条",limit:function(){var e=['"}(),refresh:['','',""].join(""),skip:function(){return['到第','','页',""].join("")}()};return['
        ',function(){var e=[];return layui.each(a.layout,function(a,t){i[t]&&e.push(i[t])}),e.join("")}(),"
        "].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;oi.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="开始日期超出了结束日期
        建议重新选择",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));t0)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":"圣诞"}:{},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?r0)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="",e}(),function(){var e=w.elem("i",{"class":"layui-icon laydate-icon laydate-prev-m"});return e.innerHTML="",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="",e}(),function(){var e=w.elem("i",{"class":"layui-icon laydate-icon laydate-next-y"});return e.innerHTML="",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(''+n.timeTips+""),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(''+o+""))}),e.push('"),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必须遵循下述格式:
        "+(r.range?r.format+" "+r.range+" "+r.format:r.format)+"
        已为你重置"),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(''+n+""),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.nowl.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.yeard[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&&e=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.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=["

        "+r.time[e]+"

          "];w.each(new Array(t),function(t){i.push(""+w.digit(t,2)+"")}),a.innerHTML=i.join("")+"
        ",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&&s0&&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"!==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;r1&&"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")).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=0&&n=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;iT.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="";t1?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-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}];s1&&h(c),s>1&&d(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(se,"$1"),n,s0,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+~]|"+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="",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=0;)e.push(r);return e}),gt:l(function(e,t,n){for(var r=n<0?n+t:n;++r2&&"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="","#"===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="",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;t1?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-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-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);i0||(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
        a",fe.leadingWhitespace=3===e.firstChild.nodeType,fe.tbody=!e.getElementsByTagName("tbody").length,fe.htmlSerialize=!!e.getElementsByTagName("link").length,fe.html5Clone="<:nav>"!==re.createElement("nav").cloneNode(!0).outerHTML,n.type="checkbox",n.checked=!0,t.appendChild(n),fe.appendChecked=n.checked,e.innerHTML="",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,""],legend:[1,"
        ","
        "],area:[1,"",""],param:[1,"",""],thead:[1,"","
        "],tr:[2,"","
        "],col:[2,"","
        "],td:[3,"","
        "],_default:fe.htmlSerialize?[0,"",""]:[1,"X
        ","
        "]};Xe.optgroup=Xe.option,Xe.tbody=Xe.tfoot=Xe.colgroup=Xe.caption=Xe.thead,Xe.th=Xe.td;var Ue=/<|&#?\w+;/,Ve=/-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-1:pe.find(i,this,null,[u]).length),r[i]&&r.push(o);r.length&&a.push({elem:u,handlers:r})}return s]","i"),tt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,nt=/\s*$/g,at=p(re),st=at.appendChild(re.createElement("div"));pe.extend({htmlPrefilter:function(e){return e.replace(tt,"<$1>")},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(;nt",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;a1)},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
        a",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-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("
        ").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:["确定","取消"],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:"信息",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?'
        '+(f?r.title[0]:r.title)+"
        ":"";return r.zIndex=s,t([r.shade?'
        ':"",'
        '+(e&&2!=r.type?"":u)+'
        '+(0==r.type&&r.icon!==-1?'':"")+(1==r.type&&e?"":r.content||"")+'
        '+function(){var e=c?'':"";return r.closeBtn&&(e+=''),e}()+""+(r.btn?function(){var e="";"string"==typeof r.btn&&(r.btn=[r.btn]);for(var t=0,i=r.btn.length;t'+r.btn[t]+"";return'
        '+e+"
        "}():"")+(r.resize?'':"")+"
        "],u,i('
        ')),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='';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]+'',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;af&&(a=f),ou&&(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?'":function(){return''}(),f=e.success;return delete e.success,r.open(i.extend({type:1,btn:["确定","取消"],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("最多输入"+(e.maxlength||500)+"个字数",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=''+t[0].title+"";i"+t[i].title+"";return a}(),content:'
          '+function(){var e=t.length,i=1,a="";if(e>0)for(a='
        • '+(t[0].content||"no content")+"
        • ";i'+(t[i].content||"no content")+"";return a}()+"
        ",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("没有图片")}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]'+(u[d].alt||
        '+(u.length>1?'':"")+'
        '+(u[d].alt||"")+""+s.imgIndex+"/"+u.length+"
        ",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("当前图片地址异常
        是否继续查看下一张?",{time:3e4,btn:["下一张","不看了"],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='
      • "+(i.title||"unnaming")+"
      • ";return s[0]?s.before(r):n.append(r),o.append('
        '+(i.content||"")+"
        "),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('');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.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(""),c.removeClass(n)}l[r?"addClass":"removeClass"](n),i.html(r?"":""),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(''),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(''),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(""+e+"")}),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(''+l+"")},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(''+(l?"":"")+""),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(['"].join("")),o=i.elem.next();(o.hasClass(u)||o.hasClass(c))&&o.remove(),a.ie&&a.ie<10&&i.elem.wrap('
        '),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(''),a=t(['
        ',"
        "].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('')}),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(''+o+"")};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.maxt.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.valuet.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='
        '+(t.tips?'
        ':"")+'
        '+(t.range?'
        ':"")+"
        ",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')}e.elemTemp.append(b)}if(t.input&&!t.range){var w=i('
        ');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(['
        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.stepl.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=el.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(['
        ',"",'3&&(o.alpha&&"rgb"==o.format||(e="#"+C(k(P(o.color))))),"background: "+e):e}()+'">','',"","","
        "].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(['
        ','
        ','
        ','
        ','
        ','
        ',"
        ",'
        ','
        ',"
        ","
        ",'
        ','
        ','
        ',"
        ","
        ",function(){if(o.predefine){var e=['
        '];return layui.each(o.colors,function(i,o){e.push(['
        ','
        ',"
        "].join(""))}),e.push("
        "),e.join("")}return""}(),'
        ','
        ','',"
        ",'
        ','','',"","
        "].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:fa()&&(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(['
        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无匹配项

        '):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(['
        ','
        ','','
        ','
        ',function(e){var t=[];return layui.each(e,function(e,a){0!==e||a.value?"optgroup"===a.tagName.toLowerCase()?t.push("
        "+a.label+"
        "):t.push('
        '+a.innerHTML+"
        "):t.push('
        '+(a.innerHTML||i)+"
        ")}),0===t.length&&t.push('
        没有选项
        '),t.join("")}(r.find("*"))+"
        ","
        "].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(['
        ",function(){var e=n.title.replace(/\s/g,""),t={checkbox:[e?""+n.title+"":"",''].join(""),_switch:""+((n.checked?s[0]:s[1])||"")+""};return t[r]||t.checkbox}(),"
        "].join(""));d[0]&&d.remove(),l.after(f),a.call(this,f,u)})},radio:function(){var e="layui-form-radio",i=["",""],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(['
        ',''+i[l.checked?0:1]+"","
        "+function(){var e=l.title||"";return"string"==typeof r.next().attr("lay-radio")&&(e=r.next().html(),r.next().remove()),e}()+"
        ","
        "].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('
        ');e.tree(n);var r=a.elem=i(a.elem);if(r[0]){if(a.showSearch&&n.prepend(''),e.key=a.id||e.index,e.elem=n,e.elemNone=i('
        '+a.text.none+"
        "),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('
        '),h=i(['
        ',"
        ','
        ',function(){return r.showLine?c?'':'':''}(),function(){return r.showCheckbox?'':""}(),function(){return r.isJump&&l.href?''+(l.title||l.label||r.text.defaultNodeName)+"":''+(l.title||l.label||r.text.defaultNodeName)+""}(),"
        ",function(){if(!r.edit)return"";var e={add:'',update:'',del:''},i=['
        '];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("")+"
        "):void 0}(),"
        "].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('
        '));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(''),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&&rF&&rn&&r
        ')),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(rw)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||{},['
        ','
        ','","
        ","{{# if(d.data.showSearch){ }}",'","{{# } }}",'
          ',"
          "].join("")},v=['
          ',p({index:0,checkAllName:"layTransferLeftCheckAll"}),'
          ','",'","
          ",p({index:1,checkAllName:"layTransferRightCheckAll"}),"
          "].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=["
        • ",'',"
        • "].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('

          '+(t||"")+"

          ");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("
          "+o+"
          ").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||{},['',"","{{# layui.each(d.data.cols, function(i1, item1){ }}","","{{# 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; }}",'",e.fixed?"{{# }; }}":"","{{# }); }}","","{{# }); }}","","
          ','
          ','{{# if(item2.type === "checkbox"){ }}','',"{{# } else { }}",'{{item2.title||""}}',"{{# if(isSort){ }}",'',"{{# } }}","{{# } }}","
          ","
          "].join("")},z=['',"","
          "].join(""),H=['
          ',"{{# if(d.data.toolbar){ }}",'
          ','
          ','
          ',"
          ","{{# } }}",'
          ',"{{# if(d.data.loading){ }}",'
          ','',"
          ","{{# } }}","{{# var left, right; }}",'
          ',E(),"
          ",'
          ',z,"
          ","{{# if(left){ }}",'
          ','
          ',E({fixed:!0}),"
          ",'
          ',z,"
          ","
          ","{{# }; }}","{{# if(right){ }}",'
          ','
          ',E({fixed:"right"}),'
          ',"
          ",'
          ',z,"
          ","
          ","{{# }; }}","
          ","{{# if(d.data.totalRow){ }}",'
          ','','',"
          ","
          ","{{# } }}","{{# if(d.data.page){ }}",'
          ','
          ',"
          ","{{# } }}","","
          "].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=['
          ','
          ','
          '].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('
          ')}),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&&ln&&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('
          '+(e||"Error")+"
          ");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=['','
          '+function(){var n=t.extend(!0,{LAY_INDEX:g},l),o=d.config.checkName;switch(r.type){case"checkbox":return'";case"radio":return n[o]&&(e=a),'';case"numbers":return g}return r.toolbar?i(t(r.toolbar).html()||"").render(n):u(r,v,n)}(),"
          "].join("");o.push(m),r.fixed&&"right"!==r.fixed&&y.push(m),"right"===r.fixed&&p.push(m)}}),h.push(''+o.join("")+""),v.push(''+y.join("")+""),m.push(''+p.join("")+""))}),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:'',next:'',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=['','
          '+function(){var e=t.totalRowText||"";return t.totalRow?parseFloat(a[n]).toFixed(2)||e:e}(),"
          "].join("");l.push(o)}),t.layTotal.find("tbody").html(""+l.join("")+"")}},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(['
          ','',"
          "].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('
          ');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('
            ');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('
          • ')}),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['
          • 导出到 Csv 文件
          • ','
          • 导出到 Excel 文件
          • '].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=[""].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');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('
            ')}};a.layBody.on("click","."+g,function(e){var i=t(this),n=i.parent(),d=n.children(h);a.tipsIndex=l.tips(['
            ',d.html(),"
            ",''].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(['",'"].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(['
              ',function(){var i=[];return layui.each(e.elemItem,function(e){i.push("")}),i.join("")}(),"
            "].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",u=1;u<=i.length;u++){var r='
          • ";i.half&&parseInt(i.value)!==i.value&&u==Math.ceil(i.value)?n=n+'
          • ":n+=r}n+=""+(i.text?''+i.value+"星":"")+"";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?"":t.bar1,t.bar2=t.bar2===!0?"":t.bar2,t.bgcolor=t.bgcolor?"background-color:"+t.bgcolor:"";var c=[t.bar1,t.bar2,""],g=e(['
              ',t.bar1?'
            • '+c[0]+"
            • ":"",t.bar2?'
            • '+c[1]+"
            • ":"",'
            • '+c[2]+"
            • ","
            "].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/g,">").replace(/'/g,"'").replace(/"/g,""")},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='';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="加载更多",h=l('");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;su)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(['
            ','
            '+f+"
            ",'
            ','',"
            ","
            "].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([""].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,"

            ")}}),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,"

            "),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,"

            "),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:['

              ','
            • ','','
              ','',"
              ","
            • ",'
            • ','','
              ','",'","
              ","
            • ",'
            • ','','',"
            • ","
            "].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('
          • '+e+'
          • ')}),'
              '+t.join("")+"
            "}(),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:"插入代码",skin:"layui-layer-msg",content:['
              ','
            • ','','
              ','","
              ","
            • ",'
            • ','','
              ','',"
              ","
            • ",'
            • ','','',"
            • ","
            "].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:'',strong:'',italic:'',underline:'',del:'',"|":'',left:'',center:'',right:'',link:'',unlink:'',face:'',image:'',code:'',help:''},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,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")),c.html('
            1. '+o.replace(/[\r\t\n]+/g,"
            2. ")+"
            "),c.find(">.layui-code-h3")[0]||c.prepend('

            '+(c.attr("lay-title")||e.title||"code")+(e.about?'layui.code':"")+"

            ");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/car-mis/src/main/resources/static/layui.js b/car-mis/src/main/resources/static/layui.js new file mode 100644 index 0000000..f7e8173 --- /dev/null +++ b/car-mis/src/main/resources/static/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;oi?1:r*{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/car-mis/src/main/resources/static/metrics/css/layui.mobile.css b/car-mis/src/main/resources/static/metrics/css/layui.mobile.css new file mode 100644 index 0000000..8528bd5 --- /dev/null +++ b/car-mis/src/main/resources/static/metrics/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/car-mis/src/main/resources/static/metrics/css/modules/code.css b/car-mis/src/main/resources/static/metrics/css/modules/code.css new file mode 100644 index 0000000..5d255cc --- /dev/null +++ b/car-mis/src/main/resources/static/metrics/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/car-mis/src/main/resources/static/metrics/css/modules/laydate/default/laydate.css b/car-mis/src/main/resources/static/metrics/css/modules/laydate/default/laydate.css new file mode 100644 index 0000000..ff278b3 --- /dev/null +++ b/car-mis/src/main/resources/static/metrics/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/car-mis/src/main/resources/static/metrics/css/modules/layer/default/icon-ext.png b/car-mis/src/main/resources/static/metrics/css/modules/layer/default/icon-ext.png new file mode 100644 index 0000000000000000000000000000000000000000..bbbb669bb311514baa5db3a6a00b4644d0e280f1 GIT binary patch literal 5911 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 bWW^%>x7XlHV^#Q1uOX^B?ki3(VEg|7!QHuF literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/metrics/css/modules/layer/default/loading-1.gif b/car-mis/src/main/resources/static/metrics/css/modules/layer/default/loading-1.gif new file mode 100644 index 0000000000000000000000000000000000000000..db3a483e4b74971fbfb1cc0fb6499852cedfe650 GIT binary patch literal 701 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 literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/metrics/font/iconfont.svg b/car-mis/src/main/resources/static/metrics/font/iconfont.svg new file mode 100644 index 0000000..df16ffb --- /dev/null +++ b/car-mis/src/main/resources/static/metrics/font/iconfont.svg @@ -0,0 +1,485 @@ + + + + + +Created by iconfont + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/car-mis/src/main/resources/static/metrics/font/iconfont.ttf b/car-mis/src/main/resources/static/metrics/font/iconfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..3c22a2384684571f2b8a398595b632a96ae681e1 GIT binary patch literal 41536 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 literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/metrics/font/iconfont.woff b/car-mis/src/main/resources/static/metrics/font/iconfont.woff new file mode 100644 index 0000000000000000000000000000000000000000..8c660cef5642d429de9178c7503b18f46300c655 GIT binary patch literal 27256 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 TQ)VD-$X#3e51sM)nE(I)88ehq literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/metrics/font/iconfont.woff2 b/car-mis/src/main/resources/static/metrics/font/iconfont.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..928d66a8dc3793ede9b05460d8cf3648d4bae338 GIT binary patch literal 23140 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 P;R0LaxVzD+*yI}k84c5u literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/metrics/highcharts/exporting.js b/car-mis/src/main/resources/static/metrics/highcharts/exporting.js new file mode 100644 index 0000000..7b9cd73 --- /dev/null +++ b/car-mis/src/main/resources/static/metrics/highcharts/exporting.js @@ -0,0 +1,48 @@ +/* + Highcharts JS v10.0.0 (2022-03-07) + + Exporting module + + (c) 2010-2021 Torstein Honsi + + License: www.highcharts.com/license +*/ +(function(a){"object"===typeof module&&module.exports?(a["default"]=a,module.exports=a):"function"===typeof define&&define.amd?define("highcharts/modules/exporting",["highcharts"],function(g){a(g);a.Highcharts=g;return a}):a("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(a){function g(a,e,r,x){a.hasOwnProperty(e)||(a[e]=x.apply(null,r),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:e,module:a[e]}})))}a=a?a._modules:{};g(a, +"Extensions/FullScreen.js",[a["Core/Chart/Chart.js"],a["Core/Globals.js"],a["Core/Renderer/HTML/AST.js"],a["Core/Utilities.js"]],function(a,e,r,x){var p=x.addEvent;x=function(){function a(d){this.chart=d;this.isOpen=!1;d=d.renderTo;this.browserProps||("function"===typeof d.requestFullscreen?this.browserProps={fullscreenChange:"fullscreenchange",requestFullscreen:"requestFullscreen",exitFullscreen:"exitFullscreen"}:d.mozRequestFullScreen?this.browserProps={fullscreenChange:"mozfullscreenchange",requestFullscreen:"mozRequestFullScreen", +exitFullscreen:"mozCancelFullScreen"}:d.webkitRequestFullScreen?this.browserProps={fullscreenChange:"webkitfullscreenchange",requestFullscreen:"webkitRequestFullScreen",exitFullscreen:"webkitExitFullscreen"}:d.msRequestFullscreen&&(this.browserProps={fullscreenChange:"MSFullscreenChange",requestFullscreen:"msRequestFullscreen",exitFullscreen:"msExitFullscreen"}))}a.prototype.close=function(){var d=this.chart,a=d.options.chart;if(this.isOpen&&this.browserProps&&d.container.ownerDocument instanceof +Document)d.container.ownerDocument[this.browserProps.exitFullscreen]();this.unbindFullscreenEvent&&(this.unbindFullscreenEvent=this.unbindFullscreenEvent());d.setSize(this.origWidth,this.origHeight,!1);this.origHeight=this.origWidth=void 0;a.width=this.origWidthOption;a.height=this.origHeightOption;this.origHeightOption=this.origWidthOption=void 0;this.isOpen=!1;this.setButtonText()};a.prototype.open=function(){var d=this,a=d.chart,b=a.options.chart;b&&(d.origWidthOption=b.width,d.origHeightOption= +b.height);d.origWidth=a.chartWidth;d.origHeight=a.chartHeight;if(d.browserProps){var K=p(a.container.ownerDocument,d.browserProps.fullscreenChange,function(){d.isOpen?(d.isOpen=!1,d.close()):(a.setSize(null,null,!1),d.isOpen=!0,d.setButtonText())}),t=p(a,"destroy",K);d.unbindFullscreenEvent=function(){K();t()};if(b=a.renderTo[d.browserProps.requestFullscreen]())b["catch"](function(){alert("Full screen is not supported inside a frame.")})}};a.prototype.setButtonText=function(){var d=this.chart,a=d.exportDivElements, +b=d.options.exporting,t=b&&b.buttons&&b.buttons.contextButton.menuItems;d=d.options.lang;b&&b.menuItemDefinitions&&d&&d.exitFullscreen&&d.viewFullscreen&&t&&a&&(a=a[t.indexOf("viewFullscreen")])&&r.setElementHTML(a,this.isOpen?d.exitFullscreen:b.menuItemDefinitions.viewFullscreen.text||d.viewFullscreen)};a.prototype.toggle=function(){this.isOpen?this.close():this.open()};return a}();e.Fullscreen=x;p(a,"beforeRender",function(){this.fullscreen=new e.Fullscreen(this)});return e.Fullscreen});g(a,"Core/Chart/ChartNavigationComposition.js", +[],function(){var a;(function(a){a.compose=function(a){a.navigation||(a.navigation=new e(a));return a};var e=function(){function a(a){this.updates=[];this.chart=a}a.prototype.addUpdate=function(a){this.chart.navigation.updates.push(a)};a.prototype.update=function(a,t){var d=this;this.updates.forEach(function(e){e.call(d.chart,a,t)})};return a}();a.Additions=e})(a||(a={}));return a});g(a,"Extensions/Exporting/ExportingDefaults.js",[a["Core/Globals.js"]],function(a){return{exporting:{type:"image/png", +url:"https://export.highcharts.com/",pdfFont:{normal:void 0,bold:void 0,bolditalic:void 0,italic:void 0},printMaxWidth:780,scale:2,buttons:{contextButton:{className:"highcharts-contextbutton",menuClassName:"highcharts-contextmenu",symbol:"menu",titleKey:"contextButtonTitle",menuItems:"viewFullscreen printChart separator downloadPNG downloadJPEG downloadPDF downloadSVG".split(" ")}},menuItemDefinitions:{viewFullscreen:{textKey:"viewFullscreen",onclick:function(){this.fullscreen.toggle()}},printChart:{textKey:"printChart", +onclick:function(){this.print()}},separator:{separator:!0},downloadPNG:{textKey:"downloadPNG",onclick:function(){this.exportChart()}},downloadJPEG:{textKey:"downloadJPEG",onclick:function(){this.exportChart({type:"image/jpeg"})}},downloadPDF:{textKey:"downloadPDF",onclick:function(){this.exportChart({type:"application/pdf"})}},downloadSVG:{textKey:"downloadSVG",onclick:function(){this.exportChart({type:"image/svg+xml"})}}}},lang:{viewFullscreen:"View in full screen",exitFullscreen:"Exit from full screen", +printChart:"Print chart",downloadPNG:"Download PNG image",downloadJPEG:"Download JPEG image",downloadPDF:"Download PDF document",downloadSVG:"Download SVG vector image",contextButtonTitle:"Chart context menu"},navigation:{buttonOptions:{symbolSize:14,symbolX:12.5,symbolY:10.5,align:"right",buttonSpacing:3,height:22,verticalAlign:"top",width:24,symbolFill:"#666666",symbolStroke:"#666666",symbolStrokeWidth:3,theme:{padding:5}},menuStyle:{border:"1px solid #999999",background:"#ffffff",padding:"5px 0"}, +menuItemStyle:{padding:"0.5em 1em",color:"#333333",background:"none",fontSize:a.isTouchDevice?"14px":"11px",transition:"background 250ms, color 250ms"},menuItemHoverStyle:{background:"#335cad",color:"#ffffff"}}}});g(a,"Extensions/Exporting/ExportingSymbols.js",[],function(){var a;(function(a){function e(a,d,e,b){return[["M",a,d+2.5],["L",a+e,d+2.5],["M",a,d+b/2+.5],["L",a+e,d+b/2+.5],["M",a,d+b-1.5],["L",a+e,d+b-1.5]]}function p(a,d,e,b){a=b/3-2;b=[];return b=b.concat(this.circle(e-a,d,a,a),this.circle(e- +a,d+a+4,a,a),this.circle(e-a,d+2*(a+4),a,a))}var g=[];a.compose=function(a){-1===g.indexOf(a)&&(g.push(a),a=a.prototype.symbols,a.menu=e,a.menuball=p.bind(a))}})(a||(a={}));return a});g(a,"Core/HttpUtilities.js",[a["Core/Globals.js"],a["Core/Utilities.js"]],function(a,e){var p=a.doc,g=e.createElement,B=e.discardElement,t=e.merge,d=e.objectEach,J={ajax:function(a){var b=t(!0,{url:!1,type:"get",dataType:"json",success:!1,error:!1,data:!1,headers:{}},a);a={json:"application/json",xml:"application/xml", +text:"text/plain",octet:"application/octet-stream"};var e=new XMLHttpRequest;if(!b.url)return!1;e.open(b.type.toUpperCase(),b.url,!0);b.headers["Content-Type"]||e.setRequestHeader("Content-Type",a[b.dataType]||a.text);d(b.headers,function(a,d){e.setRequestHeader(d,a)});b.responseType&&(e.responseType=b.responseType);e.onreadystatechange=function(){if(4===e.readyState){if(200===e.status){if("blob"!==b.responseType){var a=e.responseText;if("json"===b.dataType)try{a=JSON.parse(a)}catch(q){b.error&&b.error(e, +q);return}}return b.success&&b.success(a,e)}b.error&&b.error(e,e.responseText)}};try{b.data=JSON.stringify(b.data)}catch(z){}e.send(b.data||!0)},getJSON:function(a,d){J.ajax({url:a,success:d,dataType:"json",headers:{"Content-Type":"text/plain"}})},post:function(a,e,r){var b=g("form",t({method:"post",action:a,enctype:"multipart/form-data"},r),{display:"none"},p.body);d(e,function(a,d){g("input",{type:"hidden",name:d,value:a},null,b)});b.submit();B(b)}};"";return J});g(a,"Extensions/Exporting/Exporting.js", +[a["Core/Renderer/HTML/AST.js"],a["Core/Chart/Chart.js"],a["Core/Chart/ChartNavigationComposition.js"],a["Core/DefaultOptions.js"],a["Extensions/Exporting/ExportingDefaults.js"],a["Extensions/Exporting/ExportingSymbols.js"],a["Core/Globals.js"],a["Core/HttpUtilities.js"],a["Core/Utilities.js"]],function(a,e,g,x,B,t,d,J,b){e=x.defaultOptions;var p=d.doc,r=d.win,z=b.addEvent,q=b.css,E=b.createElement,L=b.discardElement,F=b.extend,P=b.find,G=b.fireEvent,Q=b.isObject,m=b.merge,R=b.objectEach,y=b.pick, +S=b.removeEvent,T=b.uniqueKey,H;(function(e){function x(a){var c=this,d=c.renderer,b=m(c.options.navigation.buttonOptions,a),e=b.onclick,l=b.menuItems,n=b.symbolSize||12;c.btnCount||(c.btnCount=0);c.exportDivElements||(c.exportDivElements=[],c.exportSVGElements=[]);if(!1!==b.enabled&&b.theme){var f=b.theme,C=f.states,p=C&&C.hover;C=C&&C.select;var D;c.styledMode||(f.fill=y(f.fill,"#ffffff"),f.stroke=y(f.stroke,"none"));delete f.states;e?D=function(a){a&&a.stopPropagation();e.call(c,a)}:l&&(D=function(a){a&& +a.stopPropagation();c.contextMenu(k.menuClassName,l,k.translateX,k.translateY,k.width,k.height,k);k.setState(2)});b.text&&b.symbol?f.paddingLeft=y(f.paddingLeft,30):b.text||F(f,{width:b.width,height:b.height,padding:0});c.styledMode||(f["stroke-linecap"]="round",f.fill=y(f.fill,"#ffffff"),f.stroke=y(f.stroke,"none"));var k=d.button(b.text,0,0,D,f,p,C).addClass(a.className).attr({title:y(c.options.lang[b._titleKey||b.titleKey],"")});k.menuClassName=a.menuClassName||"highcharts-menu-"+c.btnCount++; +if(b.symbol){var g=d.symbol(b.symbol,b.symbolX-n/2,b.symbolY-n/2,n,n,{width:n,height:n}).addClass("highcharts-button-symbol").attr({zIndex:1}).add(k);c.styledMode||g.attr({stroke:b.symbolStroke,fill:b.symbolFill,"stroke-width":b.symbolStrokeWidth||1})}k.add(c.exportingGroup).align(F(b,{width:k.width,x:y(b.x,c.buttonOffset)}),!0,"spacingBox");c.buttonOffset+=(k.width+b.buttonSpacing)*("right"===b.align?-1:1);c.exportSVGElements.push(k,g)}}function B(){if(this.printReverseInfo){var a=this.printReverseInfo, +b=a.childNodes,d=a.origDisplay;a=a.resetParams;this.moveContainers(this.renderTo);[].forEach.call(b,function(a,c){1===a.nodeType&&(a.style.display=d[c]||"")});this.isPrinting=!1;a&&this.setSize.apply(this,a);delete this.printReverseInfo;I=void 0;G(this,"afterPrint")}}function H(){var a=p.body,b=this.options.exporting.printMaxWidth,d={childNodes:a.childNodes,origDisplay:[],resetParams:void 0};this.isPrinting=!0;this.pointer.reset(null,0);G(this,"beforePrint");b&&this.chartWidth>b&&(d.resetParams=[this.options.chart.width, +void 0,!1],this.setSize(b,void 0,!1));[].forEach.call(d.childNodes,function(a,c){1===a.nodeType&&(d.origDisplay[c]=a.style.display,a.style.display="none")});this.moveContainers(a);this.printReverseInfo=d}function K(a){a.renderExporting();z(a,"redraw",a.renderExporting);z(a,"destroy",a.destroyExport)}function U(c,d,e,A,g,l,n){var f=this,u=f.options.navigation,w=f.chartWidth,D=f.chartHeight,k="cache-"+c,v=Math.max(g,l),h=f[k];if(!h){f.exportContextMenu=f[k]=h=E("div",{className:c},{position:"absolute", +zIndex:1E3,padding:v+"px",pointerEvents:"auto"},f.fixedDiv||f.container);var m=E("ul",{className:"highcharts-menu"},{listStyle:"none",margin:0,padding:0},h);f.styledMode||q(m,F({MozBoxShadow:"3px 3px 10px #888",WebkitBoxShadow:"3px 3px 10px #888",boxShadow:"3px 3px 10px #888"},u.menuStyle));h.hideMenu=function(){q(h,{display:"none"});n&&n.setState(0);f.openMenu=!1;q(f.renderTo,{overflow:"hidden"});q(f.container,{overflow:"hidden"});b.clearTimeout(h.hideTimer);G(f,"exportMenuHidden")};f.exportEvents.push(z(h, +"mouseleave",function(){h.hideTimer=r.setTimeout(h.hideMenu,500)}),z(h,"mouseenter",function(){b.clearTimeout(h.hideTimer)}),z(p,"mouseup",function(a){f.pointer.inClass(a.target,c)||h.hideMenu()}),z(h,"click",function(){f.openMenu&&h.hideMenu()}));d.forEach(function(c){"string"===typeof c&&(c=f.options.exporting.menuItemDefinitions[c]);if(Q(c,!0)){var b=void 0;c.separator?b=E("hr",void 0,void 0,m):("viewData"===c.textKey&&f.isDataTableVisible&&(c.textKey="hideData"),b=E("li",{className:"highcharts-menu-item", +onclick:function(a){a&&a.stopPropagation();h.hideMenu();c.onclick&&c.onclick.apply(f,arguments)}},void 0,m),a.setElementHTML(b,c.text||f.options.lang[c.textKey]),f.styledMode||(b.onmouseover=function(){q(this,u.menuItemHoverStyle)},b.onmouseout=function(){q(this,u.menuItemStyle)},q(b,F({cursor:"pointer"},u.menuItemStyle||{}))));f.exportDivElements.push(b)}});f.exportDivElements.push(m,h);f.exportMenuWidth=h.offsetWidth;f.exportMenuHeight=h.offsetHeight}d={display:"block"};e+f.exportMenuWidth>w?d.right= +w-e-g-v+"px":d.left=e-v+"px";A+l+f.exportMenuHeight>D&&"top"!==n.alignOptions.verticalAlign?d.bottom=D-A-v+"px":d.top=A+l-v+"px";q(h,d);q(f.renderTo,{overflow:""});q(f.container,{overflow:""});f.openMenu=!0;G(f,"exportMenuShown")}function V(a){var c=a?a.target:this,d=c.exportSVGElements,e=c.exportDivElements;a=c.exportEvents;var g;d&&(d.forEach(function(a,b){a&&(a.onclick=a.ontouchstart=null,g="cache-"+a.menuClassName,c[g]&&delete c[g],d[b]=a.destroy())}),d.length=0);c.exportingGroup&&(c.exportingGroup.destroy(), +delete c.exportingGroup);e&&(e.forEach(function(a,c){a&&(b.clearTimeout(a.hideTimer),S(a,"mouseleave"),e[c]=a.onmouseout=a.onmouseover=a.ontouchstart=a.onclick=null,L(a))}),e.length=0);a&&(a.forEach(function(a){a()}),a.length=0)}function W(a,b){b=this.getSVGForExport(a,b);a=m(this.options.exporting,a);J.post(a.url,{filename:a.filename?a.filename.replace(/\//g,"-"):this.getFilename(),type:a.type,width:a.width||0,scale:a.scale,svg:b},a.formAttributes)}function X(){this.styledMode&&this.inlineStyles(); +return this.container.innerHTML}function Y(){var a=this.userOptions.title&&this.userOptions.title.text,b=this.options.exporting.filename;if(b)return b.replace(/\//g,"-");"string"===typeof a&&(b=a.toLowerCase().replace(/<\/?[^>]+(>|$)/g,"").replace(/[\s_]+/g,"-").replace(/[^a-z0-9\-]/g,"").replace(/^[\-]+/g,"").replace(/[\-]+/g,"-").substr(0,24).replace(/[\-]+$/g,""));if(!b||5>b.length)b="chart";return b}function Z(a){var b,c=m(this.options,a);c.plotOptions=m(this.userOptions.plotOptions,a&&a.plotOptions); +c.time=m(this.userOptions.time,a&&a.time);var d=E("div",null,{position:"absolute",top:"-9999em",width:this.chartWidth+"px",height:this.chartHeight+"px"},p.body),e=this.renderTo.style.width;var g=this.renderTo.style.height;e=c.exporting.sourceWidth||c.chart.width||/px$/.test(e)&&parseInt(e,10)||(c.isGantt?800:600);g=c.exporting.sourceHeight||c.chart.height||/px$/.test(g)&&parseInt(g,10)||400;F(c.chart,{animation:!1,renderTo:d,forExport:!0,renderer:"SVGRenderer",width:e,height:g});c.exporting.enabled= +!1;delete c.data;c.series=[];this.series.forEach(function(a){b=m(a.userOptions,{animation:!1,enableMouseTracking:!1,showCheckbox:!1,visible:a.visible});b.isInternal||c.series.push(b)});var n={};this.axes.forEach(function(a){a.userOptions.internalKey||(a.userOptions.internalKey=T());a.options.isInternal||(n[a.coll]||(n[a.coll]=!0,c[a.coll]=[]),c[a.coll].push(m(a.userOptions,{visible:a.visible})))});var f=new this.constructor(c,this.callback);a&&["xAxis","yAxis","series"].forEach(function(c){var b= +{};a[c]&&(b[c]=a[c],f.update(b))});this.axes.forEach(function(a){var c=P(f.axes,function(c){return c.options.internalKey===a.userOptions.internalKey}),b=a.getExtremes(),d=b.userMin;b=b.userMax;c&&("undefined"!==typeof d&&d!==c.min||"undefined"!==typeof b&&b!==c.max)&&c.setExtremes(d,b,!0,!1)});g=f.getChartHTML();G(this,"getSVG",{chartCopy:f});g=this.sanitizeSVG(g,c);c=null;f.destroy();L(d);return g}function aa(a,b){var c=this.options.exporting;return this.getSVG(m({chart:{borderRadius:0}},c.chartOptions, +b,{exporting:{sourceWidth:a&&a.sourceWidth||c.sourceWidth,sourceHeight:a&&a.sourceHeight||c.sourceHeight}}))}function M(a){return a.replace(/([A-Z])/g,function(a,b){return"-"+b.toLowerCase()})}function ba(){function a(c){var e="",f,u;if(1===c.nodeType&&-1===ca.indexOf(c.nodeName)){var k=r.getComputedStyle(c,null);var p="svg"===c.nodeName?{}:r.getComputedStyle(c.parentNode,null);if(!A[c.nodeName]){v=n.getElementsByTagName("svg")[0];var h=n.createElementNS(c.namespaceURI,c.nodeName);v.appendChild(h); +A[c.nodeName]=m(r.getComputedStyle(h,null));"text"===c.nodeName&&delete A.text.fill;v.removeChild(h)}for(var q in k)if(d.isFirefox||d.isMS||d.isSafari||Object.hasOwnProperty.call(k,q)){var w=k[q],l=q;h=f=!1;if(g.length){for(u=g.length;u--&&!f;)f=g[u].test(l);h=!f}"transform"===l&&"none"===w&&(h=!0);for(u=b.length;u--&&!h;)h=b[u].test(l)||"function"===typeof w;h||p[l]===w&&"svg"!==c.nodeName||A[c.nodeName][l]===w||(N&&-1===N.indexOf(l)?e+=M(l)+":"+w+";":w&&c.setAttribute(M(l),w))}e&&(k=c.getAttribute("style"), +c.setAttribute("style",(k?k+";":"")+e));"svg"===c.nodeName&&c.setAttribute("stroke-width","1px");"text"!==c.nodeName&&[].forEach.call(c.children||c.childNodes,a)}}var b=da,g=e.inlineWhitelist,A={},v,l=p.createElement("iframe");q(l,{width:"1px",height:"1px",visibility:"hidden"});p.body.appendChild(l);var n=l.contentWindow.document;n.open();n.write('');n.close();a(this.container.querySelector("svg"));v.parentNode.removeChild(v);l.parentNode.removeChild(l)} +function ea(a){(this.fixedDiv?[this.fixedDiv,this.scrollingContainer]:[this.container]).forEach(function(c){a.appendChild(c)})}function fa(){var a=this;a.exporting={update:function(c,b){a.isDirtyExporting=!0;m(!0,a.options.exporting,c);y(b,!0)&&a.redraw()}};g.compose(a).navigation.addUpdate(function(c,b){a.isDirtyExporting=!0;m(!0,a.options.navigation,c);y(b,!0)&&a.redraw()})}function ha(){var a=this;a.isPrinting||(I=a,d.isSafari||a.beforePrint(),setTimeout(function(){r.focus();r.print();d.isSafari|| +setTimeout(function(){a.afterPrint()},1E3)},1))}function ia(){var a=this,b=a.options.exporting,d=b.buttons,e=a.isDirtyExporting||!a.exportSVGElements;a.buttonOffset=0;a.isDirtyExporting&&a.destroyExport();e&&!1!==b.enabled&&(a.exportEvents=[],a.exportingGroup=a.exportingGroup||a.renderer.g("exporting-group").attr({zIndex:3}).add(),R(d,function(b){a.addButton(b)}),a.isDirtyExporting=!1)}function ja(a,b){var c=a.indexOf("")+6,d=a.substr(c);a=a.substr(0,c);b&&b.exporting&&b.exporting.allowHTML&& +d&&(d=''+d.replace(/(<(?:img|br).*?(?=>))>/g,"$1 />")+"",a=a.replace("",d+""));a=a.replace(/zIndex="[^"]+"/g,"").replace(/symbolName="[^"]+"/g,"").replace(/jQuery[0-9]+="[^"]+"/g,"").replace(/url\(("|")(.*?)("|");?\)/g,"url($2)").replace(/url\([^#]+#/g,"url(#").replace(/parseInt(a.userAgent.split("Firefox/")[1],10);a.hasTouch=!!a.win.TouchEvent;a.marginNames=["plotTop","marginRight","marginBottom","plotLeft"];a.noop=function(){};a.supportsPassiveEvents=function(){let x=!1;if(!a.isMS){const z=Object.defineProperty({},"passive",{get:function(){x= +!0}});a.win.addEventListener&&a.win.removeEventListener&&(a.win.addEventListener("testPassive",a.noop,z),a.win.removeEventListener("testPassive",a.noop,z))}return x}();a.charts=[];a.dateFormats={};a.seriesTypes={};a.symbolSizes={};a.chartCount=0})(a||(a={}));"";return a});L(a,"Core/Utilities.js",[a["Core/Globals.js"]],function(a){function x(c,l,b,g){const M=l?"Highcharts error":"Highcharts warning";32===c&&(c=`${M}: Deprecated member`);const h=u(c);let p=h?`${M} #${c}: www.highcharts.com/errors/${c}/`: +c.toString();if("undefined"!==typeof g){let c="";h&&(p+="?");K(g,function(l,b){c+=`\n - ${b}: ${l}`;h&&(p+=encodeURI(b)+"="+encodeURI(l))});p+=c}d(a,"displayError",{chart:b,code:c,message:p,params:g},function(){if(l)throw Error(p);r.console&&-1===x.messages.indexOf(p)&&console.warn(p)});x.messages.push(p)}function G(c,l){const b={};K(c,function(g,d){if(D(c[d],!0)&&!c.nodeType&&l[d])g=G(c[d],l[d]),Object.keys(g).length&&(b[d]=g);else if(D(c[d])||c[d]!==l[d]||d in c&&!(d in l))b[d]=c[d]});return b} +function J(c,l){return parseInt(c,l||10)}function B(c){return"string"===typeof c}function E(c){c=Object.prototype.toString.call(c);return"[object Array]"===c||"[object Array Iterator]"===c}function D(c,l){return!!c&&"object"===typeof c&&(!l||!E(c))}function A(c){return D(c)&&"number"===typeof c.nodeType}function v(c){const l=c&&c.constructor;return!(!D(c,!0)||A(c)||!l||!l.name||"Object"===l.name)}function u(c){return"number"===typeof c&&!isNaN(c)&&Infinity>c&&-Infinity{e(l)?c.setAttribute(b,l):g?(d=c.getAttribute(b))||"class"!==b||(d=c.getAttribute(b+"Name")):c.removeAttribute(b)};B(l)?h(b,l):K(l,h);return d}function w(c,l){let b;c||(c={});for(b in l)c[b]=l[b];return c}function k(){const c=arguments,l=c.length;for(let b=0;b=l-1&&(l=Math.floor(b)),Math.max(0,l-(q(c,"padding-left",!0)||0)-(q(c,"padding-right",!0)||0));if("height"===l)return Math.max(0,Math.min(c.offsetHeight,c.scrollHeight)-(q(c,"padding-top",!0)||0)-(q(c,"padding-bottom", +!0)||0));if(c=r.getComputedStyle(c,void 0))g=c.getPropertyValue(l),k(b,"opacity"!==l)&&(g=J(g));return g}function K(c,b,g){for(const l in c)Object.hasOwnProperty.call(c,l)&&b.call(g||c[l],c[l],l,c)}function F(c,l,b){function g(b,l){const g=c.removeEventListener;g&&g.call(c,b,l,!1)}function d(b){let d,H;c.nodeName&&(l?(d={},d[l]=!0):d=b,K(d,function(c,l){if(b[l])for(H=b[l].length;H--;)g(l,b[l][H].fn)}))}var h="function"===typeof c&&c.prototype||c;if(Object.hasOwnProperty.call(h,"hcEvents")){const c= +h.hcEvents;l?(h=c[l]||[],b?(c[l]=h.filter(function(c){return b!==c.fn}),g(l,b)):(d(c),c[l]=[])):(d(c),delete h.hcEvents)}}function d(c,b,g,d){g=g||{};if(p.createEvent&&(c.dispatchEvent||c.fireEvent&&c!==a)){var l=p.createEvent("Events");l.initEvent(b,!0,!0);g=w(l,g);c.dispatchEvent?c.dispatchEvent(g):c.fireEvent(b,g)}else if(c.hcEvents){g.target||w(g,{preventDefault:function(){g.defaultPrevented=!0},target:c,type:b});l=[];let d=c,h=!1;for(;d.hcEvents;)Object.hasOwnProperty.call(d,"hcEvents")&&d.hcEvents[b]&& +(l.length&&(h=!0),l.unshift.apply(l,d.hcEvents[b])),d=Object.getPrototypeOf(d);h&&l.sort((c,b)=>c.order-b.order);l.forEach(b=>{!1===b.fn.call(c,g)&&g.preventDefault()})}d&&!g.defaultPrevented&&d.call(c,g)}const {charts:h,doc:p,win:r}=a;(x||(x={})).messages=[];Math.easeInOutSine=function(c){return-.5*(Math.cos(Math.PI*c)-1)};var y=Array.prototype.find?function(c,b){return c.find(b)}:function(c,b){let l;const g=c.length;for(l=0;lc.order-b.order); +return function(){F(c,b,g)}},arrayMax:function(c){let b=c.length,g=c[0];for(;b--;)c[b]>g&&(g=c[b]);return g},arrayMin:function(c){let b=c.length,g=c[0];for(;b--;)c[b]b?c=g&&(b=[1/g])));for(d=0;d=c||!h&&r<=(b[d]+(b[d+1]||b[d]))/ +2);d++);return l=f(l*g,-Math.round(Math.log(.001)/Math.LN10))},objectEach:K,offset:function(c){const b=p.documentElement;c=c.parentElement||c.parentNode?c.getBoundingClientRect():{top:0,left:0,width:0,height:0};return{top:c.top+(r.pageYOffset||b.scrollTop)-(b.clientTop||0),left:c.left+(r.pageXOffset||b.scrollLeft)-(b.clientLeft||0),width:c.width,height:c.height}},pad:function(c,b,g){return Array((b||2)+1-String(c).replace("-","").length).join(g||"0")+c},pick:k,pInt:J,pushUnique:function(c,b){return 0> +c.indexOf(b)&&!!c.push(b)},relativeLength:function(c,b,g){return/%$/.test(c)?b*parseFloat(c)/100+(g||0):parseFloat(c)},removeEvent:F,splat:function(b){return E(b)?b:[b]},stableSort:function(b,g){const c=b.length;let l,d;for(d=0;dnew E(e[1]));else if("string"===typeof a){this.input=a=E.names[a.toLowerCase()]||a;if("#"===a.charAt(0)){var u=a.length;var e=parseInt(a.substr(1),16);7===u?A=[(e&16711680)>>16,(e&65280)>>8,e&255,1]:4===u&&(A=[(e&3840)>>4|(e&3840)>>8,(e&240)>>4|e&240,(e&15)<<4|e&15,1])}if(!A)for(e=E.parsers.length;e--&&!A;)v=E.parsers[e], +(u=v.regex.exec(a))&&(A=v.parse(u))}A&&(this.rgba=A)}get(a){const A=this.input,v=this.rgba;if("object"===typeof A&&"undefined"!==typeof this.stops){const u=J(A);u.stops=[].slice.call(u.stops);this.stops.forEach((e,m)=>{u.stops[m]=[u.stops[m][0],e.get(a)]});return u}return v&&x(v[0])?"rgb"===a||!a&&1===v[3]?"rgb("+v[0]+","+v[1]+","+v[2]+")":"a"===a?`${v[3]}`:"rgba("+v.join(",")+")":A}brighten(a){const A=this.rgba;if(this.stops)this.stops.forEach(function(v){v.brighten(a)});else if(x(a)&&0!==a)for(let v= +0;3>v;v++)A[v]+=B(255*a),0>A[v]&&(A[v]=0),255h?"AM":"PM",P:12>h?"am":"pm",S:u(d.getSeconds()),L:u(Math.floor(q%1E3),3)},a.dateFormats);v(d,function(b, +c){for(;-1!==f.indexOf("%"+c);)f=f.replace("%"+c,"function"===typeof b?b.call(n,q):b)});return k?f.substr(0,1).toUpperCase()+f.substr(1):f}resolveDTLFormat(f){return D(f,!0)?f:(f=m(f),{main:f[0],from:f[1],to:f[2]})}getTimeTicks(f,q,k,n){const d=this,h=[],p={};var r=new d.Date(q);const y=f.unitRange,b=f.count||1;let g;n=e(n,1);if(J(q)){d.set("Milliseconds",r,y>=w.second?0:b*Math.floor(d.get("Milliseconds",r)/b));y>=w.second&&d.set("Seconds",r,y>=w.minute?0:b*Math.floor(d.get("Seconds",r)/b));y>=w.minute&& +d.set("Minutes",r,y>=w.hour?0:b*Math.floor(d.get("Minutes",r)/b));y>=w.hour&&d.set("Hours",r,y>=w.day?0:b*Math.floor(d.get("Hours",r)/b));y>=w.day&&d.set("Date",r,y>=w.month?1:Math.max(1,b*Math.floor(d.get("Date",r)/b)));if(y>=w.month){d.set("Month",r,y>=w.year?0:b*Math.floor(d.get("Month",r)/b));var c=d.get("FullYear",r)}y>=w.year&&d.set("FullYear",r,c-c%b);y===w.week&&(c=d.get("Day",r),d.set("Date",r,d.get("Date",r)-c+n+(c4*w.month||d.getTimezoneOffset(q)!==d.getTimezoneOffset(k));q=r.getTime();for(r=1;qh.length&&h.forEach(function(b){0===b%18E5&&"000000000"===d.dateFormat("%H%M%S%L",b)&&(p[b]="day")})}h.info=E(f,{higherRanks:p, +totalRange:y*b});return h}getDateFormat(f,k,n,e){const d=this.dateFormat("%m-%d %H:%M:%S.%L",k),h={millisecond:15,second:12,minute:9,hour:6,day:3};let p,r="millisecond";for(p in w){if(f===w.week&&+this.dateFormat("%w",k)===n&&"00:00:00.000"===d.substr(6)){p="week";break}if(w[p]>f){p=r;break}if(h[p]&&d.substr(h[p])!=="01-01 00:00:00.000".substr(h[p]))break;"week"!==p&&(r=p)}return this.resolveDTLFormat(e[p]).main}}"";return n});L(a,"Core/Defaults.js",[a["Core/Chart/ChartDefaults.js"],a["Core/Color/Color.js"], +a["Core/Globals.js"],a["Core/Color/Palettes.js"],a["Core/Time.js"],a["Core/Utilities.js"]],function(a,z,G,J,B,E){const {isTouchDevice:x,svg:A}=G,{merge:v}=E,u={colors:J.colors,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:{Date:void 0,getTimezoneOffset:void 0,timezone:void 0,timezoneOffset:0,useUTC:!0},chart:a,title:{text:"Chart title",align:"center",margin:15,widthAdjust:-44},subtitle:{text:"",align:"center",widthAdjust:-44},caption:{margin:15,text:"",align:"left",verticalAlign:"bottom"},plotOptions:{},legend:{enabled:!0,align:"center",alignColumns:!0,className:"highcharts-no-tooltip", +layout:"horizontal",itemMarginBottom:2,itemMarginTop:2,labelFormatter:function(){return this.name},borderColor:"#999999",borderRadius:0,navigation:{style:{fontSize:"0.8em"},activeColor:"#0022ff",inactiveColor:"#cccccc"},itemStyle:{color:"#333333",cursor:"pointer",fontSize:"0.8em",textDecoration:"none",textOverflow:"ellipsis"},itemHoverStyle:{color:"#000000"},itemHiddenStyle:{color:"#666666",textDecoration:"line-through"},shadow:!1,itemCheckboxStyle:{position:"absolute",width:"13px",height:"13px"}, +squareSymbol:!0,symbolPadding:5,verticalAlign:"bottom",x:0,y:0,title:{style:{fontSize:"0.8em",fontWeight:"bold"}}},loading:{labelStyle:{fontWeight:"bold",position:"relative",top:"45%"},style:{position:"absolute",backgroundColor:"#ffffff",opacity:.5,textAlign:"center"}},tooltip:{enabled:!0,animation:A,borderRadius:3,dateTimeLabelFormats:{millisecond:"%A, %e %b, %H:%M:%S.%L",second:"%A, %e %b, %H:%M:%S",minute:"%A, %e %b, %H:%M",hour:"%A, %e %b, %H:%M",day:"%A, %e %b %Y",week:"Week from %A, %e %b %Y", +month:"%B %Y",year:"%Y"},footerFormat:"",headerShape:"callout",hideDelay:500,padding:8,shape:"callout",shared:!1,snap:x?25:10,headerFormat:'{point.key}
            ',pointFormat:'\u25cf {series.name}: {point.y}
            ',backgroundColor:"#ffffff",borderWidth:void 0,shadow:!0,stickOnContact:!1,style:{color:"#333333",cursor:"default",fontSize:"0.8em"},useHTML:!1},credits:{enabled:!0,href:"https://www.highcharts.com?credits",position:{align:"right", +x:-10,verticalAlign:"bottom",y:-5},style:{cursor:"pointer",color:"#999999",fontSize:"0.6em"},text:"Highcharts.com"}};u.chart.styledMode=!1;"";const e=new B(u.time);a={defaultOptions:u,defaultTime:e,getOptions:function(){return u},setOptions:function(m){v(!0,u,m);if(m.time||m.global)G.time?G.time.update(v(u.global,u.time,m.global,m.time)):G.time=e;return u}};"";return a});L(a,"Core/Animation/Fx.js",[a["Core/Color/Color.js"],a["Core/Globals.js"],a["Core/Utilities.js"]],function(a,z,G){const {parse:x}= +a,{win:B}=z,{isNumber:E,objectEach:D}=G;class A{constructor(a,u,e){this.pos=NaN;this.options=u;this.elem=a;this.prop=e}dSetter(){var a=this.paths;const u=a&&a[0];a=a&&a[1];const e=this.now||0;let m=[];if(1!==e&&u&&a)if(u.length===a.length&&1>e)for(let w=0;w=k+this.startTime?(this.now=this.end,this.pos=1,this.update(),n=t[this.prop]=!0,D(t,function(f){!0!==f&&(n=!1)}),n&&w&&w.call(m),a=!1):(this.pos=e.easing((u-this.startTime)/ +k),this.now=this.start+(this.end-this.start)*this.pos,this.update(),a=!0);return a}initPath(a,u,e){function m(d,h){for(;d.length{e=x(e.options.animation);f=k&&B(k.defer)?n.defer:Math.max(f,e.duration+e.defer);q=Math.min(n.duration,e.duration)});e.renderer.forExport&&(f=0);return{defer:Math.max(0,f-q),duration:Math.min(f,q)}},setAnimation:function(e,k){k.renderer.globalAnimation=m(e,k.options.chart.animation,!0)},stop:J}});L(a,"Core/Renderer/HTML/AST.js",[a["Core/Globals.js"],a["Core/Utilities.js"]],function(a,z){const {SVG_NS:x,win:J}=a,{attr:B,createElement:E,css:D, +error:A,isFunction:v,isString:u,objectEach:e,splat:m}=z;({trustedTypes:z}=J);const w=z&&v(z.createPolicy)&&z.createPolicy("highcharts",{createHTML:f=>f});z=w?w.createHTML(""):"";try{var k=!!(new DOMParser).parseFromString(z,"text/html")}catch(f){k=!1}const t=k;class n{static filterUserAttributes(f){e(f,(e,k)=>{let a=!0;-1===n.allowedAttributes.indexOf(k)&&(a=!1);-1!==["background","dynsrc","href","lowsrc","src"].indexOf(k)&&(a=u(e)&&n.allowedReferences.some(d=>0===e.indexOf(d)));a||(A(33,!1,void 0, +{"Invalid attribute in config":`${k}`}),delete f[k]);u(e)&&f[k]&&(f[k]=e.replace(/{e=e.split(":").map(d=>d.trim());const k=e.shift();k&&e.length&&(f[k.replace(/-([a-z])/g,d=>d[1].toUpperCase())]=e.join(":"));return f},{})}static setElementHTML(f,e){f.innerHTML=n.emptyHTML;e&&(new n(e)).addToDOM(f)}constructor(f){this.nodes="string"===typeof f?this.parseMarkup(f):f}addToDOM(f){function k(f,q){let d;m(f).forEach(function(h){var p= +h.tagName;const r=h.textContent?a.doc.createTextNode(h.textContent):void 0,f=n.bypassHTMLFiltering;let b;if(p)if("#text"===p)b=r;else if(-1!==n.allowedTags.indexOf(p)||f){p=a.doc.createElementNS("svg"===p?x:q.namespaceURI||x,p);const g=h.attributes||{};e(h,function(b,l){"tagName"!==l&&"attributes"!==l&&"children"!==l&&"style"!==l&&"textContent"!==l&&(g[l]=b)});B(p,f?g:n.filterUserAttributes(g));h.style&&D(p,h.style);r&&p.appendChild(r);k(h.children||[],p);b=p}else A(33,!1,void 0,{"Invalid tagName in config":p}); +b&&q.appendChild(b);d=b});return d}return k(this.nodes,f)}parseMarkup(f){const e=[];f=f.trim().replace(/ style=(["'])/g," data-style=$1");if(t)f=(new DOMParser).parseFromString(w?w.createHTML(f):f,"text/html");else{const e=E("div");e.innerHTML=f;f={body:e}}const k=(f,d)=>{var h=f.nodeName.toLowerCase();const p={tagName:h};"#text"===h&&(p.textContent=f.textContent||"");if(h=f.attributes){const d={};[].forEach.call(h,h=>{"data-style"===h.name?p.style=n.parseStyle(h.value):d[h.name]=h.value});p.attributes= +d}if(f.childNodes.length){const d=[];[].forEach.call(f.childNodes,h=>{k(h,d)});d.length&&(p.children=d)}d.push(p)};[].forEach.call(f.body.childNodes,f=>k(f,e));return e}}n.allowedAttributes="alt aria-controls aria-describedby aria-expanded aria-haspopup aria-hidden aria-label aria-labelledby aria-live aria-pressed aria-readonly aria-roledescription aria-selected class clip-path color colspan cx cy d dx dy disabled fill flood-color flood-opacity height href id in markerHeight markerWidth offset opacity orient padding paddingLeft paddingRight patternUnits r refX refY role scope slope src startOffset stdDeviation stroke stroke-linecap stroke-width style tableValues result rowspan summary target tabindex text-align text-anchor textAnchor textLength title type valign width x x1 x2 xlink:href y y1 y2 zIndex".split(" "); +n.allowedReferences="https:// http:// mailto: / ../ ./ #".split(" ");n.allowedTags="a abbr b br button caption circle clipPath code dd defs div dl dt em feComponentTransfer feDropShadow feFuncA feFuncB feFuncG feFuncR feGaussianBlur feOffset feMerge feMergeNode filter h1 h2 h3 h4 h5 h6 hr i img li linearGradient marker ol p path pattern pre rect small span stop strong style sub sup svg table text textPath thead title tbody tspan td th tr u ul #text".split(" ");n.emptyHTML=z;n.bypassHTMLFiltering= +!1;"";return n});L(a,"Core/FormatUtilities.js",[a["Core/Defaults.js"],a["Core/Utilities.js"]],function(a,z){function x(a,e,m,w){a=+a||0;e=+e;const k=J.lang;var t=(a.toString().split(".")[1]||"").split("e")[0].length;const n=a.toString().split("e"),f=e;if(-1===e)e=Math.min(t,20);else if(!D(e))e=2;else if(e&&n[1]&&0>n[1]){var q=e+ +n[1];0<=q?(n[0]=(+n[0]).toExponential(q).split("e")[0],e=q):(n[0]=n[0].split(".")[0]||0,a=20>e?(n[0]*Math.pow(10,n[1])).toFixed(e):0,n[1]=0)}q=(Math.abs(n[1]?n[0]:a)+Math.pow(10, +-Math.max(e,t)-1)).toFixed(e);t=String(v(q));const u=3a?"-":"")+(u?t.substr(0,u)+w:"");a=0>+n[1]&&!f?"0":a+t.substr(u).replace(/(\d{3})(?=\d)/g,"$1"+w);e&&(a+=m+q.slice(-e));n[1]&&0!==+a&&(a+="e"+n[1]);return a}const {defaultOptions:J,defaultTime:B}=a,{getNestedProperty:E,isNumber:D,pick:A,pInt:v}=z;return{dateFormat:function(a,e,m){return B.dateFormat(a,e,m)},format:function(a,e,m){var u="{";let k=!1;let t;const n=/f$/,f=/\.([0-9])/, +q=J.lang,K=m&&m.time||B;m=m&&m.numberFormatter||x;const F=[];for(;a;){t=a.indexOf(u);if(-1===t)break;var d=a.slice(0,t);if(k){d=d.split(":");u=E(d.shift()||"",e);if(d.length&&"number"===typeof u)if(d=d.join(":"),n.test(d)){const h=parseInt((d.match(f)||["","-1"])[1],10);null!==u&&(u=m(u,h,q.decimalPoint,-1(a.rank||0)-(f.rank||0);const k=(f,a)=>f.target-a.target;let t,n=!0,f=[],q=0;for(t=a.length;t--;)q+=a[t].size;if(q>m){J(a,w);for(q=t=0;q<=m;)q+=a[t].size,t++;f=a.splice(t-1,a.length)}J(a,k);for(a=a.map(f=>({size:f.size,targets:[f.target],align:G(f.align,.5)}));n;){for(t=a.length;t--;)m=a[t],w=(Math.min.apply(0,m.targets)+Math.max.apply(0,m.targets))/ +2,m.pos=x(w-m.size*m.align,0,v-m.size);t=a.length;for(n=!1;t--;)0a[t].pos&&(a[t-1].size+=a[t].size,a[t-1].targets=a[t-1].targets.concat(a[t].targets),a[t-1].align=.5,a[t-1].pos+a[t-1].size>v&&(a[t-1].pos=v-a[t-1].size),a.splice(t,1),n=!0)}e.push.apply(e,f);t=0;a.some(f=>{let a=0;return(f.targets||[]).some(()=>{e[t].pos=f.pos+a;if("undefined"!==typeof u&&Math.abs(e[t].pos-e[t].target)>u)return e.slice(0,t+1).forEach(d=>delete d.pos),e.reducedLen=(e.reducedLen||v)-.1*v,e.reducedLen> +.1*v&&z(e,v,u),!0;a+=e[t].size;t++;return!1})});J(e,k);return e}a.distribute=z})(B||(B={}));return B});L(a,"Core/Renderer/SVG/SVGElement.js",[a["Core/Animation/AnimationUtilities.js"],a["Core/Color/Color.js"],a["Core/Globals.js"],a["Core/Utilities.js"]],function(a,z,G,J){const {animate:x,animObject:E,stop:D}=a,{deg2rad:A,doc:v,svg:u,SVG_NS:e,win:m}=G,{addEvent:w,attr:k,createElement:t,css:n,defined:f,erase:q,extend:K,fireEvent:F,isArray:d,isFunction:h,isObject:p,isString:r,merge:y,objectEach:b,pick:g, +pInt:c,syncTimeout:l,uniqueKey:N}=J;class O{constructor(){this.element=void 0;this.onEvents={};this.opacity=1;this.renderer=void 0;this.SVG_NS=e}_defaultGetter(b){b=g(this[b+"Value"],this[b],this.element?this.element.getAttribute(b):null,0);/^[\-0-9\.]+$/.test(b)&&(b=parseFloat(b));return b}_defaultSetter(b,c,g){g.setAttribute(c,b)}add(b){const c=this.renderer,g=this.element;let l;b&&(this.parentGroup=b);"undefined"!==typeof this.textStr&&"text"===this.element.nodeName&&c.buildText(this);this.added= +!0;if(!b||b.handleZ||this.zIndex)l=this.zIndexSetter();l||(b?b.element:c.box).appendChild(g);if(this.onAdd)this.onAdd();return this}addClass(b,c){const g=c?"":this.attr("class")||"";b=(b||"").split(/ /g).reduce(function(b,c){-1===g.indexOf(c)&&b.push(c);return b},g?[g]:[]).join(" ");b!==g&&this.attr("class",b);return this}afterSetters(){this.doTransform&&(this.updateTransform(),this.doTransform=!1)}align(b,c,l){const d={};var H=this.renderer,h=H.alignedObjects,f;let M,p;if(b){if(this.alignOptions= +b,this.alignByTranslate=c,!l||r(l))this.alignTo=f=l||"renderer",q(h,this),h.push(this),l=void 0}else b=this.alignOptions,c=this.alignByTranslate,f=this.alignTo;l=g(l,H[f],"scrollablePlotBox"===f?H.plotBox:void 0,H);f=b.align;const C=b.verticalAlign;H=(l.x||0)+(b.x||0);h=(l.y||0)+(b.y||0);"right"===f?M=1:"center"===f&&(M=2);M&&(H+=(l.width-(b.width||0))/M);d[c?"translateX":"x"]=Math.round(H);"bottom"===C?p=1:"middle"===C&&(p=2);p&&(h+=(l.height-(b.height||0))/p);d[c?"translateY":"y"]=Math.round(h); +this[this.placed?"animate":"attr"](d);this.placed=!0;this.alignAttr=d;return this}alignSetter(b){const c={left:"start",center:"middle",right:"end"};c[b]&&(this.alignValue=b,this.element.setAttribute("text-anchor",c[b]))}animate(c,d,h){const r=E(g(d,this.renderer.globalAnimation,!0));d=r.defer;v.hidden&&(r.duration=0);0!==r.duration?(h&&(r.complete=h),l(()=>{this.element&&x(this,c,r)},d)):(this.attr(c,void 0,h||r.complete),b(c,function(b,c){r.step&&r.step.call(this,b,{prop:c,pos:1,elem:this})},this)); +return this}applyTextOutline(b){const c=this.element;-1!==b.indexOf("contrast")&&(b=b.replace(/contrast/g,this.renderer.getContrast(c.style.fill)));var g=b.split(" ");b=g[g.length-1];if((g=g[0])&&"none"!==g&&G.svg){this.fakeTS=!0;g=g.replace(/(^[\d\.]+)(.*?)$/g,function(b,c,g){return 2*Number(c)+g});this.removeTextOutline();const l=v.createElementNS(e,"tspan");k(l,{"class":"highcharts-text-outline",fill:b,stroke:b,"stroke-width":g,"stroke-linejoin":"round"});b=c.querySelector("textPath")||c;[].forEach.call(b.childNodes, +b=>{const c=b.cloneNode(!0);c.removeAttribute&&["fill","stroke","stroke-width","stroke"].forEach(b=>c.removeAttribute(b));l.appendChild(c)});let d=0;[].forEach.call(b.querySelectorAll("text tspan"),b=>{d+=Number(b.getAttribute("dy"))});g=v.createElementNS(e,"tspan");g.textContent="\u200b";k(g,{x:Number(c.getAttribute("x")),dy:-d});l.appendChild(g);b.insertBefore(l,b.firstChild)}}attr(c,g,l,d){const h=this.element,r=O.symbolCustomAttribs;let f,p,a=this,C,M;"string"===typeof c&&"undefined"!==typeof g&& +(f=c,c={},c[f]=g);"string"===typeof c?a=(this[c+"Getter"]||this._defaultGetter).call(this,c,h):(b(c,function(b,g){C=!1;d||D(this,g);this.symbolName&&-1!==r.indexOf(g)&&(p||(this.symbolAttr(c),p=!0),C=!0);!this.rotation||"x"!==g&&"y"!==g||(this.doTransform=!0);C||(M=this[g+"Setter"]||this._defaultSetter,M.call(this,b,g,h))},this),this.afterSetters());l&&l.call(this);return a}clip(b){return this.attr("clip-path",b?"url("+this.renderer.url+"#"+b.id+")":"none")}crisp(b,c){c=c||b.strokeWidth||0;const g= +Math.round(c)%2/2;b.x=Math.floor(b.x||this.x||0)+g;b.y=Math.floor(b.y||this.y||0)+g;b.width=Math.floor((b.width||this.width||0)-2*g);b.height=Math.floor((b.height||this.height||0)-2*g);f(b.strokeWidth)&&(b.strokeWidth=c);return b}complexColor(c,g,l){const h=this.renderer;let H,r,p,a,M,C,e,I,k,n,q=[],t;F(this.renderer,"complexColor",{args:arguments},function(){c.radialGradient?r="radialGradient":c.linearGradient&&(r="linearGradient");if(r){p=c[r];M=h.gradients;C=c.stops;k=l.radialReference;d(p)&&(c[r]= +p={x1:p[0],y1:p[1],x2:p[2],y2:p[3],gradientUnits:"userSpaceOnUse"});"radialGradient"===r&&k&&!f(p.gradientUnits)&&(a=p,p=y(p,h.getRadialAttr(k,a),{gradientUnits:"userSpaceOnUse"}));b(p,function(b,c){"id"!==c&&q.push(c,b)});b(C,function(b){q.push(b)});q=q.join(",");if(M[q])n=M[q].attr("id");else{p.id=n=N();const b=M[q]=h.createElement(r).attr(p).add(h.defs);b.radAttr=a;b.stops=[];C.forEach(function(c){0===c[1].indexOf("rgba")?(H=z.parse(c[1]),e=H.get("rgb"),I=H.get("a")):(e=c[1],I=1);c=h.createElement("stop").attr({offset:c[0], +"stop-color":e,"stop-opacity":I}).add(b);b.stops.push(c)})}t="url("+h.url+"#"+n+")";l.setAttribute(g,t);l.gradient=q;c.toString=function(){return t}}})}css(g){const l=this.styles,d={},h=this.element;let H,r=!l;g.color&&(g.fill=g.color);l&&b(g,function(b,c){l&&l[c]!==b&&(d[c]=b,r=!0)});if(r){l&&(g=K(l,d));null===g.width||"auto"===g.width?delete this.textWidth:"text"===h.nodeName.toLowerCase()&&g.width&&(H=this.textWidth=c(g.width));this.styles=g;H&&!u&&this.renderer.forExport&&delete g.width;const b= +y(g);h.namespaceURI===this.SVG_NS&&["textOutline","textOverflow","width"].forEach(c=>b&&delete b[c]);n(h,b)}this.added&&("text"===this.element.nodeName&&this.renderer.buildText(this),g.textOutline&&this.applyTextOutline(g.textOutline));return this}dashstyleSetter(b){let l=this["stroke-width"];"inherit"===l&&(l=1);if(b=b&&b.toLowerCase()){const d=b.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(b=d.length;b--;)d[b]=""+c(d[b])*g(l,NaN);b=d.join(",").replace(/NaN/g,"none");this.element.setAttribute("stroke-dasharray",b)}}destroy(){const c=this;var g=c.element||{};const l=c.renderer;var d=g.ownerSVGElement;let h="SPAN"===g.nodeName&&c.parentGroup||void 0;g.onclick=g.onmouseout=g.onmouseover=g.onmousemove=g.point=null;D(c);if(c.clipPath&&d){const b=c.clipPath;[].forEach.call(d.querySelectorAll("[clip-path],[CLIP-PATH]"),function(c){-1< +c.getAttribute("clip-path").indexOf(b.element.id)&&c.removeAttribute("clip-path")});c.clipPath=b.destroy()}if(c.stops){for(d=0;dc&&c.join?(g?b+" ":"")+c.join(" "):(c||"").toString(),""));/(NaN| {2}|^$)/.test(b)&&(b="M 0 0");this[c]!==b&&(g.setAttribute(c,b),this[c]=b)}fadeOut(b){const c=this;c.animate({opacity:0},{duration:g(b,150),complete:function(){c.hide()}})}fillSetter(b,c,g){"string"===typeof b?g.setAttribute(c,b):b&&this.complexColor(b,c,g)}getBBox(b,c){const {alignValue:l,element:d,renderer:H,styles:r,textStr:p}=this,{cache:a,cacheKeys:e}=H;var C=d.namespaceURI===this.SVG_NS;c= +g(c,this.rotation,0);var k=H.styledMode?d&&O.prototype.getStyle.call(d,"font-size"):r&&r.fontSize;let I;let q;f(p)&&(q=p.toString(),-1===q.indexOf("<")&&(q=q.replace(/[0-9]/g,"0")),q+=["",H.rootFontSize,k,c,this.textWidth,l,r&&r.textOverflow,r&&r.fontWeight].join());q&&!b&&(I=a[q]);if(!I){if(C||H.forExport){try{var y=this.fakeTS&&function(b){const c=d.querySelector(".highcharts-text-outline");c&&n(c,{display:b})};h(y)&&y("none");I=d.getBBox?K({},d.getBBox()):{width:d.offsetWidth,height:d.offsetHeight, +x:0,y:0};h(y)&&y("")}catch(ha){""}if(!I||0>I.width)I={x:0,y:0,width:0,height:0}}else I=this.htmlGetBBox();y=I.width;b=I.height;C&&(I.height=b={"11px,17":14,"13px,20":16}[`${k||""},${Math.round(b)}`]||b);if(c){C=Number(d.getAttribute("y")||0)-I.y;k={right:1,center:.5}[l||0]||0;var M=c*A,t=(c-90)*A,m=y*Math.cos(M);c=y*Math.sin(M);var u=Math.cos(t);M=Math.sin(t);y=I.x+k*(y-m)+C*u;t=y+m;u=t-b*u;m=u-m;C=I.y+C-k*c+C*M;k=C+c;b=k-b*M;c=b-c;I.x=Math.min(y,t,u,m);I.y=Math.min(C,k,b,c);I.width=Math.max(y,t, +u,m)-I.x;I.height=Math.max(C,k,b,c)-I.y}}if(q&&(""===p||0{if(b&&r){let C=b.attr("id");C||b.attr("id",C=N());var d={x:0,y:0};f(h.dx)&&(d.dx=h.dx,delete h.dx);f(h.dy)&& +(d.dy=h.dy,delete h.dy);l.attr(d);this.attr({transform:""});this.box&&(this.box=this.box.destroy());d=c.nodes.slice(0);c.nodes.length=0;c.nodes[0]={tagName:"textPath",attributes:K(h,{"text-anchor":h.textAnchor,href:`${g}#${C}`}),children:d}}}),l.textPath={path:b,undo:c}):(l.attr({dx:0,dy:0}),delete l.textPath);this.added&&(l.textCache="",this.renderer.buildText(l));return this}shadow(b){var c;const {renderer:g}=this,l=y(90===(null===(c=this.parentGroup)||void 0===c?void 0:c.rotation)?{offsetX:-1, +offsetY:-1}:{},p(b)?b:{});c=g.shadowDefinition(l);return this.attr({filter:b?`url(${g.url}#${c})`:"none"})}show(b=!0){return this.attr({visibility:b?"inherit":"visible"})}["stroke-widthSetter"](b,c,g){this[c]=b;g.setAttribute(c,b)}strokeWidth(){if(!this.renderer.styledMode)return this["stroke-width"]||0;const b=this.getStyle("stroke-width");let g=0,l;b.indexOf("px")===b.length-2?g=c(b):""!==b&&(l=v.createElementNS(e,"rect"),k(l,{width:b,"stroke-width":0}),this.element.parentNode.appendChild(l),g= +l.getBBox().width,l.parentNode.removeChild(l));return g}symbolAttr(b){const c=this;O.symbolCustomAttribs.forEach(function(l){c[l]=g(b[l],c[l])});c.attr({d:c.renderer.symbols[c.symbolName](c.x,c.y,c.width,c.height,c)})}textSetter(b){b!==this.textStr&&(delete this.textPxLength,this.textStr=b,this.added&&this.renderer.buildText(this))}titleSetter(b){const c=this.element,l=c.getElementsByTagName("title")[0]||v.createElementNS(this.SVG_NS,"title");c.insertBefore?c.insertBefore(l,c.firstChild):c.appendChild(l); +l.textContent=String(g(b,"")).replace(/<[^>]*>/g,"").replace(/</g,"<").replace(/>/g,">")}toFront(){const b=this.element;b.parentNode.appendChild(b);return this}translate(b,c){return this.attr({translateX:b,translateY:c})}updateTransform(){const {element:b,matrix:c,rotation:l=0,scaleX:d,scaleY:h,translateX:r=0,translateY:p=0}=this,a=["translate("+r+","+p+")"];f(c)&&a.push("matrix("+c.join(",")+")");l&&a.push("rotate("+l+" "+g(this.rotationOriginX,b.getAttribute("x"),0)+" "+g(this.rotationOriginY, +b.getAttribute("y")||0)+")");(f(d)||f(h))&&a.push("scale("+g(d,1)+" "+g(h,1)+")");a.length&&!(this.text||this).textPath&&b.setAttribute("transform",a.join(" "))}visibilitySetter(b,c,g){"inherit"===b?g.removeAttribute(c):this[c]!==b&&g.setAttribute(c,b);this[c]=b}xGetter(b){"circle"===this.element.nodeName&&("x"===b?b="cx":"y"===b&&(b="cy"));return this._defaultGetter(b)}zIndexSetter(b,g){var l=this.renderer,d=this.parentGroup;const h=(d||l).element||l.box,r=this.element;l=h===l.box;let p=!1,a;var e= +this.added;let C;f(b)?(r.setAttribute("data-z-index",b),b=+b,this[g]===b&&(e=!1)):f(this[g])&&r.removeAttribute("data-z-index");this[g]=b;if(e){(b=this.zIndex)&&d&&(d.handleZ=!0);g=h.childNodes;for(C=g.length-1;0<=C&&!p;C--)if(d=g[C],e=d.getAttribute("data-z-index"),a=!f(e),d!==r)if(0>b&&a&&!l&&!C)h.insertBefore(r,g[C]),p=!0;else if(c(e)<=b||a&&(!f(b)||0<=b))h.insertBefore(r,g[C+1]),p=!0;p||(h.insertBefore(r,g[l?3:0]),p=!0)}return p}}O.symbolCustomAttribs="anchorX anchorY clockwise end height innerR r start width x y".split(" "); +O.prototype.strokeSetter=O.prototype.fillSetter;O.prototype.yGetter=O.prototype.xGetter;O.prototype.matrixSetter=O.prototype.rotationOriginXSetter=O.prototype.rotationOriginYSetter=O.prototype.rotationSetter=O.prototype.scaleXSetter=O.prototype.scaleYSetter=O.prototype.translateXSetter=O.prototype.translateYSetter=O.prototype.verticalAlignSetter=function(b,c){this[c]=b;this.doTransform=!0};"";return O});L(a,"Core/Renderer/RendererRegistry.js",[a["Core/Globals.js"]],function(a){var x;(function(x){x.rendererTypes= +{};let z;x.getRendererType=function(a=z){return x.rendererTypes[a]||x.rendererTypes[z]};x.registerRendererType=function(B,E,D){x.rendererTypes[B]=E;if(!z||D)z=B,a.Renderer=E}})(x||(x={}));return x});L(a,"Core/Renderer/SVG/SVGLabel.js",[a["Core/Renderer/SVG/SVGElement.js"],a["Core/Utilities.js"]],function(a,z){const {defined:x,extend:J,isNumber:B,merge:E,pick:D,removeEvent:A}=z;class v extends a{constructor(a,e,m,w,k,t,n,f,q,K){super();this.paddingRightSetter=this.paddingLeftSetter=this.paddingSetter; +this.init(a,"g");this.textStr=e;this.x=m;this.y=w;this.anchorX=t;this.anchorY=n;this.baseline=q;this.className=K;this.addClass("button"===K?"highcharts-no-tooltip":"highcharts-label");K&&this.addClass("highcharts-"+K);this.text=a.text(void 0,0,0,f).attr({zIndex:1});let u;"string"===typeof k&&((u=/^url\((.*?)\)$/.test(k))||this.renderer.symbols[k])&&(this.symbolKey=k);this.bBox=v.emptyBBox;this.padding=3;this.baselineOffset=0;this.needsBox=a.styledMode||u;this.deferredAttr={};this.alignFactor=0}alignSetter(a){a= +{left:0,center:.5,right:1}[a];a!==this.alignFactor&&(this.alignFactor=a,this.bBox&&B(this.xSetting)&&this.attr({x:this.xSetting}))}anchorXSetter(a,e){this.anchorX=a;this.boxAttr(e,Math.round(a)-this.getCrispAdjust()-this.xSetting)}anchorYSetter(a,e){this.anchorY=a;this.boxAttr(e,a-this.ySetting)}boxAttr(a,e){this.box?this.box.attr(a,e):this.deferredAttr[a]=e}css(u){if(u){const a={};u=E(u);v.textProps.forEach(e=>{"undefined"!==typeof u[e]&&(a[e]=u[e],delete u[e])});this.text.css(a);"fontSize"in a|| +"fontWeight"in a?this.updateTextPadding():("width"in a||"textOverflow"in a)&&this.updateBoxSize()}return a.prototype.css.call(this,u)}destroy(){A(this.element,"mouseenter");A(this.element,"mouseleave");this.text&&this.text.destroy();this.box&&(this.box=this.box.destroy());a.prototype.destroy.call(this)}fillSetter(a,e){a&&(this.needsBox=!0);this.fill=a;this.boxAttr(e,a)}getBBox(){this.textStr&&0===this.bBox.width&&0===this.bBox.height&&this.updateBoxSize();const a=this.padding,e=D(this.paddingLeft, +a);return{width:this.width,height:this.height,x:this.bBox.x-e,y:this.bBox.y-a}}getCrispAdjust(){return this.renderer.styledMode&&this.box?this.box.strokeWidth()%2/2:(this["stroke-width"]?parseInt(this["stroke-width"],10):0)%2/2}heightSetter(a){this.heightSetting=a}onAdd(){this.text.add(this);this.attr({text:D(this.textStr,""),x:this.x||0,y:this.y||0});this.box&&x(this.anchorX)&&this.attr({anchorX:this.anchorX,anchorY:this.anchorY})}paddingSetter(a,e){B(a)?a!==this[e]&&(this[e]=a,this.updateTextPadding()): +this[e]=void 0}rSetter(a,e){this.boxAttr(e,a)}strokeSetter(a,e){this.stroke=a;this.boxAttr(e,a)}["stroke-widthSetter"](a,e){a&&(this.needsBox=!0);this["stroke-width"]=a;this.boxAttr(e,a)}["text-alignSetter"](a){this.textAlign=a}textSetter(a){"undefined"!==typeof a&&this.text.attr({text:a});this.updateTextPadding()}updateBoxSize(){var a=this.text;const e={},m=this.padding,w=this.bBox=B(this.widthSetting)&&B(this.heightSetting)&&!this.textAlign||!x(a.textStr)?v.emptyBBox:a.getBBox();this.width=this.getPaddedWidth(); +this.height=(this.heightSetting||w.height||0)+2*m;const k=this.renderer.fontMetrics(a);this.baselineOffset=m+Math.min((this.text.firstLineMetrics||k).b,w.height||Infinity);this.heightSetting&&(this.baselineOffset+=(this.heightSetting-k.h)/2);this.needsBox&&!a.textPath&&(this.box||(a=this.box=this.symbolKey?this.renderer.symbol(this.symbolKey):this.renderer.rect(),a.addClass(("button"===this.className?"":"highcharts-label-box")+(this.className?" highcharts-"+this.className+"-box":"")),a.add(this)), +a=this.getCrispAdjust(),e.x=a,e.y=(this.baseline?-this.baselineOffset:0)+a,e.width=Math.round(this.width),e.height=Math.round(this.height),this.box.attr(J(e,this.deferredAttr)),this.deferredAttr={})}updateTextPadding(){const a=this.text;if(!a.textPath){this.updateBoxSize();const e=this.baseline?0:this.baselineOffset;let m=D(this.paddingLeft,this.padding);x(this.widthSetting)&&this.bBox&&("center"===this.textAlign||"right"===this.textAlign)&&(m+={center:.5,right:1}[this.textAlign]*(this.widthSetting- +this.bBox.width));if(m!==a.x||e!==a.y)a.attr("x",m),a.hasBoxWidthChanged&&(this.bBox=a.getBBox(!0)),"undefined"!==typeof e&&a.attr("y",e);a.x=m;a.y=e}}widthSetter(a){this.widthSetting=B(a)?a:void 0}getPaddedWidth(){var a=this.padding;const e=D(this.paddingLeft,a);a=D(this.paddingRight,a);return(this.widthSetting||this.bBox.width||0)+e+a}xSetter(a){this.x=a;this.alignFactor&&(a-=this.alignFactor*this.getPaddedWidth(),this["forceAnimate:x"]=!0);this.xSetting=Math.round(a);this.attr("translateX",this.xSetting)}ySetter(a){this.ySetting= +this.y=Math.round(a);this.attr("translateY",this.ySetting)}}v.emptyBBox={width:0,height:0,x:0,y:0};v.textProps="color direction fontFamily fontSize fontStyle fontWeight lineHeight textAlign textDecoration textOutline textOverflow whiteSpace width".split(" ");return v});L(a,"Core/Renderer/SVG/Symbols.js",[a["Core/Utilities.js"]],function(a){function x(a,v,u,e,m){const w=[];if(m){const k=m.start||0,t=D(m.r,u);u=D(m.r,e||u);e=(m.end||0)-.001;const n=m.innerR,f=D(m.open,.001>Math.abs((m.end||0)-k-2*Math.PI)), +q=Math.cos(k),K=Math.sin(k),F=Math.cos(e),d=Math.sin(e),h=D(m.longArc,.001>e-k-Math.PI?0:1);let p=["A",t,u,0,h,D(m.clockwise,1),a+t*F,v+u*d];p.params={start:k,end:e,cx:a,cy:v};w.push(["M",a+t*q,v+u*K],p);B(n)&&(p=["A",n,n,0,h,B(m.clockwise)?1-m.clockwise:0,a+n*q,v+n*K],p.params={start:e,end:k,cx:a,cy:v},w.push(f?["M",a+n*F,v+n*d]:["L",a+n*F,v+n*d],p));f||w.push(["Z"])}return w}function G(a,v,u,e,m){return m&&m.r?J(a,v,u,e,m):[["M",a,v],["L",a+u,v],["L",a+u,v+e],["L",a,v+e],["Z"]]}function J(a,v,u, +e,m){m=(null===m||void 0===m?void 0:m.r)||0;return[["M",a+m,v],["L",a+u-m,v],["A",m,m,0,0,1,a+u,v+m],["L",a+u,v+e-m],["A",m,m,0,0,1,a+u-m,v+e],["L",a+m,v+e],["A",m,m,0,0,1,a,v+e-m],["L",a,v+m],["A",m,m,0,0,1,a+m,v],["Z"]]}const {defined:B,isNumber:E,pick:D}=a;return{arc:x,callout:function(a,v,u,e,m){const w=Math.min(m&&m.r||0,u,e),k=w+6,t=m&&m.anchorX;m=m&&m.anchorY||0;const n=J(a,v,u,e,{r:w});if(!E(t))return n;a+t>=u?m>v+k&&m=a+t?m>v+k&&me&&t>a+k&&tm&&t>a+k&&t/g;var d=[f,this.ellipsis,this.noWrap,this.textLineHeight, +this.textOutline,e.getStyle("font-size"),this.width].join();if(d!==e.textCache){e.textCache=d;delete e.actualWidth;for(d=w.length;d--;)t.removeChild(w[d]);q||this.ellipsis||this.width||e.textPath||-1!==f.indexOf(" ")&&(!this.noWrap||F.test(f))?""!==f&&(n&&n.appendChild(t),f=new a(f),this.modifyTree(f.nodes),f.addToDOM(t),this.modifyDOM(),this.ellipsis&&-1!==(t.textContent||"").indexOf("\u2026")&&e.attr("title",this.unescapeEntities(e.textStr||"",["<",">"])),n&&n.removeChild(t)):t.appendChild(x.createTextNode(this.unescapeEntities(f))); +u(this.textOutline)&&e.applyTextOutline&&e.applyTextOutline(this.textOutline)}}modifyDOM(){const a=this.svgElement,e=D(a.element,"x");a.firstLineMetrics=void 0;let n;for(;n=a.element.firstChild;)if(/^[\s\u200B]*$/.test(n.textContent||" "))a.element.removeChild(n);else break;[].forEach.call(a.element.querySelectorAll("tspan.highcharts-br"),(f,d)=>{f.nextSibling&&f.previousSibling&&(0===d&&1===f.previousSibling.nodeType&&(a.firstLineMetrics=a.renderer.fontMetrics(f.previousSibling)),D(f,{dy:this.getLineHeight(f.nextSibling), +x:e}))});const f=this.width||0;if(f){var q=(n,d)=>{var h=n.textContent||"";const p=h.replace(/([^\^])-/g,"$1- ").split(" ");var r=!this.noWrap&&(1b.substring(0,g)+"\u2026");else if(r){h=[];for(r=[];d.firstChild&&d.firstChild!==n;)r.push(d.firstChild),d.removeChild(d.firstChild);for(;p.length;)p.length&&!this.noWrap&&0p.slice(0,g).join(" ").replace(/- /g,"-")),g=a.actualWidth,b++;r.forEach(b=>{d.insertBefore(b,n)});h.forEach(b=>{d.insertBefore(x.createTextNode(b),n);b=x.createElementNS(B,"tspan");b.textContent="\u200b";D(b,{dy:q,x:e});d.insertBefore(b,n)})}},m=f=>{[].slice.call(f.childNodes).forEach(d=>{d.nodeType===E.Node.TEXT_NODE?q(d,f):(-1!==d.className.baseVal.indexOf("highcharts-br")&&(a.actualWidth=0),m(d))})}; +m(a.element)}}getLineHeight(a){a=a.nodeType===E.Node.TEXT_NODE?a.parentElement:a;return this.textLineHeight?parseInt(this.textLineHeight.toString(),10):this.renderer.fontMetrics(a||this.svgElement.element).h}modifyTree(a){const e=(n,f)=>{const {attributes:q={},children:k,style:m={},tagName:d}=n,h=this.renderer.styledMode;if("b"===d||"strong"===d)h?q["class"]="highcharts-strong":m.fontWeight="bold";else if("i"===d||"em"===d)h?q["class"]="highcharts-emphasized":m.fontStyle="italic";m&&m.color&&(m.fill= +m.color);"br"===d?(q["class"]="highcharts-br",n.textContent="\u200b",(f=a[f+1])&&f.textContent&&(f.textContent=f.textContent.replace(/^ +/gm,""))):"a"===d&&k&&k.some(d=>"#text"===d.tagName)&&(n.children=[{children:k,tagName:"tspan"}]);"#text"!==d&&"a"!==d&&(n.tagName="tspan");A(n,{attributes:q,style:m});k&&k.filter(d=>"#text"!==d.tagName).forEach(e)};a.forEach(e);v(this.svgElement,"afterModifyTree",{nodes:a})}truncate(a,e,n,f,q,m){const k=this.svgElement,{rotation:d}=k,h=[];let p=n?1:0,r=(e||n||"").length, +y=r,b,g;const c=function(b,c){b=c||b;if((c=a.parentNode)&&"undefined"===typeof h[b]&&c.getSubStringLength)try{h[b]=f+c.getSubStringLength(0,n?b+1:b)}catch(O){""}return h[b]};k.rotation=0;g=c(a.textContent.length);if(f+g>q){for(;p<=r;)y=Math.ceil((p+r)/2),n&&(b=m(n,y)),g=c(y,b&&b.length-1),p===r?p=r+1:g>q?r=y-1:p=y;0===r?a.textContent="":e&&r===e.length-1||(a.textContent=b||m(e||n,y))}n&&n.splice(0,y);k.actualWidth=g;k.rotation=d}unescapeEntities(a,m){e(this.renderer.escapes,function(e,f){m&&-1!== +m.indexOf(e)||(a=a.toString().replace(new RegExp(e,"g"),f))});return a}}return w});L(a,"Core/Renderer/SVG/SVGRenderer.js",[a["Core/Renderer/HTML/AST.js"],a["Core/Color/Color.js"],a["Core/Globals.js"],a["Core/Renderer/RendererRegistry.js"],a["Core/Renderer/SVG/SVGElement.js"],a["Core/Renderer/SVG/SVGLabel.js"],a["Core/Renderer/SVG/Symbols.js"],a["Core/Renderer/SVG/TextBuilder.js"],a["Core/Utilities.js"]],function(a,z,G,J,B,E,D,A,v){const {charts:u,deg2rad:e,doc:m,isFirefox:w,isMS:k,isWebKit:t,noop:n, +SVG_NS:f,symbolSizes:q,win:K}=G,{addEvent:F,attr:d,createElement:h,css:p,defined:r,destroyObjectProperties:y,extend:b,isArray:g,isNumber:c,isObject:l,isString:N,merge:O,pick:M,pInt:x,uniqueKey:U}=v;let V;class H{constructor(b,c,g,l,d,a,h){this.width=this.url=this.style=this.imgCount=this.height=this.gradients=this.globalAnimation=this.defs=this.chartIndex=this.cacheKeys=this.cache=this.boxWrapper=this.box=this.alignedObjects=void 0;this.init(b,c,g,l,d,a,h)}init(b,c,g,l,a,h,r){const C=this.createElement("svg").attr({version:"1.1", +"class":"highcharts-root"}),H=C.element;r||C.css(this.getStyle(l));b.appendChild(H);d(b,"dir","ltr");-1===b.innerHTML.indexOf("xmlns")&&d(H,"xmlns",this.SVG_NS);this.box=H;this.boxWrapper=C;this.alignedObjects=[];this.url=this.getReferenceURL();this.createElement("desc").add().element.appendChild(m.createTextNode("Created with Highcharts 11.0.1"));this.defs=this.createElement("defs").add();this.allowHTML=h;this.forExport=a;this.styledMode=r;this.gradients={};this.cache={};this.cacheKeys=[];this.imgCount= +0;this.rootFontSize=C.getStyle("font-size");this.setSize(c,g,!1);let f;w&&b.getBoundingClientRect&&(c=function(){p(b,{left:0,top:0});f=b.getBoundingClientRect();p(b,{left:Math.ceil(f.left)-f.left+"px",top:Math.ceil(f.top)-f.top+"px"})},c(),this.unSubPixelFix=F(K,"resize",c))}definition(b){return(new a([b])).addToDOM(this.defs.element)}getReferenceURL(){if((w||t)&&m.getElementsByTagName("base").length){if(!r(V)){var b=U();b=(new a([{tagName:"svg",attributes:{width:8,height:8},children:[{tagName:"defs", +children:[{tagName:"clipPath",attributes:{id:b},children:[{tagName:"rect",attributes:{width:4,height:4}}]}]},{tagName:"rect",attributes:{id:"hitme",width:8,height:8,"clip-path":`url(#${b})`,fill:"rgba(0,0,0,0.001)"}}]}])).addToDOM(m.body);p(b,{position:"fixed",top:0,left:0,zIndex:9E5});const c=m.elementFromPoint(6,6);V="hitme"===(c&&c.id);m.body.removeChild(b)}if(V)return K.location.href.split("#")[0].replace(/<[^>]*>/g,"").replace(/([\('\)])/g,"\\$1").replace(/ /g,"%20")}return""}getStyle(c){return this.style= +b({fontFamily:"Helvetica, Arial, sans-serif",fontSize:"1rem"},c)}setStyle(b){this.boxWrapper.css(this.getStyle(b))}isHidden(){return!this.boxWrapper.getBBox().width}destroy(){const b=this.defs;this.box=null;this.boxWrapper=this.boxWrapper.destroy();y(this.gradients||{});this.gradients=null;this.defs=b.destroy();this.unSubPixelFix&&this.unSubPixelFix();return this.alignedObjects=null}createElement(b){const c=new this.Element;c.init(this,b);return c}getRadialAttr(b,c){return{cx:b[0]-b[2]/2+(c.cx||0)* +b[2],cy:b[1]-b[2]/2+(c.cy||0)*b[2],r:(c.r||0)*b[2]}}shadowDefinition(b){const c=[`highcharts-drop-shadow-${this.chartIndex}`,...Object.keys(b).map(c=>b[c])].join("-").replace(/[^a-z0-9\-]/g,""),g=O({color:"#000000",offsetX:1,offsetY:1,opacity:.15,width:5},b);this.defs.element.querySelector(`#${c}`)||this.definition({tagName:"filter",attributes:{id:c},children:[{tagName:"feDropShadow",attributes:{dx:g.offsetX,dy:g.offsetY,"flood-color":g.color,"flood-opacity":Math.min(5*g.opacity,1),stdDeviation:g.width/ +2}}]});return c}buildText(b){(new A(b)).buildSVG()}getContrast(b){b=z.parse(b).rgba.map(b=>{b/=255;return.03928>=b?b/12.92:Math.pow((b+.055)/1.055,2.4)});b=.2126*b[0]+.7152*b[1]+.0722*b[2];return 1.05/(b+.05)>(b+.05)/.05?"#FFFFFF":"#000000"}button(c,g,d,h,C={},r,H,f,p,e){const I=this.label(c,g,d,p,void 0,void 0,e,void 0,"button"),n=this.styledMode;c=C.states||{};let q=0;C=O(C);delete C.states;const Q=O({color:"#333333",cursor:"pointer",fontSize:"0.8em",fontWeight:"normal"},C.style);delete C.style; +let P=a.filterUserAttributes(C);I.attr(O({padding:8,r:2},P));let y,m,t;n||(P=O({fill:"#f7f7f7",stroke:"#cccccc","stroke-width":1},P),r=O(P,{fill:"#e6e6e6"},a.filterUserAttributes(r||c.hover||{})),y=r.style,delete r.style,H=O(P,{fill:"#e6e9ff",style:{color:"#000000",fontWeight:"bold"}},a.filterUserAttributes(H||c.select||{})),m=H.style,delete H.style,f=O(P,{style:{color:"#cccccc"}},a.filterUserAttributes(f||c.disabled||{})),t=f.style,delete f.style);F(I.element,k?"mouseover":"mouseenter",function(){3!== +q&&I.setState(1)});F(I.element,k?"mouseout":"mouseleave",function(){3!==q&&I.setState(q)});I.setState=function(b){1!==b&&(I.state=q=b);I.removeClass(/highcharts-button-(normal|hover|pressed|disabled)/).addClass("highcharts-button-"+["normal","hover","pressed","disabled"][b||0]);n||(I.attr([P,r,H,f][b||0]),b=[Q,y,m,t][b||0],l(b)&&I.css(b))};n||(I.attr(P).css(b({cursor:"default"},Q)),e&&I.text.css({pointerEvents:"none"}));return I.on("touchstart",b=>b.stopPropagation()).on("click",function(b){3!==q&& +h.call(I,b)})}crispLine(b,c,g="round"){const l=b[0],d=b[1];r(l[1])&&l[1]===d[1]&&(l[1]=d[1]=Math[g](l[1])-c%2/2);r(l[2])&&l[2]===d[2]&&(l[2]=d[2]=Math[g](l[2])+c%2/2);return b}path(c){const d=this.styledMode?{}:{fill:"none"};g(c)?d.d=c:l(c)&&b(d,c);return this.createElement("path").attr(d)}circle(b,c,g){b=l(b)?b:"undefined"===typeof b?{}:{x:b,y:c,r:g};c=this.createElement("circle");c.xSetter=c.ySetter=function(b,c,g){g.setAttribute("c"+c,b)};return c.attr(b)}arc(b,c,g,d,a,h){l(b)?(d=b,c=d.y,g=d.r, +b=d.x):d={innerR:d,start:a,end:h};b=this.symbol("arc",b,c,g,g,d);b.r=g;return b}rect(c,g,a,h,C,r){c=l(c)?c:"undefined"===typeof c?{}:{x:c,y:g,r:C,width:Math.max(a||0,0),height:Math.max(h||0,0)};const H=this.createElement("rect");this.styledMode||("undefined"!==typeof r&&(c["stroke-width"]=r,b(c,H.crisp(c))),c.fill="none");H.rSetter=function(b,c,g){H.r=b;d(g,{rx:b,ry:b})};H.rGetter=function(){return H.r||0};return H.attr(c)}roundedRect(b){return this.symbol("roundedRect").attr(b)}setSize(b,c,g){this.width= +b;this.height=c;this.boxWrapper.animate({width:b,height:c},{step:function(){this.attr({viewBox:"0 0 "+this.attr("width")+" "+this.attr("height")})},duration:M(g,!0)?void 0:0});this.alignElements()}g(b){const c=this.createElement("g");return b?c.attr({"class":"highcharts-"+b}):c}image(b,g,d,l,a,h){const C={preserveAspectRatio:"none"},r=function(b,c){b.setAttributeNS?b.setAttributeNS("http://www.w3.org/1999/xlink","href",c):b.setAttribute("hc-svg-href",c)};c(g)&&(C.x=g);c(d)&&(C.y=d);c(l)&&(C.width= +l);c(a)&&(C.height=a);const H=this.createElement("image").attr(C);g=function(c){r(H.element,b);h.call(H,c)};h?(r(H.element,"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="),d=new K.Image,F(d,"load",g),d.src=b,d.complete&&g({})):r(H.element,b);return H}symbol(c,g,l,a,C,H){const f=this,e=/^url\((.*?)\)$/,n=e.test(c),k=!n&&(this.symbols[c]?c:"circle"),y=k&&this.symbols[k];let Q,t,P,N;if(y)"number"===typeof g&&(t=y.call(this.symbols,Math.round(g||0),Math.round(l||0),a||0,C|| +0,H)),Q=this.path(t),f.styledMode||Q.attr("fill","none"),b(Q,{symbolName:k||void 0,x:g,y:l,width:a,height:C}),H&&b(Q,H);else if(n){P=c.match(e)[1];const b=Q=this.image(P);b.imgwidth=M(H&&H.width,q[P]&&q[P].width);b.imgheight=M(H&&H.height,q[P]&&q[P].height);N=b=>b.attr({width:b.width,height:b.height});["width","height"].forEach(function(c){b[c+"Setter"]=function(b,c){this[c]=b;const {alignByTranslate:g,element:l,width:a,height:h,imgwidth:C,imgheight:f}=this;b=this["img"+c];if(r(b)){let r=1;H&&"within"=== +H.backgroundSize&&a&&h?(r=Math.min(a/C,h/f),d(l,{width:Math.round(C*r),height:Math.round(f*r)})):l&&l.setAttribute(c,b);g||this.translate(((a||0)-C*r)/2,((h||0)-f*r)/2)}}});r(g)&&b.attr({x:g,y:l});b.isImg=!0;r(b.imgwidth)&&r(b.imgheight)?N(b):(b.attr({width:0,height:0}),h("img",{onload:function(){const c=u[f.chartIndex];0===this.width&&(p(this,{position:"absolute",top:"-999em"}),m.body.appendChild(this));q[P]={width:this.width,height:this.height};b.imgwidth=this.width;b.imgheight=this.height;b.element&& +N(b);this.parentNode&&this.parentNode.removeChild(this);f.imgCount--;if(!f.imgCount&&c&&!c.hasLoaded)c.onload()},src:P}),this.imgCount++)}return Q}clipRect(b,c,g,l){const d=U()+"-",a=this.createElement("clipPath").attr({id:d}).add(this.defs);b=this.rect(b,c,g,l,0).add(a);b.id=d;b.clipPath=a;b.count=0;return b}text(b,c,g,l){const d={};if(l&&(this.allowHTML||!this.forExport))return this.html(b,c,g);d.x=Math.round(c||0);g&&(d.y=Math.round(g));r(b)&&(d.text=b);b=this.createElement("text").attr(d);if(!l|| +this.forExport&&!this.allowHTML)b.xSetter=function(b,c,g){const l=g.getElementsByTagName("tspan"),d=g.getAttribute(c);for(let g=0,a;gb?b+3:Math.round(1.2*b);return{h:c,b:Math.round(.8*c),f:b}}rotCorr(b,c,g){let l=b;c&&g&&(l=Math.max(l*Math.cos(c*e),4));return{x:-b/3*Math.sin(c*e),y:l}}pathToSegments(b){const g=[],l=[],d={A:8,C:7,H:2, +L:3,M:3,Q:5,S:5,T:3,V:2};for(let a=0;ab.align())}}b(H.prototype,{Element:B,SVG_NS:f,escapes:{"&":"&","<":"<",">":">","'":"'",'"':"""},symbols:D,draw:n}); +J.registerRendererType("svg",H,!0);"";return H});L(a,"Core/Renderer/HTML/HTMLElement.js",[a["Core/Globals.js"],a["Core/Renderer/SVG/SVGElement.js"],a["Core/Utilities.js"]],function(a,z,G){const {isFirefox:x,isMS:B,isWebKit:E,win:D}=a,{css:A,defined:v,extend:u,pick:e,pInt:m}=G,w=[];class k extends z{static compose(a){if(G.pushUnique(w,a)){const e=k.prototype,f=a.prototype;f.getSpanCorrection=e.getSpanCorrection;f.htmlCss=e.htmlCss;f.htmlGetBBox=e.htmlGetBBox;f.htmlUpdateTransform=e.htmlUpdateTransform; +f.setSpanRotation=e.setSpanRotation}return a}getSpanCorrection(a,e,f){this.xCorr=-a*f;this.yCorr=-e}htmlCss(a){const n="SPAN"===this.element.tagName&&a&&"width"in a,f=e(n&&a.width,void 0);let q;n&&(delete a.width,this.textWidth=f,q=!0);a&&"ellipsis"===a.textOverflow&&(a.whiteSpace="nowrap",a.overflow="hidden");this.styles=u(this.styles,a);A(this.element,a);q&&this.htmlUpdateTransform();return this}htmlGetBBox(){const a=this.element;return{x:a.offsetLeft,y:a.offsetTop,width:a.offsetWidth,height:a.offsetHeight}}htmlUpdateTransform(){if(this.added){var a= +this.renderer,e=this.element,f=this.x||0,q=this.y||0,k=this.textAlign||"left",w={left:0,center:.5,right:1}[k],d=this.styles,h=d&&d.whiteSpace;A(e,{marginLeft:this.translateX||0,marginTop:this.translateY||0});if("SPAN"===e.tagName){d=this.rotation;const r=this.textWidth&&m(this.textWidth),n=[d,k,e.innerHTML,this.textWidth,this.textAlign].join();let b=!1;if(r!==this.oldTextWidth){if(this.textPxLength)var p=this.textPxLength;else A(e,{width:"",whiteSpace:h||"nowrap"}),p=e.offsetWidth;(r>this.oldTextWidth|| +p>r)&&(/[ \-]/.test(e.textContent||e.innerText)||"ellipsis"===e.style.textOverflow)&&(A(e,{width:p>r||d?r+"px":"auto",display:"block",whiteSpace:h||"normal"}),this.oldTextWidth=r,b=!0)}this.hasBoxWidthChanged=b;n!==this.cTT&&(a=a.fontMetrics(e).b,!v(d)||d===(this.oldRotation||0)&&k===this.oldAlign||this.setSpanRotation(d,w,a),this.getSpanCorrection(!v(d)&&this.textPxLength||e.offsetWidth,a,w,d,k));A(e,{left:f+(this.xCorr||0)+"px",top:q+(this.yCorr||0)+"px"});this.cTT=n;this.oldRotation=d;this.oldAlign= +k}}else this.alignOnAdd=!0}setSpanRotation(a,e,f){const q={},k=B&&!/Edge/.test(D.navigator.userAgent)?"-ms-transform":E?"-webkit-transform":x?"MozTransform":D.opera?"-o-transform":void 0;k&&(q[k]=q.transform="rotate("+a+"deg)",q[k+(x?"Origin":"-origin")]=q.transformOrigin=100*e+"% "+f+"px",A(this.element,q))}}return k});L(a,"Core/Renderer/HTML/HTMLRenderer.js",[a["Core/Renderer/HTML/AST.js"],a["Core/Renderer/SVG/SVGElement.js"],a["Core/Renderer/SVG/SVGRenderer.js"],a["Core/Utilities.js"]],function(a, +z,G,J){const {attr:x,createElement:E,extend:D,pick:A}=J,v=[];class u extends G{static compose(a){J.pushUnique(v,a)&&(a.prototype.html=u.prototype.html);return a}html(e,m,w){const k=this.createElement("span"),t=k.element,n=k.renderer,f=function(a,f){["opacity","visibility"].forEach(function(e){a[e+"Setter"]=function(d,h,p){const r=a.div?a.div.style:f;z.prototype[e+"Setter"].call(this,d,h,p);r&&(r[h]=d)}});a.addedSetters=!0};k.textSetter=function(f){f!==this.textStr&&(delete this.bBox,delete this.oldTextWidth, +a.setElementHTML(this.element,A(f,"")),this.textStr=f,k.doTransform=!0)};f(k,k.element.style);k.xSetter=k.ySetter=k.alignSetter=k.rotationSetter=function(a,f){"align"===f?k.alignValue=k.textAlign=a:k[f]=a;k.doTransform=!0};k.afterSetters=function(){this.doTransform&&(this.htmlUpdateTransform(),this.doTransform=!1)};k.attr({text:e,x:Math.round(m),y:Math.round(w)}).css({position:"absolute"});n.styledMode||k.css({fontFamily:this.style.fontFamily,fontSize:this.style.fontSize});t.style.whiteSpace="nowrap"; +k.css=k.htmlCss;k.add=function(a){const e=n.box.parentNode,q=[];let d;if(this.parentGroup=a){if(d=a.div,!d){for(;a;)q.push(a),a=a.parentGroup;q.reverse().forEach(function(a){function h(g,c){a[c]=g;"translateX"===c?b.left=g+"px":b.top=g+"px";a.doTransform=!0}const r=x(a.element,"class"),n=a.styles||{};d=a.div=a.div||E("div",r?{className:r}:void 0,{position:"absolute",left:(a.translateX||0)+"px",top:(a.translateY||0)+"px",display:a.display,opacity:a.opacity,visibility:a.visibility},d||e);const b=d.style; +D(a,{classSetter:function(b){return function(c){this.element.setAttribute("class",c);b.className=c}}(d),css:function(g){k.css.call(a,g);["cursor","pointerEvents"].forEach(c=>{g[c]&&(b[c]=g[c])});return a},on:function(){q[0].div&&k.on.apply({element:q[0].div,onEvents:a.onEvents},arguments);return a},translateXSetter:h,translateYSetter:h});a.addedSetters||f(a);a.css(n)})}}else d=e;d.appendChild(t);k.added=!0;k.alignOnAdd&&k.htmlUpdateTransform();return k};return k}}return u});L(a,"Core/Axis/AxisDefaults.js", +[],function(){var a;(function(a){a.defaultXAxisOptions={alignTicks:!0,allowDecimals:void 0,panningEnabled:!0,zIndex:2,zoomEnabled:!0,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,gridLineDashStyle:"Solid",gridZIndex:1,labels:{autoRotation:void 0,autoRotationLimit:80,distance:15,enabled:!0,indentation:10, +overflow:"justify",padding:5,reserveSpace:void 0,rotation:void 0,staggerLines:0,step:0,useHTML:!1,zIndex:7,style:{color:"#333333",cursor:"default",fontSize:"0.8em"}},maxPadding:.01,minorGridLineDashStyle:"Solid",minorTickLength:2,minorTickPosition:"outside",minorTicksPerMajor:5,minPadding:.01,offset:void 0,opposite:!1,reversed:void 0,reversedStacks:!1,showEmpty:!0,showFirstLabel:!0,showLastLabel:!0,startOfWeek:1,startOnTick:!1,tickLength:10,tickPixelInterval:100,tickmarkPlacement:"between",tickPosition:"outside", +title:{align:"middle",rotation:0,useHTML:!1,x:0,y:0,style:{color:"#666666",fontSize:"0.8em"}},type:"linear",uniqueNames:!0,visible:!0,minorGridLineColor:"#f2f2f2",minorGridLineWidth:1,minorTickColor:"#999999",lineColor:"#333333",lineWidth:1,gridLineColor:"#e6e6e6",gridLineWidth:void 0,tickColor:"#333333"};a.defaultYAxisOptions={reversedStacks:!0,endOnTick:!0,maxPadding:.05,minPadding:.05,tickPixelInterval:72,showLastLabel:!0,labels:{x:void 0},startOnTick:!0,title:{rotation:270,text:"Values"},stackLabels:{animation:{}, +allowOverlap:!1,enabled:!1,crop:!0,overflow:"justify",formatter:function(){const {numberFormatter:a}=this.axis.chart;return a(this.total||0,-1)},style:{color:"#000000",fontSize:"0.7em",fontWeight:"bold",textOutline:"1px contrast"}},gridLineWidth:1,lineWidth:0};a.defaultLeftAxisOptions={title:{rotation:270}};a.defaultRightAxisOptions={title:{rotation:90}};a.defaultBottomAxisOptions={labels:{autoRotation:[-45]},margin:15,title:{rotation:0}};a.defaultTopAxisOptions={labels:{autoRotation:[-45]},margin:15, +title:{rotation:0}}})(a||(a={}));return a});L(a,"Core/Foundation.js",[a["Core/Utilities.js"]],function(a){const {addEvent:x,isFunction:G,objectEach:J,removeEvent:B}=a;var E;(function(a){a.registerEventOptions=function(a,v){a.eventOptions=a.eventOptions||{};J(v.events,function(u,e){a.eventOptions[e]!==u&&(a.eventOptions[e]&&(B(a,e,a.eventOptions[e]),delete a.eventOptions[e]),G(u)&&(a.eventOptions[e]=u,x(a,e,u,{order:0})))})}})(E||(E={}));return E});L(a,"Core/Axis/Tick.js",[a["Core/FormatUtilities.js"], +a["Core/Globals.js"],a["Core/Utilities.js"]],function(a,z,G){const {deg2rad:x}=z,{clamp:B,correctFloat:E,defined:D,destroyObjectProperties:A,extend:v,fireEvent:u,isNumber:e,merge:m,objectEach:w,pick:k}=G;class t{constructor(a,f,e,k,m){this.isNewLabel=this.isNew=!0;this.axis=a;this.pos=f;this.type=e||"";this.parameters=m||{};this.tickmarkOffset=this.parameters.tickmarkOffset;this.options=this.parameters.options;u(this,"init");e||k||this.addLabel()}addLabel(){const n=this,f=n.axis;var q=f.options;const m= +f.chart;var t=f.categories;const d=f.logarithmic,h=f.names,p=n.pos,r=k(n.options&&n.options.labels,q.labels);var y=f.tickPositions;const b=p===y[0],g=p===y[y.length-1],c=(!r.step||1===r.step)&&1===f.tickInterval;y=y.info;let l=n.label,N,w,M;t=this.parameters.category||(t?k(t[p],h[p],p):p);d&&e(t)&&(t=E(d.lin2log(t)));f.dateTime&&(y?(w=m.time.resolveDTLFormat(q.dateTimeLabelFormats[!q.grid&&y.higherRanks[p]||y.unitName]),N=w.main):e(t)&&(N=f.dateTime.getXDateFormat(t,q.dateTimeLabelFormats||{}))); +n.isFirst=b;n.isLast=g;const x={axis:f,chart:m,dateTimeLabelFormat:N,isFirst:b,isLast:g,pos:p,tick:n,tickPositionInfo:y,value:t};u(this,"labelFormat",x);const A=b=>r.formatter?r.formatter.call(b,b):r.format?(b.text=f.defaultLabelFormatter.call(b,b),a.format(r.format,b,m)):f.defaultLabelFormatter.call(b,b);q=A.call(x,x);const z=w&&w.list;n.shortenLabel=z?function(){for(M=0;Mr&&m-y*bd&&(w=Math.round((n-m)/Math.cos(r*x)));else if(n=m+(1-y)*b,m-y*bd&&(l=d-a.x+l*y,t=-1),l=Math.min(g,l),ll||e.autoRotation&&(p.styles||{}).width)w=l;w&&(this.shortenLabel?this.shortenLabel():(c.width=Math.floor(w)+"px",(q.style||{}).textOverflow||(c.textOverflow="ellipsis"),p.css(c)))}moveLabel(a, +e){const f=this;var k=f.label;const m=f.axis;let d=!1;k&&k.textStr===a?(f.movedLabel=k,d=!0,delete f.label):w(m.ticks,function(h){d||h.isNew||h===f||!h.label||h.label.textStr!==a||(f.movedLabel=h.label,d=!0,h.labelPos=f.movedLabel.xy,delete h.label)});d||!f.labelPos&&!k||(k=f.labelPos||k.xy,f.movedLabel=f.createLabel(k,a,e),f.movedLabel&&f.movedLabel.attr({opacity:0}))}render(a,e,m){var f=this.axis,n=f.horiz,d=this.pos,h=k(this.tickmarkOffset,f.tickmarkOffset);d=this.getPosition(n,d,h,e);h=d.x;const p= +d.y;f=n&&h===f.pos+f.len||!n&&p===f.pos?-1:1;n=k(m,this.label&&this.label.newOpacity,1);m=k(m,1);this.isActive=!0;this.renderGridLine(e,m,f);this.renderMark(d,m,f);this.renderLabel(d,e,n,a);this.isNew=!1;u(this,"afterRender")}renderGridLine(a,e,m){const f=this.axis,n=f.options,d={},h=this.pos,p=this.type,r=k(this.tickmarkOffset,f.tickmarkOffset),y=f.chart.renderer;let b=this.gridLine,g=n.gridLineWidth,c=n.gridLineColor,l=n.gridLineDashStyle;"minor"===this.type&&(g=n.minorGridLineWidth,c=n.minorGridLineColor, +l=n.minorGridLineDashStyle);b||(f.chart.styledMode||(d.stroke=c,d["stroke-width"]=g||0,d.dashstyle=l),p||(d.zIndex=1),a&&(e=0),this.gridLine=b=y.path().attr(d).addClass("highcharts-"+(p?p+"-":"")+"grid-line").add(f.gridGroup));if(b&&(m=f.getPlotLinePath({value:h+r,lineWidth:b.strokeWidth()*m,force:"pass",old:a,acrossPanes:!1})))b[a||this.isNew?"attr":"animate"]({d:m,opacity:e})}renderMark(a,e,m){const f=this.axis;var n=f.options;const d=f.chart.renderer,h=this.type,p=f.tickSize(h?h+"Tick":"tick"), +r=a.x;a=a.y;const y=k(n["minor"!==h?"tickWidth":"minorTickWidth"],!h&&f.isXAxis?1:0);n=n["minor"!==h?"tickColor":"minorTickColor"];let b=this.mark;const g=!b;p&&(f.opposite&&(p[0]=-p[0]),b||(this.mark=b=d.path().addClass("highcharts-"+(h?h+"-":"")+"tick").add(f.axisGroup),f.chart.styledMode||b.attr({stroke:n,"stroke-width":y})),b[g?"attr":"animate"]({d:this.getMarkPath(r,a,p[0],b.strokeWidth()*m,f.horiz,d),opacity:e}))}renderLabel(a,f,m,t){var n=this.axis;const d=n.horiz,h=n.options,p=this.label, +r=h.labels,y=r.step;n=k(this.tickmarkOffset,n.tickmarkOffset);const b=a.x;a=a.y;let g=!0;p&&e(b)&&(p.xy=a=this.getLabelPosition(b,a,p,d,r,n,t,y),this.isFirst&&!this.isLast&&!h.showFirstLabel||this.isLast&&!this.isFirst&&!h.showLastLabel?g=!1:!d||r.step||r.rotation||f||0===m||this.handleOverflow(a),y&&t%y&&(g=!1),g&&e(a.y)?(a.opacity=m,p[this.isNewLabel?"attr":"animate"](a).show(!0),this.isNewLabel=!1):(p.hide(),this.isNewLabel=!0))}replaceMovedLabel(){const a=this.label,e=this.axis;a&&!this.isNew&& +(a.animate({opacity:0},void 0,a.destroy),delete this.label);e.isDirty=!0;this.label=this.movedLabel;delete this.movedLabel}}"";return t});L(a,"Core/Axis/Axis.js",[a["Core/Animation/AnimationUtilities.js"],a["Core/Axis/AxisDefaults.js"],a["Core/Color/Color.js"],a["Core/Defaults.js"],a["Core/Foundation.js"],a["Core/Globals.js"],a["Core/Axis/Tick.js"],a["Core/Utilities.js"]],function(a,z,G,J,B,E,D,A){const {animObject:v}=a,{defaultOptions:u}=J,{registerEventOptions:e}=B,{deg2rad:m}=E,{arrayMax:w,arrayMin:k, +clamp:t,correctFloat:n,defined:f,destroyObjectProperties:q,erase:K,error:x,extend:d,fireEvent:h,isArray:p,isNumber:r,isString:y,merge:b,normalizeTickInterval:g,objectEach:c,pick:l,relativeLength:N,removeEvent:O,splat:M,syncTimeout:aa}=A,U=(b,c)=>g(c,void 0,void 0,l(b.options.allowDecimals,.5>c||void 0!==b.tickAmount),!!b.tickAmount);class V{constructor(b,c){this.zoomEnabled=this.width=this.visible=this.userOptions=this.translationSlope=this.transB=this.transA=this.top=this.ticks=this.tickRotCorr= +this.tickPositions=this.tickmarkOffset=this.tickInterval=this.tickAmount=this.side=this.series=this.right=this.positiveValuesOnly=this.pos=this.pointRangePadding=this.pointRange=this.plotLinesAndBandsGroups=this.plotLinesAndBands=this.paddedTicks=this.overlap=this.options=this.offset=this.names=this.minPixelPadding=this.minorTicks=this.minorTickInterval=this.min=this.maxLabelLength=this.max=this.len=this.left=this.labelFormatter=this.labelEdge=this.isLinked=this.height=this.hasVisibleSeries=this.hasNames= +this.eventOptions=this.coll=this.closestPointRange=this.chart=this.bottom=this.alternateBands=void 0;this.init(b,c)}init(b,c){const a=c.isX;this.chart=b;this.horiz=b.inverted&&!this.isZAxis?!a:a;this.isXAxis=a;this.coll=this.coll||(a?"xAxis":"yAxis");h(this,"init",{userOptions:c});this.opposite=l(c.opposite,this.opposite);this.side=l(c.side,this.side,this.horiz?this.opposite?0:2:this.opposite?1:3);this.setOptions(c);const g=this.options,d=g.labels,C=g.type;this.userOptions=c;this.minPixelPadding= +0;this.reversed=l(g.reversed,this.reversed);this.visible=g.visible;this.zoomEnabled=g.zoomEnabled;this.hasNames="category"===C||!0===g.categories;this.categories=g.categories||(this.hasNames?[]:void 0);this.names||(this.names=[],this.names.keys={});this.plotLinesAndBandsGroups={};this.positiveValuesOnly=!!this.logarithmic;this.isLinked=f(g.linkedTo);this.ticks={};this.labelEdge=[];this.minorTicks={};this.plotLinesAndBands=[];this.alternateBands={};this.len=0;this.minRange=this.userMinRange=g.minRange|| +g.maxZoom;this.range=g.range;this.offset=g.offset||0;this.min=this.max=null;c=l(g.crosshair,M(b.options.tooltip.crosshairs)[a?0:1]);this.crosshair=!0===c?{}:c;-1===b.axes.indexOf(this)&&(a?b.axes.splice(b.xAxis.length,0,this):b.axes.push(this),b[this.coll].push(this));this.series=this.series||[];b.inverted&&!this.isZAxis&&a&&"undefined"===typeof this.reversed&&(this.reversed=!0);this.labelRotation=r(d.rotation)?d.rotation:void 0;e(this,g);h(this,"afterInit")}setOptions(c){this.options=b(z.defaultXAxisOptions, +"yAxis"===this.coll&&z.defaultYAxisOptions,[z.defaultTopAxisOptions,z.defaultRightAxisOptions,z.defaultBottomAxisOptions,z.defaultLeftAxisOptions][this.side],b(u[this.coll],c));h(this,"afterSetOptions",{userOptions:c})}defaultLabelFormatter(b){var c=this.axis;({numberFormatter:b}=this.chart);const a=r(this.value)?this.value:NaN,g=c.chart.time,l=this.dateTimeLabelFormat;var d=u.lang;const h=d.numericSymbols;d=d.numericSymbolMagnitude||1E3;const e=c.logarithmic?Math.abs(a):c.tickInterval;let H=h&&h.length, +f;if(c.categories)f=`${this.value}`;else if(l)f=g.dateFormat(l,a);else if(H&&1E3<=e)for(;H--&&"undefined"===typeof f;)c=Math.pow(d,H+1),e>=c&&0===10*a%c&&null!==h[H]&&0!==a&&(f=b(a/c,-1)+h[H]);"undefined"===typeof f&&(f=1E4<=Math.abs(a)?b(a,-1):b(a,-1,void 0,""));return f}getSeriesExtremes(){const b=this,c=b.chart;let a;h(this,"getSeriesExtremes",null,function(){b.hasVisibleSeries=!1;b.dataMin=b.dataMax=b.threshold=null;b.softThreshold=!b.isXAxis;b.series.forEach(function(g){if(g.visible||!c.options.chart.ignoreHiddenSeries){var d= +g.options;let c=d.threshold,h,e;b.hasVisibleSeries=!0;b.positiveValuesOnly&&0>=c&&(c=null);if(b.isXAxis)(d=g.xData)&&d.length&&(d=b.logarithmic?d.filter(b=>0a)&&(q?b=t(b,c,a):ba=!0);return b}const a=this,g=a.chart,d=a.left,e=a.top,f=b.old,H=b.value,p=b.lineWidth,k=f&&g.oldChartHeight||g.chartHeight,m=f&&g.oldChartWidth||g.chartWidth,n=a.transB;let y=b.translatedValue, +q=b.force,w,N,O,S,ba;b={value:H,lineWidth:p,old:f,force:q,acrossPanes:b.acrossPanes,translatedValue:y};h(this,"getPlotLinePath",b,function(b){y=l(y,a.translate(H,void 0,void 0,f));y=t(y,-1E5,1E5);w=O=Math.round(y+n);N=S=Math.round(k-y-n);r(y)?a.horiz?(N=e,S=k-a.bottom,w=O=c(w,d,d+a.width)):(w=d,O=m-a.right,N=S=c(N,e,e+a.height)):(ba=!0,q=!1);b.path=ba&&!q?null:g.renderer.crispLine([["M",w,N],["L",O,S]],p||1)});return b.path}getLinearTickPositions(b,c,a){const g=n(Math.floor(c/b)*b);a=n(Math.ceil(a/ +b)*b);const d=[];let l,h;n(g+b)===g&&(h=20);if(this.single)return[c];for(c=g;c<=a;){d.push(c);c=n(c+b,h);if(c===l)break;l=c}return d}getMinorTickInterval(){const b=this.options;return!0===b.minorTicks?l(b.minorTickInterval,"auto"):!1===b.minorTicks?null:b.minorTickInterval}getMinorTickPositions(){var b=this.options;const c=this.tickPositions,a=this.minorTickInterval;var g=this.pointRangePadding||0;const d=this.min-g;g=this.max+g;const l=g-d;let h=[];if(l&&l/a=this.minRange;y=this.minRange;var n=(y-g+a)/2;n=[a-n,l(b.min,a-n)];d&&(n[2]=this.logarithmic?this.logarithmic.log2lin(this.dataMin):this.dataMin);a=w(n);g=[a+y,l(b.max,a+y)];d&&(g[2]=c?c.log2lin(this.dataMax): +this.dataMax);g=k(g);g-a=t?(M=t,y=0):this.dataMax<=t&&(w=t,m=0)),this.min=l(N,M,this.dataMin),this.max=l(O,w,this.dataMax);a&&(this.positiveValuesOnly&&!b&&0>=Math.min(this.min,l(this.dataMin,this.min))&&x(10,1,c),this.min=n(a.log2lin(this.min),16),this.max=n(a.log2lin(this.max),16));this.range&&f(this.max)&&(this.userMin=this.min=N=Math.max(this.dataMin,this.minFromRange()),this.userMax=O=this.max,this.range=null);h(this,"foundExtremes");this.beforePadding&&this.beforePadding();this.adjustForMinRange(); +!(H||this.axisPointRange||this.stacking&&this.stacking.usePercentage||e)&&f(this.min)&&f(this.max)&&(c=this.max-this.min)&&(!f(N)&&y&&(this.min-=c*y),!f(O)&&m&&(this.max+=c*m));r(this.userMin)||(r(g.softMin)&&g.softMinthis.max&&(this.max=O=g.softMax),r(g.ceiling)&&(this.max=Math.min(this.max,g.ceiling)));k&&f(this.dataMin)&&(t=t||0,!f(N)&&this.min=t?this.min= +this.options.minRange?Math.min(t,this.max-this.minRange):t:!f(O)&&this.max>t&&this.dataMax<=t&&(this.max=this.options.minRange?Math.max(t,this.min+this.minRange):t));r(this.min)&&r(this.max)&&!this.chart.polar&&this.min>this.max&&(f(this.options.min)?this.max=this.min:f(this.options.max)&&(this.min=this.max));this.tickInterval=this.min===this.max||"undefined"===typeof this.min||"undefined"===typeof this.max?1:e&&this.linkedParent&&!q&&p===this.linkedParent.options.tickPixelInterval?q=this.linkedParent.tickInterval: +l(q,this.tickAmount?(this.max-this.min)/Math.max(this.tickAmount-1,1):void 0,H?1:(this.max-this.min)*p/Math.max(this.len,p));if(d&&!b){const b=this.min!==(this.old&&this.old.min)||this.max!==(this.old&&this.old.max);this.series.forEach(function(c){c.forceCrop=c.forceCropping&&c.forceCropping();c.processData(b)});h(this,"postProcessData",{hasExtremesChanged:b})}this.setAxisTranslation();h(this,"initialAxisTranslation");this.pointRange&&!q&&(this.tickInterval=Math.max(this.pointRange,this.tickInterval)); +b=l(g.minTickInterval,this.dateTime&&!this.series.some(b=>b.noSharedTooltip)?this.closestPointRange:0);!q&&this.tickIntervalMath.max(2*this.len,200)))if(this.dateTime)l= +this.getTimeTicks(this.dateTime.normalizeTimeTickInterval(this.tickInterval,b.units),this.min,this.max,b.startOfWeek,this.ordinal&&this.ordinal.positions,this.closestPointRange,!0);else if(this.logarithmic)l=this.logarithmic.getLogTickPositions(this.tickInterval,this.min,this.max);else for(g=b=this.tickInterval;g<=2*b;)if(l=this.getLinearTickPositions(this.tickInterval,this.min,this.max),this.tickAmount&&l.length>this.tickAmount)this.tickInterval=U(this,g*=1.1);else break;else l=[this.min,this.max], +x(19,!1,this.chart);l.length>this.len&&(l=[l[0],l[l.length-1]],l[0]===l[1]&&(l.length=1));a&&(this.tickPositions=l,(p=a.apply(this,[this.min,this.max]))&&(l=p))}this.tickPositions=l;this.paddedTicks=l.slice(0);this.trimTicks(l,e,d);!this.isLinked&&r(this.min)&&r(this.max)&&(this.single&&2>l.length&&!this.categories&&!this.series.some(b=>b.is("heatmap")&&"between"===b.options.pointPlacement)&&(this.min-=.5,this.max+=.5),c||p||this.adjustTickAmount());h(this,"afterSetTickPositions")}trimTicks(b,c,a){const g= +b[0],d=b[b.length-1],l=!this.isOrdinal&&this.minPointOffset||0;h(this,"trimTicks");if(!this.isLinked){if(c&&-Infinity!==g)this.min=g;else for(;this.min-l>b[0];)b.shift();if(a)this.max=d;else for(;this.max+l{const {horiz:c,options:a}=b;return[c?a.left:a.top,a.width,a.height,a.pane].join()},g=a(this);this.chart[this.coll].forEach(function(d){const {series:h}=d;h.length&&h.some(b=>b.visible)&&d!==b&&a(d)===g&&(l=!0,c.push(d))})}if(l&&g){c.forEach(c=>{c=c.getThresholdAlignment(b);r(c)&&d.push(c)});const a=1b+c,0)/d.length:void 0;c.forEach(b=>{b.thresholdAlignment=a})}return l}getThresholdAlignment(b){(!r(this.dataMin)|| +this!==b&&this.series.some(b=>b.isDirty||b.isDirtyData))&&this.getSeriesExtremes();if(r(this.threshold))return b=t((this.threshold-(this.dataMin||0))/((this.dataMax||0)-(this.dataMin||0)),0,1),this.options.reversed&&(b=1-b),b}getTickAmount(){const b=this.options,c=b.tickPixelInterval;let a=b.tickAmount;!f(b.tickInterval)&&!a&&this.lena&&(this.finalTickAmt=a,a=5);this.tickAmount= +a}adjustTickAmount(){const b=this,{finalTickAmt:c,max:a,min:g,options:d,tickPositions:h,tickAmount:e,thresholdAlignment:p}=b,k=h&&h.length;var m=l(b.threshold,b.softThreshold?0:null);var y=b.tickInterval;let q;r(p)&&(q=.5>p?Math.ceil(p*(e-1)):Math.floor(p*(e-1)),d.reversed&&(q=e-1-q));if(b.hasData()&&r(g)&&r(a)){const l=()=>{b.transA*=(k-1)/(e-1);b.min=d.startOnTick?h[0]:Math.min(g,h[0]);b.max=d.endOnTick?h[h.length-1]:Math.max(a,h[h.length-1])};if(r(q)&&r(b.threshold)){for(;h[q]!==m||h.length!== +e||h[0]>g||h[h.length-1]b.threshold?h.unshift(n(h[0]-y)):h.push(n(h[h.length-1]+y));if(y>8*b.tickInterval)break;y*=2}l()}else if(k=c&&0p&&(c=p)),f(d)&&(lp&&(l=p))),a.displayBtn="undefined"!==typeof c||"undefined"!==typeof l,a.setExtremes(c,l,!1,void 0,{trigger:"zoom"});b.zoomed=!0});return b.zoomed}setAxisSize(){const b=this.chart;var c=this.options;const a=c.offsets||[0,0,0,0],g=this.horiz,d=this.width=Math.round(N(l(c.width,b.plotWidth-a[3]+a[1]),b.plotWidth)),h=this.height=Math.round(N(l(c.height,b.plotHeight-a[0]+a[2]),b.plotHeight)), +e=this.top=Math.round(N(l(c.top,b.plotTop+a[0]),b.plotHeight,b.plotTop));c=this.left=Math.round(N(l(c.left,b.plotLeft+a[3]),b.plotWidth,b.plotLeft));this.bottom=b.chartHeight-h-e;this.right=b.chartWidth-d-c;this.len=Math.max(g?d:h,0);this.pos=g?c:e}getExtremes(){const b=this.logarithmic;return{min:b?n(b.lin2log(this.min)):this.min,max:b?n(b.lin2log(this.max)):this.max,dataMin:this.dataMin,dataMax:this.dataMax,userMin:this.userMin,userMax:this.userMax}}getThreshold(b){var c=this.logarithmic;const a= +c?c.lin2log(this.min):this.min;c=c?c.lin2log(this.max):this.max;null===b||-Infinity===b?b=a:Infinity===b?b=c:a>b?b=a:cc?b.align="right":195c&&(b.align="left")});return b.align}tickSize(b){const c=this.options,a=l(c["tick"===b?"tickWidth":"minorTickWidth"],"tick"===b&&this.isXAxis&&!this.categories?1:0);let g=c["tick"===b?"tickLength": +"minorTickLength"],d;a&&g&&("inside"===c[b+"Position"]&&(g=-g),d=[g,a]);b={tickSize:d};h(this,"afterTickSize",b);return b.tickSize}labelMetrics(){const b=this.chart.renderer;var c=this.ticks;c=c[Object.keys(c)[0]]||{};return this.chart.renderer.fontMetrics(c.label||c.movedLabel||b.box)}unsquish(){const b=this.options.labels;var c=this.horiz;const a=this.tickInterval,g=this.len/(((this.categories?1:0)+this.max-this.min)/a),d=b.rotation,h=.75*this.labelMetrics().h,e=Math.max(this.max-this.min,0),f= +function(b){let c=b/(g||1);c=1e&&Infinity!==b&&Infinity!==g&&e&&(c=Math.ceil(e/a));return n(c*a)};let p=a,k,y=Number.MAX_VALUE,q;if(c){if(b.staggerLines||(r(d)?q=[d]:g=a)c=f(Math.abs(h/Math.sin(m*a))),b=c+Math.abs(a/360),bg.step)return g.rotation?0:(this.staggerLines||1)*this.len/d;if(!a){b=g.style.width;if(void 0!==b)return parseInt(String(b),10);if(l)return l-c.spacing[3]}return.33*c.chartWidth}renderUnsquish(){const b=this.chart,c=b.renderer,a=this.tickPositions,g=this.ticks,d=this.options.labels,l=d.style,h=this.horiz,e=this.getSlotWidth();var r=Math.max(1,Math.round(e-2*d.padding));const f= +{},p=this.labelMetrics(),k=l.textOverflow;let m,q,n=0;y(d.rotation)||(f.rotation=d.rotation||0);a.forEach(function(b){b=g[b];b.movedLabel&&b.replaceMovedLabel();b&&b.label&&b.label.textPxLength>n&&(n=b.label.textPxLength)});this.maxLabelLength=n;if(this.autoRotation)n>r&&n>p.h?f.rotation=this.labelRotation:this.labelRotation=0;else if(e&&(m=r,!k))for(q="clip",r=a.length;!h&&r--;){var t=a[r];if(t=g[t].label)t.styles&&"ellipsis"===t.styles.textOverflow?t.css({textOverflow:"clip"}):t.textPxLength>e&& +t.css({width:e+"px"}),t.getBBox().height>this.len/a.length-(p.h-p.f)&&(t.specificTextOverflow="ellipsis")}f.rotation&&(m=n>.5*b.chartHeight?.33*b.chartHeight:n,k||(q="ellipsis"));if(this.labelAlign=d.align||this.autoLabelAlign(this.labelRotation))f.align=this.labelAlign;a.forEach(function(b){const c=(b=g[b])&&b.label,a=l.width,d={};c&&(c.attr(f),b.shortenLabel?b.shortenLabel():m&&!a&&"nowrap"!==l.whiteSpace&&(mn.g(b).attr({zIndex:a}).addClass(`highcharts-${m.toLowerCase()}${c} `+(this.isRadial? +`highcharts-radial-axis${c} `:"")+(ba||"")).add(y);b.gridGroup=c("grid","-grid",d.gridZIndex);b.axisGroup=c("axis","",d.zIndex);b.labelGroup=c("axis-labels","-labels",N.zIndex)}t||b.isLinked?(k.forEach(function(c){b.generateTick(c)}),b.renderUnsquish(),b.reserveSpaceDefault=0===e||2===e||{1:"left",3:"right"}[e]===b.labelAlign,l(N.reserveSpace,O?!1:null,"center"===b.labelAlign?!0:null,b.reserveSpaceDefault)&&k.forEach(function(b){F=Math.max(p[b].getLabelSize(),F)}),b.staggerLines&&(F*=b.staggerLines), +b.labelOffset=F*(b.opposite?-1:1)):c(p,function(b,c){b.destroy();delete p[c]});w&&w.text&&!1!==w.enabled&&(b.addTitle(ea),ea&&!O&&!1!==w.reserveSpace&&(b.titleOffset=v=b.axisTitle.getBBox()[g?"height":"width"],K=w.offset,x=f(K)?0:l(w.margin,g?5:10)));b.renderLine();b.offset=S*l(d.offset,M[e]?M[e]+(d.margin||0):0);b.tickRotCorr=b.tickRotCorr||{x:0,y:0};t=0===e?-b.labelMetrics().h:2===e?b.tickRotCorr.y:0;x=Math.abs(F)+x;F&&(x=x-t+S*(g?l(N.y,b.tickRotCorr.y+S*N.distance):l(N.x,S*N.distance)));b.axisTitleMargin= +l(K,x);b.getMaxLabelDimensions&&(b.maxLabelDimensions=b.getMaxLabelDimensions(p,k));"colorAxis"!==m&&(N=this.tickSize("tick"),M[e]=Math.max(M[e],(b.axisTitleMargin||0)+v+S*b.offset,x,k&&k.length&&N?N[0]+S*b.offset:0),M=!b.axisLine||d.offset?0:2*Math.floor(b.axisLine.strokeWidth()/2),u[q]=Math.max(u[q],M));h(this,"afterGetOffset")}getLinePath(b){const c=this.chart,a=this.opposite;var g=this.offset;const d=this.horiz,l=this.left+(a?this.width:0)+g;g=c.chartHeight-this.bottom-(a?this.height:0)+g;a&& +(b*=-1);return c.renderer.crispLine([["M",d?this.left:l,d?g:this.top],["L",d?c.chartWidth-this.right:l,d?g:c.chartHeight-this.bottom]],b)}renderLine(){this.axisLine||(this.axisLine=this.chart.renderer.path().addClass("highcharts-axis-line").add(this.axisGroup),this.chart.styledMode||this.axisLine.attr({stroke:this.options.lineColor,"stroke-width":this.options.lineWidth,zIndex:7}))}getTitlePosition(b){var c=this.horiz,a=this.left;const g=this.top;var d=this.len;const l=this.options.title,e=c?a:g,r= +this.opposite,f=this.offset,p=l.x,k=l.y,m=this.chart.renderer.fontMetrics(b);b=b?Math.max(b.getBBox(!1,0).height-m.h-1,0):0;d={low:e+(c?0:d),middle:e+d/2,high:e+(c?d:0)}[l.align];a=(c?g+this.height:a)+(c?1:-1)*(r?-1:1)*(this.axisTitleMargin||0)+[-b,b,m.f,-b][this.side];c={x:c?d+p:a+(r?this.width:0)+f+p,y:c?a+k-(r?this.height:0)+f:d+k};h(this,"afterGetTitlePosition",{titlePosition:c});return c}renderMinorTick(b,c){const a=this.minorTicks;a[b]||(a[b]=new D(this,b,"minor"));c&&a[b].isNew&&a[b].render(null, +!0);a[b].render(null,!1,1)}renderTick(b,c,a){const g=this.ticks;if(!this.isLinked||b>=this.min&&b<=this.max||this.grid&&this.grid.isColumn)g[b]||(g[b]=new D(this,b)),a&&g[b].isNew&&g[b].render(c,!0,-1),g[b].render(c)}render(){const b=this,a=b.chart,g=b.logarithmic,d=b.options,l=b.isLinked,e=b.tickPositions,f=b.axisTitle,p=b.ticks,k=b.minorTicks,m=b.alternateBands,y=d.stackLabels,n=d.alternateGridColor,q=d.crossing,t=b.tickmarkOffset,w=b.axisLine,N=b.showAxis,O=v(a.renderer.globalAnimation);let S, +M;b.labelEdge.length=0;b.overlap=!1;[p,k,m].forEach(function(b){c(b,function(b){b.isActive=!1})});if(r(q)){const b=this.isXAxis?a.yAxis[0]:a.xAxis[0],c=[1,-1,-1,1][this.side];b&&(this.offset=c*b.toPixels(q,!0))}if(b.hasData()||l){const c=b.chart.hasRendered&&b.old&&r(b.old.min);b.minorTickInterval&&!b.categories&&b.getMinorTickPositions().forEach(function(a){b.renderMinorTick(a,c)});e.length&&(e.forEach(function(a,g){b.renderTick(a,g,c)}),t&&(0===b.min||b.single)&&(p[-1]||(p[-1]=new D(b,-1,null,!0)), +p[-1].render(-1)));n&&e.forEach(function(c,d){M="undefined"!==typeof e[d+1]?e[d+1]+t:b.max-t;0===d%2&&cm&&(!k||h<=w)&&"undefined"!==typeof h&&q.push(h),h>w&&(p=!0),h=d}else m=this.lin2log(m),w=this.lin2log(w),a=k?e.getMinorTickInterval():f.tickInterval,a=J("auto"===a?null:a,this.minorAutoInterval,f.tickPixelInterval/(k?5:1)*(w-m)/((k?n/e.tickPositions.length: +n)||1)),a=G(a),q=e.getLinearTickPositions(a,m,w).map(this.log2lin),k||(this.minorAutoInterval=a/5);k||(e.tickInterval=a);return q}lin2log(a){return Math.pow(10,a)}log2lin(a){return Math.log(a)/Math.LN10}}z.Additions=u})(B||(B={}));return B});L(a,"Core/Axis/PlotLineOrBand/PlotLineOrBandAxis.js",[a["Core/Utilities.js"]],function(a){const {erase:x,extend:G,isNumber:J}=a;var B;(function(z){function D(a){return this.addPlotBandOrLine(a,"plotBands")}function A(a,e){const f=this.userOptions;let k=new t(this, +a);this.visible&&(k=k.render());if(k){this._addedPlotLB||(this._addedPlotLB=!0,(f.plotLines||[]).concat(f.plotBands||[]).forEach(a=>{this.addPlotBandOrLine(a)}));if(e){const k=f[e]||[];k.push(a);f[e]=k}this.plotLinesAndBands.push(k)}return k}function v(a){return this.addPlotBandOrLine(a,"plotLines")}function u(a,e,k=this.options){const f=this.getPlotLinePath({value:e,force:!0,acrossPanes:k.acrossPanes}),m=[],d=this.horiz;e=!J(this.min)||!J(this.max)||athis.max&&e>this.max; +a=this.getPlotLinePath({value:a,force:!0,acrossPanes:k.acrossPanes});k=1;let h;if(a&&f)for(e&&(h=a.toString()===f.toString(),k=0),e=0;e{const h="x"===l;return[l,h?r:p,h?a:d].concat(e?[h?a*k.scaleX:d*k.scaleY,h?k.left- +c+(b.plotX+g.plotLeft)*k.scaleX:k.top-c+(b.plotY+g.plotTop)*k.scaleY,0,h?r:p]:[h?a:d,h?b.plotX+g.plotLeft:b.plotY+g.plotTop,h?g.plotLeft:g.plotTop,h?g.plotLeft+g.plotWidth:g.plotTop+g.plotHeight])};let m=f("y"),q=f("x"),n;f=!!b.negative;!g.polar&&g.hoverSeries&&g.hoverSeries.yAxis&&g.hoverSeries.yAxis.reversed&&(f=!f);const y=!this.followPointer&&F(b.ttBelow,!g.inverted===f),t=function(b,a,g,d,f,r,p){const m=e?"y"===b?c*k.scaleY:c*k.scaleX:c,C=(g-d)/2,q=dt-h?t:t-h);else if(n)l[b]=Math.max(r,f+h+g>a?f:f+h);else return!1},C=function(b,a,g,d,h){let e;ha-c?e=!1:l[b]=ha-d/2?a-d-2:h-g/2;return e},w=function(b){const c=m;m=q;q=c;n=b},I=function(){!1!==t.apply(0,m)?!1!==C.apply(0,q)||n||(w(!0),I()):n?l.x=l.y=0:(w(!0),I())};(g.inverted||1c.isDirectTouch||b.series.shouldShowTooltip(d,f)))h=this.getLabel(),g.style.width&&!k||h.css({width:(this.outside?this.getPlayingField():b.spacingBox).width+"px"}),h.attr({text:p&&p.join?p.join(""):p}),h.addClass(this.getClassName(e),!0),k||h.attr({stroke:g.borderColor||e.color||r.color||"#666666"}),this.updatePosition({plotX:q,plotY:y,negative:e.negative,ttBelow:e.ttBelow, +h:a[2]||0});else{this.hide();return}}this.isHidden&&this.label&&this.label.attr({opacity:1}).show();this.isHidden=!1}t(this,"refresh")}}renderSplit(a,d){function b(b,c,a,d,l=!0){a?(c=X?0:B,b=e(b-d/2,I.left,I.right-d-(g.outside?Y:0))):(c-=ca,b=l?b-d-x:b+x,b=e(b,l?b:I.left,I.right));return{x:b,y:c}}const g=this,{chart:c,chart:{chartWidth:l,chartHeight:h,plotHeight:f,plotLeft:p,plotTop:r,pointer:m,scrollablePixelsY:n=0,scrollablePixelsX:t,scrollingContainer:{scrollLeft:y,scrollTop:w}={scrollLeft:0,scrollTop:0}, +styledMode:u},distance:x,options:C,options:{positioner:Q}}=g,I=g.outside&&"number"!==typeof t?D.documentElement.getBoundingClientRect():{left:y,right:y+l,top:w,bottom:w+h},W=g.getLabel(),R=this.renderer||c.renderer,X=!(!c.xAxis[0]||!c.xAxis[0].opposite),{left:Y,top:K}=m.getChartPosition();let ca=r+w,z=0,B=f-n;q(a)&&(a=[!1,a]);a=a.slice(0,d.length+1).reduce(function(c,a,l){if(!1!==a&&""!==a){l=d[l-1]||{isHeader:!0,plotX:d[0].plotX,plotY:f,series:{}};const t=l.isHeader;var h=t?g:l.series,k;{var m=l; +a=a.toString();var q=h.tt;const {isHeader:b,series:c}=m;q||(q={padding:C.padding,r:C.borderRadius},u||(q.fill=C.backgroundColor,q["stroke-width"]=null!==(k=C.borderWidth)&&void 0!==k?k:1),q=R.label("",0,0,C[b?"headerShape":"shape"],void 0,void 0,C.useHTML).addClass(g.getClassName(m,!0,b)).attr(q).add(W));q.isActive=!0;q.attr({text:a});u||q.css(C.style).attr({stroke:C.borderColor||m.color||c.color||"#333333"});k=q}k=h.tt=k;m=k.getBBox();h=m.width+k.strokeWidth();t&&(z=m.height,B+=z,X&&(ca-=z));{const {isHeader:b, +plotX:c=0,plotY:g=0,series:d}=l;if(b){a=p+c;var n=r+f/2}else{const {xAxis:b,yAxis:l}=d;a=b.pos+e(c,-x,b.len+x);d.shouldShowTooltip(0,l.pos-r+g,{ignoreX:!0})&&(n=l.pos+g)}a=e(a,I.left-x,I.right+x);n={anchorX:a,anchorY:n}}const {anchorX:y,anchorY:S}=n;"number"===typeof S?(n=m.height+1,m=Q?Q.call(g,h,n,l):b(y,S,t,h),c.push({align:Q?0:void 0,anchorX:y,anchorY:S,boxWidth:h,point:l,rank:F(m.rank,t?1:0),size:n,target:m.y,tt:k,x:m.x})):k.isActive=!1}return c},[]);!Q&&a.some(b=>{var {outside:c}=g;c=(c?Y:0)+ +b.anchorX;return cc})&&(a=a.map(c=>{const {x:a,y:g}=b(c.anchorX,c.anchorY,c.point.isHeader,c.boxWidth,!1);return k(c,{target:g,x:a})}));g.cleanSplit();v(a,B);var E=Y,S=Y;a.forEach(function(b){const {x:c,boxWidth:a,isHeader:d}=b;d||(g.outside&&Y+cS&&(S=Y+c))});a.forEach(function(b){const {x:c,anchorX:a,anchorY:d,pos:l,point:{isHeader:h}}=b,e={visibility:"undefined"===typeof l?"hidden":"inherit",x:c,y:(l|| +0)+ca,anchorX:a,anchorY:d};if(g.outside&&cb[0]?Math.max(Math.abs(b[0]),c.width-b[0]):Math.max(Math.abs(b[0]),c.width);g.height=0>b[1]?Math.max(Math.abs(b[1]),c.height-Math.abs(b[1])):Math.max(Math.abs(b[1]),c.height);this.tracker?this.tracker.attr(g):(this.tracker=d.renderer.rect(g).addClass("highcharts-tracker").add(d),a.styledMode||this.tracker.attr({fill:"rgba(0,0,0,0)"}))}}else this.tracker&& +(this.tracker=this.tracker.destroy())}styledModeFormat(a){return a.replace('style="font-size: 0.8em"','class="highcharts-header"').replace(/style="color:{(point|series)\.color}"/g,'class="highcharts-color-{$1.colorIndex} {series.options.className} {point.options.className}"')}tooltipFooterHeaderFormatter(a,d){const b=a.series,g=b.tooltipOptions;var c=b.xAxis;const l=c&&c.dateTime;c={isFooter:d,labelConfig:a};let h=g.xDateFormat,e=g[d?"footerFormat":"headerFormat"];t(this,"headerFormatter",c,function(c){l&& +!h&&f(a.key)&&(h=l.getXDateFormat(a.key,g.dateTimeLabelFormats));l&&h&&(a.point&&a.point.tooltipDateKeys||["key"]).forEach(function(b){e=e.replace("{point."+b+"}","{point."+b+":"+h+"}")});b.chart.styledMode&&(e=this.styledModeFormat(e));c.text=x(e,{point:a,series:b},this.chart)});return c.text}update(a){this.destroy();this.init(this.chart,K(!0,this.options,a))}updatePosition(a){const {chart:d,distance:b,options:g}=this;var c=d.pointer;const l=this.getLabel(),{left:h,top:e,scaleX:f,scaleY:p}=c.getChartPosition(); +c=(g.positioner||this.getPosition).call(this,l.width,l.height,a);let r=(a.plotX||0)+d.plotLeft;a=(a.plotY||0)+d.plotTop;let k;if(this.outside){g.positioner&&(c.x+=h-b,c.y+=e-b);k=(g.borderWidth||0)+2*b;this.renderer.setSize(l.width+k,l.height+k,!1);if(1!==f||1!==p)m(this.container,{transform:`scale(${f}, ${p})`}),r*=f,a*=p;r+=h-c.x;a+=e-c.y}this.move(Math.round(c.x),Math.round(c.y||0),r,a)}}(function(a){const d=[];a.compose=function(b){B.pushUnique(d,b)&&u(b,"afterInit",function(){const b=this.chart; +b.options.tooltip&&(b.tooltip=new a(b,b.options.tooltip))})}})(p||(p={}));"";return p});L(a,"Core/Series/Point.js",[a["Core/Renderer/HTML/AST.js"],a["Core/Animation/AnimationUtilities.js"],a["Core/Defaults.js"],a["Core/FormatUtilities.js"],a["Core/Utilities.js"]],function(a,z,G,J,B){const {animObject:x}=z,{defaultOptions:D}=G,{format:A}=J,{addEvent:v,defined:u,erase:e,extend:m,fireEvent:w,getNestedProperty:k,isArray:t,isFunction:n,isNumber:f,isObject:q,merge:K,objectEach:F,pick:d,syncTimeout:h,removeEvent:p, +uniqueKey:r}=B;class y{constructor(){this.category=void 0;this.destroyed=!1;this.formatPrefix="point";this.id=void 0;this.isNull=!1;this.percentage=this.options=this.name=void 0;this.selected=!1;this.total=this.shapeArgs=this.series=void 0;this.visible=!0;this.x=void 0}animateBeforeDestroy(){const b=this,a={x:b.startXPos,opacity:0},c=b.getGraphicalProps();c.singular.forEach(function(c){b[c]=b[c].animate("dataLabel"===c?{x:b[c].startXPos,y:b[c].startYPos,opacity:0}:a)});c.plural.forEach(function(c){b[c].forEach(function(c){c.element&& +c.animate(m({x:b.startXPos},c.startYPos?{x:c.startXPos,y:c.startYPos}:{}))})})}applyOptions(b,a){const c=this.series,g=c.options.pointValKey||c.pointValKey;b=y.prototype.optionsToObject.call(this,b);m(this,b);this.options=this.options?m(this.options,b):b;b.group&&delete this.group;b.dataLabels&&delete this.dataLabels;g&&(this.y=y.prototype.getNestedProperty.call(this,g));this.formatPrefix=(this.isNull=this.isValid&&!this.isValid())?"null":"point";this.selected&&(this.state="select");"name"in this&& +"undefined"===typeof a&&c.xAxis&&c.xAxis.hasNames&&(this.x=c.xAxis.nameToX(this));"undefined"===typeof this.x&&c?this.x="undefined"===typeof a?c.autoIncrement():a:f(b.x)&&c.options.relativeXValue&&(this.x=c.autoIncrement(b.x));return this}destroy(){if(!this.destroyed){const a=this;var b=a.series;const c=b.chart;b=b.options.dataSorting;const d=c.hoverPoints,f=x(a.series.chart.renderer.globalAnimation),r=()=>{if(a.graphic||a.graphics||a.dataLabel||a.dataLabels)p(a),a.destroyElements();for(const b in a)delete a[b]}; +a.legendItem&&c.legend.destroyItem(a);d&&(a.setState(),e(d,a),d.length||(c.hoverPoints=null));if(a===c.hoverPoint)a.onMouseOut();b&&b.enabled?(this.animateBeforeDestroy(),h(r,f.duration)):r();c.pointCount--}this.destroyed=!0}destroyElements(b){const a=this;b=a.getGraphicalProps(b);b.singular.forEach(function(b){a[b]=a[b].destroy()});b.plural.forEach(function(b){a[b].forEach(function(b){b&&b.element&&b.destroy()});delete a[b]})}firePointEvent(b,a,c){const g=this,d=this.series.options;(d.point.events[b]|| +g.options&&g.options.events&&g.options.events[b])&&g.importEvents();"click"===b&&d.allowPointSelect&&(c=function(b){g.select&&g.select(null,b.ctrlKey||b.metaKey||b.shiftKey)});w(g,b,a,c)}getClassName(){return"highcharts-point"+(this.selected?" highcharts-point-select":"")+(this.negative?" highcharts-negative":"")+(this.isNull?" highcharts-null-point":"")+("undefined"!==typeof this.colorIndex?" highcharts-color-"+this.colorIndex:"")+(this.options.className?" "+this.options.className:"")+(this.zone&& +this.zone.className?" "+this.zone.className.replace("highcharts-negative",""):"")}getGraphicalProps(b){const a=this,c=[],d={singular:[],plural:[]};let h,e;b=b||{graphic:1,dataLabel:1};b.graphic&&c.push("graphic");b.dataLabel&&c.push("dataLabel","dataLabelPath","dataLabelUpper","connector");for(e=c.length;e--;)h=c[e],a[h]&&d.singular.push(h);["graphic","dataLabel","connector"].forEach(function(c){const g=c+"s";b[c]&&a[g]&&d.plural.push(g)});return d}getLabelConfig(){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}}getNestedProperty(b){if(b)return 0===b.indexOf("custom.")?k(b,this.options):this[b]}getZone(){var b=this.series;const a=b.zones;b=b.zoneAxis||"y";let c,d=0;for(c=a[d];this[b]>=c.value;)c=a[++d];this.nonZonedColor||(this.nonZonedColor=this.color);this.color=c&&c.color&&!this.options.color?c.color:this.nonZonedColor;return c}hasNewShapeType(){return(this.graphic&& +(this.graphic.symbolName||this.graphic.element.nodeName))!==this.shapeType}init(b,a,c){this.series=b;this.applyOptions(a,c);this.id=u(this.id)?this.id:r();this.resolveColor();b.chart.pointCount++;w(this,"afterInit");return this}isValid(){return null!==this.x&&f(this.y)}optionsToObject(b){var a=this.series;const c=a.options.keys,d=c||a.pointArrayMap||["y"],h=d.length;let e={},p=0,r=0;if(f(b)||null===b)e[d[0]]=b;else if(t(b))for(!c&&b.length>h&&(a=typeof b[0],"string"===a?e.name=b[0]:"number"===a&& +(e.x=b[0]),p++);ra());this.eventsToUnbind=[];z.chartCount||(F.unbindDocumentMouseUp&&(F.unbindDocumentMouseUp=F.unbindDocumentMouseUp()),F.unbindDocumentTouchEnd&&(F.unbindDocumentTouchEnd=F.unbindDocumentTouchEnd()));clearInterval(a.tooltipTimeout);n(a,function(d,e){a[e]= +void 0})}getSelectionMarkerAttrs(a,h){const d={args:{chartX:a,chartY:h},attrs:{},shapeType:"rect"};w(this,"getSelectionMarkerAttrs",d,d=>{const {chart:e,mouseDownX:b=0,mouseDownY:g=0,zoomHor:c,zoomVert:l}=this;d=d.attrs;let f;d.x=e.plotLeft;d.y=e.plotTop;d.width=c?1:e.plotWidth;d.height=l?1:e.plotHeight;c&&(f=a-b,d.width=Math.abs(f),d.x=(0f+b&&(n=f+b),wk+g&&(w=k+g),this.hasDragged=Math.sqrt(Math.pow(c-n,2)+Math.pow(l-w,2)),10{d.result={x:a.attr?+a.attr("x"): +a.x,y:a.attr?+a.attr("y"):a.y,width:a.attr?a.attr("width"):a.width,height:a.attr?a.attr("height"):a.height}});return d.result}drop(a){const d=this,f=this.chart,r=this.hasPinched;if(this.selectionMarker){const {x:h,y:b,width:g,height:c}=this.getSelectionBox(this.selectionMarker),l={originalEvent:a,xAxis:[],yAxis:[],x:h,y:b,width:g,height:c};let p=!!f.mapView;if(this.hasDragged||r)f.axes.forEach(function(e){if(e.zoomEnabled&&u(e.min)&&(r||d[{xAxis:"zoomX",yAxis:"zoomY"}[e.coll]])&&k(h)&&k(b)&&k(g)&& +k(c)){var f=e.horiz;const d="touchend"===a.type?e.minPixelPadding:0,r=e.toValue((f?h:b)+d);f=e.toValue((f?h+g:b+c)-d);l[e.coll].push({axis:e,min:Math.min(r,f),max:Math.max(r,f)});p=!0}}),p&&w(f,"selection",l,function(b){f.zoom(e(b,r?{animation:!1}:null))});k(f.index)&&(this.selectionMarker=this.selectionMarker.destroy());r&&this.scaleGroups()}f&&k(f.index)&&(v(f.container,{cursor:f._cursor}),f.cancelClick=10a.options.findNearestPointBy.indexOf("y");a=a.searchPoint(f,b);if((b=t(a,!0)&&a.series)&&!(b=!t(d,!0))){{b=d.distX-a.distX;const g=d.dist-a.dist,c=(a.series.group&&a.series.group.zIndex)-(d.series.group&&d.series.group.zIndex);b=0!==b&&e?b:0!==g?g:0!==c?c:d.series.index>a.series.index?-1:1}b=0b.stickyTracking&&(h.filter||c)(b));const p=r||!b?a:this.findNearestKDPoint(d, +k,b);e=p&&p.series;p&&(k&&!e.noSharedTooltip?(d=f.filter(function(b){return h.filter?h.filter(b):c(b)&&!b.noSharedTooltip}),d.forEach(function(b){let a=m(b.points,function(b){return b.x===p.x&&!b.isNull});t(a)&&(b.boosted&&b.boost&&(a=b.boost.getPoint(a)),g.push(a))})):g.push(p));h={hoverPoint:p};w(this,"afterGetHoverData",h);return{hoverPoint:h.hoverPoint,hoverSeries:e,hoverPoints:g}}getPointFromEvent(a){a=a.target;let d;for(;a&&!d;)d=a.point,a=a.parentNode;return d}onTrackerMouseOut(a){a=a.relatedTarget; +const d=this.chart.hoverSeries;this.isDirectTouch=!1;if(!(!d||!a||d.stickyTracking||this.inClass(a,"highcharts-tooltip")||this.inClass(a,"highcharts-series-"+d.index)&&this.inClass(a,"highcharts-tracker")))d.onMouseOut()}inClass(a,e){let d;for(;a;){if(d=A(a,"class")){if(-1!==d.indexOf(e))return!0;if(-1!==d.indexOf("highcharts-container"))return!1}a=a.parentElement}}init(a,e){this.options=e;this.chart=a;this.runChartClick=!(!e.chart.events||!e.chart.events.click);this.pinchDown=[];this.lastValidTouch= +{};this.setDOMEvents();w(this,"afterInit")}normalize(a,h){var d=a.touches,f=d?d.length?d.item(0):q(d.changedTouches,a.changedTouches)[0]:a;h||(h=this.getChartPosition());d=f.pageX-h.left;f=f.pageY-h.top;d/=h.scaleX;f/=h.scaleY;return e(a,{chartX:Math.round(d),chartY:Math.round(f)})}onContainerClick(a){const d=this.chart,f=d.hoverPoint;a=this.normalize(a);const k=d.plotLeft,m=d.plotTop;d.cancelClick||(f&&this.inClass(a.target,"highcharts-tracker")?(w(f.series,"click",e(a,{point:f})),d.hoverPoint&& +f.firePointEvent("click",a)):(e(a,this.getCoordinates(a)),d.isInsidePlot(a.chartX-k,a.chartY-m,{visiblePlotOnly:!0})&&w(d,"click",a)))}onContainerMouseDown(a){const d=1===((a.buttons||a.button)&1);a=this.normalize(a);if(z.isFirefox&&0!==a.button)this.onContainerMouseMove(a);if("undefined"===typeof a.button||d)this.zoomOption(a),d&&a.preventDefault&&a.preventDefault(),this.dragStart(a)}onContainerMouseLeave(a){const d=B[q(F.hoverChartIndex,-1)];a=this.normalize(a);d&&a.relatedTarget&&!this.inClass(a.relatedTarget, +"highcharts-tooltip")&&(d.pointer.reset(),d.pointer.chartPosition=void 0)}onContainerMouseEnter(a){delete this.chartPosition}onContainerMouseMove(a){const d=this.chart,e=d.tooltip;a=this.normalize(a);this.setHoverChartIndex();("mousedown"===d.mouseIsDown||this.touchSelect(a))&&this.drag(a);d.openMenu||!this.inClass(a.target,"highcharts-tracker")&&!d.isInsidePlot(a.chartX-d.plotLeft,a.chartY-d.plotTop,{visiblePlotOnly:!0})||e&&e.shouldStickOnContact(a)||(this.inClass(a.target,"highcharts-no-tooltip")? +this.reset(!1,0):this.runPointActions(a))}onDocumentTouchEnd(a){const d=B[q(F.hoverChartIndex,-1)];d&&d.pointer.drop(a)}onContainerTouchMove(a){if(this.touchSelect(a))this.onContainerMouseMove(a);else this.touch(a)}onContainerTouchStart(a){if(this.touchSelect(a))this.onContainerMouseDown(a);else this.zoomOption(a),this.touch(a,!0)}onDocumentMouseMove(a){const d=this.chart,e=d.tooltip,f=this.chartPosition;a=this.normalize(a,f);!f||d.isInsidePlot(a.chartX-d.plotLeft,a.chartY-d.plotTop,{visiblePlotOnly:!0})|| +e&&e.shouldStickOnContact(a)||this.inClass(a.target,"highcharts-tracker")||this.reset()}onDocumentMouseUp(a){const d=B[q(F.hoverChartIndex,-1)];d&&d.pointer.drop(a)}pinch(a){const d=this,f=d.chart,k=d.pinchDown,m=a.touches||[],b=m.length,g=d.lastValidTouch,c=d.hasZoom,l={},n=1===b&&(d.inClass(a.target,"highcharts-tracker")&&f.runTrackerClick||d.runChartClick),t={};var u=d.chart.tooltip;u=1===b&&q(u&&u.options.followTouchMove,!0);let v=d.selectionMarker;1{v||(d.selectionMarker=v=e({destroy:E,touch:!0},f.plotBox));d.pinchTranslate(k,m,l,v,t,g);d.hasPinched=c;d.scaleGroups(l,t)}),d.res&&(d.res=!1,this.reset(!1,0)))}pinchTranslate(a,e,f,k,m,b){this.zoomHor&&this.pinchTranslateDirection(!0,a,e,f,k,m,b);this.zoomVert&&this.pinchTranslateDirection(!1,a,e,f,k,m,b)}pinchTranslateDirection(a,e, +f,k,m,b,g,c){const d=this.chart,h=a?"x":"y",p=a?"X":"Y",r="chart"+p,n=a?"width":"height",q=d["plot"+(a?"Left":"Top")],t=d.inverted,w=d.bounds[a?"h":"v"],u=1===e.length,y=e[0][r],v=!u&&e[1][r];e=function(){"number"===typeof W&&20w.max&&(f=w.max-x,R=!0);R?(I-=.8*(I-g[h][0]),"number"===typeof W&&(W-=.8*(W-g[h][1])),e()):g[h]=[I, +W];t||(b[h]=C-q,b[n]=x);b=t?1/Q:Q;m[n]=x;m[h]=f;k[t?a?"scaleY":"scaleX":"scale"+p]=Q;k["translate"+p]=b*q+(I-b*y)}reset(a,e){const d=this.chart,h=d.hoverSeries,f=d.hoverPoint,b=d.hoverPoints,g=d.tooltip,c=g&&g.shared?b:f;a&&c&&K(c).forEach(function(b){b.series.isCartesian&&"undefined"===typeof b.plotX&&(a=!1)});if(a)g&&c&&K(c).length&&(g.refresh(c),g.shared&&b?b.forEach(function(b){b.setState(b.state,!0);b.series.isCartesian&&(b.series.xAxis.crosshair&&b.series.xAxis.drawCrosshair(null,b),b.series.yAxis.crosshair&& +b.series.yAxis.drawCrosshair(null,b))}):f&&(f.setState(f.state,!0),d.axes.forEach(function(b){b.crosshair&&f.series[b.coll]===b&&b.drawCrosshair(null,f)})));else{if(f)f.onMouseOut();b&&b.forEach(function(b){b.setState()});if(h)h.onMouseOut();g&&g.hide(e);this.unDocMouseMove&&(this.unDocMouseMove=this.unDocMouseMove());d.axes.forEach(function(b){b.hideCrosshair()});this.hoverX=d.hoverPoints=d.hoverPoint=null}}runPointActions(a,e,f){const d=this.chart,h=d.tooltip&&d.tooltip.options.enabled?d.tooltip: +void 0,b=h?h.shared:!1;let g=e||d.hoverPoint,c=g&&g.series||d.hoverSeries;e=this.getHoverData(g,c,d.series,(!a||"touchmove"!==a.type)&&(!!e||c&&c.directTouch&&this.isDirectTouch),b,a);g=e.hoverPoint;c=e.hoverSeries;const l=e.hoverPoints;e=c&&c.tooltipOptions.followPointer&&!c.tooltipOptions.split;const k=b&&c&&!c.noSharedTooltip;if(g&&(f||g!==d.hoverPoint||h&&h.isHidden)){(d.hoverPoints||[]).forEach(function(b){-1===l.indexOf(b)&&b.setState()});if(d.hoverSeries!==c)c.onMouseOver();this.applyInactiveState(l); +(l||[]).forEach(function(b){b.setState("hover")});d.hoverPoint&&d.hoverPoint.firePointEvent("mouseOut");if(!g.series)return;d.hoverPoints=l;d.hoverPoint=g;g.firePointEvent("mouseOver",void 0,()=>{h&&g&&h.refresh(k?l:g,a)})}else e&&h&&!h.isHidden&&(f=h.getAnchor([{}],a),d.isInsidePlot(f[0],f[1],{visiblePlotOnly:!0})&&h.updatePosition({plotX:f[0],plotY:f[1]}));this.unDocMouseMove||(this.unDocMouseMove=D(d.container.ownerDocument,"mousemove",function(b){const a=B[F.hoverChartIndex];if(a)a.pointer.onDocumentMouseMove(b)}), +this.eventsToUnbind.push(this.unDocMouseMove));d.axes.forEach(function(b){const c=q((b.crosshair||{}).snap,!0);let g;c&&((g=d.hoverPoint)&&g.series[b.coll]===b||(g=m(l,a=>a.series&&a.series[b.coll]===b)));g||!c?b.drawCrosshair(a,g):b.hideCrosshair()})}scaleGroups(a,e){const d=this.chart;d.series.forEach(function(h){const f=a||h.getPlotBox();h.group&&(h.xAxis&&h.xAxis.zoomEnabled||d.mapView)&&(h.group.attr(f),h.markerGroup&&(h.markerGroup.attr(f),h.markerGroup.clip(e?d.clipRect:null)),h.dataLabelsGroup&& +h.dataLabelsGroup.attr(f))});d.clipRect.attr(e||d.clipBox)}setDOMEvents(){const a=this.chart.container,e=a.ownerDocument;a.onmousedown=this.onContainerMouseDown.bind(this);a.onmousemove=this.onContainerMouseMove.bind(this);a.onclick=this.onContainerClick.bind(this);this.eventsToUnbind.push(D(a,"mouseenter",this.onContainerMouseEnter.bind(this)));this.eventsToUnbind.push(D(a,"mouseleave",this.onContainerMouseLeave.bind(this)));F.unbindDocumentMouseUp||(F.unbindDocumentMouseUp=D(e,"mouseup",this.onDocumentMouseUp.bind(this))); +let f=this.chart.renderTo.parentElement;for(;f&&"BODY"!==f.tagName;)this.eventsToUnbind.push(D(f,"scroll",()=>{delete this.chartPosition})),f=f.parentElement;z.hasTouch&&(this.eventsToUnbind.push(D(a,"touchstart",this.onContainerTouchStart.bind(this),{passive:!1})),this.eventsToUnbind.push(D(a,"touchmove",this.onContainerTouchMove.bind(this),{passive:!1})),F.unbindDocumentTouchEnd||(F.unbindDocumentTouchEnd=D(e,"touchend",this.onDocumentTouchEnd.bind(this),{passive:!1})))}setHoverChartIndex(){const a= +this.chart,e=z.charts[q(F.hoverChartIndex,-1)];if(e&&e!==a)e.pointer.onContainerMouseLeave({relatedTarget:a.container});e&&e.mouseIsDown||(F.hoverChartIndex=a.index)}touch(a,e){const d=this.chart;let f,h;this.setHoverChartIndex();1===a.touches.length?(a=this.normalize(a),(h=d.isInsidePlot(a.chartX-d.plotLeft,a.chartY-d.plotTop,{visiblePlotOnly:!0}))&&!d.openMenu?(e&&this.runPointActions(a),"touchmove"===a.type&&(e=this.pinchDown,f=e[0]?4<=Math.sqrt(Math.pow(e[0].chartX-a.chartX,2)+Math.pow(e[0].chartY- +a.chartY,2)):!1),q(f,!0)&&this.pinch(a)):e&&this.reset()):2===a.touches.length&&this.pinch(a)}touchSelect(a){return!(!this.chart.options.chart.zooming.singleTouch||!a.touches||1!==a.touches.length)}zoomOption(a){var d=this.chart,e=d.options.chart;d=d.inverted;let f=e.zooming.type||"";/touch/.test(a.type)&&(f=q(e.zooming.pinchType,f));this.zoomX=a=/x/.test(f);this.zoomY=e=/y/.test(f);this.zoomHor=a&&!d||e&&d;this.zoomVert=e&&!d||a&&d;this.hasZoom=a||e}}(function(a){const d=[],e=[];a.compose=function(d){G.pushUnique(e, +d)&&D(d,"beforeRender",function(){this.pointer=new a(this,this.options)})};a.dissolve=function(){for(let a=0,e=d.length;a{this.proximate&&(this.proximatePositions(),this.positionItems())}))}setOptions(b){const a=d(b.padding,8);this.options=b;this.chart.styledMode||(this.itemStyle= +b.itemStyle,this.itemHiddenStyle=F(this.itemStyle,b.itemHiddenStyle));this.itemMarginTop=b.itemMarginTop;this.itemMarginBottom=b.itemMarginBottom;this.padding=a;this.initialItemY=a-5;this.symbolWidth=d(b.symbolWidth,16);this.pages=[];this.proximate="proximate"===b.layout&&!this.chart.inverted;this.baseline=void 0}update(b,a){const c=this.chart;this.setOptions(F(!0,this.options,b));this.destroy();c.isDirtyLegend=c.isDirtyBox=!0;d(a,!0)&&c.redraw();q(this,"afterUpdate")}colorizeItem(b,a){const {group:c, +label:g,line:d,symbol:e}=b.legendItem||{};if(c)c[a?"removeClass":"addClass"]("highcharts-legend-item-hidden");if(!this.chart.styledMode){var f=this.options;const c=this.itemHiddenStyle.color;f=a?f.itemStyle.color:c;const l=a?b.color||c:c,h=b.options&&b.options.marker;let k={fill:l};g&&g.css({fill:f});d&&d.attr({stroke:l});e&&(h&&e.isMarker&&(k=b.pointAttribs(),a||(k.stroke=k.fill=c)),e.attr(k))}q(this,"afterColorizeItem",{item:b,visible:a})}positionItems(){this.allItems.forEach(this.positionItem, +this);this.chart.isResizing||this.positionCheckboxes()}positionItem(b){const {group:a,x:c=0,y:d=0}=b.legendItem||{};var e=this.options,f=e.symbolPadding;const h=!e.rtl;e=b.checkbox;a&&a.element&&(f={translateX:h?c:this.legendWidth-c-2*f-4,translateY:d},a[t(a.translateY)?"animate":"attr"](f,void 0,()=>{q(this,"afterPositionItem",{item:b})}));e&&(e.x=c,e.y=d)}destroyItem(b){const a=b.checkbox,c=b.legendItem||{};for(const b of["group","label","line","symbol"])c[b]&&(c[b]=c[b].destroy());a&&n(a);b.legendItem= +void 0}destroy(){for(const b of this.getAllItems())this.destroyItem(b);for(const b of"clipRect up down pager nav box title group".split(" "))this[b]&&(this[b]=this[b].destroy());this.display=null}positionCheckboxes(){const b=this.group&&this.group.alignAttr,a=this.clipHeight||this.legendHeight,c=this.titleHeight;let d;b&&(d=b.translateY,this.allItems.forEach(function(g){const e=g.checkbox;let l;e&&(l=d+c+e.y+(this.scrollOffset||0)+3,k(e,{left:b.translateX+g.checkboxOffset+e.x-20+"px",top:l+"px",display:this.proximate|| +l>d-6&&l1.5*e?c.height:e))}layoutItem(b){var a=this.options;const c=this.padding,e="horizontal"===a.layout,f=b.itemHeight,h=this.itemMarginBottom,k=this.itemMarginTop,m=e?d(a.itemDistance,20):0,p=this.maxLegendWidth; +a=a.alignColumns&&this.totalItemWidth>p?this.maxItemWidth:b.itemWidth;const r=b.legendItem||{};e&&this.itemX-c+a>p&&(this.itemX=c,this.lastLineHeight&&(this.itemY+=k+this.lastLineHeight+h),this.lastLineHeight=0);this.lastItemY=k+this.itemY+h;this.lastLineHeight=Math.max(f,this.lastLineHeight);r.x=this.itemX;r.y=this.itemY;e?this.itemX+=a:(this.itemY+=k+f+h,this.lastLineHeight=f);this.offsetWidth=this.widthOption||Math.max((e?this.itemX-c-(b.checkbox?0:m):a)+c,this.offsetWidth)}getAllItems(){let b= +[];this.chart.series.forEach(function(a){const c=a&&a.options;a&&d(c.showInLegend,t(c.linkedTo)?!1:void 0,!0)&&(b=b.concat((a.legendItem||{}).labels||("point"===c.legendType?a.data:a)))});q(this,"afterGetAllItems",{allItems:b});return b}getAlignment(){const b=this.options;return this.proximate?b.align.charAt(0)+"tv":b.floating?"":b.align.charAt(0)+b.verticalAlign.charAt(0)+b.layout.charAt(0)}adjustMargins(b,a){const c=this.chart,g=this.options,e=this.getAlignment();e&&[/(lth|ct|rth)/,/(rtv|rm|rbv)/, +/(rbh|cb|lbh)/,/(lbv|lm|ltv)/].forEach(function(f,l){f.test(e)&&!t(b[l])&&(c[u[l]]=Math.max(c[u[l]],c.legend[(l+1)%2?"legendHeight":"legendWidth"]+[1,-1,-1,1][l]*g[l%2?"x":"y"]+d(g.margin,12)+a[l]+(c.titleOffset[l]||0)))})}proximatePositions(){const b=this.chart,a=[],c="left"===this.options.align;this.allItems.forEach(function(d){var g;var e=c;let l;d.yAxis&&(d.xAxis.options.reversed&&(e=!e),d.points&&(g=f(e?d.points:d.points.slice(0).reverse(),function(b){return K(b.plotY)})),e=this.itemMarginTop+ +d.legendItem.label.getBBox().height+this.itemMarginBottom,l=d.yAxis.top-b.plotTop,d.visible?(g=g?g.plotY:d.yAxis.height,g+=l-.3*e):g=l+d.yAxis.height,a.push({target:g,size:e,item:d}))},this);let d;for(const c of e(a,b.plotHeight))d=c.item.legendItem||{},K(c.pos)&&(d.y=b.plotTop-b.spacing[0]+c.pos)}render(){const b=this.chart,a=b.renderer,c=this.options,d=this.padding;var e=this.getAllItems();let f,k=this.group,m=this.box;this.itemX=d;this.itemY=this.initialItemY;this.lastItemY=this.offsetWidth=0; +this.widthOption=h(c.width,b.spacingBox.width-d);var r=b.spacingBox.width-2*d-c.x;-1<["rm","lm"].indexOf(this.getAlignment().substring(0,2))&&(r/=2);this.maxLegendWidth=this.widthOption||r;k||(this.group=k=a.g("legend").addClass(c.className||"").attr({zIndex:7}).add(),this.contentGroup=a.g().attr({zIndex:1}).add(k),this.scrollGroup=a.g().add(this.contentGroup));this.renderTitle();p(e,(b,a)=>(b.options&&b.options.legendIndex||0)-(a.options&&a.options.legendIndex||0));c.reversed&&e.reverse();this.allItems= +e;this.display=r=!!e.length;this.itemHeight=this.totalItemWidth=this.maxItemWidth=this.lastLineHeight=0;e.forEach(this.renderItem,this);e.forEach(this.layoutItem,this);e=(this.widthOption||this.offsetWidth)+d;f=this.lastItemY+this.lastLineHeight+this.titleHeight;f=this.handleOverflow(f);f+=d;m||(this.box=m=a.rect().addClass("highcharts-legend-box").attr({r:c.borderRadius}).add(k));b.styledMode||m.attr({stroke:c.borderColor,"stroke-width":c.borderWidth||0,fill:c.backgroundColor||"none"}).shadow(c.shadow); +if(0h&&!1!==r.enabled?(this.clipHeight=y=Math.max(h- +20-this.titleHeight-m,0),this.currentPage=d(this.currentPage,1),this.fullHeight=b,w.forEach((b,a)=>{v=b.legendItem||{};b=v.y||0;const c=Math.round(v.label.getBBox().height);let d=t.length;if(!d||b-t[d-1]>y&&(I||b)!==t[d-1])t.push(I||b),d++;v.pageIx=d-1;I&&((w[a-1].legendItem||{}).pageIx=d-1);a===w.length-1&&b+c-t[d-1]>y&&b>t[d-1]&&(t.push(b),v.pageIx=d);b!==I&&(I=b)}),X||(X=a.clipRect=e.clipRect(0,m-2,9999,0),a.contentGroup.clip(X)),u(y),x||(this.nav=x=e.g().attr({zIndex:1}).add(this.group),this.up= +e.symbol("triangle",0,0,q,q).add(x),C("upTracker").on("click",function(){a.scroll(-1,n)}),this.pager=e.text("",15,10).addClass("highcharts-legend-navigation"),!c.styledMode&&r.style&&this.pager.css(r.style),this.pager.add(x),this.down=e.symbol("triangle-down",0,0,q,q).add(x),C("downTracker").on("click",function(){a.scroll(1,n)})),a.scroll(0),b=h):x&&(u(),this.nav=x.destroy(),this.scrollGroup.attr({translateY:1}),this.clipHeight=0);return b}scroll(b,a){const c=this.chart,g=this.pages,e=g.length,f= +this.clipHeight,h=this.options.navigation,k=this.pager,m=this.padding;let p=this.currentPage+b;p>e&&(p=e);0{q(this,"afterScroll",{currentPage:p})}, +b.duration))}setItemEvents(b,a,c){const d=this,e=b.legendItem||{},g=d.chart.renderer.boxWrapper,f=b instanceof J,h="highcharts-legend-"+(f?"point":"series")+"-active",k=d.chart.styledMode;c=c?[a,e.symbol]:[e.group];const m=a=>{d.allItems.forEach(c=>{b!==c&&[c].concat(c.linkedSeries||[]).forEach(b=>{b.setState(a,!f)})})};for(const e of c)if(e)e.on("mouseover",function(){b.visible&&m("inactive");b.setState("hover");b.visible&&g.addClass(h);k||a.css(d.options.itemHoverStyle)}).on("mouseout",function(){d.chart.styledMode|| +a.css(F(b.visible?d.itemStyle:d.itemHiddenStyle));m("");g.removeClass(h);b.setState()}).on("click",function(a){const c=function(){b.setVisible&&b.setVisible();m(b.visible?"inactive":"")};g.removeClass(h);a={browserEvent:a};b.firePointEvent?b.firePointEvent("legendItemClick",a,c):q(b,"legendItemClick",a,c)})}createCheckboxForItem(b){b.checkbox=w("input",{type:"checkbox",className:"highcharts-legend-checkbox",checked:b.selected,defaultChecked:b.selected},this.options.itemCheckboxStyle,this.chart.container); +m(b.checkbox,"click",function(a){q(b.series||b,"checkboxClick",{checked:a.target.checked,item:b},function(){b.select()})})}}(function(b){const a=[];b.compose=function(c){E.pushUnique(a,c)&&m(c,"beforeMargins",function(){this.legend=new b(this,this.options.legend)})}})(y||(y={}));"";return y});L(a,"Core/Series/SeriesRegistry.js",[a["Core/Globals.js"],a["Core/Defaults.js"],a["Core/Series/Point.js"],a["Core/Utilities.js"]],function(a,z,G,J){const {defaultOptions:x}=z,{extendClass:E,merge:D}=J;var A; +(function(v){function u(a,m){const e=x.plotOptions||{},k=m.defaultOptions,t=m.prototype;t.type=a;t.pointClass||(t.pointClass=G);k&&(e[a]=k);v.seriesTypes[a]=m}v.seriesTypes=a.seriesTypes;v.registerSeriesType=u;v.seriesType=function(a,m,w,k,t){const e=x.plotOptions||{};m=m||"";e[a]=D(e[m],w);u(a,E(v.seriesTypes[m]||function(){},k));v.seriesTypes[a].prototype.type=a;t&&(v.seriesTypes[a].prototype.pointClass=E(G,t));return v.seriesTypes[a]}})(A||(A={}));return A});L(a,"Core/Chart/Chart.js",[a["Core/Animation/AnimationUtilities.js"], +a["Core/Axis/Axis.js"],a["Core/Defaults.js"],a["Core/FormatUtilities.js"],a["Core/Foundation.js"],a["Core/Globals.js"],a["Core/Renderer/RendererRegistry.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Renderer/SVG/SVGRenderer.js"],a["Core/Time.js"],a["Core/Utilities.js"],a["Core/Renderer/HTML/AST.js"]],function(a,z,G,J,B,E,D,A,v,u,e,m){const {animate:w,animObject:k,setAnimation:t}=a,{defaultOptions:n,defaultTime:f}=G,{numberFormat:q}=J,{registerEventOptions:x}=B,{charts:F,doc:d,marginNames:h,svg:p, +win:r}=E,{seriesTypes:y}=A,{addEvent:b,attr:g,cleanRecursively:c,createElement:l,css:N,defined:O,discardElement:M,erase:aa,error:U,extend:V,find:H,fireEvent:P,getStyle:L,isArray:fa,isNumber:Z,isObject:C,isString:Q,merge:I,objectEach:W,pick:R,pInt:X,relativeLength:Y,removeEvent:ia,splat:ca,syncTimeout:ha,uniqueKey:ka}=e;class da{static chart(b,a,c){return new da(b,a,c)}constructor(b,a,c){this.series=this.renderTo=this.renderer=this.pointer=this.pointCount=this.plotWidth=this.plotTop=this.plotLeft= +this.plotHeight=this.plotBox=this.options=this.numberFormatter=this.margin=this.labelCollectors=this.isResizing=this.index=this.eventOptions=this.container=this.colorCounter=this.clipBox=this.chartWidth=this.chartHeight=this.bounds=this.axisOffset=this.axes=void 0;this.sharedClips={};this.yAxis=this.xAxis=this.userOptions=this.titleOffset=this.time=this.symbolCounter=this.spacingBox=this.spacing=void 0;this.getArgs(b,a,c)}getArgs(b,a,c){Q(b)||b.nodeName?(this.renderTo=b,this.init(a,c)):this.init(b, +a)}init(b,a){const c=b.plotOptions||{};P(this,"init",{args:arguments},function(){const d=I(n,b),e=d.chart;W(d.plotOptions,function(b,a){C(b)&&(b.tooltip=c[a]&&I(c[a].tooltip)||void 0)});d.tooltip.userOptions=b.chart&&b.chart.forExport&&b.tooltip.userOptions||b.tooltip;this.userOptions=b;this.margin=[];this.spacing=[];this.bounds={h:{},v:{}};this.labelCollectors=[];this.callback=a;this.isResizing=0;const g=e.zooming=e.zooming||{};b.chart&&!b.chart.zooming&&(g.resetButton=e.resetZoomButton);g.key=R(g.key, +e.zoomKey);g.pinchType=R(g.pinchType,e.pinchType);g.singleTouch=R(g.singleTouch,e.zoomBySingleTouch);g.type=R(g.type,e.zoomType);this.options=d;this.axes=[];this.series=[];this.time=b.time&&Object.keys(b.time).length?new u(b.time):E.time;this.numberFormatter=e.numberFormatter||q;this.styledMode=e.styledMode;this.hasCartesianSeries=e.showAxes;this.index=F.length;F.push(this);E.chartCount++;x(this,e);this.xAxis=[];this.yAxis=[];this.pointCount=this.colorCounter=this.symbolCounter=0;P(this,"afterInit"); +this.firstRender()})}initSeries(b){var a=this.options.chart;a=b.type||a.type;const c=y[a];c||U(17,!0,this,{missingModuleFor:a});a=new c;"function"===typeof a.init&&a.init(this,b);return a}setSeriesData(){this.getSeriesOrderByLinks().forEach(function(b){b.points||b.data||!b.enabledDataSorting||b.setData(b.options.data,!1)})}getSeriesOrderByLinks(){return this.series.concat().sort(function(b,a){return b.linkedSeries.length||a.linkedSeries.length?a.linkedSeries.length-b.linkedSeries.length:0})}orderSeries(b){const a= +this.series;for(let c=b||0,d=a.length;c=Math.max(l+g,a.pos)&&r<=Math.min(l+g+p.width,a.pos+a.len)||(b.isInsidePlot=!1)}!c.ignoreY&&b.isInsidePlot&&(l=!d&&c.axis&&!c.axis.isXAxis&&c.axis||m&&(d?m.xAxis:m.yAxis)||{pos:f,len:Infinity},c=c.paneCoordinates?l.pos+a:f+a,c>=Math.max(k+f,l.pos)&&c<=Math.min(k+f+p.height,l.pos+l.len)||(b.isInsidePlot=!1));P(this,"afterIsInsidePlot",b);return b.isInsidePlot}redraw(b){P(this,"beforeRedraw");const a=this.hasCartesianSeries?this.axes:this.colorAxis||[],c=this.series, +d=this.pointer,g=this.legend,e=this.userOptions.legend,f=this.renderer,h=f.isHidden(),l=[];let k,m,p=this.isDirtyBox,r=this.isDirtyLegend,C;f.rootFontSize=f.boxWrapper.getStyle("font-size");this.setResponsive&&this.setResponsive(!1);t(this.hasRendered?b:!1,this);h&&this.temporaryDisplay();this.layOutTitles();for(b=c.length;b--;)if(C=c[b],C.options.stacking||C.options.centerInCategory)if(m=!0,C.isDirty){k=!0;break}if(k)for(b=c.length;b--;)C=c[b],C.options.stacking&&(C.isDirty=!0);c.forEach(function(b){b.isDirty&& +("point"===b.options.legendType?("function"===typeof b.updateTotals&&b.updateTotals(),r=!0):e&&(e.labelFormatter||e.labelFormat)&&(r=!0));b.isDirtyData&&P(b,"updatedData")});r&&g&&g.options.enabled&&(g.render(),this.isDirtyLegend=!1);m&&this.getStacks();a.forEach(function(b){b.updateNames();b.setScale()});this.getMargins();a.forEach(function(b){b.isDirty&&(p=!0)});a.forEach(function(b){const a=b.min+","+b.max;b.extKey!==a&&(b.extKey=a,l.push(function(){P(b,"afterSetExtremes",V(b.eventArgs,b.getExtremes())); +delete b.eventArgs}));(p||m)&&b.redraw()});p&&this.drawChartBox();P(this,"predraw");c.forEach(function(b){(p||b.isDirty)&&b.visible&&b.redraw();b.isDirtyData=!1});d&&d.reset(!0);f.draw();P(this,"redraw");P(this,"render");h&&this.temporaryDisplay(!0);l.forEach(function(b){b.call()})}get(b){function a(a){return a.id===b||a.options&&a.options.id===b}const c=this.series;let d=H(this.axes,a)||H(this.series,a);for(let b=0;!d&&b{a.getPointsCollection().forEach(a=>{R(a.selectedStaging,a.selected)&&b.push(a)});return b},[])}getSelectedSeries(){return this.series.filter(function(b){return b.selected})}setTitle(b,a,c){this.applyDescription("title",b); +this.applyDescription("subtitle",a);this.applyDescription("caption",void 0);this.layOutTitles(c)}applyDescription(b,a){const c=this;var d="title"===b?{color:"#333333",fontSize:this.options.isStock?"1em":"1.2em",fontWeight:"bold"}:{color:"#666666",fontSize:"0.8em"};d=this.options[b]=I(!this.styledMode&&{style:d},this.options[b],a);let g=this[b];g&&a&&(this[b]=g=g.destroy());d&&!g&&(g=this.renderer.text(d.text,0,0,d.useHTML).attr({align:d.align,"class":"highcharts-"+b,zIndex:d.zIndex||4}).add(),g.update= +function(a){c[{title:"setTitle",subtitle:"setSubtitle",caption:"setCaption"}[b]](a)},this.styledMode||g.css(d.style),this[b]=g)}layOutTitles(b){const a=[0,0,0],c=this.renderer,d=this.spacingBox;["title","subtitle","caption"].forEach(function(b){const g=this[b],e=this.options[b],f=e.verticalAlign||"top";b="title"===b?"top"===f?-3:0:"top"===f?a[0]+2:0;if(g){g.css({width:(e.width||d.width+(e.widthAdjust||0))+"px"});const h=c.fontMetrics(g).b,l=Math.round(g.getBBox(e.useHTML).height);g.align(V({y:"bottom"=== +f?h:b+h,height:l},e),!1,"spacingBox");e.floating||("top"===f?a[0]=Math.ceil(a[0]+l):"bottom"===f&&(a[2]=Math.ceil(a[2]+l)))}},this);a[0]&&"top"===(this.options.title.verticalAlign||"top")&&(a[0]+=this.options.title.margin);a[2]&&"bottom"===this.options.caption.verticalAlign&&(a[2]+=this.options.caption.margin);const g=!this.titleOffset||this.titleOffset.join(",")!==a.join(",");this.titleOffset=a;P(this,"afterLayOutTitles");!this.isDirtyBox&&g&&(this.isDirtyBox=this.isDirtyLegend=g,this.hasRendered&& +R(b,!0)&&this.isDirtyBox&&this.redraw())}getContainerBox(){return{width:L(this.renderTo,"width",!0)||0,height:L(this.renderTo,"height",!0)||0}}getChartSize(){var b=this.options.chart;const a=b.width;b=b.height;const c=this.getContainerBox();this.chartWidth=Math.max(0,a||c.width||600);this.chartHeight=Math.max(0,Y(b,this.chartWidth)||(1{var c;(null===(c=a.options)||void 0===c?0:c.chart.reflow)&&a.hasLoaded&&a.reflow(b)};"function"===typeof ResizeObserver?(new ResizeObserver(c)).observe(a.renderTo):(c=b(r,"resize",c),b(this,"destroy",c))}setSize(b,a,c){const d=this,g=d.renderer;d.isResizing+=1;t(c,d);c=g.globalAnimation;d.oldChartHeight=d.chartHeight;d.oldChartWidth=d.chartWidth;"undefined"!==typeof b&& +(d.options.chart.width=b);"undefined"!==typeof a&&(d.options.chart.height=a);d.getChartSize();d.styledMode||(c?w:N)(d.container,{width:d.chartWidth+"px",height:d.chartHeight+"px"},c);d.setChartSize(!0);g.setSize(d.chartWidth,d.chartHeight,c);d.axes.forEach(function(b){b.isDirty=!0;b.setScale()});d.isDirtyLegend=!0;d.isDirtyBox=!0;d.layOutTitles();d.getMargins();d.redraw(c);d.oldChartHeight=null;P(d,"resize");ha(function(){d&&P(d,"endResize",null,function(){--d.isResizing})},k(c).duration)}setChartSize(b){var a= +this.inverted;const c=this.renderer;var d=this.chartWidth,g=this.chartHeight;const e=this.options.chart,f=this.spacing,h=this.clipOffset;let l,k,m,p;this.plotLeft=l=Math.round(this.plotLeft);this.plotTop=k=Math.round(this.plotTop);this.plotWidth=m=Math.max(0,Math.round(d-l-this.marginRight));this.plotHeight=p=Math.max(0,Math.round(g-k-this.marginBottom));this.plotSizeX=a?p:m;this.plotSizeY=a?m:p;this.plotBorderWidth=e.plotBorderWidth||0;this.spacingBox=c.spacingBox={x:f[3],y:f[0],width:d-f[3]-f[1], +height:g-f[0]-f[2]};this.plotBox=c.plotBox={x:l,y:k,width:m,height:p};a=2*Math.floor(this.plotBorderWidth/2);d=Math.ceil(Math.max(a,h[3])/2);g=Math.ceil(Math.max(a,h[0])/2);this.clipBox={x:d,y:g,width:Math.floor(this.plotSizeX-Math.max(a,h[1])/2-d),height:Math.max(0,Math.floor(this.plotSizeY-Math.max(a,h[2])/2-g))};b||(this.axes.forEach(function(b){b.setAxisSize();b.setAxisTranslation()}),c.alignElements());P(this,"afterSetChartSize",{skipAxes:b})}resetMargins(){P(this,"resetMargins");const b=this, +a=b.options.chart;["margin","spacing"].forEach(function(c){const d=a[c],g=C(d)?d:[d,d,d,d];["Top","Right","Bottom","Left"].forEach(function(d,e){b[c][e]=R(a[c+d],g[e])})});h.forEach(function(a,c){b[a]=R(b.margin[c],b.spacing[c])});b.axisOffset=[0,0,0,0];b.clipOffset=[0,0,0,0]}drawChartBox(){const b=this.options.chart,a=this.renderer,c=this.chartWidth,d=this.chartHeight,g=this.styledMode,e=this.plotBGImage;var f=b.backgroundColor;const h=b.plotBackgroundColor,l=b.plotBackgroundImage,k=this.plotLeft, +m=this.plotTop,p=this.plotWidth,r=this.plotHeight,C=this.plotBox,q=this.clipRect,n=this.clipBox;let t=this.chartBackground,I=this.plotBackground,w=this.plotBorder,u,y,v="animate";t||(this.chartBackground=t=a.rect().addClass("highcharts-background").add(),v="attr");if(g)u=y=t.strokeWidth();else{u=b.borderWidth||0;y=u+(b.shadow?8:0);f={fill:f||"none"};if(u||t["stroke-width"])f.stroke=b.borderColor,f["stroke-width"]=u;t.attr(f).shadow(b.shadow)}t[v]({x:y/2,y:y/2,width:c-y-u%2,height:d-y-u%2,r:b.borderRadius}); +v="animate";I||(v="attr",this.plotBackground=I=a.rect().addClass("highcharts-plot-background").add());I[v](C);g||(I.attr({fill:h||"none"}).shadow(b.plotShadow),l&&(e?(l!==e.attr("href")&&e.attr("href",l),e.animate(C)):this.plotBGImage=a.image(l,k,m,p,r).add()));q?q.animate({width:n.width,height:n.height}):this.clipRect=a.clipRect(n);v="animate";w||(v="attr",this.plotBorder=w=a.rect().addClass("highcharts-plot-border").attr({zIndex:1}).add());g||w.attr({stroke:b.plotBorderColor,"stroke-width":b.plotBorderWidth|| +0,fill:"none"});w[v](w.crisp({x:k,y:m,width:p,height:r},-w.strokeWidth()));this.isDirtyBox=!1;P(this,"afterDrawChartBox")}propFromSeries(){const b=this,a=b.options.chart,c=b.options.series;let d,g,e;["inverted","angular","polar"].forEach(function(f){g=y[a.type];e=a[f]||g&&g.prototype[f];for(d=c&&c.length;!e&&d--;)(g=y[c[d].type])&&g.prototype[f]&&(e=!0);b[f]=e})}linkSeries(b){const a=this,c=a.series;c.forEach(function(b){b.linkedSeries.length=0});c.forEach(function(b){let c=b.options.linkedTo;Q(c)&& +(c=":previous"===c?a.series[b.index-1]:a.get(c))&&c.linkedParent!==b&&(c.linkedSeries.push(b),b.linkedParent=c,c.enabledDataSorting&&b.setDataSortingOptions(),b.visible=R(b.options.visible,c.options.visible,b.visible))});P(this,"afterLinkSeries",{isUpdating:b})}renderSeries(){this.series.forEach(function(b){b.translate();b.render()})}render(){const b=this.axes,a=this.colorAxis,c=this.renderer,d=function(b){b.forEach(function(b){b.visible&&b.render()})};let g=0;this.setTitle();P(this,"beforeMargins"); +this.getStacks&&this.getStacks();this.getMargins(!0);this.setChartSize();const e=this.plotWidth;b.some(function(b){if(b.horiz&&b.visible&&b.options.labels.enabled&&b.series.length)return g=21,!0});const f=this.plotHeight=Math.max(this.plotHeight-g,0);b.forEach(function(b){b.setScale()});this.getAxisMargins();const h=1.1a.pointCount))}pan(b,a){const c=this,d=c.hoverPoints;a="object"===typeof a?a:{enabled:a,type:"x"};const e=c.options.chart;e&&e.panning&&(e.panning=a);const g=a.type;let f;P(this,"pan",{originalEvent:b},function(){d&&d.forEach(function(b){b.setState()});let a=c.xAxis;"xy"===g?a=a.concat(c.yAxis):"y"===g&&(a=c.yAxis);const e={};a.forEach(function(a){if(a.options.panningEnabled&&!a.options.isInternal){var d=a.horiz,h=b[d?"chartX":"chartY"];d= +d?"mouseDownX":"mouseDownY";var l=c[d],k=a.minPointOffset||0,m=a.reversed&&!c.inverted||!a.reversed&&c.inverted?-1:1,p=a.getExtremes(),r=a.toValue(l-h,!0)+k*m,C=a.toValue(l+a.len-h,!0)-(k*m||a.isXAxis&&a.pointRangePadding||0),q=C=m&&r<=C&&(a.setExtremes(l,r,!1,!1,{trigger:"pan"}),!c.resetZoomButton&& +l!==m&&r!==C&&g.match("y")&&(c.showResetZoom(),a.displayBtn=!1),f=!0),e[d]=h)}});W(e,(b,a)=>{c[a]=b});f&&c.redraw(!1);N(c.container,{cursor:"move"})})}}V(da.prototype,{callbacks:[],collectionsWithInit:{xAxis:[da.prototype.addAxis,[!0]],yAxis:[da.prototype.addAxis,[!1]],series:[da.prototype.addSeries]},collectionsWithUpdate:["xAxis","yAxis","series"],propsRequireDirtyBox:"backgroundColor borderColor borderWidth borderRadius plotBackgroundColor plotBackgroundImage plotBorderColor plotBorderWidth plotShadow shadow".split(" "), +propsRequireReflow:"margin marginTop marginRight marginBottom marginLeft spacing spacingTop spacingRight spacingBottom spacingLeft".split(" "),propsRequireUpdateSeries:"chart.inverted chart.polar chart.ignoreHiddenSeries chart.type colors plotOptions time tooltip".split(" ")});"";return da});L(a,"Core/Legend/LegendSymbol.js",[a["Core/Utilities.js"]],function(a){const {extend:x,merge:G,pick:J}=a;var B;(function(a){a.lineMarker=function(a,A){A=this.legendItem=this.legendItem||{};var v=this.options; +const u=a.symbolWidth,e=a.symbolHeight,m=e/2,w=this.chart.renderer,k=A.group;a=a.baseline-Math.round(.3*a.fontMetrics.b);let t={},n=v.marker,f=0;this.chart.styledMode||(t={"stroke-width":Math.min(v.lineWidth||0,24)},v.dashStyle?t.dashstyle=v.dashStyle:"square"!==v.linecap&&(t["stroke-linecap"]="round"));A.line=w.path().addClass("highcharts-graph").attr(t).add(k);t["stroke-linecap"]&&(f=Math.min(A.line.strokeWidth(),u)/2);u&&A.line.attr({d:[["M",f,a],["L",u-f,a]]});n&&!1!==n.enabled&&u&&(v=Math.min(J(n.radius, +m),m),0===this.symbol.indexOf("url")&&(n=G(n,{width:e,height:e}),v=0),A.symbol=A=w.symbol(this.symbol,u/2-v,a-v,2*v,2*v,x({context:"legend"},n)).addClass("highcharts-point").add(k),A.isMarker=!0)};a.rectangle=function(a,x){x=x.legendItem||{};const v=a.symbolHeight,u=a.options.squareSymbol;x.symbol=this.chart.renderer.rect(u?(a.symbolWidth-v)/2:0,a.baseline-v+1,u?v:a.symbolWidth,v,J(a.options.symbolRadius,v/2)).addClass("highcharts-point").attr({zIndex:3}).add(x.group)}})(B||(B={}));return B});L(a, +"Core/Series/SeriesDefaults.js",[],function(){return{lineWidth:1,allowPointSelect:!1,crisp:!0,showCheckbox:!1,animation:{duration:1E3},events:{},marker:{enabledThreshold:2,lineColor:"#ffffff",lineWidth:0,radius:4,states:{normal:{animation:!0},hover:{animation:{duration:150},enabled:!0,radiusPlus:2,lineWidthPlus:1},select:{fillColor:"#cccccc",lineColor:"#000000",lineWidth:2}}},point:{events:{}},dataLabels:{animation:{},align:"center",borderWidth:0,defer:!0,formatter:function(){const {numberFormatter:a}= +this.series.chart;return"number"!==typeof this.y?"":a(this.y,-1)},padding:5,style:{fontSize:"0.7em",fontWeight:"bold",color:"contrast",textOutline:"1px contrast"},verticalAlign:"bottom",x:0,y:0},cropThreshold:300,opacity:1,pointRange:0,softThreshold:!0,states:{normal:{animation:!0},hover:{animation:{duration:150},lineWidthPlus:1,marker:{},halo:{size:10,opacity:.25}},select:{animation:{duration:0}},inactive:{animation:{duration:150},opacity:.2}},stickyTracking:!0,turboThreshold:1E3,findNearestPointBy:"x"}}); +L(a,"Core/Series/Series.js",[a["Core/Animation/AnimationUtilities.js"],a["Core/Defaults.js"],a["Core/Foundation.js"],a["Core/Globals.js"],a["Core/Legend/LegendSymbol.js"],a["Core/Series/Point.js"],a["Core/Series/SeriesDefaults.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Renderer/SVG/SVGElement.js"],a["Core/Utilities.js"]],function(a,z,G,J,B,E,D,A,v,u){const {animObject:e,setAnimation:m}=a,{defaultOptions:w}=z,{registerEventOptions:k}=G,{hasTouch:t,svg:n,win:f}=J,{seriesTypes:q}=A,{arrayMax:x, +arrayMin:F,clamp:d,cleanRecursively:h,correctFloat:p,defined:r,erase:y,error:b,extend:g,find:c,fireEvent:l,getNestedProperty:N,isArray:O,isNumber:M,isString:aa,merge:U,objectEach:V,pick:H,removeEvent:P,splat:L,syncTimeout:fa}=u;class Z{constructor(){this.zones=this.yAxis=this.xAxis=this.userOptions=this.tooltipOptions=this.processedYData=this.processedXData=this.points=this.options=this.linkedSeries=this.index=this.eventsToUnbind=this.eventOptions=this.data=this.chart=this._i=void 0}init(b,a){l(this, +"init",{options:a});const c=this,d=b.series;this.eventsToUnbind=[];c.chart=b;c.options=c.setOptions(a);a=c.options;c.linkedSeries=[];c.bindAxes();g(c,{name:a.name,state:"",visible:!1!==a.visible,selected:!0===a.selected});k(this,a);const e=a.events;if(e&&e.click||a.point&&a.point.events&&a.point.events.click||a.allowPointSelect)b.runTrackerClick=!0;c.getColor();c.getSymbol();c.parallelArrays.forEach(function(b){c[b+"Data"]||(c[b+"Data"]=[])});c.isCartesian&&(b.hasCartesianSeries=!0);let f;d.length&& +(f=d[d.length-1]);c._i=H(f&&f._i,-1)+1;c.opacity=c.options.opacity;b.orderSeries(this.insert(d));a.dataSorting&&a.dataSorting.enabled?c.setDataSortingOptions():c.points||c.data||c.setData(a.data,!1);l(this,"afterInit")}is(b){return q[b]&&this instanceof q[b]}insert(b){const a=this.options.index;let c;if(M(a)){for(c=b.length;c--;)if(a>=H(b[c].options.index,b[c]._i)){b.splice(c+1,0,this);break}-1===c&&b.unshift(this);c+=1}else b.push(this);return H(c,b.length-1)}bindAxes(){const a=this,c=a.options, +d=a.chart;let e;l(this,"bindAxes",null,function(){(a.axisTypes||[]).forEach(function(g){let f=0;d[g].forEach(function(b){e=b.options;if(c[g]===f&&!e.isInternal||"undefined"!==typeof c[g]&&c[g]===e.id||"undefined"===typeof c[g]&&0===e.index)a.insert(b.series),a[g]=b,b.isDirty=!0;e.isInternal||f++});a[g]||a.optionalAxis===g||b(18,!0,d)})});l(this,"afterBindAxes")}updateParallelArrays(b,a,c){const d=b.series,e=M(a)?function(c){const e="y"===c&&d.toYData?d.toYData(b):b[c];d[c+"Data"][a]=e}:function(b){Array.prototype[a].apply(d[b+ +"Data"],c)};d.parallelArrays.forEach(e)}hasData(){return this.visible&&"undefined"!==typeof this.dataMax&&"undefined"!==typeof this.dataMin||this.visible&&this.yData&&0!a.touched&&a.index===b.index,f&&f.matchByName?h=a=>!a.touched&&a.name===b.name:this.options.relativeXValue&&(h=a=>!a.touched&&a.options.x===b.x),h=c(g,h),!h)return;h&&(k=h&&h.index,"undefined"!==typeof k&&(l=!0));"undefined"===typeof k&&M(e)&&(k=this.xData.indexOf(e,a));-1!==k&&"undefined"!== +typeof k&&this.cropped&&(k=k>=this.cropStart?k-this.cropStart:k);!l&&M(k)&&g[k]&&g[k].touched&&(k=void 0);return k}updateData(b,a){const c=this.options,d=c.dataSorting,e=this.points,g=[],f=this.requireSorting,h=b.length===e.length;let l,k,m,p=!0;this.xIncrement=null;b.forEach(function(b,a){var k=r(b)&&this.pointClass.prototype.optionsToObject.call({series:this},b)||{};const p=k.x;if(k.id||M(p)){if(k=this.findPointIndex(k,m),-1===k||"undefined"===typeof k?g.push(b):e[k]&&b!==c.data[k]?(e[k].update(b, +!1,null,!1),e[k].touched=!0,f&&(m=k+1)):e[k]&&(e[k].touched=!0),!h||a!==k||d&&d.enabled||this.hasDerivedData)l=!0}else g.push(b)},this);if(l)for(b=e.length;b--;)(k=e[b])&&!k.touched&&k.remove&&k.remove(!1,a);else!h||d&&d.enabled?p=!1:(b.forEach(function(b,a){b===e[a].y||e[a].destroyed||e[a].update(b,!1,null,!1)}),g.length=0);e.forEach(function(b){b&&(b.touched=!1)});if(!p)return!1;g.forEach(function(b){this.addPoint(b,!1,null,null,!1)},this);null===this.xIncrement&&this.xData&&this.xData.length&& +(this.xIncrement=x(this.xData),this.autoIncrement());return!0}setData(a,c=!0,d,e){var g;const f=this,h=f.points,l=h&&h.length||0,k=f.options,m=f.chart,p=k.dataSorting,r=f.xAxis,n=k.turboThreshold,q=this.xData,t=this.yData;var C=f.pointArrayMap;C=C&&C.length;const w=k.keys;let u,y=0,I=1,v=null;if(!m.options.chart.allowMutatingData){k.data&&delete f.options.data;f.userOptions.data&&delete f.userOptions.data;var x=U(!0,a)}a=x||a||[];x=a.length;p&&p.enabled&&(a=this.sortData(a));m.options.chart.allowMutatingData&& +!1!==e&&x&&l&&!f.cropped&&!f.hasGroupedData&&f.visible&&!f.boosted&&(u=this.updateData(a,d));if(!u){f.xIncrement=null;f.colorCounter=0;this.parallelArrays.forEach(function(b){f[b+"Data"].length=0});if(n&&x>n)if(v=f.getFirstValidPoint(a),M(v))for(d=0;d{b=N(c,b);a=N(c,a);return ab?1:0}).forEach(function(b,a){b.x=a},this);a.linkedSeries&&a.linkedSeries.forEach(function(a){const c=a.options,e=c.data;c.dataSorting&&c.dataSorting.enabled||!e||(e.forEach(function(c,g){e[g]=d(a, +c);b[g]&&(e[g].x=b[g].x,e[g].index=g)}),a.setData(e,!1))});return b}getProcessedData(a){var c=this.xAxis,d=this.options,e=d.cropThreshold;const g=a||this.getExtremesFromAll||d.getExtremesFromAll,f=this.isCartesian;a=c&&c.val2lin;d=!(!c||!c.logarithmic);let h=0,l;let k,m,p=this.xData,r=this.yData,q=this.requireSorting;var n=!1;const t=p.length;c&&(n=c.getExtremes(),k=n.min,m=n.max,n=!(!c.categories||c.names.length));if(f&&this.sorted&&!g&&(!e||t>e||this.forceCrop))if(p[t-1]m)p=[],r=[];else if(this.yData&& +(p[0]m)){var C=this.cropData(this.xData,this.yData,k,m);p=C.xData;r=C.yData;h=C.start;C=!0}for(e=p.length||1;--e;)c=d?a(p[e])-a(p[e-1]):p[e]-p[e-1],0c&&q&&!n&&(b(15,!1,this.chart),q=!1);return{xData:p,yData:r,cropped:C,cropStart:h,closestPointRange:l}}processData(b){const a=this.xAxis;if(this.isCartesian&&!this.isDirty&&!a.isDirty&&!this.yAxis.isDirty&&!b)return!1;b=this.getProcessedData();this.cropped=b.cropped;this.cropStart=b.cropStart;this.processedXData= +b.xData;this.processedYData=b.yData;this.closestPointRange=this.basePointRange=b.closestPointRange;l(this,"afterProcessData")}cropData(b,a,c,d,e){const g=b.length;let f,h=0,l=g;e=H(e,this.cropShoulder);for(f=0;f=c){h=Math.max(0,f-e);break}for(c=f;cd){l=c+e;break}return{xData:b.slice(h,l),yData:a.slice(h,l),start:h,end:l}}generatePoints(){var b=this.options;const a=this.processedData||b.data,c=this.processedXData,d=this.processedYData,e=this.pointClass,f=c.length,h=this.cropStart|| +0,k=this.hasGroupedData,m=b.keys,p=[];b=b.dataGrouping&&b.dataGrouping.groupAll?h:0;let r;let n,q,t=this.data;if(!t&&!k){var w=[];w.length=a.length;t=this.data=w}m&&k&&(this.options.keys=!1);for(q=0;q=k&&(e[h-f]||n)<=m;if(t&&n)if(t=q.length)for(;t--;)M(q[t])&&(g[p++]=q[t]);else g[p++]=q}b={activeYData:g,dataMin:F(g),dataMax:x(g)};l(this,"afterGetExtremes",{dataExtremes:b});return b}applyExtremes(){const b=this.getExtremes();this.dataMin=b.dataMin;this.dataMax=b.dataMax;return b}getFirstValidPoint(b){const a=b.length;let c=0,d=null;for(;null=== +d&&c=Q&&(Q=void 0),l.total=l.stackTotal=H(C.total),l.percentage=r(l.y)&&C.total?l.y/C.total*100:void 0,l.stackY=N,this.irregularWidths||C.setOffset(this.pointXOffset||0,this.barW||0,void 0,void 0, +void 0,this.xAxis)));l.yBottom=r(Q)?d(h.translate(Q,!1,!0,!1,!0),-1E5,1E5):void 0;this.dataModify&&(N=this.dataModify.modifyValue(N,y));let z;M(N)&&void 0!==l.plotX&&(z=h.translate(N,!1,!0,!1,!0),z=M(z)?d(z,-1E5,1E5):void 0);l.plotY=z;l.isInside=this.isPointInside(l);l.clientX=n?p(e.translate(m,!1,!1,!1,!0,q)):v;l.negative=l[u]<(a[u+"Threshold"]||t||0);l.category=H(g&&g[l.x],l.x);l.isNull||!1===l.visible||("undefined"!==typeof x&&(K=Math.min(K,Math.abs(v-x))),x=v);l.zone=this.zones.length?l.getZone(): +void 0;!l.graphic&&this.group&&f&&(l.isNew=!0)}this.closestPointRangePx=K;l(this,"afterTranslate")}getValidPoints(b,a,c){const d=this.chart;return(b||this.points||[]).filter(function(b){const {plotX:e,plotY:g}=b;return!c&&(b.isNull||!M(g))||a&&!d.isInsidePlot(e,g,{inverted:d.inverted})?!1:!1!==b.visible})}getClipBox(){const {chart:b,xAxis:a,yAxis:c}=this,d=U(b.clipBox);a&&a.len!==b.plotSizeX&&(d.width=a.len);c&&c.len!==b.plotSizeY&&(d.height=c.len);return d}getSharedClipKey(){return this.sharedClipKey= +(this.options.xAxis||0)+","+(this.options.yAxis||0)}setClip(){const {chart:b,group:a,markerGroup:c}=this,d=b.sharedClips,e=b.renderer,g=this.getClipBox(),f=this.getSharedClipKey();let h=d[f];h?h.animate(g):d[f]=h=e.clipRect(g);a&&a.clip(!1===this.options.clip?void 0:h);c&&c.clip()}animate(b){const {chart:a,group:c,markerGroup:d}=this,g=a.inverted;var f=e(this.options.animation),h=[this.getSharedClipKey(),f.duration,f.easing,f.defer].join();let l=a.sharedClips[h],k=a.sharedClips[h+"m"];if(b&&c)f=this.getClipBox(), +l?l.attr("height",f.height):(f.width=0,g&&(f.x=a.plotHeight),l=a.renderer.clipRect(f),a.sharedClips[h]=l,k=a.renderer.clipRect({x:-99,y:-99,width:g?a.plotWidth+199:99,height:g?99:a.plotHeight+199}),a.sharedClips[h+"m"]=k),c.clip(l),d&&d.clip(k);else if(l&&!l.hasClass("highcharts-animating")){h=this.getClipBox();const b=f.step;d&&d.element.childNodes.length&&(f.step=function(a,c){b&&b.apply(c,arguments);"width"===c.prop&&k&&k.element&&k.attr(g?"height":"width",a+99)});l.addClass("highcharts-animating").animate(h, +f)}}afterAnimate(){this.setClip();V(this.chart.sharedClips,(b,a,c)=>{b&&!this.chart.container.querySelector(`[clip-path="url(#${b.id})"]`)&&(b.destroy(),delete c[a])});this.finishedAnimating=!0;l(this,"afterAnimate")}drawPoints(b=this.points){const a=this.chart,c=a.styledMode,{colorAxis:d,options:e}=this,g=e.marker,f=this[this.specialGroup||"markerGroup"],h=this.xAxis,l=H(g.enabled,!h||h.isRadial?!0:null,this.closestPointRangePx>=g.enabledThreshold*g.radius);let k,m,p,r;let q,n;if(!1!==g.enabled|| +this._hasPointMarkers)for(k=0;kb.destroy());u.clearTimeout(a.animationTimeout);V(a,function(b,a){b instanceof v&&!b.survive&&(g=d&&"group"===a?"hide":"destroy",b[g]())});c.hoverSeries===a&&(c.hoverSeries=void 0);y(c.series,a);c.orderSeries();V(a,function(c,d){b&&"hcEvents"===d||delete a[d]})}applyZones(){const b=this,a=this.chart,c=a.renderer,e=this.zones,g=this.clips||[],f=this.graph,h=this.area,l=Math.max(a.plotWidth,a.plotHeight),k=this[(this.zoneAxis|| +"y")+"Axis"],m=a.inverted;let p,r,q,n,t,w,u,y,v,x,F,K=!1;e.length&&(f||h)&&k&&"undefined"!==typeof k.min?(t=k.reversed,w=k.horiz,f&&!this.showLine&&f.hide(),h&&h.hide(),n=k.getExtremes(),e.forEach(function(e,C){p=t?w?a.plotWidth:0:w?0:k.toPixels(n.min)||0;p=d(H(r,p),0,l);r=d(Math.round(k.toPixels(H(e.value,n.max),!0)||0),0,l);K&&(p=r=k.toPixels(n.max));u=Math.abs(p-r);y=Math.min(p,r);v=Math.max(p,r);k.isXAxis?(q={x:m?v:y,y:0,width:u,height:l},w||(q.x=a.plotHeight-q.x)):(q={x:0,y:m?v:y,width:l,height:u}, +w&&(q.y=a.plotWidth-q.y));g[C]?g[C].animate(q):g[C]=c.clipRect(q);x=b["zone-area-"+C];F=b["zone-graph-"+C];f&&F&&F.clip(g[C]);h&&x&&x.clip(g[C]);K=e.value>n.max;b.resetZones&&0===r&&(r=void 0)}),this.clips=g):b.visible&&(f&&f.show(),h&&h.show())}plotGroup(b,a,c,d,e){let g=this[b];const f=!g;c={visibility:c,zIndex:d||.1};"undefined"===typeof this.opacity||this.chart.styledMode||"inactive"===this.state||(c.opacity=this.opacity);f&&(this[b]=g=this.chart.renderer.g().add(e));g.addClass("highcharts-"+ +a+" highcharts-series-"+this.index+" highcharts-"+this.type+"-series "+(r(this.colorIndex)?"highcharts-color-"+this.colorIndex+" ":"")+(this.options.className||"")+(g.hasClass("highcharts-tracker")?" highcharts-tracker":""),!0);g.attr(c)[f?"attr":"animate"](this.getPlotBox(a));return g}getPlotBox(b){let a=this.xAxis,c=this.yAxis;const d=this.chart;b=d.inverted&&!d.polar&&a&&!1!==this.invertible&&"series"===b;d.inverted&&(a=c,c=this.xAxis);return{translateX:a?a.left:d.plotLeft,translateY:c?c.top:d.plotTop, +rotation:b?90:0,rotationOriginX:b?(a.len-c.len)/2:0,rotationOriginY:b?(a.len+c.len)/2:0,scaleX:b?-1:1,scaleY:1}}removeEvents(b){b||P(this);this.eventsToUnbind.length&&(this.eventsToUnbind.forEach(function(b){b()}),this.eventsToUnbind.length=0)}render(){const b=this;var a=b.chart;const c=b.options,d=e(c.animation),g=b.visible?"inherit":"hidden",f=c.zIndex,h=b.hasRendered;a=a.seriesGroup;let k=b.finishedAnimating?0:d.duration;l(this,"render");b.plotGroup("group","series",g,f,a);b.markerGroup=b.plotGroup("markerGroup", +"markers",g,f,a);!1!==c.clip&&b.setClip();b.animate&&k&&b.animate(!0);b.drawGraph&&(b.drawGraph(),b.applyZones());b.visible&&b.drawPoints();b.drawDataLabels&&b.drawDataLabels();b.redrawPoints&&b.redrawPoints();b.drawTracker&&!1!==b.options.enableMouseTracking&&b.drawTracker();b.animate&&k&&b.animate();h||(k&&d.defer&&(k+=d.defer),b.animationTimeout=fa(function(){b.afterAnimate()},k||0));b.isDirty=!1;b.hasRendered=!0;l(b,"afterRender")}redraw(){const b=this.isDirty||this.isDirtyData;this.translate(); +this.render();b&&delete this.kdTree}searchPoint(b,a){const c=this.xAxis,d=this.yAxis,e=this.chart.inverted;return this.searchKDTree({clientX:e?c.len-b.chartY+c.pos:b.chartX-c.pos,plotY:e?d.len-b.chartX+d.pos:b.chartY-d.pos},a,b)}buildKDTree(b){function a(b,d,e){var g=b&&b.length;let f;if(g)return f=c.kdAxisArray[d%e],b.sort(function(b,a){return b[f]-a[f]}),g=Math.floor(g/2),{point:b[g],left:a(b.slice(0,g),d+1,e),right:a(b.slice(g+1),d+1,e)}}this.buildingKdTree=!0;const c=this,d=-1m?"left":"right";q=0>m?"right":"left";a[n]&& +(n=d(b,a[n],c+1,l),p=n[h]t;)q--;this.updateParallelArrays(n,"splice",[q,0,0]);this.updateParallelArrays(n,q);k&&n.name&&(k[t]=n.name);m.splice(q,0,b);if(r||this.processedData)this.data.splice(q, +0,null),this.processData();"point"===g.legendType&&this.generatePoints();c&&(f[0]&&f[0].remove?f[0].remove(!1):(f.shift(),this.updateParallelArrays(n,"shift"),m.shift()));!1!==e&&l(this,"addPoint",{point:n});this.isDirtyData=this.isDirty=!0;a&&h.redraw(d)}removePoint(b,a,c){const d=this,e=d.data,g=e[b],f=d.points,h=d.chart,l=function(){f&&f.length===e.length&&f.splice(b,1);e.splice(b,1);d.options.data.splice(b,1);d.updateParallelArrays(g||{series:d},"splice",[b,1]);g&&g.destroy();d.isDirty=!0;d.isDirtyData= +!0;a&&h.redraw()};m(c,h);a=H(a,!0);g?g.firePointEvent("remove",null,l):l()}remove(b,a,c,d){function e(){g.destroy(d);f.isDirtyLegend=f.isDirtyBox=!0;f.linkSeries(d);H(b,!0)&&f.redraw(a)}const g=this,f=g.chart;!1!==c?l(g,"remove",null,e):e()}update(a,c){a=h(a,this.userOptions);l(this,"update",{options:a});const d=this,e=d.chart;var f=d.userOptions;const k=d.initialType||d.type;var m=e.options.plotOptions;const p=q[k].prototype;var r=d.finishedAnimating&&{animation:!1};const n={};let t,w=["eventOptions", +"navigatorSeries","baseSeries"],u=a.type||f.type||e.options.chart.type;const y=!(this.hasDerivedData||u&&u!==this.type||"undefined"!==typeof a.pointStart||"undefined"!==typeof a.pointInterval||"undefined"!==typeof a.relativeXValue||a.joinBy||a.mapData||d.hasOptionChanged("dataGrouping")||d.hasOptionChanged("pointStart")||d.hasOptionChanged("pointInterval")||d.hasOptionChanged("pointIntervalUnit")||d.hasOptionChanged("keys"));u=u||k;y&&(w.push("data","isDirtyData","points","processedData","processedXData", +"processedYData","xIncrement","cropped","_hasPointMarkers","_hasPointLabels","clips","nodes","layout","level","mapMap","mapData","minY","maxY","minX","maxX"),!1!==a.visible&&w.push("area","graph"),d.parallelArrays.forEach(function(b){w.push(b+"Data")}),a.data&&(a.dataSorting&&g(d.options.dataSorting,a.dataSorting),this.setData(a.data,!1)));a=U(f,r,{index:"undefined"===typeof f.index?d.index:f.index,pointStart:H(m&&m.series&&m.series.pointStart,f.pointStart,d.xData[0])},!y&&{data:d.options.data},a); +y&&a.data&&(a.data=d.options.data);w=["group","markerGroup","dataLabelsGroup","transformGroup"].concat(w);w.forEach(function(b){w[b]=d[b];delete d[b]});m=!1;if(q[u]){if(m=u!==d.type,d.remove(!1,!1,!1,!0),m)if(Object.setPrototypeOf)Object.setPrototypeOf(d,q[u].prototype);else{r=Object.hasOwnProperty.call(d,"hcEvents")&&d.hcEvents;for(t in p)d[t]=void 0;g(d,q[u].prototype);r?d.hcEvents=r:delete d.hcEvents}}else b(17,!0,e,{missingModuleFor:u});w.forEach(function(b){d[b]=w[b]});d.init(e,a);if(y&&this.points){a= +d.options;if(!1===a.visible)n.graphic=1,n.dataLabel=1;else if(!d._hasPointLabels){const {marker:b,dataLabels:c}=a;f=f.marker||{};!b||!1!==b.enabled&&f.symbol===b.symbol&&f.height===b.height&&f.width===b.width||(n.graphic=1);c&&!1===c.enabled&&(n.dataLabel=1)}for(const b of this.points)b&&b.series&&(b.resolveColor(),Object.keys(n).length&&b.destroyElements(n),!1===a.showInLegend&&b.legendItem&&e.legend.destroyItem(b))}d.initialType=k;e.linkSeries();m&&d.linkedSeries.length&&(d.isDirtyData=!0);l(this, +"afterUpdate");H(c,!0)&&e.redraw(y?void 0:!1)}setName(b){this.name=this.options.name=this.userOptions.name=b;this.chart.isDirtyLegend=!0}hasOptionChanged(b){const a=this.options[b],c=this.chart.options.plotOptions,d=this.userOptions[b];return d?a!==d:a!==H(c&&c[this.type]&&c[this.type][b],c&&c.series&&c.series[b],a)}onMouseOver(){const b=this.chart,a=b.hoverSeries;b.pointer.setHoverChartIndex();if(a&&a!==this)a.onMouseOut();this.options.events.mouseOver&&l(this,"mouseOver");this.setState("hover"); +b.hoverSeries=this}onMouseOut(){const b=this.options,a=this.chart,c=a.tooltip,d=a.hoverPoint;a.hoverSeries=null;if(d)d.onMouseOut();this&&b.events.mouseOut&&l(this,"mouseOut");!c||this.stickyTracking||c.shared&&!this.noSharedTooltip||c.hide();a.series.forEach(function(b){b.setState("",!0)})}setState(b,a){const c=this;var d=c.options;const e=c.graph,g=d.inactiveOtherPoints,f=d.states,h=H(f[b||"normal"]&&f[b||"normal"].animation,c.chart.options.chart.animation);let l=d.lineWidth,k=0,m=d.opacity;b=b|| +"";if(c.state!==b&&([c.group,c.markerGroup,c.dataLabelsGroup].forEach(function(a){a&&(c.state&&a.removeClass("highcharts-series-"+c.state),b&&a.addClass("highcharts-series-"+b))}),c.state=b,!c.chart.styledMode)){if(f[b]&&!1===f[b].enabled)return;b&&(l=f[b].lineWidth||l+(f[b].lineWidthPlus||0),m=H(f[b].opacity,m));if(e&&!e.dashstyle&&M(l))for(d={"stroke-width":l},e.animate(d,h);c["zone-graph-"+k];)c["zone-graph-"+k].animate(d,h),k+=1;g||[c.group,c.markerGroup,c.dataLabelsGroup,c.labelBySeries].forEach(function(b){b&& +b.animate({opacity:m},h)})}a&&g&&c.points&&c.setAllPointsToState(b||void 0)}setAllPointsToState(b){this.points.forEach(function(a){a.setState&&a.setState(b)})}setVisible(b,a){const c=this,d=c.chart,e=d.options.chart.ignoreHiddenSeries,g=c.visible,f=(c.visible=b=c.options.visible=c.userOptions.visible="undefined"===typeof b?!g:b)?"show":"hide";["group","dataLabelsGroup","markerGroup","tracker","tt"].forEach(function(b){if(c[b])c[b][f]()});if(d.hoverSeries===c||(d.hoverPoint&&d.hoverPoint.series)=== +c)c.onMouseOut();c.legendItem&&d.legend.colorizeItem(c,b);c.isDirty=!0;c.options.stacking&&d.series.forEach(function(b){b.options.stacking&&b.visible&&(b.isDirty=!0)});c.linkedSeries.forEach(function(a){a.setVisible(b,!1)});e&&(d.isDirtyBox=!0);l(c,f);!1!==a&&d.redraw()}show(){this.setVisible(!0)}hide(){this.setVisible(!1)}select(b){this.selected=b=this.options.selected="undefined"===typeof b?!this.selected:b;this.checkbox&&(this.checkbox.checked=b);l(this,b?"select":"unselect")}shouldShowTooltip(b, +a,c={}){c.series=this;c.visiblePlotOnly=!0;return this.chart.isInsidePlot(b,a,c)}drawLegendSymbol(b,a){var c;null===(c=B[this.options.legendSymbol||"rectangle"])||void 0===c?void 0:c.call(this,b,a)}}Z.defaultOptions=D;Z.types=A.seriesTypes;Z.registerType=A.registerSeriesType;g(Z.prototype,{axisTypes:["xAxis","yAxis"],coll:"series",colorCounter:0,cropShoulder:1,directTouch:!1,isCartesian:!0,kdAxisArray:["clientX","plotY"],parallelArrays:["x","y"],pointClass:E,requireSorting:!0,sorted:!0});A.series= +Z;"";"";return Z});L(a,"Extensions/ScrollablePlotArea.js",[a["Core/Animation/AnimationUtilities.js"],a["Core/Axis/Axis.js"],a["Core/Chart/Chart.js"],a["Core/Series/Series.js"],a["Core/Renderer/RendererRegistry.js"],a["Core/Utilities.js"]],function(a,z,G,J,B,E){const {stop:x}=a,{addEvent:A,createElement:v,defined:u,merge:e,pick:m}=E;A(G,"afterSetChartSize",function(a){var k=this.options.chart.scrollablePlotArea,m=k&&k.minWidth;k=k&&k.minHeight;let n;if(!this.renderer.forExport){if(m){if(this.scrollablePixelsX= +m=Math.max(0,m-this.chartWidth))this.scrollablePlotBox=this.renderer.scrollablePlotBox=e(this.plotBox),this.plotBox.width=this.plotWidth+=m,this.inverted?this.clipBox.height+=m:this.clipBox.width+=m,n={1:{name:"right",value:m}}}else k&&(this.scrollablePixelsY=m=Math.max(0,k-this.chartHeight),u(m)&&(this.scrollablePlotBox=this.renderer.scrollablePlotBox=e(this.plotBox),this.plotBox.height=this.plotHeight+=m,this.inverted?this.clipBox.width+=m:this.clipBox.height+=m,n={2:{name:"bottom",value:m}})); +n&&!a.skipAxes&&this.axes.forEach(function(a){n[a.side]?a.getPlotLinePath=function(){let e=n[a.side].name,f=this[e],k;this[e]=f-n[a.side].value;k=z.prototype.getPlotLinePath.apply(this,arguments);this[e]=f;return k}:(a.setAxisSize(),a.setAxisTranslation())})}});A(G,"render",function(){this.scrollablePixelsX||this.scrollablePixelsY?(this.setUpScrolling&&this.setUpScrolling(),this.applyFixed()):this.fixedDiv&&this.applyFixed()});G.prototype.setUpScrolling=function(){const a={WebkitOverflowScrolling:"touch", +overflowX:"hidden",overflowY:"hidden"};this.scrollablePixelsX&&(a.overflowX="auto");this.scrollablePixelsY&&(a.overflowY="auto");this.scrollingParent=v("div",{className:"highcharts-scrolling-parent"},{position:"relative"},this.renderTo);this.scrollingContainer=v("div",{className:"highcharts-scrolling"},a,this.scrollingParent);let e;A(this.scrollingContainer,"scroll",()=>{this.pointer&&(delete this.pointer.chartPosition,this.hoverPoint&&(e=this.hoverPoint),this.pointer.runPointActions(void 0,e,!0))}); +this.innerContainer=v("div",{className:"highcharts-inner-container"},null,this.scrollingContainer);this.innerContainer.appendChild(this.container);this.setUpScrolling=null};G.prototype.moveFixedElements=function(){let a=this.container,e=this.fixedRenderer,m=".highcharts-breadcrumbs-group .highcharts-contextbutton .highcharts-credits .highcharts-legend .highcharts-legend-checkbox .highcharts-navigator-series .highcharts-navigator-xaxis .highcharts-navigator-yaxis .highcharts-navigator .highcharts-reset-zoom .highcharts-drillup-button .highcharts-scrollbar .highcharts-subtitle .highcharts-title".split(" "), +n;this.scrollablePixelsX&&!this.inverted?n=".highcharts-yaxis":this.scrollablePixelsX&&this.inverted?n=".highcharts-xaxis":this.scrollablePixelsY&&!this.inverted?n=".highcharts-xaxis":this.scrollablePixelsY&&this.inverted&&(n=".highcharts-yaxis");n&&m.push(`${n}:not(.highcharts-radial-axis)`,`${n}-labels:not(.highcharts-radial-axis-labels)`);m.forEach(function(f){[].forEach.call(a.querySelectorAll(f),function(a){(a.namespaceURI===e.SVG_NS?e.box:e.box.parentNode).appendChild(a);a.style.pointerEvents= +"auto"})})};G.prototype.applyFixed=function(){var a=!this.fixedDiv,e=this.options.chart,t=e.scrollablePlotArea,n=B.getRendererType();a?(this.fixedDiv=v("div",{className:"highcharts-fixed"},{position:"absolute",overflow:"hidden",pointerEvents:"none",zIndex:(e.style&&e.style.zIndex||0)+2,top:0},null,!0),this.scrollingContainer&&this.scrollingContainer.parentNode.insertBefore(this.fixedDiv,this.scrollingContainer),this.renderTo.style.overflow="visible",this.fixedRenderer=e=new n(this.fixedDiv,this.chartWidth, +this.chartHeight,this.options.chart.style),this.scrollableMask=e.path().attr({fill:this.options.chart.backgroundColor||"#fff","fill-opacity":m(t.opacity,.85),zIndex:-1}).addClass("highcharts-scrollable-mask").add(),A(this,"afterShowResetZoom",this.moveFixedElements),A(this,"afterApplyDrilldown",this.moveFixedElements),A(this,"afterLayOutTitles",this.moveFixedElements)):this.fixedRenderer.setSize(this.chartWidth,this.chartHeight);if(this.scrollableDirty||a)this.scrollableDirty=!1,this.moveFixedElements(); +e=this.chartWidth+(this.scrollablePixelsX||0);n=this.chartHeight+(this.scrollablePixelsY||0);x(this.container);this.container.style.width=e+"px";this.container.style.height=n+"px";this.renderer.boxWrapper.attr({width:e,height:n,viewBox:[0,0,e,n].join(" ")});this.chartBackground.attr({width:e,height:n});this.scrollingContainer.style.height=this.chartHeight+"px";a&&(t.scrollPositionX&&(this.scrollingContainer.scrollLeft=this.scrollablePixelsX*t.scrollPositionX),t.scrollPositionY&&(this.scrollingContainer.scrollTop= +this.scrollablePixelsY*t.scrollPositionY));n=this.axisOffset;a=this.plotTop-n[0]-1;t=this.plotLeft-n[3]-1;e=this.plotTop+this.plotHeight+n[2]+1;n=this.plotLeft+this.plotWidth+n[1]+1;let f=this.plotLeft+this.plotWidth-(this.scrollablePixelsX||0),q=this.plotTop+this.plotHeight-(this.scrollablePixelsY||0);a=this.scrollablePixelsX?[["M",0,a],["L",this.plotLeft-1,a],["L",this.plotLeft-1,e],["L",0,e],["Z"],["M",f,a],["L",this.chartWidth,a],["L",this.chartWidth,e],["L",f,e],["Z"]]:this.scrollablePixelsY? +[["M",t,0],["L",t,this.plotTop-1],["L",n,this.plotTop-1],["L",n,0],["Z"],["M",t,q],["L",t,this.chartHeight],["L",n,this.chartHeight],["L",n,q],["Z"]]:[["M",0,0]];"adjustHeight"!==this.redrawTrigger&&this.scrollableMask.attr({d:a})};A(z,"afterInit",function(){this.chart.scrollableDirty=!0});A(J,"show",function(){this.chart.scrollableDirty=!0});""});L(a,"Core/Axis/Stacking/StackItem.js",[a["Core/FormatUtilities.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"]],function(a,z,G){const {format:x}= +a,{series:B}=z,{destroyObjectProperties:E,fireEvent:D,isNumber:A,pick:v}=G;class u{constructor(a,m,w,k,t){const e=a.chart.inverted,f=a.reversed;this.axis=a;a=this.isNegative=!!w!==!!f;this.options=m=m||{};this.x=k;this.cumulative=this.total=null;this.points={};this.hasValidPoints=!1;this.stack=t;this.rightCliff=this.leftCliff=0;this.alignOptions={align:m.align||(e?a?"left":"right":"center"),verticalAlign:m.verticalAlign||(e?"middle":a?"bottom":"top"),y:m.y,x:m.x};this.textAlign=m.textAlign||(e?a? +"right":"left":"center")}destroy(){E(this,this.axis)}render(a){const e=this.axis.chart,w=this.options;var k=w.format;k=k?x(k,this,e):w.formatter.call(this);this.label?this.label.attr({text:k,visibility:"hidden"}):(this.label=e.renderer.label(k,null,void 0,w.shape,void 0,void 0,w.useHTML,!1,"stack-labels"),k={r:w.borderRadius||0,text:k,padding:v(w.padding,5),visibility:"hidden"},e.styledMode||(k.fill=w.backgroundColor,k.stroke=w.borderColor,k["stroke-width"]=w.borderWidth,this.label.css(w.style||{})), +this.label.attr(k),this.label.added||this.label.add(a));this.label.labelrank=e.plotSizeY;D(this,"afterRender")}setOffset(a,m,w,k,t,n){const {alignOptions:e,axis:q,label:u,options:x,textAlign:d}=this,h=q.chart;w=this.getStackBox({xOffset:a,width:m,boxBottom:w,boxTop:k,defaultX:t,xAxis:n});var {verticalAlign:p}=e;if(u&&w){k=u.getBBox();t=u.padding;n="justify"===v(x.overflow,"justify");e.x=x.x||0;e.y=x.y||0;const {x:a,y:f}=this.adjustStackPosition({labelBox:k,verticalAlign:p,textAlign:d});w.x-=a;w.y-= +f;u.align(e,!1,w);(p=h.isInsidePlot(u.alignAttr.x+e.x+a,u.alignAttr.y+e.y+f))||(n=!1);n&&B.prototype.justifyDataLabel.call(q,u,e,u.alignAttr,k,w);u.attr({x:u.alignAttr.x,y:u.alignAttr.y,rotation:x.rotation,rotationOriginX:k.width/2,rotationOriginY:k.height/2});v(!n&&x.crop,!0)&&(p=A(u.x)&&A(u.y)&&h.isInsidePlot(u.x-t+u.width,u.y)&&h.isInsidePlot(u.x+t,u.y));u[p?"show":"hide"]()}D(this,"afterSetOffset",{xOffset:a,width:m})}adjustStackPosition({labelBox:a,verticalAlign:m,textAlign:u}){const e={bottom:0, +middle:1,top:2,right:1,center:0,left:-1};return{x:a.width/2+a.width/2*e[u],y:a.height/2*e[m]}}getStackBox(a){var e=this.axis;const u=e.chart,{boxTop:k,defaultX:t,xOffset:n,width:f,boxBottom:q}=a;var x=e.stacking.usePercentage?100:v(k,this.total,0);x=e.toPixels(x);a=a.xAxis||u.xAxis[0];const F=v(t,a.translate(this.x))+n;e=e.toPixels(q||A(e.min)&&e.logarithmic&&e.logarithmic.lin2log(e.min)||0);e=Math.abs(x-e);const d=this.isNegative;return u.inverted?{x:(d?x:x-e)-u.plotLeft,y:a.height-F-f,width:e,height:f}: +{x:F+a.transB-u.plotLeft,y:(d?x-e:x)-u.plotTop,width:f,height:e}}}"";return u});L(a,"Core/Axis/Stacking/StackingAxis.js",[a["Core/Animation/AnimationUtilities.js"],a["Core/Axis/Axis.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Axis/Stacking/StackItem.js"],a["Core/Utilities.js"]],function(a,z,G,J,B){function x(){const b=this,a=b.inverted;b.yAxis.forEach(b=>{b.stacking&&b.stacking.stacks&&b.hasVisibleSeries&&(b.stacking.oldStacks=b.stacking.stacks)});b.series.forEach(c=>{const d=c.xAxis&&c.xAxis.options|| +{};!c.options.stacking||!0!==c.visible&&!1!==b.options.chart.ignoreHiddenSeries||(c.stackKey=[c.type,r(c.options.stack,""),a?d.top:d.left,a?d.height:d.width].join())})}function D(){const b=this.stacking;if(b){var a=b.stacks;p(a,function(b,c){K(b);a[c]=null});b&&b.stackTotalGroup&&b.stackTotalGroup.destroy()}}function A(){"yAxis"!==this.coll||this.stacking||(this.stacking=new y(this))}function v(b,a,d,e){!q(b)||b.x!==a||e&&b.stackKey!==e?b={x:a,index:0,key:e,stackKey:e}:b.index++;b.key=[d,a,b.index].join(); +return b}function u(){const b=this,a=b.stackKey,d=b.yAxis.stacking.stacks,e=b.processedXData,f=b[b.options.stacking+"Stacker"];let h;f&&[a,"-"+a].forEach(a=>{let c=e.length;let g;for(;c--;){var l=e[c];h=b.getStackIndicator(h,l,b.index,a);(g=(l=d[a]&&d[a][l])&&l.points[h.key])&&f.call(b,g,l,c)}})}function e(b,a,d){a=a.total?100/a.total:0;b[0]=f(b[0]*a);b[1]=f(b[1]*a);this.stackedYData[d]=b[1]}function m(){const b=this.yAxis.stacking;this.options.centerInCategory&&(this.is("column")||this.is("columnrange"))&& +!this.options.stacking&&1{"group"===d.slice(-5)&&(p(a,b=>b.destroy()),delete b.stacks[d])})}function w(b){var a=this.chart;const e=b||this.options.stacking;if(e&&(!0===this.visible||!1===a.options.chart.ignoreHiddenSeries)){var g=this.processedXData,h=this.processedYData,k=[],m=h.length,p=this.options,n=p.threshold,t=r(p.startFromThreshold&&n,0);p=p.stack;b=b?`${this.type},${e}`:this.stackKey;var u="-"+b,w=this.negStacks; +a="group"===e?a.yAxis[0]:this.yAxis;var y=a.stacking.stacks,v=a.stacking.oldStacks,x,F;a.stacking.stacksTouched+=1;for(F=0;F{p(b,(a,d)=>{h(a.touched)&&a.touchedw&&x.shadow));m&&(m.startX=v.xMap,m.isArea=v.isArea)})}getGraphPath(a,A,v){const u= +this,e=u.options,m=[],w=[];let k,t=e.step;a=a||u.points;const n=a.reversed;n&&a.reverse();(t={right:1,center:2}[t]||t&&3)&&n&&(t=4-t);a=this.getValidPoints(a,!1,!(e.connectNulls&&!A&&!v));a.forEach(function(f,n){const q=f.plotX,F=f.plotY,d=a[n-1],h=f.isNull||"number"!==typeof F;(f.leftCliff||d&&d.rightCliff)&&!v&&(k=!0);h&&!x(A)&&0a.visible);w.forEach(function(a, +r){let p=0,b,g;if(f[a]&&!f[a].isNull)m.push(f[a]),[-1,1].forEach(function(c){const l=1===c?"rightNull":"leftNull",k=n[w[r+c]];let m=0;if(k){let c=d;for(;0<=c&&ca&&k>e?(k=Math.max(a,e),t=2*e-k):kv&&t>e?(t=Math.max(v,e),k=2*e-t):t=Math.abs(d)&&.5{if("number"===typeof e.x){const d=a[e.x.toString()];d&&(a=d.points[this.index], +b?(a&&(c=h),d.hasValidPoints&&(g?h++:h--)):n(a)&&(a=Object.keys(d.points).filter(b=>!b.match(",")&&d.points[b]&&1a-b),c=a.indexOf(this.index),h=a.length))}});a=(e.plotX||0)+((h-1)*f.paddedWidth+d)/2-d-c*f.paddedWidth}return a}translate(){const a=this,d=a.chart,e=a.options;var k=a.dense=2>a.closestPointRange*a.xAxis.transA;k=a.borderWidth=K(e.borderWidth,k?0:1);const b=a.xAxis,g=a.yAxis,c=e.threshold,l=K(e.minPointLength,5),n=a.getColumnMetrics(),q= +n.width,u=a.pointXOffset=n.offset,x=a.dataMin,v=a.dataMax;let F=a.barW=Math.max(q,1+2*k),z=a.translatedThreshold=g.getThreshold(c);d.inverted&&(z-=.5);e.pointPadding&&(F=Math.ceil(F));B.prototype.translate.apply(a);a.points.forEach(function(h){const k=K(h.yBottom,z);var p=999+Math.abs(k),r=h.plotX||0;p=m(h.plotY,-p,g.len+p);let t=Math.min(p,k),y=Math.max(p,k)-t,A=q,B=r+u,D=F;l&&Math.abs(y)l?k-l:z-(r?l:0));w(h.options.pointWidth)&&(A=D=Math.ceil(h.options.pointWidth),B-=Math.round((A-q)/2));e.centerInCategory&&(B=a.adjustForMissingColumns(B,A,h,n));h.barX=B;h.pointWidth=A;h.tooltipPos=d.inverted?[m(g.len+g.pos-d.plotLeft-p,g.pos-d.plotLeft,g.len+g.pos-d.plotLeft),b.len+b.pos-d.plotTop-B-D/2,y]:[b.left-d.plotLeft+B+D/2,m(p+g.pos-d.plotTop,g.pos-d.plotTop,g.len+g.pos-d.plotTop),y];h.shapeType=a.pointClass.prototype.shapeType||"roundedRect";h.shapeArgs= +a.crispCol(B,h.isNull?z:t,D,h.isNull?0:y)});t(this,"afterColumnTranslate")}drawGraph(){this.group[this.dense?"addClass":"removeClass"]("highcharts-dense-data")}pointAttribs(a,d){const e=this.options;var f=this.pointAttrToOptions||{},b=f.stroke||"borderColor";const g=f["stroke-width"]||"borderWidth";let c,h=a&&a.color||this.color,k=a&&a[b]||e[b]||h;f=a&&a.options.dashStyle||e.dashStyle;let m=a&&a[g]||e[g]||this[g]||0,p=K(a&&a.opacity,e.opacity,1);a&&this.zones.length&&(c=a.getZone(),h=a.options.color|| +c&&(c.color||a.nonZonedColor)||this.color,c&&(k=c.borderColor||k,f=c.dashStyle||f,m=c.borderWidth||m));d&&a&&(a=q(e.states[d],a.options.states&&a.options.states[d]||{}),d=a.brightness,h=a.color||"undefined"!==typeof d&&v(h).brighten(a.brightness).get()||h,k=a[b]||k,m=a[g]||m,f=a.dashStyle||f,p=K(a.opacity,p));b={fill:h,stroke:k,"stroke-width":m,opacity:p};f&&(b.dashstyle=f);return b}drawPoints(a=this.points){const d=this,e=this.chart,h=d.options,b=e.renderer,g=h.animationLimit||250;let c;a.forEach(function(a){let l= +a.graphic,k=!!l,m=l&&e.pointCount"===d&&a>b||"<"===d&&a="===d&&a>=b||"<="===d&&a<=b||"=="===d&&a==b||"==="===d&&a===b?!0:!1):!0}function t(){return this.plotGroup("dataLabelsGroup","data-labels",this.hasRendered? +"inherit":"hidden",this.options.dataLabels.zIndex||6)}function F(a){const b=this.hasRendered||0,c=this.initDataLabelsGroup().attr({opacity:+b});!b&&c&&(this.visible&&c.show(),this.options.animation?c.animate({opacity:1},a):c.attr({opacity:1}));return c}function d(a=this.points){const b=this,c=b.chart,d=b.options,e=c.renderer,{backgroundColor:f,plotBackgroundColor:h}=c.options.chart,r=e.getContrast(u(h)&&h||u(f)&&f||"#000000");let q=d.dataLabels,t,y;var F=k(q)[0];const z=F.animation;F=F.defer?x(c, +z,b):{defer:0,duration:0};q=p(p(c.options.plotOptions&&c.options.plotOptions.series&&c.options.plotOptions.series.dataLabels,c.options.plotOptions&&c.options.plotOptions[b.type]&&c.options.plotOptions[b.type].dataLabels),q);A(this,"drawDataLabels");if(v(q)||q.enabled||b._hasPointLabels)y=this.initDataLabels(F),a.forEach(a=>{t=k(p(q,a.dlOptions||a.options&&a.options.dataLabels));t.forEach((g,f)=>{const h=g.enabled&&(!a.isNull||a.dataLabelOnNull)&&n(a,g),l=a.connectors?a.connectors[f]:a.connector;let k, +p,q=a.dataLabels?a.dataLabels[f]:a.dataLabel,t=!q;const u=w(g.distance,a.labelDistance);if(h){var x=a.getLabelConfig();var v=w(g[a.formatPrefix+"Format"],g.format);x=E(v)?B(v,x,c):(g[a.formatPrefix+"Formatter"]||g.formatter).call(x,g);v=g.style;k=g.rotation;c.styledMode||(v.color=w(g.color,v.color,b.color,"#000000"),"contrast"===v.color?(a.contrastColor=e.getContrast(a.color||b.color),v.color=!E(u)&&g.inside||0>u||d.stacking?a.contrastColor:r):delete a.contrastColor,d.cursor&&(v.cursor=d.cursor)); +p={r:g.borderRadius||0,rotation:k,padding:g.padding,zIndex:1};if(!c.styledMode){const {backgroundColor:b,borderColor:c}=g;p.fill="auto"===b?a.color:b;p.stroke="auto"===c?a.color:c;p["stroke-width"]=g.borderWidth}m(p,function(a,b){"undefined"===typeof a&&delete p[b]})}!q||h&&E(x)&&!!q.div===!!g.useHTML&&(q.rotation&&g.rotation||q.rotation===g.rotation)||(t=!0,a.dataLabel=q=a.dataLabel&&a.dataLabel.destroy(),a.dataLabels&&(1===a.dataLabels.length?delete a.dataLabels:delete a.dataLabels[f]),f||delete a.dataLabel, +l&&(a.connector=a.connector.destroy(),a.connectors&&(1===a.connectors.length?delete a.connectors:delete a.connectors[f])));h&&E(x)?(q?p.text=x:(a.dataLabels=a.dataLabels||[],q=a.dataLabels[f]=k?e.text(x,0,0,g.useHTML).addClass("highcharts-data-label"):e.label(x,0,0,g.shape,null,null,g.useHTML,null,"data-label"),f||(a.dataLabel=q),q.addClass(" highcharts-data-label-color-"+a.colorIndex+" "+(g.className||"")+(g.useHTML?" highcharts-tracker":""))),q.options=g,q.attr(p),c.styledMode||q.css(v).shadow(g.shadow), +(f=g[a.formatPrefix+"TextPath"]||g.textPath)&&!g.useHTML&&(q.setTextPath(a.getDataLabelPath&&a.getDataLabelPath(q)||a.graphic,f),a.dataLabelPath&&!f.enabled&&(a.dataLabelPath=a.dataLabelPath.destroy())),q.added||q.add(y),b.alignDataLabel(a,q,g,null,t)):q&&q.hide()})});A(this,"afterDrawDataLabels")}function h(a,d,c,e,f,h){const b=this.chart,g=d.align,l=d.verticalAlign,k=a.box?0:a.padding||0;let {x:m=0,y:p=0}=d,n,q;n=(c.x||0)+k;0>n&&("right"===g&&0<=m?(d.align="left",d.inside=!0):m-=n,q=!0);n=(c.x|| +0)+e.width-k;n>b.plotWidth&&("left"===g&&0>=m?(d.align="right",d.inside=!0):m+=b.plotWidth-n,q=!0);n=c.y+k;0>n&&("bottom"===l&&0<=p?(d.verticalAlign="top",d.inside=!0):p-=n,q=!0);n=(c.y||0)+e.height-k;n>b.plotHeight&&("top"===l&&0>=p?(d.verticalAlign="bottom",d.inside=!0):p+=b.plotHeight-n,q=!0);q&&(d.x=m,d.y=p,a.placed=!h,a.align(d,void 0,f));return q}function p(a,d){let b=[],g;if(v(a)&&!v(d))b=a.map(function(a){return e(a,d)});else if(v(d)&&!v(a))b=d.map(function(b){return e(a,b)});else if(v(a)|| +v(d))for(g=Math.max(a.length,d.length);g--;)b[g]=e(a[g],d[g]);else b=e(a,d);return b}function r(a,d,c,e,f){const b=this.chart,g=b.inverted,h=this.xAxis,l=h.reversed,k=g?d.height/2:d.width/2;a=(a=a.pointWidth)?a/2:0;d.startXPos=g?f.x:l?-k-a:h.width-k+a;d.startYPos=g?l?this.yAxis.height-k+a:-k-a:f.y;e?"hidden"===d.visibility&&(d.show(),d.attr({opacity:0}).animate({opacity:1})):d.attr({opacity:1}).animate({opacity:0},void 0,d.hide);b.hasRendered&&(c&&d.attr({x:d.startXPos,y:d.startYPos}),d.placed=!0)} +const y=[];a.compose=function(a){G.pushUnique(y,a)&&(a=a.prototype,a.initDataLabelsGroup=t,a.initDataLabels=F,a.alignDataLabel=f,a.drawDataLabels=d,a.justifyDataLabel=h,a.setDataLabelStartPos=r)}})(t||(t={}));"";return t});L(a,"Series/Column/ColumnDataLabel.js",[a["Core/Series/DataLabel.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"]],function(a,z,G){const {series:x}=z,{merge:B,pick:E}=G;var D;(function(z){function v(a,m,w,k,t){let e=this.chart.inverted;var f=a.series;let q=(f.xAxis? +f.xAxis.len:this.chart.plotSizeX)||0;f=(f.yAxis?f.yAxis.len:this.chart.plotSizeY)||0;var u=a.dlBox||a.shapeArgs;let v=E(a.below,a.plotY>E(this.translatedThreshold,f)),d=E(w.inside,!!this.options.stacking);u&&(k=B(u),0>k.y&&(k.height+=k.y,k.y=0),u=k.y+k.height-f,0\u25cf {series.name}
            ',pointFormat:"x: {point.x}
            y: {point.y}
            "}}});L(a,"Series/Scatter/ScatterSeries.js", +[a["Series/Scatter/ScatterSeriesDefaults.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Utilities.js"]],function(a,z,G){const {column:x,line:B}=z.seriesTypes,{addEvent:E,extend:D,merge:A}=G;class v extends B{constructor(){super(...arguments);this.points=this.options=this.data=void 0}applyJitter(){const a=this,e=this.options.jitter,m=this.points.length;e&&this.points.forEach(function(w,k){["x","y"].forEach(function(t,n){let f="plot"+t.toUpperCase(),q,u;if(e[t]&&!w.isNull){var x=a[t+"Axis"];u=e[t]* +x.transA;x&&!x.isLog&&(q=Math.max(0,w[f]-u),x=Math.min(x.len,w[f]+u),n=1E4*Math.sin(k+n*m),n-=Math.floor(n),w[f]=q+(x-q)*n,"x"===t&&(w.clientX=w.plotX))}})})}drawGraph(){this.options.lineWidth?super.drawGraph():this.graph&&(this.graph=this.graph.destroy())}}v.defaultOptions=A(B.defaultOptions,a);D(v.prototype,{drawTracker:x.prototype.drawTracker,sorted:!1,requireSorting:!1,noSharedTooltip:!0,trackerGroups:["group","markerGroup","dataLabelsGroup"],takeOrdinalPosition:!1});E(v,"afterTranslate",function(){this.applyJitter()}); +z.registerSeriesType("scatter",v);return v});L(a,"Series/CenteredUtilities.js",[a["Core/Globals.js"],a["Core/Series/Series.js"],a["Core/Utilities.js"]],function(a,z,G){const {deg2rad:x}=a,{fireEvent:B,isNumber:E,pick:D,relativeLength:A}=G;var v;(function(a){a.getCenter=function(){var a=this.options,m=this.chart;const w=2*(a.slicedOffset||0),k=m.plotWidth-2*w,t=m.plotHeight-2*w;var n=a.center;const f=Math.min(k,t),q=a.thickness;var u=a.size;let x=a.innerSize||0;"string"===typeof u&&(u=parseFloat(u)); +"string"===typeof x&&(x=parseFloat(x));a=[D(n[0],"50%"),D(n[1],"50%"),D(u&&0>u?void 0:a.size,"100%"),D(x&&0>x?void 0:a.innerSize||0,"0%")];!m.angular||this instanceof z||(a[3]=0);for(n=0;4>n;++n)u=a[n],m=2>n||2===n&&/%$/.test(u),a[n]=A(u,[k,t,f,a[2]][n])+(m?w:0);a[3]>a[2]&&(a[3]=a[2]);E(q)&&2*qa&&360>m-a?m:a+360;return{start:x*(a+-90),end:x*(m+-90)}}})(v||(v={})); +"";return v});L(a,"Series/Pie/PiePoint.js",[a["Core/Animation/AnimationUtilities.js"],a["Core/Series/Point.js"],a["Core/Utilities.js"]],function(a,z,G){const {setAnimation:x}=a,{addEvent:B,defined:E,extend:D,isNumber:A,pick:v,relativeLength:u}=G;class e extends z{constructor(){super(...arguments);this.series=this.options=this.labelDistance=void 0}getConnectorPath(){const a=this.labelPosition,e=this.series.options.dataLabels,k=this.connectorShapes;let t=e.connectorShape;k[t]&&(t=k[t]);return t.call(this, +{x:a.computed.x,y:a.computed.y,alignment:a.alignment},a.connectorPosition,e)}getTranslate(){return this.sliced?this.slicedTranslation:{translateX:0,translateY:0}}haloPath(a){const e=this.shapeArgs;return this.sliced||!this.visible?[]:this.series.chart.renderer.symbols.arc(e.x,e.y,e.r+a,e.r+a,{innerR:e.r-1,start:e.start,end:e.end,borderRadius:e.borderRadius})}init(){super.init.apply(this,arguments);this.name=v(this.name,"Slice");const a=a=>{this.slice("select"===a.type)};B(this,"select",a);B(this, +"unselect",a);return this}isValid(){return A(this.y)&&0<=this.y}setVisible(a,e){const k=this.series,m=k.chart,n=k.options.ignoreHiddenPoint;e=v(e,n);a!==this.visible&&(this.visible=this.options.visible=a="undefined"===typeof a?!this.visible:a,k.options.data[k.data.indexOf(this)]=this.options,["graphic","dataLabel","connector"].forEach(e=>{if(this[e])this[e][a?"show":"hide"](a)}),this.legendItem&&m.legend.colorizeItem(this,a),a||"hover"!==this.state||this.setState(""),n&&(k.isDirty=!0),e&&m.redraw())}slice(a, +e,k){const m=this.series;x(k,m.chart);v(e,!0);this.sliced=this.options.sliced=E(a)?a:!this.sliced;m.options.data[m.data.indexOf(this)]=this.options;this.graphic&&this.graphic.animate(this.getTranslate())}}D(e.prototype,{connectorShapes:{fixedOffset:function(a,e,k){const m=e.breakAt;e=e.touchingSliceAt;return[["M",a.x,a.y],k.softConnector?["C",a.x+("left"===a.alignment?-5:5),a.y,2*m.x-e.x,2*m.y-e.y,m.x,m.y]:["L",m.x,m.y],["L",e.x,e.y]]},straight:function(a,e){e=e.touchingSliceAt;return[["M",a.x,a.y], +["L",e.x,e.y]]},crookedLine:function(a,e,k){const {breakAt:m,touchingSliceAt:n}=e;({series:e}=this);const [f,q,x]=e.center,w=x/2,d=e.chart.plotWidth,h=e.chart.plotLeft;e="left"===a.alignment;const {x:p,y:r}=a;k.crookDistance?(a=u(k.crookDistance,1),a=e?f+w+(d+h-f-w)*(1-a):h+(f-w)*a):a=f+(q-r)*Math.tan((this.angle||0)-Math.PI/2);k=[["M",p,r]];(e?a<=p&&a>=m.x:a>=p&&a<=m.x)&&k.push(["L",a,r]);k.push(["L",m.x,m.y],["L",n.x,n.y]);return k}}});return e});L(a,"Series/Pie/PieSeriesDefaults.js",[],function(){""; +return{borderRadius:3,center:[null,null],clip:!1,colorByPoint:!0,dataLabels:{allowOverlap:!0,connectorPadding:5,connectorShape:"crookedLine",crookDistance:void 0,distance:30,enabled:!0,formatter:function(){return this.point.isNull?void 0:this.point.name},softConnector:!0,x:0},fillColor:void 0,ignoreHiddenPoint:!0,inactiveOtherPoints:!0,legendType:"point",marker:null,size:null,showInLegend:!1,slicedOffset:10,stickyTracking:!1,tooltip:{followPointer:!0},borderColor:"#ffffff",borderWidth:1,lineWidth:void 0, +states:{hover:{brightness:.1}}}});L(a,"Series/Pie/PieSeries.js",[a["Series/CenteredUtilities.js"],a["Series/Column/ColumnSeries.js"],a["Core/Globals.js"],a["Series/Pie/PiePoint.js"],a["Series/Pie/PieSeriesDefaults.js"],a["Core/Series/Series.js"],a["Core/Series/SeriesRegistry.js"],a["Core/Renderer/SVG/Symbols.js"],a["Core/Utilities.js"]],function(a,z,G,J,B,E,D,A,v){const {getStartAndEndRadians:u}=a;({noop:G}=G);const {clamp:e,extend:m,fireEvent:x,merge:k,pick:t,relativeLength:n}=v;class f extends E{constructor(){super(...arguments); +this.points=this.options=this.maxLabelDistance=this.data=this.center=void 0}animate(a){const e=this,f=e.points,d=e.startAngleRad;a||f.forEach(function(a){const f=a.graphic,h=a.shapeArgs;f&&h&&(f.attr({r:t(a.startR,e.center&&e.center[3]/2),start:d,end:d}),f.animate({r:h.r,start:h.start,end:h.end},e.options.animation))})}drawEmpty(){const a=this.startAngleRad,e=this.endAngleRad,f=this.options;let d,h;0===this.total&&this.center?(d=this.center[0],h=this.center[1],this.graph||(this.graph=this.chart.renderer.arc(d, +h,this.center[1]/2,0,a,e).addClass("highcharts-empty-series").add(this.group)),this.graph.attr({d:A.arc(d,h,this.center[2]/2,0,{start:a,end:e,innerR:this.center[3]/2})}),this.chart.styledMode||this.graph.attr({"stroke-width":f.borderWidth,fill:f.fillColor||"none",stroke:f.color||"#cccccc"})):this.graph&&(this.graph=this.graph.destroy())}drawPoints(){const a=this.chart.renderer;this.points.forEach(function(e){e.graphic&&e.hasNewShapeType()&&(e.graphic=e.graphic.destroy());e.graphic||(e.graphic=a[e.shapeType](e.shapeArgs).add(e.series.group), +e.delayedRendering=!0)})}generatePoints(){super.generatePoints();this.updateTotals()}getX(a,f,k){const d=this.center,h=this.radii?this.radii[k.index]||0:d[2]/2;a=Math.asin(e((a-d[1])/(h+k.labelDistance),-1,1));return d[0]+(f?-1:1)*Math.cos(a)*(h+k.labelDistance)+(01.5*Math.PI?z-=2*Math.PI:z<-Math.PI/2&&(z+=2*Math.PI);l.slicedTranslation={translateX:Math.round(Math.cos(z)*f),translateY:Math.round(Math.sin(z)*f)};A=Math.cos(z)*a[2]/2;g=Math.sin(z)*a[2]/ +2;l.tooltipPos=[a[0]+.7*A,a[1]+.7*g];l.half=z<-Math.PI/2||z>Math.PI/2?1:0;l.angle=z;v=Math.min(d,l.labelDistance/5);l.labelPosition={natural:{x:a[0]+A+Math.cos(z)*l.labelDistance,y:a[1]+g+Math.sin(z)*l.labelDistance},computed:{},alignment:0>l.labelDistance?"center":l.half?"right":"left",connectorPosition:{breakAt:{x:a[0]+A+Math.cos(z)*v,y:a[1]+g+Math.sin(z)*v},touchingSliceAt:{x:a[0]+A,y:a[1]+g}}}}x(this,"afterTranslate")}updateTotals(){const a=this.points,e=a.length,f=this.options.ignoreHiddenPoint; +let d,h,k=0;for(d=0;dn&&(a.dataLabel.css({width:Math.round(.7*n)+"px"}),a.dataLabel.shortened=!0)):(a.dataLabel=a.dataLabel.destroy(),a.dataLabels&&1===a.dataLabels.length&&delete a.dataLabels))}),x.forEach((d,h)=>{const m=d.length,p=[];let n,r=0;if(m){a.sortByAngle(d,h-.5);if(0g-b&&0===h&& +(x=Math.round(L+C-g+b),z[1]=Math.max(x,z[1])),0>R-I/2?z[0]=Math.max(Math.round(-R+I/2),z[0]):R+I/2>c&&(z[2]=Math.max(Math.round(R+I/2-c),z[2])),G.sideOverflow=x)}}}),0===v(z)||this.verifyDataLabelOverflow(z))&&(this.placeDataLabels(),this.points.forEach(function(b){T=m(k,b.options.dataLabels);if(E=w(T.connectorWidth,1)){let c;K=b.connector;if((G=b.dataLabel)&&G._pos&&b.visible&&0d.bottom-2?f:e,d.half,d)},justify:function(a,d,e){return e[0]+(a.half?-1:1)*(d+a.labelDistance)},alignToPlotEdges:function(a,d,e,f){a=a.getBBox().width;return d?a+f:e-a-f},alignToConnectors:function(a,d,e,f){let b=0,g;a.forEach(function(a){g= +a.dataLabel.getBBox().width;g>b&&(b=g)});return d?b+f:e-b-f}};n.compose=function(e){a.compose(A);B.pushUnique(z,e)&&(e=e.prototype,e.dataLabelPositioners=d,e.alignDataLabel=x,e.drawDataLabels=f,e.placeDataLabels=q,e.verifyDataLabelOverflow=t)}})(t||(t={}));return t});L(a,"Extensions/OverlappingDataLabels.js",[a["Core/Chart/Chart.js"],a["Core/Utilities.js"]],function(a,z){function x(a,e){let m,u=!1;a&&(m=a.newOpacity,a.oldOpacity!==m&&(a.alignAttr&&a.placed?(a[m?"removeClass":"addClass"]("highcharts-data-label-hidden"), +u=!0,a.alignAttr.opacity=m,a[a.isOld?"animate":"attr"](a.alignAttr,null,function(){e.styledMode||a.css({pointerEvents:m?"auto":"none"})}),B(e,"afterHideOverlappingLabel")):a.attr({opacity:m})),a.isOld=!0);return u}const {addEvent:J,fireEvent:B,isArray:E,isNumber:D,objectEach:A,pick:v}=z;J(a,"render",function(){let a=this,e=[];(this.labelCollectors||[]).forEach(function(a){e=e.concat(a())});(this.yAxis||[]).forEach(function(a){a.stacking&&a.options.stackLabels&&!a.options.stackLabels.allowOverlap&& +A(a.stacking.stacks,function(a){A(a,function(a){a.label&&e.push(a.label)})})});(this.series||[]).forEach(function(m){var u=m.options.dataLabels;m.visible&&(!1!==u.enabled||m._hasPointLabels)&&(u=k=>k.forEach(k=>{k.visible&&(E(k.dataLabels)?k.dataLabels:k.dataLabel?[k.dataLabel]:[]).forEach(function(m){const f=m.options;m.labelrank=v(f.labelrank,k.labelrank,k.shapeArgs&&k.shapeArgs.height);f.allowOverlap?(m.oldOpacity=m.opacity,m.newOpacity=1,x(m,a)):e.push(m)})}),u(m.nodes||[]),u(m.points))});this.hideOverlappingLabels(e)}); +a.prototype.hideOverlappingLabels=function(a){let e=this,m=a.length,u=e.renderer;var k;let t;let n,f,q,v=!1;var z=function(a){let d,e;var f;let k=a.box?0:a.padding||0,b=f=0,g,c;if(a&&(!a.alignAttr||a.placed))return d=a.alignAttr||{x:a.attr("x"),y:a.attr("y")},e=a.parentGroup,a.width||(f=a.getBBox(),a.width=f.width,a.height=f.height,f=u.fontMetrics(a.element).h),g=a.width-2*k,(c={left:"0",center:"0.5",right:"1"}[a.alignValue])?b=+c*g:D(a.x)&&Math.round(a.x)!==a.translateX&&(b=a.x-a.translateX),{x:d.x+ +(e.translateX||0)+k-(b||0),y:d.y+(e.translateY||0)+k-f,width:a.width-2*k,height:a.height-2*k}};for(t=0;t=f.x+f.width||q.x+q.width<=f.x||q.y>=f.y+f.height||q.y+q.height<=f.y|| +((z.labelrank{u(a)||(a={radius:a||0});return e(w,k,a)};if(-1===J.symbolCustomAttribs.indexOf("borderRadius")){J.symbolCustomAttribs.push("borderRadius","brBoxHeight","brBoxY");const e=B.prototype.symbols.arc;B.prototype.symbols.arc=function(a,k,n,t,d={}){a=e(a,k,n,t,d);const {innerR:f=0,r:p=n,start:q=0,end:u=0}=d;if(d.open||!d.borderRadius)return a;n=u-q;k=Math.sin(n/2);d=Math.max(Math.min(m(d.borderRadius||0,p-f),(p-f)/2,p*k/(1+k)),0);n=Math.min(d,n/Math.PI*2*f);for(k=a.length-1;k--;){{let e= +void 0,f=void 0,h=void 0;t=a;var b=k,g=1this.borderWidth&&(r="all");r||(r="end");const u=Math.min(m(a.radius,b),b/2,"all"===r?g/2:Infinity)||0;"end"===r&&(k&&(t-=u),d+=u);v(n,{brBoxHeight:d,brBoxY:t,r:u})}}},{order:9})}z={optionsToObject:k};"";return z});L(a,"Core/Responsive.js",[a["Core/Utilities.js"]],function(a){const {extend:x,find:G,isArray:J,isObject:B,merge:E,objectEach:D,pick:A,splat:v,uniqueKey:u}=a;var e;(function(e){function m(a){function e(a,h, +k,m){let d;D(a,function(a,g){if(!m&&-1=A(f.minWidth,0)&&this.chartHeight>=A(f.minHeight,0)}).call(this)&&e.push(a._id)}function t(a,e){const f=this.options.responsive;var k=this.currentResponsive;let d=[];!e&&f&&f.rules&&f.rules.forEach(a=>{"undefined"===typeof a._id&&(a._id=u());this.matchResponsiveRule(a,d)},this);e=E(...d.map(a=>G((f||{}).rules||[],d=>d._id===a)).map(a=>a&&a.chartOptions));e.isResponsiveOptions=!0;d=d.toString()||void 0;d!==(k&&k.ruleIds)&&(k&&this.update(k.undoOptions,a,!0),d?(k= +this.currentOptions(e),k.isResponsiveOptions=!0,this.currentResponsive={ruleIds:d,mergedOptions:e,undoOptions:k},this.update(e,a,!0)):this.currentResponsive=void 0)}const n=[];e.compose=function(e){a.pushUnique(n,e)&&x(e.prototype,{currentOptions:m,matchResponsiveRule:k,setResponsive:t});return e}})(e||(e={}));"";"";return e});L(a,"masters/highcharts.src.js",[a["Core/Globals.js"],a["Core/Utilities.js"],a["Core/Defaults.js"],a["Core/Animation/Fx.js"],a["Core/Animation/AnimationUtilities.js"],a["Core/Renderer/HTML/AST.js"], +a["Core/FormatUtilities.js"],a["Core/Renderer/RendererUtilities.js"],a["Core/Renderer/SVG/SVGElement.js"],a["Core/Renderer/SVG/SVGRenderer.js"],a["Core/Renderer/HTML/HTMLElement.js"],a["Core/Renderer/HTML/HTMLRenderer.js"],a["Core/Axis/Axis.js"],a["Core/Axis/DateTimeAxis.js"],a["Core/Axis/LogarithmicAxis.js"],a["Core/Axis/PlotLineOrBand/PlotLineOrBand.js"],a["Core/Axis/Tick.js"],a["Core/Tooltip.js"],a["Core/Series/Point.js"],a["Core/Pointer.js"],a["Core/Legend/Legend.js"],a["Core/Chart/Chart.js"], +a["Core/Axis/Stacking/StackingAxis.js"],a["Core/Axis/Stacking/StackItem.js"],a["Core/Series/Series.js"],a["Core/Series/SeriesRegistry.js"],a["Series/Column/ColumnSeries.js"],a["Series/Column/ColumnDataLabel.js"],a["Series/Pie/PieSeries.js"],a["Series/Pie/PieDataLabel.js"],a["Core/Series/DataLabel.js"],a["Core/Responsive.js"],a["Core/Color/Color.js"],a["Core/Time.js"]],function(a,z,G,J,B,E,D,A,v,u,e,m,w,k,t,n,f,q,K,F,d,h,p,r,y,b,g,c,l,L,O,M,T,U){a.animate=B.animate;a.animObject=B.animObject;a.getDeferredAnimation= +B.getDeferredAnimation;a.setAnimation=B.setAnimation;a.stop=B.stop;a.timers=J.timers;a.AST=E;a.Axis=w;a.Chart=h;a.chart=h.chart;a.Fx=J;a.Legend=d;a.PlotLineOrBand=n;a.Point=K;a.Pointer=F;a.Series=y;a.StackItem=r;a.SVGElement=v;a.SVGRenderer=u;a.Tick=f;a.Time=U;a.Tooltip=q;a.Color=T;a.color=T.parse;m.compose(u);e.compose(v);F.compose(h);d.compose(h);a.defaultOptions=G.defaultOptions;a.getOptions=G.getOptions;a.time=G.defaultTime;a.setOptions=G.setOptions;a.dateFormat=D.dateFormat;a.format=D.format; +a.numberFormat=D.numberFormat;a.addEvent=z.addEvent;a.arrayMax=z.arrayMax;a.arrayMin=z.arrayMin;a.attr=z.attr;a.clearTimeout=z.clearTimeout;a.correctFloat=z.correctFloat;a.createElement=z.createElement;a.css=z.css;a.defined=z.defined;a.destroyObjectProperties=z.destroyObjectProperties;a.discardElement=z.discardElement;a.distribute=A.distribute;a.erase=z.erase;a.error=z.error;a.extend=z.extend;a.extendClass=z.extendClass;a.find=z.find;a.fireEvent=z.fireEvent;a.getMagnitude=z.getMagnitude;a.getStyle= +z.getStyle;a.inArray=z.inArray;a.isArray=z.isArray;a.isClass=z.isClass;a.isDOMElement=z.isDOMElement;a.isFunction=z.isFunction;a.isNumber=z.isNumber;a.isObject=z.isObject;a.isString=z.isString;a.keys=z.keys;a.merge=z.merge;a.normalizeTickInterval=z.normalizeTickInterval;a.objectEach=z.objectEach;a.offset=z.offset;a.pad=z.pad;a.pick=z.pick;a.pInt=z.pInt;a.relativeLength=z.relativeLength;a.removeEvent=z.removeEvent;a.seriesType=b.seriesType;a.splat=z.splat;a.stableSort=z.stableSort;a.syncTimeout=z.syncTimeout; +a.timeUnits=z.timeUnits;a.uniqueKey=z.uniqueKey;a.useSerialIds=z.useSerialIds;a.wrap=z.wrap;c.compose(g);O.compose(y);k.compose(w);t.compose(w);L.compose(l);n.compose(w);M.compose(h);p.compose(w,h,y);q.compose(F);return a});a["masters/highcharts.src.js"]._modules=a;return a["masters/highcharts.src.js"]}); +//# sourceMappingURL=highcharts.js.map \ No newline at end of file diff --git a/car-mis/src/main/resources/static/metrics/highcharts/oldie.js b/car-mis/src/main/resources/static/metrics/highcharts/oldie.js new file mode 100644 index 0000000..8ef13af --- /dev/null +++ b/car-mis/src/main/resources/static/metrics/highcharts/oldie.js @@ -0,0 +1,40 @@ +/* + Highcharts JS v10.0.0 (2022-03-07) + + Old IE (v6, v7, v8) module for Highcharts v6+. + + (c) 2010-2021 Highsoft AS + Author: Torstein Honsi + + License: www.highcharts.com/license +*/ +(function(c){"object"===typeof module&&module.exports?(c["default"]=c,module.exports=c):"function"===typeof define&&define.amd?define("highcharts/modules/oldie",["highcharts"],function(p){c(p);c.Highcharts=p;return c}):c("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(c){function p(c,q,e,D){c.hasOwnProperty(q)||(c[q]=D.apply(null,e),"function"===typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:q,module:c[q]}})))}c=c?c._modules:{};p(c,"Extensions/Oldie/VMLAxis3D.js", +[c["Core/Utilities.js"]],function(c){var x=c.addEvent,e=function(){return function(c){this.axis=c}}();return function(){function c(){}c.compose=function(l){l.keepProps.push("vml");x(l,"destroy",c.onDestroy);x(l,"init",c.onInit);x(l,"render",c.onRender)};c.onDestroy=function(){var c=this.vml;if(c){var e;["backFrame","bottomFrame","sideFrame"].forEach(function(l){(e=c[l])&&(c[l]=e.destroy())},this)}};c.onInit=function(){this.vml||(this.vml=new e(this))};c.onRender=function(){var c=this.vml;c.sideFrame&& +(c.sideFrame.css({zIndex:0}),c.sideFrame.front.attr({fill:c.sideFrame.color}));c.bottomFrame&&(c.bottomFrame.css({zIndex:1}),c.bottomFrame.front.attr({fill:c.bottomFrame.color}));c.backFrame&&(c.backFrame.css({zIndex:0}),c.backFrame.front.attr({fill:c.backFrame.color}))};return c}()});p(c,"Extensions/Oldie/VMLRenderer3D.js",[c["Core/Axis/Axis.js"],c["Core/DefaultOptions.js"],c["Extensions/Oldie/VMLAxis3D.js"]],function(c,q,e){var x=q.setOptions;return function(){function l(){}l.compose=function(g, +l){var h=l.prototype;g=g.prototype;x({animate:!1});g.face3d=h.face3d;g.polyhedron=h.polyhedron;g.elements3d=h.elements3d;g.element3d=h.element3d;g.cuboid=h.cuboid;g.cuboidPath=h.cuboidPath;g.toLinePath=h.toLinePath;g.toLineSegments=h.toLineSegments;g.arc3d=function(c){c=h.arc3d.call(this,c);c.css({zIndex:c.zIndex});return c};g.arc3dPath=h.arc3dPath;e.compose(c)};return l}()});p(c,"Extensions/Oldie/Oldie.js",[c["Core/Chart/Chart.js"],c["Core/Color/Color.js"],c["Core/Globals.js"],c["Core/DefaultOptions.js"], +c["Core/Pointer.js"],c["Core/Renderer/RendererRegistry.js"],c["Core/Renderer/SVG/SVGElement.js"],c["Core/Renderer/SVG/SVGRenderer.js"],c["Core/Utilities.js"],c["Extensions/Oldie/VMLRenderer3D.js"]],function(c,q,e,p,l,g,y,h,m,Q){var x=q.parse,u=e.deg2rad,k=e.doc;q=e.noop;var E=e.svg,v=e.win,M=p.getOptions,D=m.addEvent,F=m.createElement,z=m.css,H=m.defined,I=m.discardElement,N=m.erase,w=m.extend;p=m.extendClass;var R=m.isArray,O=m.isNumber,G=m.isObject,B=m.pick,t=m.pInt,S=m.uniqueKey;M().global.VMLRadialGradientURL= +"http://code.highcharts.com/10.0.0/gfx/vml-radial-gradient.png";k&&!k.defaultView&&(e.getStyle=m.getStyle=function r(b,d){var c={width:"clientWidth",height:"clientHeight"}[d];if(b.style[d])return t(b.style[d]);"opacity"===d&&(d="filter");if(c)return b.style.zoom=1,Math.max(b[c]-2*r(b,"padding"),0);b=b.currentStyle[d.replace(/\-(\w)/g,function(b,d){return d.toUpperCase()})];"filter"===d&&(b=b.replace(/alpha\(opacity=([0-9]+)\)/,function(b,d){return d/100}));return""===b?1:t(b)});E||(D(y,"afterInit", +function(){"text"===this.element.nodeName&&this.css({position:"absolute"})}),l.prototype.normalize=function(a,b){a=a||v.event;a.target||(a.target=a.srcElement);b||(this.chartPosition=b=this.getChartPosition());return w(a,{chartX:Math.round(Math.max(a.x,a.clientX-b.left)),chartY:Math.round(a.y)})},c.prototype.ieSanitizeSVG=function(a){return a=a.replace(//g,"<$1title>").replace(/height=([^" ]+)/g,'height="$1"').replace(/width=([^" ]+)/g,'width="$1"').replace(/hc-svg-href="([^"]+)">/g, +'xlink:href="$1"/>').replace(/ id=([^" >]+)/g,' id="$1"').replace(/class=([^" >]+)/g,'class="$1"').replace(/ transform /g," ").replace(/:(path|rect)/g,"$1").replace(/style="([^"]+)"/g,function(a){return a.toLowerCase()})},c.prototype.isReadyToRender=function(){var a=this;return E||v!=v.top||"complete"===k.readyState?!0:(k.attachEvent("onreadystatechange",function(){k.detachEvent("onreadystatechange",a.firstRender);"complete"===k.readyState&&a.firstRender()}),!1)},k.createElementNS||(k.createElementNS= +function(a,b){return k.createElement(b)}),e.addEventListenerPolyfill=function(a,b){function d(a){a.target=a.srcElement||v;b.call(c,a)}var c=this;c.attachEvent&&(c.hcEventsIE||(c.hcEventsIE={}),b.hcKey||(b.hcKey=S()),c.hcEventsIE[b.hcKey]=d,c.attachEvent("on"+a,d))},e.removeEventListenerPolyfill=function(a,b){this.detachEvent&&(b=this.hcEventsIE[b.hcKey],this.detachEvent("on"+a,b))},c={docMode8:k&&8===k.documentMode,init:function(a,b){var d=["<",b,' filled="f" stroked="f"'],c=["position: ","absolute", +";"],f="div"===b;("shape"===b||f)&&c.push("left:0;top:0;width:1px;height:1px;");c.push("visibility: ",f?"hidden":"visible");d.push(' style="',c.join(""),'"/>');b&&(d=f||"span"===b||"img"===b?d.join(""):a.prepVML(d),this.element=F(d));this.renderer=a},add:function(a){var b=this.renderer,d=this.element,c=b.box,f=a&&a.inverted;c=a?a.element||a:c;a&&(this.parentGroup=a);f&&b.invertChild(d,c);c.appendChild(d);this.added=!0;this.alignOnAdd&&!this.deferUpdateTransform&&this.updateTransform();if(this.onAdd)this.onAdd(); +this.className&&this.attr("class",this.className);return this},updateTransform:y.prototype.htmlUpdateTransform,setSpanRotation:function(){var a=this.rotation,b=Math.cos(a*u),d=Math.sin(a*u);z(this.element,{filter:a?["progid:DXImageTransform.Microsoft.Matrix(M11=",b,", M12=",-d,", M21=",d,", M22=",b,", sizingMethod='auto expand')"].join(""):"none"})},getSpanCorrection:function(a,b,d,c,f){var r=c?Math.cos(c*u):1,e=c?Math.sin(c*u):0,J=B(this.elemHeight,this.element.offsetHeight);this.xCorr=0>r&&-a;this.yCorr= +0>e&&-J;var A=0>r*e;this.xCorr+=e*b*(A?1-d:d);this.yCorr-=r*b*(c?A?d:1-d:1);f&&"left"!==f&&(this.xCorr-=a*d*(0>r?-1:1),c&&(this.yCorr-=J*d*(0>e?-1:1)),z(this.element,{textAlign:f}))},pathToVML:function(a){for(var b=a.length,d=[];b--;)O(a[b])?d[b]=Math.round(10*a[b])-5:"Z"===a[b]?d[b]="x":(d[b]=a[b],!a.isArc||"wa"!==a[b]&&"at"!==a[b]||(d[b+5]===d[b+7]&&(d[b+7]+=a[b+7]>a[b+5]?1:-1),d[b+6]===d[b+8]&&(d[b+8]+=a[b+8]>a[b+6]?1:-1)));return d.join(" ")||"x"},clip:function(a){var b=this;if(a){var d=a.members; +N(d,b);d.push(b);b.destroyClip=function(){N(d,b)};a=a.getCSS(b)}else b.destroyClip&&b.destroyClip(),a={clip:b.docMode8?"inherit":"rect(auto)"};return b.css(a)},css:y.prototype.htmlCss,safeRemoveChild:function(a){a.parentNode&&I(a)},destroy:function(){this.destroyClip&&this.destroyClip();return y.prototype.destroy.apply(this)},on:function(a,b){this.element["on"+a]=function(){var a=v.event;a.target=a.srcElement;b(a)};return this},cutOffPath:function(a,b){a=a.split(/[ ,]/);var d=a.length;if(9===d||11=== +d)a[d-4]=a[d-2]=t(a[d-2])-10*b;return a.join(" ")},shadow:function(a,b,d){var c=[],f,e=this.element,h=this.renderer,J=e.style,A=e.path;A&&"string"!==typeof A.value&&(A="x");var k=A;if(a){var P=B(a.width,3);var n=(a.opacity||.15)/P;for(f=1;3>=f;f++){var m=2*P+1-2*f;d&&(k=this.cutOffPath(A.value,m+.5));var l=[''];var g=F(h.prepVML(l),null,{left:t(J.left)+B(a.offsetX,1)+"px",top:t(J.top)+ +B(a.offsetY,1)+"px"});d&&(g.cutOff=m+1);l=[''];F(h.prepVML(l),null,null,g);b?b.element.appendChild(g):e.parentNode.insertBefore(g,e);c.push(g)}this.shadows=c}return this},updateShadows:q,setAttr:function(a,b){this.docMode8?this.element[a]=b:this.element.setAttribute(a,b)},getAttr:function(a){return this.docMode8?this.element[a]:this.element.getAttribute(a)},classSetter:function(a){(this.added?this.element:this).className=a},dashstyleSetter:function(a, +b,d){(d.getElementsByTagName("stroke")[0]||F(this.renderer.prepVML([""]),null,null,d))[b]=a||"solid";this[b]=a},dSetter:function(a,b,d){var c=this.shadows;a=a||[];this.d=a.join&&a.join(" ");d.path=a=this.pathToVML(a);if(c)for(d=c.length;d--;)c[d].path=c[d].cutOff?this.cutOffPath(a,c[d].cutOff):a;this.setAttr(b,a)},fillSetter:function(a,b,d){var c=d.nodeName;"SPAN"===c?d.style.color=a:"IMG"!==c&&(d.filled="none"!==a,this.setAttr("fillcolor",this.renderer.color(a,d,b,this)))},"fill-opacitySetter":function(a, +b,d){F(this.renderer.prepVML(["<",b.split("-")[0],' opacity="',a,'"/>']),null,null,d)},opacitySetter:q,rotationSetter:function(a,b,d){d=d.style;this[b]=d[b]=a;d.left=-Math.round(Math.sin(a*u)+1)+"px";d.top=Math.round(Math.cos(a*u))+"px"},strokeSetter:function(a,b,d){this.setAttr("strokecolor",this.renderer.color(a,d,b,this))},"stroke-widthSetter":function(a,b,d){d.stroked=!!a;this[b]=a;O(a)&&(a+="px");this.setAttr("strokeweight",a)},titleSetter:function(a,b){this.setAttr(b,a)},visibilitySetter:function(a, +b,d){"inherit"===a&&(a="visible");this.shadows&&this.shadows.forEach(function(d){d.style[b]=a});"DIV"===d.nodeName&&(a="hidden"===a?"-999em":0,this.docMode8||(d.style[b]=a?"visible":"hidden"),b="top");d.style[b]=a},xSetter:function(a,b,d){this[b]=a;"x"===b?b="left":"y"===b&&(b="top");this.updateClipping?(this[b]=a,this.updateClipping()):d.style[b]=a},zIndexSetter:function(a,b,d){d.style[b]=a},fillGetter:function(){return this.getAttr("fillcolor")||""},strokeGetter:function(){return this.getAttr("strokecolor")|| +""},classGetter:function(){return this.getAttr("className")||""}},c["stroke-opacitySetter"]=c["fill-opacitySetter"],e.VMLElement=c=p(y,c),c.prototype.ySetter=c.prototype.widthSetter=c.prototype.heightSetter=c.prototype.xSetter,c={Element:c,isIE8:-1'];F(f.prepVML(r),null,null, +b)};l=a[0];p=a[a.length-1];0p[0]&&a.push([1,p[1]]);a.forEach(function(a,b){e.test(a[1])?(K=x(a[1]),g=K.get("rgb"),m=K.get("a")):(g=a[1],m=1);B.push(100*a[0]+"% "+g);b?(v=m,w=g):(u=m,y=g)});if("fill"===d)if("gradient"===h)l=n.x1||n[0]||0,p=n.y1||n[1]||0,q=n.x2||n[2]||0,t=n.y2||n[3]||0,z='angle="'+(90-180*Math.atan((t-p)/(q-l))/Math.PI)+'"',D();else{d=n.r;var E=2*d,G=2*d,H=n.cx,I=n.cy,L=b.radialReference,C;n=function(){L&&(C=c.getBBox(),H+=(L[0]-C.x)/C.width-.5,I+=(L[1]- +C.y)/C.height-.5,E*=L[2]/C.width,G*=L[2]/C.height);z='src="'+M().global.VMLRadialGradientURL+'" size="'+E+","+G+'" origin="0.5,0.5" position="'+H+","+I+'" color2="'+y+'" ';D()};c.added?n():c.onAdd=n;k=w}else k=g}else if(e.test(a)&&"IMG"!==b.tagName){var K=x(a);c[d+"-opacitySetter"](K.get("a"),d,b);k=K.get("rgb")}else n=b.getElementsByTagName(d),n.length&&(n[0].opacity=1,n[0].type="solid"),k=a;return k},prepVML:function(a){var b=this.isIE8;a=a.join("");b?(a=a.replace("/>",' xmlns="urn:schemas-microsoft-com:vml" />'), +a=-1===a.indexOf('style="')?a.replace("/>",' style="display:inline-block;behavior:url(#default#VML);" />'):a.replace('style="','style="display:inline-block;behavior:url(#default#VML);')):a=a.replace("<","iKxY6!1rbG@ zd2aAjaK>G62Sr5@Tv%lj5ZMBV%8n>ts{1vL_@3u@=Ev*PeX8o#z2E)rQq{hGY`QDg z1Y?5vfMDRklNoDFn+y1$-V+&nI?*1FjNVaKeTNKPP*>Wj%Sp)S#fb{Le6b$#p-{ol zsW=k|kKKQjucL0^f#x9i&7RS^Kv2J=HOHjvYO1<34zzKv#bH4$O z#ZFq03?oqI0iLr!jWcLn2O9kz?9&3Z4A8^@wQiuy9MsUj%i!U1H=q*1{h6R?C3x4%9Z~bY?lcTmR7j#Mw>w(q{eMOd|)qc5L4N&c* zuC#-D;)kkvpmjZHTn0Kef@(+gGxF;@#-Mq1Z|Ta0Q`*Srt;^f+@S9XnW&vKOd~B6~ zHyNOJFDSJDP5y6-g21a^k$3r^XIIl%Q@Cp@Xb*$?kBqma0hL(Ye-`v4To=x`Eyook z8;-r))qmH#x4;x0I$fJ%qOMq2{D&DbUW-iBk2QvUX!>cQSp;gFz)RlCiz^#1xfLC- z87Zj=eCi$V&2U#t-?L}$cK{g8qbIOabq>? zp4*0{8D2G6Ot>!#v2jzcD7SojpVX4O3Vsy}_iV4&YYK*PK%Fl#a&`FG zM$objsAAv_jp9{L8DlbVvx3c0C zr|Pl<9y$m2ro$@nL4nz&9SmgnEc|9WGSQyB1p-}ha92Fse?ZQ_Bctc8B-z2L2xQ`g z`dyy7!B5?H1nxhi9>_)z#2V4__X%3<%?$9NI#4tL15Xk`R&u3e$bmwRh?tD)leSzDDEKdpZ)(efVx$6cpg=B(lJNwny3Ld^ zn!A5?G^vQPVSFzWp+(__vn0Hz2!UAP$MPVdI}UsipFwe?qgixuqPS2gG&%&)Szcb= zUTn5A#oNb)?!ubF_?9i(g+_B>QeAz}{6mlrgqnM?ATOpDlj_W-In$Ej}3 z2Pdarnjc+!IX(h0dS+zk;m|-}p#C^9KK9}L=(~~Op}~RvzTUTQUiZA}?&?%^w70dk zylj5a)Y$O6zOJ^W`dL+FMR{52(=Vb2{W~l3=#j&R4*u(p-w$N$Pv5sUZBOd%l;mAIcO)flPl%8E z?bmHvV`G%jTcQ+lS)^1VjtCFiED~ zT(R75nJ?Rih87J7rZv4a|qPj4f%`NKP{w9zJutaJ^PRj7vDCX2@s-1fMsBq7R3UP)M+%4tA?D+}XvHFzz*y%L=kmCmK7^vJPkuUQkAmPS3^L3MDk2U
            `FtXG(OBw%kf#qS1^68svpOwv@mo8;P zDGCaXYN>-Qp0~Xx+rV_GI`^sF6U7K8(~zl=;$%)R)~gj@bP&VoMw_I4V?6f(!^$+;TlKZKNWRvr5bBw-5Huyw**;mBJ z$e)Q{?zFlcJ6(9*C`9kUZrt2~XFpTKnRkA%Zm|z`^-ujm+}lE&XVKZs-c=Znar+N+ CBC!|% literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/metrics/images/face/1.gif b/car-mis/src/main/resources/static/metrics/images/face/1.gif new file mode 100644 index 0000000000000000000000000000000000000000..b2b78b218996f70773540d0d3a8649d3c2d199a2 GIT binary patch literal 5514 zcmeI0X;f2Z8pm%|0tv}wF|q`>VUY-kh?astAQA;dB?6_fabYVUO9#+)7)Q(s2}KDA zighC_TBPE*AR-hSAO%6du#{TxXn-QNiVcVgN|Fij%v8I5oO9-!+)ww*d!7%!|9hVI z{|nx@!P_T>2oQmXY@j$fRCS-Fst#8Fl-Ji<_wt8B#oMn7hHBnZ4SIK-bRDmyJo~XxHIe<@S;}yGsph#%R&3pM=?m3xsA@drb+`R>L5S-6 zz>yk^YAiuB+oYNAZ_LF?#Sxmh?wKCnks9lU+z5q2ar+DGPfeziHw@J?S6jsf&!0cP zdJv^~b+7qw%%v2U$@--gvCCCsdk<_PHte%$Jmk_-lRDCrG;npxi~bPRgV?D7zN#&_ zCe2g*w7m0(@9fi`>xz@w^U1XtK2y!sP1)pEFP~|YwX*|ZH)_kL?|yde{AtyLq;?6r zrS5!RPuG*%o2S}r6<3x__s6NL<5VMzZyPSC`gf@xv3stwub#tO^-JmF&hTmZ_Q|h(Unn2|LQqcJljcz`CqNT-d#=P4TsI+`$f9Ch+HH6_=gXNx+LO~J;=#8M2bsj0pAsmE~jpC z+e9r#gRZAtL!FaYC?7{MaSw`>N^<&&ALWFFS+Qsk`6z^CS-}uaQG8o7OPH^h*N!^J zB?bn*FiR_2UPN3N6Xq3j4@!m%=yWd_((FOaO!^t=l&v`jJMzn0XXJy!`5gR078K1v9z+wE}3v}$MR=6 zIFTWuo=H)j?LKN}v%e&C+c=j~Y*=?dE}h{YLpr1Us*A?L@@)yGj!AMTkYgK|JtLTp zUWYwtNqJJ#_vQJ4FS9uod6LmbIk@-lL+QNel<(bl-msVKb!gj$+4V_uU<(q(x}GL@ zP{By=zzPD^M&24#*nggXldXc+BNE$8YZmMYeZm}wO7Pr>N#jQ-B(?~MM===Y3%&*=Az{%xjzo9W+X z`aYxYGyeyD21WR52Y^Qx#cLG+wFnJr4M0ddVvCPf0r+fTZ3%Hb=^BdjXJOs64!{j- z=8t&W0hH)!X479OfRW#}%z;G(K(o*q2{@ATH=C@;d9$e&vFpb-3t_8bq(m%AT5@Bi zGKi3|JlPKn^yD5RScM;yAK_GS4BiW0*wZ&o;~|Z$kQjO8WbdgJcAJw{tw!Ydd%mLV z?5ZPx4kl~B=EBi-Yvfii`n%!vDN)FMpTt8(Ew_zvl;e_+rl=Jxb0hxKtiGzC91`BW zqTyE4hbwpcrhAe4$e0eaKLebbF8(+pE&#b81IH#>A%oS!(rt_mamlx3=#H zfJ`;IZGvzuAmC!j{5rHu0AsnC&xJqi665{5&Q?zcb2^b9QInYSv`~04FS!aFd?!vT z?KXphV}y6&glQ}sz4LCID8Gpl_h}Ya87wsNA?=`Nl$ZW;|K?|kRPTx)u)uh~1X4b8 z&WAd9zsAXep^cMydzlIptr}~=83}fgrZaeGbNI#uc}5V>o9Fz&=fwToM4rGRP+`G| nqjLpT%jon>&iI|hI5DGFNqSH|Meaf1bVU=!q}mt-2YmkxGX3TC literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/metrics/images/face/10.gif b/car-mis/src/main/resources/static/metrics/images/face/10.gif new file mode 100644 index 0000000000000000000000000000000000000000..556c7e326801a0ea090bd693ca43807925d3cbc2 GIT binary patch literal 2797 zcmd^A`#)6c8Xsolx+O`H%Q93$nTyL{n9MM)A-684%gM}GWn?bROqpmGJGZ^Fi(PxC zQc0BVBpao@iAv-WQX~e2E`%;_^UgXmoi68xeb(o*-uGGG@ArA0^?g3?^6~R_ zc3~Q#3{evksAPYm+ldxe`B>25hYY5H$5ilyap#a4=-C9i!a--i^?{+Kq>xB__^Jl4Vn&qDieZbVwCxhx2@ zILKOvg+lCu6V~AQ`is#P@}Y#M=jR}wYR+vn|5TiK@RaXU!OgY6vPDVqMt==D71BV~Djr?Wup*KT5)s0Nt z1Ea;`y*Z$Vg^U%+NAu)^dy4m>3*sq2x(&3`O809f`!AG_6@bUi^1&ZV_v?Zdd(dFk zaB1^UmD5ngJo#|eL{F^zWjuI$5Ol4%mt`$$vYF`IF#R$WJTyT@^O32h{2hyB4HojL z=IPO!U?>rcovq1KN5(EAA1kK%5`D7*2eJ&VEMP|C>Q*F(8D`a)X#VL03k>m1L zNkAHLnrro;Eo8bcxh+q#qdYo0+G?;|YpN42;h4%E5#%GMLHA}^^K#ikNY-R6d*oOs zTKf3>vYC2QS))~Z!7^DZ^;7j+S>2+dJsMN@jAc!@>Domz^^oi_W2V7c*5V2pOc4Y@ z&2m{F+Cg67VV?A0FFQODt)hS_LhA#AAqG>-R6O0>B?2aUJ1mA+@HP&QihXzMZ!E-# zq+-`O1`-1Wo^TY$H%P1BC+l(AvXy{!WD2~F%yz-V|XHpgowuN zu~vo&Sm-lEyq$`rD_=m$oSu9k3_0TMZP`Q;2_lp6BnL+_nY043Ba-Y0M8!?EB{@(W z$rL*$=*xvwWD`birGzrPzvNQvsMsj6SU@2VVq;_RvG#bra2tW-;^Lyzu(PvOAZ$gu zd19u-mM60Os=$CnY#~P==J0utQjy8x?-Wz9ic0_80$1=&mM6l0ZU@iia|sfrfIz|% zl`VY*1_u6bD3|*UEfR;q-|PLa!lLlq0+> z3;A5=bJG;g?6o+|s`rH(IeRURvvLWFVhBoW|HJC9A;tVCm){0gvH3RoFi$b>Ld9UK zAaWp^nVy=Q`1J9^`|+{ScO%1Z-@JY`G&u0`MSowfw5R)d*R#%!r%&1+x3#uBYHn(5 zcvxTep!WW~yEWB!sw)5f>vqMho8@Jtf0o=RzFt&#?dp}wmo8o?IDalb?`-awoYSXH zW}i5IEbHhWzaKgLTV}?ggTJO9_~qxc)Rg3;{XZop?A!a}p7^-klGt54#UkMj0iVZ> z*&fY_+O`#rWV4tNTmHFu)5Z<|Sif%Vn((mDkl@upfdQ-h{d|4Ay%?Szbej80s+%jt z#o3AM=wNS0A`&{X=-C5hG6x_Mhp(KcU9@@YgLMeldR?axtN zwEd5V&Z~-T*Iv@rI8N2DD@?W3Rvb>{t;?G1!&v7sZ$i}`xn`>FQLpFZa5oZbQ!WU# z6N0id*ekoxJ8V?Re!96gG%&ojbC{6bC=zRL(qC9 z9AVRaGo3jGR+2<4BiUquM~)5rObdsjH=o&{j`7Fgq#-%QIg)q|V7l8WN}3~Mr^HPsnv zYBVTkuWYI`!P&3tY=gmCJ!#Glz7;G6+M758sp#>>(`c$v8b;e4Wr3n58|AJ_HBZ4M zKkT%FdUFzk{<}(CnOdM}KuhNHXeOR1V!?SZ4Gh!>qiTZn!)^dLP>z z5V6E{^;KymZ80qbv*Od_xEFz6_>=chubAD346L#aA6UNh2+PBUmt8$z7(H-o8%=4b z+W)tqA(h_^MWGdj)+!Cv!1vT~=&*>=JeMuyj@YH oWz4#Y8lWniX5g=81^=RXq3ldhwpWFqvq6_o40028>wtN;K2 literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/metrics/images/face/11.gif b/car-mis/src/main/resources/static/metrics/images/face/11.gif new file mode 100644 index 0000000000000000000000000000000000000000..2bfc58be8c70d512f4371b50b2b98c7b8adbe719 GIT binary patch literal 4121 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 literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/metrics/images/face/15.gif b/car-mis/src/main/resources/static/metrics/images/face/15.gif new file mode 100644 index 0000000000000000000000000000000000000000..c9f25fa1d25412e2e929347c0db0878b0b641d58 GIT binary patch literal 1793 zcmZ?wbhEHb6k`x$cvjC)UFLjcxo+2{sU44AEqro)?t{~@-b%N3XFR-Hwxr+ulK%oH+No|8@joUb;8o>khO;% z-pt54c=5$f_l$zz1xIF9ZC!k8rPSX?m75>!3YoF0@6_@yw?fNicKtc8QFZZ3q7CQQ zJ28K6dKNF8dwdf2>Dz5FoA&JK_I!S*#c%QM(+{R^st_tYd#Py0=A#ot|K1Au_q1vD z6!%ScSEOWk{yZ-7e1G7dQxZR(%&R%HD{|8GPuFK(p3ArTeE-+$eg#|BB~~S$dA0ra zCi@?c7ri|%pb4sD-Qd^>BZ@TkN^$;DL)19`Dfod@V3w#!8pDhc-E$->ITP|u(PWCJ5fjDdmu ze?xs!vs8YWOpZ)hzDjdnpQuc^mXOXgX{{oe-u@~|ZFy%{R@dafm z@IQa9kQKz2C85GpugPS}VD;TfljXPO4=V=Kgd@?P4xMV}iXHU$+K4vH=vCN_(f6?!dfWS6n2`SY^jFjF5#yp%}dht@+k^lQ5mUcOp* zcs?^%!Geg4gAHe92$#NpR-1INsfoGiRz$%hw=FUkg|bMf)@r}A%N=>H&t=-OGD)%dJ&%aS1;>?S28-4y56)#MguSwF{Wn{Bi0wrzT;!uy3&oA(_^ zP4_wBW87?f(kHzUYzsfa7D1pbvq83K2{lV=HFwoZ*)}QIN_Dj=yXlz=G?~}CDNBnw z0PXZuXlB-166sJM;cnU891&3uiN0ojaP%=)9kJ4E);wy(ATN9lXld$sVfl^MZ`{0f z`<5JUy@-h7JMl*sta~4a6oo18!%LOf$q&}sITYaYiet1X;M?G&Sqt4V`0s%?q;x>VWruo zITPfDMZ!^SQHzD;+gGnyyKeo4jrC#{^>Vzt^*iM1EyS8U1jSr=;w_HEA1-Lp7hf0JU8dSF%T&D%E<+7ylUKYC)M*n|{ZEMUu7fY$3aNE)ViSQzrOwtGm1);sbf z_Dz^%r|aYuqCS15lTnC&w5K1hmuJ8d&l*pEtR`qRKwZ!p-%_Ak4|D*~1b>MAGiJ?5 Y2vsx^3s|^#p`syH?V}DDY9U|^06Jl%MgRZ+ literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/metrics/images/face/16.gif b/car-mis/src/main/resources/static/metrics/images/face/16.gif new file mode 100644 index 0000000000000000000000000000000000000000..34f28e4cde0cd13acdbbd7482282eb306f5b21e5 GIT binary patch literal 6721 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 literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/metrics/images/face/17.gif b/car-mis/src/main/resources/static/metrics/images/face/17.gif new file mode 100644 index 0000000000000000000000000000000000000000..39cd03538a5bc595fbc46c97cf2b06c8bd8dadd1 GIT binary patch literal 4439 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 IdD(dV7kW}yvj6}9 literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/metrics/images/face/18.gif b/car-mis/src/main/resources/static/metrics/images/face/18.gif new file mode 100644 index 0000000000000000000000000000000000000000..7bce2997f86e477a6008fb1cae8dd03cda10abf6 GIT binary patch literal 3017 zcmeH}`&W`_9>8Dl1yK_aL;=Ob3nGb&N=AwoykI7&SsFG?;bls#Q?`m}L+3&8mQre& zIhILwGPi9z*=?-c$}De97tM;9W?i*RZLH05$~M7$)uy&if585*zr8;^=RME!`JU(V zdBVcQg2f3|kQMY4K>D$L6S^e*VCwsu-ujWeGlg;bq3@?|+D^5LdymJCUa~Y8^!gsY z{z2f>E#`2~Uw$8|*Z2Aw-rjh4oPRNYo?+rb`(D}^h4Ei=yw2tG^*=}Kj3iFKyRZM} zw>>}ZHeB#+uVQcHV~3jDI;&&G?pO8JbDnoe441zu5^60UJokvzr zv@PhaVNYFm*7q#wK9SmdwCvfV*1neFSKZ$}>n?nC)p6=?;rbSj_t$KHAL}3PEa<7l z>mRPT*&x4NGr#As@2yM6pSLjn(Y*dj>7NEpTfVv_{OyY4+Zz^dS_zZCtkypa)!&IX zoLZ*8lhA*0#ic^$@t)+qlbrW=g8yD6d*A8Wcf0xDy12e8^3j1`$4=T$Pfs(a%_2ir zt_T)IhkCm6j8G5+G2g)$PY6J6$Tu=1D+n^4RsxkeFTbELWWAf4sj1ugkixtW)6Ecv zWNS;}U`@q)+|pne3uOy!gtTyu*sY)rX4J3DCQt+`soayN)bb+?bUm^900+)sKxuL{ z8%=Mmr~F_`>6A0*Shk9_(VXAA|H04URGZCwbQ%k!hM3(&Bw}bBN2+@$iK77J6p;J1m6pocLCoTxg|5!y ze0Aaf=r6G|2gf1@CqP8x;N4093&QL$)a(tQM5EzQI10xor(GH%kwT&%jUNV^Cc!$Qr>))HJJ+FdjJP<~NCyx1LPaqE_63aOSL zgJ#3zZC@Ma=aC`_vIgR0DmB(FDmg1eWaa-$x(nHA>C)vM+xn(*6BFAkVVCoQt)yUc zi`;qCl*tU^fl7hP3x0~0)j?;Ir{@K}9Dr56MqFM(BC4y7VU+0E<@FR@0E;H2X%)v} z@f=?+L)W;zvo>&cXtSq;Arxc*kv?21kSdccVylbQVo%pZV7DqhphS%gSiH`C74Qou zvSgKjLh&Xz#rpvTd8hh^c&7$$;F+OHld7a#6W1_8So~tSn(GC`T+gsL@33|2Jmpdm zS>YrI@jDy0{X2rUlOH+5eK0+6lrp`Ee8TDsDT5j z{-{H!`6`2m$W+<;CXJK>VGkKG6H^utqr~ZXveDXw4q44brq@gD?PV95b>qfeAzVB@vs@)69ynJ_({9pf zhXVH+nX;txC(7&P0o&fLE>_-)ne&9@%ylt>um~*^gjS9cFwg+8GeA@d_$)LQ;uHZi zgD)qu=rnE_w5OnwK~M8frDxL6Wr(NuN%zy8qu5)>%nUU;MT(Z%M9@8KPp(5}(^nwq}4<2ejm;;1)1H#-RipPvSpCYvuGQVrc%(rF&-pS>snM~eV|J%Sv zVq-^GX)VgPl2}_>75Xf-Tx#V}ke21+QxWOo&{t9T)y@1L%_lUNxjB7y$3Ez%ct$^V zbNYej{G*ulPYDA+6bhIzPzGY4;_7%OZ-TeLGlR7lNL7qa5<4|1H190@IRAMg5(j8}L?(phY-y`50aH_-& z8U{DVAdq$){Y{AivqB20s8-wpxRcT?Z`FaicaB1cs)H@ zqu@!rE~yt8sHR{M}v6=UaO z1;V8&kz9rTSSvM(4H%a_|H#z?Bv%Z^7s2BH^hL48W|DP0J3FWiUv6)uh@L!>i#eM%g!m2b=EomsZoMrFNGwm%(_p IDGd4k2Wv_t&Hw-a literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/metrics/images/face/19.gif b/car-mis/src/main/resources/static/metrics/images/face/19.gif new file mode 100644 index 0000000000000000000000000000000000000000..adac542fd33e152fc08baf165d1c5a467f0c2747 GIT binary patch literal 3040 zcmeH}`&Uxg9>5Q86bs~`fKmvGN=OJ=XsCdSFDfllZ)I9iBDJa+pA|D35dp&{&8Do( zY;4M!>h`{Mb4u-@Ju!RP^cd|iS-0+W(rKJY^ny7y&FUYxYu(?@4||=p&*yvg=d)wt z6ylJDZjc-F6M$^5zP`10c7JD6)#SchlXsnjv(6| z>EJc5=N)_dp6s#Rns#?z&_7FEhJL*;)OV`2igr|s`EHfycxjOBUP9S){P1tLZ9k?D zotoBK?YlGx{p=*K^F;QQZAq_hZ@zN8_Vs1ut=;}ZXX5Vf!w&stkF7!6_vF~~Q_e42 zQwFd5Z7rPp{N$7umsj06{^iwb7u)?=E$cCNcT@WxZGL;VwCh{n!S+dC&tvtpE@`a} z>AzoKJ09@5IkaXOckr_N+m5)tp0@s5Nzbou89I^r`sNqsEVLj0A>Wii8n{S$u_w6y z;-m-7>#a51!Sg=0j@TRfa~i*`czOR^-;MN_H%xDu*n0ImrrWFwyHC$LZSv{uP`$H8K03&4+LrO|lK-RYjlXxMJUUzOqWi(CgUsRKVXtA_ zjOgUqk+Q^SAzy%iK@jBi8xkdi0K~ID+lS-^L6~73(3coWjV2JaB*57@AYe(9xkTZN z;gUT)$y{i;^9ECZf)YoQcu0yM3<{+QFxGSV)MPOQUzEI`@%O_e`5K6ki{etYdJ-TM z;*2K0#2-UvmP|bqDW)S>ja&4r@f$q3$u32Ab{dUSUB|Z%WYr@|umzzS z8QeEhTIEOcJk%^~L;JWA>!g)T<+^(M3`J&BCNvYLYXAONR(5JEH6pX5PP3yhWsM7pwJ6#Sc%<&*+cVb)n|V zh-4;ne&?aZnDT9c#FhGX)TQZ0^OACDKVgbXM=viAc2#xr(0#$lKv*R*bgH0gibqRJ zbzDV+@}yMTVz^!khmDZOJIG@pIE00ecJg$cSRz3KBcQUm)Ka6COO6(qHUb{N6n|&g#oQ7BP0T2A!<>-(?d%YZ0Y)3g*%^dbs`F=VP_01?5WkkRBu3`YSH!tr@T1}2Wn1C6=y;p(WM zWE@W9o>0S$Q{{;k;1YeipWs%ri5L|d|K#7jL8K?~x~|Wy-Mz)(-0;z7` zrq|^&C|BA1fvl{xrB3eEY3+&ZHWU{hzbx~cNWxl5Xx@XQzMs|^32qyeiQk+<6h}x? z_II}EitEth^oI8CsGdy`U+SRBH;ZD-!C)=1mzno+V$iIU%#{_E@PxslwJZbq4VGTz5S8EOsyqc)urqel zLWyG*BFPf<0W+yl>L!t_yn1dTA@k6anYFyaiw{<@{N!+aVi=*V?=k+epF6+(RAd(( z2A|h5E5En3wRQqb>vyVhPme{ilEq*Wj(NvoV4v$%pGgY{aO8Bi*F9@9+vY3G!!EQ9 z12dT;M{Nw-pPfBwCg2DZum@_nB|u?M6tE}Cemk;o2C_C$fvM3wl%!KSf9 zA%G)N){#hEY(p^qk|_q`<4|=5kCv+8YJ(nzps^Vmtng>=7LRFx7yXhJHOCRe!9jzE zcNW7Crh=jKD<4PUHXvs|!gh=#OaH3QTz?@FKFxJVTePUyiG&MusvD@%=~@}t`h^1` x&iYmvvfx#bmpT3`PtF^0k?a@iE%))*1NVySmZizF-M!R86}DbhY`;HF`!D7eFhu|W literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/metrics/images/face/2.gif b/car-mis/src/main/resources/static/metrics/images/face/2.gif new file mode 100644 index 0000000000000000000000000000000000000000..7edbb58a843cec27a1641a5c9b6d30b8fc1f8c26 GIT binary patch literal 3222 zcmeH}Sx{4F97iv?30p`p30s7afI%Y0usQ~*kRTvo39F(M9fDyo)qyIGxZdPOAXfuw zMXOZ@MT%f;N3m|GEf6fID6)v4qTr4|g<*?Gl4b#gPG5ZI?R!4|GvE0w;|8(3`Bs1x z@CE`_yJD2}b|0SX8E<8)R4Qff@v))So3@t97s9rhpC4WH_pkwL!xySPHq{)oZ7p>h zzvrkPIQOBeShx`LV*^5%D6C%`ebEiEl~ zk7CE4B~|Y;QY-4zgO`-;+$Y!56kQ@|0&T3P_~I^%dg!{c*>mvT;;r*BVqy5BGo%N1 z>y$4yj<eSIAsOnz$S)c;g7`UNK{5a%gXzk9w@* zb+!N1Z*Z#q(|tE>A72qE-$~S?mF?$QKjr5tH)lqBI}f!)-Psh@T^p)=9MN)#S6{a5 z)5GBNdp(u?=bL}eIw4v-(&%^nXp+1*wON*U)QfoKAiI@LkEEj?KB(WsGWwPb_Q~x# z%Pj_))}E%~{$aCw?}kb3!SMzc<>;fP!fzD)jmqa~!+lLXRgS8nQwfW3qmScXUR|)( z58qz3wdeK<)!QANf2Y5%2`s^ZidsvxTJ505@&aRHmU1EkJ(zBw0RR9FAJG_700J1A zx8_Jz0AQpRL9k>=GRa;_N?sz#%Zsq5<3pC>LV|oY+spD{Qbe2&7lU`gW43MM#*2ar*Rwx+$e-nGQen7iJ*HH&6s0DE)T16NM@URLM4sVjkz-7 zEVM@ox@)%#;|K;6VBO^yGDT45hL=an%;wJ9`Sg_goSH(sqv#czn<8!~#3sD~%K0_n zM8E1+ZQZBKnoC0ED>;cRViOmBxv=BT@LrSCmTmn8?91ocFUGXRDmGPv$5s+|%)PO4 zu!z}lmB=t-ZS|%1LinMQX;MOwcmS^G?9*u1hBP-+<}$vIIbo+9TL7Q-4AIssuw z=N}TG(+?p~3br$0y?OA2c(7hNM6a9{%@o_D&;*eH}6v}Ak*0_@l)tisouy=(k7zah6uVrZhe;O``p=gyk5s|!3?bZf88ne*I%R2?0u zS@(sfB0s%2$%Th?;siz>TCk?_9ePuuvyJQQP8vMj7X;0X5*K4F3?nP3QSNhuu{urs z84)e)87pS2n6YB!ulU@SnZM$z3t}))Q*A*^DVoWmscAMP6tU3N6pmY^9V;nttf6+O z=$l~2j(DK-Bo4lc`8k zQg{>bzl{g&%nN?YhqNV#O ztd%y!jg0~xk-W}^+K#6lpv-gGpDC^eLab>noeHkN6PT!JRZZ+!1SKWgcK&*DT0tgB zXm^Ef+`*7`+buyz`jvr4Q3^sy@c+#WJ(tOup_y~jhsI<}!D%hkERC;dDT30s^pD^v pEloJ|-EsmUGDRV$ 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 TKb&t*bx4GV=Q(`>7FhdV^sO<; literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/metrics/images/face/21.gif b/car-mis/src/main/resources/static/metrics/images/face/21.gif new file mode 100644 index 0000000000000000000000000000000000000000..b98421282467fb377dced2eabd72bcc5525f3e8e GIT binary patch literal 5191 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 TguQ+mZP{ha!SUN*Q#T$ZGKvWRLv@}vHJ9z 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 Lls229f${$VzcBA< literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/metrics/images/face/25.gif b/car-mis/src/main/resources/static/metrics/images/face/25.gif new file mode 100644 index 0000000000000000000000000000000000000000..0b4a88322946c1b65e9236657d6f42c71e412a94 GIT binary patch literal 3127 zcmeH}Sy)r~8OBdG60(?tEF?im2r+;L1lbWy5OoM5NLU65Q$b)@h6?I*ijH!^Ie`Ra zC+-{I0$SlgMa2~iD4?}c!BMND2!czsN^wC=U``U8YM-`Oz34^na(Djk_j{LoC12#{ zpTq{(z%U3*yz6*VPh5@91jVmp9hk*h_ue zPJQ3W9I7V2)w{mF$m+;*>u>N~s}C$^0`3@1m;r!i)ctaNxQyEFz(9+eC`^XN3!8BQIW zt(<1eq0t%6P)gK1?i~Ktd>1RgD&R3clgnP50)~j$^r-=)g}=2U`P7FrwO!vqU_*lU zFw_kbR;~X&u~yc;$&E*};A ze5@dpf)h2mKgvz4`5VTT6Y|IUpn?~B`O!Xow+E^_0HQ)fRwZ|q!mi;yyT(Q|dNO5( z(vaIEBo^5_+8bJG6foKk?C;Q)qcmHc(BdBLY_wYC6rS^a^2noz&3GFqSXDV4J%vAC z=ygah&ds5MJuT_7^Jnmlu+);;JL9n6_Cf`txBd`g4RhfCW$xgc}fq5F^bFhU|C@tyaSPrXmiWx_-;j z5{OH5aS8B-y#rjF!nZ?Npn#VKr||^yXmubK7N3GoHlI6xp_vXT&t-${;6-psCed4Z zju{@l@;WGkgg5K1S4V?6;eLXa^J0PgH(&%T2jlBr%DGT{sEszJRRQMz+ZQ1&fFZ;L zTCD{?98kf}EP*W8;ThJXyzh2EtH5btM3@+smE~CvCcpxi0iQZ?p|$PAT1a%k0lb8~ zN*V1XM=G=P7E0aLQrUW{8%L`2wu_dUPcC+qVwegWOwJEdU(ghkP-diGnZMYcPcW7@VbmOIpx>pYmRCzed%2X+OamT;YIX&wUMpf-{_n-e{s zN%$P^C$0a3oe}+cXRJY+JA)~xIrynF;Ke9!5mD7YqETbKiJ6Anb{rbZpvC2^4Zc{! z@Rbq`?@=ki6uJ~mORT8L#Gz4nS%;41Un!I3?CJ-SYA;dAvBLTW)x%B-Lr`6rn?L$k zUQFOV%IqF#gC5}Bdi>;-4rr1qs0)dcpyspYF!zUWfX;B1Pw|1=G5GRA`1$l9>H$VDpJQo!fe^lQ++|HN)tdbJB?X#PIO)x4gJ8!2~2 z#cM>{Dvru&7`$UFnDf{c`}j!Jz`M*RZyV@ z^7Pj#MM@!7tHBCOaFE%PsLDbV6GZ%IZL;I;y%5Uc#Be!-<|=i7Qv73~>`5Pbu))rF z4u;KN_alhm#Gf?TP=UVBjrl==;SVbw#biM?3VSySG~J$pUOaa$xC~86cY`RyE~c(y z;VHb7q8o$qEoz*V&^-!AW>ZrGnNNZrm(c~e^_=&;`>AxV)ar!vH+7{Dj`*x8YjbMB zHIxKdFw=fb%KE~K|CGA|=P)WgdLGg&yjf|cZgHZsr#XXx0-Pulm#|#GXl8gM;4(!x zK_DnH%g;`r(Zn=Kf+dqU&=N`%R>FP2!cLyzQz()2zGiX$kx5}ne_g7o0A|~ha|cB7 zLV~2(5Gkyw#S&tyLY|H|Y{a_6+>X-?Jf!k$DT*zx1Tt9>YjOOZusexEd`ajc0VncO z5C&z(?hjceaQeanUKQm*8~Y?)J-YnWH9d5H%9D_3Gk;f#^_)%f$Z?0hy@IC_R`#iE1Ud98@p~5HAYTDuK4U(zc<#GppqcpSq`GsG$aR6;x2k0_?6-$i z7m=~qrPV9qZVTWbdZ literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/metrics/images/face/26.gif b/car-mis/src/main/resources/static/metrics/images/face/26.gif new file mode 100644 index 0000000000000000000000000000000000000000..45c4fb5563081d684f00cc3560df41b803cf7bbf GIT binary patch literal 3291 zcmeHI`#;p_7awFU=3N(!aa z)@F63%VJeZ7o=9ZQnt0-6xqs9JUi^x?ho7dFZh0*&+GMhp7S~9ywBzRI**T^H`7C4 z2s4C@Ps2a}4)C#HI~NoigHSB6*8!HOC}Tq)*G;fC2OKPj(FGJVaMc0jhEI`juo?%# zaMPRdAVYurYr<3!zjB>V21i&gak{lAP5J_jKOvfu-^l)FrbJJ zYMHdu?mXbW<6M<|Y| zA7M8>`ZC!V2bA`phykRIr;IV+AX^n{3v%H74Duba8K{B=jqE_49XJ^VR%_n&!S)dB z9_rY26KnuO1C-jd*p-SfdSR<_g2Or}K^W7S`c_1>>H(0|FnoE2Dtn+MKt7mk-&j=y~ypsn%lmxoVC zdZ5H|I>KavivdiXQX}mqD?~$B*i#4WNk77aw9K>q-nW-Wl{i>Tyn5Y}zx7_pjuXpm z-amiVI}dkG5I%)vQPqK4LQ?mp&HY5Z8&QJyH1vm&(Xlk* z^NW`zUCN#(D_Jix)u)Q(37JxkRKCK&g@>X)-I7O%@1c zF(Q_FKO=S~L$fN%L^j!T<_9!`=_ON$Aa{zZQ!JH6gXnY$&CQ)or#V6{RGN!3RsGVP zXl^WbI?IIt{r!;DXbNE*E12i~Hba%90aga>y%$4%zw(V#U%Kf!(Zyzdy@QnyeH^V?};EHd*b1A{Gl- z3|Bs#>dBzWidmzAMzk)=-blj~^x{RO9d8z5QeC&FIMMSHmw~Jb(7|_o3gO{5tsf(ZIw0Uw(ej z_tX7*y?1-MyYAe+b+hxv^^R*-ueATz*4pyJGV% z-LO7InXFhRmq{f_iEG6P@o^$yY>Xg!&FZMgi14sgD_1NJ4G9hkTo&N})zT$?zCPZ3 zo)_1Xvv?7E;R2QilR>co;>YZj#w?Q2>&na`qI z;P6A9*UbBTGj5qHeb0NMbcesk>yo7nt>&=64j3%Gu)bZ(E-AD_%hEo&CC|scp>@Z? zB&#mGyRfCTjNaG9(VE+vk+&0#)yRV{sBXxHXUVS)?Mav<;AeZMGt;}7F;7r07;<#B zcYzt6SxCK7!7kZSa~aA~zn0s5Gh?nELQ$(3%P%ybUKFn@4$Lx4U+a6kuT_ag6*8M`RjFL!A)XSUC?DQd$IFpPS^kjr2)m5Fadb!#?~ zU?17hwYm<~GGKB$Q+BxvfZm2h8moZb!vTPlnm{-Fbvs zTiy8VW>&3@PL@xR?~6<-^j{c3F!98{F|xnG&BMSuQmipmE8=;oyT7A{X96tV-m~NL8l~6+F7aUlOIu@M5({Ic8FO>gh^2MGk_!BcJ BI{yFw literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/metrics/images/face/27.gif b/car-mis/src/main/resources/static/metrics/images/face/27.gif new file mode 100644 index 0000000000000000000000000000000000000000..7a4c0131dc926ee932804276038bf053a5cc1634 GIT binary patch literal 4377 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 G^ZyND2?^l< literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/metrics/images/face/3.gif b/car-mis/src/main/resources/static/metrics/images/face/3.gif new file mode 100644 index 0000000000000000000000000000000000000000..86df67b7aad1ac80079562c74945d9c4ced3c397 GIT binary patch literal 4017 zcmaJ@3p~^7|KDab%zZ9V+D4*=ZSD&(b6Ln-%k9|ALfDqeNe(AQl2UR~q>D>L;fEw0 zm*!gGL@tF?OBd?UafuY)?Z5fe>73W=*Z+BaU$5u;JkRI)yx*VC_v=V@Ft?zofK))A zRzbjv0HAO4)E!CSRd~Fa1n|TL7pKZP>djO9m+3&Cdx0 zc%l4@zQCJ=cP)xbgS+{2CH(mc!RLX6KX!f`cCSAI<$t&+Sb4xN@m%Xs14f*4yj1}n z4VYx6x@z+Ox&k~h0m|%v9xFjcF#m!(aKnm!*%_#C7R*-xuj2SkUaPY=fDsG9VtvbT zY2X=cevr=33hX$&fj|8#@RV{p6+YXcIn(QM&ROn79ilH!W}-3daXD7-Wdvv<@>jTm zFV9A=Njxdr2)sVRpUrz-B`H|?{br&R|NRNz4o0xlGTkHxv{?gnb}L;7V9=)7Um3W$ zlb`DaJdbEh*8_%4fiW`wjx+EqhJSMpFk;Ow@#9zd0UaK|TrJS&(p$*{svLk`)BZA2 zLA39K0=;ySG{4f5_eV3(Ljp#Efv29p`!oF6OMU-gu5}mzzZ2$vkK=#1(0?Ac!rjQf z>GOFqdG#jdeKi`G@CF{?1S|cYZ*5%}a`-r4)t#r;k%O3hVEORUmce2}!7{h^g4N^l zZ9tdb(@HB~%=^za^rvw@;DIN(+bKsNb7yxZJJ)bUUy0Xaf`bfI&-O z=%=m|Ccq=|mnX4rsx@YBBY|=1RFymMg!JhV8yIy2dNu>kLV=sc{6czVfKGoUb?~ao zTEFf<)lX}8bq9$`lVvVIH|uk&2EQetHB@7+9J6+H=h_fqq0&$=Q_Q~`(0fK3Xfz(9 zZvWDa>Nu!1)u8&WR`cn8>`a3_&}H9tW*ab+2t3_4)1<-A4+h4Qmb!g_iO?rrsH<*U zuG>li{Xvh4EUvn5>B`ku9pB4u2w3aG%r;u{Zv_k9T;R`NX$_HIy#WVu7` z^XSo6b*i66ShJnirV8y_~BjMIQR|=9ui=_!? z%U$to8a;v$iwtIjhBK|ue>L4jBf~?i(0ff>v94@8Mp(F0LNvoOVUHI*A%boZg5G6~ zw2UXjN3o+Au{30SR3tNo5O0O1g|LDd1mU}A+YpUh7m1CqLfeWCkRqRUtY`+(#K1_O zj>X}SrltlsV-r(T90rNU;_!x8;bW?gGbWgr67XiouLCXg79Fym;6ZZu>Pxt?LWjl1 zvI&NUhYlSwIAmnNiViizSy)(zY~bzf43>s*V*hQH8Dp@Xjscw&Wf)Im8{!PGqLjV~y1M@VqES(QOUJ}|Fuuq8 zKMlut9cD8OJs2^pxM(^$&&R|1(C6H8;#8Dx?bT4=){JUoOzBHEgmnd43EjZK92ZjUp^;fN$0(Uxe7 zH*qjEG5w}XV$tKG7|hsjx*^|n&3>pWB105g=$XWb4*!`E;tLarxG2>)>`#y_<8 zRX60vv6%c&*H9RYp$OW4K>ck?$RE+`-^3Lz{-!>IDdc;!kl0`WA6Q%c@_FUc^3un} zh55O^KFrSi`TpJX)Y~_&UroN`y?Fj?;_3L<=#$4I!$X6Q2KpcV(bwDa;QqbtuFj73 zHtyZlmgc74?=;?SxK)3%uD0es)m4=@u2+;_D=WQPQe0GcRPM*j-o^dSwXj&>KCHcs&Nr}HC9F9Nqb6jjp^g%X@85J3EAUrH|KO=-5Orr+< z6d2&|=euvOkGGenhdae>kE@IGZnBf3gFVTPXlt{}+RAb#!NT0k)Wp~bkHZ=o=wo(l z*VEmmvsGIQjY4kG+`LIceWRMHiZVh;Q9)i#Rt7FDB?;RgAr2LT2-^edGgKS_S_NT5 zO+@q&1;GTMPm-JVr5sDvMHIt$?zBR?W9qtdcPO2(bhHYBR6HeZ%*d6b-`74 z%f8-cDkP9F?2#_&Qk)yY-cL zc9JHLDT0)@fa#(~sgwv)Fh~NV1dt{ zq(GFL)sop%6a5pi#);wz8pMr<6TW zUCBrSHG}86s#Nhxt2Qq4Jlj4sF&T{v)Ht!H6(71!9)MggDl;Ydx`1inUDg$$6l2mO zdtRz?T*j>b!O1>rZyRw)Pu*WVnaW&=_h%U4L$~S5@PQ^(=9R6!XX{Z{7f`t};V`tD zk}A)xBfaKgZ9&(mfQeoiv1aZfL}fbpdqyD829PocF3f0H#8M|p;YE)4P81?94XGpV zEsX34)hf@^gn4e@VIEfMurESz|uNHB8GYH zVr1;{%L%j6bE!dezw&IZ7aZ<|>^Z5RlwOghV!JqMQ50N}W*WHceR!xeE3JC_o>7Io zh%PY|jHZiZIOOPABTb%lW4kkN8EF^Itt9TR~_Rn&Z_?l>~Fi}Kade)5; z2)&k^T7$YKtOKMM2-jJc4zV>xaur@mpMt7WC-yohN}6aF%6P@)q-m$gLVq2jrzhtp zv6s&*knX*`Y)CpQx#?zqYMOtD4l2?(yjx#V^C3KK9weQ1gSMP9x7Tp4`06e7LDCo}`DJ;?Dk!eD%m&BcFq9#1Mgb$H{MHwfz;>EdRI zc*PRLuG}5|?P~Jh;rdR%JO6`#Imok%Qs{W<=USQy#CyW&%%sE(D@gAQ{npuvOe;?>Y}EFb z(rPI|+L0|qM5Hvv3`w=k+|Lt(nK7vrDcN1AN%hMn@xwgdiX=JVe;lXAZOg$Sbt&V@ z_$&IxuixAMqUw6d#y{&*>G*~n90*GaZY;Zwi6li-PGZ7xl3y<;Cg{_wb4PbBH??;3 zszu{zPna1>ZF{_0aK4Sa3@j{Ug{YMx0Wrx!6{SP%ytTA$X zoG_chw`r2nInCwdLU6`*iC!nPFwA<4FS;DPo0y}65HC#>QD>tY`#`pkI`4(lk=iql ze5sO8&QiBLFc3C)(qGZ?qTY&-I!!ccG6*c9&LNa#GHy;poev4q9)*Ut9a~BE= z4V3rQ)R^0Krb!}5e$>a!?S<7!+bRbLk9lsXp{13DKhf^-lx*FIGIrbovue-Vr7Jk| z%p6Uc)(2<-W9Ff>bHYGIG_{6Y3i7f}_NAb0Q{?g+kgy_fZS&{F|6Y#ddb<;L1!2ud z38&-h&4C>R;hdI|#TZd?i7Bk-uufEsG@NsFc_i7c<^&=XvUN5>VgHpADMyyc9zWw< zPUwlR7Zk@4kyEH#Bz9Z8 zDte!~1DcZJUrXdQBoSaafu)qk9Vu_2#k$MOvpPq=LWlqN2X<{ex_?0@ujTOCYtAVr zFkn)C)STANff|}BW^|O=WNED?pPYtDL4~D_hN~%{+MN{(ZQ>HZAzMzVhdmD~wo8`P z1ECMpYaQ4R$0HuHSD;%%h$b0}Q|_r01D#v>MCj$=2u5}N9Ir^`BtD=qSy!w? z=Bdiw9;ZOhsh-pgntq9g#ma1yLxM*6EgqqNv?9BFF6AYr!_<}X{*(`YG}$RdE#bh{ zv~ToZ-{BJ$C8lsKrPbqwPgR1)wlN#WF5R(W!~r$Vi@OK&e`83y){>wFSZ90t(TtsK Z`!_Z%27Br#6>oByc-ZnwM>1&V{{f6`u%rM0 literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/metrics/images/face/30.gif b/car-mis/src/main/resources/static/metrics/images/face/30.gif new file mode 100644 index 0000000000000000000000000000000000000000..b751f98abcf8173ae3c08402c99ae885a0dfe162 GIT binary patch literal 2555 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 literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/metrics/images/face/35.gif b/car-mis/src/main/resources/static/metrics/images/face/35.gif new file mode 100644 index 0000000000000000000000000000000000000000..a9322643dae616390d8263e8cf1bc4d9fdfa03ec GIT binary patch literal 1800 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 literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/metrics/images/face/38.gif b/car-mis/src/main/resources/static/metrics/images/face/38.gif new file mode 100644 index 0000000000000000000000000000000000000000..8b1c88a3e8658cde7b25b6e063d23d010f7ed86a GIT binary patch literal 3615 zcmeHIc~ld39-o=q5R!1nAxDM?f(RjrT#0}Q2{9;W1Xl3ang9_}4T&Mv=qe;!f?|nR zi+8-Swp;6Jz1lSiqLiwQXzQ(@Xwia#r2;hxJ3+DAee1q`uYc@6J2UUi%x}Ku@ALV7 zW@?%+fi3k0ynz87P&M7p-d3J?AIn+ z>TyrbxZA#)FnHd}b|u>W(>nV@wWIg2{Ri%ajee)AiT3NMw#(yxJVmhGTlDd~G4_Y= z5BHyP{A_;NmS+1l@b)J-OU)QZ&;A_?Ny9^J*AK^BXb8W5)XV;Tyko#*d$RTF{)il= z`-@AHtviAo&vu@ujdk=Mt;=$CJlopZ;M()G|Mi2uJxxK6kNey{Q`G%!`q0x)zN(Kp zQ61iSlKy!mudgltrIM8&!g3GsE`hxY)Zk z8H>Z7T$npN*g9})?)n^(Y1{0cmZWbE$sI%Y`mITQch|jaBDd`#{n{E(HU;W?uz#T0 zy~85Ca#xzP4>$E%C9mmO;k<$3j8ne+T|&dFVJ+vEC^yOsStfi=#7RV&meNkuZzFWJNQOD=vx| z!-SMH-EY6CJ&5*)saFNpz*UFq+9`vz;+mtSH1H zs$_YwMyib}E*Uo(K_Dy1SIbozxw05`MwI3$muiw|NTsh^P^jL9EiR#tv_sEVDx$Sg zRWy^%aJDpRn33_HO%;l_)+L%u*>Cm!+rTB+%T==IOj(I?sXAYVn2&R&QgQfdnN*`x zXDgM9M|V+Nq|_)&ij*ptpA`p(XGrtq#m#wR zpTdqwWyPej83HCVm6^hh6$<0nf>?G8Q^?@QjQR?c`AZeDV$G;;!Ee5?@AP$&L7_r2 z3uJ2f2eJa8TB(3Xn&!ygT?^}-@!t3ryt|f3@AQpEiivhY`%h4hE+PDJKE5R`^75AY zvSNhqYJ}L}u)}V9_3O~!z{_9ye}2)|`}|o?_fJosbp81FQRl-49qsq;-Mw@B*3BE& zfB62|)wV0v?=D}u_-*SqEf>x=pKG$1O=ti9^;c(3pE`Ns%j3uXcJzxQpa1om48{W zT)XUprJ54;5|y%8v3Sw@@}k0pvV#0Psbs->f1W>Y?ws75*?-E;%A6&hIU^%|`m{9B zRAH)spTgr#Nlr?f%wZ?Q$Hm4>Vlf%f^r*;*5fj40#)pQCqXom%puhnCv3|Zj-ebHx zJ=`f|k{i+0g@DIlF=!No$V2cDnot1ffJmoiIe(%6ei#4=0eISKEDj&r2{4aHn?gwj zajw4k+?sfg0|}BYin!K8uuzmssj!S8#aIGz4XG9ULf+%q`g2pSb7?79okFtGb1QR9*h8c^l8IGmiuNVyF8j;l5v zXX-)M@fmlp33o$GxG*uH*Lg0BJCBmgh2WLt;yv+sHmM7P;`TB<(bNTQn0slDODoe zmZWkkKJyVi3oIL7LuqMht@aMJ`dXp=)5se=#-k}*V~R(RE)(6@TUgsb(j2>Hr0}7u zr^+I9B2ZKbV$1M&yw$AJV{k-G!}NA?1(2_38RX49@8#Dx3)gPLp(+S*KrF!ZHw8k+ z6|TnHTlG|wTS1wx!`wuD&^&qIrKgmyaxHTa^fnnGEV1n9g3sG0r|74cXC>Bm{cO}x zpMF14HPADHnHad$VVq8V(e~X>0}i;!?mrpd$){2(+ne>cHUqD0po(Eac@s6|q+qW2 zT$K-9wSXE719~dwm{knL69Ev7-`AM8Mj|kzs7Rrvs#=$8MSG!njk+dGAVFgxClKL% zhKNR>62s`fVI_pmH<&j1%!l`E$ev9Qah(`p{t!kYCq`yztw-_-d;+DZ!fQfKf)(${ zwXFRJwYw`4ECg%G)N-phvuXwobbSx+7jDsQrm~7k^(
          • ap0JjxBHsOrGeE$JcnI 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 literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/metrics/images/face/4.gif b/car-mis/src/main/resources/static/metrics/images/face/4.gif new file mode 100644 index 0000000000000000000000000000000000000000..d52200c51ee924f0b91132e5cd3737fadcf40ef8 GIT binary patch literal 5689 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 E2fD;K%>V!Z literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/metrics/images/face/42.gif b/car-mis/src/main/resources/static/metrics/images/face/42.gif new file mode 100644 index 0000000000000000000000000000000000000000..0eb1434b4e81d4437098efe06cb4e1ab44a86211 GIT binary patch literal 5305 zcmeH~Ygkj~0mo0^kOXo&KnQ_Au3TbK#w}bT)dT{>Ajri^K(Gmy8kCK&isJR;LP$U^ zkqSk0YrG-a+6lUjwbVgCMJo$M$H`}j>#dkk(v3$GV{6*}BFogLpYc0=u zKR>~-Jn6LD+if0BwA`ZyF>EB(yK615x?nd;V zkF(F}WncgC7d>^znVFf&rS|QWQ8Qz^F6|@k@jx{eP(~{%ERT7eL*BjtR{s)r*-F7F|Ic4F_%#>Q{@-nzWU<6+;@FF#!;2?VbE)@$TkUDu(F{Rab{ zj>xqV_J=Cp+vnDtP{#JY{`!;Ax~JbheE7xI8*MRH58y{m2Yl5|ynp}x-^TY0o{Y7O z@9L}%KkQ4|>W6s#dHUGze0%DNmS_z<3TiIsq`S*!pdSL;?WRoB~#w?QxscUMI-QzHu z9RfFt7+c({YgNI?1e!k?L%@)Wi~Y9-|K_~_X=(u>Fwl!okSfiLI;q|k#b6fXMPxfP zWJlzIZvIi*)S+(cq(Ugdb9;klgiuHX@S!SSF~^MzqM#h=W@^q~z*dhkUw9+OgYF|l zIPaA}t+)ArkBpaJ*8a`aY9@;pDSq6|cL+%OV6|KxQ;CLH8}y+j3Ao&wqLWFx(l7^b zTw*OGHLcQnvRA5jgK3vVNL2ozGS^-|G%>1RdgzeyZW_SSbJUk z$B+c*`WQ{YtbMo?Ej#6G+>fiF zQ;MG5NExrIbjNwF3^L}Pt0P@?SS)QTh?#Qt1NZSDuzM0)jI5Y8*!MmCc6h1zE&wRY zpP`}YlvRH^dzkmX!17J|9@ctZ@Na^XK`FG;Mr$WTT>pYrZsN`eltY7)r(I(1OIjfU zVPwSih6qnc5VAn)mvSg4+)67v$MnnM1zbT0s)XDM#-gzVJ3X*x^kVb!(5h-+)Ra`S z81<{5NWYfz6cjyvh`qk68x3=fLE?+`2rqAJf-dN>zYs_CFE}%D(WeJZELII2s6Ve& z24K&ylRkb@g`gF-pg*}OI$WuxsqC7e8)W&N5YuCC z#<-Ez`fb`JjnO-Te5gsr*Ptkjj>1h_y+0{sITre1O-z%v1Oa|)C{r5VG2lbiRhwK# z`Q_ns#nA9rXDSLn`{)uBT?xEHc^HXSJn4nYkQoasGLXv((^cs~US0(6jGXYmhVYyWZ>ks7XK-x`2II^ZVXSyC zBEIvzqw%ne#>6ujDOaiyZ`*&?^a~*7iR?Lq^G4Nv`}{6;Byclf2ubG?#IYF7t*qrF300 zAW&(@H;!-P^HG9<09?GWo4=+uIVztMe&uTU^++%IKY=p8|fRqn49 zmG`|BdlYkxv)FQ^aVnvz{PLEL>eRmzdGk6 zNVYb~_q{JtiwFpzjP9{&V`vpjOZfla(xZ(XpOgf7bio~uqS|J)(Qa;O5=Ojt#Ftu^}7U&!WricKDW0ccoQSQQT;IoEgc;-VL~uu zB2OCf!=|uBQ-s<8_D!HOeLZqi8XYV~lqbw^iYkT+q}J~HE%3VjdZO(C7wKd zj&>nYT(nOxv(Dc=P#~x9l~o=uIj5)#OK(Y1 zb{|}=4ZwzM$d?~gqwrMW%IBvG22~Eus-hvXk8#C{f5?AkBHxgXQ9zuy9TSgHRkc*% zBl>`W&$>>h=%4=62(nAKUhOGAbt8mv- %FKWjtVdL1P%I)BVn;-eLqw9kid`E}a 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 Sh@V0@dM8BG^xew?0{#K$QUnA5 literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/metrics/images/face/44.gif b/car-mis/src/main/resources/static/metrics/images/face/44.gif new file mode 100644 index 0000000000000000000000000000000000000000..ad44497691d150ea5d02a900231e48ff519d9616 GIT binary patch literal 4126 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 literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/metrics/images/face/45.gif b/car-mis/src/main/resources/static/metrics/images/face/45.gif new file mode 100644 index 0000000000000000000000000000000000000000..6837fcaf214a394d8efb68f5d48c9ec6f9ea1fa3 GIT binary patch literal 3417 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 Be_#Lr literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/metrics/images/face/47.gif b/car-mis/src/main/resources/static/metrics/images/face/47.gif new file mode 100644 index 0000000000000000000000000000000000000000..58a083611d7c1afd95d136e3a7fa798c86d0c2ef GIT binary patch literal 2333 zcmeH|YfMuI7>2)d+R_WymLAH@(krc}g@UaIXysZc6v|DCFw{lML_tx9cp184*`ZL1 z8relh&=?dGG3o?08na|UL^p_06A@IL<1U+y4ZKZ27)xB1?B{;%hyT9c&-c9VYf4Gd z>GQq88%FK$%pZF7=(9wa`2rr;b`38_u1Ni#YoJ?-PQ<{Q1Mt)dw;~qzlI6dI!E6&; zR4S&=!}MYJULot>=bAnPrxl7WG3{Y~-ZMS?R7Fmx;JV!ZrqlUU4ZS8>Z=`Gh;F>w* zWhsn$!lPWuh!*)(43jHi(gHKv;NC*y$D;Kw)BTS}1Ph!lJ4eqYW z{g%g>PJ`Dq@YVr0ZM$bS!gWJbUl8S%5Sg+-e-LyD{YIE@A&eMd!^;HdTx;!1^10x_ zc$`oDtrVHP22a+a6LRQY#Ggupb_~Y&@Tv?ZN#um07ao2`LhsAe+>VK!o12r&xo0FU z&rUEbOVoxerXTCRc;d(gnBusp#@^!YJb!2 zEjv?U4%vf|HLNuvF}0Gq+TAmiuS;9EgNm>?9F_(VG~2`EI{r7h$iiJ^X3FI&h0z%4 zL6hltEXxP6ib9p1!Xj|?EmBaZ#MNqCo0Ah8sZwch=Bm7K5>qgR3O1d7XW6dOArs4w zeTi$Z#&Hh_i;mYzcq1Kd6%cVmEO9zGLXsFOmM(H|d63aejf+oa1m%s#@d~JB5|f|p zkhEvl9ORZ>`lH{%a6?t;-40NlJkhCOSOwY!SO8(U=fBerAgKw)j~WY_$x-8%lobMT zW7F7yst~s7Xu+w;z)Ft$W}2Y_4NP#ueD06(iH`OLp_|x4(cOjy1niZi9*xp*|H8+7 zhYy*DhrPq+6`BzeOuFpBOEN^>#J7Aurs3C{ZP@)Gp7QeZ;u1*0eVkjWV_tTGL5lLsZ%QmVr#~iiiTQ&bn%& zAUN6hdnd%DpD^<88eN#Qi{-iWM!ilP=s2j$lAgWD8yu=<+sn3hwix!OON`05TM$!!`a0qYQ+D0Gm zjNQ!D;g+hwM9lVZCZ`~Ozsn=@Xkban)%L+;Zpe$0I!N|e`gP{GrlKDW&>WlF*Kz-^fm&{KNpQTa;MH3VbMTSO)Iy`7$cc!}$F;)1yn)K77`oAz1q&dbPwMcqZS4-Gw#0WxD0%0Pa38b|9mayJf#kALK}E#J$BBuS_BN>|>~!Pl rL2H#EiEFFJCp(ZsP5Wj&2CVH=rzDGc@3T0Qspp*aTJ3^`42b*_XAT7W literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/metrics/images/face/48.gif b/car-mis/src/main/resources/static/metrics/images/face/48.gif new file mode 100644 index 0000000000000000000000000000000000000000..7ffd1613b5fa36c3ffa7daca94e7e8cd6f8d82ef GIT binary patch literal 2689 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 literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/metrics/images/face/5.gif b/car-mis/src/main/resources/static/metrics/images/face/5.gif new file mode 100644 index 0000000000000000000000000000000000000000..4e8b09f15101f3e3fad0777ad068fb559ed483a9 GIT binary patch literal 4567 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 literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/metrics/images/face/51.gif b/car-mis/src/main/resources/static/metrics/images/face/51.gif new file mode 100644 index 0000000000000000000000000000000000000000..ad3f4d3a8158106dbfa48e521084e6c56fc6406f GIT binary patch literal 2785 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 Y?y9hKVE|Dl+bifDKf^#>4e-@}0Qq7Ywg3PC literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/metrics/images/face/52.gif b/car-mis/src/main/resources/static/metrics/images/face/52.gif new file mode 100644 index 0000000000000000000000000000000000000000..39f8a22846945358446ed010e2b9bd50dfcc7a25 GIT binary patch literal 777 zcmV+k1NQt!Nk%w1VHN-u0Oo%H_RysE&7t_xrK?&j)|+hq+_3!Ft?IFT)0AV!c0$aC zRqD8h_|TsJ>&E)ltKOw@>9vIN%AU!BNyvIc?7@=%;kM9?T>taZ_{^H%oM+RGRsZhF z`r5JEo^R2GQ{9+i_}Q%gdgjaz^&bp0Z&w@W+~| zS1ZnjO~rUYx^+wGxrybje(A1!?Z1)y)1|L4Q~-nP||Tg`+@%Y8|vQYP4yVcL>g zvt~NObU**!w6tnI+^U8B*sH*IM&_z|#eGZp)T8>;r>$c?$Bk&qfJV7zHKbH2=(mZ+ zgI36gSAsHn*{k%yj=+0P^2nRuqi?otLDrynz;{Fc`{2HH zLjBdIzja5VP9(HtHTc)8{no1Ese0nAeZ78I+ml?_ms$MWwEzGAA^8LW004ggEC2ui z02Tli000O7fPaF6gnvseg^7xP76J~4i-a$bjEyHm@r9@V1n%lQKHaE#3h9gAw5QHw^!C@58A-z#?=7-ZCbD#S>_nhy%@3*|?JLj$r zU5vC!qK3OKOyIjL&=f_HLf;KT*4p zQZHIL*>mDv-L`YvVqf%rGdps+K56x(eBtbHo$;}uzd}0JS}|NHxm~Bf|9!#3hMa)| zDaI$A1BX-3rLP^W*F9<~ynSN(aJBl!)R389s$bvw?#gaq-51dF?#kK0W4(oOk6Vjd zl)UkdlJ?B7ryW&o`i)(Mab3EYQ(Gg(4dpMdA02BcGLHN()!#I5aO>55Th64cdC-(| zwOC--@u~4nqj9|JV(vQQqt;8=(I;hVCN5SESIegd&yKZyJy4;Xxn48%Yi)PVrrDum zwVPMYj&|Ov(T&s>bmqnO6vK~ON+vEGtV;-P&x!A?*#7eJ{->>_51Vs-Z`$|ZOwr`k zQzuiRjZ=f?cYHSW^ZuKa>Y;{;!RoB3YgL!?HW>SkyuMb`y;nRv)bQ$7qwz+=!{*|X zim<)|Dg70x&o7rxc9a*g78|FA2CFj9?@E{%ta~+Ff2TU_Zf%CqXmm4LNAO~zIqXOt znLsk12LJ$KS|1(>as_Gu^7RkYC- zP{Pp}5i!DyWFb?83tR>IYgihoLJF$|phhZ@saTo-oIoUxhgrzjWG3RkHxPAl0FG^1 z08KGDawQB>34Xpp5(I%X8UdnEX*9?OB$FUAk%YW7Ux>n@(pY3V`0l|W(UhVstSB!3 zT`Xi4fJ;=X6)Yk#EiH|Z=0}h#6NnI#$u#*OlYJ3{uPR-p7HE8BD*T)WF02wN#R|1p zE(1*-1@ZC}bpQ^@^lb@JMR@po$1)Y+O+f^qTuRgk6hw$XB1)yEy568w>L~a>X?zf^ zib+?%#3)!LPf-eC1dg90Bij9WAQKSDhP75HMm9wt;mU<6Qdp)A-l=L?+7Ba#f;S0dk^gpjWs+ zD3+NF-lh$DTQ3(@ic?_`Un!S@Zxm*UKac^%j|uTeTr!FOzbb#r75zV|5s_qwruO)+ zc9}CFJ!l%fZ+>L*{`kN$I5A-hEE2{GHgEc3W88+%KU=@WKC$uYCez431$Zct_tv9$zn3-G%Cf943UTgU!N7ry}dk_dAQ?oZlLSO zE`RyRd8yM9$Hfkd?Coq9E|_m)ZH2{HqEQy+X2=!eHf@1*0JMM)a@!!k0Y?C^G-hda zIt)gi?Vp>kx0Ypw>SM!KI2GiF%B@^;w6Q!MswCgqRYTBm(HyWU*Wbpa`euwQ`( z?ld}ph9XzSBFsm1-tb@LJnV#;e?cw?yRuZ+b(fAQtFN7aB`_E zNo`e`D+i->_KEXu((}=12xIHxlF_CMVxWVt_~h+fx(#$2+s{26mvxzO&0IWFah{&+ zHZ~Ycu#012!K9HY_Ixv&V3Zp+BG}70G0sXSEHbzCdVyK*#_hCN*q4 S8f7`(nZXDyt@tenSosGvnoLjt literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/metrics/images/face/54.gif b/car-mis/src/main/resources/static/metrics/images/face/54.gif new file mode 100644 index 0000000000000000000000000000000000000000..e289d929b9552beb7be70329b7cbefb1d0618008 GIT binary patch literal 2196 zcmbW2X;@QN8i2zdHUU9)$4j6T6|#|pkg|m=0&O4yDyY*Ek}CwrViIH#8X#;!fP&G% z;({n0L5fgC!J;fx7EuSJ6skCc5iO!DMeEQ(dwT=o^oP?QbD#S>_nhy1>wCU)?zUhi z*_&gHutq$QBVOLB89$TJt%#ne&wlbv@m#0sX>;C<%y8&wJ2chSpS2xY=pHNs@2L{U zzf2e|2=B-Ug`Qu7rmsG0DeB4I(UlVN=EvrdNtcv+MjPfjj@?zpydF6ZJ!*j_uRN|hID75rRAc^~Lwn{g zW4=?uQ?iy3^hE$T7wu+`$(t{dFyU>5G{}eRaK6)a#zgz&_Klf^|wk3%H z&0HOBIJ`7;daF>sZ5x-zo0fVGFF$U1Gu=AVrh0z$2sD4~a)OV#K1W@jyZBwz z-Lm+*M}&*lmC*QwpW4d1vUbi~DTmaT=Gx1kpKnamruP=@8z_ib8me0!se>ji&30Fg zoe*`)7_)6(K(ig==j2ljiifoahK@-F%E0cd2nd3lAmdO*WCV@MX5i6S9W4X`0gIwo zY=F*@ap13yf2x?nO$22?EEvZZ`l9B)?LYy1o-b+_k%eW6X<$4*C|v?Zq=!aw(-XPg zJe0p5;FC&86^I3(j02T32z@IoX&h33!eF+;$<>1 z1%pXRNkON0qD7K849?rzTjK+d_kcA#q-jDKC)GnJbzbv82c=vIUo7K`gn-5)Csvd! z^F_g#u9hGWvsmvO3#I6lg3w%%0F%lQV{m9JMj+7CwW2MRg@gZ1lKn6Y#&mc2AaX1Dp(3{9)lDz3eZvu{qr4iO_ zgN0HVN5}=&;_~6RZ*6gZYD=L>K#oi#i4=*F);fS4FOrF*@ggxmiy#4REDo11)Ce|f zHfXh8Iw;{E0C`M_NC2!5rtsgB0fFF+V_@lcEc1U=zG}<+f2d*LWH6fc_(Qv_iQpd8 z4Bs_BJb8C~Kp}i)B=F(Tf_{7Rdig)UF8%w}FE3v#{=6_hH~akA%+u+go;;p<^shdJ$t6+boHr|CyrNrd93npM~|ouSCoHIR$8JgE;>|Lke`>U$jQ!< zf1a6fFg-0bE+QwwiX@S%Le?MQJk0{<`FA|a9iN|3vXb<S)7PjMJ~WhE@nU!X3VC;NO5X0$~7U$#WEPGlS39 z&90mn}`MmRFg6x+I1XVw*+WNk9Lpx7AVlVoRR zbl_uKZEe*S8+U9{^bUPHJ6~TLa|I(L+0-GKhP1$7kZ3BEKoAbewLt`SI}(WroEI3Q zo$Y_w5SintW9>snreds-dlwkSI?lK0XZs3zx=T0GT$-wEwTkTQcV=W&It3Z6w~dP` zoT66TEY*Esb*=%Rv5mBy8mBAyUEL)P^dDMdnw)wqwD`LHh-|LX&=L{rR$^hGpJiz2 z_j-XH$}HWa|I!vacypk@EJbX-fUODC!zvP{rqxr(LWCAUKi7hm6Og6P3vF+v1_?^7 zw}z|6I;+EU%uPes|4rGyebcC2z;H-TQS)rxf zYik)q%Pq8U)-^#`x@Ig*P99e}`hRa8Q1ex>%_cvw8c=iSc}6k%BZGrohK^QRp4uiz z=X~94glXULAg*F?x2eZYmpXBPmLA}i71`NzR&?5atL_KU%{2`5t*G7P>yO>c5g+{y DWiE05 literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/metrics/images/face/55.gif b/car-mis/src/main/resources/static/metrics/images/face/55.gif new file mode 100644 index 0000000000000000000000000000000000000000..4351083ac8e0e65a64ff362cbd480f2c86eab4fb GIT binary patch literal 1971 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 O9M literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/metrics/images/face/57.gif b/car-mis/src/main/resources/static/metrics/images/face/57.gif new file mode 100644 index 0000000000000000000000000000000000000000..0bf130f0d930a1fb72ca83265bb504304cb08090 GIT binary patch literal 2705 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 literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/metrics/images/face/6.gif b/car-mis/src/main/resources/static/metrics/images/face/6.gif new file mode 100644 index 0000000000000000000000000000000000000000..f7715bf52817bc577c0d33cd0cbd17da898848a1 GIT binary patch literal 2213 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 literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/metrics/images/face/61.gif b/car-mis/src/main/resources/static/metrics/images/face/61.gif new file mode 100644 index 0000000000000000000000000000000000000000..f092d7e351cb195eaf707dbec74d32ced42f432f GIT binary patch literal 2495 zcmZvddpwls0>@{J%gYR7j4+up;~ps-g^~<|amh}yl}_7Y+vT7Wvfa*3b5mn-Xw(QEPFk@m^%H;^Pm=R@3$tBn3-FJp|Pv^7m^UwSD_xb+5kGGGPlXIvZOb_;w z4hu>WRu9bO^{zf1oIGFNTQT^7Th-I``h94IsJwfkq%pUy5n8e4q73P$oDwNA;h+TRVnUA`_FJACO6c)M++_wCByGB~^fmi{J_E`ZV%ux@x^UqeupTcd6~3D0Ton_H_0dMVc-Ceds;7_7Op3fM?JF4-(bWew!@<4uipnOUf!5Fgk22^bcK<9t@@i zGUzOJ!o^FRL@r%h`{;L9cxhLT+S;;hHGHjda`bQ9$hGqE`;ukr>qwwg1iB)Ba1E>= zIQo{*H$+bQXPwkpP7f2#7?1(FWFz!_ND+*?I0CmU!Y%?{_}D zgB9YeWcn`vZu)Kp4uqR3Ift;0s3_^+y^owVpxk|gF^N>x?KB?ea#FcF4ONmD~V zOSFv{O=Ol(xcPUxJUjIaHyf_N$Ui51Du&lY#~(285j^#0 z+p)y$5wMc&90YA8OG+(0$;KU54((qFY0GR#-E>RB_@<5BWT5+m-*`@lH`jD>3>hhz zO~73TLx7mVd9In)PVrDkF?$jV7g=gyLt50aTFVsNwqKcC>~5umE*o)@KCH9I?^-I1 zneX=3MJU0PVLC93;v#%wA)ts0iChFHIM&yQOGI(gh+HEG+aj=;={M8#GNt0Ik;)Iwz)ZYnw*K#u=Ajy&HMWM(0U$r z8WcwtvX<6=aIbLZ?X}1*j+C92WHcJL^@OhOiBq^avgOX`vt{m75!@Q6lt`x;`D%um z?Jn0NMjJ)kEy>0Fh*CkaD%CyCN!$K7PU~y;^Q(&xo3w3TlqNDEHdnE60n`H)%qPm< zipFzoO~l+H3u8)cb!gM39T?sXK*x=f9A)oD8L(0jeU7z{R|c?*%fVLe>6YAlQ!cOi zD<#NKxt}PxpPyiX%)1Dg$8`<72${F8-8KH2c1C;@iq9t!`EpKj;qLyZ5UzYpw)%!O z*%YSPZ0>k$J(D9)C5odx@fG2tVqgz{w$-kxU{cj& zQ`HSX+q^LqYmT2w6K16$uolXvd78?9fsqdv4jq^pfTBc1g@vvj=GIqKdz z>}2-8ad;CGJZ?`4i9pK^M8;a*G;+zN5lBHrIj+bG*TAx%sI?v6t5pDvGO9(PYHNwa z+K)gxyA(j%)_@KTe*$#s%{tI@xp^zAa-P0oCN(TEbFaCMl|SI##?#UGbFB8zSkvTV zjm{^`NJxel)l|G4qskPctFUi2#n9TR60Z&Clq&4QMUFn{ETAVB8$^~0ZmLoXA^Ubj zLiQEzqAf%A-9GlPRI$uTx_Mb%Q!(?Is=w-kvOI#N_TQnIhg!$-^3&(&W4wIWDJ*=n zD>5SH_I#u^`C373Y>nE|@)|V_fY&IcAkhG}#wm=P!cdCyN*22z zDC{HyrbKL8n1Bb&E>X^f6c)Fp6N*t=3SeBV&1Ae2C8p%%Rb_kbbSG1!s$q=Y{1YZr zBE}%dY#mbQiz^%}>TvCk?!9erOiccHgSq00G{hJ8OKsB&D?W|QM@i-wbUNU@UEhku z(%0Ya4RFKvAzk(Msa{jvr{{{?7f$y@X3%k4b#LjO!qIY(zCJ~CV>M)K&2~J2p6kP9 zd8t(**0*4*=}hVpw~ zk>4iKC;9E}`7^(Cw7Eno`6R#7|DRt=YQ#S*Joc_vr63V;(D;a;NlNliR7Kb&hNt4? zZ&a6}DrHbrO4^{Rl(}$cpsH*=IpmK)Kvi+D0P^xn16W1s6NxyeDm*OpGcqqGyy?>J tNMrII%;*&@oa8uz=YCKFxNClV+=*Obvw`TNkx8belN0|*V!~j%{{ZDj7zF?T literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/metrics/images/face/62.gif b/car-mis/src/main/resources/static/metrics/images/face/62.gif new file mode 100644 index 0000000000000000000000000000000000000000..7fe49840bf69219fa40585741f901fa0b187c044 GIT binary patch literal 2017 zcmb7E2~<-@6b%XriWPA~E&7S5U?CeMKrqS@kf@<3s92X0ldnl3i^)eK*p}kPCV~ix zfJKFXfD#rh3MxeF%Bm~@$`%k=RFE|W0{x-ja#}p6bLO0xdGqdl@7;N4Hc}idt!Rr7 zix6#oh~B}G&K^Ze*N58H!N&G6xk4GARi+#rdr?2s-mN$Zt8|D2&!)bX9 z@fj60tpjNVjWOA^RZV?0ErU@hrAfEy&WTE&RlgllC~rT09U&^daj!XAEKSO4Z0OE?(wdM}k@xJCRMvO;(u1r*Sz~*@ zq`Y0$DZiRi^Q5v@Qr1~s|L**?@+fgtLCM?PXKk_BwY9CiaoN&K;!4HHXkmFrbBA21 z9KBQYI=!&*?6v1`Er`#C!PsnP2RB!HTNei$3Nu{|zJg8eR2P6ugJ|%&ZiA3VqkDo7 zupd0g;*gNtdH0b3i$Ox}#8WX;o;}E9Ir;KIS6^p0y00hQih}inbI*>EI=Tju;zFI0c!%_ zFjyQK15bh})|`kZ5OEg3#6ZH)_>2R@ZDhxZSn!F2WI_;+h(`PP_@I2uP+a~&G}g+> zO2vW0nZh2Xf+HM=CN$*;R!%aIK>?l5;z2Af2T(E6_H(@<5)#hzpAy)-kF*>CYP=j2 zoy$fGX*@I*g;A9>=}4u1-IdM$=q-S@fuHjIPhx@F5gv%%1`4>|d^!lbuT+KN5$*XP z4dU|MxLmJE6^PHtOFLFmUsf*4rhUJu(PwYFgL?aV#!>(Hyh+YlUT+lEN)7ysu|ckI5HXJ zvkrp{M?RMgj2BI0O_>YMaZ0`kEMw|iFjHdDa58As(|-2UlP0)-RNIe@3m-nVKFERl zoewv*+SsUaWLWV*J~TMc-`D%Tr~BR8H(i|_?XTNjwYJEbn;IMH|EjC4kyck#R=j*s zURGLCT=e|e($a^f-#b&cY~Dn1+UV#&wzspj*|46p z&YEatX+gl7o8hn+G|JTEyS2tfYgVr^T!}OQRxH>5cG=P;dW#n=TrgjEp3dBF=4j8J zrKLG@hKBm|Y4G=8@IhT`0m2VqqWVNspEzRXh`(RJvEwIBo(c>K4hiuvHMQOtdR#}q zFwx(=H_}f>UlZqsTW+Eky2fa^dRm$zKn^rB_L`5MHH*J~PM-F`%<2aO_;S@38RMvJ~yY(nXQh9H$#C+X_N6J7*$<3$?X(0mkzJForwl@3YZR zD(7ypEO`2UwUg#jKaV}(l2@CjA#_$wOK5tyC3Nl~OJ>c>w!&a-TDZC%g`ap*7qR1L z3eZjo)z+#wr(=^XLRhaYF-#~^4@uA#A)`uxOotZCF_r@COs07jYnjoR41IHx^3z(23>`O(`)4x0N+N9Ug7`A4=;!*$FD3vz)I&(EtPkek$P3WH+wR>*i|S;@u67A}zhS~gjRlsT&q z>2ep_vPiupx+%s62_mZ6VYfJn&1J1cwzHwYdCiDZL26Es7v)%gW`st7wp5Hko~cZ8 fzaAzQ7Zd=~XY>c^Z;pPWn-TRQb#LAp9fbAYHD_Zj literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/metrics/images/face/63.gif b/car-mis/src/main/resources/static/metrics/images/face/63.gif new file mode 100644 index 0000000000000000000000000000000000000000..cf8e23e5b2e83bf4f383cd994510a7a04a74f57c GIT binary patch literal 5871 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 literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/metrics/images/face/64.gif b/car-mis/src/main/resources/static/metrics/images/face/64.gif new file mode 100644 index 0000000000000000000000000000000000000000..a7797198af0f3bb98361b1b8737784d0a8c2cba0 GIT binary patch literal 6448 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 E1xN?}xc~qF literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/metrics/images/face/66.gif b/car-mis/src/main/resources/static/metrics/images/face/66.gif new file mode 100644 index 0000000000000000000000000000000000000000..bb6d077504e3b39871f72150c1f5fa43d4e18bfe GIT binary patch literal 3029 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 n_4QGfNp-c(#;#v)!?fJ=R?7`D2^Hm literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/metrics/images/face/67.gif b/car-mis/src/main/resources/static/metrics/images/face/67.gif new file mode 100644 index 0000000000000000000000000000000000000000..6e33f7c4f762b5c4eda2a630793d681345423734 GIT binary patch literal 2701 zcmeHHX;@Qd7QP`wAR!P4LKMNv4ag!{fe<2l0wNMfff>RmQ$ung5we&B2sE}NQQ0hl z0##@QM5-uS7zc}jV`Pm>RVw1%Vylj=ZLzi0Qai)kFhb|YIKSsdzvp|N`+eu0_dVx) zXIZ;0ksTp&2i$>2dSD!leuTm7o^ZHfYuo>&Z`mPt!x{U-cRY5C*l#mC41LSmbHT;( zUGkI2nA2#Rrb`|(j*iO1cHQ?pn>;WFZ!LY-f^QrJJ1>S+WVvi^!dIWSuQ{>0b;9GY z9lH1^R@7iOPITRW)o1$v;bH{m?OsCtkax=nP1QzdzT*05X7UsP*FHsTpY$DAMmjku zHJ&8a40_cKyS{&MMd$Uv!e*DAJDlB@v7OgebU^t17Vx9nkfdcv>K1JA{$-LT+^>20 z*PhFU9}1p=KA*p=ujus4GGL#0dDncr?3a|ZhSRZ=1VYCp|7s4ldSK}bF7J8PhFLnj z>w4I+JCvP6u7>XATl;W>Unkd$;tqWpd@ms2%JYp!ZuyKpf*;VCr@mm{{^?CcEAB@( zx33b`9=e<|HY094!#O-AZXH=K-Q{|9M)S;X)z$<44FiFZSoG=!L84kW$5MoU&$>XH+5?|RuZc&g_t5tDm zw33n%YDoxHsm`Y{A|fKJ984w!(V%Eb6l7NT zNFj#T@uDDvgDR6rIAIZS^zd+cNJ1Es%U~oh;#mwPJ3cOs7akWE9~Kw7faNL0MRHi7 zUBF6y!-l>VYb^%33bD+C)v{t(lBib7!TF#$ve)~s zFNl!(u^tx-7r88!KCD3MU5ykrYVM!^`1R#4vp>Ih{?m`oe)#_B%y-{@^W^KV9{>H( z!v|k}aew;r&+gs5bNklK8&lUOuYEdk^~&W>E?vBE-ZDNmIx;+T&V2T7X9fpOpX&ek zWZz#;{H3?&qvOZAj~?kdeCWf@gB=Ij+gkU3@P144zP;}?H8$+oU0=7W_T8N|)m4=h zJGO5#84cy{yuDTbR#~a8q_{|{QEyQx74pJ@%`$0z9xM^(iZ;FZ=bVij{**1u`r{um zGt%D>q^0sx)+et^TAP@_xD9-fyB-6$pG36_y?M{(1_q6hr8^^LS-#_kcH}58IGV?6=MdMD+5tUHk&0(>?g&0>`2iA*g?VMdC zmdaRm(jLeZy-5U`hE1NFpy2)?1KNnSCyiL>(s4(Os~bURs4yDQHnyRo9cFXYNIGc+ z2pWb^k*-f4kC~d!HQq2r>t@r}blF69IS`U4(--l}tGJdA<(@ATpV^Rn%cCu8r)H*y zXJ*^F24{JO`Q$h_FC=Fvu=G`Oaw*$$jg{LdK^2uoN{&7$7w~EV$Z4s1O07Phh&(;P zi7c;3?jY#3wHQ5$fI{nY1UVqkhjNOl%+DnD^*I6KUdCi}PyuZ8SChsXNkzrQMJbbP z&$HsoB}DcV&l6UA7AQy$)S2Q?E>}s-%cII9FJ&8%K{F=ojVJH2ccCY(D4jSsf~(-W zdI!dCx2=jSjZe8Bl8{_!$~YioOMS3AJ)9Y-*=>w5H{8ngl|A$y4q_@wuWq_~{zQIS zs9x9Ieyv05ygZZ{kkf2Pb@4V<6V}B)v}v(%;|n6T7^|ynU?vzJvZJP|MYuUd2HD`6 zOi+Hm&_WL2x-moYw(a$Kc+P|g7G~-Mh7)u*?!>io2`ZH#lbLZlN1QCU3@6uz?6Qi{de e&Ns&5+yCAe|96dnSxgQJK<1box?FDn*8B_Be&pBy literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/metrics/images/face/68.gif b/car-mis/src/main/resources/static/metrics/images/face/68.gif new file mode 100644 index 0000000000000000000000000000000000000000..1a6c400d2aee3c2bf384ea98105ea143a7be97a9 GIT binary patch literal 1424 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 ig6vPE;(vp8vN=19VTuwMWT7@8^o literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/metrics/images/face/7.gif b/car-mis/src/main/resources/static/metrics/images/face/7.gif new file mode 100644 index 0000000000000000000000000000000000000000..e6d4db80572a8321fa233d7efd82636fd896bf49 GIT binary patch literal 3398 zcmd^>X;@Qd7RPTELI_!bkd;Wn76gSL8VCjmtHxL~xKN`N+n}hegVj>h8D8>cxj_Xi zSjVMQtw_~*7^&k@lqw)n5L%Qf;?}a%$_S(4Sc^ztZUR`_vClK#=R=++pYA>9{D0^C zZu0D;h{zS5h$r$BKyDljeeg~Gzpv>>pPpV9$sVltd~rxR`uyh5zR4p4e|vFC+O#|H zv~`i~-j?S%p|-YZRTls5(~6<90^7Bykw*t_{yoLk9^2PA*Vd`G-JE0VS^KObdni9- zrJysV)|MRV zaBJYG?OEYU%}|A8=;|Avr3>mxX52f;8N5DkxF+IZrSRUFsV^@0bbS{2%grTUf2o$GyCOZ|TCDz;sYyO{G90Ih5#fO`;Ud>i6G9Sc>o%d*M-cshOA3A78FdM{l3e3 z=iv1o5zA&zFEoa5a1lOUE(8}Z0nH~Xq%>s4f(3602*DW{)Gyc(>Ix$sVT<^*41ecb ze}Y$%isPfk8w2pXi+Yb!A2;jyVLW~SpYku+tU=qPli8pW=;!x4wjSv$pR&(F+B z_YEXRt-{9|pf4I)HIeQ!AzOyucb@(bM=` z(PEI~p50sx_;3Nc9 z5xKbS5K0$YDtkL?YQ-f1a9u?2idnO)BD(NSXl0^lvMR{K`%0sstSMecA>VpCmWdB^ z@(>jtRYRiLFa{*W4kQjCV$D&p_HwZHqNP}SnKaZqq4a2a~w^|4;5dy4mPab+0 z@VU$0XQ*Ye@MVyO=Y)qZjsZ(tUFW#U_<&P=UIrJ=CC(>K`nsukk{Tw!D5MIx2HKYc zBoPM^@!4k+E#||T@_s1pJ1iuZQyxDx{C3t%$E@qIVmLUg7y%7+kPk8Nv2wxU0{nWd0|dEHQp6|+bed(ZJD^M+%YPXeg< z6m|}mqJlK4fJ}`HEkT=%@he;Igy!|N?h2UV^j_`sm712_GyXK<@;ive8awt1M6WUg zUttK?8A2_YhYx{qhAP?cw+z`4I>+BPh7d+j(>cJu#l0HCdkIiacX&I7&!dHl0sG-& zcVOoSC*Xn9XHL@Yp4v%)%FVsZx5?Y+bfE|TY}bM0V=;8$(mRb;uk6Bmr5gIVty( z*3rs1?|2L_`#PWd<0PV`j&%l^G`RF|{_l-Q8s7*$=lf0> zkGpU#m=7kwKH|ekY95k6Bt{`{aA0Vi1JVHSj2pOC0oIHR4z%rp`lwn0V+d)tfSZtNXQOIQR zHj`(XLTM6{ghJBRI5GJ!nW9xHNg7j1%Arc&2DBuK6Ds+~ISQ&PHt8;SYBft&kjUgWbx@~;SRvvy;0@rWbt?pvmb>Pe*9vuRaX&t0 zpsy_?GY`Z8li6Yl&o-@Aps9d^x|`BSg`mhHHY??HI$5!LwOF}-zmP;(A^coUP7^CC z=zxBl0!sHE*NI6dPYcOaCZ$lR)#3Xyby_@m+qPkM0*+oFwZGrfJm%=S6h3H2pyl(Iu2|m8IIiYIUBrX7AZE zQl{fthK+q4Onm%wVLeU=8N4)dA=~m>BSSoI--MB&!^qnlLWT|@e>5)S^S=`^_|?dr z_VW*ZRdP3`WZ-bJC78J}iSdy%zMZRZM<^b?EMkV;0463JGl1C78#6$y%Gq5-Z~1Y> zlg?IxSn*`{`mBpJyApMu4sSXUhl2uoM90$bmD{~p^3kWU-ihR^iLgxn=0E@wiTV!_ Ch@v0> literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/metrics/images/face/70.gif b/car-mis/src/main/resources/static/metrics/images/face/70.gif new file mode 100644 index 0000000000000000000000000000000000000000..416c5c14a19fbdaf8fb8d6baf5cf7e31e54f751a GIT binary patch literal 4590 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 literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/metrics/images/face/71.gif b/car-mis/src/main/resources/static/metrics/images/face/71.gif new file mode 100644 index 0000000000000000000000000000000000000000..c17d60cbd15e80d83629b2220b562a224eec5554 GIT binary patch literal 5304 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 literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/metrics/images/face/8.gif b/car-mis/src/main/resources/static/metrics/images/face/8.gif new file mode 100644 index 0000000000000000000000000000000000000000..66f967b48da173b68cbfc92986e4426ea35ade74 GIT binary patch literal 4050 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 JEmCgizW{zshWG#g literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/metrics/images/face/9.gif b/car-mis/src/main/resources/static/metrics/images/face/9.gif new file mode 100644 index 0000000000000000000000000000000000000000..60447400d31b035f56554b29af1aefc76bda1698 GIT binary patch literal 4221 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 literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/metrics/jquery.js b/car-mis/src/main/resources/static/metrics/jquery.js new file mode 100644 index 0000000..1e75806 --- /dev/null +++ b/car-mis/src/main/resources/static/metrics/jquery.js @@ -0,0 +1,5 @@ +/*! jQuery v1.10.2 | (c) 2005, 2013 jQuery Foundation, Inc. | jquery.org/license +*/ +(function(e,t){var n,r,i=typeof t,o=e.location,a=e.document,s=a.documentElement,l=e.jQuery,u=e.$,c={},p=[],f="1.10.2",d=p.concat,h=p.push,g=p.slice,m=p.indexOf,y=c.toString,v=c.hasOwnProperty,b=f.trim,x=function(e,t){return new x.fn.init(e,t,r)},w=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,T=/\S+/g,C=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,N=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,k=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,E=/^[\],:{}\s]*$/,S=/(?:^|:|,)(?:\s*\[)+/g,A=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,j=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,D=/^-ms-/,L=/-([\da-z])/gi,H=function(e,t){return t.toUpperCase()},q=function(e){(a.addEventListener||"load"===e.type||"complete"===a.readyState)&&(_(),x.ready())},_=function(){a.addEventListener?(a.removeEventListener("DOMContentLoaded",q,!1),e.removeEventListener("load",q,!1)):(a.detachEvent("onreadystatechange",q),e.detachEvent("onload",q))};x.fn=x.prototype={jquery:f,constructor:x,init:function(e,n,r){var i,o;if(!e)return this;if("string"==typeof e){if(i="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:N.exec(e),!i||!i[1]&&n)return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e);if(i[1]){if(n=n instanceof x?n[0]:n,x.merge(this,x.parseHTML(i[1],n&&n.nodeType?n.ownerDocument||n:a,!0)),k.test(i[1])&&x.isPlainObject(n))for(i in n)x.isFunction(this[i])?this[i](n[i]):this.attr(i,n[i]);return this}if(o=a.getElementById(i[2]),o&&o.parentNode){if(o.id!==i[2])return r.find(e);this.length=1,this[0]=o}return this.context=a,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):x.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),x.makeArray(e,this))},selector:"",length:0,toArray:function(){return g.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=x.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return x.each(this,e,t)},ready:function(e){return x.ready.promise().done(e),this},slice:function(){return this.pushStack(g.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},map:function(e){return this.pushStack(x.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:h,sort:[].sort,splice:[].splice},x.fn.init.prototype=x.fn,x.extend=x.fn.extend=function(){var e,n,r,i,o,a,s=arguments[0]||{},l=1,u=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[1]||{},l=2),"object"==typeof s||x.isFunction(s)||(s={}),u===l&&(s=this,--l);u>l;l++)if(null!=(o=arguments[l]))for(i in o)e=s[i],r=o[i],s!==r&&(c&&r&&(x.isPlainObject(r)||(n=x.isArray(r)))?(n?(n=!1,a=e&&x.isArray(e)?e:[]):a=e&&x.isPlainObject(e)?e:{},s[i]=x.extend(c,a,r)):r!==t&&(s[i]=r));return s},x.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),noConflict:function(t){return e.$===x&&(e.$=u),t&&e.jQuery===x&&(e.jQuery=l),x},isReady:!1,readyWait:1,holdReady:function(e){e?x.readyWait++:x.ready(!0)},ready:function(e){if(e===!0?!--x.readyWait:!x.isReady){if(!a.body)return setTimeout(x.ready);x.isReady=!0,e!==!0&&--x.readyWait>0||(n.resolveWith(a,[x]),x.fn.trigger&&x(a).trigger("ready").off("ready"))}},isFunction:function(e){return"function"===x.type(e)},isArray:Array.isArray||function(e){return"array"===x.type(e)},isWindow:function(e){return null!=e&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?c[y.call(e)]||"object":typeof e},isPlainObject:function(e){var n;if(!e||"object"!==x.type(e)||e.nodeType||x.isWindow(e))return!1;try{if(e.constructor&&!v.call(e,"constructor")&&!v.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(r){return!1}if(x.support.ownLast)for(n in e)return v.call(e,n);for(n in e);return n===t||v.call(e,n)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw Error(e)},parseHTML:function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||a;var r=k.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=x.buildFragment([e],t,i),i&&x(i).remove(),x.merge([],r.childNodes))},parseJSON:function(n){return e.JSON&&e.JSON.parse?e.JSON.parse(n):null===n?n:"string"==typeof n&&(n=x.trim(n),n&&E.test(n.replace(A,"@").replace(j,"]").replace(S,"")))?Function("return "+n)():(x.error("Invalid JSON: "+n),t)},parseXML:function(n){var r,i;if(!n||"string"!=typeof n)return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(o){r=t}return r&&r.documentElement&&!r.getElementsByTagName("parsererror").length||x.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&x.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(D,"ms-").replace(L,H)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var r,i=0,o=e.length,a=M(e);if(n){if(a){for(;o>i;i++)if(r=t.apply(e[i],n),r===!1)break}else for(i in e)if(r=t.apply(e[i],n),r===!1)break}else if(a){for(;o>i;i++)if(r=t.call(e[i],i,e[i]),r===!1)break}else for(i in e)if(r=t.call(e[i],i,e[i]),r===!1)break;return e},trim:b&&!b.call("\ufeff\u00a0")?function(e){return null==e?"":b.call(e)}:function(e){return null==e?"":(e+"").replace(C,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(M(Object(e))?x.merge(n,"string"==typeof e?[e]:e):h.call(n,e)),n},inArray:function(e,t,n){var r;if(t){if(m)return m.call(t,e,n);for(r=t.length,n=n?0>n?Math.max(0,r+n):n:0;r>n;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,o=0;if("number"==typeof r)for(;r>o;o++)e[i++]=n[o];else while(n[o]!==t)e[i++]=n[o++];return e.length=i,e},grep:function(e,t,n){var r,i=[],o=0,a=e.length;for(n=!!n;a>o;o++)r=!!t(e[o],o),n!==r&&i.push(e[o]);return i},map:function(e,t,n){var r,i=0,o=e.length,a=M(e),s=[];if(a)for(;o>i;i++)r=t(e[i],i,n),null!=r&&(s[s.length]=r);else for(i in e)r=t(e[i],i,n),null!=r&&(s[s.length]=r);return d.apply([],s)},guid:1,proxy:function(e,n){var r,i,o;return"string"==typeof n&&(o=e[n],n=e,e=o),x.isFunction(e)?(r=g.call(arguments,2),i=function(){return e.apply(n||this,r.concat(g.call(arguments)))},i.guid=e.guid=e.guid||x.guid++,i):t},access:function(e,n,r,i,o,a,s){var l=0,u=e.length,c=null==r;if("object"===x.type(r)){o=!0;for(l in r)x.access(e,n,l,r[l],!0,a,s)}else if(i!==t&&(o=!0,x.isFunction(i)||(s=!0),c&&(s?(n.call(e,i),n=null):(c=n,n=function(e,t,n){return c.call(x(e),n)})),n))for(;u>l;l++)n(e[l],r,s?i:i.call(e[l],l,n(e[l],r)));return o?e:c?n.call(e):u?n(e[0],r):a},now:function(){return(new Date).getTime()},swap: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}}),x.ready.promise=function(t){if(!n)if(n=x.Deferred(),"complete"===a.readyState)setTimeout(x.ready);else if(a.addEventListener)a.addEventListener("DOMContentLoaded",q,!1),e.addEventListener("load",q,!1);else{a.attachEvent("onreadystatechange",q),e.attachEvent("onload",q);var r=!1;try{r=null==e.frameElement&&a.documentElement}catch(i){}r&&r.doScroll&&function o(){if(!x.isReady){try{r.doScroll("left")}catch(e){return setTimeout(o,50)}_(),x.ready()}}()}return n.promise(t)},x.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){c["[object "+t+"]"]=t.toLowerCase()});function M(e){var t=e.length,n=x.type(e);return x.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}r=x(a),function(e,t){var n,r,i,o,a,s,l,u,c,p,f,d,h,g,m,y,v,b="sizzle"+-new Date,w=e.document,T=0,C=0,N=st(),k=st(),E=st(),S=!1,A=function(e,t){return e===t?(S=!0,0):0},j=typeof t,D=1<<31,L={}.hasOwnProperty,H=[],q=H.pop,_=H.push,M=H.push,O=H.slice,F=H.indexOf||function(e){var t=0,n=this.length;for(;n>t;t++)if(this[t]===e)return t;return-1},B="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",P="[\\x20\\t\\r\\n\\f]",R="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",W=R.replace("w","w#"),$="\\["+P+"*("+R+")"+P+"*(?:([*^$|!~]?=)"+P+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+W+")|)|)"+P+"*\\]",I=":("+R+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+$.replace(3,8)+")*)|.*)\\)|)",z=RegExp("^"+P+"+|((?:^|[^\\\\])(?:\\\\.)*)"+P+"+$","g"),X=RegExp("^"+P+"*,"+P+"*"),U=RegExp("^"+P+"*([>+~]|"+P+")"+P+"*"),V=RegExp(P+"*[+~]"),Y=RegExp("="+P+"*([^\\]'\"]*)"+P+"*\\]","g"),J=RegExp(I),G=RegExp("^"+W+"$"),Q={ID:RegExp("^#("+R+")"),CLASS:RegExp("^\\.("+R+")"),TAG:RegExp("^("+R.replace("w","w*")+")"),ATTR:RegExp("^"+$),PSEUDO:RegExp("^"+I),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+P+"*(even|odd|(([+-]|)(\\d*)n|)"+P+"*(?:([+-]|)"+P+"*(\\d+)|))"+P+"*\\)|)","i"),bool:RegExp("^(?:"+B+")$","i"),needsContext:RegExp("^"+P+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+P+"*((?:-\\d)?\\d*)"+P+"*\\)|)(?=[^-]|$)","i")},K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,et=/^(?:input|select|textarea|button)$/i,tt=/^h\d$/i,nt=/'|\\/g,rt=RegExp("\\\\([\\da-f]{1,6}"+P+"?|("+P+")|.)","ig"),it=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:0>r?String.fromCharCode(r+65536):String.fromCharCode(55296|r>>10,56320|1023&r)};try{M.apply(H=O.call(w.childNodes),w.childNodes),H[w.childNodes.length].nodeType}catch(ot){M={apply:H.length?function(e,t){_.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function at(e,t,n,i){var o,a,s,l,u,c,d,m,y,x;if((t?t.ownerDocument||t:w)!==f&&p(t),t=t||f,n=n||[],!e||"string"!=typeof e)return n;if(1!==(l=t.nodeType)&&9!==l)return[];if(h&&!i){if(o=Z.exec(e))if(s=o[1]){if(9===l){if(a=t.getElementById(s),!a||!a.parentNode)return n;if(a.id===s)return n.push(a),n}else if(t.ownerDocument&&(a=t.ownerDocument.getElementById(s))&&v(t,a)&&a.id===s)return n.push(a),n}else{if(o[2])return M.apply(n,t.getElementsByTagName(e)),n;if((s=o[3])&&r.getElementsByClassName&&t.getElementsByClassName)return M.apply(n,t.getElementsByClassName(s)),n}if(r.qsa&&(!g||!g.test(e))){if(m=d=b,y=t,x=9===l&&e,1===l&&"object"!==t.nodeName.toLowerCase()){c=mt(e),(d=t.getAttribute("id"))?m=d.replace(nt,"\\$&"):t.setAttribute("id",m),m="[id='"+m+"'] ",u=c.length;while(u--)c[u]=m+yt(c[u]);y=V.test(e)&&t.parentNode||t,x=c.join(",")}if(x)try{return M.apply(n,y.querySelectorAll(x)),n}catch(T){}finally{d||t.removeAttribute("id")}}}return kt(e.replace(z,"$1"),t,n,i)}function st(){var e=[];function t(n,r){return e.push(n+=" ")>o.cacheLength&&delete t[e.shift()],t[n]=r}return t}function lt(e){return e[b]=!0,e}function ut(e){var t=f.createElement("div");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function ct(e,t){var n=e.split("|"),r=e.length;while(r--)o.attrHandle[n[r]]=t}function pt(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||D)-(~e.sourceIndex||D);if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function ft(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function dt(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function ht(e){return lt(function(t){return t=+t,lt(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]))})})}s=at.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},r=at.support={},p=at.setDocument=function(e){var n=e?e.ownerDocument||e:w,i=n.defaultView;return n!==f&&9===n.nodeType&&n.documentElement?(f=n,d=n.documentElement,h=!s(n),i&&i.attachEvent&&i!==i.top&&i.attachEvent("onbeforeunload",function(){p()}),r.attributes=ut(function(e){return e.className="i",!e.getAttribute("className")}),r.getElementsByTagName=ut(function(e){return e.appendChild(n.createComment("")),!e.getElementsByTagName("*").length}),r.getElementsByClassName=ut(function(e){return e.innerHTML="
            ",e.firstChild.className="i",2===e.getElementsByClassName("i").length}),r.getById=ut(function(e){return d.appendChild(e).id=b,!n.getElementsByName||!n.getElementsByName(b).length}),r.getById?(o.find.ID=function(e,t){if(typeof t.getElementById!==j&&h){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},o.filter.ID=function(e){var t=e.replace(rt,it);return function(e){return e.getAttribute("id")===t}}):(delete o.find.ID,o.filter.ID=function(e){var t=e.replace(rt,it);return function(e){var n=typeof e.getAttributeNode!==j&&e.getAttributeNode("id");return n&&n.value===t}}),o.find.TAG=r.getElementsByTagName?function(e,n){return typeof n.getElementsByTagName!==j?n.getElementsByTagName(e):t}: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},o.find.CLASS=r.getElementsByClassName&&function(e,n){return typeof n.getElementsByClassName!==j&&h?n.getElementsByClassName(e):t},m=[],g=[],(r.qsa=K.test(n.querySelectorAll))&&(ut(function(e){e.innerHTML="",e.querySelectorAll("[selected]").length||g.push("\\["+P+"*(?:value|"+B+")"),e.querySelectorAll(":checked").length||g.push(":checked")}),ut(function(e){var t=n.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("t",""),e.querySelectorAll("[t^='']").length&&g.push("[*^$]="+P+"*(?:''|\"\")"),e.querySelectorAll(":enabled").length||g.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),g.push(",.*:")})),(r.matchesSelector=K.test(y=d.webkitMatchesSelector||d.mozMatchesSelector||d.oMatchesSelector||d.msMatchesSelector))&&ut(function(e){r.disconnectedMatch=y.call(e,"div"),y.call(e,"[s!='']:x"),m.push("!=",I)}),g=g.length&&RegExp(g.join("|")),m=m.length&&RegExp(m.join("|")),v=K.test(d.contains)||d.compareDocumentPosition?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},A=d.compareDocumentPosition?function(e,t){if(e===t)return S=!0,0;var i=t.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(t);return i?1&i||!r.sortDetached&&t.compareDocumentPosition(e)===i?e===n||v(w,e)?-1:t===n||v(w,t)?1:c?F.call(c,e)-F.call(c,t):0:4&i?-1:1:e.compareDocumentPosition?-1:1}:function(e,t){var r,i=0,o=e.parentNode,a=t.parentNode,s=[e],l=[t];if(e===t)return S=!0,0;if(!o||!a)return e===n?-1:t===n?1:o?-1:a?1:c?F.call(c,e)-F.call(c,t):0;if(o===a)return pt(e,t);r=e;while(r=r.parentNode)s.unshift(r);r=t;while(r=r.parentNode)l.unshift(r);while(s[i]===l[i])i++;return i?pt(s[i],l[i]):s[i]===w?-1:l[i]===w?1:0},n):f},at.matches=function(e,t){return at(e,null,null,t)},at.matchesSelector=function(e,t){if((e.ownerDocument||e)!==f&&p(e),t=t.replace(Y,"='$1']"),!(!r.matchesSelector||!h||m&&m.test(t)||g&&g.test(t)))try{var n=y.call(e,t);if(n||r.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(i){}return at(t,f,null,[e]).length>0},at.contains=function(e,t){return(e.ownerDocument||e)!==f&&p(e),v(e,t)},at.attr=function(e,n){(e.ownerDocument||e)!==f&&p(e);var i=o.attrHandle[n.toLowerCase()],a=i&&L.call(o.attrHandle,n.toLowerCase())?i(e,n,!h):t;return a===t?r.attributes||!h?e.getAttribute(n):(a=e.getAttributeNode(n))&&a.specified?a.value:null:a},at.error=function(e){throw Error("Syntax error, unrecognized expression: "+e)},at.uniqueSort=function(e){var t,n=[],i=0,o=0;if(S=!r.detectDuplicates,c=!r.sortStable&&e.slice(0),e.sort(A),S){while(t=e[o++])t===e[o]&&(i=n.push(o));while(i--)e.splice(n[i],1)}return e},a=at.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+=a(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r];r++)n+=a(t);return n},o=at.selectors={cacheLength:50,createPseudo:lt,match:Q,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(rt,it),e[3]=(e[4]||e[5]||"").replace(rt,it),"~="===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]||at.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]&&at.error(e[0]),e},PSEUDO:function(e){var n,r=!e[5]&&e[2];return Q.CHILD.test(e[0])?null:(e[3]&&e[4]!==t?e[2]=e[4]:r&&J.test(r)&&(n=mt(r,!0))&&(n=r.indexOf(")",r.length-n)-r.length)&&(e[0]=e[0].slice(0,n),e[2]=r.slice(0,n)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(rt,it).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=N[e+" "];return t||(t=RegExp("(^|"+P+")"+e+"("+P+"|$)"))&&N(e,function(e){return t.test("string"==typeof e.className&&e.className||typeof e.getAttribute!==j&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=at.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+" ").indexOf(n)>-1:"|="===t?i===n||i.slice(0,n.length+1)===n+"-":!1):!0}},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,l){var u,c,p,f,d,h,g=o!==a?"nextSibling":"previousSibling",m=t.parentNode,y=s&&t.nodeName.toLowerCase(),v=!l&&!s;if(m){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?m.firstChild:m.lastChild],a&&v){c=m[b]||(m[b]={}),u=c[e]||[],d=u[0]===T&&u[1],f=u[0]===T&&u[2],p=d&&m.childNodes[d];while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if(1===p.nodeType&&++f&&p===t){c[e]=[T,d,f];break}}else if(v&&(u=(t[b]||(t[b]={}))[e])&&u[0]===T)f=u[1];else while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===y:1===p.nodeType)&&++f&&(v&&((p[b]||(p[b]={}))[e]=[T,f]),p===t))break;return f-=i,f===r||0===f%r&&f/r>=0}}},PSEUDO:function(e,t){var n,r=o.pseudos[e]||o.setFilters[e.toLowerCase()]||at.error("unsupported pseudo: "+e);return r[b]?r(t):r.length>1?(n=[e,e,"",t],o.setFilters.hasOwnProperty(e.toLowerCase())?lt(function(e,n){var i,o=r(e,t),a=o.length;while(a--)i=F.call(e,o[a]),e[i]=!(n[i]=o[a])}):function(e){return r(e,0,n)}):r}},pseudos:{not:lt(function(e){var t=[],n=[],r=l(e.replace(z,"$1"));return r[b]?lt(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),!n.pop()}}),has:lt(function(e){return function(t){return at(e,t).length>0}}),contains:lt(function(e){return function(t){return(t.textContent||t.innerText||a(t)).indexOf(e)>-1}}),lang:lt(function(e){return G.test(e||"")||at.error("unsupported lang: "+e),e=e.replace(rt,it).toLowerCase(),function(t){var n;do if(n=h?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===d},focus:function(e){return e===f.activeElement&&(!f.hasFocus||f.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.nodeName>"@"||3===e.nodeType||4===e.nodeType)return!1;return!0},parent:function(e){return!o.pseudos.empty(e)},header:function(e){return tt.test(e.nodeName)},input:function(e){return et.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"))||t.toLowerCase()===e.type)},first:ht(function(){return[0]}),last:ht(function(e,t){return[t-1]}),eq:ht(function(e,t,n){return[0>n?n+t:n]}),even:ht(function(e,t){var n=0;for(;t>n;n+=2)e.push(n);return e}),odd:ht(function(e,t){var n=1;for(;t>n;n+=2)e.push(n);return e}),lt:ht(function(e,t,n){var r=0>n?n+t:n;for(;--r>=0;)e.push(r);return e}),gt:ht(function(e,t,n){var r=0>n?n+t:n;for(;t>++r;)e.push(r);return e})}},o.pseudos.nth=o.pseudos.eq;for(n in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})o.pseudos[n]=ft(n);for(n in{submit:!0,reset:!0})o.pseudos[n]=dt(n);function gt(){}gt.prototype=o.filters=o.pseudos,o.setFilters=new gt;function mt(e,t){var n,r,i,a,s,l,u,c=k[e+" "];if(c)return t?0:c.slice(0);s=e,l=[],u=o.preFilter;while(s){(!n||(r=X.exec(s)))&&(r&&(s=s.slice(r[0].length)||s),l.push(i=[])),n=!1,(r=U.exec(s))&&(n=r.shift(),i.push({value:n,type:r[0].replace(z," ")}),s=s.slice(n.length));for(a in o.filter)!(r=Q[a].exec(s))||u[a]&&!(r=u[a](r))||(n=r.shift(),i.push({value:n,type:a,matches:r}),s=s.slice(n.length));if(!n)break}return t?s.length:s?at.error(e):k(e,l).slice(0)}function yt(e){var t=0,n=e.length,r="";for(;n>t;t++)r+=e[t].value;return r}function vt(e,t,n){var r=t.dir,o=n&&"parentNode"===r,a=C++;return t.first?function(t,n,i){while(t=t[r])if(1===t.nodeType||o)return e(t,n,i)}:function(t,n,s){var l,u,c,p=T+" "+a;if(s){while(t=t[r])if((1===t.nodeType||o)&&e(t,n,s))return!0}else while(t=t[r])if(1===t.nodeType||o)if(c=t[b]||(t[b]={}),(u=c[r])&&u[0]===p){if((l=u[1])===!0||l===i)return l===!0}else if(u=c[r]=[p],u[1]=e(t,n,s)||i,u[1]===!0)return!0}}function bt(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 xt(e,t,n,r,i){var o,a=[],s=0,l=e.length,u=null!=t;for(;l>s;s++)(o=e[s])&&(!n||n(o,r,i))&&(a.push(o),u&&t.push(s));return a}function wt(e,t,n,r,i,o){return r&&!r[b]&&(r=wt(r)),i&&!i[b]&&(i=wt(i,o)),lt(function(o,a,s,l){var u,c,p,f=[],d=[],h=a.length,g=o||Nt(t||"*",s.nodeType?[s]:s,[]),m=!e||!o&&t?g:xt(g,f,e,s,l),y=n?i||(o?e:h||r)?[]:a:m;if(n&&n(m,y,s,l),r){u=xt(y,d),r(u,[],s,l),c=u.length;while(c--)(p=u[c])&&(y[d[c]]=!(m[d[c]]=p))}if(o){if(i||e){if(i){u=[],c=y.length;while(c--)(p=y[c])&&u.push(m[c]=p);i(null,y=[],u,l)}c=y.length;while(c--)(p=y[c])&&(u=i?F.call(o,p):f[c])>-1&&(o[u]=!(a[u]=p))}}else y=xt(y===a?y.splice(h,y.length):y),i?i(null,a,y,l):M.apply(a,y)})}function Tt(e){var t,n,r,i=e.length,a=o.relative[e[0].type],s=a||o.relative[" "],l=a?1:0,c=vt(function(e){return e===t},s,!0),p=vt(function(e){return F.call(t,e)>-1},s,!0),f=[function(e,n,r){return!a&&(r||n!==u)||((t=n).nodeType?c(e,n,r):p(e,n,r))}];for(;i>l;l++)if(n=o.relative[e[l].type])f=[vt(bt(f),n)];else{if(n=o.filter[e[l].type].apply(null,e[l].matches),n[b]){for(r=++l;i>r;r++)if(o.relative[e[r].type])break;return wt(l>1&&bt(f),l>1&&yt(e.slice(0,l-1).concat({value:" "===e[l-2].type?"*":""})).replace(z,"$1"),n,r>l&&Tt(e.slice(l,r)),i>r&&Tt(e=e.slice(r)),i>r&&yt(e))}f.push(n)}return bt(f)}function Ct(e,t){var n=0,r=t.length>0,a=e.length>0,s=function(s,l,c,p,d){var h,g,m,y=[],v=0,b="0",x=s&&[],w=null!=d,C=u,N=s||a&&o.find.TAG("*",d&&l.parentNode||l),k=T+=null==C?1:Math.random()||.1;for(w&&(u=l!==f&&l,i=n);null!=(h=N[b]);b++){if(a&&h){g=0;while(m=e[g++])if(m(h,l,c)){p.push(h);break}w&&(T=k,i=++n)}r&&((h=!m&&h)&&v--,s&&x.push(h))}if(v+=b,r&&b!==v){g=0;while(m=t[g++])m(x,y,l,c);if(s){if(v>0)while(b--)x[b]||y[b]||(y[b]=q.call(p));y=xt(y)}M.apply(p,y),w&&!s&&y.length>0&&v+t.length>1&&at.uniqueSort(p)}return w&&(T=k,u=C),x};return r?lt(s):s}l=at.compile=function(e,t){var n,r=[],i=[],o=E[e+" "];if(!o){t||(t=mt(e)),n=t.length;while(n--)o=Tt(t[n]),o[b]?r.push(o):i.push(o);o=E(e,Ct(i,r))}return o};function Nt(e,t,n){var r=0,i=t.length;for(;i>r;r++)at(e,t[r],n);return n}function kt(e,t,n,i){var a,s,u,c,p,f=mt(e);if(!i&&1===f.length){if(s=f[0]=f[0].slice(0),s.length>2&&"ID"===(u=s[0]).type&&r.getById&&9===t.nodeType&&h&&o.relative[s[1].type]){if(t=(o.find.ID(u.matches[0].replace(rt,it),t)||[])[0],!t)return n;e=e.slice(s.shift().value.length)}a=Q.needsContext.test(e)?0:s.length;while(a--){if(u=s[a],o.relative[c=u.type])break;if((p=o.find[c])&&(i=p(u.matches[0].replace(rt,it),V.test(s[0].type)&&t.parentNode||t))){if(s.splice(a,1),e=i.length&&yt(s),!e)return M.apply(n,i),n;break}}}return l(e,f)(i,t,!h,n,V.test(e)),n}r.sortStable=b.split("").sort(A).join("")===b,r.detectDuplicates=S,p(),r.sortDetached=ut(function(e){return 1&e.compareDocumentPosition(f.createElement("div"))}),ut(function(e){return e.innerHTML="
            ","#"===e.firstChild.getAttribute("href")})||ct("type|href|height|width",function(e,n,r){return r?t:e.getAttribute(n,"type"===n.toLowerCase()?1:2)}),r.attributes&&ut(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||ct("value",function(e,n,r){return r||"input"!==e.nodeName.toLowerCase()?t:e.defaultValue}),ut(function(e){return null==e.getAttribute("disabled")})||ct(B,function(e,n,r){var i;return r?t:(i=e.getAttributeNode(n))&&i.specified?i.value:e[n]===!0?n.toLowerCase():null}),x.find=at,x.expr=at.selectors,x.expr[":"]=x.expr.pseudos,x.unique=at.uniqueSort,x.text=at.getText,x.isXMLDoc=at.isXML,x.contains=at.contains}(e);var O={};function F(e){var t=O[e]={};return x.each(e.match(T)||[],function(e,n){t[n]=!0}),t}x.Callbacks=function(e){e="string"==typeof e?O[e]||F(e):x.extend({},e);var n,r,i,o,a,s,l=[],u=!e.once&&[],c=function(t){for(r=e.memory&&t,i=!0,a=s||0,s=0,o=l.length,n=!0;l&&o>a;a++)if(l[a].apply(t[0],t[1])===!1&&e.stopOnFalse){r=!1;break}n=!1,l&&(u?u.length&&c(u.shift()):r?l=[]:p.disable())},p={add:function(){if(l){var t=l.length;(function i(t){x.each(t,function(t,n){var r=x.type(n);"function"===r?e.unique&&p.has(n)||l.push(n):n&&n.length&&"string"!==r&&i(n)})})(arguments),n?o=l.length:r&&(s=t,c(r))}return this},remove:function(){return l&&x.each(arguments,function(e,t){var r;while((r=x.inArray(t,l,r))>-1)l.splice(r,1),n&&(o>=r&&o--,a>=r&&a--)}),this},has:function(e){return e?x.inArray(e,l)>-1:!(!l||!l.length)},empty:function(){return l=[],o=0,this},disable:function(){return l=u=r=t,this},disabled:function(){return!l},lock:function(){return u=t,r||p.disable(),this},locked:function(){return!u},fireWith:function(e,t){return!l||i&&!u||(t=t||[],t=[e,t.slice?t.slice():t],n?u.push(t):c(t)),this},fire:function(){return p.fireWith(this,arguments),this},fired:function(){return!!i}};return p},x.extend({Deferred:function(e){var t=[["resolve","done",x.Callbacks("once memory"),"resolved"],["reject","fail",x.Callbacks("once memory"),"rejected"],["notify","progress",x.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return x.Deferred(function(n){x.each(t,function(t,o){var a=o[0],s=x.isFunction(e[t])&&e[t];i[o[1]](function(){var e=s&&s.apply(this,arguments);e&&x.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[a+"With"](this===r?n.promise():this,s?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?x.extend(e,r):r}},i={};return r.pipe=r.then,x.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=0,n=g.call(arguments),r=n.length,i=1!==r||e&&x.isFunction(e.promise)?r:0,o=1===i?e:x.Deferred(),a=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?g.call(arguments):r,n===s?o.notifyWith(t,n):--i||o.resolveWith(t,n)}},s,l,u;if(r>1)for(s=Array(r),l=Array(r),u=Array(r);r>t;t++)n[t]&&x.isFunction(n[t].promise)?n[t].promise().done(a(t,u,n)).fail(o.reject).progress(a(t,l,s)):--i;return i||o.resolveWith(u,n),o.promise()}}),x.support=function(t){var n,r,o,s,l,u,c,p,f,d=a.createElement("div");if(d.setAttribute("className","t"),d.innerHTML="
            a",n=d.getElementsByTagName("*")||[],r=d.getElementsByTagName("a")[0],!r||!r.style||!n.length)return t;s=a.createElement("select"),u=s.appendChild(a.createElement("option")),o=d.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t.getSetAttribute="t"!==d.className,t.leadingWhitespace=3===d.firstChild.nodeType,t.tbody=!d.getElementsByTagName("tbody").length,t.htmlSerialize=!!d.getElementsByTagName("link").length,t.style=/top/.test(r.getAttribute("style")),t.hrefNormalized="/a"===r.getAttribute("href"),t.opacity=/^0.5/.test(r.style.opacity),t.cssFloat=!!r.style.cssFloat,t.checkOn=!!o.value,t.optSelected=u.selected,t.enctype=!!a.createElement("form").enctype,t.html5Clone="<:nav>"!==a.createElement("nav").cloneNode(!0).outerHTML,t.inlineBlockNeedsLayout=!1,t.shrinkWrapBlocks=!1,t.pixelPosition=!1,t.deleteExpando=!0,t.noCloneEvent=!0,t.reliableMarginRight=!0,t.boxSizingReliable=!0,o.checked=!0,t.noCloneChecked=o.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!u.disabled;try{delete d.test}catch(h){t.deleteExpando=!1}o=a.createElement("input"),o.setAttribute("value",""),t.input=""===o.getAttribute("value"),o.value="t",o.setAttribute("type","radio"),t.radioValue="t"===o.value,o.setAttribute("checked","t"),o.setAttribute("name","t"),l=a.createDocumentFragment(),l.appendChild(o),t.appendChecked=o.checked,t.checkClone=l.cloneNode(!0).cloneNode(!0).lastChild.checked,d.attachEvent&&(d.attachEvent("onclick",function(){t.noCloneEvent=!1}),d.cloneNode(!0).click());for(f in{submit:!0,change:!0,focusin:!0})d.setAttribute(c="on"+f,"t"),t[f+"Bubbles"]=c in e||d.attributes[c].expando===!1;d.style.backgroundClip="content-box",d.cloneNode(!0).style.backgroundClip="",t.clearCloneStyle="content-box"===d.style.backgroundClip;for(f in x(t))break;return t.ownLast="0"!==f,x(function(){var n,r,o,s="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",l=a.getElementsByTagName("body")[0];l&&(n=a.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",l.appendChild(n).appendChild(d),d.innerHTML="
            t
            ",o=d.getElementsByTagName("td"),o[0].style.cssText="padding:0;margin:0;border:0;display:none",p=0===o[0].offsetHeight,o[0].style.display="",o[1].style.display="none",t.reliableHiddenOffsets=p&&0===o[0].offsetHeight,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",x.swap(l,null!=l.style.zoom?{zoom:1}:{},function(){t.boxSizing=4===d.offsetWidth}),e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(d,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(d,null)||{width:"4px"}).width,r=d.appendChild(a.createElement("div")),r.style.cssText=d.style.cssText=s,r.style.marginRight=r.style.width="0",d.style.width="1px",t.reliableMarginRight=!parseFloat((e.getComputedStyle(r,null)||{}).marginRight)),typeof d.style.zoom!==i&&(d.innerHTML="",d.style.cssText=s+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=3===d.offsetWidth,d.style.display="block",d.innerHTML="
            ",d.firstChild.style.width="5px",t.shrinkWrapBlocks=3!==d.offsetWidth,t.inlineBlockNeedsLayout&&(l.style.zoom=1)),l.removeChild(n),n=d=o=r=null)}),n=s=l=u=r=o=null,t +}({});var B=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,P=/([A-Z])/g;function R(e,n,r,i){if(x.acceptData(e)){var o,a,s=x.expando,l=e.nodeType,u=l?x.cache:e,c=l?e[s]:e[s]&&s;if(c&&u[c]&&(i||u[c].data)||r!==t||"string"!=typeof n)return c||(c=l?e[s]=p.pop()||x.guid++:s),u[c]||(u[c]=l?{}:{toJSON:x.noop}),("object"==typeof n||"function"==typeof n)&&(i?u[c]=x.extend(u[c],n):u[c].data=x.extend(u[c].data,n)),a=u[c],i||(a.data||(a.data={}),a=a.data),r!==t&&(a[x.camelCase(n)]=r),"string"==typeof n?(o=a[n],null==o&&(o=a[x.camelCase(n)])):o=a,o}}function W(e,t,n){if(x.acceptData(e)){var r,i,o=e.nodeType,a=o?x.cache:e,s=o?e[x.expando]:x.expando;if(a[s]){if(t&&(r=n?a[s]:a[s].data)){x.isArray(t)?t=t.concat(x.map(t,x.camelCase)):t in r?t=[t]:(t=x.camelCase(t),t=t in r?[t]:t.split(" ")),i=t.length;while(i--)delete r[t[i]];if(n?!I(r):!x.isEmptyObject(r))return}(n||(delete a[s].data,I(a[s])))&&(o?x.cleanData([e],!0):x.support.deleteExpando||a!=a.window?delete a[s]:a[s]=null)}}}x.extend({cache:{},noData:{applet:!0,embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(e){return e=e.nodeType?x.cache[e[x.expando]]:e[x.expando],!!e&&!I(e)},data:function(e,t,n){return R(e,t,n)},removeData:function(e,t){return W(e,t)},_data:function(e,t,n){return R(e,t,n,!0)},_removeData:function(e,t){return W(e,t,!0)},acceptData:function(e){if(e.nodeType&&1!==e.nodeType&&9!==e.nodeType)return!1;var t=e.nodeName&&x.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),x.fn.extend({data:function(e,n){var r,i,o=null,a=0,s=this[0];if(e===t){if(this.length&&(o=x.data(s),1===s.nodeType&&!x._data(s,"parsedAttrs"))){for(r=s.attributes;r.length>a;a++)i=r[a].name,0===i.indexOf("data-")&&(i=x.camelCase(i.slice(5)),$(s,i,o[i]));x._data(s,"parsedAttrs",!0)}return o}return"object"==typeof e?this.each(function(){x.data(this,e)}):arguments.length>1?this.each(function(){x.data(this,e,n)}):s?$(s,e,x.data(s,e)):null},removeData:function(e){return this.each(function(){x.removeData(this,e)})}});function $(e,n,r){if(r===t&&1===e.nodeType){var i="data-"+n.replace(P,"-$1").toLowerCase();if(r=e.getAttribute(i),"string"==typeof r){try{r="true"===r?!0:"false"===r?!1:"null"===r?null:+r+""===r?+r:B.test(r)?x.parseJSON(r):r}catch(o){}x.data(e,n,r)}else r=t}return r}function I(e){var t;for(t in e)if(("data"!==t||!x.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}x.extend({queue:function(e,n,r){var i;return e?(n=(n||"fx")+"queue",i=x._data(e,n),r&&(!i||x.isArray(r)?i=x._data(e,n,x.makeArray(r)):i.push(r)),i||[]):t},dequeue:function(e,t){t=t||"fx";var n=x.queue(e,t),r=n.length,i=n.shift(),o=x._queueHooks(e,t),a=function(){x.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 x._data(e,n)||x._data(e,n,{empty:x.Callbacks("once memory").add(function(){x._removeData(e,t+"queue"),x._removeData(e,n)})})}}),x.fn.extend({queue:function(e,n){var r=2;return"string"!=typeof e&&(n=e,e="fx",r--),r>arguments.length?x.queue(this[0],e):n===t?this:this.each(function(){var t=x.queue(this,e,n);x._queueHooks(this,e),"fx"===e&&"inprogress"!==t[0]&&x.dequeue(this,e)})},dequeue:function(e){return this.each(function(){x.dequeue(this,e)})},delay:function(e,t){return e=x.fx?x.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,o=x.Deferred(),a=this,s=this.length,l=function(){--i||o.resolveWith(a,[a])};"string"!=typeof e&&(n=e,e=t),e=e||"fx";while(s--)r=x._data(a[s],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(l));return l(),o.promise(n)}});var z,X,U=/[\t\r\n\f]/g,V=/\r/g,Y=/^(?:input|select|textarea|button|object)$/i,J=/^(?:a|area)$/i,G=/^(?:checked|selected)$/i,Q=x.support.getSetAttribute,K=x.support.input;x.fn.extend({attr:function(e,t){return x.access(this,x.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){x.removeAttr(this,e)})},prop:function(e,t){return x.access(this,x.prop,e,t,arguments.length>1)},removeProp:function(e){return e=x.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,o,a=0,s=this.length,l="string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).addClass(e.call(this,t,this.className))});if(l)for(t=(e||"").match(T)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(U," "):" ")){o=0;while(i=t[o++])0>r.indexOf(" "+i+" ")&&(r+=i+" ");n.className=x.trim(r)}return this},removeClass:function(e){var t,n,r,i,o,a=0,s=this.length,l=0===arguments.length||"string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).removeClass(e.call(this,t,this.className))});if(l)for(t=(e||"").match(T)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(U," "):"")){o=0;while(i=t[o++])while(r.indexOf(" "+i+" ")>=0)r=r.replace(" "+i+" "," ");n.className=e?x.trim(r):""}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):x.isFunction(e)?this.each(function(n){x(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n){var t,r=0,o=x(this),a=e.match(T)||[];while(t=a[r++])o.hasClass(t)?o.removeClass(t):o.addClass(t)}else(n===i||"boolean"===n)&&(this.className&&x._data(this,"__className__",this.className),this.className=this.className||e===!1?"":x._data(this,"__className__")||"")})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(U," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,o=this[0];{if(arguments.length)return i=x.isFunction(e),this.each(function(n){var o;1===this.nodeType&&(o=i?e.call(this,n,x(this).val()):e,null==o?o="":"number"==typeof o?o+="":x.isArray(o)&&(o=x.map(o,function(e){return null==e?"":e+""})),r=x.valHooks[this.type]||x.valHooks[this.nodeName.toLowerCase()],r&&"set"in r&&r.set(this,o,"value")!==t||(this.value=o))});if(o)return r=x.valHooks[o.type]||x.valHooks[o.nodeName.toLowerCase()],r&&"get"in r&&(n=r.get(o,"value"))!==t?n:(n=o.value,"string"==typeof n?n.replace(V,""):null==n?"":n)}}}),x.extend({valHooks:{option:{get:function(e){var t=x.find.attr(e,"value");return null!=t?t:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||0>i,a=o?null:[],s=o?i+1:r.length,l=0>i?s:o?i:0;for(;s>l;l++)if(n=r[l],!(!n.selected&&l!==i||(x.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&x.nodeName(n.parentNode,"optgroup"))){if(t=x(n).val(),o)return t;a.push(t)}return a},set:function(e,t){var n,r,i=e.options,o=x.makeArray(t),a=i.length;while(a--)r=i[a],(r.selected=x.inArray(x(r).val(),o)>=0)&&(n=!0);return n||(e.selectedIndex=-1),o}}},attr:function(e,n,r){var o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return typeof e.getAttribute===i?x.prop(e,n,r):(1===s&&x.isXMLDoc(e)||(n=n.toLowerCase(),o=x.attrHooks[n]||(x.expr.match.bool.test(n)?X:z)),r===t?o&&"get"in o&&null!==(a=o.get(e,n))?a:(a=x.find.attr(e,n),null==a?t:a):null!==r?o&&"set"in o&&(a=o.set(e,r,n))!==t?a:(e.setAttribute(n,r+""),r):(x.removeAttr(e,n),t))},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(T);if(o&&1===e.nodeType)while(n=o[i++])r=x.propFix[n]||n,x.expr.match.bool.test(n)?K&&Q||!G.test(n)?e[r]=!1:e[x.camelCase("default-"+n)]=e[r]=!1:x.attr(e,n,""),e.removeAttribute(Q?n:r)},attrHooks:{type:{set:function(e,t){if(!x.support.radioValue&&"radio"===t&&x.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},propFix:{"for":"htmlFor","class":"className"},prop:function(e,n,r){var i,o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return a=1!==s||!x.isXMLDoc(e),a&&(n=x.propFix[n]||n,o=x.propHooks[n]),r!==t?o&&"set"in o&&(i=o.set(e,r,n))!==t?i:e[n]=r:o&&"get"in o&&null!==(i=o.get(e,n))?i:e[n]},propHooks:{tabIndex:{get:function(e){var t=x.find.attr(e,"tabindex");return t?parseInt(t,10):Y.test(e.nodeName)||J.test(e.nodeName)&&e.href?0:-1}}}}),X={set:function(e,t,n){return t===!1?x.removeAttr(e,n):K&&Q||!G.test(n)?e.setAttribute(!Q&&x.propFix[n]||n,n):e[x.camelCase("default-"+n)]=e[n]=!0,n}},x.each(x.expr.match.bool.source.match(/\w+/g),function(e,n){var r=x.expr.attrHandle[n]||x.find.attr;x.expr.attrHandle[n]=K&&Q||!G.test(n)?function(e,n,i){var o=x.expr.attrHandle[n],a=i?t:(x.expr.attrHandle[n]=t)!=r(e,n,i)?n.toLowerCase():null;return x.expr.attrHandle[n]=o,a}:function(e,n,r){return r?t:e[x.camelCase("default-"+n)]?n.toLowerCase():null}}),K&&Q||(x.attrHooks.value={set:function(e,n,r){return x.nodeName(e,"input")?(e.defaultValue=n,t):z&&z.set(e,n,r)}}),Q||(z={set:function(e,n,r){var i=e.getAttributeNode(r);return i||e.setAttributeNode(i=e.ownerDocument.createAttribute(r)),i.value=n+="","value"===r||n===e.getAttribute(r)?n:t}},x.expr.attrHandle.id=x.expr.attrHandle.name=x.expr.attrHandle.coords=function(e,n,r){var i;return r?t:(i=e.getAttributeNode(n))&&""!==i.value?i.value:null},x.valHooks.button={get:function(e,n){var r=e.getAttributeNode(n);return r&&r.specified?r.value:t},set:z.set},x.attrHooks.contenteditable={set:function(e,t,n){z.set(e,""===t?!1:t,n)}},x.each(["width","height"],function(e,n){x.attrHooks[n]={set:function(e,r){return""===r?(e.setAttribute(n,"auto"),r):t}}})),x.support.hrefNormalized||x.each(["href","src"],function(e,t){x.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}}),x.support.style||(x.attrHooks.style={get:function(e){return e.style.cssText||t},set:function(e,t){return e.style.cssText=t+""}}),x.support.optSelected||(x.propHooks.selected={get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}}),x.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){x.propFix[this.toLowerCase()]=this}),x.support.enctype||(x.propFix.enctype="encoding"),x.each(["radio","checkbox"],function(){x.valHooks[this]={set:function(e,n){return x.isArray(n)?e.checked=x.inArray(x(e).val(),n)>=0:t}},x.support.checkOn||(x.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var Z=/^(?:input|select|textarea)$/i,et=/^key/,tt=/^(?:mouse|contextmenu)|click/,nt=/^(?:focusinfocus|focusoutblur)$/,rt=/^([^.]*)(?:\.(.+)|)$/;function it(){return!0}function ot(){return!1}function at(){try{return a.activeElement}catch(e){}}x.event={global:{},add:function(e,n,r,o,a){var s,l,u,c,p,f,d,h,g,m,y,v=x._data(e);if(v){r.handler&&(c=r,r=c.handler,a=c.selector),r.guid||(r.guid=x.guid++),(l=v.events)||(l=v.events={}),(f=v.handle)||(f=v.handle=function(e){return typeof x===i||e&&x.event.triggered===e.type?t:x.event.dispatch.apply(f.elem,arguments)},f.elem=e),n=(n||"").match(T)||[""],u=n.length;while(u--)s=rt.exec(n[u])||[],g=y=s[1],m=(s[2]||"").split(".").sort(),g&&(p=x.event.special[g]||{},g=(a?p.delegateType:p.bindType)||g,p=x.event.special[g]||{},d=x.extend({type:g,origType:y,data:o,handler:r,guid:r.guid,selector:a,needsContext:a&&x.expr.match.needsContext.test(a),namespace:m.join(".")},c),(h=l[g])||(h=l[g]=[],h.delegateCount=0,p.setup&&p.setup.call(e,o,m,f)!==!1||(e.addEventListener?e.addEventListener(g,f,!1):e.attachEvent&&e.attachEvent("on"+g,f))),p.add&&(p.add.call(e,d),d.handler.guid||(d.handler.guid=r.guid)),a?h.splice(h.delegateCount++,0,d):h.push(d),x.event.global[g]=!0);e=null}},remove:function(e,t,n,r,i){var o,a,s,l,u,c,p,f,d,h,g,m=x.hasData(e)&&x._data(e);if(m&&(c=m.events)){t=(t||"").match(T)||[""],u=t.length;while(u--)if(s=rt.exec(t[u])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){p=x.event.special[d]||{},d=(r?p.delegateType:p.bindType)||d,f=c[d]||[],s=s[2]&&RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),l=o=f.length;while(o--)a=f[o],!i&&g!==a.origType||n&&n.guid!==a.guid||s&&!s.test(a.namespace)||r&&r!==a.selector&&("**"!==r||!a.selector)||(f.splice(o,1),a.selector&&f.delegateCount--,p.remove&&p.remove.call(e,a));l&&!f.length&&(p.teardown&&p.teardown.call(e,h,m.handle)!==!1||x.removeEvent(e,d,m.handle),delete c[d])}else for(d in c)x.event.remove(e,d+t[u],n,r,!0);x.isEmptyObject(c)&&(delete m.handle,x._removeData(e,"events"))}},trigger:function(n,r,i,o){var s,l,u,c,p,f,d,h=[i||a],g=v.call(n,"type")?n.type:n,m=v.call(n,"namespace")?n.namespace.split("."):[];if(u=f=i=i||a,3!==i.nodeType&&8!==i.nodeType&&!nt.test(g+x.event.triggered)&&(g.indexOf(".")>=0&&(m=g.split("."),g=m.shift(),m.sort()),l=0>g.indexOf(":")&&"on"+g,n=n[x.expando]?n:new x.Event(g,"object"==typeof n&&n),n.isTrigger=o?2:3,n.namespace=m.join("."),n.namespace_re=n.namespace?RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,n.result=t,n.target||(n.target=i),r=null==r?[n]:x.makeArray(r,[n]),p=x.event.special[g]||{},o||!p.trigger||p.trigger.apply(i,r)!==!1)){if(!o&&!p.noBubble&&!x.isWindow(i)){for(c=p.delegateType||g,nt.test(c+g)||(u=u.parentNode);u;u=u.parentNode)h.push(u),f=u;f===(i.ownerDocument||a)&&h.push(f.defaultView||f.parentWindow||e)}d=0;while((u=h[d++])&&!n.isPropagationStopped())n.type=d>1?c:p.bindType||g,s=(x._data(u,"events")||{})[n.type]&&x._data(u,"handle"),s&&s.apply(u,r),s=l&&u[l],s&&x.acceptData(u)&&s.apply&&s.apply(u,r)===!1&&n.preventDefault();if(n.type=g,!o&&!n.isDefaultPrevented()&&(!p._default||p._default.apply(h.pop(),r)===!1)&&x.acceptData(i)&&l&&i[g]&&!x.isWindow(i)){f=i[l],f&&(i[l]=null),x.event.triggered=g;try{i[g]()}catch(y){}x.event.triggered=t,f&&(i[l]=f)}return n.result}},dispatch:function(e){e=x.event.fix(e);var n,r,i,o,a,s=[],l=g.call(arguments),u=(x._data(this,"events")||{})[e.type]||[],c=x.event.special[e.type]||{};if(l[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){s=x.event.handlers.call(this,e,u),n=0;while((o=s[n++])&&!e.isPropagationStopped()){e.currentTarget=o.elem,a=0;while((i=o.handlers[a++])&&!e.isImmediatePropagationStopped())(!e.namespace_re||e.namespace_re.test(i.namespace))&&(e.handleObj=i,e.data=i.data,r=((x.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,l),r!==t&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,n){var r,i,o,a,s=[],l=n.delegateCount,u=e.target;if(l&&u.nodeType&&(!e.button||"click"!==e.type))for(;u!=this;u=u.parentNode||this)if(1===u.nodeType&&(u.disabled!==!0||"click"!==e.type)){for(o=[],a=0;l>a;a++)i=n[a],r=i.selector+" ",o[r]===t&&(o[r]=i.needsContext?x(r,this).index(u)>=0:x.find(r,this,null,[u]).length),o[r]&&o.push(i);o.length&&s.push({elem:u,handlers:o})}return n.length>l&&s.push({elem:this,handlers:n.slice(l)}),s},fix:function(e){if(e[x.expando])return e;var t,n,r,i=e.type,o=e,s=this.fixHooks[i];s||(this.fixHooks[i]=s=tt.test(i)?this.mouseHooks:et.test(i)?this.keyHooks:{}),r=s.props?this.props.concat(s.props):this.props,e=new x.Event(o),t=r.length;while(t--)n=r[t],e[n]=o[n];return e.target||(e.target=o.srcElement||a),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,o):e},props:"altKey bubbles cancelable ctrlKey currentTarget 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,n){var r,i,o,s=n.button,l=n.fromElement;return null==e.pageX&&null!=n.clientX&&(i=e.target.ownerDocument||a,o=i.documentElement,r=i.body,e.pageX=n.clientX+(o&&o.scrollLeft||r&&r.scrollLeft||0)-(o&&o.clientLeft||r&&r.clientLeft||0),e.pageY=n.clientY+(o&&o.scrollTop||r&&r.scrollTop||0)-(o&&o.clientTop||r&&r.clientTop||0)),!e.relatedTarget&&l&&(e.relatedTarget=l===e.target?n.toElement:l),e.which||s===t||(e.which=1&s?1:2&s?3:4&s?2:0),e}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==at()&&this.focus)try{return this.focus(),!1}catch(e){}},delegateType:"focusin"},blur:{trigger:function(){return this===at()&&this.blur?(this.blur(),!1):t},delegateType:"focusout"},click:{trigger:function(){return x.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):t},_default:function(e){return x.nodeName(e.target,"a")}},beforeunload:{postDispatch:function(e){e.result!==t&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=x.extend(new x.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?x.event.trigger(i,null,t):x.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},x.removeEvent=a.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&(typeof e[r]===i&&(e[r]=null),e.detachEvent(r,n))},x.Event=function(e,n){return this instanceof x.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?it:ot):this.type=e,n&&x.extend(this,n),this.timeStamp=e&&e.timeStamp||x.now(),this[x.expando]=!0,t):new x.Event(e,n)},x.Event.prototype={isDefaultPrevented:ot,isPropagationStopped:ot,isImmediatePropagationStopped:ot,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=it,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=it,e&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=it,this.stopPropagation()}},x.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){x.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;return(!i||i!==r&&!x.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),x.support.submitBubbles||(x.event.special.submit={setup:function(){return x.nodeName(this,"form")?!1:(x.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=x.nodeName(n,"input")||x.nodeName(n,"button")?n.form:t;r&&!x._data(r,"submitBubbles")&&(x.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),x._data(r,"submitBubbles",!0))}),t)},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&x.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){return x.nodeName(this,"form")?!1:(x.event.remove(this,"._submit"),t)}}),x.support.changeBubbles||(x.event.special.change={setup:function(){return Z.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(x.event.add(this,"propertychange._change",function(e){"checked"===e.originalEvent.propertyName&&(this._just_changed=!0)}),x.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),x.event.simulate("change",this,e,!0)})),!1):(x.event.add(this,"beforeactivate._change",function(e){var t=e.target;Z.test(t.nodeName)&&!x._data(t,"changeBubbles")&&(x.event.add(t,"change._change",function(e){!this.parentNode||e.isSimulated||e.isTrigger||x.event.simulate("change",this.parentNode,e,!0)}),x._data(t,"changeBubbles",!0))}),t)},handle:function(e){var n=e.target;return this!==n||e.isSimulated||e.isTrigger||"radio"!==n.type&&"checkbox"!==n.type?e.handleObj.handler.apply(this,arguments):t},teardown:function(){return x.event.remove(this,"._change"),!Z.test(this.nodeName)}}),x.support.focusinBubbles||x.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){x.event.simulate(t,e.target,x.event.fix(e),!0)};x.event.special[t]={setup:function(){0===n++&&a.addEventListener(e,r,!0)},teardown:function(){0===--n&&a.removeEventListener(e,r,!0)}}}),x.fn.extend({on:function(e,n,r,i,o){var a,s;if("object"==typeof e){"string"!=typeof n&&(r=r||n,n=t);for(a in e)this.on(a,n,r,e[a],o);return this}if(null==r&&null==i?(i=n,r=n=t):null==i&&("string"==typeof n?(i=r,r=t):(i=r,r=n,n=t)),i===!1)i=ot;else if(!i)return this;return 1===o&&(s=i,i=function(e){return x().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=x.guid++)),this.each(function(){x.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,o;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,x(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof e){for(o in e)this.off(o,n,e[o]);return this}return(n===!1||"function"==typeof n)&&(r=n,n=t),r===!1&&(r=ot),this.each(function(){x.event.remove(this,e,r,n)})},trigger:function(e,t){return this.each(function(){x.event.trigger(e,t,this)})},triggerHandler:function(e,n){var r=this[0];return r?x.event.trigger(e,n,r,!0):t}});var st=/^.[^:#\[\.,]*$/,lt=/^(?:parents|prev(?:Until|All))/,ut=x.expr.match.needsContext,ct={children:!0,contents:!0,next:!0,prev:!0};x.fn.extend({find:function(e){var t,n=[],r=this,i=r.length;if("string"!=typeof e)return this.pushStack(x(e).filter(function(){for(t=0;i>t;t++)if(x.contains(r[t],this))return!0}));for(t=0;i>t;t++)x.find(e,r[t],n);return n=this.pushStack(i>1?x.unique(n):n),n.selector=this.selector?this.selector+" "+e:e,n},has:function(e){var t,n=x(e,this),r=n.length;return this.filter(function(){for(t=0;r>t;t++)if(x.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(ft(this,e||[],!0))},filter:function(e){return this.pushStack(ft(this,e||[],!1))},is:function(e){return!!ft(this,"string"==typeof e&&ut.test(e)?x(e):e||[],!1).length},closest:function(e,t){var n,r=0,i=this.length,o=[],a=ut.test(e)||"string"!=typeof e?x(e,t||this.context):0;for(;i>r;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(11>n.nodeType&&(a?a.index(n)>-1:1===n.nodeType&&x.find.matchesSelector(n,e))){n=o.push(n);break}return this.pushStack(o.length>1?x.unique(o):o)},index:function(e){return e?"string"==typeof e?x.inArray(this[0],x(e)):x.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){var n="string"==typeof e?x(e,t):x.makeArray(e&&e.nodeType?[e]:e),r=x.merge(this.get(),n);return this.pushStack(x.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function pt(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}x.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return x.dir(e,"parentNode")},parentsUntil:function(e,t,n){return x.dir(e,"parentNode",n)},next:function(e){return pt(e,"nextSibling")},prev:function(e){return pt(e,"previousSibling")},nextAll:function(e){return x.dir(e,"nextSibling")},prevAll:function(e){return x.dir(e,"previousSibling")},nextUntil:function(e,t,n){return x.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return x.dir(e,"previousSibling",n)},siblings:function(e){return x.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return x.sibling(e.firstChild)},contents:function(e){return x.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:x.merge([],e.childNodes)}},function(e,t){x.fn[e]=function(n,r){var i=x.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=x.filter(r,i)),this.length>1&&(ct[e]||(i=x.unique(i)),lt.test(e)&&(i=i.reverse())),this.pushStack(i)}}),x.extend({filter:function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?x.find.matchesSelector(r,e)?[r]:[]:x.find.matches(e,x.grep(t,function(e){return 1===e.nodeType}))},dir:function(e,n,r){var i=[],o=e[n];while(o&&9!==o.nodeType&&(r===t||1!==o.nodeType||!x(o).is(r)))1===o.nodeType&&i.push(o),o=o[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});function ft(e,t,n){if(x.isFunction(t))return x.grep(e,function(e,r){return!!t.call(e,r,e)!==n});if(t.nodeType)return x.grep(e,function(e){return e===t!==n});if("string"==typeof t){if(st.test(t))return x.filter(t,e,n);t=x.filter(t,e)}return x.grep(e,function(e){return x.inArray(e,t)>=0!==n})}function dt(e){var t=ht.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}var ht="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",gt=/ jQuery\d+="(?:null|\d+)"/g,mt=RegExp("<(?:"+ht+")[\\s/>]","i"),yt=/^\s+/,vt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bt=/<([\w:]+)/,xt=/\s*$/g,At={option:[1,""],legend:[1,"
            ","
            "],area:[1,"",""],param:[1,"",""],thead:[1,"","
            "],tr:[2,"","
            "],col:[2,"","
            "],td:[3,"","
            "],_default:x.support.htmlSerialize?[0,"",""]:[1,"X
            ","
            "]},jt=dt(a),Dt=jt.appendChild(a.createElement("div"));At.optgroup=At.option,At.tbody=At.tfoot=At.colgroup=At.caption=At.thead,At.th=At.td,x.fn.extend({text:function(e){return x.access(this,function(e){return e===t?x.text(this):this.empty().append((this[0]&&this[0].ownerDocument||a).createTextNode(e))},null,e,arguments.length)},append:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Lt(this,e);t.appendChild(e)}})},prepend:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Lt(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){var n,r=e?x.filter(e,this):this,i=0;for(;null!=(n=r[i]);i++)t||1!==n.nodeType||x.cleanData(Ft(n)),n.parentNode&&(t&&x.contains(n.ownerDocument,n)&&_t(Ft(n,"script")),n.parentNode.removeChild(n));return this},empty:function(){var e,t=0;for(;null!=(e=this[t]);t++){1===e.nodeType&&x.cleanData(Ft(e,!1));while(e.firstChild)e.removeChild(e.firstChild);e.options&&x.nodeName(e,"select")&&(e.options.length=0)}return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return x.clone(this,e,t)})},html:function(e){return x.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return 1===n.nodeType?n.innerHTML.replace(gt,""):t;if(!("string"!=typeof e||Tt.test(e)||!x.support.htmlSerialize&&mt.test(e)||!x.support.leadingWhitespace&&yt.test(e)||At[(bt.exec(e)||["",""])[1].toLowerCase()])){e=e.replace(vt,"<$1>");try{for(;i>r;r++)n=this[r]||{},1===n.nodeType&&(x.cleanData(Ft(n,!1)),n.innerHTML=e);n=0}catch(o){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=x.map(this,function(e){return[e.nextSibling,e.parentNode]}),t=0;return this.domManip(arguments,function(n){var r=e[t++],i=e[t++];i&&(r&&r.parentNode!==i&&(r=this.nextSibling),x(this).remove(),i.insertBefore(n,r))},!0),t?this:this.remove()},detach:function(e){return this.remove(e,!0)},domManip:function(e,t,n){e=d.apply([],e);var r,i,o,a,s,l,u=0,c=this.length,p=this,f=c-1,h=e[0],g=x.isFunction(h);if(g||!(1>=c||"string"!=typeof h||x.support.checkClone)&&Nt.test(h))return this.each(function(r){var i=p.eq(r);g&&(e[0]=h.call(this,r,i.html())),i.domManip(e,t,n)});if(c&&(l=x.buildFragment(e,this[0].ownerDocument,!1,!n&&this),r=l.firstChild,1===l.childNodes.length&&(l=r),r)){for(a=x.map(Ft(l,"script"),Ht),o=a.length;c>u;u++)i=l,u!==f&&(i=x.clone(i,!0,!0),o&&x.merge(a,Ft(i,"script"))),t.call(this[u],i,u);if(o)for(s=a[a.length-1].ownerDocument,x.map(a,qt),u=0;o>u;u++)i=a[u],kt.test(i.type||"")&&!x._data(i,"globalEval")&&x.contains(s,i)&&(i.src?x._evalUrl(i.src):x.globalEval((i.text||i.textContent||i.innerHTML||"").replace(St,"")));l=r=null}return this}});function Lt(e,t){return x.nodeName(e,"table")&&x.nodeName(1===t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function Ht(e){return e.type=(null!==x.find.attr(e,"type"))+"/"+e.type,e}function qt(e){var t=Et.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function _t(e,t){var n,r=0;for(;null!=(n=e[r]);r++)x._data(n,"globalEval",!t||x._data(t[r],"globalEval"))}function Mt(e,t){if(1===t.nodeType&&x.hasData(e)){var n,r,i,o=x._data(e),a=x._data(t,o),s=o.events;if(s){delete a.handle,a.events={};for(n in s)for(r=0,i=s[n].length;i>r;r++)x.event.add(t,n,s[n][r])}a.data&&(a.data=x.extend({},a.data))}}function Ot(e,t){var n,r,i;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!x.support.noCloneEvent&&t[x.expando]){i=x._data(t);for(r in i.events)x.removeEvent(t,r,i.handle);t.removeAttribute(x.expando)}"script"===n&&t.text!==e.text?(Ht(t).text=e.text,qt(t)):"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),x.support.html5Clone&&e.innerHTML&&!x.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&Ct.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)}}x.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){x.fn[e]=function(e){var n,r=0,i=[],o=x(e),a=o.length-1;for(;a>=r;r++)n=r===a?this:this.clone(!0),x(o[r])[t](n),h.apply(i,n.get());return this.pushStack(i)}});function Ft(e,n){var r,o,a=0,s=typeof e.getElementsByTagName!==i?e.getElementsByTagName(n||"*"):typeof e.querySelectorAll!==i?e.querySelectorAll(n||"*"):t;if(!s)for(s=[],r=e.childNodes||e;null!=(o=r[a]);a++)!n||x.nodeName(o,n)?s.push(o):x.merge(s,Ft(o,n));return n===t||n&&x.nodeName(e,n)?x.merge([e],s):s}function Bt(e){Ct.test(e.type)&&(e.defaultChecked=e.checked)}x.extend({clone:function(e,t,n){var r,i,o,a,s,l=x.contains(e.ownerDocument,e);if(x.support.html5Clone||x.isXMLDoc(e)||!mt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(Dt.innerHTML=e.outerHTML,Dt.removeChild(o=Dt.firstChild)),!(x.support.noCloneEvent&&x.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||x.isXMLDoc(e)))for(r=Ft(o),s=Ft(e),a=0;null!=(i=s[a]);++a)r[a]&&Ot(i,r[a]);if(t)if(n)for(s=s||Ft(e),r=r||Ft(o),a=0;null!=(i=s[a]);a++)Mt(i,r[a]);else Mt(e,o);return r=Ft(o,"script"),r.length>0&&_t(r,!l&&Ft(e,"script")),r=s=i=null,o},buildFragment:function(e,t,n,r){var i,o,a,s,l,u,c,p=e.length,f=dt(t),d=[],h=0;for(;p>h;h++)if(o=e[h],o||0===o)if("object"===x.type(o))x.merge(d,o.nodeType?[o]:o);else if(wt.test(o)){s=s||f.appendChild(t.createElement("div")),l=(bt.exec(o)||["",""])[1].toLowerCase(),c=At[l]||At._default,s.innerHTML=c[1]+o.replace(vt,"<$1>")+c[2],i=c[0];while(i--)s=s.lastChild;if(!x.support.leadingWhitespace&&yt.test(o)&&d.push(t.createTextNode(yt.exec(o)[0])),!x.support.tbody){o="table"!==l||xt.test(o)?""!==c[1]||xt.test(o)?0:s:s.firstChild,i=o&&o.childNodes.length;while(i--)x.nodeName(u=o.childNodes[i],"tbody")&&!u.childNodes.length&&o.removeChild(u)}x.merge(d,s.childNodes),s.textContent="";while(s.firstChild)s.removeChild(s.firstChild);s=f.lastChild}else d.push(t.createTextNode(o));s&&f.removeChild(s),x.support.appendChecked||x.grep(Ft(d,"input"),Bt),h=0;while(o=d[h++])if((!r||-1===x.inArray(o,r))&&(a=x.contains(o.ownerDocument,o),s=Ft(f.appendChild(o),"script"),a&&_t(s),n)){i=0;while(o=s[i++])kt.test(o.type||"")&&n.push(o)}return s=null,f},cleanData:function(e,t){var n,r,o,a,s=0,l=x.expando,u=x.cache,c=x.support.deleteExpando,f=x.event.special;for(;null!=(n=e[s]);s++)if((t||x.acceptData(n))&&(o=n[l],a=o&&u[o])){if(a.events)for(r in a.events)f[r]?x.event.remove(n,r):x.removeEvent(n,r,a.handle); +u[o]&&(delete u[o],c?delete n[l]:typeof n.removeAttribute!==i?n.removeAttribute(l):n[l]=null,p.push(o))}},_evalUrl:function(e){return x.ajax({url:e,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})}}),x.fn.extend({wrapAll:function(e){if(x.isFunction(e))return this.each(function(t){x(this).wrapAll(e.call(this,t))});if(this[0]){var t=x(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&1===e.firstChild.nodeType)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return x.isFunction(e)?this.each(function(t){x(this).wrapInner(e.call(this,t))}):this.each(function(){var t=x(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=x.isFunction(e);return this.each(function(n){x(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){x.nodeName(this,"body")||x(this).replaceWith(this.childNodes)}).end()}});var Pt,Rt,Wt,$t=/alpha\([^)]*\)/i,It=/opacity\s*=\s*([^)]*)/,zt=/^(top|right|bottom|left)$/,Xt=/^(none|table(?!-c[ea]).+)/,Ut=/^margin/,Vt=RegExp("^("+w+")(.*)$","i"),Yt=RegExp("^("+w+")(?!px)[a-z%]+$","i"),Jt=RegExp("^([+-])=("+w+")","i"),Gt={BODY:"block"},Qt={position:"absolute",visibility:"hidden",display:"block"},Kt={letterSpacing:0,fontWeight:400},Zt=["Top","Right","Bottom","Left"],en=["Webkit","O","Moz","ms"];function tn(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=en.length;while(i--)if(t=en[i]+n,t in e)return t;return r}function nn(e,t){return e=t||e,"none"===x.css(e,"display")||!x.contains(e.ownerDocument,e)}function rn(e,t){var n,r,i,o=[],a=0,s=e.length;for(;s>a;a++)r=e[a],r.style&&(o[a]=x._data(r,"olddisplay"),n=r.style.display,t?(o[a]||"none"!==n||(r.style.display=""),""===r.style.display&&nn(r)&&(o[a]=x._data(r,"olddisplay",ln(r.nodeName)))):o[a]||(i=nn(r),(n&&"none"!==n||!i)&&x._data(r,"olddisplay",i?n:x.css(r,"display"))));for(a=0;s>a;a++)r=e[a],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[a]||"":"none"));return e}x.fn.extend({css:function(e,n){return x.access(this,function(e,n,r){var i,o,a={},s=0;if(x.isArray(n)){for(o=Rt(e),i=n.length;i>s;s++)a[n[s]]=x.css(e,n[s],!1,o);return a}return r!==t?x.style(e,n,r):x.css(e,n)},e,n,arguments.length>1)},show:function(){return rn(this,!0)},hide:function(){return rn(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){nn(this)?x(this).show():x(this).hide()})}}),x.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Wt(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":x.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,a,s,l=x.camelCase(n),u=e.style;if(n=x.cssProps[l]||(x.cssProps[l]=tn(u,l)),s=x.cssHooks[n]||x.cssHooks[l],r===t)return s&&"get"in s&&(o=s.get(e,!1,i))!==t?o:u[n];if(a=typeof r,"string"===a&&(o=Jt.exec(r))&&(r=(o[1]+1)*o[2]+parseFloat(x.css(e,n)),a="number"),!(null==r||"number"===a&&isNaN(r)||("number"!==a||x.cssNumber[l]||(r+="px"),x.support.clearCloneStyle||""!==r||0!==n.indexOf("background")||(u[n]="inherit"),s&&"set"in s&&(r=s.set(e,r,i))===t)))try{u[n]=r}catch(c){}}},css:function(e,n,r,i){var o,a,s,l=x.camelCase(n);return n=x.cssProps[l]||(x.cssProps[l]=tn(e.style,l)),s=x.cssHooks[n]||x.cssHooks[l],s&&"get"in s&&(a=s.get(e,!0,r)),a===t&&(a=Wt(e,n,i)),"normal"===a&&n in Kt&&(a=Kt[n]),""===r||r?(o=parseFloat(a),r===!0||x.isNumeric(o)?o||0:a):a}}),e.getComputedStyle?(Rt=function(t){return e.getComputedStyle(t,null)},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),l=s?s.getPropertyValue(n)||s[n]:t,u=e.style;return s&&(""!==l||x.contains(e.ownerDocument,e)||(l=x.style(e,n)),Yt.test(l)&&Ut.test(n)&&(i=u.width,o=u.minWidth,a=u.maxWidth,u.minWidth=u.maxWidth=u.width=l,l=s.width,u.width=i,u.minWidth=o,u.maxWidth=a)),l}):a.documentElement.currentStyle&&(Rt=function(e){return e.currentStyle},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),l=s?s[n]:t,u=e.style;return null==l&&u&&u[n]&&(l=u[n]),Yt.test(l)&&!zt.test(n)&&(i=u.left,o=e.runtimeStyle,a=o&&o.left,a&&(o.left=e.currentStyle.left),u.left="fontSize"===n?"1em":l,l=u.pixelLeft+"px",u.left=i,a&&(o.left=a)),""===l?"auto":l});function on(e,t,n){var r=Vt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function an(e,t,n,r,i){var o=n===(r?"border":"content")?4:"width"===t?1:0,a=0;for(;4>o;o+=2)"margin"===n&&(a+=x.css(e,n+Zt[o],!0,i)),r?("content"===n&&(a-=x.css(e,"padding"+Zt[o],!0,i)),"margin"!==n&&(a-=x.css(e,"border"+Zt[o]+"Width",!0,i))):(a+=x.css(e,"padding"+Zt[o],!0,i),"padding"!==n&&(a+=x.css(e,"border"+Zt[o]+"Width",!0,i)));return a}function sn(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=Rt(e),a=x.support.boxSizing&&"border-box"===x.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=Wt(e,t,o),(0>i||null==i)&&(i=e.style[t]),Yt.test(i))return i;r=a&&(x.support.boxSizingReliable||i===e.style[t]),i=parseFloat(i)||0}return i+an(e,t,n||(a?"border":"content"),r,o)+"px"}function ln(e){var t=a,n=Gt[e];return n||(n=un(e,t),"none"!==n&&n||(Pt=(Pt||x("',"",""].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([""].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,"

            ")}}),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,"

            "),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,"

            "),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:['

              ','
            • ','','
              ','',"
              ","
            • ",'
            • ','','
              ','",'","
              ","
            • ",'
            • ','','',"
            • ","
            "].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('
          • '+e+'
          • ')}),'
              '+t.join("")+"
            "}(),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:"插入代码",skin:"layui-layer-msg",content:['
              ','
            • ','','
              ','","
              ","
            • ",'
            • ','','
              ','',"
              ","
            • ",'
            • ','','',"
            • ","
            "].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:'',strong:'',italic:'',underline:'',del:'',"|":'',left:'',center:'',right:'',link:'',unlink:'',face:'',image:'',code:'',help:''},w=new c;t(n,w)}); \ No newline at end of file diff --git a/car-mis/src/main/resources/static/metrics/lay/modules/layer.js b/car-mis/src/main/resources/static/metrics/lay/modules/layer.js new file mode 100644 index 0000000..f2f0224 --- /dev/null +++ b/car-mis/src/main/resources/static/metrics/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:["确定","取消"],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:"信息",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?'
            '+(f?r.title[0]:r.title)+"
            ":"";return r.zIndex=s,t([r.shade?'
            ':"",'
            '+(e&&2!=r.type?"":u)+'
            '+(0==r.type&&r.icon!==-1?'':"")+(1==r.type&&e?"":r.content||"")+'
            '+function(){var e=c?'':"";return r.closeBtn&&(e+=''),e}()+""+(r.btn?function(){var e="";"string"==typeof r.btn&&(r.btn=[r.btn]);for(var t=0,i=r.btn.length;t'+r.btn[t]+"";return'
            '+e+"
            "}():"")+(r.resize?'':"")+"
            "],u,i('
            ')),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='';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]+'',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;af&&(a=f),ou&&(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?'":function(){return''}(),f=e.success;return delete e.success,r.open(i.extend({type:1,btn:["确定","取消"],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("最多输入"+(e.maxlength||500)+"个字数",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=''+t[0].title+"";i"+t[i].title+"";return a}(),content:'
              '+function(){var e=t.length,i=1,a="";if(e>0)for(a='
            • '+(t[0].content||"no content")+"
            • ";i'+(t[i].content||"no content")+"";return a}()+"
            ",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("没有图片")}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]'+(u[d].alt||
            '+(u.length>1?'':"")+'
            '+(u[d].alt||"")+""+s.imgIndex+"/"+u.length+"
            ",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("当前图片地址异常
            是否继续查看下一张?",{time:3e4,btn:["下一张","不看了"],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/car-mis/src/main/resources/static/metrics/lay/modules/laypage.js b/car-mis/src/main/resources/static/metrics/lay/modules/laypage.js new file mode 100644 index 0000000..89876b1 --- /dev/null +++ b/car-mis/src/main/resources/static/metrics/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:"上一页",a.next="next"in a?a.next:"下一页";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.prev+"":""}(),page:function(){var e=[];if(a.count<1)return"";n>1&&a.first!==!1&&0!==t&&e.push(''+(a.first||1)+"");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-r2&&e.push('');r<=u;r++)r===a.curr?e.push('"+r+""):e.push(''+r+"");return a.pages>t&&a.pages>u&&a.last!==!1&&(u+1…'),0!==t&&e.push(''+(a.last||a.pages)+"")),e.join("")}(),next:function(){return a.next?''+a.next+"":""}(),count:'共 '+a.count+" 条",limit:function(){var e=['"}(),refresh:['','',""].join(""),skip:function(){return['到第','','页',""].join("")}()};return['
            ',function(){var e=[];return layui.each(a.layout,function(a,t){i[t]&&e.push(i[t])}),e.join("")}(),"
            "].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;oi.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/car-mis/src/main/resources/static/metrics/lay/modules/laytpl.js b/car-mis/src/main/resources/static/metrics/lay/modules/laytpl.js new file mode 100644 index 0000000..b291ed7 --- /dev/null +++ b/car-mis/src/main/resources/static/metrics/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,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")},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/car-mis/src/main/resources/static/metrics/lay/modules/mobile.js b/car-mis/src/main/resources/static/metrics/lay/modules/mobile.js new file mode 100644 index 0000000..f20cc01 --- /dev/null +++ b/car-mis/src/main/resources/static/metrics/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,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")},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?'

            '+(e?i.title[0]:i.title)+"

            ":""}(),d=function(){"string"==typeof i.btn&&(i.btn=[i.btn]);var e,t=(i.btn||[]).length;return 0!==t&&i.btn?(e=''+i.btn[0]+"",2===t&&(e=''+i.btn[1]+""+e),'
            '+e+"
            "):""}();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.content||"")+"

            "),i.skin&&(i.anim="up"),"msg"===i.skin&&(i.shade=!1),s.innerHTML=(i.shade?"
            ':"")+'
            "+l+'
            '+i.content+"
            "+d+"
            ",!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;r0&&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=/^<(\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>")),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=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>/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("
            ").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('');return t("#"+n)[0]||r.append(u),s.each(function(r,s){s=t(s);var u='
            ',l=s.attr("lay-type")||a.type;a.unwrap||(u='
            '+u+''+(s.attr("lay-title")||a.title||"上传"+(o[l]||"图片"))+"
            "),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/car-mis/src/main/resources/static/metrics/lay/modules/rate.js b/car-mis/src/main/resources/static/metrics/lay/modules/rate.js new file mode 100644 index 0000000..6b973bf --- /dev/null +++ b/car-mis/src/main/resources/static/metrics/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='
              ",u=1;u<=i.length;u++){var r='
            • ";i.half&&parseInt(i.value)!==i.value&&u==Math.ceil(i.value)?n=n+'
            • ":n+=r}n+="
            "+(i.text?''+i.value+"星":"")+"";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/car-mis/src/main/resources/static/metrics/lay/modules/slider.js b/car-mis/src/main/resources/static/metrics/lay/modules/slider.js new file mode 100644 index 0000000..be6a040 --- /dev/null +++ b/car-mis/src/main/resources/static/metrics/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.maxt.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.valuet.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='
            '+(t.tips?'
            ':"")+'
            '+(t.range?'
            ':"")+"
            ",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
            ')}e.elemTemp.append(b)}if(t.input&&!t.range){var w=i('
            ');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(['
            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.stepl.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=el.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/car-mis/src/main/resources/static/metrics/lay/modules/table.js b/car-mis/src/main/resources/static/metrics/lay/modules/table.js new file mode 100644 index 0000000..2050ebb --- /dev/null +++ b/car-mis/src/main/resources/static/metrics/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("
            "+o+"
            ").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||{},['
            ',"","{{# layui.each(d.data.cols, function(i1, item1){ }}","","{{# 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; }}",'",e.fixed?"{{# }; }}":"","{{# }); }}","","{{# }); }}","","
            ','
            ','{{# if(item2.type === "checkbox"){ }}','',"{{# } else { }}",'{{item2.title||""}}',"{{# if(isSort){ }}",'',"{{# } }}","{{# } }}","
            ","
            "].join("")},z=['',"","
            "].join(""),H=['
            ',"{{# if(d.data.toolbar){ }}",'
            ','
            ','
            ',"
            ","{{# } }}",'
            ',"{{# if(d.data.loading){ }}",'
            ','',"
            ","{{# } }}","{{# var left, right; }}",'
            ',E(),"
            ",'
            ',z,"
            ","{{# if(left){ }}",'
            ','
            ',E({fixed:!0}),"
            ",'
            ',z,"
            ","
            ","{{# }; }}","{{# if(right){ }}",'
            ','
            ',E({fixed:"right"}),'
            ',"
            ",'
            ',z,"
            ","
            ","{{# }; }}","
            ","{{# if(d.data.totalRow){ }}",'
            ','','',"
            ","
            ","{{# } }}","{{# if(d.data.page){ }}",'
            ','
            ',"
            ","{{# } }}","","
            "].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=['
            ','
            ','
            '].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('
            ')}),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&&ln&&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('
            '+(e||"Error")+"
            ");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=['','
            '+function(){var n=t.extend(!0,{LAY_INDEX:g},l),o=d.config.checkName;switch(r.type){case"checkbox":return'";case"radio":return n[o]&&(e=a),'';case"numbers":return g}return r.toolbar?i(t(r.toolbar).html()||"").render(n):u(r,v,n)}(),"
            "].join("");o.push(m),r.fixed&&"right"!==r.fixed&&y.push(m),"right"===r.fixed&&p.push(m)}}),h.push(''+o.join("")+""),v.push(''+y.join("")+""),m.push(''+p.join("")+""))}),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:'',next:'',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=['','
            '+function(){var e=t.totalRowText||"";return t.totalRow?parseFloat(a[n]).toFixed(2)||e:e}(),"
            "].join("");l.push(o)}),t.layTotal.find("tbody").html(""+l.join("")+"")}},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(['
            ','',"
            "].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('
            ');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('
              ');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('
            • ')}),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['
            • 导出到 Csv 文件
            • ','
            • 导出到 Excel 文件
            • '].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=[""].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');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('
              ')}};a.layBody.on("click","."+g,function(e){var i=t(this),n=i.parent(),d=n.children(h);a.tipsIndex=l.tips(['
              ',d.html(),"
              ",''].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/car-mis/src/main/resources/static/metrics/lay/modules/transfer.js b/car-mis/src/main/resources/static/metrics/lay/modules/transfer.js new file mode 100644 index 0000000..9858501 --- /dev/null +++ b/car-mis/src/main/resources/static/metrics/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||{},['
              ','
              ','","
              ","{{# if(d.data.showSearch){ }}",'","{{# } }}",'
                ',"
                "].join("")},v=['
                ',p({index:0,checkAllName:"layTransferLeftCheckAll"}),'
                ','",'","
                ",p({index:1,checkAllName:"layTransferRightCheckAll"}),"
                "].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=["
              • ",'',"
              • "].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('

                '+(t||"")+"

                ");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/car-mis/src/main/resources/static/metrics/lay/modules/tree.js b/car-mis/src/main/resources/static/metrics/lay/modules/tree.js new file mode 100644 index 0000000..97c668d --- /dev/null +++ b/car-mis/src/main/resources/static/metrics/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('
                ');e.tree(n);var r=a.elem=i(a.elem);if(r[0]){if(a.showSearch&&n.prepend(''),e.key=a.id||e.index,e.elem=n,e.elemNone=i('
                '+a.text.none+"
                "),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('
                '),h=i(['
                ',"
                ','
                ',function(){return r.showLine?c?'':'':''}(),function(){return r.showCheckbox?'':""}(),function(){return r.isJump&&l.href?''+(l.title||l.label||r.text.defaultNodeName)+"":''+(l.title||l.label||r.text.defaultNodeName)+""}(),"
                ",function(){if(!r.edit)return"";var e={add:'',update:'',del:''},i=['
                '];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("")+"
                "):void 0}(),"
                "].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('
                '));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(''),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&&rF&&rn&&r
              • ')),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(rw)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/car-mis/src/main/resources/static/metrics/lay/modules/upload.js b/car-mis/src/main/resources/static/metrics/lay/modules/upload.js new file mode 100644 index 0000000..e5fc350 --- /dev/null +++ b/car-mis/src/main/resources/static/metrics/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(['"].join("")),o=i.elem.next();(o.hasClass(u)||o.hasClass(c))&&o.remove(),a.ie&&a.ie<10&&i.elem.wrap('
                '),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(''),a=t(['
                ',"
                "].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('')}),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(''+o+"")};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/car-mis/src/main/resources/static/metrics/lay/modules/util.js b/car-mis/src/main/resources/static/metrics/lay/modules/util.js new file mode 100644 index 0000000..3001e10 --- /dev/null +++ b/car-mis/src/main/resources/static/metrics/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?"":t.bar1,t.bar2=t.bar2===!0?"":t.bar2,t.bgcolor=t.bgcolor?"background-color:"+t.bgcolor:"";var c=[t.bar1,t.bar2,""],g=e(['
                  ',t.bar1?'
                • '+c[0]+"
                • ":"",t.bar2?'
                • '+c[1]+"
                • ":"",'
                • '+c[2]+"
                • ","
                "].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/g,">").replace(/'/g,"'").replace(/"/g,""")},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/car-mis/src/main/resources/static/metrics/layui.all.js b/car-mis/src/main/resources/static/metrics/layui.all.js new file mode 100644 index 0000000..58295e1 --- /dev/null +++ b/car-mis/src/main/resources/static/metrics/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;oi?1:r/g,">").replace(/'/g,"'").replace(/"/g,""")},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:"上一页",a.next="next"in a?a.next:"下一页";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.prev+"":""}(),page:function(){var e=[];if(a.count<1)return"";n>1&&a.first!==!1&&0!==t&&e.push(''+(a.first||1)+"");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-r2&&e.push('');r<=u;r++)r===a.curr?e.push('"+r+""):e.push(''+r+"");return a.pages>t&&a.pages>u&&a.last!==!1&&(u+1…'),0!==t&&e.push(''+(a.last||a.pages)+"")),e.join("")}(),next:function(){return a.next?''+a.next+"":""}(),count:'共 '+a.count+" 条",limit:function(){var e=['"}(),refresh:['','',""].join(""),skip:function(){return['到第','','页',""].join("")}()};return['
                ',function(){var e=[];return layui.each(a.layout,function(a,t){i[t]&&e.push(i[t])}),e.join("")}(),"
                "].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;oi.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="开始日期超出了结束日期
                建议重新选择",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));t0)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":"圣诞"}:{},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?r0)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="",e}(),function(){var e=w.elem("i",{"class":"layui-icon laydate-icon laydate-prev-m"});return e.innerHTML="",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="",e}(),function(){var e=w.elem("i",{"class":"layui-icon laydate-icon laydate-next-y"});return e.innerHTML="",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(''+n.timeTips+""),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(''+o+""))}),e.push('"),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必须遵循下述格式:
                "+(r.range?r.format+" "+r.range+" "+r.format:r.format)+"
                已为你重置"),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(''+n+""),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.nowl.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.yeard[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&&e=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.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=["

                "+r.time[e]+"

                  "];w.each(new Array(t),function(t){i.push(""+w.digit(t,2)+"")}),a.innerHTML=i.join("")+"
                ",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&&s0&&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"!==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;r1&&"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")).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=0&&n=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;iT.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="";t1?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-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}];s1&&h(c),s>1&&d(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(se,"$1"),n,s0,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+~]|"+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="",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=0;)e.push(r);return e}),gt:l(function(e,t,n){for(var r=n<0?n+t:n;++r2&&"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="","#"===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="",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;t1?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-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-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);i0||(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
                a",fe.leadingWhitespace=3===e.firstChild.nodeType,fe.tbody=!e.getElementsByTagName("tbody").length,fe.htmlSerialize=!!e.getElementsByTagName("link").length,fe.html5Clone="<:nav>"!==re.createElement("nav").cloneNode(!0).outerHTML,n.type="checkbox",n.checked=!0,t.appendChild(n),fe.appendChecked=n.checked,e.innerHTML="",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,""],legend:[1,"
                ","
                "],area:[1,"",""],param:[1,"",""],thead:[1,"","
                "],tr:[2,"","
                "],col:[2,"","
                "],td:[3,"","
                "],_default:fe.htmlSerialize?[0,"",""]:[1,"X
                ","
                "]};Xe.optgroup=Xe.option,Xe.tbody=Xe.tfoot=Xe.colgroup=Xe.caption=Xe.thead,Xe.th=Xe.td;var Ue=/<|&#?\w+;/,Ve=/-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-1:pe.find(i,this,null,[u]).length),r[i]&&r.push(o);r.length&&a.push({elem:u,handlers:r})}return s]","i"),tt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,nt=/\s*$/g,at=p(re),st=at.appendChild(re.createElement("div"));pe.extend({htmlPrefilter:function(e){return e.replace(tt,"<$1>")},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(;nt",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;a1)},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
                a",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-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("
                ").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:["确定","取消"],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:"信息",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?'
                '+(f?r.title[0]:r.title)+"
                ":"";return r.zIndex=s,t([r.shade?'
                ':"",'
                '+(e&&2!=r.type?"":u)+'
                '+(0==r.type&&r.icon!==-1?'':"")+(1==r.type&&e?"":r.content||"")+'
                '+function(){var e=c?'':"";return r.closeBtn&&(e+=''),e}()+""+(r.btn?function(){var e="";"string"==typeof r.btn&&(r.btn=[r.btn]);for(var t=0,i=r.btn.length;t'+r.btn[t]+"";return'
                '+e+"
                "}():"")+(r.resize?'':"")+"
                "],u,i('
                ')),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='';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]+'',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;af&&(a=f),ou&&(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?'":function(){return''}(),f=e.success;return delete e.success,r.open(i.extend({type:1,btn:["确定","取消"],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("最多输入"+(e.maxlength||500)+"个字数",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=''+t[0].title+"";i"+t[i].title+"";return a}(),content:'
                  '+function(){var e=t.length,i=1,a="";if(e>0)for(a='
                • '+(t[0].content||"no content")+"
                • ";i'+(t[i].content||"no content")+"";return a}()+"
                ",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("没有图片")}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]'+(u[d].alt||
                '+(u.length>1?'':"")+'
                '+(u[d].alt||"")+""+s.imgIndex+"/"+u.length+"
                ",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("当前图片地址异常
                是否继续查看下一张?",{time:3e4,btn:["下一张","不看了"],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='
              • "+(i.title||"unnaming")+"
              • ";return s[0]?s.before(r):n.append(r),o.append('
                '+(i.content||"")+"
                "),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('');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.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(""),c.removeClass(n)}l[r?"addClass":"removeClass"](n),i.html(r?"":""),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(''),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(''),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(""+e+"")}),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(''+l+"")},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(''+(l?"":"")+""),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(['"].join("")),o=i.elem.next();(o.hasClass(u)||o.hasClass(c))&&o.remove(),a.ie&&a.ie<10&&i.elem.wrap('
                '),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(''),a=t(['
                ',"
                "].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('')}),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(''+o+"")};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.maxt.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.valuet.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='
                '+(t.tips?'
                ':"")+'
                '+(t.range?'
                ':"")+"
                ",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
                ')}e.elemTemp.append(b)}if(t.input&&!t.range){var w=i('
                ');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(['
                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.stepl.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=el.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(['
                ',"",'3&&(o.alpha&&"rgb"==o.format||(e="#"+C(k(P(o.color))))),"background: "+e):e}()+'">','',"","","
                "].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(['
                ','
                ','
                ','
                ','
                ','
                ',"
                ",'
                ','
                ',"
                ","
                ",'
                ','
                ','
                ',"
                ","
                ",function(){if(o.predefine){var e=['
                '];return layui.each(o.colors,function(i,o){e.push(['
                ','
                ',"
                "].join(""))}),e.push("
                "),e.join("")}return""}(),'
                ','
                ','',"
                ",'
                ','','',"","
                "].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:fa()&&(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(['
                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无匹配项

                '):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(['
                ','
                ','','
                ','
                ',function(e){var t=[];return layui.each(e,function(e,a){0!==e||a.value?"optgroup"===a.tagName.toLowerCase()?t.push("
                "+a.label+"
                "):t.push('
                '+a.innerHTML+"
                "):t.push('
                '+(a.innerHTML||i)+"
                ")}),0===t.length&&t.push('
                没有选项
                '),t.join("")}(r.find("*"))+"
                ","
                "].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(['
                ",function(){var e=n.title.replace(/\s/g,""),t={checkbox:[e?""+n.title+"":"",''].join(""),_switch:""+((n.checked?s[0]:s[1])||"")+""};return t[r]||t.checkbox}(),"
                "].join(""));d[0]&&d.remove(),l.after(f),a.call(this,f,u)})},radio:function(){var e="layui-form-radio",i=["",""],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(['
                ',''+i[l.checked?0:1]+"","
                "+function(){var e=l.title||"";return"string"==typeof r.next().attr("lay-radio")&&(e=r.next().html(),r.next().remove()),e}()+"
                ","
                "].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('
                ');e.tree(n);var r=a.elem=i(a.elem);if(r[0]){if(a.showSearch&&n.prepend(''),e.key=a.id||e.index,e.elem=n,e.elemNone=i('
                '+a.text.none+"
                "),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('
                '),h=i(['
                ',"
                ','
                ',function(){return r.showLine?c?'':'':''}(),function(){return r.showCheckbox?'':""}(),function(){return r.isJump&&l.href?''+(l.title||l.label||r.text.defaultNodeName)+"":''+(l.title||l.label||r.text.defaultNodeName)+""}(),"
                ",function(){if(!r.edit)return"";var e={add:'',update:'',del:''},i=['
                '];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("")+"
                "):void 0}(),"
                "].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('
                '));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(''),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&&rF&&rn&&r
                ')),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(rw)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||{},['
                ','
                ','","
                ","{{# if(d.data.showSearch){ }}",'","{{# } }}",'
                  ',"
                  "].join("")},v=['
                  ',p({index:0,checkAllName:"layTransferLeftCheckAll"}),'
                  ','",'","
                  ",p({index:1,checkAllName:"layTransferRightCheckAll"}),"
                  "].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=["
                • ",'',"
                • "].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('

                  '+(t||"")+"

                  ");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("
                  "+o+"
                  ").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||{},['',"","{{# layui.each(d.data.cols, function(i1, item1){ }}","","{{# 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; }}",'",e.fixed?"{{# }; }}":"","{{# }); }}","","{{# }); }}","","
                  ','
                  ','{{# if(item2.type === "checkbox"){ }}','',"{{# } else { }}",'{{item2.title||""}}',"{{# if(isSort){ }}",'',"{{# } }}","{{# } }}","
                  ","
                  "].join("")},z=['',"","
                  "].join(""),H=['
                  ',"{{# if(d.data.toolbar){ }}",'
                  ','
                  ','
                  ',"
                  ","{{# } }}",'
                  ',"{{# if(d.data.loading){ }}",'
                  ','',"
                  ","{{# } }}","{{# var left, right; }}",'
                  ',E(),"
                  ",'
                  ',z,"
                  ","{{# if(left){ }}",'
                  ','
                  ',E({fixed:!0}),"
                  ",'
                  ',z,"
                  ","
                  ","{{# }; }}","{{# if(right){ }}",'
                  ','
                  ',E({fixed:"right"}),'
                  ',"
                  ",'
                  ',z,"
                  ","
                  ","{{# }; }}","
                  ","{{# if(d.data.totalRow){ }}",'
                  ','','',"
                  ","
                  ","{{# } }}","{{# if(d.data.page){ }}",'
                  ','
                  ',"
                  ","{{# } }}","","
                  "].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=['
                  ','
                  ','
                  '].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('
                  ')}),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&&ln&&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('
                  '+(e||"Error")+"
                  ");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=['','
                  '+function(){var n=t.extend(!0,{LAY_INDEX:g},l),o=d.config.checkName;switch(r.type){case"checkbox":return'";case"radio":return n[o]&&(e=a),'';case"numbers":return g}return r.toolbar?i(t(r.toolbar).html()||"").render(n):u(r,v,n)}(),"
                  "].join("");o.push(m),r.fixed&&"right"!==r.fixed&&y.push(m),"right"===r.fixed&&p.push(m)}}),h.push(''+o.join("")+""),v.push(''+y.join("")+""),m.push(''+p.join("")+""))}),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:'',next:'',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=['','
                  '+function(){var e=t.totalRowText||"";return t.totalRow?parseFloat(a[n]).toFixed(2)||e:e}(),"
                  "].join("");l.push(o)}),t.layTotal.find("tbody").html(""+l.join("")+"")}},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(['
                  ','',"
                  "].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('
                  ');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('
                    ');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('
                  • ')}),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['
                  • 导出到 Csv 文件
                  • ','
                  • 导出到 Excel 文件
                  • '].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=[""].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');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('
                    ')}};a.layBody.on("click","."+g,function(e){var i=t(this),n=i.parent(),d=n.children(h);a.tipsIndex=l.tips(['
                    ',d.html(),"
                    ",''].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(['",'"].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(['
                      ',function(){var i=[];return layui.each(e.elemItem,function(e){i.push("")}),i.join("")}(),"
                    "].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",u=1;u<=i.length;u++){var r='
                  • ";i.half&&parseInt(i.value)!==i.value&&u==Math.ceil(i.value)?n=n+'
                  • ":n+=r}n+=""+(i.text?''+i.value+"星":"")+"";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?"":t.bar1,t.bar2=t.bar2===!0?"":t.bar2,t.bgcolor=t.bgcolor?"background-color:"+t.bgcolor:"";var c=[t.bar1,t.bar2,""],g=e(['
                      ',t.bar1?'
                    • '+c[0]+"
                    • ":"",t.bar2?'
                    • '+c[1]+"
                    • ":"",'
                    • '+c[2]+"
                    • ","
                    "].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/g,">").replace(/'/g,"'").replace(/"/g,""")},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='';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="加载更多",h=l('");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;su)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(['
                    ','
                    '+f+"
                    ",'
                    ','',"
                    ","
                    "].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([""].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,"

                    ")}}),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,"

                    "),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,"

                    "),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:['

                      ','
                    • ','','
                      ','',"
                      ","
                    • ",'
                    • ','','
                      ','",'","
                      ","
                    • ",'
                    • ','','',"
                    • ","
                    "].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('
                  • '+e+'
                  • ')}),'
                      '+t.join("")+"
                    "}(),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:"插入代码",skin:"layui-layer-msg",content:['
                      ','
                    • ','','
                      ','","
                      ","
                    • ",'
                    • ','','
                      ','',"
                      ","
                    • ",'
                    • ','','',"
                    • ","
                    "].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:'',strong:'',italic:'',underline:'',del:'',"|":'',left:'',center:'',right:'',link:'',unlink:'',face:'',image:'',code:'',help:''},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,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")),c.html('
                    1. '+o.replace(/[\r\t\n]+/g,"
                    2. ")+"
                    "),c.find(">.layui-code-h3")[0]||c.prepend('

                    '+(c.attr("lay-title")||e.title||"code")+(e.about?'layui.code':"")+"

                    ");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/car-mis/src/main/resources/static/metrics/layui.js b/car-mis/src/main/resources/static/metrics/layui.js new file mode 100644 index 0000000..f7e8173 --- /dev/null +++ b/car-mis/src/main/resources/static/metrics/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;oi?1:r + + + + + zepto alert + + + + + + + +
                    + +

                    创建一个对话框,不加遮罩

                    +

                    +

                    +            $.dialog({
                    +                    content : '对话框内容',
                    +                    title : 'ok',
                    +                    ok : function() {
                    +                        alert('我是确定按钮,回调函数返回false时不会关闭对话框。');
                    +                        return false;
                    +                    },
                    +                    cancel : function() {
                    +                        alert('我是取消按钮');
                    +                    },
                    +                    lock : false
                    +                });
                    +            
                    +

                    +
                    + 运行 +
                    + + + +

                    2秒自动关闭

                    +

                    +

                    +            $.dialog({
                    +                    content : '窗口将在2秒后自动关闭',
                    +                    title: "alert",
                    +					width: 600,
                    +                    time : 2000
                    +                });
                    +            
                    +

                    +
                    + 运行 +
                    + +

                    加载中,不会消失

                    +

                    +

                    +            $.dialog();
                    +            
                    +

                    +
                    + 运行 +
                    + +
                    + + + \ No newline at end of file diff --git a/car-mis/src/main/resources/static/metrics/tiny-alert/images/alert-icons.png b/car-mis/src/main/resources/static/metrics/tiny-alert/images/alert-icons.png new file mode 100644 index 0000000000000000000000000000000000000000..11da260058754a1fe0a84bfb6acb2b3aa4b457ca GIT binary patch literal 2048 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 literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/metrics/tiny-alert/js/zepto.alert.js b/car-mis/src/main/resources/static/metrics/tiny-alert/js/zepto.alert.js new file mode 100644 index 0000000..3939702 --- /dev/null +++ b/car-mis/src/main/resources/static/metrics/tiny-alert/js/zepto.alert.js @@ -0,0 +1,241 @@ +;(function ($, window, undefined) { + + var win = $(window), + doc = $(document), + count = 1, + isLock = false; + + var Dialog = function (options) { + + this.settings = $.extend({}, Dialog.defaults, options); + + this.init(); + + } + + Dialog.prototype = { + + /** + * 初始化 + */ + init: function () { + + this.create(); + + if (this.settings.lock) { + this.lock(); + } + + if (!isNaN(this.settings.time) && this.settings.time != null) { + this.time(); + } + + }, + + /** + * 创建 + */ + create: function () { + + var divHeader = (this.settings.title == null) ? '' : '
                    '; + + // HTML模板 + var templates = '
                    ' + + divHeader + + '
                    ' + this.settings.content + '
                    ' + + '' + + '
                    '; + + // 追回到body + this.dialog = $('
                    ').addClass('rDialog').css({zIndex: this.settings.zIndex + (count++)}).html(templates).prependTo('body'); + + // 设置ok按钮 + if ($.isFunction(this.settings.ok)) { + this.ok(); + } + + // 设置cancel按钮 + if ($.isFunction(this.settings.cancel)) { + this.cancel(); + } + + // 设置大小 + this.size(); + + // 设置位置 + this.position(); + + }, + + /** + * ok + */ + ok: function () { + var _this = this, + footer = this.dialog.find('.rDialog-footer'); + + $('', { + href: 'javascript:;', + text: this.settings.okText + }).on("click", function () { + var okCallback = _this.settings.ok(); + if (okCallback == undefined || okCallback) { + _this.close(); + } + + }).addClass('rDialog-ok').prependTo(footer); + + }, + + /** + * cancel + */ + cancel: function () { + + var _this = this, + footer = this.dialog.find('.rDialog-footer'); + + $('', { + href: 'javascript:;', + text: this.settings.cancelText + }).on("click", function () { + var cancelCallback = _this.settings.cancel(); + if (cancelCallback == undefined || cancelCallback) { + _this.close(); + } + }).addClass('rDialog-cancel').appendTo(footer); + + }, + + /** + * 设置大小 + */ + size: function () { + + var content = this.dialog.find('.rDialog-content'), + wrap = this.dialog.find('.rDialog-wrap'); + + content.css({ + width: this.settings.width, + height: this.settings.height + }); + //wrap.width(content.width()); + }, + + /** + * 设置位置 + */ + position: function () { + + var _this = this, + winWidth = win.width(), + winHeight = win.height(), + scrollTop = 0; + + this.dialog.css({ + left: (winWidth - _this.dialog.width()) / 2, + top: (winHeight - _this.dialog.height()) / 2 + scrollTop + }); + + }, + + /** + * 设置锁屏 + */ + lock: function () { + + if (isLock) return; + + this.lock = $('
                    ').css({zIndex: this.settings.zIndex}).addClass('rDialog-mask'); + this.lock.appendTo('body'); + + isLock = true; + + }, + + /** + * 关闭锁屏 + */ + unLock: function () { + if (this.settings.lock) { + if (isLock) { + this.lock.remove(); + isLock = false; + } + } + }, + + /** + * 关闭方法 + */ + close: function () { + this.dialog.remove(); + this.unLock(); + }, + + /** + * 定时关闭 + */ + time: function () { + + var _this = this; + + this.closeTimer = setTimeout(function () { + _this.close(); + _this.settings.timeout&&_this.settings.timeout(); + }, this.settings.time); + + } + + } + + /** + * 默认配置 + */ + Dialog.defaults = { + + // 内容 + content: '加载中...', + + // 标题 + title: 'load', + + // 宽度 + width: 'auto', + + // 高度 + height: 'auto', + + // 确定按钮回调函数 + ok: null, + + // 取消按钮回调函数 + cancel: null, + + // 确定按钮文字 + okText: '确定', + + // 取消按钮文字 + cancelText: '取消', + + // 自动关闭时间(毫秒) + time: null, + + // 是否锁屏 + lock: true, + + // z-index值 + zIndex: 9999, + + //timerCallback + timeout: null + + } + + var rDialog = function (options) { + return new Dialog(options); + } + + window.rDialog = $.rDialog = $.dialog = rDialog; + +})(window.jQuery || window.Zepto, window); diff --git a/car-mis/src/main/resources/static/metrics/zepto.min.js b/car-mis/src/main/resources/static/metrics/zepto.min.js new file mode 100644 index 0000000..a3d0a43 --- /dev/null +++ b/car-mis/src/main/resources/static/metrics/zepto.min.js @@ -0,0 +1,2 @@ +/* Zepto v1.2.0 - zepto event ajax form ie - zeptojs.com/license */ +!function(t,e){"function"==typeof define&&define.amd?define(function(){return e(t)}):e(t)}(this,function(t){var e=function(){function $(t){return null==t?String(t):S[C.call(t)]||"object"}function F(t){return"function"==$(t)}function k(t){return null!=t&&t==t.window}function M(t){return null!=t&&t.nodeType==t.DOCUMENT_NODE}function R(t){return"object"==$(t)}function Z(t){return R(t)&&!k(t)&&Object.getPrototypeOf(t)==Object.prototype}function z(t){var e=!!t&&"length"in t&&t.length,n=r.type(t);return"function"!=n&&!k(t)&&("array"==n||0===e||"number"==typeof e&&e>0&&e-1 in t)}function q(t){return a.call(t,function(t){return null!=t})}function H(t){return t.length>0?r.fn.concat.apply([],t):t}function I(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 V(t){return t in l?l[t]:l[t]=new RegExp("(^|\\s)"+t+"(\\s|$)")}function _(t,e){return"number"!=typeof e||h[I(t)]?e:e+"px"}function B(t){var e,n;return c[t]||(e=f.createElement(t),f.body.appendChild(e),n=getComputedStyle(e,"").getPropertyValue("display"),e.parentNode.removeChild(e),"none"==n&&(n="block"),c[t]=n),c[t]}function U(t){return"children"in t?u.call(t.children):r.map(t.childNodes,function(t){return 1==t.nodeType?t:void 0})}function X(t,e){var n,r=t?t.length:0;for(n=0;r>n;n++)this[n]=t[n];this.length=r,this.selector=e||""}function J(t,r,i){for(n in r)i&&(Z(r[n])||L(r[n]))?(Z(r[n])&&!Z(t[n])&&(t[n]={}),L(r[n])&&!L(t[n])&&(t[n]=[]),J(t[n],r[n],i)):r[n]!==e&&(t[n]=r[n])}function W(t,e){return null==e?r(t):r(t).filter(e)}function Y(t,e,n,r){return F(e)?e.call(t,n,r):e}function G(t,e,n){null==n?t.removeAttribute(e):t.setAttribute(e,n)}function K(t,n){var r=t.className||"",i=r&&r.baseVal!==e;return n===e?i?r.baseVal:r:void(i?r.baseVal=n:t.className=n)}function Q(t){try{return t?"true"==t||("false"==t?!1:"null"==t?null:+t+""==t?+t:/^[\[\{]/.test(t)?r.parseJSON(t):t):t}catch(e){return t}}function tt(t,e){e(t);for(var n=0,r=t.childNodes.length;r>n;n++)tt(t.childNodes[n],e)}var e,n,r,i,O,P,o=[],s=o.concat,a=o.filter,u=o.slice,f=t.document,c={},l={},h={"column-count":1,columns:1,"font-weight":1,"line-height":1,opacity:1,"z-index":1,zoom:1},p=/^\s*<(\w+|!)[^>]*>/,d=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,m=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,g=/^(?:body|html)$/i,v=/([A-Z])/g,y=["val","css","html","text","data","width","height","offset"],x=["after","prepend","before","append"],b=f.createElement("table"),E=f.createElement("tr"),j={tr:f.createElement("tbody"),tbody:b,thead:b,tfoot:b,td:E,th:E,"*":f.createElement("div")},w=/complete|loaded|interactive/,T=/^[\w-]*$/,S={},C=S.toString,N={},A=f.createElement("div"),D={tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},L=Array.isArray||function(t){return t instanceof Array};return N.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=A).appendChild(t),r=~N.qsa(i,e).indexOf(t),o&&A.removeChild(t),r},O=function(t){return t.replace(/-+(.)?/g,function(t,e){return e?e.toUpperCase():""})},P=function(t){return a.call(t,function(e,n){return t.indexOf(e)==n})},N.fragment=function(t,n,i){var o,s,a;return d.test(t)&&(o=r(f.createElement(RegExp.$1))),o||(t.replace&&(t=t.replace(m,"<$1>")),n===e&&(n=p.test(t)&&RegExp.$1),n in j||(n="*"),a=j[n],a.innerHTML=""+t,o=r.each(u.call(a.childNodes),function(){a.removeChild(this)})),Z(i)&&(s=r(o),r.each(i,function(t,e){y.indexOf(t)>-1?s[t](e):s.attr(t,e)})),o},N.Z=function(t,e){return new X(t,e)},N.isZ=function(t){return t instanceof N.Z},N.init=function(t,n){var i;if(!t)return N.Z();if("string"==typeof t)if(t=t.trim(),"<"==t[0]&&p.test(t))i=N.fragment(t,RegExp.$1,n),t=null;else{if(n!==e)return r(n).find(t);i=N.qsa(f,t)}else{if(F(t))return r(f).ready(t);if(N.isZ(t))return t;if(L(t))i=q(t);else if(R(t))i=[t],t=null;else if(p.test(t))i=N.fragment(t.trim(),RegExp.$1,n),t=null;else{if(n!==e)return r(n).find(t);i=N.qsa(f,t)}}return N.Z(i,t)},r=function(t,e){return N.init(t,e)},r.extend=function(t){var e,n=u.call(arguments,1);return"boolean"==typeof t&&(e=t,t=n.shift()),n.forEach(function(n){J(t,n,e)}),t},N.qsa=function(t,e){var n,r="#"==e[0],i=!r&&"."==e[0],o=r||i?e.slice(1):e,s=T.test(o);return t.getElementById&&s&&r?(n=t.getElementById(o))?[n]:[]:1!==t.nodeType&&9!==t.nodeType&&11!==t.nodeType?[]:u.call(s&&!r&&t.getElementsByClassName?i?t.getElementsByClassName(o):t.getElementsByTagName(e):t.querySelectorAll(e))},r.contains=f.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},r.type=$,r.isFunction=F,r.isWindow=k,r.isArray=L,r.isPlainObject=Z,r.isEmptyObject=function(t){var e;for(e in t)return!1;return!0},r.isNumeric=function(t){var e=Number(t),n=typeof t;return null!=t&&"boolean"!=n&&("string"!=n||t.length)&&!isNaN(e)&&isFinite(e)||!1},r.inArray=function(t,e,n){return o.indexOf.call(e,t,n)},r.camelCase=O,r.trim=function(t){return null==t?"":String.prototype.trim.call(t)},r.uuid=0,r.support={},r.expr={},r.noop=function(){},r.map=function(t,e){var n,i,o,r=[];if(z(t))for(i=0;i=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 F(t)?this.not(this.not(t)):r(a.call(this,function(e){return N.matches(e,t)}))},add:function(t,e){return r(P(this.concat(r(t,e))))},is:function(t){return this.length>0&&N.matches(this[0],t)},not:function(t){var n=[];if(F(t)&&t.call!==e)this.each(function(e){t.call(this,e)||n.push(this)});else{var i="string"==typeof t?this.filter(t):z(t)&&F(t.item)?u.call(t):r(t);this.forEach(function(t){i.indexOf(t)<0&&n.push(t)})}return r(n)},has:function(t){return this.filter(function(){return R(t)?r.contains(this,t):r(this).find(t).size()})},eq:function(t){return-1===t?this.slice(t):this.slice(t,+t+1)},first:function(){var t=this[0];return t&&!R(t)?t:r(t)},last:function(){var t=this[this.length-1];return t&&!R(t)?t:r(t)},find:function(t){var e,n=this;return e=t?"object"==typeof t?r(t).filter(function(){var t=this;return o.some.call(n,function(e){return r.contains(e,t)})}):1==this.length?r(N.qsa(this[0],t)):this.map(function(){return N.qsa(this,t)}):r()},closest:function(t,e){var n=[],i="object"==typeof t&&r(t);return this.each(function(r,o){for(;o&&!(i?i.indexOf(o)>=0:N.matches(o,t));)o=o!==e&&!M(o)&&o.parentNode;o&&n.indexOf(o)<0&&n.push(o)}),r(n)},parents:function(t){for(var e=[],n=this;n.length>0;)n=r.map(n,function(t){return(t=t.parentNode)&&!M(t)&&e.indexOf(t)<0?(e.push(t),t):void 0});return W(e,t)},parent:function(t){return W(P(this.pluck("parentNode")),t)},children:function(t){return W(this.map(function(){return U(this)}),t)},contents:function(){return this.map(function(){return this.contentDocument||u.call(this.childNodes)})},siblings:function(t){return W(this.map(function(t,e){return a.call(U(e.parentNode),function(t){return t!==e})}),t)},empty:function(){return this.each(function(){this.innerHTML=""})},pluck:function(t){return r.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=B(this.nodeName))})},replaceWith:function(t){return this.before(t).remove()},wrap:function(t){var e=F(t);if(this[0]&&!e)var n=r(t).get(0),i=n.parentNode||this.length>1;return this.each(function(o){r(this).wrapAll(e?t.call(this,o):i?n.cloneNode(!0):n)})},wrapAll:function(t){if(this[0]){r(this[0]).before(t=r(t));for(var e;(e=t.children()).length;)t=e.first();r(t).append(this)}return this},wrapInner:function(t){var e=F(t);return this.each(function(n){var i=r(this),o=i.contents(),s=e?t.call(this,n):t;o.length?o.wrapAll(s):i.append(s)})},unwrap:function(){return this.parent().each(function(){r(this).replaceWith(r(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 n=r(this);(t===e?"none"==n.css("display"):t)?n.show():n.hide()})},prev:function(t){return r(this.pluck("previousElementSibling")).filter(t||"*")},next:function(t){return r(this.pluck("nextElementSibling")).filter(t||"*")},html:function(t){return 0 in arguments?this.each(function(e){var n=this.innerHTML;r(this).empty().append(Y(this,t,e,n))}):0 in this?this[0].innerHTML:null},text:function(t){return 0 in arguments?this.each(function(e){var n=Y(this,t,e,this.textContent);this.textContent=null==n?"":""+n}):0 in this?this.pluck("textContent").join(""):null},attr:function(t,r){var i;return"string"!=typeof t||1 in arguments?this.each(function(e){if(1===this.nodeType)if(R(t))for(n in t)G(this,n,t[n]);else G(this,t,Y(this,r,e,this.getAttribute(t)))}):0 in this&&1==this[0].nodeType&&null!=(i=this[0].getAttribute(t))?i:e},removeAttr:function(t){return this.each(function(){1===this.nodeType&&t.split(" ").forEach(function(t){G(this,t)},this)})},prop:function(t,e){return t=D[t]||t,1 in arguments?this.each(function(n){this[t]=Y(this,e,n,this[t])}):this[0]&&this[0][t]},removeProp:function(t){return t=D[t]||t,this.each(function(){delete this[t]})},data:function(t,n){var r="data-"+t.replace(v,"-$1").toLowerCase(),i=1 in arguments?this.attr(r,n):this.attr(r);return null!==i?Q(i):e},val:function(t){return 0 in arguments?(null==t&&(t=""),this.each(function(e){this.value=Y(this,t,e,this.value)})):this[0]&&(this[0].multiple?r(this[0]).find("option").filter(function(){return this.selected}).pluck("value"):this[0].value)},offset:function(e){if(e)return this.each(function(t){var n=r(this),i=Y(this,e,t,n.offset()),o=n.offsetParent().offset(),s={top:i.top-o.top,left:i.left-o.left};"static"==n.css("position")&&(s.position="relative"),n.css(s)});if(!this.length)return null;if(f.documentElement!==this[0]&&!r.contains(f.documentElement,this[0]))return{top:0,left:0};var n=this[0].getBoundingClientRect();return{left:n.left+t.pageXOffset,top:n.top+t.pageYOffset,width:Math.round(n.width),height:Math.round(n.height)}},css:function(t,e){if(arguments.length<2){var i=this[0];if("string"==typeof t){if(!i)return;return i.style[O(t)]||getComputedStyle(i,"").getPropertyValue(t)}if(L(t)){if(!i)return;var o={},s=getComputedStyle(i,"");return r.each(t,function(t,e){o[e]=i.style[O(e)]||s.getPropertyValue(e)}),o}}var a="";if("string"==$(t))e||0===e?a=I(t)+":"+_(t,e):this.each(function(){this.style.removeProperty(I(t))});else for(n in t)t[n]||0===t[n]?a+=I(n)+":"+_(n,t[n])+";":this.each(function(){this.style.removeProperty(I(n))});return this.each(function(){this.style.cssText+=";"+a})},index:function(t){return t?this.indexOf(r(t)[0]):this.parent().children().indexOf(this[0])},hasClass:function(t){return t?o.some.call(this,function(t){return this.test(K(t))},V(t)):!1},addClass:function(t){return t?this.each(function(e){if("className"in this){i=[];var n=K(this),o=Y(this,t,e,n);o.split(/\s+/g).forEach(function(t){r(this).hasClass(t)||i.push(t)},this),i.length&&K(this,n+(n?" ":"")+i.join(" "))}}):this},removeClass:function(t){return this.each(function(n){if("className"in this){if(t===e)return K(this,"");i=K(this),Y(this,t,n,i).split(/\s+/g).forEach(function(t){i=i.replace(V(t)," ")}),K(this,i.trim())}})},toggleClass:function(t,n){return t?this.each(function(i){var o=r(this),s=Y(this,t,i,K(this));s.split(/\s+/g).forEach(function(t){(n===e?!o.hasClass(t):n)?o.addClass(t):o.removeClass(t)})}):this},scrollTop:function(t){if(this.length){var n="scrollTop"in this[0];return t===e?n?this[0].scrollTop:this[0].pageYOffset:this.each(n?function(){this.scrollTop=t}:function(){this.scrollTo(this.scrollX,t)})}},scrollLeft:function(t){if(this.length){var n="scrollLeft"in this[0];return t===e?n?this[0].scrollLeft:this[0].pageXOffset:this.each(n?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(),i=g.test(e[0].nodeName)?{top:0,left:0}:e.offset();return n.top-=parseFloat(r(t).css("margin-top"))||0,n.left-=parseFloat(r(t).css("margin-left"))||0,i.top+=parseFloat(r(e[0]).css("border-top-width"))||0,i.left+=parseFloat(r(e[0]).css("border-left-width"))||0,{top:n.top-i.top,left:n.left-i.left}}},offsetParent:function(){return this.map(function(){for(var t=this.offsetParent||f.body;t&&!g.test(t.nodeName)&&"static"==r(t).css("position");)t=t.offsetParent;return t})}},r.fn.detach=r.fn.remove,["width","height"].forEach(function(t){var n=t.replace(/./,function(t){return t[0].toUpperCase()});r.fn[t]=function(i){var o,s=this[0];return i===e?k(s)?s["inner"+n]:M(s)?s.documentElement["scroll"+n]:(o=this.offset())&&o[t]:this.each(function(e){s=r(this),s.css(t,Y(this,i,e,s[t]()))})}}),x.forEach(function(n,i){var o=i%2;r.fn[n]=function(){var n,a,s=r.map(arguments,function(t){var i=[];return n=$(t),"array"==n?(t.forEach(function(t){return t.nodeType!==e?i.push(t):r.zepto.isZ(t)?i=i.concat(t.get()):void(i=i.concat(N.fragment(t)))}),i):"object"==n||null==t?t:N.fragment(t)}),u=this.length>1;return s.length<1?this:this.each(function(e,n){a=o?n:n.parentNode,n=0==i?n.nextSibling:1==i?n.firstChild:2==i?n:null;var c=r.contains(f.documentElement,a);s.forEach(function(e){if(u)e=e.cloneNode(!0);else if(!a)return r(e).remove();a.insertBefore(e,n),c&&tt(e,function(e){if(!(null==e.nodeName||"SCRIPT"!==e.nodeName.toUpperCase()||e.type&&"text/javascript"!==e.type||e.src)){var n=e.ownerDocument?e.ownerDocument.defaultView:t;n.eval.call(n,e.innerHTML)}})})})},r.fn[o?n+"To":"insert"+(i?"Before":"After")]=function(t){return r(t)[n](this),this}}),N.Z.prototype=X.prototype=r.fn,N.uniq=P,N.deserializeValue=Q,r.zepto=N,r}();return t.Zepto=e,void 0===t.$&&(t.$=e),function(e){function h(t){return t._zid||(t._zid=n++)}function p(t,e,n,r){if(e=d(e),e.ns)var i=m(e.ns);return(a[h(t)]||[]).filter(function(t){return t&&(!e.e||t.e==e.e)&&(!e.ns||i.test(t.ns))&&(!n||h(t.fn)===h(n))&&(!r||t.sel==r)})}function d(t){var e=(""+t).split(".");return{e:e[0],ns:e.slice(1).sort().join(" ")}}function m(t){return new RegExp("(?:^| )"+t.replace(" "," .* ?")+"(?: |$)")}function g(t,e){return t.del&&!f&&t.e in c||!!e}function v(t){return l[t]||f&&c[t]||t}function y(t,n,i,o,s,u,f){var c=h(t),p=a[c]||(a[c]=[]);n.split(/\s/).forEach(function(n){if("ready"==n)return e(document).ready(i);var a=d(n);a.fn=i,a.sel=s,a.e in l&&(i=function(t){var n=t.relatedTarget;return!n||n!==this&&!e.contains(this,n)?a.fn.apply(this,arguments):void 0}),a.del=u;var c=u||i;a.proxy=function(e){if(e=T(e),!e.isImmediatePropagationStopped()){e.data=o;var n=c.apply(t,e._args==r?[e]:[e].concat(e._args));return n===!1&&(e.preventDefault(),e.stopPropagation()),n}},a.i=p.length,p.push(a),"addEventListener"in t&&t.addEventListener(v(a.e),a.proxy,g(a,f))})}function x(t,e,n,r,i){var o=h(t);(e||"").split(/\s/).forEach(function(e){p(t,e,n,r).forEach(function(e){delete a[o][e.i],"removeEventListener"in t&&t.removeEventListener(v(e.e),e.proxy,g(e,i))})})}function T(t,n){return(n||!t.isDefaultPrevented)&&(n||(n=t),e.each(w,function(e,r){var i=n[e];t[e]=function(){return this[r]=b,i&&i.apply(n,arguments)},t[r]=E}),t.timeStamp||(t.timeStamp=Date.now()),(n.defaultPrevented!==r?n.defaultPrevented:"returnValue"in n?n.returnValue===!1:n.getPreventDefault&&n.getPreventDefault())&&(t.isDefaultPrevented=b)),t}function S(t){var e,n={originalEvent:t};for(e in t)j.test(e)||t[e]===r||(n[e]=t[e]);return T(n,t)}var r,n=1,i=Array.prototype.slice,o=e.isFunction,s=function(t){return"string"==typeof t},a={},u={},f="onfocusin"in t,c={focus:"focusin",blur:"focusout"},l={mouseenter:"mouseover",mouseleave:"mouseout"};u.click=u.mousedown=u.mouseup=u.mousemove="MouseEvents",e.event={add:y,remove:x},e.proxy=function(t,n){var r=2 in arguments&&i.call(arguments,2);if(o(t)){var a=function(){return t.apply(n,r?r.concat(i.call(arguments)):arguments)};return a._zid=h(t),a}if(s(n))return r?(r.unshift(t[n],t),e.proxy.apply(null,r)):e.proxy(t[n],t);throw new TypeError("expected function")},e.fn.bind=function(t,e,n){return this.on(t,e,n)},e.fn.unbind=function(t,e){return this.off(t,e)},e.fn.one=function(t,e,n,r){return this.on(t,e,n,r,1)};var b=function(){return!0},E=function(){return!1},j=/^([A-Z]|returnValue$|layer[XY]$|webkitMovement[XY]$)/,w={preventDefault:"isDefaultPrevented",stopImmediatePropagation:"isImmediatePropagationStopped",stopPropagation:"isPropagationStopped"};e.fn.delegate=function(t,e,n){return this.on(e,t,n)},e.fn.undelegate=function(t,e,n){return this.off(e,t,n)},e.fn.live=function(t,n){return e(document.body).delegate(this.selector,t,n),this},e.fn.die=function(t,n){return e(document.body).undelegate(this.selector,t,n),this},e.fn.on=function(t,n,a,u,f){var c,l,h=this;return t&&!s(t)?(e.each(t,function(t,e){h.on(t,n,a,e,f)}),h):(s(n)||o(u)||u===!1||(u=a,a=n,n=r),(u===r||a===!1)&&(u=a,a=r),u===!1&&(u=E),h.each(function(r,o){f&&(c=function(t){return x(o,t.type,u),u.apply(this,arguments)}),n&&(l=function(t){var r,s=e(t.target).closest(n,o).get(0);return s&&s!==o?(r=e.extend(S(t),{currentTarget:s,liveFired:o}),(c||u).apply(s,[r].concat(i.call(arguments,1)))):void 0}),y(o,t,u,a,n,l||c)}))},e.fn.off=function(t,n,i){var a=this;return t&&!s(t)?(e.each(t,function(t,e){a.off(t,n,e)}),a):(s(n)||o(i)||i===!1||(i=n,n=r),i===!1&&(i=E),a.each(function(){x(this,t,i,n)}))},e.fn.trigger=function(t,n){return t=s(t)||e.isPlainObject(t)?e.Event(t):T(t),t._args=n,this.each(function(){t.type in c&&"function"==typeof this[t.type]?this[t.type]():"dispatchEvent"in this?this.dispatchEvent(t):e(this).triggerHandler(t,n)})},e.fn.triggerHandler=function(t,n){var r,i;return this.each(function(o,a){r=S(s(t)?e.Event(t):t),r._args=n,r.target=a,e.each(p(a,t.type||t),function(t,e){return i=e.proxy(r),r.isImmediatePropagationStopped()?!1:void 0})}),i},"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(t){e.fn[t]=function(e){return 0 in arguments?this.bind(t,e):this.trigger(t)}}),e.Event=function(t,e){s(t)||(e=t,t=e.type);var n=document.createEvent(u[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),T(n)}}(e),function(e){function p(t,n,r){var i=e.Event(n);return e(t).trigger(i,r),!i.isDefaultPrevented()}function d(t,e,n,i){return t.global?p(e||r,n,i):void 0}function m(t){t.global&&0===e.active++&&d(t,null,"ajaxStart")}function g(t){t.global&&!--e.active&&d(t,null,"ajaxStop")}function v(t,e){var n=e.context;return e.beforeSend.call(n,t,e)===!1||d(e,n,"ajaxBeforeSend",[t,e])===!1?!1:void d(e,n,"ajaxSend",[t,e])}function y(t,e,n,r){var i=n.context,o="success";n.success.call(i,t,o,e),r&&r.resolveWith(i,[t,o,e]),d(n,i,"ajaxSuccess",[e,n,t]),b(o,e,n)}function x(t,e,n,r,i){var o=r.context;r.error.call(o,n,e,t),i&&i.rejectWith(o,[n,e,t]),d(r,o,"ajaxError",[n,r,t||e]),b(e,n,r)}function b(t,e,n){var r=n.context;n.complete.call(r,e,t),d(n,r,"ajaxComplete",[e,n]),g(n)}function E(t,e,n){if(n.dataFilter==j)return t;var r=n.context;return n.dataFilter.call(r,t,e)}function j(){}function w(t){return t&&(t=t.split(";",2)[0]),t&&(t==c?"html":t==f?"json":a.test(t)?"script":u.test(t)&&"xml")||"text"}function T(t,e){return""==e?t:(t+"&"+e).replace(/[&?]{1,2}/,"?")}function S(t){t.processData&&t.data&&"string"!=e.type(t.data)&&(t.data=e.param(t.data,t.traditional)),!t.data||t.type&&"GET"!=t.type.toUpperCase()&&"jsonp"!=t.dataType||(t.url=T(t.url,t.data),t.data=void 0)}function C(t,n,r,i){return e.isFunction(n)&&(i=r,r=n,n=void 0),e.isFunction(r)||(i=r,r=void 0),{url:t,data:n,success:r,dataType:i}}function O(t,n,r,i){var o,s=e.isArray(n),a=e.isPlainObject(n);e.each(n,function(n,u){o=e.type(u),i&&(n=r?i:i+"["+(a||"object"==o||"array"==o?n:"")+"]"),!i&&s?t.add(u.name,u.value):"array"==o||!r&&"object"==o?O(t,u,r,n):t.add(n,u)})}var i,o,n=+new Date,r=t.document,s=/)<[^<]*)*<\/script>/gi,a=/^(?:text|application)\/javascript/i,u=/^(?:text|application)\/xml/i,f="application/json",c="text/html",l=/^\s*$/,h=r.createElement("a");h.href=t.location.href,e.active=0,e.ajaxJSONP=function(i,o){if(!("type"in i))return e.ajax(i);var c,p,s=i.jsonpCallback,a=(e.isFunction(s)?s():s)||"Zepto"+n++,u=r.createElement("script"),f=t[a],l=function(t){e(u).triggerHandler("error",t||"abort")},h={abort:l};return o&&o.promise(h),e(u).on("load error",function(n,r){clearTimeout(p),e(u).off().remove(),"error"!=n.type&&c?y(c[0],h,i,o):x(null,r||"error",h,i,o),t[a]=f,c&&e.isFunction(f)&&f(c[0]),f=c=void 0}),v(h,i)===!1?(l("abort"),h):(t[a]=function(){c=arguments},u.src=i.url.replace(/\?(.+)=\?/,"?$1="+a),r.head.appendChild(u),i.timeout>0&&(p=setTimeout(function(){l("timeout")},i.timeout)),h)},e.ajaxSettings={type:"GET",beforeSend:j,success:j,error:j,complete:j,context:null,global:!0,xhr:function(){return new t.XMLHttpRequest},accepts:{script:"text/javascript, application/javascript, application/x-javascript",json:f,xml:"application/xml, text/xml",html:c,text:"text/plain"},crossDomain:!1,timeout:0,processData:!0,cache:!0,dataFilter:j},e.ajax=function(n){var u,f,s=e.extend({},n||{}),a=e.Deferred&&e.Deferred();for(i in e.ajaxSettings)void 0===s[i]&&(s[i]=e.ajaxSettings[i]);m(s),s.crossDomain||(u=r.createElement("a"),u.href=s.url,u.href=u.href,s.crossDomain=h.protocol+"//"+h.host!=u.protocol+"//"+u.host),s.url||(s.url=t.location.toString()),(f=s.url.indexOf("#"))>-1&&(s.url=s.url.slice(0,f)),S(s);var c=s.dataType,p=/\?.+=\?/.test(s.url);if(p&&(c="jsonp"),s.cache!==!1&&(n&&n.cache===!0||"script"!=c&&"jsonp"!=c)||(s.url=T(s.url,"_="+Date.now())),"jsonp"==c)return p||(s.url=T(s.url,s.jsonp?s.jsonp+"=?":s.jsonp===!1?"":"callback=?")),e.ajaxJSONP(s,a);var P,d=s.accepts[c],g={},b=function(t,e){g[t.toLowerCase()]=[t,e]},C=/^([\w-]+:)\/\//.test(s.url)?RegExp.$1:t.location.protocol,N=s.xhr(),O=N.setRequestHeader;if(a&&a.promise(N),s.crossDomain||b("X-Requested-With","XMLHttpRequest"),b("Accept",d||"*/*"),(d=s.mimeType||d)&&(d.indexOf(",")>-1&&(d=d.split(",",2)[0]),N.overrideMimeType&&N.overrideMimeType(d)),(s.contentType||s.contentType!==!1&&s.data&&"GET"!=s.type.toUpperCase())&&b("Content-Type",s.contentType||"application/x-www-form-urlencoded"),s.headers)for(o in s.headers)b(o,s.headers[o]);if(N.setRequestHeader=b,N.onreadystatechange=function(){if(4==N.readyState){N.onreadystatechange=j,clearTimeout(P);var t,n=!1;if(N.status>=200&&N.status<300||304==N.status||0==N.status&&"file:"==C){if(c=c||w(s.mimeType||N.getResponseHeader("content-type")),"arraybuffer"==N.responseType||"blob"==N.responseType)t=N.response;else{t=N.responseText;try{t=E(t,c,s),"script"==c?(1,eval)(t):"xml"==c?t=N.responseXML:"json"==c&&(t=l.test(t)?null:e.parseJSON(t))}catch(r){n=r}if(n)return x(n,"parsererror",N,s,a)}y(t,N,s,a)}else x(N.statusText||null,N.status?"error":"abort",N,s,a)}},v(N,s)===!1)return N.abort(),x(null,"abort",N,s,a),N;var A="async"in s?s.async:!0;if(N.open(s.type,s.url,A,s.username,s.password),s.xhrFields)for(o in s.xhrFields)N[o]=s.xhrFields[o];for(o in g)O.apply(N,g[o]);return s.timeout>0&&(P=setTimeout(function(){N.onreadystatechange=j,N.abort(),x(null,"timeout",N,s,a)},s.timeout)),N.send(s.data?s.data:null),N},e.get=function(){return e.ajax(C.apply(null,arguments))},e.post=function(){var t=C.apply(null,arguments);return t.type="POST",e.ajax(t)},e.getJSON=function(){var t=C.apply(null,arguments);return t.dataType="json",e.ajax(t)},e.fn.load=function(t,n,r){if(!this.length)return this;var a,i=this,o=t.split(/\s/),u=C(t,n,r),f=u.success;return o.length>1&&(u.url=o[0],a=o[1]),u.success=function(t){i.html(a?e("
                    ").html(t.replace(s,"")).find(a):t),f&&f.apply(i,arguments)},e.ajax(u),this};var N=encodeURIComponent;e.param=function(t,n){var r=[];return r.add=function(t,n){e.isFunction(n)&&(n=n()),null==n&&(n=""),this.push(N(t)+"="+N(n))},O(r,t,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(e){var n=getComputedStyle;t.getComputedStyle=function(t,e){try{return n(t,e)}catch(r){return null}}}}(),e}); \ No newline at end of file diff --git a/car-mis/src/main/resources/static/tiny-alert/css/zepto.alert.css b/car-mis/src/main/resources/static/tiny-alert/css/zepto.alert.css new file mode 100644 index 0000000..16c6111 --- /dev/null +++ b/car-mis/src/main/resources/static/tiny-alert/css/zepto.alert.css @@ -0,0 +1,52 @@ +.rDialog { + position: fixed; _position: absolute; +} + +.rDialog-wrap { + position: relative; background: #000; opacity: .7; background-clip: padding-box; border-radius: 10px; -moz-border-radius: 10px; -o-border-radius: 10px; -webkit-border-radius: 10px; + box-shadow: 1px 1px 1px #000; padding: 1em 1em; +} + +.rDialog-header-load { + text-align: center; background: url("../images/alert-loading.gif"); background-repeat: no-repeat; background-position: 0 0; background-size: 100%; width: 50px; height: 53px; margin: auto; +} + +.rDialog-header-alert, .rDialog-header-ok { + text-align: center; background: url("../images/alert-icons.png"); background-repeat: no-repeat; background-size: 100%; width: 50px; height: 53px; margin: auto; +} + +.rDialog-header-alert { + background-position: 0 -53px; +} + +.rDialog-header-ok { + background-position: 0 0; +} + +.rDialog-content { + padding: 1em 1em; font-size: 0.8em; color: #FFF; overflow: hidden; text-align: center; +} + +.rDialog-footer { + padding-left: 15px; text-align: center; +} + +.rDialog-footer a { + display: inline-block; margin: 0 15px 15px 0; height: 32px; line-height: 32px; padding: 0 30px; font-size: 0.8em; -moz-border-radius: 3px; -webkit-border-radius: 3px; border-radius: 3px; +} + +.rDialog-footer a: link, .rDialog-footer a: visited, .rDialog-footer a: hover { + color: #fff; text-decoration: none; +} + +.rDialog-ok, .rDialog-ok:hover { + background: #FBA733; color: #fff; +} + +.rDialog-cancel, .rDialog-cancel:hover { + background: #E6E6E6; color: #A7A7A7; +} + +.rDialog-mask { + position: fixed; _position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: #000; filter: alpha(opacity = 30); opacity: .3; +} \ No newline at end of file diff --git a/car-mis/src/main/resources/static/tiny-alert/demo.html b/car-mis/src/main/resources/static/tiny-alert/demo.html new file mode 100644 index 0000000..bccea89 --- /dev/null +++ b/car-mis/src/main/resources/static/tiny-alert/demo.html @@ -0,0 +1,102 @@ + + + + + + zepto alert + + + + + + + + + + + \ No newline at end of file diff --git a/car-mis/src/main/resources/static/tiny-alert/images/alert-icons.png b/car-mis/src/main/resources/static/tiny-alert/images/alert-icons.png new file mode 100644 index 0000000000000000000000000000000000000000..11da260058754a1fe0a84bfb6acb2b3aa4b457ca GIT binary patch literal 2048 zcmV+b2>~pt*bD3zk?9cm8%2henF;U%U<^1H7zN$}{t3JZ z{1-UnPd@`V1vncxFLv&~fG2_9iHPOpl1qr04FNv}#(@aY%gPZFn--X*vp4;-yV{;}%Giw0<0NxRiD>6??6~N5?gquuPipVVa z&PC(xzzA?{h1{}Y3|NL+RUAjG+ZLbMx`$ATA$Ggxy14yYyhm;TJ_R1C?AqqX zE*#ezW`FSt7y4zvc->b!L$8c`&I{u`aux1=dA$0In;VbgI9~Bv5qUdh(+M2+RZU<6@H&uvR~7)iC;o!l60a4J4>L4BjN`tc30wvo5Ru+ZN`RT2 zgBwn-0au8~r&-#2&If?Yn!rjRZC3_^nJojJ!HM{;hV>$CPm2aW=Z+K=DVSHsLk%30Q?pBe!q%K3VZ^`=aG3C8h(a* zKunm~;w%|`Pwc_n7vB>R&CD{p2V?;>&(H^d@f zchWHPJ+T*<6p|)%q<2NEQ7T=Zz#1M}A?k2DwmMeo-_|3XI`6KMj6D^lyrG z0e70&f(l3!f`3tTC$OvimMdOGc@VdNyr~9mS+N~B4aeD`W8D4BkGs?Bu9Eb)H->#p zYkU0nFJj4bH*O`eV$R&uMezz>D88}otKWs&jh@?z&SOapwhi!Wg>BuA_iA|00KMqB z)N{Ev>70H6zWA@+Vu9}Vfo`cm#4SGe-Tlr@8}ND`a6(m=R3Ko9&lRca^=aCqatDdX zqqu#?nZT=Nw!_R?B|KVNX0`*jB|Z~a<8${%#w#^XRd21p!f~sr&dU-bq^agf;19rb zN>j}+Za;A?a1jMfHKA-yTW~g~5uA1D0M6$0G4Q@W{p+~((b>4|=_syBco0`ruioa= z4Q6%*uKao_uAaOKN50`tiEyI!;pzm>0k4S2q5qGT9l?aujT6Sxc)|!dY0iW%fjP6) zYW18)RCRF8nMKfLX0OkjSp=~h^_w$82#Mues&$z&LkfxIuHKwkh7ix8T61PuLOhr1 z%$a2h@tmqLXO=C*b1UDR*=RKSpVUK0S|ph>JJ(umbLP6-tmY7$*@iPx0!%g<3nl}E z9m5%E#)11|$!5E)kU29!$Yd1FMESp%skBo&YU^tdj?zL;FvQzkDJ7 zgM`25px|gY3M^``wX&EqLlFpt+~&+# zm@`9@%7oD7%wC7zz!~|Up~vI50A|gZZQIa6Ro#+jXIN$Nq03Hji|0NZ%$!*hX3d%H z$M3Izwf=QMP(;zp`Y4)N7CNryx)#Shyg4(DD4Ll9{tWy(ie|138JiAsW_-NuRMq!X zbwP-G#P>uL`%ESa&U|mo_gr^&tD=N9XTH(rdl8gp&g_OLnz`E7wjPV3nZ*Ay$=Dm^ znlmdbnU-tLEP@QZQNB5|Y#~~eIkQY5TBSL&EFpzoy~P5hGG~?{MC&kTh7_VX%$cc# z_}~|+>OSvI*ioWkV297KPgO5W%P+MMpD59sSp+($=FF6)nv>?tZm8Xy*=n^8h2RiO eNL6dCBzz7*mS4LocO~fn0000W{1IHt@N6}hUdxX|LC|ZiP)QVZ!9&H_3bfMI&rl`GQ1hF>}Bq6b5#GVmi z6r~7i2DPcto_f<>@B5yf>pIW<>3P20zw5sqeFHt!YqkM^00062I5|0?P$&cfAuTP9 z_6GRh13FuHbu&QAB+kUIjseV5-QGt)kID>^;N9 z2Uw)j3&Of%(^%G7Ls+^JwMxIi!DA+&HdA|Gd=tXqZQ}7#$p3C2PjIM0xPPRpcZ^i5 zS3KNJ@Eu1)YFavfCR+qF=WPNaj4!(=Dq6mnrvR7x7y~PbtH#^#=AXqjl;%lRWD(js z?3=rhJtP!btN&cpP@@l93sc+p`_9Qxma&=M8qPXm3Iwx4{;(4I#v&a*>&agkKswFGq^IKv?$mBUj zdk`s68e8s^wt1;FmHGL50o&c@##x6C_C{Wuv)AX=J~*qiDuz~nWE`ma`jm2y8Af(y zyyG~QWQ1endRW5sg>$Gt-3?>ii^opZxXzQZjB0Qc0%Z4=^29#>V_ScT3ujrNWwZ8S zoV$OaYuzl8U}6WM(jQHpRi_ZHJ?DQ|x;&7p9VKK^U$rufx?9|(1$Q63`|NV3pNFd1 z`bBZu86ic^&kF*7ygoS1G5Y4!Y^ybEj=6x_PO#eLo3{@iczdpPPhKtcu-@298okuy zHDu}QwMAGv)mJ-x$2+Zg^yO3b`1ZF)yZR&Yxt;fan|2#B}mqae^;xB?`q6zvwK;i#_Zqf{HP+hw&vuGn}n5~j6dEdfe&1+4jc}->J zh4Uv3)PY!_S=@0R0Ic~^Rfku<=VD|}->B&j6*?hsUHhR!oXp-MUEA`Asr@W1hyC>5 zk6+D^&Sy|zt@Cm|ATM5se2}yYUs!kqUkC@}ZOl`sUsQmSk1uZ=8(bB}lg%2P=b055 zpQeGhh+!|pqPUSP6_r)&c&1!UCY-`0p4#gf)n#X!np^7GQp!u%=tt-S``bF+vyP4$ zjq6XIr7UJ@1hJ&KEOdm48(12lL3Do`U-+M#jKFlojjC%`m%rPf zUT4{7i>~B3{fUOl3@{iE9Xc%g)*c`NU0aT`fW)7ibboLfX@!}ip%cp2wH`YE;FM>( z0G&GZ?ux^9YNlH7yb*q&2`aPe`O4Q7BIl$d?85D*6doZK92Fho%^%5?keI}q!s_R* z9G)DX8hQ|X;b2ORj*~*wIG-1`!@Y*h1+eMzvW`=l_?;U>#2^Q~+x{GmE7x^=+2d(B+@;PCzXZ-3E`YtL#1 zsj_rw6Secy!p;c7g2CEzI+04Uj_nVI&Wm3J@3?MN7;n zc7wjc4XH>&ml4>$W3M}2EAIfPCvGx`eQPCEnq;X0zaBsEiQn}w2KFae8*;(RSH#ae zAn@H&M<|mglQ%3j=ygm&96TWr6z!i8c{w;mj;@eSJw&poNDWzBQle5ST8_sVOW_G< zDk zy|cTw|K;HD==d1$*Y^_uJy2P^EVtD^_nfqHtwUaWV1ke#!=NjoJ>&u_N1r6Unbt2@ zOaV+Zm))mf`3$aa*v;=TkO>`Jedo3`yY$XhDh7#0pe-xn2^AI0V@omNt_>dbIg*l9 zY*B*e-BDH+FjGDGbOCdT;g|H@ix>u*z<4}!cn&%Jt#v1A>@$9Vp)^*wqCN{VqyE(o z9N_93{Mbh#GdMb+h2L^}U508v00>%LaAEyvgGZR^}Gc=DSF3nR{ zW-ULjZ){SwcgFYj*Y-c%KmPjd@Mt{Ah&wX3#v^~p9Q;erm;!|V3t;6(bG{AkY%jw4|ynO=n4)E~`_H+w#v8P!F78@52Phg@; zrhA@}{vJo99Eer|R6)7sMJqlJxr>bCXD=l$caHb>vr zsqA9I146Y@XMVZ820-J#t~mN}d$SmW;>N41g5@V%67DufG1MoxhpUE8-#k+Ihqg3it3xYOUb^ocf=^d=TcJ{r{b>@5fKT|j)_tCjE9G7Iwhw-(_XU!@&E#vsajTi2n4d= zHU`6AP-t9QT#hxV&MT=ks?TposjC;OsOk{yY9jVDf}3d*VxW(lX*f7U(*HOyHc~A= zsY{t|n;Kn$Q$Nkk-&&N~)Y{&e(b->xEv(2be_Qu5wmUG44fge7Bbigf^7z78nfZJH zFYSUE{>}(tfayOF)XTUDjTbJ6YR%gUqYHr;-=4lJsBN3 z7uXYJ<$gC=#h{>m34F~w6-&23IVwLyXWOzmyKsKRBIZtEH(%wT4)IGTR+<$37c$4dG;jM#|Kb zsm<6p&ubKRH_k59aPV<=^t+`+%f^}zIVUpjK#KydiU>e{OMB{7y#B8FhG3*|SJps^ zWmMzq=0=B0QIDD_LvE&WzR$RU;XodLhy_E4RaiuLWRyj092XqU9Tjav;}ntTf1Ab$ zO5+srlat<0PPcw?(xPz^s#E>RN$D3(!8qX_;a;DQ6Ez}~C%&M`spjd$rB8D!;@u)N zP9np^^^LJFYvQ}dE+6)u+$ZZ?_j5M;Mo%@c0fip103CIld30r%<(Ya=+iFpF;@0LPo=X;3Ys)!ZqqRBLpG1_ z|6;D|r*MH7mfq3y+Sw8n&eO5-i(6@MxzaPv2Wq$*!{jgOU$8UFUws1t->3t_fO_6E zA?bSFjE>fE)`|~@K{S(7QtxYL#E8)6)8EOBKp^wYicq{5%Z#tZl3BY?W;%lX~$6AI6Ho6O$c!)97aXxq0HJCE<~k4E4{t?^U*R zc9iz^<24VD@@{@}5eKk0dP| zU!Glxp|uR^XUkxFTgyv^kniSG<#t$S&M~rkMd;2mpi2N57X*}Rkly){v~AXfyuzXL-uiAHZ5cy7NIOK1$VKC(y|nEWpW8Vr=rpd zuSnlQf1yFHwUrBdwX5rV(T(12a=99X(3QNcc+X;5#+Z4-4y%NITf*6doAwI^0D$^`07`+R{{R30 literal 0 HcmV?d00001 diff --git a/car-mis/src/main/resources/static/tiny-alert/js/zepto.alert.js b/car-mis/src/main/resources/static/tiny-alert/js/zepto.alert.js new file mode 100644 index 0000000..3939702 --- /dev/null +++ b/car-mis/src/main/resources/static/tiny-alert/js/zepto.alert.js @@ -0,0 +1,241 @@ +;(function ($, window, undefined) { + + var win = $(window), + doc = $(document), + count = 1, + isLock = false; + + var Dialog = function (options) { + + this.settings = $.extend({}, Dialog.defaults, options); + + this.init(); + + } + + Dialog.prototype = { + + /** + * 初始化 + */ + init: function () { + + this.create(); + + if (this.settings.lock) { + this.lock(); + } + + if (!isNaN(this.settings.time) && this.settings.time != null) { + this.time(); + } + + }, + + /** + * 创建 + */ + create: function () { + + var divHeader = (this.settings.title == null) ? '' : '
                    '; + + // HTML模板 + var templates = '
                    ' + + divHeader + + '
                    ' + this.settings.content + '
                    ' + + '' + + '
                    '; + + // 追回到body + this.dialog = $('
                    ').addClass('rDialog').css({zIndex: this.settings.zIndex + (count++)}).html(templates).prependTo('body'); + + // 设置ok按钮 + if ($.isFunction(this.settings.ok)) { + this.ok(); + } + + // 设置cancel按钮 + if ($.isFunction(this.settings.cancel)) { + this.cancel(); + } + + // 设置大小 + this.size(); + + // 设置位置 + this.position(); + + }, + + /** + * ok + */ + ok: function () { + var _this = this, + footer = this.dialog.find('.rDialog-footer'); + + $('', { + href: 'javascript:;', + text: this.settings.okText + }).on("click", function () { + var okCallback = _this.settings.ok(); + if (okCallback == undefined || okCallback) { + _this.close(); + } + + }).addClass('rDialog-ok').prependTo(footer); + + }, + + /** + * cancel + */ + cancel: function () { + + var _this = this, + footer = this.dialog.find('.rDialog-footer'); + + $('', { + href: 'javascript:;', + text: this.settings.cancelText + }).on("click", function () { + var cancelCallback = _this.settings.cancel(); + if (cancelCallback == undefined || cancelCallback) { + _this.close(); + } + }).addClass('rDialog-cancel').appendTo(footer); + + }, + + /** + * 设置大小 + */ + size: function () { + + var content = this.dialog.find('.rDialog-content'), + wrap = this.dialog.find('.rDialog-wrap'); + + content.css({ + width: this.settings.width, + height: this.settings.height + }); + //wrap.width(content.width()); + }, + + /** + * 设置位置 + */ + position: function () { + + var _this = this, + winWidth = win.width(), + winHeight = win.height(), + scrollTop = 0; + + this.dialog.css({ + left: (winWidth - _this.dialog.width()) / 2, + top: (winHeight - _this.dialog.height()) / 2 + scrollTop + }); + + }, + + /** + * 设置锁屏 + */ + lock: function () { + + if (isLock) return; + + this.lock = $('
                    ').css({zIndex: this.settings.zIndex}).addClass('rDialog-mask'); + this.lock.appendTo('body'); + + isLock = true; + + }, + + /** + * 关闭锁屏 + */ + unLock: function () { + if (this.settings.lock) { + if (isLock) { + this.lock.remove(); + isLock = false; + } + } + }, + + /** + * 关闭方法 + */ + close: function () { + this.dialog.remove(); + this.unLock(); + }, + + /** + * 定时关闭 + */ + time: function () { + + var _this = this; + + this.closeTimer = setTimeout(function () { + _this.close(); + _this.settings.timeout&&_this.settings.timeout(); + }, this.settings.time); + + } + + } + + /** + * 默认配置 + */ + Dialog.defaults = { + + // 内容 + content: '加载中...', + + // 标题 + title: 'load', + + // 宽度 + width: 'auto', + + // 高度 + height: 'auto', + + // 确定按钮回调函数 + ok: null, + + // 取消按钮回调函数 + cancel: null, + + // 确定按钮文字 + okText: '确定', + + // 取消按钮文字 + cancelText: '取消', + + // 自动关闭时间(毫秒) + time: null, + + // 是否锁屏 + lock: true, + + // z-index值 + zIndex: 9999, + + //timerCallback + timeout: null + + } + + var rDialog = function (options) { + return new Dialog(options); + } + + window.rDialog = $.rDialog = $.dialog = rDialog; + +})(window.jQuery || window.Zepto, window); diff --git a/car-mis/src/main/resources/static/zepto.min.js b/car-mis/src/main/resources/static/zepto.min.js new file mode 100644 index 0000000..a3d0a43 --- /dev/null +++ b/car-mis/src/main/resources/static/zepto.min.js @@ -0,0 +1,2 @@ +/* Zepto v1.2.0 - zepto event ajax form ie - zeptojs.com/license */ +!function(t,e){"function"==typeof define&&define.amd?define(function(){return e(t)}):e(t)}(this,function(t){var e=function(){function $(t){return null==t?String(t):S[C.call(t)]||"object"}function F(t){return"function"==$(t)}function k(t){return null!=t&&t==t.window}function M(t){return null!=t&&t.nodeType==t.DOCUMENT_NODE}function R(t){return"object"==$(t)}function Z(t){return R(t)&&!k(t)&&Object.getPrototypeOf(t)==Object.prototype}function z(t){var e=!!t&&"length"in t&&t.length,n=r.type(t);return"function"!=n&&!k(t)&&("array"==n||0===e||"number"==typeof e&&e>0&&e-1 in t)}function q(t){return a.call(t,function(t){return null!=t})}function H(t){return t.length>0?r.fn.concat.apply([],t):t}function I(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 V(t){return t in l?l[t]:l[t]=new RegExp("(^|\\s)"+t+"(\\s|$)")}function _(t,e){return"number"!=typeof e||h[I(t)]?e:e+"px"}function B(t){var e,n;return c[t]||(e=f.createElement(t),f.body.appendChild(e),n=getComputedStyle(e,"").getPropertyValue("display"),e.parentNode.removeChild(e),"none"==n&&(n="block"),c[t]=n),c[t]}function U(t){return"children"in t?u.call(t.children):r.map(t.childNodes,function(t){return 1==t.nodeType?t:void 0})}function X(t,e){var n,r=t?t.length:0;for(n=0;r>n;n++)this[n]=t[n];this.length=r,this.selector=e||""}function J(t,r,i){for(n in r)i&&(Z(r[n])||L(r[n]))?(Z(r[n])&&!Z(t[n])&&(t[n]={}),L(r[n])&&!L(t[n])&&(t[n]=[]),J(t[n],r[n],i)):r[n]!==e&&(t[n]=r[n])}function W(t,e){return null==e?r(t):r(t).filter(e)}function Y(t,e,n,r){return F(e)?e.call(t,n,r):e}function G(t,e,n){null==n?t.removeAttribute(e):t.setAttribute(e,n)}function K(t,n){var r=t.className||"",i=r&&r.baseVal!==e;return n===e?i?r.baseVal:r:void(i?r.baseVal=n:t.className=n)}function Q(t){try{return t?"true"==t||("false"==t?!1:"null"==t?null:+t+""==t?+t:/^[\[\{]/.test(t)?r.parseJSON(t):t):t}catch(e){return t}}function tt(t,e){e(t);for(var n=0,r=t.childNodes.length;r>n;n++)tt(t.childNodes[n],e)}var e,n,r,i,O,P,o=[],s=o.concat,a=o.filter,u=o.slice,f=t.document,c={},l={},h={"column-count":1,columns:1,"font-weight":1,"line-height":1,opacity:1,"z-index":1,zoom:1},p=/^\s*<(\w+|!)[^>]*>/,d=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,m=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,g=/^(?:body|html)$/i,v=/([A-Z])/g,y=["val","css","html","text","data","width","height","offset"],x=["after","prepend","before","append"],b=f.createElement("table"),E=f.createElement("tr"),j={tr:f.createElement("tbody"),tbody:b,thead:b,tfoot:b,td:E,th:E,"*":f.createElement("div")},w=/complete|loaded|interactive/,T=/^[\w-]*$/,S={},C=S.toString,N={},A=f.createElement("div"),D={tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},L=Array.isArray||function(t){return t instanceof Array};return N.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=A).appendChild(t),r=~N.qsa(i,e).indexOf(t),o&&A.removeChild(t),r},O=function(t){return t.replace(/-+(.)?/g,function(t,e){return e?e.toUpperCase():""})},P=function(t){return a.call(t,function(e,n){return t.indexOf(e)==n})},N.fragment=function(t,n,i){var o,s,a;return d.test(t)&&(o=r(f.createElement(RegExp.$1))),o||(t.replace&&(t=t.replace(m,"<$1>")),n===e&&(n=p.test(t)&&RegExp.$1),n in j||(n="*"),a=j[n],a.innerHTML=""+t,o=r.each(u.call(a.childNodes),function(){a.removeChild(this)})),Z(i)&&(s=r(o),r.each(i,function(t,e){y.indexOf(t)>-1?s[t](e):s.attr(t,e)})),o},N.Z=function(t,e){return new X(t,e)},N.isZ=function(t){return t instanceof N.Z},N.init=function(t,n){var i;if(!t)return N.Z();if("string"==typeof t)if(t=t.trim(),"<"==t[0]&&p.test(t))i=N.fragment(t,RegExp.$1,n),t=null;else{if(n!==e)return r(n).find(t);i=N.qsa(f,t)}else{if(F(t))return r(f).ready(t);if(N.isZ(t))return t;if(L(t))i=q(t);else if(R(t))i=[t],t=null;else if(p.test(t))i=N.fragment(t.trim(),RegExp.$1,n),t=null;else{if(n!==e)return r(n).find(t);i=N.qsa(f,t)}}return N.Z(i,t)},r=function(t,e){return N.init(t,e)},r.extend=function(t){var e,n=u.call(arguments,1);return"boolean"==typeof t&&(e=t,t=n.shift()),n.forEach(function(n){J(t,n,e)}),t},N.qsa=function(t,e){var n,r="#"==e[0],i=!r&&"."==e[0],o=r||i?e.slice(1):e,s=T.test(o);return t.getElementById&&s&&r?(n=t.getElementById(o))?[n]:[]:1!==t.nodeType&&9!==t.nodeType&&11!==t.nodeType?[]:u.call(s&&!r&&t.getElementsByClassName?i?t.getElementsByClassName(o):t.getElementsByTagName(e):t.querySelectorAll(e))},r.contains=f.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},r.type=$,r.isFunction=F,r.isWindow=k,r.isArray=L,r.isPlainObject=Z,r.isEmptyObject=function(t){var e;for(e in t)return!1;return!0},r.isNumeric=function(t){var e=Number(t),n=typeof t;return null!=t&&"boolean"!=n&&("string"!=n||t.length)&&!isNaN(e)&&isFinite(e)||!1},r.inArray=function(t,e,n){return o.indexOf.call(e,t,n)},r.camelCase=O,r.trim=function(t){return null==t?"":String.prototype.trim.call(t)},r.uuid=0,r.support={},r.expr={},r.noop=function(){},r.map=function(t,e){var n,i,o,r=[];if(z(t))for(i=0;i=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 F(t)?this.not(this.not(t)):r(a.call(this,function(e){return N.matches(e,t)}))},add:function(t,e){return r(P(this.concat(r(t,e))))},is:function(t){return this.length>0&&N.matches(this[0],t)},not:function(t){var n=[];if(F(t)&&t.call!==e)this.each(function(e){t.call(this,e)||n.push(this)});else{var i="string"==typeof t?this.filter(t):z(t)&&F(t.item)?u.call(t):r(t);this.forEach(function(t){i.indexOf(t)<0&&n.push(t)})}return r(n)},has:function(t){return this.filter(function(){return R(t)?r.contains(this,t):r(this).find(t).size()})},eq:function(t){return-1===t?this.slice(t):this.slice(t,+t+1)},first:function(){var t=this[0];return t&&!R(t)?t:r(t)},last:function(){var t=this[this.length-1];return t&&!R(t)?t:r(t)},find:function(t){var e,n=this;return e=t?"object"==typeof t?r(t).filter(function(){var t=this;return o.some.call(n,function(e){return r.contains(e,t)})}):1==this.length?r(N.qsa(this[0],t)):this.map(function(){return N.qsa(this,t)}):r()},closest:function(t,e){var n=[],i="object"==typeof t&&r(t);return this.each(function(r,o){for(;o&&!(i?i.indexOf(o)>=0:N.matches(o,t));)o=o!==e&&!M(o)&&o.parentNode;o&&n.indexOf(o)<0&&n.push(o)}),r(n)},parents:function(t){for(var e=[],n=this;n.length>0;)n=r.map(n,function(t){return(t=t.parentNode)&&!M(t)&&e.indexOf(t)<0?(e.push(t),t):void 0});return W(e,t)},parent:function(t){return W(P(this.pluck("parentNode")),t)},children:function(t){return W(this.map(function(){return U(this)}),t)},contents:function(){return this.map(function(){return this.contentDocument||u.call(this.childNodes)})},siblings:function(t){return W(this.map(function(t,e){return a.call(U(e.parentNode),function(t){return t!==e})}),t)},empty:function(){return this.each(function(){this.innerHTML=""})},pluck:function(t){return r.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=B(this.nodeName))})},replaceWith:function(t){return this.before(t).remove()},wrap:function(t){var e=F(t);if(this[0]&&!e)var n=r(t).get(0),i=n.parentNode||this.length>1;return this.each(function(o){r(this).wrapAll(e?t.call(this,o):i?n.cloneNode(!0):n)})},wrapAll:function(t){if(this[0]){r(this[0]).before(t=r(t));for(var e;(e=t.children()).length;)t=e.first();r(t).append(this)}return this},wrapInner:function(t){var e=F(t);return this.each(function(n){var i=r(this),o=i.contents(),s=e?t.call(this,n):t;o.length?o.wrapAll(s):i.append(s)})},unwrap:function(){return this.parent().each(function(){r(this).replaceWith(r(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 n=r(this);(t===e?"none"==n.css("display"):t)?n.show():n.hide()})},prev:function(t){return r(this.pluck("previousElementSibling")).filter(t||"*")},next:function(t){return r(this.pluck("nextElementSibling")).filter(t||"*")},html:function(t){return 0 in arguments?this.each(function(e){var n=this.innerHTML;r(this).empty().append(Y(this,t,e,n))}):0 in this?this[0].innerHTML:null},text:function(t){return 0 in arguments?this.each(function(e){var n=Y(this,t,e,this.textContent);this.textContent=null==n?"":""+n}):0 in this?this.pluck("textContent").join(""):null},attr:function(t,r){var i;return"string"!=typeof t||1 in arguments?this.each(function(e){if(1===this.nodeType)if(R(t))for(n in t)G(this,n,t[n]);else G(this,t,Y(this,r,e,this.getAttribute(t)))}):0 in this&&1==this[0].nodeType&&null!=(i=this[0].getAttribute(t))?i:e},removeAttr:function(t){return this.each(function(){1===this.nodeType&&t.split(" ").forEach(function(t){G(this,t)},this)})},prop:function(t,e){return t=D[t]||t,1 in arguments?this.each(function(n){this[t]=Y(this,e,n,this[t])}):this[0]&&this[0][t]},removeProp:function(t){return t=D[t]||t,this.each(function(){delete this[t]})},data:function(t,n){var r="data-"+t.replace(v,"-$1").toLowerCase(),i=1 in arguments?this.attr(r,n):this.attr(r);return null!==i?Q(i):e},val:function(t){return 0 in arguments?(null==t&&(t=""),this.each(function(e){this.value=Y(this,t,e,this.value)})):this[0]&&(this[0].multiple?r(this[0]).find("option").filter(function(){return this.selected}).pluck("value"):this[0].value)},offset:function(e){if(e)return this.each(function(t){var n=r(this),i=Y(this,e,t,n.offset()),o=n.offsetParent().offset(),s={top:i.top-o.top,left:i.left-o.left};"static"==n.css("position")&&(s.position="relative"),n.css(s)});if(!this.length)return null;if(f.documentElement!==this[0]&&!r.contains(f.documentElement,this[0]))return{top:0,left:0};var n=this[0].getBoundingClientRect();return{left:n.left+t.pageXOffset,top:n.top+t.pageYOffset,width:Math.round(n.width),height:Math.round(n.height)}},css:function(t,e){if(arguments.length<2){var i=this[0];if("string"==typeof t){if(!i)return;return i.style[O(t)]||getComputedStyle(i,"").getPropertyValue(t)}if(L(t)){if(!i)return;var o={},s=getComputedStyle(i,"");return r.each(t,function(t,e){o[e]=i.style[O(e)]||s.getPropertyValue(e)}),o}}var a="";if("string"==$(t))e||0===e?a=I(t)+":"+_(t,e):this.each(function(){this.style.removeProperty(I(t))});else for(n in t)t[n]||0===t[n]?a+=I(n)+":"+_(n,t[n])+";":this.each(function(){this.style.removeProperty(I(n))});return this.each(function(){this.style.cssText+=";"+a})},index:function(t){return t?this.indexOf(r(t)[0]):this.parent().children().indexOf(this[0])},hasClass:function(t){return t?o.some.call(this,function(t){return this.test(K(t))},V(t)):!1},addClass:function(t){return t?this.each(function(e){if("className"in this){i=[];var n=K(this),o=Y(this,t,e,n);o.split(/\s+/g).forEach(function(t){r(this).hasClass(t)||i.push(t)},this),i.length&&K(this,n+(n?" ":"")+i.join(" "))}}):this},removeClass:function(t){return this.each(function(n){if("className"in this){if(t===e)return K(this,"");i=K(this),Y(this,t,n,i).split(/\s+/g).forEach(function(t){i=i.replace(V(t)," ")}),K(this,i.trim())}})},toggleClass:function(t,n){return t?this.each(function(i){var o=r(this),s=Y(this,t,i,K(this));s.split(/\s+/g).forEach(function(t){(n===e?!o.hasClass(t):n)?o.addClass(t):o.removeClass(t)})}):this},scrollTop:function(t){if(this.length){var n="scrollTop"in this[0];return t===e?n?this[0].scrollTop:this[0].pageYOffset:this.each(n?function(){this.scrollTop=t}:function(){this.scrollTo(this.scrollX,t)})}},scrollLeft:function(t){if(this.length){var n="scrollLeft"in this[0];return t===e?n?this[0].scrollLeft:this[0].pageXOffset:this.each(n?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(),i=g.test(e[0].nodeName)?{top:0,left:0}:e.offset();return n.top-=parseFloat(r(t).css("margin-top"))||0,n.left-=parseFloat(r(t).css("margin-left"))||0,i.top+=parseFloat(r(e[0]).css("border-top-width"))||0,i.left+=parseFloat(r(e[0]).css("border-left-width"))||0,{top:n.top-i.top,left:n.left-i.left}}},offsetParent:function(){return this.map(function(){for(var t=this.offsetParent||f.body;t&&!g.test(t.nodeName)&&"static"==r(t).css("position");)t=t.offsetParent;return t})}},r.fn.detach=r.fn.remove,["width","height"].forEach(function(t){var n=t.replace(/./,function(t){return t[0].toUpperCase()});r.fn[t]=function(i){var o,s=this[0];return i===e?k(s)?s["inner"+n]:M(s)?s.documentElement["scroll"+n]:(o=this.offset())&&o[t]:this.each(function(e){s=r(this),s.css(t,Y(this,i,e,s[t]()))})}}),x.forEach(function(n,i){var o=i%2;r.fn[n]=function(){var n,a,s=r.map(arguments,function(t){var i=[];return n=$(t),"array"==n?(t.forEach(function(t){return t.nodeType!==e?i.push(t):r.zepto.isZ(t)?i=i.concat(t.get()):void(i=i.concat(N.fragment(t)))}),i):"object"==n||null==t?t:N.fragment(t)}),u=this.length>1;return s.length<1?this:this.each(function(e,n){a=o?n:n.parentNode,n=0==i?n.nextSibling:1==i?n.firstChild:2==i?n:null;var c=r.contains(f.documentElement,a);s.forEach(function(e){if(u)e=e.cloneNode(!0);else if(!a)return r(e).remove();a.insertBefore(e,n),c&&tt(e,function(e){if(!(null==e.nodeName||"SCRIPT"!==e.nodeName.toUpperCase()||e.type&&"text/javascript"!==e.type||e.src)){var n=e.ownerDocument?e.ownerDocument.defaultView:t;n.eval.call(n,e.innerHTML)}})})})},r.fn[o?n+"To":"insert"+(i?"Before":"After")]=function(t){return r(t)[n](this),this}}),N.Z.prototype=X.prototype=r.fn,N.uniq=P,N.deserializeValue=Q,r.zepto=N,r}();return t.Zepto=e,void 0===t.$&&(t.$=e),function(e){function h(t){return t._zid||(t._zid=n++)}function p(t,e,n,r){if(e=d(e),e.ns)var i=m(e.ns);return(a[h(t)]||[]).filter(function(t){return t&&(!e.e||t.e==e.e)&&(!e.ns||i.test(t.ns))&&(!n||h(t.fn)===h(n))&&(!r||t.sel==r)})}function d(t){var e=(""+t).split(".");return{e:e[0],ns:e.slice(1).sort().join(" ")}}function m(t){return new RegExp("(?:^| )"+t.replace(" "," .* ?")+"(?: |$)")}function g(t,e){return t.del&&!f&&t.e in c||!!e}function v(t){return l[t]||f&&c[t]||t}function y(t,n,i,o,s,u,f){var c=h(t),p=a[c]||(a[c]=[]);n.split(/\s/).forEach(function(n){if("ready"==n)return e(document).ready(i);var a=d(n);a.fn=i,a.sel=s,a.e in l&&(i=function(t){var n=t.relatedTarget;return!n||n!==this&&!e.contains(this,n)?a.fn.apply(this,arguments):void 0}),a.del=u;var c=u||i;a.proxy=function(e){if(e=T(e),!e.isImmediatePropagationStopped()){e.data=o;var n=c.apply(t,e._args==r?[e]:[e].concat(e._args));return n===!1&&(e.preventDefault(),e.stopPropagation()),n}},a.i=p.length,p.push(a),"addEventListener"in t&&t.addEventListener(v(a.e),a.proxy,g(a,f))})}function x(t,e,n,r,i){var o=h(t);(e||"").split(/\s/).forEach(function(e){p(t,e,n,r).forEach(function(e){delete a[o][e.i],"removeEventListener"in t&&t.removeEventListener(v(e.e),e.proxy,g(e,i))})})}function T(t,n){return(n||!t.isDefaultPrevented)&&(n||(n=t),e.each(w,function(e,r){var i=n[e];t[e]=function(){return this[r]=b,i&&i.apply(n,arguments)},t[r]=E}),t.timeStamp||(t.timeStamp=Date.now()),(n.defaultPrevented!==r?n.defaultPrevented:"returnValue"in n?n.returnValue===!1:n.getPreventDefault&&n.getPreventDefault())&&(t.isDefaultPrevented=b)),t}function S(t){var e,n={originalEvent:t};for(e in t)j.test(e)||t[e]===r||(n[e]=t[e]);return T(n,t)}var r,n=1,i=Array.prototype.slice,o=e.isFunction,s=function(t){return"string"==typeof t},a={},u={},f="onfocusin"in t,c={focus:"focusin",blur:"focusout"},l={mouseenter:"mouseover",mouseleave:"mouseout"};u.click=u.mousedown=u.mouseup=u.mousemove="MouseEvents",e.event={add:y,remove:x},e.proxy=function(t,n){var r=2 in arguments&&i.call(arguments,2);if(o(t)){var a=function(){return t.apply(n,r?r.concat(i.call(arguments)):arguments)};return a._zid=h(t),a}if(s(n))return r?(r.unshift(t[n],t),e.proxy.apply(null,r)):e.proxy(t[n],t);throw new TypeError("expected function")},e.fn.bind=function(t,e,n){return this.on(t,e,n)},e.fn.unbind=function(t,e){return this.off(t,e)},e.fn.one=function(t,e,n,r){return this.on(t,e,n,r,1)};var b=function(){return!0},E=function(){return!1},j=/^([A-Z]|returnValue$|layer[XY]$|webkitMovement[XY]$)/,w={preventDefault:"isDefaultPrevented",stopImmediatePropagation:"isImmediatePropagationStopped",stopPropagation:"isPropagationStopped"};e.fn.delegate=function(t,e,n){return this.on(e,t,n)},e.fn.undelegate=function(t,e,n){return this.off(e,t,n)},e.fn.live=function(t,n){return e(document.body).delegate(this.selector,t,n),this},e.fn.die=function(t,n){return e(document.body).undelegate(this.selector,t,n),this},e.fn.on=function(t,n,a,u,f){var c,l,h=this;return t&&!s(t)?(e.each(t,function(t,e){h.on(t,n,a,e,f)}),h):(s(n)||o(u)||u===!1||(u=a,a=n,n=r),(u===r||a===!1)&&(u=a,a=r),u===!1&&(u=E),h.each(function(r,o){f&&(c=function(t){return x(o,t.type,u),u.apply(this,arguments)}),n&&(l=function(t){var r,s=e(t.target).closest(n,o).get(0);return s&&s!==o?(r=e.extend(S(t),{currentTarget:s,liveFired:o}),(c||u).apply(s,[r].concat(i.call(arguments,1)))):void 0}),y(o,t,u,a,n,l||c)}))},e.fn.off=function(t,n,i){var a=this;return t&&!s(t)?(e.each(t,function(t,e){a.off(t,n,e)}),a):(s(n)||o(i)||i===!1||(i=n,n=r),i===!1&&(i=E),a.each(function(){x(this,t,i,n)}))},e.fn.trigger=function(t,n){return t=s(t)||e.isPlainObject(t)?e.Event(t):T(t),t._args=n,this.each(function(){t.type in c&&"function"==typeof this[t.type]?this[t.type]():"dispatchEvent"in this?this.dispatchEvent(t):e(this).triggerHandler(t,n)})},e.fn.triggerHandler=function(t,n){var r,i;return this.each(function(o,a){r=S(s(t)?e.Event(t):t),r._args=n,r.target=a,e.each(p(a,t.type||t),function(t,e){return i=e.proxy(r),r.isImmediatePropagationStopped()?!1:void 0})}),i},"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(t){e.fn[t]=function(e){return 0 in arguments?this.bind(t,e):this.trigger(t)}}),e.Event=function(t,e){s(t)||(e=t,t=e.type);var n=document.createEvent(u[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),T(n)}}(e),function(e){function p(t,n,r){var i=e.Event(n);return e(t).trigger(i,r),!i.isDefaultPrevented()}function d(t,e,n,i){return t.global?p(e||r,n,i):void 0}function m(t){t.global&&0===e.active++&&d(t,null,"ajaxStart")}function g(t){t.global&&!--e.active&&d(t,null,"ajaxStop")}function v(t,e){var n=e.context;return e.beforeSend.call(n,t,e)===!1||d(e,n,"ajaxBeforeSend",[t,e])===!1?!1:void d(e,n,"ajaxSend",[t,e])}function y(t,e,n,r){var i=n.context,o="success";n.success.call(i,t,o,e),r&&r.resolveWith(i,[t,o,e]),d(n,i,"ajaxSuccess",[e,n,t]),b(o,e,n)}function x(t,e,n,r,i){var o=r.context;r.error.call(o,n,e,t),i&&i.rejectWith(o,[n,e,t]),d(r,o,"ajaxError",[n,r,t||e]),b(e,n,r)}function b(t,e,n){var r=n.context;n.complete.call(r,e,t),d(n,r,"ajaxComplete",[e,n]),g(n)}function E(t,e,n){if(n.dataFilter==j)return t;var r=n.context;return n.dataFilter.call(r,t,e)}function j(){}function w(t){return t&&(t=t.split(";",2)[0]),t&&(t==c?"html":t==f?"json":a.test(t)?"script":u.test(t)&&"xml")||"text"}function T(t,e){return""==e?t:(t+"&"+e).replace(/[&?]{1,2}/,"?")}function S(t){t.processData&&t.data&&"string"!=e.type(t.data)&&(t.data=e.param(t.data,t.traditional)),!t.data||t.type&&"GET"!=t.type.toUpperCase()&&"jsonp"!=t.dataType||(t.url=T(t.url,t.data),t.data=void 0)}function C(t,n,r,i){return e.isFunction(n)&&(i=r,r=n,n=void 0),e.isFunction(r)||(i=r,r=void 0),{url:t,data:n,success:r,dataType:i}}function O(t,n,r,i){var o,s=e.isArray(n),a=e.isPlainObject(n);e.each(n,function(n,u){o=e.type(u),i&&(n=r?i:i+"["+(a||"object"==o||"array"==o?n:"")+"]"),!i&&s?t.add(u.name,u.value):"array"==o||!r&&"object"==o?O(t,u,r,n):t.add(n,u)})}var i,o,n=+new Date,r=t.document,s=/)<[^<]*)*<\/script>/gi,a=/^(?:text|application)\/javascript/i,u=/^(?:text|application)\/xml/i,f="application/json",c="text/html",l=/^\s*$/,h=r.createElement("a");h.href=t.location.href,e.active=0,e.ajaxJSONP=function(i,o){if(!("type"in i))return e.ajax(i);var c,p,s=i.jsonpCallback,a=(e.isFunction(s)?s():s)||"Zepto"+n++,u=r.createElement("script"),f=t[a],l=function(t){e(u).triggerHandler("error",t||"abort")},h={abort:l};return o&&o.promise(h),e(u).on("load error",function(n,r){clearTimeout(p),e(u).off().remove(),"error"!=n.type&&c?y(c[0],h,i,o):x(null,r||"error",h,i,o),t[a]=f,c&&e.isFunction(f)&&f(c[0]),f=c=void 0}),v(h,i)===!1?(l("abort"),h):(t[a]=function(){c=arguments},u.src=i.url.replace(/\?(.+)=\?/,"?$1="+a),r.head.appendChild(u),i.timeout>0&&(p=setTimeout(function(){l("timeout")},i.timeout)),h)},e.ajaxSettings={type:"GET",beforeSend:j,success:j,error:j,complete:j,context:null,global:!0,xhr:function(){return new t.XMLHttpRequest},accepts:{script:"text/javascript, application/javascript, application/x-javascript",json:f,xml:"application/xml, text/xml",html:c,text:"text/plain"},crossDomain:!1,timeout:0,processData:!0,cache:!0,dataFilter:j},e.ajax=function(n){var u,f,s=e.extend({},n||{}),a=e.Deferred&&e.Deferred();for(i in e.ajaxSettings)void 0===s[i]&&(s[i]=e.ajaxSettings[i]);m(s),s.crossDomain||(u=r.createElement("a"),u.href=s.url,u.href=u.href,s.crossDomain=h.protocol+"//"+h.host!=u.protocol+"//"+u.host),s.url||(s.url=t.location.toString()),(f=s.url.indexOf("#"))>-1&&(s.url=s.url.slice(0,f)),S(s);var c=s.dataType,p=/\?.+=\?/.test(s.url);if(p&&(c="jsonp"),s.cache!==!1&&(n&&n.cache===!0||"script"!=c&&"jsonp"!=c)||(s.url=T(s.url,"_="+Date.now())),"jsonp"==c)return p||(s.url=T(s.url,s.jsonp?s.jsonp+"=?":s.jsonp===!1?"":"callback=?")),e.ajaxJSONP(s,a);var P,d=s.accepts[c],g={},b=function(t,e){g[t.toLowerCase()]=[t,e]},C=/^([\w-]+:)\/\//.test(s.url)?RegExp.$1:t.location.protocol,N=s.xhr(),O=N.setRequestHeader;if(a&&a.promise(N),s.crossDomain||b("X-Requested-With","XMLHttpRequest"),b("Accept",d||"*/*"),(d=s.mimeType||d)&&(d.indexOf(",")>-1&&(d=d.split(",",2)[0]),N.overrideMimeType&&N.overrideMimeType(d)),(s.contentType||s.contentType!==!1&&s.data&&"GET"!=s.type.toUpperCase())&&b("Content-Type",s.contentType||"application/x-www-form-urlencoded"),s.headers)for(o in s.headers)b(o,s.headers[o]);if(N.setRequestHeader=b,N.onreadystatechange=function(){if(4==N.readyState){N.onreadystatechange=j,clearTimeout(P);var t,n=!1;if(N.status>=200&&N.status<300||304==N.status||0==N.status&&"file:"==C){if(c=c||w(s.mimeType||N.getResponseHeader("content-type")),"arraybuffer"==N.responseType||"blob"==N.responseType)t=N.response;else{t=N.responseText;try{t=E(t,c,s),"script"==c?(1,eval)(t):"xml"==c?t=N.responseXML:"json"==c&&(t=l.test(t)?null:e.parseJSON(t))}catch(r){n=r}if(n)return x(n,"parsererror",N,s,a)}y(t,N,s,a)}else x(N.statusText||null,N.status?"error":"abort",N,s,a)}},v(N,s)===!1)return N.abort(),x(null,"abort",N,s,a),N;var A="async"in s?s.async:!0;if(N.open(s.type,s.url,A,s.username,s.password),s.xhrFields)for(o in s.xhrFields)N[o]=s.xhrFields[o];for(o in g)O.apply(N,g[o]);return s.timeout>0&&(P=setTimeout(function(){N.onreadystatechange=j,N.abort(),x(null,"timeout",N,s,a)},s.timeout)),N.send(s.data?s.data:null),N},e.get=function(){return e.ajax(C.apply(null,arguments))},e.post=function(){var t=C.apply(null,arguments);return t.type="POST",e.ajax(t)},e.getJSON=function(){var t=C.apply(null,arguments);return t.dataType="json",e.ajax(t)},e.fn.load=function(t,n,r){if(!this.length)return this;var a,i=this,o=t.split(/\s/),u=C(t,n,r),f=u.success;return o.length>1&&(u.url=o[0],a=o[1]),u.success=function(t){i.html(a?e("
                    ").html(t.replace(s,"")).find(a):t),f&&f.apply(i,arguments)},e.ajax(u),this};var N=encodeURIComponent;e.param=function(t,n){var r=[];return r.add=function(t,n){e.isFunction(n)&&(n=n()),null==n&&(n=""),this.push(N(t)+"="+N(n))},O(r,t,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(e){var n=getComputedStyle;t.getComputedStyle=function(t,e){try{return n(t,e)}catch(r){return null}}}}(),e}); \ No newline at end of file diff --git a/car-mis/src/main/resources/templates/car/orderInfo.html b/car-mis/src/main/resources/templates/car/orderInfo.html new file mode 100644 index 0000000..88c5276 --- /dev/null +++ b/car-mis/src/main/resources/templates/car/orderInfo.html @@ -0,0 +1,348 @@ + + + + + 车辆订单明细查询 + + + + + + + + + +
                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                    车辆订单明细查询
                    开始时间 + + + 订单状态 + +
                    结束时间 + + 车牌号 + + + + + + +
                    +
                    + +
                    + + + + + + + + + + \ No newline at end of file diff --git a/car-mis/src/main/resources/templates/car/orderLog.html b/car-mis/src/main/resources/templates/car/orderLog.html new file mode 100644 index 0000000..b8b0482 --- /dev/null +++ b/car-mis/src/main/resources/templates/car/orderLog.html @@ -0,0 +1,269 @@ + + + + + 推送日志明细查询 + + + + + + + + + +
                    + + + + + + + + + + + + + + + + + + + + + + +
                    推送日志明细查询
                    开始时间 + + + 结束时间 + + 同步状态 + + + +
                    +
                    + +
                    + + + + + + + + + + \ No newline at end of file diff --git a/car-mis/src/main/resources/templates/sms/index.html b/car-mis/src/main/resources/templates/sms/index.html new file mode 100644 index 0000000..83a1cfb --- /dev/null +++ b/car-mis/src/main/resources/templates/sms/index.html @@ -0,0 +1,52 @@ + + + + + 导航页 + + + + + + + + + + +
                    +
                    + +
                    + +
                    + +
                    + + + +
                    + + +
                    + + + + + \ No newline at end of file diff --git a/car-mis/src/main/resources/templates/sms/login.html b/car-mis/src/main/resources/templates/sms/login.html new file mode 100644 index 0000000..251c6ca --- /dev/null +++ b/car-mis/src/main/resources/templates/sms/login.html @@ -0,0 +1,153 @@ + + + + + 认证页面 + + + + + + + + + + + +
                    +
                    +
                    +
                    +
                    +
                    + +
                    + +
                    +
                    +
                    + +
                    + +
                    +
                    +
                    +
                    +
                    + +
                    +
                    +
                    +
                    +
                    + + + diff --git a/car-service/pom.xml b/car-service/pom.xml new file mode 100644 index 0000000..1445228 --- /dev/null +++ b/car-service/pom.xml @@ -0,0 +1,68 @@ + + + + carmis + com.weiqi + 0.0.1-SNAPSHOT + + 4.0.0 + + car-service + + + + org.springframework.boot + spring-boot-starter + + + com.weiqi + car-dao + 0.0.1-SNAPSHOT + + + + + com.alibaba + druid + 1.1.2 + + + + org.springframework.kafka + spring-kafka + 2.2.8.RELEASE + + + + com.alibaba + fastjson + 1.2.61 + + + com.weiqi + car-common + 0.0.1-SNAPSHOT + + + + com.github.pagehelper + pagehelper-spring-boot-starter + 1.2.12 + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/car-service/src/main/java/com/weiqi/mis/MsgService.java b/car-service/src/main/java/com/weiqi/mis/MsgService.java new file mode 100644 index 0000000..3551654 --- /dev/null +++ b/car-service/src/main/java/com/weiqi/mis/MsgService.java @@ -0,0 +1,26 @@ +package com.weiqi.mis; + +import com.weiqi.mis.ReturnValue; +import com.weiqi.vo.OrderInfoVo; +import org.springframework.stereotype.Service; + +@Service +public interface MsgService { + + + + + + public ReturnValue getAppId(); + + public ReturnValue getsp(); + + Object usableGetsp(); + + + public Object getOrderinfo(OrderInfoVo records); + + + public Object getOrderinfoLog(OrderInfoVo records); + +} diff --git a/car-service/src/main/java/com/weiqi/mis/UserService.java b/car-service/src/main/java/com/weiqi/mis/UserService.java new file mode 100644 index 0000000..565674a --- /dev/null +++ b/car-service/src/main/java/com/weiqi/mis/UserService.java @@ -0,0 +1,15 @@ +package com.weiqi.mis; + +import com.weiqi.mis.domain.AdminUserInfo; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public interface UserService { + + + public List getUserInfo(String userName, String password); + + +} diff --git a/car-service/src/main/java/com/weiqi/mis/annotation/LoginRequired.java b/car-service/src/main/java/com/weiqi/mis/annotation/LoginRequired.java new file mode 100644 index 0000000..372f694 --- /dev/null +++ b/car-service/src/main/java/com/weiqi/mis/annotation/LoginRequired.java @@ -0,0 +1,15 @@ +package com.weiqi.mis.annotation; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * @author zzn + * @date 2020/2/12 12:31 + */ +@Target({ElementType.METHOD,ElementType.TYPE}) +@Retention(RetentionPolicy.RUNTIME) +public @interface LoginRequired { +} diff --git a/car-service/src/main/java/com/weiqi/mis/annotation/LoginType.java b/car-service/src/main/java/com/weiqi/mis/annotation/LoginType.java new file mode 100644 index 0000000..714246e --- /dev/null +++ b/car-service/src/main/java/com/weiqi/mis/annotation/LoginType.java @@ -0,0 +1,15 @@ +package com.weiqi.mis.annotation; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * Created by yyyy + */ +@Target({ElementType.TYPE, ElementType.METHOD}) +@Retention(value = RetentionPolicy.RUNTIME) +public @interface LoginType { + +} diff --git a/car-service/src/main/java/com/weiqi/mis/impl/MsgServiceImpl.java b/car-service/src/main/java/com/weiqi/mis/impl/MsgServiceImpl.java new file mode 100644 index 0000000..b6a200a --- /dev/null +++ b/car-service/src/main/java/com/weiqi/mis/impl/MsgServiceImpl.java @@ -0,0 +1,152 @@ +package com.weiqi.mis.impl; + +import java.util.*; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.Executor; + +import javax.annotation.Resource; + +import com.weiqi.mis.DateUtil; +import com.weiqi.mis.ReturnValue; +import com.weiqi.mis.domain.*; +import com.weiqi.mis.mapper.WxXrPemsOrderMapper; +import com.weiqi.mis.mapper.WxXrPemsOrderPushLogMapper; +import com.weiqi.vo.OrderInfoVo; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; + +import com.weiqi.mis.*; + +@Service +public class MsgServiceImpl implements MsgService { + + private Logger logger = LoggerFactory.getLogger(getClass()); + + + + // 记录上次处理时间 + Map currTimeMap = new ConcurrentHashMap<>(); + + @Autowired + private WxXrPemsOrderMapper wxXrPemsOrderMapper; + @Autowired + private WxXrPemsOrderPushLogMapper wxXrPemsOrderPushLogMapper; + + @Resource(name = "threadPool") + Executor executor; + public Object getinfo(){ + + return ""; + } + + + + + + + + + /** + * 查询所有appid + * + * @return + */ + public ReturnValue getAppId() { + + + return ReturnValue.buildSuccessdata(null, 1); + + } + + /** + * 查询所有sp + * + * @return + */ + public ReturnValue getsp() { + + return ReturnValue.buildSuccessdata(null, 1); + + } + + @Override + public Object usableGetsp() { + + return ReturnValue.buildSuccessdata(null, 1); + } + + + + @Override + public Object getOrderinfo(OrderInfoVo records) { + + WxXrPemsOrderExample example1 = new WxXrPemsOrderExample(); + WxXrPemsOrderExample.Criteria cri1 = example1.createCriteria(); + + + int offset = 0; + int pagesize = records.getLimit(); + int pageNumber = records.getPage(); + + if (records.getStatus() != null && !records.getStatus().equals("null") + && records.getStatus().toString().length() > 0) { + cri1.andStatusEqualTo(records.getStatus()); + } + + if (records.getPlatenumber() != null && !records.getPlatenumber().equals("null") + && records.getPlatenumber().toString().length() > 0) { + cri1.andPlatenumberLike("%"+records.getPlatenumber()+"%"); + } + offset = (pageNumber - 1) * pagesize; + example1.setOrderByClause(" create_time desc limit " + offset + " ," + pagesize); + + if (records.getEndTime().length() > 0 && records.getBeginTime().length() > 0) { + cri1.andCreateTimeBetween(DateUtil.string2Date(records.getBeginTime(), "yyyy-MM-dd HH:mm:ss"), + DateUtil.string2Date(records.getEndTime(), "yyyy-MM-dd HH:mm:ss")); + } else { + cri1.andCreateTimeBetween(DateUtil.getDayBegin(), DateUtil.getDayEnd()); + + } + int num = wxXrPemsOrderMapper.countByExample(example1); + List wxXrPemsOrders = wxXrPemsOrderMapper.selectByExample(example1); + + return ReturnValue.buildSuccessdata(wxXrPemsOrders, num); + } + @Override + public Object getOrderinfoLog(OrderInfoVo records) { + + WxXrPemsOrderPushLogExample example1 = new WxXrPemsOrderPushLogExample(); + WxXrPemsOrderPushLogExample.Criteria cri1 = example1.createCriteria(); + + + int offset = 0; + int pagesize = records.getLimit(); + int pageNumber = records.getPage(); + + if (records.getStatus() != null && !records.getStatus().equals("null") + && records.getStatus().toString().length() > 0) { + cri1.andStatusEqualTo(records.getStatus()); + } + + + offset = (pageNumber - 1) * pagesize; + example1.setOrderByClause(" create_time desc limit " + offset + " ," + pagesize); + + if (records.getEndTime().length() > 0 && records.getBeginTime().length() > 0) { + cri1.andCreateTimeBetween(DateUtil.string2Date(records.getBeginTime(), "yyyy-MM-dd HH:mm:ss"), + DateUtil.string2Date(records.getEndTime(), "yyyy-MM-dd HH:mm:ss")); + } else { + cri1.andCreateTimeBetween(DateUtil.getDayBegin(), DateUtil.getDayEnd()); + + } + + int num = wxXrPemsOrderPushLogMapper.countByExample(example1); + List wxXrPemsOrders = wxXrPemsOrderPushLogMapper.selectByExample(example1); + + return ReturnValue.buildSuccessdata(wxXrPemsOrders, num); + } + +} diff --git a/car-service/src/main/java/com/weiqi/mis/impl/UserServiceImpl.java b/car-service/src/main/java/com/weiqi/mis/impl/UserServiceImpl.java new file mode 100644 index 0000000..23238be --- /dev/null +++ b/car-service/src/main/java/com/weiqi/mis/impl/UserServiceImpl.java @@ -0,0 +1,41 @@ +package com.weiqi.mis.impl; + +import com.weiqi.mis.domain.AdminUserInfo; +import com.weiqi.mis.domain.AdminUserInfoExample; +import com.weiqi.mis.mapper.AdminUserInfoMapper; +import com.weiqi.mis.*; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.*; + +@Service +public class UserServiceImpl implements UserService { + + private Logger logger = LoggerFactory.getLogger(getClass()); + + + @Autowired + private AdminUserInfoMapper adminUserInfoMapper; + + + /** + * 查询userinfo + * + * @return + */ + public List getUserInfo(String userName, String password) { + AdminUserInfoExample example = new AdminUserInfoExample(); + AdminUserInfoExample.Criteria cri = example.createCriteria(); + cri.andIsDelEqualTo(0); + cri.andUserNameEqualTo(userName); + List adminUserInfos = adminUserInfoMapper.selectByExample(example); + + return adminUserInfos; + + } + + +} diff --git a/car-service/src/main/java/com/weiqi/mis/interceptor/AnotationInterceptor.java b/car-service/src/main/java/com/weiqi/mis/interceptor/AnotationInterceptor.java new file mode 100644 index 0000000..837e53c --- /dev/null +++ b/car-service/src/main/java/com/weiqi/mis/interceptor/AnotationInterceptor.java @@ -0,0 +1,43 @@ +package com.weiqi.mis.interceptor; + +import com.weiqi.mis.annotation.LoginRequired; +import org.springframework.stereotype.Component; +import org.springframework.web.method.HandlerMethod; +import org.springframework.web.servlet.HandlerInterceptor; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +/** + * @author zzn + * @date 2020/2/12 12:33 + */ +@Component +public class AnotationInterceptor implements HandlerInterceptor { + @Override + public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { + System.out.println(123); + LoginRequired anno = null; + if(handler instanceof HandlerMethod){ + HandlerMethod handlerMethod = (HandlerMethod) handler; + + if (handlerMethod.getMethod().isAnnotationPresent(LoginRequired.class)) { + anno = handlerMethod.getMethod().getAnnotation(LoginRequired.class); + } else if (handlerMethod.getBeanType().isAnnotationPresent(LoginRequired.class)) { + anno = handlerMethod.getBeanType().getAnnotation(LoginRequired.class); + } + } + + if (anno != null) { + Object token = request.getSession().getAttribute("Token"); + if (token != null){ + return true; + }else { + response.sendRedirect("/mis/login"); + return false; + } + }else{//因为现在域名没有edit,所以获取不到cookie 暂时放开所有校验,之后将else注释掉即可 + return true; + } + } +} diff --git a/car-service/src/main/java/com/weiqi/mis/interceptor/LoginInterceptor.java b/car-service/src/main/java/com/weiqi/mis/interceptor/LoginInterceptor.java new file mode 100644 index 0000000..1908278 --- /dev/null +++ b/car-service/src/main/java/com/weiqi/mis/interceptor/LoginInterceptor.java @@ -0,0 +1,99 @@ +package com.weiqi.mis.interceptor; + +import com.alibaba.fastjson.JSONObject; +import com.weiqi.mis.annotation.LoginType; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Component; +import org.springframework.web.method.HandlerMethod; +import org.springframework.web.servlet.handler.HandlerInterceptorAdapter; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; +import java.io.IOException; +import java.util.HashMap; +import java.util.Map; + +/** + * Created by yyy on 2024/5/9 weiqi Co.,Ltd. + */ +@Component +public class LoginInterceptor extends HandlerInterceptorAdapter { + private Logger logger = LoggerFactory.getLogger(getClass()); + + + @Override + public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { + LoginType anno = null; + //判断是否有注解 + if (handler instanceof HandlerMethod) { + HandlerMethod handlerMethod = (HandlerMethod) handler; + + if (handlerMethod.getMethod().isAnnotationPresent(LoginType.class)) { + anno = handlerMethod.getMethod().getAnnotation(LoginType.class); + } else if (handlerMethod.getBeanType().isAnnotationPresent(LoginType.class)) { + anno = handlerMethod.getBeanType().getAnnotation(LoginType.class); + } + } + + if (anno == null) { + return true; + + }else{//因为现在域名没有edit,所以获取不到cookie 暂时放开所有校验,之后将else注释掉即可 +// logger.info("String getServerName={}", request.getServerName()); + + HttpSession session = request.getSession(false); + + if (session != null && session.getAttribute("USER") != null) { + return true; + } else { + request.getRequestDispatcher("/mis/login").forward(request, response); + //response.sendRedirect("/metrics/sms/login"); + return false; + } +// +// String token = CookieUtil.getCookieValueByName(request, "DXToken"); +// +// if (token .equalsIgnoreCase("E4A6869ACE81760AC226D82376807528")){ +// return true; +// } else { +// request.getRequestDispatcher("/metrics/sms/login").forward(request, response); +// //response.sendRedirect("/metrics/sms/login"); +// return false; +// } + + } + + +// HttpServletRequest ra = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); +// Cookie cookie = CookieUtil.getCookieByName(ra, "_Admin"); +// if(cookie==null){ +// this.response(response, ReturnCode.INFO_ERROR.getCode(), ReturnCode.INFO_ERROR.getDesc()); +// logger.error("cookie为空cookie==null====={}",cookie); +// return false; +// } +// +// MisUserinfo misUserinfo =misUserService.decryptUserinfo(cookie.getValue()); +// +// if ( misUserinfo==null) { +// +// this.response(response, ReturnCode.INFO_ERROR.getCode(), ReturnCode.INFO_ERROR.getDesc()); +// logger.error("解析报错{}",misUserinfo); +// return false; +// } +// return true; + } + + private void response(HttpServletResponse response, int code, String message) throws IOException { + response.setHeader("Content-Type", "application/json;charset=UTF-8"); + response.getWriter().write(JSONObject.toJSONString(requiredAppidResponse(code, message))); + } + + public Map requiredAppidResponse(int code, String message) { + HashMap result = new HashMap(); + result.put("returncode", code); + result.put("message", message); + return result; + } +} diff --git a/car-service/src/main/java/com/weiqi/mis/interceptor/WebAppConfigurerCommon.java b/car-service/src/main/java/com/weiqi/mis/interceptor/WebAppConfigurerCommon.java new file mode 100644 index 0000000..1b34966 --- /dev/null +++ b/car-service/src/main/java/com/weiqi/mis/interceptor/WebAppConfigurerCommon.java @@ -0,0 +1,26 @@ +package com.weiqi.mis.interceptor; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.servlet.config.annotation.InterceptorRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; + +/** + * Created by yyyy on 2024/4/10. + */ +@Configuration +public class WebAppConfigurerCommon extends WebMvcConfigurerAdapter { + @Bean + LoginInterceptor getLoginInterceptor() { + return new LoginInterceptor(); + } + + + + @Override + public void addInterceptors(InterceptorRegistry registry) { + registry.addInterceptor(getLoginInterceptor()).addPathPatterns("/**"); + super.addInterceptors(registry); + } + +} diff --git a/car-service/src/main/java/com/weiqi/mis/redis/RedisListenerConfig.java b/car-service/src/main/java/com/weiqi/mis/redis/RedisListenerConfig.java new file mode 100644 index 0000000..aa25f60 --- /dev/null +++ b/car-service/src/main/java/com/weiqi/mis/redis/RedisListenerConfig.java @@ -0,0 +1,105 @@ +package com.weiqi.mis.redis; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.data.redis.connection.RedisConnectionFactory; +import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.data.redis.core.StringRedisTemplate; +import org.springframework.data.redis.listener.PatternTopic; +import org.springframework.data.redis.listener.RedisMessageListenerContainer; +import org.springframework.data.redis.listener.adapter.MessageListenerAdapter; +import org.springframework.data.redis.serializer.GenericToStringSerializer; +import org.springframework.data.redis.serializer.StringRedisSerializer; + +@Configuration +public class RedisListenerConfig { + + public static final String sms_redisqueue_channel = "sms_redisqueue"; + public static final String sms_redisqueue_total_channel = "sms_redisqueue_total"; + public static final String sms_redis_kg_channel = "sms_redi_kg_channel"; + public static final String sms_redis_wg_channel = "sms_redi_wg_channel"; + public static final String sms_redis_headbeat = "headbeat"; + + /** + * redis消息监听器容器 可以添加多个监听不同话题的redis监听器,只需要把消息监听器和相应的消息订阅处理器绑定,该消息监听器 通过反射技术调用消息订阅处理器的相关方法进行一些业务处理 + * + * @param connectionFactory + * @param listenerAdapter + * @return + */ + @Bean + RedisMessageListenerContainer container(RedisConnectionFactory connectionFactory, + MessageListenerAdapter listenerAdapter, MessageListenerAdapter listenerAdapter2, + MessageListenerAdapter listenerAdapterkg,MessageListenerAdapter listenerAdapterwg,MessageListenerAdapter listenerAdapterhb) { + RedisMessageListenerContainer container = new RedisMessageListenerContainer(); + container.setConnectionFactory(connectionFactory); + + // 可以添加多个 messageListener + container.addMessageListener(listenerAdapter, new PatternTopic(sms_redisqueue_channel)); + container.addMessageListener(listenerAdapter2, new PatternTopic(sms_redisqueue_total_channel)); + container.addMessageListener(listenerAdapterkg, new PatternTopic(sms_redis_kg_channel)); + container.addMessageListener(listenerAdapterwg, new PatternTopic(sms_redis_wg_channel)); + container.addMessageListener(listenerAdapterhb, new PatternTopic(sms_redis_headbeat)); + + return container; + } + + /** + * 消息监听器适配器,绑定消息处理器,利用反射技术调用消息处理器的业务方法 + * + * @param redisReceiver + * @return + */ + @Bean + MessageListenerAdapter listenerAdapter(RedisReceiver redisReceiver) { + + return new MessageListenerAdapter(redisReceiver, "receiveMessage"); + } + + /** + * 消息监听器适配器,绑定消息处理器,利用反射技术调用消息处理器的业务方法 + * + * @param redisReceiver + * @return + */ + @Bean + MessageListenerAdapter listenerAdapter2(RedisReceiver redisReceiver) { + + return new MessageListenerAdapter(redisReceiver, "receiveMessage2"); + } + + /** + * 消息监听器适配器,绑定消息处理器,利用反射技术调用消息处理器的业务方法 + * + * @param redisReceiver + * @return + */ + @Bean + MessageListenerAdapter listenerAdapterkg(RedisReceiver redisReceiver) { + + return new MessageListenerAdapter(redisReceiver, "receiveMessage3"); + } + + /** + * 消息监听器适配器,绑定消息处理器,利用反射技术调用消息处理器的业务方法 + * + * @param redisReceiver + * @return + */ + @Bean + MessageListenerAdapter listenerAdapterwg(RedisReceiver redisReceiver) { + + return new MessageListenerAdapter(redisReceiver, "receiveMessage4"); + } + @Bean + MessageListenerAdapter listenerAdapterhb(RedisReceiver redisReceiver) { + + return new MessageListenerAdapter(redisReceiver, "receiveMessage5"); + } + + // 使用默认的工厂初始化redis操作模板 + @Bean + StringRedisTemplate template(RedisConnectionFactory connectionFactory) { + return new StringRedisTemplate(connectionFactory); + } +} \ No newline at end of file diff --git a/car-service/src/main/java/com/weiqi/mis/redis/RedisReceiver.java b/car-service/src/main/java/com/weiqi/mis/redis/RedisReceiver.java new file mode 100644 index 0000000..1caef6e --- /dev/null +++ b/car-service/src/main/java/com/weiqi/mis/redis/RedisReceiver.java @@ -0,0 +1,86 @@ +package com.weiqi.mis.redis; + +import java.util.List; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Service; + +import com.weiqi.mis.Z; +import com.weiqi.util.SmsTools; +import com.weiqi.vo.SmsGlobalIndex; +import com.fasterxml.jackson.core.type.TypeReference; + +@Service +public class RedisReceiver { + private static final Logger log = LoggerFactory.getLogger(RedisReceiver.class); + + public void receiveMessage(String message) { + + try { + + List jsonObj = Z.fromJSON(new TypeReference>() {}, message); + SmsTools.sv = jsonObj; + + log.info("SmsTools.sv 消息条数为:{},info={}", SmsTools.sv.size(), SmsTools.sv); + } catch (Exception e) { + e.printStackTrace(); + log.error("消息来了:{}", e); + } + + } + + /** 接收消息的方法 */ + public void receiveMessage2(String message) { + + try { + SmsTools.sendTotalNum = Integer.parseInt(message); + } catch (NumberFormatException e) { + e.printStackTrace(); + log.error("消息来了2:{}", e); + } + log.info("SmsTools.sendTotalNum ={}", SmsTools.sendTotalNum); + + } + + /** 接收消息的方法 */ + public void receiveMessage3(String message) { + + try { + SmsTools.isRedisStatistic = message.equalsIgnoreCase("1") ? true : false; + + log.info("消息来了3:{}", SmsTools.isRedisStatistic); + } catch (NumberFormatException e) { + e.printStackTrace(); + log.error("消息来了3:{}", e); + } + log.info("SmsTools.sendTotalNum ={}", SmsTools.sendTotalNum); + + } + + /** 接收消息的方法 */ + public void receiveMessage4(String message) { + + try { + SmsTools.isRedisStatisticUP = message.equalsIgnoreCase("1") ? true : false; + + log.info("消息来了4:{}", SmsTools.isRedisStatisticUP); + } catch (NumberFormatException e) { + e.printStackTrace(); + log.error("消息来了4:{}", e); + } + log.info("SmsTools.sendTotalNum ={}", SmsTools.sendTotalNum); + + } + /** 心跳 */ + public void receiveMessage5(String message) { + + try { + log.info("心跳消息来了5:{}",message); + } catch (NumberFormatException e) { + e.printStackTrace(); + log.error("心跳消息来了5:{}", e); + } + + } +} \ No newline at end of file diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..1e950cb --- /dev/null +++ b/pom.xml @@ -0,0 +1,167 @@ + + + 4.0.0 + pom + + car-common + car-dao + car-service + car-mis + + + org.springframework.boot + spring-boot-starter-parent + 2.1.8.RELEASE + + + com.weiqi + carmis + 0.0.1-SNAPSHOT + carmis + Demo project for Spring Boot + + + 1.8 + + + + + org.springframework.boot + spring-boot-starter-web + + + + org.mybatis + mybatis-spring + 1.3.2 + + + + + org.apache.logging.log4j + log4j-api + 2.17.1 + + + org.apache.logging.log4j + log4j-to-slf4j + 2.17.1 + + + + + + + package + + + src/main/resources + + + + + + + + ${project.build.sourceDirectory} + + **/*.properties + **/*.xml + + + + + + + + + + src/test/resources + + + + + + + + ${project.build.testSourceDirectory} + + **/*.properties + **/*.xml + + + + + + + + + + + org.apache.maven.plugins + maven-resources-plugin + 3.0.1 + + UTF-8 + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.6.0 + + 1.8 + 1.8 + true + UTF-8 + + ${project.build.sourceDirectory} + + + + + + org.apache.maven.plugins + maven-source-plugin + 3.0.1 + + + attach-sources + + jar + + + + + + + + org.apache.maven.plugins + maven-surefire-plugin + 2.19.1 + + true + + + + + + + + + releases + + http://repo.corpweiqi.com/nexus/content/repositories/releases/ + + + + snapshots + + http://repo.corpweiqi.com/nexus/content/repositories/snapshots/ + + + + +