diff --git a/client/components/UsernameAutoComplete/UsernameAutoComplete.js b/client/components/UsernameAutoComplete/UsernameAutoComplete.js
index 55aef157..ce0f4ed6 100644
--- a/client/components/UsernameAutoComplete/UsernameAutoComplete.js
+++ b/client/components/UsernameAutoComplete/UsernameAutoComplete.js
@@ -3,6 +3,37 @@ import PropTypes from 'prop-types';
import { AutoComplete } from 'antd';
import axios from 'axios';
+/**
+ * 用户名输入框自动完成组件
+ *
+ * @component UsernameAutoComplete
+ * @examplelanguage js
+ *
+ * * 用户名输入框自动完成组件
+ * * 用户名输入框自动完成组件
+ *
+ *
+ */
+
+ /**
+ * 获取自动输入的用户信息
+ *
+ * 获取子组件state
+ * @property callbackState
+ * @type function
+ * @description 类型提示:支持数组传值;也支持用函数格式化字符串:函数有两个参数(scale, index);
+ * 受控属性:滑块滑到某一刻度时所展示的刻度文本信息。如果不需要标签,请将该属性设置为 [] 空列表来覆盖默认转换函数。
+ * @returns {object} {uid: xxx, username: xxx}
+ * @examplelanguage js
+ * @example
+ * onUserSelect(childState) {
+ * this.setState({
+ * uid: childState.uid,
+ * username: childState.username
+ * })
+ * }
+ *
+ */
class UsernameAutoComplete extends Component {
constructor(props) {
super(props);
diff --git a/client/containers/Group/ProjectList/ProjectList.js b/client/containers/Group/ProjectList/ProjectList.js
index 5828b950..7f6f0ac2 100644
--- a/client/containers/Group/ProjectList/ProjectList.js
+++ b/client/containers/Group/ProjectList/ProjectList.js
@@ -1,7 +1,7 @@
import React, { Component } from 'react';
import PropTypes from 'prop-types';
import { connect } from 'react-redux';
-import { message, Row, Col } from 'antd';
+import { message, Row, Col, Icon } from 'antd';
import { addProject, fetchProjectList, delProject, changeUpdateModal, changeTableLoading } from '../../../reducer/modules/project';
import ProjectCard from '../../../components/ProjectCard/ProjectCard.js';
// import variable from '../../../constants/variable';
@@ -26,52 +26,6 @@ import './ProjectList.scss'
// return handle;
// };
-// const getColumns = (data, props) => {
-// const { changeUpdateModal, userInfo } = props;
-// return [{
-// title: '项目名称',
-// dataIndex: 'name',
-// key: 'name',
-// render: (text, record) => {
-// return {text}
-// }
-// },{
-// title: 'Mock基本URL',
-// key: 'domain',
-// render: (item) => {
-// return 'http://'+ item.prd_host + item.basepath;
-// }
-//
-// }, {
-// title: '创建人',
-// dataIndex: 'owner',
-// key: 'owner',
-// render: (text, record, index) => {
-// // data是projectList的列表值
-// // 根据序号找到对应项的uid,根据uid获取对应项目的创建人
-// return {userInfo[data[index].uid] ? userInfo[data[index].uid].username : ''} ;
-// }
-// }, {
-// title: '创建时间',
-// dataIndex: 'add_time',
-// key: 'add_time',
-// render: time => {common.formatTime(time)}
-// }, {
-// title: '操作',
-// key: 'action',
-// render: (text, record, index) => {
-// const id = record._id;
-// return (
-//
-// changeUpdateModal(true, index)}>修改
-//
-//
-// 删除
-//
-//
-// )}
-// }];
-// }
@connect(
state => {
@@ -180,12 +134,15 @@ class ProjectList extends Component {
return (
- {projectData.map((item, index) => {
+ {projectData.length ? projectData.map((item, index) => {
return (
);
- })}
+ }) : (
+
该分组还没有项目呢
+
请点击右上角 “ ” 按钮新建项目
+
)}
);
diff --git a/client/containers/Group/ProjectList/ProjectList.scss b/client/containers/Group/ProjectList/ProjectList.scss
index ce02bda9..53cc83a9 100644
--- a/client/containers/Group/ProjectList/ProjectList.scss
+++ b/client/containers/Group/ProjectList/ProjectList.scss
@@ -31,3 +31,9 @@
cursor: not-allowed;
opacity: 0.5;
}
+
+.empty-tip {
+ text-align: center;
+ font-size: .14rem;
+ color: #999;
+}
diff --git a/client/containers/Project/Activity/Activity.js b/client/containers/Project/Activity/Activity.js
index fa5832e2..cb9ca504 100644
--- a/client/containers/Project/Activity/Activity.js
+++ b/client/containers/Project/Activity/Activity.js
@@ -42,20 +42,18 @@ class Activity extends Component {
}
render () {
return (
-
-
-
-
- {/*
*/}
-
-
Mock地址:
-
{this.state.mockURL}
-
下载Mock数据
-
+
+
+
+ {/*
*/}
+
+
Mock地址:
+
{this.state.mockURL}
+
下载Mock数据
-
-
-
+
+
+
)
}
diff --git a/client/containers/Project/Activity/Activity.scss b/client/containers/Project/Activity/Activity.scss
index 32aa86d6..c795c988 100644
--- a/client/containers/Project/Activity/Activity.scss
+++ b/client/containers/Project/Activity/Activity.scss
@@ -6,6 +6,7 @@
font-size: 0.14rem;
background: #FFF;
display: block;
+ min-height: 550px;
.news-timeline{
padding: 24px;
diff --git a/client/containers/Project/Activity/Timeline/Timeline.js b/client/containers/Project/Activity/Timeline/Timeline.js
index b52b35d5..6fda188c 100644
--- a/client/containers/Project/Activity/Timeline/Timeline.js
+++ b/client/containers/Project/Activity/Timeline/Timeline.js
@@ -1,5 +1,5 @@
import React, { Component } from 'react'
-import { Timeline, Spin } from 'antd'
+import { Timeline, Spin, Avatar } from 'antd'
import PropTypes from 'prop-types'
import { connect } from 'react-redux'
import { formatTime } from '../../../../common.js';
@@ -58,7 +58,8 @@ function timeago(timestamp) {
state => {
return {
newsData: state.news.newsData,
- curpage: state.news.curpage
+ curpage: state.news.curpage,
+ curUid: state.user.uid
}
},
{
@@ -75,7 +76,8 @@ class TimeTree extends Component {
setLoading: PropTypes.func,
loading: PropTypes.bool,
curpage: PropTypes.number,
- typeid: PropTypes.number
+ typeid: PropTypes.number,
+ curUid: PropTypes.number
}
constructor(props) {
@@ -109,8 +111,9 @@ class TimeTree extends Component {
render() {
let data = this.props.newsData ? this.props.newsData.list : [];
if (data && data.length) {
+
data = data.map(function (item, i) {
- return (
+ return ( } key={i}>
{timeago(item.add_time)}
{item.username}
{item.type}
diff --git a/client/containers/Project/Interface/InterfaceList/Edit.js b/client/containers/Project/Interface/InterfaceList/Edit.js
index e0e2b3fb..07052952 100644
--- a/client/containers/Project/Interface/InterfaceList/Edit.js
+++ b/client/containers/Project/Interface/InterfaceList/Edit.js
@@ -1,11 +1,12 @@
-import React,{Component} from 'react'
+import React, { Component } from 'react'
import PropTypes from 'prop-types'
import { connect } from 'react-redux';
import InterfaceEditForm from './InterfaceEditForm.js'
import { updateInterfaceData } from '../../../../reducer/modules/interface.js';
import axios from 'axios'
-import {message} from 'antd'
+import { message } from 'antd'
import './Edit.scss'
+import { withRouter, Link } from 'react-router-dom';
@connect(
state => {
@@ -13,64 +14,93 @@ import './Edit.scss'
curdata: state.inter.curdata,
currProject: state.project.currProject
}
- },{
+ }, {
updateInterfaceData
}
)
-class InterfaceEdit extends Component{
+class InterfaceEdit extends Component {
static propTypes = {
curdata: PropTypes.object,
- currProject:PropTypes.object,
- updateInterfaceData: PropTypes.func
+ currProject: PropTypes.object,
+ updateInterfaceData: PropTypes.func,
+ match: PropTypes.object
}
- constructor(props){
+ constructor(props) {
super(props)
- const {curdata, currProject} = this.props;
+ const { curdata, currProject } = this.props;
this.state = {
- mockUrl: location.protocol + '//' + location.hostname + (location.port !== "" ? ":" + location.port : "") + `/mock/${currProject._id}${currProject.basepath}${curdata.path}`
+ mockUrl: location.protocol + '//' + location.hostname + (location.port !== "" ? ":" + location.port : "") + `/mock/${currProject._id}${currProject.basepath}${curdata.path}`,
+ curdata: {},
+ status: 0
}
}
- onSubmit =async (params)=>{
+ onSubmit = async (params) => {
params.id = params._id = this.props.curdata._id;
- let result =await axios.post('/api/interface/up', params);
- if(result.data.errcode === 0){
+ let result = await axios.post('/api/interface/up', params);
+ if (result.data.errcode === 0) {
this.props.updateInterfaceData(params);
message.success('保存成功');
- }else{
+ } else {
message.success(result.data.errmsg)
- }
+ }
}
- componentWillMount(){
- let s = new WebSocket('ws://yapi.local.qunar.com:3000/api/interface/solve_conflict?id=1');
- s.onopen = (e)=>{
- console.log('open',e)
- s.send('abc')
+ componentWillUnmount(){
+ console.log('unmount')
+ try{
+ if(this.state.status === 1){
+ this.WebSocket.close()
+ }
+ }catch(e){
+ return null
+ }
+ }
+
+ componentWillMount() {
+ let s = new WebSocket('ws://yapi.local.qunar.com:3000/api/interface/solve_conflict?id=' + this.props.match.params.actionId);
+ s.onopen = () => {
+ this.WebSocket = s;
}
- s.onclose = (e)=>{
- console.log('close',e)
- }
+ s.onmessage = (e) => {
+ let result = JSON.parse(e.data);
+ if (result.errno === 0) {
+ this.setState({
+ curdata: result.data,
+ status: 1
+ })
+ } else {
+ this.setState({
+ curdata: result.data,
+ status: 2
+ })
+ }
- s.onmessage = (e)=>{
- console.log('message',e)
}
- s.onerror = (e)=>{
- console.log('error',e)
- }
-
-
}
- render(){
+ render() {
+ console.log(this.state.status)
return
-
+ {this.state.status === 1 ?
+
+ :
+ null}
+ {
+ this.state.status === 2 ?
+
+ {this.state.curdata.username}
+ 正在编辑该接口,请稍后再试...
+
+ :
+ null}
+
}
}
-export default InterfaceEdit;
\ No newline at end of file
+export default withRouter(InterfaceEdit);
\ No newline at end of file
diff --git a/client/containers/Project/Interface/InterfaceList/View.js b/client/containers/Project/Interface/InterfaceList/View.js
index 2dbfc14b..166405ba 100644
--- a/client/containers/Project/Interface/InterfaceList/View.js
+++ b/client/containers/Project/Interface/InterfaceList/View.js
@@ -219,7 +219,7 @@ class View extends Component {
width: '45%'
}];
- return
+ return this.props.curData.title?
接口名:
{this.props.curData.title}
@@ -271,7 +271,7 @@ class View extends Component {
desc: "123",
required: 0
}])}*/}
-
+
:
接口不存在
;
}
}
diff --git a/client/containers/Project/Project.js b/client/containers/Project/Project.js
index dc7903c9..c7f1b3ab 100644
--- a/client/containers/Project/Project.js
+++ b/client/containers/Project/Project.js
@@ -6,7 +6,7 @@ import { Subnav } from '../../components/index'
import { getProject } from '../../reducer/modules/project';
import Interface from './Interface/Interface.js'
import Activity from './Activity/Activity.js'
-import { Setting } from './Setting/Setting.js'
+import Setting from './Setting/Setting.js'
@connect(
diff --git a/client/containers/Project/Setting/Setting.js b/client/containers/Project/Setting/Setting.js
index e69de29b..0f759106 100644
--- a/client/containers/Project/Setting/Setting.js
+++ b/client/containers/Project/Setting/Setting.js
@@ -0,0 +1,359 @@
+import React, { Component } from 'react'
+import { Form, Input, Icon, Tooltip, Select, Button, Row, Col, message } from 'antd';
+import PropTypes from 'prop-types';
+import { updateProject, fetchProjectList, delProject, changeUpdateModal, changeTableLoading } from '../../../reducer/modules/project';
+import { connect } from 'react-redux';
+const { TextArea } = Input;
+const FormItem = Form.Item;
+const Option = Select.Option;
+
+// layout
+const formItemLayout = {
+ labelCol: {
+ lg: { span: 3 },
+ xs: { span: 24 },
+ sm: { span: 6 }
+ },
+ wrapperCol: {
+ lg: { span: 21 },
+ xs: { span: 24 },
+ sm: { span: 14 }
+ },
+ className: 'form-item'
+};
+const formItemLayoutWithOutLabel = {
+ wrapperCol: {
+ xs: { span: 24, offset: 0 },
+ sm: { span: 20, offset: 6 }
+ }
+};
+let uuid = 0;
+
+@connect(
+ state => {
+ return {
+ projectList: state.project.projectList,
+ handleUpdateIndex: state.project.handleUpdateIndex,
+ tableLoading: state.project.tableLoading,
+ currGroup: state.group.currGroup
+ }
+ },
+ {
+ fetchProjectList,
+ updateProject,
+ delProject,
+ changeUpdateModal,
+ changeTableLoading
+ }
+)
+class Setting extends Component {
+ constructor(props) {
+ super(props);
+ this.state = {
+ protocol: 'http:\/\/',
+ envProtocolChange: 'http:\/\/'
+ }
+ }
+ static propTypes = {
+ form: PropTypes.object,
+ fetchProjectList: PropTypes.func,
+ updateProject: PropTypes.func,
+ delProject: PropTypes.func,
+ changeUpdateModal: PropTypes.func,
+ changeTableLoading: PropTypes.func,
+ projectList: PropTypes.array,
+ currGroup: PropTypes.object,
+ handleUpdateIndex: PropTypes.number
+ }
+
+ // 修改线上域名的协议类型 (http/https)
+ protocolChange = (value) => {
+ this.setState({
+ protocol: value
+ })
+ }
+
+ handleCancel = () => {
+ this.props.form.resetFields();
+ this.props.changeUpdateModal(false, -1);
+ }
+
+ // 确认修改
+ handleOk = (e) => {
+ e.preventDefault();
+ const { form, updateProject, changeUpdateModal, currGroup, projectList, handleUpdateIndex, fetchProjectList, changeTableLoading } = this.props;
+ form.validateFields((err, values) => {
+ if (!err) {
+ // console.log(projectList[handleUpdateIndex]);
+ let assignValue = Object.assign(projectList[handleUpdateIndex], values);
+ values.protocol = this.state.protocol.split(':')[0];
+ assignValue.env = assignValue.envs.map((item, index) => {
+ return {
+ name: values['envs-name-' + index],
+ domain: values['envs-protocol-' + index] + values['envs-domain-' + index]
+ }
+ });
+ // console.log(assignValue);
+
+ changeTableLoading(true);
+ updateProject(assignValue).then((res) => {
+ if (res.payload.data.errcode == 0) {
+ changeUpdateModal(false, -1);
+ message.success('修改成功! ');
+ fetchProjectList(currGroup._id).then(() => {
+ changeTableLoading(false);
+ });
+ } else {
+ changeTableLoading(false);
+ message.error(res.payload.data.errmsg);
+ }
+ }).catch(() => {
+ changeTableLoading(false);
+ });
+ form.resetFields();
+ }
+ });
+ }
+
+ // 项目的修改操作 - 删除一项环境配置
+ remove = (id) => {
+ const { form } = this.props;
+ // can use data-binding to get
+ const envs = form.getFieldValue('envs');
+ // We need at least one passenger
+ if (envs.length === 0) {
+ return;
+ }
+
+ // can use data-binding to set
+ form.setFieldsValue({
+ envs: envs.filter(key => {
+ const realKey = key._id ? key._id : key
+ return realKey !== id;
+ })
+ });
+ }
+
+ // 项目的修改操作 - 添加一项环境配置
+ add = () => {
+ uuid++;
+ const { form } = this.props;
+ // can use data-binding to get
+ const envs = form.getFieldValue('envs');
+ const nextKeys = envs.concat(uuid);
+ // can use data-binding to set
+ // important! notify form to detect changes
+ form.setFieldsValue({
+ envs: nextKeys
+ });
+ }
+
+ render () {
+ const { getFieldDecorator, getFieldValue } = this.props.form;
+ // const that = this;
+ const { projectList, handleUpdateIndex } = this.props;
+ console.log(this.props);
+ let initFormValues = {};
+ let envMessage = [];
+ // 如果列表存在且用户点击修改按钮时,设置表单默认值
+ if (projectList.length !== 0 && handleUpdateIndex !== -1) {
+ // console.log(projectList[handleUpdateIndex]);
+ const { name, basepath, desc, env } = projectList[handleUpdateIndex];
+ initFormValues = { name, basepath, desc, env };
+ if (env.length !== 0) {
+ envMessage = env;
+ }
+ initFormValues.prd_host = projectList[handleUpdateIndex].prd_host;
+ initFormValues.prd_protocol = projectList[handleUpdateIndex].protocol + '\:\/\/';
+
+ }
+
+ getFieldDecorator('envs', { initialValue: envMessage });
+ const envs = getFieldValue('envs');
+ const formItems = envs.map((k, index) => {
+ const secondIndex = 'next' + index; // 为保证key的唯一性
+ return (
+
+
+ 环境名称) : ''}
+ required={false}
+ key={index}
+ >
+ {getFieldDecorator(`envs-name-${index}`, {
+ validateTrigger: ['onChange', 'onBlur'],
+ initialValue: envMessage.length !== 0 ? k.name : '',
+ rules: [{
+ required: false,
+ whitespace: true,
+ validator(rule, value, callback) {
+ if (value) {
+ if (value.length === 0) {
+ callback('请输入环境域名');
+ } else if (!/\S/.test(value)) {
+ callback('请输入环境域名');
+ } else if (/prd/.test(value)) {
+ callback('环境域名不能是"prd"');
+ } else {
+ return callback();
+ }
+ } else {
+ callback('请输入环境域名');
+ }
+ }
+ }]
+ })(
+
+ )}
+
+
+
+ 环境域名) : ''}
+ required={false}
+ key={secondIndex}
+ >
+ {getFieldDecorator(`envs-domain-${index}`, {
+ validateTrigger: ['onChange', 'onBlur'],
+ initialValue: envMessage.length !== 0 && k.domain ? k.domain.split('\/\/')[1] : '',
+ rules: [{
+ required: false,
+ whitespace: true,
+ message: "请输入环境域名",
+ validator(rule, value, callback) {
+ if (value) {
+ if (value.length === 0) {
+ callback('请输入环境域名');
+ } else if (!/\S/.test(value)) {
+ callback('请输入环境域名');
+ } else {
+ return callback();
+ }
+ } else {
+ callback('请输入环境域名');
+ }
+ }
+ }]
+ })(
+
+ {'http:\/\/'}
+ {'https:\/\/'}
+
+ )} />
+ )}
+
+
+
+ {/* 新增的项中,只有最后一项有删除按钮 */}
+ {(envs.length > 0 && k._id) || (envs.length == index + 1) ? (
+ {
+ return this.remove(k._id ? k._id : k);
+ }}
+ />
+ ) : null}
+
+
+ );
+ });
+ return (
+
+
+
+ )
+ }
+}
+
+export default Form.create()(Setting);
diff --git a/client/containers/Project/Setting/Setting.scss b/client/containers/Project/Setting/Setting.scss
new file mode 100644
index 00000000..b675b0e6
--- /dev/null
+++ b/client/containers/Project/Setting/Setting.scss
@@ -0,0 +1,4 @@
+
+.form-item {
+ margin-bottom: .16rem;
+}
diff --git a/server/controllers/interface.js b/server/controllers/interface.js
index 197eeab6..62e0e8ba 100644
--- a/server/controllers/interface.js
+++ b/server/controllers/interface.js
@@ -1,7 +1,7 @@
import interfaceModel from '../models/interface.js';
import baseController from './base.js';
import yapi from '../yapi.js';
-
+import userModel from '../models/user.js';
class interfaceController extends baseController {
constructor(ctx) {
@@ -306,14 +306,31 @@ class interfaceController extends baseController {
}
async solveConflict(ctx) {
- let id = parseInt(ctx.query.id, 10);
- if(!id) return ctx.websocket.send("id 参数有误");
-
- ctx.websocket.send('Hello World');
- ctx.websocket.on('message', function (message) {
- // do something with the message from client
- console.log(message);
- });
+ try {
+ let id = parseInt(ctx.query.id, 10), result, userInst, userinfo, data;
+ if (!id) return ctx.websocket.send("id 参数有误");
+ result = await this.Model.get(id), userinfo;
+ if(result.edit_uid !== 0 && result.edit_uid !== this.getUid()){
+ userInst = yapi.getInst(userModel);
+ userinfo = await userInst.findById(result.edit_uid);
+ data = {
+ errno: result.edit_uid,
+ data: {uid: result.edit_uid, username: userinfo.username}
+ }
+ }else{
+ this.Model.upEditUid(id, this.getUid() ).then()
+ data = {
+ errno: 0,
+ data: result
+ }
+ }
+ ctx.websocket.send(JSON.stringify(data));
+ ctx.websocket.on('close', ()=> {
+ this.Model.upEditUid(id, 0).then()
+ })
+ } catch (err) {
+ yapi.commons.log(err, 'error')
+ }
}
}
diff --git a/server/controllers/project.js b/server/controllers/project.js
index 99d80d82..5ddb31ce 100644
--- a/server/controllers/project.js
+++ b/server/controllers/project.js
@@ -57,7 +57,9 @@ class projectController extends baseController {
name: 'string',
basepath: 'string',
group_id: 'number',
- desc: 'string'
+ desc: 'string',
+ color: 'string',
+ icon: 'string'
});
if (await this.checkAuth(params.group_id, 'group', 'edit') !== true) {
@@ -92,6 +94,8 @@ class projectController extends baseController {
project_type: params.project_type || 'private',
uid: this.getUid(),
group_id: params.group_id,
+ icon: params.icon,
+ color: params.color,
add_time: yapi.commons.time(),
up_time: yapi.commons.time()
};
@@ -104,7 +108,9 @@ class projectController extends baseController {
type: 'project',
uid: this.getUid(),
username: username,
- typeid: params.group_id
+ typeid: params.group_id,
+ color: params.color,
+ icon: params.icon
});
ctx.body = yapi.commons.resReturn(result);
} catch (e) {
@@ -113,7 +119,7 @@ class projectController extends baseController {
}
/**
- * 添加项目
+ * 添加项目成员
* @interface /project/add_member
* @method POST
* @category project
@@ -152,12 +158,15 @@ class projectController extends baseController {
try {
let result = await this.Model.addMember(params.id, userdata);
let username = this.getUsername();
+ let project = await this.Model.get(params.id);
yapi.commons.saveLog({
content: `用户${username}添加了项目成员${userdata.username}`,
type: 'project',
uid: this.getUid(),
username: username,
- typeid: params.id
+ typeid: params.id,
+ color: project.color,
+ icon: project.icon
});
ctx.body = yapi.commons.resReturn(result);
} catch (e) {
@@ -166,7 +175,7 @@ class projectController extends baseController {
}
/**
- * 添加项目
+ * 删除项目成员
* @interface /project/del_member
* @method POST
* @category project
@@ -204,7 +213,9 @@ class projectController extends baseController {
type: 'project',
uid: this.getUid(),
username: username,
- typeid: params.id
+ typeid: params.id,
+ color: project.color,
+ icon: project.icon
});
ctx.body = yapi.commons.resReturn(result);
} catch (e) {
@@ -254,7 +265,7 @@ class projectController extends baseController {
}
/**
- * 添加项目
+ * 获取项目信息
* @interface /project/get
* @method GET
* @category project
@@ -337,7 +348,7 @@ class projectController extends baseController {
if (!id) {
return ctx.body = yapi.commons.resReturn(null, 400, '项目id不能为空');
}
-
+
if (await this.checkAuth(id, 'project', 'danger') !== true) {
return ctx.body = yapi.commons.resReturn(null, 405, '没有权限');
}
@@ -386,7 +397,9 @@ class projectController extends baseController {
type: 'project',
uid: this.getUid(),
username: username,
- typeid: params.id
+ typeid: params.id,
+ color: project.color,
+ icon: project.icon
});
ctx.body = yapi.commons.resReturn(result);
} catch (e) {
@@ -420,7 +433,9 @@ class projectController extends baseController {
name: 'string',
basepath: 'string',
group_id: 'number',
- desc: 'string'
+ desc: 'string',
+ icon: 'string',
+ color: 'string'
});
if (!id) {
return ctx.body = yapi.commons.resReturn(null, 405, '项目id不能为空');
@@ -457,7 +472,8 @@ class projectController extends baseController {
data.basepath = params.basepath;
}
if (params.env) data.env = params.env;
-
+ if(params.color) data.color = params.color;
+ if(params.icon) data.icon = params.icon;
let result = await this.Model.up(id, data);
let username = this.getUsername();
@@ -466,7 +482,9 @@ class projectController extends baseController {
type: 'project',
uid: this.getUid(),
username: username,
- typeid: id
+ typeid: id,
+ icon: params.icon,
+ color: params.color
});
ctx.body = yapi.commons.resReturn(result);
} catch (e) {
diff --git a/server/models/interface.js b/server/models/interface.js
index 3c3f12ee..3e1574cb 100644
--- a/server/models/interface.js
+++ b/server/models/interface.js
@@ -13,7 +13,7 @@ class interfaceModel extends baseModel {
path: { type: String, required: true },
method: { type: String, required: true },
project_id: { type: Number, required: true },
- edit_uid: {type: Number},
+ edit_uid: {type: Number, default: 0},
status: {type: String, enum: ['undone', 'done'], default: 'undone'},
desc: String,
add_time: Number,
@@ -54,7 +54,7 @@ class interfaceModel extends baseModel {
enum: ['json', 'text', 'xml']
},
res_body: String
- };
+ };
}
save(data) {
@@ -123,7 +123,15 @@ class interfaceModel extends baseModel {
data.up_time = yapi.commons.time();
return this.model.update({
_id: id
- }, data, { runValidators: true });
+ }, data, {runValidators: true });
+ }
+
+ upEditUid(id, uid){
+ return this.model.update({
+ _id: id
+ },
+ {edit_uid: uid},
+ {runValidators: true });
}
}
diff --git a/server/models/interfaceCase.js b/server/models/interfaceCase.js
index 0c851a4f..0e3f1047 100644
--- a/server/models/interfaceCase.js
+++ b/server/models/interfaceCase.js
@@ -21,7 +21,7 @@ class interfaceCase extends baseModel {
method: { type: String },
req_params: [{
name: String, value: String
- }],
+ }],
req_query: [{
name: String, value: String
}],
diff --git a/server/models/project.js b/server/models/project.js
index 5ef0c23b..03610eda 100644
--- a/server/models/project.js
+++ b/server/models/project.js
@@ -20,6 +20,8 @@ class projectModel extends baseModel {
env: [
{ name: String, domain: String }
],
+ icon: String,
+ color: String,
add_time: Number,
up_time: Number
};
@@ -58,7 +60,7 @@ class projectModel extends baseModel {
list(group_id, auth) {
let params = {group_id: group_id}
if(!auth) params.project_type = 'public';
- return this.model.find(params).select("_id uid name basepath desc group_id project_type env add_time up_time").sort({ _id: -1 }).exec();
+ return this.model.find(params).select("_id uid name basepath desc group_id project_type color icon env add_time up_time").sort({ _id: -1 }).exec();
}
listWithPaging(group_id, page, limit) {
diff --git a/server/websocket.js b/server/websocket.js
index 9b3a1dfa..d5c7ab27 100644
--- a/server/websocket.js
+++ b/server/websocket.js
@@ -1,14 +1,13 @@
import koaRouter from 'koa-router';
-const route = require('koa-route');
import interfaceController from './controllers/interface.js';
-
+const router = koaRouter();
function websocket(app) {
console.log('load websocket...')
app.ws.use(function (ctx, next) {
return next(ctx);
});
- app.ws.use(route.all('/api/interface/solve_conflict', async function (ctx) {
+ router.get('/api/interface/solve_conflict', async function (ctx) {
let inst = new interfaceController(ctx);
await inst.init(ctx);
if (inst.$auth === true) {
@@ -16,8 +15,10 @@ function websocket(app) {
} else {
ctx.ws.send('请登录...');
}
- }));
+ })
+ app.ws.use(router.routes())
+ app.ws.use(router.allowedMethods());
}
module.exports = websocket
\ No newline at end of file
diff --git a/server_dist/controllers/interface.js b/server_dist/controllers/interface.js
index fedf23ff..fcfca4ad 100644
--- a/server_dist/controllers/interface.js
+++ b/server_dist/controllers/interface.js
@@ -1,5 +1,9 @@
'use strict';
+var _stringify = require('babel-runtime/core-js/json/stringify');
+
+var _stringify2 = _interopRequireDefault(_stringify);
+
var _regenerator = require('babel-runtime/regenerator');
var _regenerator2 = _interopRequireDefault(_regenerator);
@@ -40,6 +44,10 @@ var _yapi = require('../yapi.js');
var _yapi2 = _interopRequireDefault(_yapi);
+var _user = require('../models/user.js');
+
+var _user2 = _interopRequireDefault(_user);
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var interfaceController = function (_baseController) {
@@ -593,34 +601,77 @@ var interfaceController = function (_baseController) {
key: 'solveConflict',
value: function () {
var _ref6 = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee6(ctx) {
- var id;
+ var _this2 = this;
+
+ var id, result, userInst, userinfo, data;
return _regenerator2.default.wrap(function _callee6$(_context6) {
while (1) {
switch (_context6.prev = _context6.next) {
case 0:
- id = parseInt(ctx.query.id, 10);
+ _context6.prev = 0;
+ id = parseInt(ctx.query.id, 10), result = void 0, userInst = void 0, userinfo = void 0, data = void 0;
if (id) {
- _context6.next = 3;
+ _context6.next = 4;
break;
}
return _context6.abrupt('return', ctx.websocket.send("id 参数有误"));
- case 3:
+ case 4:
+ _context6.next = 6;
+ return this.Model.get(id);
- ctx.websocket.send('Hello World');
- ctx.websocket.on('message', function (message) {
- // do something with the message from client
- console.log(message);
+ case 6:
+ result = _context6.sent;
+ userinfo;
+
+ if (!(result.edit_uid !== 0 && result.edit_uid !== this.getUid())) {
+ _context6.next = 16;
+ break;
+ }
+
+ userInst = _yapi2.default.getInst(_user2.default);
+ _context6.next = 12;
+ return userInst.findById(result.edit_uid);
+
+ case 12:
+ userinfo = _context6.sent;
+
+ data = {
+ errno: result.edit_uid,
+ data: { uid: result.edit_uid, username: userinfo.username }
+ };
+ _context6.next = 18;
+ break;
+
+ case 16:
+ this.Model.upEditUid(id, this.getUid()).then();
+ data = {
+ errno: 0,
+ data: result
+ };
+
+ case 18:
+ ctx.websocket.send((0, _stringify2.default)(data));
+ ctx.websocket.on('close', function () {
+ _this2.Model.upEditUid(id, 0).then();
});
+ _context6.next = 25;
+ break;
- case 5:
+ case 22:
+ _context6.prev = 22;
+ _context6.t0 = _context6['catch'](0);
+
+ _yapi2.default.commons.log(_context6.t0, 'error');
+
+ case 25:
case 'end':
return _context6.stop();
}
}
- }, _callee6, this);
+ }, _callee6, this, [[0, 22]]);
}));
function solveConflict(_x6) {
diff --git a/server_dist/controllers/project.js b/server_dist/controllers/project.js
index f0021295..ea175d81 100644
--- a/server_dist/controllers/project.js
+++ b/server_dist/controllers/project.js
@@ -138,7 +138,9 @@ var projectController = function (_baseController) {
name: 'string',
basepath: 'string',
group_id: 'number',
- desc: 'string'
+ desc: 'string',
+ color: 'string',
+ icon: 'string'
});
_context.next = 4;
@@ -204,6 +206,8 @@ var projectController = function (_baseController) {
project_type: params.project_type || 'private',
uid: this.getUid(),
group_id: params.group_id,
+ icon: params.icon,
+ color: params.color,
add_time: _yapi2.default.commons.time(),
up_time: _yapi2.default.commons.time()
};
@@ -220,7 +224,9 @@ var projectController = function (_baseController) {
type: 'project',
uid: this.getUid(),
username: username,
- typeid: params.group_id
+ typeid: params.group_id,
+ color: params.color,
+ icon: params.icon
});
ctx.body = _yapi2.default.commons.resReturn(result);
_context.next = 32;
@@ -247,7 +253,7 @@ var projectController = function (_baseController) {
return add;
}()
/**
- * 添加项目
+ * 添加项目成员
* @interface /project/add_member
* @method POST
* @category project
@@ -262,7 +268,7 @@ var projectController = function (_baseController) {
key: 'addMember',
value: function () {
var _ref2 = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee2(ctx) {
- var params, check, userdata, result, username;
+ var params, check, userdata, result, username, project;
return _regenerator2.default.wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
@@ -337,30 +343,37 @@ var projectController = function (_baseController) {
case 24:
result = _context2.sent;
username = this.getUsername();
+ _context2.next = 28;
+ return this.Model.get(params.id);
+
+ case 28:
+ project = _context2.sent;
_yapi2.default.commons.saveLog({
content: '\u7528\u6237' + username + '\u6DFB\u52A0\u4E86\u9879\u76EE\u6210\u5458' + userdata.username,
type: 'project',
uid: this.getUid(),
username: username,
- typeid: params.id
+ typeid: params.id,
+ color: project.color,
+ icon: project.icon
});
ctx.body = _yapi2.default.commons.resReturn(result);
- _context2.next = 33;
+ _context2.next = 36;
break;
- case 30:
- _context2.prev = 30;
+ case 33:
+ _context2.prev = 33;
_context2.t1 = _context2['catch'](21);
ctx.body = _yapi2.default.commons.resReturn(null, 402, _context2.t1.message);
- case 33:
+ case 36:
case 'end':
return _context2.stop();
}
}
- }, _callee2, this, [[21, 30]]);
+ }, _callee2, this, [[21, 33]]);
}));
function addMember(_x2) {
@@ -370,7 +383,7 @@ var projectController = function (_baseController) {
return addMember;
}()
/**
- * 添加项目
+ * 删除项目成员
* @interface /project/del_member
* @method POST
* @category project
@@ -459,7 +472,9 @@ var projectController = function (_baseController) {
type: 'project',
uid: this.getUid(),
username: username,
- typeid: params.id
+ typeid: params.id,
+ color: project.color,
+ icon: project.icon
});
ctx.body = _yapi2.default.commons.resReturn(result);
_context3.next = 33;
@@ -595,7 +610,7 @@ var projectController = function (_baseController) {
}()
/**
- * 添加项目
+ * 获取项目信息
* @interface /project/get
* @method GET
* @category project
@@ -923,7 +938,9 @@ var projectController = function (_baseController) {
type: 'project',
uid: this.getUid(),
username: username,
- typeid: params.id
+ typeid: params.id,
+ color: project.color,
+ icon: project.icon
});
ctx.body = _yapi2.default.commons.resReturn(result);
_context9.next = 35;
@@ -986,7 +1003,9 @@ var projectController = function (_baseController) {
name: 'string',
basepath: 'string',
group_id: 'number',
- desc: 'string'
+ desc: 'string',
+ icon: 'string',
+ color: 'string'
});
if (_id2) {
@@ -1060,11 +1079,12 @@ var projectController = function (_baseController) {
data.basepath = params.basepath;
}
if (params.env) data.env = params.env;
-
- _context10.next = 31;
+ if (params.color) data.color = params.color;
+ if (params.icon) data.icon = params.icon;
+ _context10.next = 33;
return this.Model.up(_id2, data);
- case 31:
+ case 33:
result = _context10.sent;
username = this.getUsername();
@@ -1073,24 +1093,26 @@ var projectController = function (_baseController) {
type: 'project',
uid: this.getUid(),
username: username,
- typeid: _id2
+ typeid: _id2,
+ icon: params.icon,
+ color: params.color
});
ctx.body = _yapi2.default.commons.resReturn(result);
- _context10.next = 40;
+ _context10.next = 42;
break;
- case 37:
- _context10.prev = 37;
+ case 39:
+ _context10.prev = 39;
_context10.t1 = _context10['catch'](0);
ctx.body = _yapi2.default.commons.resReturn(null, 402, _context10.t1.message);
- case 40:
+ case 42:
case 'end':
return _context10.stop();
}
}
- }, _callee10, this, [[0, 37]]);
+ }, _callee10, this, [[0, 39]]);
}));
function up(_x11) {
diff --git a/server_dist/models/interface.js b/server_dist/models/interface.js
index e596c40f..b675cb94 100644
--- a/server_dist/models/interface.js
+++ b/server_dist/models/interface.js
@@ -52,7 +52,7 @@ var interfaceModel = function (_baseModel) {
path: { type: String, required: true },
method: { type: String, required: true },
project_id: { type: Number, required: true },
- edit_uid: { type: Number },
+ edit_uid: { type: Number, default: 0 },
status: { type: String, enum: ['undone', 'done'], default: 'undone' },
desc: String,
add_time: Number,
@@ -170,6 +170,13 @@ var interfaceModel = function (_baseModel) {
_id: id
}, data, { runValidators: true });
}
+ }, {
+ key: 'upEditUid',
+ value: function upEditUid(id, uid) {
+ return this.model.update({
+ _id: id
+ }, { edit_uid: uid }, { runValidators: true });
+ }
}]);
return interfaceModel;
}(_base2.default);
diff --git a/server_dist/models/project.js b/server_dist/models/project.js
index aecfd3a8..202e9c04 100644
--- a/server_dist/models/project.js
+++ b/server_dist/models/project.js
@@ -55,6 +55,8 @@ var projectModel = function (_baseModel) {
project_type: { type: String, required: true, enum: ['public', 'private'] },
members: [{ uid: Number, role: { type: String, enum: ['owner', 'dev'] }, username: String, email: String }],
env: [{ name: String, domain: String }],
+ icon: String,
+ color: String,
add_time: Number,
up_time: Number
};
@@ -99,7 +101,7 @@ var projectModel = function (_baseModel) {
value: function list(group_id, auth) {
var params = { group_id: group_id };
if (!auth) params.project_type = 'public';
- return this.model.find(params).select("_id uid name basepath desc group_id project_type env add_time up_time").sort({ _id: -1 }).exec();
+ return this.model.find(params).select("_id uid name basepath desc group_id project_type color icon env add_time up_time").sort({ _id: -1 }).exec();
}
}, {
key: 'listWithPaging',
diff --git a/server_dist/websocket.js b/server_dist/websocket.js
index 50a9b8f6..8a26b94b 100644
--- a/server_dist/websocket.js
+++ b/server_dist/websocket.js
@@ -18,15 +18,14 @@ var _interface2 = _interopRequireDefault(_interface);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-var route = require('koa-route');
-
+var router = (0, _koaRouter2.default)();
function websocket(app) {
console.log('load websocket...');
app.ws.use(function (ctx, next) {
return next(ctx);
});
- app.ws.use(route.all('/api/interface/solve_conflict', function () {
+ router.get('/api/interface/solve_conflict', function () {
var _ref = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee(ctx) {
var inst;
return _regenerator2.default.wrap(function _callee$(_context) {
@@ -64,7 +63,10 @@ function websocket(app) {
return function (_x) {
return _ref.apply(this, arguments);
};
- }()));
+ }());
+
+ app.ws.use(router.routes());
+ app.ws.use(router.allowedMethods());
}
module.exports = websocket;
\ No newline at end of file
diff --git a/static/doc/api.html b/static/doc/api.html
index 7e3ed988..489e0085 100644
--- a/static/doc/api.html
+++ b/static/doc/api.html
@@ -362,7 +362,7 @@
源码位置:
- ./server/controllers/group.js:11
+ ./server/controllers/group.js:13
@@ -424,7 +424,7 @@
源码位置:
- ./server/controllers/group.js:38
+ ./server/controllers/group.js:40
@@ -488,7 +488,7 @@
示例:
-
{
+ {
"errcode" : 0 ,
"errmsg" : "success" ,
"data" : {
@@ -519,7 +519,7 @@
源码位置:
- ./server/controllers/group.js:119
+ ./server/controllers/group.js:121
@@ -568,6 +568,18 @@
+
+ role
+ String
+ 成员角色,owner or dev
+
+
+
+
+
+
+
+
@@ -593,7 +605,7 @@
源码位置:
- ./server/controllers/group.js:165
+ ./server/controllers/group.js:170
@@ -679,7 +691,7 @@
源码位置:
- ./server/controllers/group.js:203
+ ./server/controllers/group.js:208
@@ -741,7 +753,7 @@
源码位置:
- ./server/controllers/group.js:229
+ ./server/controllers/group.js:234
@@ -815,13 +827,13 @@
源码位置:
- ./server/controllers/group.js:266
+ ./server/controllers/group.js:271
示例:
- {
+ {
"errcode" : 0 ,
"errmsg" : "success" ,
"data" : [
@@ -877,7 +889,7 @@
源码位置:
- ./server/controllers/group.js:285
+ ./server/controllers/group.js:290
@@ -919,7 +931,7 @@
示例:
- {
+ {
"errcode" : 0 ,
"errmsg" : "success" ,
"data" : {
@@ -949,7 +961,7 @@
源码位置:
- ./server/controllers/group.js:322
+ ./server/controllers/group.js:330
@@ -1015,7 +1027,7 @@
示例:
- {
+ {
"errcode" : 0 ,
"errmsg" : "success" ,
"data" : {
@@ -1103,7 +1115,7 @@
示例:
- {
+ {
"errcode" : 0 ,
"errmsg" : "logout success..." ,
"data" : {
@@ -1142,7 +1154,7 @@
示例:
- {
+ {
"errcode" : 0 ,
"errmsg" : "success" ,
"data" : "ok"
@@ -1233,7 +1245,7 @@
示例:
- {
+ {
"errcode" : 0 ,
"errmsg" : "success" ,
"data" : {
@@ -1329,7 +1341,7 @@
示例:
- {
+ {
"errcode" : 0 ,
"errmsg" : "logout success..." ,
"data" : {
@@ -1814,7 +1826,7 @@
示例:
- {
+ {
"errcode" : 0 ,
"errmsg" : "ok" ,
"data" : [
@@ -2015,7 +2027,7 @@
示例:
- {
+ {
"errcode" : 0 ,
"errmsg" : "success" ,
"data" : {
@@ -2051,12 +2063,12 @@
描述:
- 添加项目
+ 添加项目成员
源码位置:
- ./server/controllers/project.js:114
+ ./server/controllers/project.js:120
@@ -2110,7 +2122,7 @@
示例:
- {
+ {
"errcode" : 0 ,
"errmsg" : "success" ,
"data" : {
@@ -2135,12 +2147,12 @@
描述:
- 添加项目
+ 删除项目成员
源码位置:
- ./server/controllers/project.js:165
+ ./server/controllers/project.js:176
@@ -2194,7 +2206,7 @@
示例:
- {
+ {
"errcode" : 0 ,
"errmsg" : "success" ,
"data" : {
@@ -2224,7 +2236,7 @@
源码位置:
- ./server/controllers/project.js:231
+ ./server/controllers/project.js:241
@@ -2266,7 +2278,7 @@
示例:
- {
+ {
"errcode" : 0 ,
"errmsg" : "success" ,
"data" : [
@@ -2297,12 +2309,12 @@
描述:
- 添加项目
+ 获取项目信息
源码位置:
- ./server/controllers/project.js:256
+ ./server/controllers/project.js:266
@@ -2344,7 +2356,7 @@
示例:
- {
+ {
"errcode" : 0 ,
"errmsg" : "success" ,
"data" : {
@@ -2385,7 +2397,7 @@
源码位置:
- ./server/controllers/project.js:283
+ ./server/controllers/project.js:293
@@ -2427,7 +2439,7 @@
示例:
- {
+ {
"errcode" : 0 ,
"errmsg" : "success" ,
"data" : {
@@ -2601,7 +2613,7 @@
源码位置:
- ./server/controllers/project.js:323
+ ./server/controllers/project.js:333
@@ -2643,7 +2655,7 @@
示例:
- {
+ {
"errcode" : 0 ,
"errmsg" : "success" ,
"data" : {
@@ -2673,7 +2685,7 @@
源码位置:
- ./server/controllers/project.js:398
+ ./server/controllers/project.js:409
@@ -2779,7 +2791,7 @@
示例:
-
+
{
"id" : 8 ,
@@ -2821,7 +2833,7 @@
源码位置:
- ./server/controllers/project.js:479
+ ./server/controllers/project.js:494
@@ -2863,7 +2875,7 @@
示例:
- {
+ {
"errcode" : 0 ,
"errmsg" : "ok" ,
"data" : {
@@ -2916,7 +2928,7 @@
源码位置:
- ./server/controllers/project.js:533
+ ./server/controllers/project.js:548
@@ -2981,7 +2993,7 @@
源码位置:
- ./server/controllers/interface.js:10
+ ./server/controllers/interface.js:11
@@ -3209,7 +3221,7 @@
示例:
-
+
@@ -3302,7 +3314,7 @@
源码位置:
- ./server/controllers/interface.js:107
+ ./server/controllers/interface.js:111
@@ -3344,7 +3356,7 @@
示例:
- . / api/ interface / get . json
+ . / api/ interface / get . json
@@ -3367,7 +3379,7 @@
源码位置:
- ./server/controllers/interface.js:132
+ ./server/controllers/interface.js:136
@@ -3409,7 +3421,7 @@
示例:
-
. / api/ interface / list. json
+
. / api/ interface / list. json
@@ -3432,7 +3444,7 @@
源码位置:
- ./server/controllers/interface.js:157
+ ./server/controllers/interface.js:161
@@ -3634,7 +3646,7 @@
示例:
- {
+ {
"errcode" : 0 ,
"errmsg" : "success" ,
"data" : {
@@ -3665,7 +3677,7 @@
源码位置:
- ./server/controllers/interface.js:264
+ ./server/controllers/interface.js:272
@@ -3707,7 +3719,7 @@
示例:
- {
+ {
"errcode" : 0 ,
"errmsg" : "success" ,
"data" : {
@@ -3802,7 +3814,7 @@
示例:
- / follow/ list
+ / follow/ list
@@ -3867,7 +3879,7 @@
示例:
- / follow/ del
+ / follow/ del
@@ -3968,7 +3980,7 @@
示例:
- / follow/ add
+ / follow/ add
@@ -4659,7 +4671,7 @@
源码位置:
- ./server/controllers/log.js:28
+ ./server/controllers/log.js:12
@@ -4721,7 +4733,7 @@
示例:
- / log/ list
+ / log/ list
@@ -4776,8 +4788,8 @@
var $this = $(this);
$this.removeClass('extend').addClass('fold');
$this.html('折叠代码');
- $this.prev().height('auto');
- $this.prev().parent().height('auto');
+ $this.parent().children('.js-code').height('auto');
+ $this.parent().height('auto');
});
$('.ydoc-example').delegate('.fold', 'click', function() {
var $this = $(this);
@@ -4785,7 +4797,7 @@
EXAMPLE_MAX_HEIGHT = lineHeight * (foldnumber || 6);
$this.removeClass('fold').addClass('extend');
$this.parent().height(EXAMPLE_MAX_HEIGHT); // pre
- $this.prev().height(EXAMPLE_MAX_HEIGHT); // code
+ $this.parent().children('.js-code').height(EXAMPLE_MAX_HEIGHT); // code
$this.html("展开更多……");
});
}
diff --git a/static/doc/index.html b/static/doc/index.html
index 1aab9b97..54da277b 100644
--- a/static/doc/index.html
+++ b/static/doc/index.html
@@ -175,8 +175,8 @@
var $this = $(this);
$this.removeClass('extend').addClass('fold');
$this.html('折叠代码');
- $this.prev().height('auto');
- $this.prev().parent().height('auto');
+ $this.parent().children('.js-code').height('auto');
+ $this.parent().height('auto');
});
$('.ydoc-example').delegate('.fold', 'click', function() {
var $this = $(this);
@@ -184,7 +184,7 @@
EXAMPLE_MAX_HEIGHT = lineHeight * (foldnumber || 6);
$this.removeClass('fold').addClass('extend');
$this.parent().height(EXAMPLE_MAX_HEIGHT); // pre
- $this.prev().height(EXAMPLE_MAX_HEIGHT); // code
+ $this.parent().children('.js-code').height(EXAMPLE_MAX_HEIGHT); // code
$this.html("展开更多……");
});
}
diff --git a/static/doc/interface.html b/static/doc/interface.html
index 3032de09..db93bb8c 100644
--- a/static/doc/interface.html
+++ b/static/doc/interface.html
@@ -68,23 +68,23 @@
- 快速开始 # 1 接口管理架构 # 平台以项目分组 -> 项目 -> 接口 的划分进行接口组织管理。
+ 快速开始 # 1 接口管理架构 # 平台以项目分组 -> 项目 -> 接口 的划分进行接口组织管理。
-1.1 项目分组 # 登录之后进到项目首页,左边侧边栏显示的即分组列表。
+1.1 项目分组 # 登录之后进到项目首页,左边侧边栏显示的即分组列表。
管理员有权限添加或删除分组。
分组名称具有唯一性
-1.2 项目 # 选中不同的分组,右边会显示该分组下的项目列表。
+1.2 项目 # 选中不同的分组,右边会显示该分组下的项目列表。
创建项目需要填写项目名称,项目线上域名(添加完成后可配置项目其他环境域名),项目接口基本路径(接口路径前面相同的部分)以及项目描述。
项目『线上域名 + 基本路径』具有唯一性
-1.3 接口 # 点击项目名称,进入该项目接口列表。
+1.3 接口 # 点击项目名称,进入该项目接口列表。
点击编辑,进入接口详情页(之后接口详情页和编辑也会分开),可以编辑接口或者请求测试真实接口。
@@ -134,8 +134,8 @@
var $this = $(this);
$this.removeClass('extend').addClass('fold');
$this.html('折叠代码');
- $this.prev().height('auto');
- $this.prev().parent().height('auto');
+ $this.parent().children('.js-code').height('auto');
+ $this.parent().height('auto');
});
$('.ydoc-example').delegate('.fold', 'click', function() {
var $this = $(this);
@@ -143,7 +143,7 @@
EXAMPLE_MAX_HEIGHT = lineHeight * (foldnumber || 6);
$this.removeClass('fold').addClass('extend');
$this.parent().height(EXAMPLE_MAX_HEIGHT); // pre
- $this.prev().height(EXAMPLE_MAX_HEIGHT); // code
+ $this.parent().children('.js-code').height(EXAMPLE_MAX_HEIGHT); // code
$this.html("展开更多……");
});
}
diff --git a/static/doc/mock.html b/static/doc/mock.html
index 1117c391..9af52501 100644
--- a/static/doc/mock.html
+++ b/static/doc/mock.html
@@ -70,7 +70,7 @@
Mock功能 # yapi的Mock功能可以根据用户的输入接口信息如协议、URL、接口名、请求头、请求参数、mock规则(点击到Mock规则 )生成Mock接口,这些接口会自动生成模拟数据,支持复杂的生成逻辑,创建者可以自由构造需要的数据。而且与常见的Mock方式如将Mock写在代码里和JS拦截等相比yapi的Mock在使用场景和效率和复杂度上是相差甚远的,正是由于yapi的Mock是一个第三方平台那么在 团队开发时任何人都可以权限许可下创建、修改接口信息等操作,这对于团队开发是很有好处的。
-1 Mock步骤 # 1.1 创建接口 # 通过点击页面上的"+添加接口"
+1 Mock步骤 # 1.1 创建接口 # 通过点击页面上的"+添加接口"
输入协议、URL、接口名、请求头、请求参数、Mock规则(点击到Mock规则 )等信息。
@@ -84,14 +84,14 @@
取到上面的链接在浏览器中请求就可以得到如下结果。
-2.1 Mock语法规范 #
+2.1 Mock语法规范 #
了解更多Mock详情:Mock.js 官方文档
Mock.js 的语法规范包括两部分:
1. 数据模板定义规范(Data Template Definition,DTD)
2. 数据占位符定义规范(Data Placeholder Definition,DPD)
-数据模板定义规范(Data Template Definition,DTD) # 数据模板中的每个属性由 3 部分构成:属性名、生成规则、属性值:
+数据模板定义规范(Data Template Definition,DTD) # 数据模板中的每个属性由 3 部分构成:属性名、生成规则、属性值:
// 属性名 name (与生成规则之间用 "|" 隔开)
// 生成规则 rule(生成规则有7种详见下面的生成规则)
// 属性值 value(可以含有 " @占位符" 同时也指定了最终值的初始值和类型)
@@ -107,14 +107,14 @@
'name|count.dcount': value
'name|+step': value
下面提供了6种生成规则以及示例包括 String、Number、Boolean、Object、Array:
-1. 属性值是字符串 String # 1 . 'name|min-max': string
+1. 属性值是字符串 String # 1 . 'name|min-max': string
通过重复 string 生成一个字符串,重复次数大于等于 min,小于等于 max。
2 . 'name|count': string
通过重复 string 生成一个字符串,重复次数等于 count。
-
2. 属性值是数字 Number # 1 . 'name|+1 ': number
+
2. 属性值是数字 Number # 1 . 'name|+1 ': number
属性值自动加 1 ,初始值为 number。
@@ -140,21 +140,21 @@ Mock.mock({
"number3" : 123.777 ,
"number4" : 123.1231091814
}
-
3. 属性值是布尔型 Boolean # 1 . 'name|1 ': boolean
+
3. 属性值是布尔型 Boolean # 1 . 'name|1 ': boolean
随机生成一个布尔值,值为 true 的概率是 1 /2 ,值为 false 的概率同样是 1 /2 。
2 . 'name|min-max': value
随机生成一个布尔值,值为 value 的概率是 min / (min + max) ,值为 !value 的概率是 max / (min + max) 。
-
4. 属性值是对象 Object # 1 . 'name|count': object
+
4. 属性值是对象 Object # 1 . 'name|count': object
从属性值 object 中随机选取 count 个属性。
2 . 'name|min-max': object
从属性值 object 中随机选取 min 到 max 个属性。
-
5. 属性值是数组 Array # 1 . 'name|1 ': array
+
5. 属性值是数组 Array # 1 . 'name|1 ': array
从属性值 array 中随机选取 1 个元素,作为最终值。
@@ -170,7 +170,7 @@ Mock.mock({
通过重复属性值 array 生成一个新数组,重复次数为 count。
-数据占位符定义规范(Data Placeholder Definition,DPD) # 占位符 只是在属性值字符串中占个位置,并不出现在最终的属性值中。
+数据占位符定义规范(Data Placeholder Definition,DPD) # 占位符 只是在属性值字符串中占个位置,并不出现在最终的属性值中。
占位符 的格式为:
@@ -240,8 +240,8 @@ name: {: {copy
已复制
');
+ $(item).children('code').addClass('js-code-'+i);
});
var winHeight = $(window).height() - 44,
@@ -213,4 +214,17 @@ $(document).ready(function() {
return false;
}
}
+
+ // 代码复制功能
+ var clipboard = new Clipboard('.js-copy');
+
+ clipboard.on('success', function(e) {
+ var copyNumber = $(e.trigger).attr('data-copy-number');
+ $('.copy-tip-'+copyNumber).show();
+ setTimeout(function() {
+ $('.copy-tip-'+copyNumber).hide();
+ }, 1000);
+ e.clearSelection();
+ });
+
});
diff --git a/static/doc/source/code.css b/static/doc/source/code.css
index c4775fde..f66a112d 100644
--- a/static/doc/source/code.css
+++ b/static/doc/source/code.css
@@ -1 +1 @@
-@charset "UTF-8";.syntaxhighlighter .toolbar a,.syntaxhighlighter.printing a{text-decoration:none!important}.ydoc .task-list,menu,ol,ul{list-style:none}.syntaxhighlighter a,.syntaxhighlighter code,.syntaxhighlighter div,.syntaxhighlighter table,.syntaxhighlighter table caption,.syntaxhighlighter table tbody,.syntaxhighlighter table td,.syntaxhighlighter table thead,.syntaxhighlighter table tr,.syntaxhighlighter textarea{-moz-border-radius:0!important;-webkit-border-radius:0!important;background:0 0!important;border:0!important;bottom:auto!important;float:none!important;height:auto!important;left:auto!important;line-height:1.1em!important;margin:0!important;outline:0!important;overflow:visible!important;padding:0!important;position:static!important;right:auto!important;text-align:left!important;top:auto!important;vertical-align:baseline!important;width:auto!important;box-sizing:content-box!important;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace!important;font-weight:400!important;font-style:normal!important;font-size:1em!important;min-height:inherit!important;min-height:auto!important}.ydoc .navbar-brand>li,.ydoc-nav li{float:left}.markdown-body .anchor:focus,a,button,input,select,textarea{outline:0}.syntaxhighlighter,.syntaxhighlighter table td.code .container{position:relative!important}.syntaxhighlighter,.syntaxhighlighter table,.syntaxhighlighter table td.code{width:100%!important}.syntaxhighlighter .bold,.syntaxhighlighter .keyword,.syntaxhighlighter .script,.syntaxhighlighter.printing .script{font-weight:700!important}.syntaxhighlighter{margin:1em 0!important;overflow:auto!important;font-size:1em!important}.syntaxhighlighter.source{overflow:hidden!important}.syntaxhighlighter .italic{font-style:italic!important}.syntaxhighlighter .line{white-space:pre!important}.syntaxhighlighter table caption{text-align:left!important;padding:.5em 0 .5em 1em!important}.syntaxhighlighter table td.code .container textarea{box-sizing:border-box!important;position:absolute!important;left:0!important;top:0!important;width:100%!important;height:100%!important;border:none!important;background:#fff!important;padding-left:1em!important;overflow:hidden!important;white-space:pre!important}.syntaxhighlighter table td.gutter .line{text-align:right!important;padding:0 .5em 0 1em!important}.syntaxhighlighter table td.code .line{padding:0 1em!important}.syntaxhighlighter.nogutter td.code .container textarea,.syntaxhighlighter.nogutter td.code .line{padding-left:0!important}.syntaxhighlighter.show{display:block!important}.syntaxhighlighter.collapsed table{display:none!important}.syntaxhighlighter.collapsed .toolbar{padding:.1em .8em 0!important;font-size:1em!important;position:static!important;width:auto!important;height:auto!important}.syntaxhighlighter.collapsed .toolbar span{display:inline!important;margin-right:1em!important}.syntaxhighlighter.collapsed .toolbar span a{padding:0!important;display:none!important}.syntaxhighlighter .toolbar span.title,.syntaxhighlighter.collapsed .toolbar span a.expandSource{display:inline!important}.syntaxhighlighter .toolbar{position:absolute!important;right:1px!important;top:1px!important;width:11px!important;height:11px!important;font-size:10px!important;z-index:10!important}.syntaxhighlighter .toolbar a{display:block!important;text-align:center!important;padding-top:1px!important}.syntaxhighlighter .toolbar a.expandSource,.syntaxhighlighter.printing .toolbar{display:none!important}.syntaxhighlighter.ie{font-size:.9em!important;padding:1px 0!important}.syntaxhighlighter.ie .toolbar{line-height:8px!important}.syntaxhighlighter.ie .toolbar a{padding-top:0!important}.syntaxhighlighter.printing .line.alt1 .content,.syntaxhighlighter.printing .line.alt2 .content,.syntaxhighlighter.printing .line.highlighted .number,.syntaxhighlighter.printing .line.highlighted.alt1 .content,.syntaxhighlighter.printing .line.highlighted.alt2 .content{background:0 0!important}.syntaxhighlighter.printing .line .number{color:#bbb!important}.syntaxhighlighter.printing .line .content,.syntaxhighlighter.printing .plain,.syntaxhighlighter.printing .plain a{color:#000!important}.syntaxhighlighter.printing .comments,.syntaxhighlighter.printing .comments a{color:#008200!important}.syntaxhighlighter.printing .string,.syntaxhighlighter.printing .string a{color:#00f!important}.syntaxhighlighter.printing .keyword{color:#069!important;font-weight:700!important}.syntaxhighlighter.printing .preprocessor{color:gray!important}.syntaxhighlighter.printing .variable{color:#a70!important}.syntaxhighlighter.printing .value{color:#090!important}.syntaxhighlighter.printing .functions{color:#ff1493!important}.syntaxhighlighter.printing .constants{color:#06c!important}.syntaxhighlighter.printing .color1,.syntaxhighlighter.printing .color1 a{color:gray!important}.syntaxhighlighter.printing .color2,.syntaxhighlighter.printing .color2 a{color:#ff1493!important}.syntaxhighlighter.printing .color3,.syntaxhighlighter.printing .color3 a{color:red!important}.syntaxhighlighter .line.highlighted.number,.syntaxhighlighter table caption,.syntaxhighlighter.printing .break,.syntaxhighlighter.printing .break a{color:#000!important}.syntaxhighlighter,.syntaxhighlighter .line.alt1,.syntaxhighlighter .line.alt2{background-color:#fff!important}.syntaxhighlighter .line.highlighted.alt1,.syntaxhighlighter .line.highlighted.alt2{background-color:#e0e0e0!important}.syntaxhighlighter .gutter{color:#afafaf!important}.syntaxhighlighter .gutter .line{border-right:3px solid #6ce26c!important}.syntaxhighlighter .gutter .line.highlighted{background-color:#6ce26c!important;color:#fff!important}.syntaxhighlighter.printing .line .content{border:none!important}.syntaxhighlighter.collapsed{overflow:visible!important}.syntaxhighlighter.collapsed .toolbar{color:#00f!important;background:#fff!important;border:1px solid #6ce26c!important}.syntaxhighlighter.collapsed .toolbar a{color:#00f!important}.syntaxhighlighter.collapsed .toolbar a:hover{color:red!important}.syntaxhighlighter .toolbar{color:#fff!important;background:#6ce26c!important;border:none!important}.syntaxhighlighter .toolbar a{color:#fff!important}.syntaxhighlighter .plain,.syntaxhighlighter .plain a,.syntaxhighlighter .toolbar a:hover{color:#000!important}.syntaxhighlighter .comments,.syntaxhighlighter .comments a{color:#008200!important}.syntaxhighlighter .string,.syntaxhighlighter .string a{color:#00f!important}.syntaxhighlighter .keyword{color:#069!important}.syntaxhighlighter .preprocessor{color:gray!important}.syntaxhighlighter .variable{color:#a70!important}.syntaxhighlighter .value{color:#090!important}.syntaxhighlighter .functions{color:#ff1493!important}.syntaxhighlighter .constants{color:#06c!important}.syntaxhighlighter .script{color:#069!important;background-color:none!important}.syntaxhighlighter .color1,.syntaxhighlighter .color1 a{color:gray!important}.syntaxhighlighter .color2,.syntaxhighlighter .color2 a{color:#ff1493!important}.syntaxhighlighter .color3,.syntaxhighlighter .color3 a{color:red!important}html{font-size:100px;height:100%}blockquote,body,button,dd,dl,fieldset,figure,form,h1,h2,h3,h4,h5,h6,input,legend,ol,p,pre,td,textarea,th,ul,xmp{margin:0;padding:0}body,button,code,input,kbd,pre,samp,select,textarea,tt,xmp{height:100%;line-height:1.5;font-family:tahoma,arial,"Hiragino Sans GB",simsun,sans-serif}.clr,.clrfix:after{height:0;clear:both}big,button,h1,h2,h3,h4,h5,h6,input,select,small,textarea{font-size:100%}h1,h2,h3,h4,h5,h6{font-family:tahoma,arial,"Hiragino Sans GB","微软雅黑",simsun,sans-serif;font-weight:400}.ydoc .task-list,.ydoc .ydocIcon{font-family:ydocfont}address,cite,dfn,em,i,optgroup,var{font-style:normal}table{border-collapse:collapse;border-spacing:0;text-align:left}caption,th{text-align:inherit}fieldset,img{border:0}button,img,input,object,select,textarea{vertical-align:middle}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}audio,canvas,video{display:inline-block}blockquote:after,blockquote:before,q:after,q:before{content:"\0020"}textarea{overflow:auto;resize:vertical}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}.mark,mark{background-color:#fcf8e3;padding:.2em}a,del,ins,s,u{text-decoration:none}sub,sup{vertical-align:baseline}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.ydoc,.ydoc-header,.ydoc-nav{font-size:.14rem}*,::after,::before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-tap-highlight-color:transparent}.clr{overflow:hidden}.clrfix{zoom:1}.clrfix:after{display:block;visibility:hidden;content:"."}@font-face{font-family:ydocfont;font-style:normal;font-weight:400;src:url(fonts/ydoc.eot?v=1.0.0);src:url(fonts/ydoc.eot?#iefixiefix&v=1.0.0) format("embedded-opentype"),url(fonts/ydoc.woff?v=1.0.0) format("woff"),url(fonts/ydoc.ttf?v=1.0.0) format("truetype"),url(source/fonts/ydoc.svg?v=1.0.0#icomoonregular) format("svg")}.ydoc{background:#fafafa;overflow:hidden;height:auto;min-height:100%;position:relative}.ydoc-header{line-height:.48rem;color:#3b3b3b;text-align:right;padding:0 .2rem;background-color:#252a31;background-image:-moz-linear-gradient(top,#333,#222);background-image:-ms-linear-gradient(top,#333,#222);background-image:-webkit-gradient(linear,0 0,0 100%,from(#333),to(#222));background-image:-webkit-linear-gradient(top,#333,#222);background-image:-o-linear-gradient(top,#333,#222);background-image:linear-gradient(top,#333,#222);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#333333', endColorstr='#222222', GradientType=0);-webkit-box-shadow:0 1px 3px rgba(0,0,0,.25),inset 0 -1px 0 rgba(0,0,0,.1);-moz-box-shadow:0 1px 3px rgba(0,0,0,.25),inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:0 1px 3px rgba(0,0,0,.25),inset 0 -1px 0 rgba(0,0,0,.1)}.ydoc-header a,.ydoc-nav{color:#fff}.ydoc-header-area{margin:0 auto}.ydoc .navbar-brand{width:auto;float:left;margin-right:20px;font-weight:700}.ydoc-nav li a{padding:0 15px;color:#fff;transition:all .4s}.ydoc-nav .active,.ydoc-nav .active a,.ydoc-nav li a:hover{color:#ff503f}.ydoc-nav .navbar-right{float:right}.ydoc-nav .navbar-left{float:left}.ydoc-second-header{background:#252a31}.ydoc-second-header a{color:#fff}.ydoc-second-header .ydoc-nav{float:right}.ydoc .task-list .checkbox{vertical-align:baseline;user-select:none}.ydoc .ydoc-header:after{content:'';display:block;clear:both}.ydoc .version-selector{color:#ff503f}.ydoc .version-selector .icon{vertical-align:bottom}.ydoc .m-version{float:left;color:#fff;cursor:pointer;position:relative}.ydoc .m-version-mask{display:none;position:absolute;left:0;top:.4rem;z-index:1;background-color:#fff;border:1px solid rgba(0,0,0,.15);border-radius:4px;box-shadow:0 6px 12px rgba(0,0,0,.175)}.ydoc .m-version-item{line-height:normal;text-align:center}.ydoc .link{display:inline-block;color:#000;padding:.08rem .3rem;width:100%;transition:all .4s}.ydoc .link:hover{background-color:#eee}.ydoc .navbar-toggle{float:right;font-size:.22rem;display:none;background:0 0;border:none;cursor:pointer;color:#fff;line-height:.48rem}.ydoc .ydoc-banner-bg{background:url(images/grid-18px-masked.png) 0 top repeat-x;padding-bottom:121px}.ydoc .ydoc-banner-bg .desc{font-family:"微软雅黑"}.ydoc .ydoc-banner-home{padding:.8rem 0;text-align:center}.ydoc .ydoc-banner-home .home-title{margin-bottom:.2rem;font-size:.8rem;font-weight:700}.ydoc .ydoc-banner-home .home-desc{padding:0 1rem .16rem;font-size:.28rem}.ydoc .ydoc-banner-home .home-btn{display:inline-block;margin:.04rem;padding:.1rem .4rem;min-width:1.5rem;border:1px solid;border-radius:.05rem;color:#ff503f;font-size:.2rem;font-weight:700;transition:all .4s}.ydoc .ydoc-banner-home .home-btn:hover{text-decoration:none;border-color:#ff503f;background-color:#ff503f;color:#fff}.ydoc .ydoc-banner-home .home-version{display:block;margin-top:.15rem;color:#ff503f;font-size:.14rem}.ydoc .home-page-title{text-align:center;margin-top:.6rem;border:none;font-size:.35rem}.ydoc .home-page-desc{text-align:center;width:80%;margin:.2rem auto;color:#666;font-size:.2rem}.ydoc .home-thumbnail{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-around;-moz-box-pack:justify;-moz-justify-content:space-around;-ms-flex-pack:justify;justify-content:space-around;-webkit-flex-wrap:wrap;-moz-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:0 .6rem;margin:0;list-style:none}.ydoc .home-item{overflow:hidden;width:200px;-webkit-background-clip:padding-box!important;-moz-background-clip:padding-box!important;-ms-background-clip:padding-box!important;background-clip:padding-box!important}.ydoc .home-thumbnail-img{margin:.16rem 0;text-align:center}.ydoc .home-thumbnail-src{margin:10px 3%;vertical-align:middle;max-width:1rem;max-height:1rem}.ydoc .home-thumbnail-name{color:#444;text-align:center;font-size:.18rem;margin-top:.3rem;margin-bottom:.16rem}.ydoc .home-thumbnail-desc{color:#999;text-align:center;font-size:.14rem}.ydoc-banner{color:#fff;font-size:.18rem;padding:20px 30px}.ydoc-banner-area{margin:0 auto}.ydoc-banner-area h1{font-size:.28rem;margin-bottom:.1rem;color:#333}.ydoc-banner-area p{line-height:1.7;margin:0 0 10px;color:#333}.ydoc .footer{text-align:center;position:absolute;left:0;bottom:0;overflow:hidden;margin:0 auto;padding:40px 0 60px;width:100%;color:#fff;background:#252a31;font-size:14px}.ydoc .footer .copyright{font-size:14px;text-align:center;color:#a1a1a1}.ydoc .footer .copyright a{color:#a1a1a1;text-decoration:underline}.ydoc-container{clear:both;overflow:hidden}.ydoc-container-content{overflow:hidden;background-color:#fff;margin:.2rem auto;padding:.24rem 0;box-shadow:0 0 3px #e5e5e5;position:relative}.ydoc-container-content .static-code-content{width:100%;background:#fff;padding:.15rem}.ydoc-container-content .content-left,.ydoc-container-content .content-right{float:left;position:relative;min-height:1px}.ydoc-container-content .content-right{box-sizing:border-box;width:75%;background:#fff;padding:15px;float:right;min-height:500px}.ydoc-container-content .use-sidebar{border-left:1px solid #eee}.ydoc-container-content .hashlink{display:none}.ydoc-container-content .subject:hover .hashlink{display:inline}.ydoc-container-content .right{float:right}.ydoc-container-content .content-left{width:25%}.ydoc-container-content .docs-table del{text-decoration:line-through;color:#999}.ydoc-container-content .ydoc-example{position:relative;overflow:hidden;height:auto;margin-top:.16rem}.ydoc-container-content .ydoc-example code{overflow-y:hidden;display:block;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace}.ydoc-container-content .ydoc-example .extend,.ydoc-container-content .ydoc-example .fold{color:#337ab7;position:absolute;left:15px;bottom:10px;cursor:pointer}.ydoc-container-content .ydoc-example .extend:hover,.ydoc-container-content .ydoc-example .fold:hover{text-decoration:underline}.ydoc-container-content .docs-sidebar{background:#fff;z-index:9999;overflow:hidden}.ydoc-container-content .docs-sidebar .docs-sidenav{padding-left:0;overflow-x:hidden}.ydoc-container-content .docs-sidebar .docs-sidenav li{line-height:.42rem;height:.42rem;font-size:14px;overflow:hidden}.ydoc-container-content .docs-sidebar .docs-sidenav li a{padding:0 .16rem 0 .28rem;border-left:2px solid #fff;text-overflow:ellipsis;color:#666;line-height:.42rem;height:.42rem;display:inline-block;width:100%;position:relative;overflow:hidden;white-space:nowrap;transition:all .4s}.ydoc-container-content .docs-sidebar .docs-sidenav li a:hover{background-color:#fff8ef;border-left-color:#fff8ef}.ydoc-container-content .docs-sidebar .docs-sidenav li.active a,.ydoc-container-content .docs-sidebar .docs-sidenav li.active a:hover{border-left:2px solid #ff503f;color:#ff503f}.ydoc-container-content .docs-sidebar .docs-sidenav ul{width:100%}.ydoc-container-content .docs-sidebar .docs-sidenav ul li,.ydoc-container-content .docs-sidebar .docs-sidenav ul li.active{font-size:.12rem}.ydoc-container-content .docs-sidebar .docs-sidenav ul li a,.ydoc-container-content .docs-sidebar .docs-sidenav ul li a:hover,.ydoc-container-content .docs-sidebar .docs-sidenav ul li.active a,.ydoc-container-content .docs-sidebar .docs-sidenav ul li.active a:hover{padding-left:48px}.ydoc-container-content .docs-sidebar.affix{position:fixed;top:20px}.ydoc-container-content .docs-sidebar.affix-bottom{position:absolute}.ydoc-container-content .docs-section{margin:10px}.ydoc-container-content .con-list-item{margin-bottom:.32rem}.open-panel{display:none;overflow:hidden;position:fixed;right:5%;bottom:50px;opacity:.5;width:40px;height:40px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2lpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpEMzJFMTVDOUNCMTQxMUU2OERGOEZGOEM1MkU1MUJENCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpEQThGQTIzRENEQTUxMUU2QTczMUM3QjRDM0UxNjQxMiIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpEQThGQTIzQ0NEQTUxMUU2QTczMUM3QjRDM0UxNjQxMiIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6ODZjMjliOTEtNjI0Zi1iZDQ3LWEzZWQtMDIwYzQwNDQxMjlkIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkQzMkUxNUM5Q0IxNDExRTY4REY4RkY4QzUyRTUxQkQ0Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+g3TxwAAAANRJREFUeNrsmT0KwkAQhWfXNGLhQewUW08i2FlZ7LZeQMRiC0EQwcvYixcRrbRc35DYaJNGdpD34EsRUnzs/AQSF0IQpAN2YAq6wEmZZPAABxD1RtVwAQMpHz2YHtBTm4Cxx2VrRO4zQ7BSwZnYzdw3PWc1fS+246wLCgX/XrBq81BK6SdvlhhjZolNlLhNKTjFFOQe5B7kHuQUU5B7kHuQe5BTTEEKUvArWQWfhgVvKng0LLhXwQU4G5Q7geW7B0dgA+5S/woo1nPgCtZSf+WXlwADAGEgKNreXHUxAAAAAElFTkSuQmCC) no-repeat}@media screen and (min-width:1200px){.ydoc-banner-area,.ydoc-container-content,.ydoc-header-area{width:1200px}}@media screen and (min-width:992px) and (max-width:1199px){.ydoc-banner-area,.ydoc-container-content,.ydoc-header-area{width:992px}}@media screen and (min-width:768px) and (max-width:991px){.ydoc-banner-area,.ydoc-container-content,.ydoc-header-area{width:768px}}@media screen and (max-width:767px){.mask,.ydoc-container-content .content-left{position:fixed;top:0;transition:all .4s;height:100%}.mask,.ydoc{height:100%}.mask{display:none;left:0;z-index:0;width:100%;background-color:transparent}.show{background-color:rgba(0,0,0,.35)}.ydoc-container-home{padding:.2rem}.ydoc-container-home .home-page-desc{font-size:.14rem}.ydoc-container-content .content-right{width:100%!important}.ydoc-container-content .content-left{display:block;right:-75%;width:75%!important;background-color:#222;z-index:1;-webkit-transition:all .4s}.ydoc .footer,.ydoc-container-content .docs-sidebar.affix{position:static}.ydoc-container-content .content-left:before{content:'目录:';display:block;padding:.28rem;color:#999;background-color:#2c2c2c;font-weight:700}.ydoc-container-content .docs-sidebar,.ydoc-container-content .docs-sidebar .docs-sidenav li a:hover{background-color:#222}.ydoc-container-content .docs-sidebar .docs-sidenav li a{color:#999;border-color:#222;transition:all .4s}.ydoc-container-content .instructions-con-runner{display:none}.open-panel{display:block;cursor:default;transition:all .4s;-webkit-transition:all .4s}.ydoc-banner-area,.ydoc-container-content,.ydoc-header-area{width:100%}.ydoc{overflow:scroll;-webkit-overflow-scrolling:touch}.ydoc .navbar-toggle{display:inline-block}.ydoc .ydoc-nav{display:none;clear:both;width:100%}.ydoc .ydoc-nav .navbar-left,.ydoc .ydoc-nav .navbar-right{width:100%}.ydoc .ydoc-nav .navbar-left li,.ydoc .ydoc-nav .navbar-right li{width:100%;text-align:left;display:inline-block}.ydoc .ydoc-nav .navbar-left li a,.ydoc .ydoc-nav .navbar-right li a{padding:0;width:100%;display:inline-block;transition:all .4s}.ydoc .ydoc-nav .navbar-left li a:hover,.ydoc .ydoc-nav .navbar-right li a:hover{color:#ff503f}.ydoc .ydoc-banner-bg{padding-bottom:0}.ydoc .ydoc-banner-home{padding:.4rem 0}.ydoc .ydoc-banner-home .home-title{font-size:.6rem}.ydoc .ydoc-banner-home .home-desc{padding:0 .2rem;font-size:.2rem}.ydoc .home-page-title{font-size:.24rem}.off-webkit-scroll{-webkit-overflow-scrolling:auto}.hidden{overflow:hidden}.ydoc-second-header,.ydoc-second-header .ydoc-nav{display:block}.ydoc-second-header .ydoc-nav li{float:left}}.anchorjs-link{display:none}@media screen and (min-width:768px){.ydoc-container-content .staticsidenav .docs-sidebar.affix{position:static}.ydoc-container-content .staticsidenav .docs-sidebar .docs-sidenav{overflow:inherit}.staticsidenav .docs-sidebar{overflow:initial}}.markdown-body code{color:#c7254e;background-color:#f9f2f4;font-family:Menlo,Monaco,Consolas,Courier New,monospace}.markdown-body pre{display:block;margin:0 0 10px;word-break:break-all;color:#333;background-color:#fafafa;border:1px solid #ccc}.markdown-body::after,.markdown-body::before{display:table;content:""}.markdown-body pre code{font-size:inherit;color:inherit;white-space:pre-wrap;border-radius:0}.markdown-body em{font-style:italic}.markdown-body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:14px;line-height:1.5;word-wrap:break-word}.markdown-body a{color:#337ab7}.markdown-body::after{clear:both}.markdown-body>:first-child{margin-top:0!important}.markdown-body>:last-child{margin-bottom:0!important}.markdown-body a:not([href]){color:inherit;text-decoration:none}.markdown-body .absent{color:#c00}.markdown-body .anchor{float:left;padding-right:4px;margin-left:-20px;line-height:1}.markdown-body blockquote,.markdown-body dl,.markdown-body ol,.markdown-body p,.markdown-body pre,.markdown-body table,.markdown-body ul{margin-top:0;margin-bottom:16px}.markdown-body hr{height:.25em;padding:0;margin:24px 0;background-color:#e7e7e7;border:0}.markdown-body blockquote{padding:0 1em;color:#777;border-left:.25em solid #ddd}.markdown-body h1,.markdown-body h2{padding-bottom:.3em;border-bottom:1px solid #eee}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body .loweralpha{list-style-type:lower-alpha}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:24px;margin-bottom:16px;font-weight:600;line-height:1.25}.markdown-body h1 .octicon-link,.markdown-body h2 .octicon-link,.markdown-body h3 .octicon-link,.markdown-body h4 .octicon-link,.markdown-body h5 .octicon-link,.markdown-body h6 .octicon-link{color:#000;vertical-align:middle;visibility:hidden}.markdown-body h1:hover .anchor,.markdown-body h2:hover .anchor,.markdown-body h3:hover .anchor,.markdown-body h4:hover .anchor,.markdown-body h5:hover .anchor,.markdown-body h6:hover .anchor{text-decoration:none}.markdown-body h1:hover .anchor .octicon-link,.markdown-body h2:hover .anchor .octicon-link,.markdown-body h3:hover .anchor .octicon-link,.markdown-body h4:hover .anchor .octicon-link,.markdown-body h5:hover .anchor .octicon-link,.markdown-body h6:hover .anchor .octicon-link{visibility:visible}.markdown-body h1 code,.markdown-body h1 tt,.markdown-body h2 code,.markdown-body h2 tt,.markdown-body h3 code,.markdown-body h3 tt,.markdown-body h4 code,.markdown-body h4 tt,.markdown-body h5 code,.markdown-body h5 tt,.markdown-body h6 code,.markdown-body h6 tt{font-size:inherit}.markdown-body h1{font-size:2em}.markdown-body h2{font-size:1.5em}.markdown-body h3{font-size:1.25em}.markdown-body h4{font-size:1.15em}.markdown-body h5{font-size:.875em}.markdown-body h6{font-size:.85em;color:#777}.markdown-body ol,.markdown-body ul{padding-left:2em;list-style-type:disc}.markdown-body ol.no-list,.markdown-body ul.no-list{padding:0;list-style-type:none}.markdown-body ol ol,.markdown-body ol ul,.markdown-body ul ol,.markdown-body ul ul{margin-top:0;margin-bottom:0}.markdown-body li>p{margin-top:16px}.markdown-body li+li{margin-top:.25em}.markdown-body dl{padding:0}.markdown-body dl dt{padding:0;margin-top:16px;font-size:1em;font-style:italic;font-weight:700}.markdown-body dl dd{padding:0 16px;margin-bottom:16px}.markdown-body table{display:block;width:100%;overflow:auto;word-break:normal;word-break:keep-all}.markdown-body table th{font-weight:700}.markdown-body table td,.markdown-body table th{padding:6px 13px;border:1px solid #ddd}.markdown-body table tr{background-color:#fff;border-top:1px solid #ccc}.markdown-body table tr:nth-child(2n){background-color:#f8f8f8}.markdown-body img{max-width:100%;box-sizing:content-box;background-color:#fff}.markdown-body img[align=right]{padding-left:20px}.markdown-body img[align=left]{padding-right:20px}.markdown-body .emoji{max-width:none;vertical-align:text-top;background-color:transparent}.markdown-body span.frame{display:block;overflow:hidden}.markdown-body span.frame>span{display:block;float:left;width:auto;padding:7px;margin:13px 0 0;overflow:hidden;border:1px solid #ddd}.markdown-body span.frame span img{display:block;float:left}.markdown-body span.frame span span{display:block;padding:5px 0 0;clear:both;color:#333}.markdown-body span.align-center{display:block;overflow:hidden;clear:both}.markdown-body span.align-center>span{display:block;margin:13px auto 0;overflow:hidden;text-align:center}.markdown-body span.align-center span img{margin:0 auto;text-align:center}.markdown-body span.align-right{display:block;overflow:hidden;clear:both}.markdown-body span.align-right>span{display:block;margin:13px 0 0;overflow:hidden;text-align:right}.markdown-body span.align-right span img{margin:0;text-align:right}.markdown-body span.float-left{display:block;float:left;margin-right:13px;overflow:hidden}.markdown-body span.float-left span{margin:13px 0 0}.markdown-body span.float-right{display:block;float:right;margin-left:13px;overflow:hidden}.markdown-body span.float-right>span{display:block;margin:13px auto 0;overflow:hidden;text-align:right}.markdown-body code,.markdown-body tt{padding:.2em 0;margin:0;font-size:85%;background-color:rgba(0,0,0,.04);border-radius:3px}.markdown-body code:after,.markdown-body code:before,.markdown-body tt:after,.markdown-body tt:before{letter-spacing:-.2em;content:"\00a0"}.markdown-body code br,.markdown-body tt br{display:none}.markdown-body del code{text-decoration:inherit}.markdown-body pre>code{padding:0;margin:0;font-size:100%;word-break:normal;white-space:pre;background:0 0;border:0}.markdown-body .highlight{margin-bottom:16px}.markdown-body .highlight pre,.markdown-body pre{padding:16px;overflow:auto;font-size:85%;line-height:1.45;border-radius:3px}.markdown-body .highlight pre{margin-bottom:0;word-break:normal}.markdown-body pre{word-wrap:normal}.markdown-body pre code,.markdown-body pre tt{display:inline;max-width:initial;padding:0;margin:0;overflow:initial;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}.glyphicon,.markdown-body kbd,.yo-badge{display:inline-block}.markdown-body pre code:after,.markdown-body pre code:before,.markdown-body pre tt:after,.markdown-body pre tt:before{content:normal}.markdown-body kbd{padding:3px 5px;font-size:11px;line-height:10px;color:#555;vertical-align:middle;background-color:#fcfcfc;border:1px solid #ccc;border-bottom-color:#bbb;border-radius:3px;box-shadow:inset 0 -1px 0 #bbb}#readme.contributing>div{max-height:250px;overflow:auto}#readme .markdown-body,#readme .plain{background-color:#fff;border:1px solid #ddd;border-bottom-left-radius:3px;border-bottom-right-radius:3px;padding:30px;word-wrap:break-word}#readme .plain pre{font-size:15px;white-space:pre-wrap}#readme .markdown-body{border:0;padding:30px;border-radius:0}#readme table[data-table-type=yaml-metadata]{line-height:1;font-size:12px}#readme table[data-table-type=yaml-metadata] table{margin:0}.yo-badge{padding:1px .1rem;color:#fff;font-size:.12rem;margin-left:10px;border-radius:12px;font-weight:400}.yo-badge-primary{color:#337ab7;border:1px solid #337ab7}.yo-badge-success{color:#5cb85c;border:1px solid #5cb85c}.yo-badge-info{color:#5bc0de;border:1px solid #5bc0de}.yo-badge-warning{color:#f0ad4e;border:1px solid #f0ad4e}.yo-badge-danger{color:#d9534f;border:1px solid #d9534f}.glyphicon{position:relative;top:1px;font-family:ydocfont;font-style:normal;font-weight:700;font-size:.2rem;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-ok:before{content:"\f078"}.text-success{color:#3c763d}.release-date{font-size:1em;color:grey}.change-type{font-size:1em;color:#ff503f}.markdown-body blockquote.api{border-left:none;padding:0;color:#ff503f}.markdown-body .docs-section h1,.markdown-body .docs-section h2{border-bottom:none}.markdown-body .docs-section li .ydoc-example{left:-2em}.markdown-body .docs-section .blockquote.api{padding:0 0 .15rem}.markdown-body .docs-section h3{color:#ff503f;border-left-color:#ff503f;font-weight:400}.markdown-body .docs-section h3 a{color:#ff503f}.markdown-body .docs-section .con-list-item .con-head{font-size:22px;font-weight:700;border-bottom:1px solid #ddd;margin:0 0 .2rem;padding:.1rem 0;width:100%}.markdown-body .docs-section .con-list-item .prop-type{font-size:14px}.markdown-body .docs-section .con-list-item:last-child{border:none}.markdown-body .docs-section .hide-params{display:none}.markdown-body .docs-section .show-params{display:table-row}.markdown-body .docs-section .extend-params,.markdown-body .docs-section .fold-params{color:#337ab7;margin:-.1rem 0 .15rem;display:block;cursor:pointer}.instructions{margin-bottom:.2rem;overflow:hidden}.instructions-con{display:flex;flex-direction:row}.instructions-con-info{flex:1;overflow:hidden;padding-right:10px}.instructions-con-runner{width:3.2rem;height:6.5rem;padding:0 .16rem;background:url(images/feed.png) no-repeat;background-size:100%;position:relative}.instructions-con-runner .instructions-iframe{background:#fff;width:2.9rem;height:5.1rem;position:absolute;top:.66rem;left:.18rem;border:0}.ui-badge{color:#fff;background-color:#ff503f;font-size:.12rem;padding:.03rem .08rem;border-radius:.03rem}.ydoc-container-content .nosidebar{width:100%}
\ No newline at end of file
+@charset "UTF-8";.syntaxhighlighter .toolbar a,.syntaxhighlighter.printing a{text-decoration:none!important}.ydoc .task-list,menu,ol,ul{list-style:none}.syntaxhighlighter a,.syntaxhighlighter code,.syntaxhighlighter div,.syntaxhighlighter table,.syntaxhighlighter table caption,.syntaxhighlighter table tbody,.syntaxhighlighter table td,.syntaxhighlighter table thead,.syntaxhighlighter table tr,.syntaxhighlighter textarea{-moz-border-radius:0!important;-webkit-border-radius:0!important;background:0 0!important;border:0!important;bottom:auto!important;float:none!important;height:auto!important;left:auto!important;line-height:1.1em!important;margin:0!important;outline:0!important;overflow:visible!important;padding:0!important;position:static!important;right:auto!important;text-align:left!important;top:auto!important;vertical-align:baseline!important;width:auto!important;box-sizing:content-box!important;font-family:Consolas,"Bitstream Vera Sans Mono","Courier New",Courier,monospace!important;font-weight:400!important;font-style:normal!important;font-size:1em!important;min-height:inherit!important;min-height:auto!important}.ydoc .navbar-brand>li,.ydoc-nav li{float:left}.markdown-body .anchor:focus,a,button,input,select,textarea{outline:0}.syntaxhighlighter,.syntaxhighlighter table td.code .container{position:relative!important}.syntaxhighlighter,.syntaxhighlighter table,.syntaxhighlighter table td.code{width:100%!important}.syntaxhighlighter .bold,.syntaxhighlighter .keyword,.syntaxhighlighter .script,.syntaxhighlighter.printing .script{font-weight:700!important}.syntaxhighlighter{margin:1em 0!important;overflow:auto!important;font-size:1em!important}.syntaxhighlighter.source{overflow:hidden!important}.syntaxhighlighter .italic{font-style:italic!important}.syntaxhighlighter .line{white-space:pre!important}.syntaxhighlighter table caption{text-align:left!important;padding:.5em 0 .5em 1em!important}.syntaxhighlighter table td.code .container textarea{box-sizing:border-box!important;position:absolute!important;left:0!important;top:0!important;width:100%!important;height:100%!important;border:none!important;background:#fff!important;padding-left:1em!important;overflow:hidden!important;white-space:pre!important}.syntaxhighlighter table td.gutter .line{text-align:right!important;padding:0 .5em 0 1em!important}.syntaxhighlighter table td.code .line{padding:0 1em!important}.syntaxhighlighter.nogutter td.code .container textarea,.syntaxhighlighter.nogutter td.code .line{padding-left:0!important}.syntaxhighlighter.show{display:block!important}.syntaxhighlighter.collapsed table{display:none!important}.syntaxhighlighter.collapsed .toolbar{padding:.1em .8em 0!important;font-size:1em!important;position:static!important;width:auto!important;height:auto!important}.syntaxhighlighter.collapsed .toolbar span{display:inline!important;margin-right:1em!important}.syntaxhighlighter.collapsed .toolbar span a{padding:0!important;display:none!important}.syntaxhighlighter .toolbar span.title,.syntaxhighlighter.collapsed .toolbar span a.expandSource{display:inline!important}.syntaxhighlighter .toolbar{position:absolute!important;right:1px!important;top:1px!important;width:11px!important;height:11px!important;font-size:10px!important;z-index:10!important}.syntaxhighlighter .toolbar a{display:block!important;text-align:center!important;padding-top:1px!important}.syntaxhighlighter .toolbar a.expandSource,.syntaxhighlighter.printing .toolbar{display:none!important}.syntaxhighlighter.ie{font-size:.9em!important;padding:1px 0!important}.syntaxhighlighter.ie .toolbar{line-height:8px!important}.syntaxhighlighter.ie .toolbar a{padding-top:0!important}.syntaxhighlighter.printing .line.alt1 .content,.syntaxhighlighter.printing .line.alt2 .content,.syntaxhighlighter.printing .line.highlighted .number,.syntaxhighlighter.printing .line.highlighted.alt1 .content,.syntaxhighlighter.printing .line.highlighted.alt2 .content{background:0 0!important}.syntaxhighlighter.printing .line .number{color:#bbb!important}.syntaxhighlighter.printing .line .content,.syntaxhighlighter.printing .plain,.syntaxhighlighter.printing .plain a{color:#000!important}.syntaxhighlighter.printing .comments,.syntaxhighlighter.printing .comments a{color:#008200!important}.syntaxhighlighter.printing .string,.syntaxhighlighter.printing .string a{color:#00f!important}.syntaxhighlighter.printing .keyword{color:#069!important;font-weight:700!important}.syntaxhighlighter.printing .preprocessor{color:gray!important}.syntaxhighlighter.printing .variable{color:#a70!important}.syntaxhighlighter.printing .value{color:#090!important}.syntaxhighlighter.printing .functions{color:#ff1493!important}.syntaxhighlighter.printing .constants{color:#06c!important}.syntaxhighlighter.printing .color1,.syntaxhighlighter.printing .color1 a{color:gray!important}.syntaxhighlighter.printing .color2,.syntaxhighlighter.printing .color2 a{color:#ff1493!important}.syntaxhighlighter.printing .color3,.syntaxhighlighter.printing .color3 a{color:red!important}.syntaxhighlighter .line.highlighted.number,.syntaxhighlighter table caption,.syntaxhighlighter.printing .break,.syntaxhighlighter.printing .break a{color:#000!important}.syntaxhighlighter,.syntaxhighlighter .line.alt1,.syntaxhighlighter .line.alt2{background-color:#fff!important}.syntaxhighlighter .line.highlighted.alt1,.syntaxhighlighter .line.highlighted.alt2{background-color:#e0e0e0!important}.syntaxhighlighter .gutter{color:#afafaf!important}.syntaxhighlighter .gutter .line{border-right:3px solid #6ce26c!important}.syntaxhighlighter .gutter .line.highlighted{background-color:#6ce26c!important;color:#fff!important}.syntaxhighlighter.printing .line .content{border:none!important}.syntaxhighlighter.collapsed{overflow:visible!important}.syntaxhighlighter.collapsed .toolbar{color:#00f!important;background:#fff!important;border:1px solid #6ce26c!important}.syntaxhighlighter.collapsed .toolbar a{color:#00f!important}.syntaxhighlighter.collapsed .toolbar a:hover{color:red!important}.syntaxhighlighter .toolbar{color:#fff!important;background:#6ce26c!important;border:none!important}.syntaxhighlighter .toolbar a{color:#fff!important}.syntaxhighlighter .plain,.syntaxhighlighter .plain a,.syntaxhighlighter .toolbar a:hover{color:#000!important}.syntaxhighlighter .comments,.syntaxhighlighter .comments a{color:#008200!important}.syntaxhighlighter .string,.syntaxhighlighter .string a{color:#00f!important}.syntaxhighlighter .keyword{color:#069!important}.syntaxhighlighter .preprocessor{color:gray!important}.syntaxhighlighter .variable{color:#a70!important}.syntaxhighlighter .value{color:#090!important}.syntaxhighlighter .functions{color:#ff1493!important}.syntaxhighlighter .constants{color:#06c!important}.syntaxhighlighter .script{color:#069!important;background-color:none!important}.syntaxhighlighter .color1,.syntaxhighlighter .color1 a{color:gray!important}.syntaxhighlighter .color2,.syntaxhighlighter .color2 a{color:#ff1493!important}.syntaxhighlighter .color3,.syntaxhighlighter .color3 a{color:red!important}html{font-size:100px;height:100%}blockquote,body,button,dd,dl,fieldset,figure,form,h1,h2,h3,h4,h5,h6,input,legend,ol,p,pre,td,textarea,th,ul,xmp{margin:0;padding:0}body,button,code,input,kbd,pre,samp,select,textarea,tt,xmp{height:100%;line-height:1.5;font-family:tahoma,arial,"Hiragino Sans GB",simsun,sans-serif}.clr,.clrfix:after{height:0;clear:both}big,button,h1,h2,h3,h4,h5,h6,input,select,small,textarea{font-size:100%}h1,h2,h3,h4,h5,h6{font-family:tahoma,arial,"Hiragino Sans GB","微软雅黑",simsun,sans-serif;font-weight:400}.ydoc .task-list,.ydoc .ydocIcon{font-family:ydocfont}address,cite,dfn,em,i,optgroup,var{font-style:normal}table{border-collapse:collapse;border-spacing:0;text-align:left}caption,th{text-align:inherit}fieldset,img{border:0}button,img,input,object,select,textarea{vertical-align:middle}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}audio,canvas,video{display:inline-block}blockquote:after,blockquote:before,q:after,q:before{content:"\0020"}textarea{overflow:auto;resize:vertical}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}.mark,mark{background-color:#fcf8e3;padding:.2em}a,del,ins,s,u{text-decoration:none}sub,sup{vertical-align:baseline}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.ydoc,.ydoc-header,.ydoc-nav{font-size:.14rem}*,::after,::before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-tap-highlight-color:transparent}.clr{overflow:hidden}.clrfix{zoom:1}.clrfix:after{display:block;visibility:hidden;content:"."}@font-face{font-family:ydocfont;font-style:normal;font-weight:400;src:url(fonts/ydoc.eot?v=1.0.0);src:url(fonts/ydoc.eot?#iefixiefix&v=1.0.0) format("embedded-opentype"),url(fonts/ydoc.woff?v=1.0.0) format("woff"),url(fonts/ydoc.ttf?v=1.0.0) format("truetype"),url(source/fonts/ydoc.svg?v=1.0.0#icomoonregular) format("svg")}.ydoc{background:#fafafa;overflow:hidden;height:auto;min-height:100%;position:relative}.ydoc-header{line-height:.48rem;color:#3b3b3b;text-align:right;padding:0 .2rem;background-color:#252a31;background-image:-moz-linear-gradient(top,#333,#222);background-image:-ms-linear-gradient(top,#333,#222);background-image:-webkit-gradient(linear,0 0,0 100%,from(#333),to(#222));background-image:-webkit-linear-gradient(top,#333,#222);background-image:-o-linear-gradient(top,#333,#222);background-image:linear-gradient(top,#333,#222);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#333333', endColorstr='#222222', GradientType=0);-webkit-box-shadow:0 1px 3px rgba(0,0,0,.25),inset 0 -1px 0 rgba(0,0,0,.1);-moz-box-shadow:0 1px 3px rgba(0,0,0,.25),inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:0 1px 3px rgba(0,0,0,.25),inset 0 -1px 0 rgba(0,0,0,.1)}.ydoc-header a,.ydoc-nav{color:#fff}.ydoc-header-area{margin:0 auto}.ydoc .navbar-brand{width:auto;float:left;margin-right:20px;font-weight:700}.ydoc-nav li a{padding:0 15px;color:#fff;transition:all .4s}.ydoc-nav .active,.ydoc-nav .active a,.ydoc-nav li a:hover{color:#ff503f}.ydoc-nav .navbar-right{float:right}.ydoc-nav .navbar-left{float:left}.ydoc-second-header{background:#252a31}.ydoc-second-header a{color:#fff}.ydoc-second-header .ydoc-nav{float:right}.ydoc .task-list .checkbox{vertical-align:baseline;user-select:none}.ydoc .ydoc-header:after{content:'';display:block;clear:both}.ydoc .version-selector{color:#fff;background-color:#ff503f;line-height:20px;margin-top:12px;padding:2px 4px;border-radius:4px;min-width:50px;text-align:center}.ydoc .version-selector .icon{vertical-align:bottom;display:inline-block;width:14px}.ydoc .m-version{float:left;color:#fff;cursor:pointer;position:relative}.ydoc .m-version-mask{display:none;position:absolute;left:0;top:.4rem;z-index:1;background-color:#fff;border:1px solid rgba(0,0,0,.15);border-radius:4px;box-shadow:0 6px 12px rgba(0,0,0,.175)}.ydoc .m-version-item{line-height:normal;text-align:center}.ydoc .m-version-item .link{color:#333}.ydoc .m-version-item .active{background-color:#ccc}.ydoc .link{display:inline-block;color:#000;padding:.08rem .3rem;width:100%;transition:all .4s}.ydoc .link:hover{background-color:#eee}.ydoc .navbar-toggle{float:right;font-size:.22rem;display:none;background:0 0;border:none;cursor:pointer;color:#fff;line-height:.48rem}.ydoc .ydoc-banner-bg{background:url(images/grid-18px-masked.png) 0 top repeat-x;padding-bottom:121px}.ydoc .ydoc-banner-bg .desc{font-family:"微软雅黑"}.ydoc .ydoc-banner-home{padding:.8rem 0;text-align:center}.ydoc .ydoc-banner-home .home-title{margin-bottom:.2rem;font-size:.8rem;font-weight:700}.ydoc .ydoc-banner-home .home-desc{padding:0 1rem .16rem;font-size:.28rem}.ydoc .ydoc-banner-home .home-btn{display:inline-block;margin:.04rem;padding:.1rem .4rem;min-width:1.5rem;border:1px solid;border-radius:.05rem;color:#ff503f;font-size:.2rem;font-weight:700;transition:all .4s}.ydoc .ydoc-banner-home .home-btn:hover{text-decoration:none;border-color:#ff503f;background-color:#ff503f;color:#fff}.ydoc .ydoc-banner-home .home-version{display:block;margin-top:.15rem;color:#ff503f;font-size:.14rem}.ydoc .home-page-title{text-align:center;margin-top:.6rem;border:none;font-size:.35rem}.ydoc .home-page-desc{text-align:center;width:80%;margin:.2rem auto;color:#666;font-size:.2rem}.ydoc .home-thumbnail{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-around;-moz-box-pack:justify;-moz-justify-content:space-around;-ms-flex-pack:justify;justify-content:space-around;-webkit-flex-wrap:wrap;-moz-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:0 .6rem;margin:0;list-style:none}.ydoc .home-item{overflow:hidden;width:200px;-webkit-background-clip:padding-box!important;-moz-background-clip:padding-box!important;-ms-background-clip:padding-box!important;background-clip:padding-box!important}.ydoc .home-thumbnail-img{margin:.16rem 0;text-align:center}.ydoc .home-thumbnail-src{margin:10px 3%;vertical-align:middle;max-width:1rem;max-height:1rem}.ydoc .home-thumbnail-name{color:#444;text-align:center;font-size:.18rem;margin-top:.3rem;margin-bottom:.16rem}.ydoc .home-thumbnail-desc{color:#999;text-align:center;font-size:.14rem}.ydoc-banner{color:#fff;font-size:.18rem;padding:20px 30px}.ydoc-banner-area{margin:0 auto}.ydoc-banner-area h1{font-size:.28rem;margin-bottom:.1rem;color:#333}.ydoc-banner-area p{line-height:1.7;margin:0 0 10px;color:#333}.ydoc .footer{text-align:center;position:absolute;left:0;bottom:0;overflow:hidden;margin:0 auto;padding:40px 0 60px;width:100%;color:#fff;background:#252a31;font-size:14px}.ydoc .footer .copyright{font-size:14px;text-align:center;color:#a1a1a1}.ydoc .footer .copyright a{color:#a1a1a1;text-decoration:underline}.ydoc-container{clear:both;overflow:hidden}.ydoc-container-content{overflow:hidden;background-color:#fff;margin:.2rem auto;padding:.24rem 0;box-shadow:0 0 3px #e5e5e5;position:relative}.ydoc-container-content .static-code-content{width:100%;background:#fff;padding:.15rem}.ydoc-container-content .content-left,.ydoc-container-content .content-right{float:left;position:relative;min-height:1px}.ydoc-container-content .content-right{box-sizing:border-box;width:75%;background:#fff;padding:15px;float:right;min-height:500px}.ydoc-container-content .use-sidebar{border-left:1px solid #eee}.ydoc-container-content .hashlink{display:none}.ydoc-container-content .subject:hover .hashlink{display:inline}.ydoc-container-content .right{float:right}.ydoc-container-content .content-left{width:25%}.ydoc-container-content .docs-table del{text-decoration:line-through;color:#999}.ydoc-container-content .ydoc-example{position:relative;overflow:hidden;height:auto;margin-top:.16rem}.ydoc-container-content .ydoc-example code{overflow-y:hidden;display:block;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace}.ydoc-container-content .ydoc-example .extend,.ydoc-container-content .ydoc-example .fold{color:#337ab7;position:absolute;left:15px;bottom:10px;cursor:pointer}.ydoc-container-content .ydoc-example .extend:hover,.ydoc-container-content .ydoc-example .fold:hover{text-decoration:underline}.ydoc-container-content .ydoc-example .ui-copy{position:absolute;right:0;top:-1px;text-align:center;line-height:20px;width:40px;height:24px;border-left:1px solid #ccc;border-bottom:1px solid #ccc;border-bottom-left-radius:3px;background-color:#efefef;cursor:pointer;user-select:none;transition:all .4s;transform:translateY(0)}.ydoc-container-content .ydoc-example .ui-copy:hover{transform:translateY(1px);background-color:#fff}.ydoc-container-content .ydoc-example .copy-tip{display:none;color:#fff;padding:4px;border-radius:4px;position:absolute;right:0;top:27px;background-color:rgba(0,0,0,.85)}.ydoc-container-content .ydoc-example .copy-tip:after{content:'';display:block;position:absolute;right:20px;top:-8px;transform:translateX(50%);width:0;height:0;border:4px solid transparent;border-bottom-color:rgba(0,0,0,.85)}.ydoc-container-content .docs-sidebar{background:#fff;z-index:9999;overflow:hidden}.ydoc-container-content .docs-sidebar .docs-sidenav{padding-left:0;overflow-x:hidden}.ydoc-container-content .docs-sidebar .docs-sidenav li{line-height:.42rem;height:.42rem;font-size:14px;overflow:hidden}.ydoc-container-content .docs-sidebar .docs-sidenav li a{padding:0 .16rem 0 .28rem;border-left:2px solid #fff;text-overflow:ellipsis;color:#666;line-height:.42rem;height:.42rem;display:inline-block;width:100%;position:relative;overflow:hidden;white-space:nowrap;transition:all .4s}.ydoc-container-content .docs-sidebar .docs-sidenav li a:hover{background-color:#fff8ef;border-left-color:#fff8ef}.ydoc-container-content .docs-sidebar .docs-sidenav li.active a,.ydoc-container-content .docs-sidebar .docs-sidenav li.active a:hover{border-left:2px solid #ff503f;color:#ff503f}.ydoc-container-content .docs-sidebar .docs-sidenav ul{width:100%}.ydoc-container-content .docs-sidebar .docs-sidenav ul li,.ydoc-container-content .docs-sidebar .docs-sidenav ul li.active{font-size:.12rem}.ydoc-container-content .docs-sidebar .docs-sidenav ul li a,.ydoc-container-content .docs-sidebar .docs-sidenav ul li a:hover,.ydoc-container-content .docs-sidebar .docs-sidenav ul li.active a,.ydoc-container-content .docs-sidebar .docs-sidenav ul li.active a:hover{padding-left:48px}.ydoc-container-content .docs-sidebar.affix{position:fixed;top:20px}.ydoc-container-content .docs-sidebar.affix-bottom{position:absolute}.ydoc-container-content .docs-section{margin:10px}.ydoc-container-content .con-list-item{margin-bottom:.32rem}.open-panel{display:none;overflow:hidden;position:fixed;right:5%;bottom:50px;opacity:.5;width:40px;height:40px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2lpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpEMzJFMTVDOUNCMTQxMUU2OERGOEZGOEM1MkU1MUJENCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpEQThGQTIzRENEQTUxMUU2QTczMUM3QjRDM0UxNjQxMiIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpEQThGQTIzQ0NEQTUxMUU2QTczMUM3QjRDM0UxNjQxMiIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6ODZjMjliOTEtNjI0Zi1iZDQ3LWEzZWQtMDIwYzQwNDQxMjlkIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkQzMkUxNUM5Q0IxNDExRTY4REY4RkY4QzUyRTUxQkQ0Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+g3TxwAAAANRJREFUeNrsmT0KwkAQhWfXNGLhQewUW08i2FlZ7LZeQMRiC0EQwcvYixcRrbRc35DYaJNGdpD34EsRUnzs/AQSF0IQpAN2YAq6wEmZZPAABxD1RtVwAQMpHz2YHtBTm4Cxx2VrRO4zQ7BSwZnYzdw3PWc1fS+246wLCgX/XrBq81BK6SdvlhhjZolNlLhNKTjFFOQe5B7kHuQUU5B7kHuQe5BTTEEKUvArWQWfhgVvKng0LLhXwQU4G5Q7geW7B0dgA+5S/woo1nPgCtZSf+WXlwADAGEgKNreXHUxAAAAAElFTkSuQmCC) no-repeat}@media screen and (min-width:1200px){.ydoc-banner-area,.ydoc-container-content,.ydoc-header-area{width:1200px}}@media screen and (min-width:992px) and (max-width:1199px){.ydoc-banner-area,.ydoc-container-content,.ydoc-header-area{width:992px}}@media screen and (min-width:768px) and (max-width:991px){.ydoc-banner-area,.ydoc-container-content,.ydoc-header-area{width:768px}}@media screen and (max-width:767px){.mask,.ydoc-container-content .content-left{position:fixed;top:0;transition:all .4s;height:100%}.mask,.ydoc{height:100%}.mask{display:none;left:0;z-index:0;width:100%;background-color:transparent}.show{background-color:rgba(0,0,0,.35)}.ydoc-container-home{padding:.2rem}.ydoc-container-home .home-page-desc{font-size:.14rem}.ydoc-container-content .content-right{width:100%!important}.ydoc-container-content .content-left{display:block;right:-75%;width:75%!important;background-color:#222;z-index:1;-webkit-transition:all .4s}.ydoc .footer,.ydoc-container-content .docs-sidebar.affix{position:static}.ydoc-container-content .content-left:before{content:'目录:';display:block;padding:.28rem;color:#999;background-color:#2c2c2c;font-weight:700}.ydoc-container-content .docs-sidebar,.ydoc-container-content .docs-sidebar .docs-sidenav li a:hover{background-color:#222}.ydoc-container-content .docs-sidebar .docs-sidenav li a{color:#999;border-color:#222;transition:all .4s}.ydoc-container-content .instructions-con-runner{display:none}.open-panel{display:block;cursor:default;transition:all .4s;-webkit-transition:all .4s}.ydoc-banner-area,.ydoc-container-content,.ydoc-header-area{width:100%}.ydoc{overflow:scroll;-webkit-overflow-scrolling:touch}.ydoc .navbar-toggle{display:inline-block}.ydoc .ydoc-nav{display:none;clear:both;width:100%}.ydoc .ydoc-nav .navbar-left,.ydoc .ydoc-nav .navbar-right{width:100%}.ydoc .ydoc-nav .navbar-left li,.ydoc .ydoc-nav .navbar-right li{width:100%;text-align:left;display:inline-block}.ydoc .ydoc-nav .navbar-left li a,.ydoc .ydoc-nav .navbar-right li a{padding:0;width:100%;display:inline-block;transition:all .4s}.ydoc .ydoc-nav .navbar-left li a:hover,.ydoc .ydoc-nav .navbar-right li a:hover{color:#ff503f}.ydoc .ydoc-banner-bg{padding-bottom:0}.ydoc .ydoc-banner-home{padding:.4rem 0}.ydoc .ydoc-banner-home .home-title{font-size:.6rem}.ydoc .ydoc-banner-home .home-desc{padding:0 .2rem;font-size:.2rem}.ydoc .home-page-title{font-size:.24rem}.off-webkit-scroll{-webkit-overflow-scrolling:auto}.hidden{overflow:hidden}.ydoc-second-header,.ydoc-second-header .ydoc-nav{display:block}.ydoc-second-header .ydoc-nav li{float:left}}.anchorjs-link{display:none}@media screen and (min-width:768px){.ydoc-container-content .staticsidenav .docs-sidebar.affix{position:static}.ydoc-container-content .staticsidenav .docs-sidebar .docs-sidenav{overflow:inherit}.staticsidenav .docs-sidebar{overflow:initial}}.markdown-body code{color:#c7254e;background-color:#f9f2f4;font-family:Menlo,Monaco,Consolas,Courier New,monospace}.markdown-body pre{display:block;margin:0 0 10px;word-break:break-all;color:#333;background-color:#fafafa;border:1px solid #ccc}.markdown-body::after,.markdown-body::before{display:table;content:""}.markdown-body pre code{font-size:inherit;color:inherit;white-space:pre-wrap;border-radius:0}.markdown-body em{font-style:italic}.markdown-body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:14px;line-height:1.5;word-wrap:break-word}.markdown-body a{color:#337ab7}.markdown-body::after{clear:both}.markdown-body>:first-child{margin-top:0!important}.markdown-body>:last-child{margin-bottom:0!important}.markdown-body a:not([href]){color:inherit;text-decoration:none}.markdown-body .absent{color:#c00}.markdown-body .anchor{float:left;padding-right:4px;margin-left:-20px;line-height:1}.markdown-body blockquote,.markdown-body dl,.markdown-body ol,.markdown-body p,.markdown-body pre,.markdown-body table,.markdown-body ul{margin-top:0;margin-bottom:16px}.markdown-body hr{height:.25em;padding:0;margin:24px 0;background-color:#e7e7e7;border:0}.markdown-body blockquote{padding:0 1em;color:#777;border-left:.25em solid #ddd}.markdown-body h1,.markdown-body h2{padding-bottom:.3em;border-bottom:1px solid #eee}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body .loweralpha{list-style-type:lower-alpha}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:24px;margin-bottom:16px;font-weight:600;line-height:1.25}.markdown-body h1 .octicon-link,.markdown-body h2 .octicon-link,.markdown-body h3 .octicon-link,.markdown-body h4 .octicon-link,.markdown-body h5 .octicon-link,.markdown-body h6 .octicon-link{color:#000;vertical-align:middle;visibility:hidden}.markdown-body h1:hover .anchor,.markdown-body h2:hover .anchor,.markdown-body h3:hover .anchor,.markdown-body h4:hover .anchor,.markdown-body h5:hover .anchor,.markdown-body h6:hover .anchor{text-decoration:none}.markdown-body h1:hover .anchor .octicon-link,.markdown-body h2:hover .anchor .octicon-link,.markdown-body h3:hover .anchor .octicon-link,.markdown-body h4:hover .anchor .octicon-link,.markdown-body h5:hover .anchor .octicon-link,.markdown-body h6:hover .anchor .octicon-link{visibility:visible}.markdown-body h1 code,.markdown-body h1 tt,.markdown-body h2 code,.markdown-body h2 tt,.markdown-body h3 code,.markdown-body h3 tt,.markdown-body h4 code,.markdown-body h4 tt,.markdown-body h5 code,.markdown-body h5 tt,.markdown-body h6 code,.markdown-body h6 tt{font-size:inherit}.markdown-body h1{font-size:2em}.markdown-body h2{font-size:1.5em}.markdown-body h3{font-size:1.25em}.markdown-body h4{font-size:1.15em}.markdown-body h5{font-size:.875em}.markdown-body h6{font-size:.85em;color:#777}.markdown-body ol,.markdown-body ul{padding-left:2em;list-style-type:disc}.markdown-body ol.no-list,.markdown-body ul.no-list{padding:0;list-style-type:none}.markdown-body ol ol,.markdown-body ol ul,.markdown-body ul ol,.markdown-body ul ul{margin-top:0;margin-bottom:0}.markdown-body li>p{margin-top:16px}.markdown-body li+li{margin-top:.25em}.markdown-body dl{padding:0}.markdown-body dl dt{padding:0;margin-top:16px;font-size:1em;font-style:italic;font-weight:700}.markdown-body dl dd{padding:0 16px;margin-bottom:16px}.markdown-body table{display:block;width:100%;overflow:auto;word-break:normal;word-break:keep-all}.markdown-body table th{font-weight:700}.markdown-body table td,.markdown-body table th{padding:6px 13px;border:1px solid #ddd}.markdown-body table tr{background-color:#fff;border-top:1px solid #ccc}.markdown-body table tr:nth-child(2n){background-color:#f8f8f8}.markdown-body img{max-width:100%;box-sizing:content-box;background-color:#fff}.markdown-body img[align=right]{padding-left:20px}.markdown-body img[align=left]{padding-right:20px}.markdown-body .emoji{max-width:none;vertical-align:text-top;background-color:transparent}.markdown-body span.frame{display:block;overflow:hidden}.markdown-body span.frame>span{display:block;float:left;width:auto;padding:7px;margin:13px 0 0;overflow:hidden;border:1px solid #ddd}.markdown-body span.frame span img{display:block;float:left}.markdown-body span.frame span span{display:block;padding:5px 0 0;clear:both;color:#333}.markdown-body span.align-center{display:block;overflow:hidden;clear:both}.markdown-body span.align-center>span{display:block;margin:13px auto 0;overflow:hidden;text-align:center}.markdown-body span.align-center span img{margin:0 auto;text-align:center}.markdown-body span.align-right{display:block;overflow:hidden;clear:both}.markdown-body span.align-right>span{display:block;margin:13px 0 0;overflow:hidden;text-align:right}.markdown-body span.align-right span img{margin:0;text-align:right}.markdown-body span.float-left{display:block;float:left;margin-right:13px;overflow:hidden}.markdown-body span.float-left span{margin:13px 0 0}.markdown-body span.float-right{display:block;float:right;margin-left:13px;overflow:hidden}.markdown-body span.float-right>span{display:block;margin:13px auto 0;overflow:hidden;text-align:right}.markdown-body code,.markdown-body tt{padding:.2em 0;margin:0;font-size:85%;background-color:rgba(0,0,0,.04);border-radius:3px}.markdown-body code:after,.markdown-body code:before,.markdown-body tt:after,.markdown-body tt:before{letter-spacing:-.2em;content:"\00a0"}.markdown-body code br,.markdown-body tt br{display:none}.markdown-body del code{text-decoration:inherit}.markdown-body pre>code{padding:0;margin:0;font-size:100%;word-break:normal;white-space:pre;background:0 0;border:0}.markdown-body .highlight{margin-bottom:16px}.markdown-body .highlight pre,.markdown-body pre{padding:16px;overflow:auto;font-size:85%;line-height:1.45;border-radius:3px}.markdown-body .highlight pre{margin-bottom:0;word-break:normal}.markdown-body pre{word-wrap:normal}.markdown-body pre code,.markdown-body pre tt{display:inline;max-width:initial;padding:0;margin:0;overflow:initial;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}.glyphicon,.markdown-body kbd,.yo-badge{display:inline-block}.markdown-body pre code:after,.markdown-body pre code:before,.markdown-body pre tt:after,.markdown-body pre tt:before{content:normal}.markdown-body kbd{padding:3px 5px;font-size:11px;line-height:10px;color:#555;vertical-align:middle;background-color:#fcfcfc;border:1px solid #ccc;border-bottom-color:#bbb;border-radius:3px;box-shadow:inset 0 -1px 0 #bbb}#readme.contributing>div{max-height:250px;overflow:auto}#readme .markdown-body,#readme .plain{background-color:#fff;border:1px solid #ddd;border-bottom-left-radius:3px;border-bottom-right-radius:3px;padding:30px;word-wrap:break-word}#readme .plain pre{font-size:15px;white-space:pre-wrap}#readme .markdown-body{border:0;padding:30px;border-radius:0}#readme table[data-table-type=yaml-metadata]{line-height:1;font-size:12px}#readme table[data-table-type=yaml-metadata] table{margin:0}.yo-badge{padding:1px .1rem;color:#fff;font-size:.12rem;margin-left:10px;border-radius:12px;font-weight:400}.yo-badge-primary{color:#337ab7;border:1px solid #337ab7}.yo-badge-success{color:#5cb85c;border:1px solid #5cb85c}.yo-badge-info{color:#5bc0de;border:1px solid #5bc0de}.yo-badge-warning{color:#f0ad4e;border:1px solid #f0ad4e}.yo-badge-danger{color:#d9534f;border:1px solid #d9534f}.glyphicon{position:relative;top:1px;font-family:ydocfont;font-style:normal;font-weight:700;font-size:.2rem;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-ok:before{content:"\f078"}.text-success{color:#3c763d}.release-date{font-size:1em;color:grey}.change-type{font-size:1em;color:#ff503f}.markdown-body blockquote.api{border-left:none;padding:0;color:#ff503f}.markdown-body .docs-section h1,.markdown-body .docs-section h2{border-bottom:none}.markdown-body .docs-section li .ydoc-example{left:-2em}.markdown-body .docs-section .blockquote.api{padding:0 0 .15rem}.markdown-body .docs-section h3{color:#ff503f;border-left-color:#ff503f;font-weight:400}.markdown-body .docs-section h3 a{color:#ff503f}.markdown-body .docs-section .con-list-item .con-head{font-size:22px;font-weight:700;border-bottom:1px solid #ddd;margin:0 0 .2rem;padding:.1rem 0;width:100%}.markdown-body .docs-section .con-list-item .prop-type{font-size:14px}.markdown-body .docs-section .con-list-item:last-child{border:none}.markdown-body .docs-section .hide-params{display:none}.markdown-body .docs-section .show-params{display:table-row}.markdown-body .docs-section .extend-params,.markdown-body .docs-section .fold-params{color:#337ab7;margin:-.1rem 0 .15rem;display:block;cursor:pointer}.instructions{margin-bottom:.2rem;overflow:hidden}.instructions-con{display:flex;flex-direction:row}.instructions-con-info{flex:1;overflow:hidden;padding-right:10px}.instructions-con-runner{width:3.2rem;height:6.5rem;padding:0 .16rem;background:url(images/feed.png) no-repeat;background-size:100%;position:relative}.instructions-con-runner .instructions-iframe{background:#fff;width:2.9rem;height:5.1rem;position:absolute;top:.66rem;left:.18rem;border:0}.ui-badge{color:#fff;background-color:#ff503f;font-size:.12rem;padding:.03rem .08rem;border-radius:.03rem}.ydoc-container-content .nosidebar{width:100%}
\ No newline at end of file
diff --git a/static/doc/source/main.css b/static/doc/source/main.css
index f7791892..b12a4836 100644
--- a/static/doc/source/main.css
+++ b/static/doc/source/main.css
@@ -1 +1 @@
-@charset "UTF-8";.ydoc .navbar-brand>li,.ydoc-nav li{float:left}.ydoc .task-list,menu,ol,ul{list-style:none}.markdown-body .anchor:focus,a,button,input,select,textarea{outline:0}code[class*=language-],pre[class*=language-]{color:#000;background:0 0;text-shadow:0 1px #fff;font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-] ::-moz-selection,code[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection,pre[class*=language-]::-moz-selection{text-shadow:none;background:#b3d4fc}code[class*=language-] ::selection,code[class*=language-]::selection,pre[class*=language-] ::selection,pre[class*=language-]::selection{text-shadow:none;background:#b3d4fc}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#f5f2f0}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#708090}.token.punctuation{color:#999}.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#905}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#690}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url{color:#a67f59;background:hsla(0,0%,100%,.5)}.token.atrule,.token.attr-value,.token.keyword{color:#07a}.token.function{color:#DD4A68}.token.important,.token.regex,.token.variable{color:#e90}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}html{font-size:100px;height:100%}blockquote,body,button,dd,dl,fieldset,figure,form,h1,h2,h3,h4,h5,h6,input,legend,ol,p,pre,td,textarea,th,ul,xmp{margin:0;padding:0}body,button,code,input,kbd,pre,samp,select,textarea,tt,xmp{height:100%;line-height:1.5;font-family:tahoma,arial,"Hiragino Sans GB",simsun,sans-serif}.clr,.clrfix:after{height:0;clear:both}big,button,h1,h2,h3,h4,h5,h6,input,select,small,textarea{font-size:100%}h1,h2,h3,h4,h5,h6{font-family:tahoma,arial,"Hiragino Sans GB","微软雅黑",simsun,sans-serif;font-weight:400}.ydoc .task-list,.ydoc .ydocIcon{font-family:ydocfont}address,cite,dfn,em,i,optgroup,var{font-style:normal}table{border-collapse:collapse;border-spacing:0;text-align:left}caption,th{text-align:inherit}fieldset,img{border:0}button,img,input,object,select,textarea{vertical-align:middle}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}audio,canvas,video{display:inline-block}blockquote:after,blockquote:before,q:after,q:before{content:"\0020"}textarea{overflow:auto;resize:vertical}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}.mark,mark{background-color:#fcf8e3;padding:.2em}a,del,ins,s,u{text-decoration:none}sub,sup{vertical-align:baseline}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.ydoc,.ydoc-header,.ydoc-nav{font-size:.14rem}*,::after,::before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-tap-highlight-color:transparent}.clr{overflow:hidden}.clrfix{zoom:1}.clrfix:after{display:block;visibility:hidden;content:"."}@font-face{font-family:ydocfont;font-style:normal;font-weight:400;src:url(fonts/ydoc.eot?v=1.0.0);src:url(fonts/ydoc.eot?#iefixiefix&v=1.0.0) format("embedded-opentype"),url(fonts/ydoc.woff?v=1.0.0) format("woff"),url(fonts/ydoc.ttf?v=1.0.0) format("truetype"),url(source/fonts/ydoc.svg?v=1.0.0#icomoonregular) format("svg")}.ydoc{background:#fafafa;overflow:hidden;height:auto;min-height:100%;position:relative}.ydoc-header{line-height:.48rem;color:#3b3b3b;text-align:right;padding:0 .2rem;background-color:#252a31;background-image:-moz-linear-gradient(top,#333,#222);background-image:-ms-linear-gradient(top,#333,#222);background-image:-webkit-gradient(linear,0 0,0 100%,from(#333),to(#222));background-image:-webkit-linear-gradient(top,#333,#222);background-image:-o-linear-gradient(top,#333,#222);background-image:linear-gradient(top,#333,#222);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#333333', endColorstr='#222222', GradientType=0);-webkit-box-shadow:0 1px 3px rgba(0,0,0,.25),inset 0 -1px 0 rgba(0,0,0,.1);-moz-box-shadow:0 1px 3px rgba(0,0,0,.25),inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:0 1px 3px rgba(0,0,0,.25),inset 0 -1px 0 rgba(0,0,0,.1)}.ydoc-header a,.ydoc-nav{color:#fff}.ydoc-header-area{margin:0 auto}.ydoc .navbar-brand{width:auto;float:left;margin-right:20px;font-weight:700}.ydoc-nav li a{padding:0 15px;color:#fff;transition:all .4s}.ydoc-nav .active,.ydoc-nav .active a,.ydoc-nav li a:hover{color:#ff503f}.ydoc-nav .navbar-right{float:right}.ydoc-nav .navbar-left{float:left}.ydoc-second-header{background:#252a31}.ydoc-second-header a{color:#fff}.ydoc-second-header .ydoc-nav{float:right}.ydoc .task-list .checkbox{vertical-align:baseline;user-select:none}.ydoc .ydoc-header:after{content:'';display:block;clear:both}.ydoc .version-selector{color:#ff503f}.ydoc .version-selector .icon{vertical-align:bottom}.ydoc .m-version{float:left;color:#fff;cursor:pointer;position:relative}.ydoc .m-version-mask{display:none;position:absolute;left:0;top:.4rem;z-index:1;background-color:#fff;border:1px solid rgba(0,0,0,.15);border-radius:4px;box-shadow:0 6px 12px rgba(0,0,0,.175)}.ydoc .m-version-item{line-height:normal;text-align:center}.ydoc .link{display:inline-block;color:#000;padding:.08rem .3rem;width:100%;transition:all .4s}.ydoc .link:hover{background-color:#eee}.ydoc .navbar-toggle{float:right;font-size:.22rem;display:none;background:0 0;border:none;cursor:pointer;color:#fff;line-height:.48rem}.ydoc .ydoc-banner-bg{background:url(images/grid-18px-masked.png) 0 top repeat-x;padding-bottom:121px}.ydoc .ydoc-banner-bg .desc{font-family:"微软雅黑"}.ydoc .ydoc-banner-home{padding:.8rem 0;text-align:center}.ydoc .ydoc-banner-home .home-title{margin-bottom:.2rem;font-size:.8rem;font-weight:700}.ydoc .ydoc-banner-home .home-desc{padding:0 1rem .16rem;font-size:.28rem}.ydoc .ydoc-banner-home .home-btn{display:inline-block;margin:.04rem;padding:.1rem .4rem;min-width:1.5rem;border:1px solid;border-radius:.05rem;color:#ff503f;font-size:.2rem;font-weight:700;transition:all .4s}.ydoc .ydoc-banner-home .home-btn:hover{text-decoration:none;border-color:#ff503f;background-color:#ff503f;color:#fff}.ydoc .ydoc-banner-home .home-version{display:block;margin-top:.15rem;color:#ff503f;font-size:.14rem}.ydoc .home-page-title{text-align:center;margin-top:.6rem;border:none;font-size:.35rem}.ydoc .home-page-desc{text-align:center;width:80%;margin:.2rem auto;color:#666;font-size:.2rem}.ydoc .home-thumbnail{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-around;-moz-box-pack:justify;-moz-justify-content:space-around;-ms-flex-pack:justify;justify-content:space-around;-webkit-flex-wrap:wrap;-moz-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:0 .6rem;margin:0;list-style:none}.ydoc .home-item{overflow:hidden;width:200px;-webkit-background-clip:padding-box!important;-moz-background-clip:padding-box!important;-ms-background-clip:padding-box!important;background-clip:padding-box!important}.ydoc .home-thumbnail-img{margin:.16rem 0;text-align:center}.ydoc .home-thumbnail-src{margin:10px 3%;vertical-align:middle;max-width:1rem;max-height:1rem}.ydoc .home-thumbnail-name{color:#444;text-align:center;font-size:.18rem;margin-top:.3rem;margin-bottom:.16rem}.ydoc .home-thumbnail-desc{color:#999;text-align:center;font-size:.14rem}.ydoc-banner{color:#fff;font-size:.18rem;padding:20px 30px}.ydoc-banner-area{margin:0 auto}.ydoc-banner-area h1{font-size:.28rem;margin-bottom:.1rem;color:#333}.ydoc-banner-area p{line-height:1.7;margin:0 0 10px;color:#333}.ydoc .footer{text-align:center;position:absolute;left:0;bottom:0;overflow:hidden;margin:0 auto;padding:40px 0 60px;width:100%;color:#fff;background:#252a31;font-size:14px}.ydoc .footer .copyright{font-size:14px;text-align:center;color:#a1a1a1}.ydoc .footer .copyright a{color:#a1a1a1;text-decoration:underline}.ydoc-container{clear:both;overflow:hidden}.ydoc-container-content{overflow:hidden;background-color:#fff;margin:.2rem auto;padding:.24rem 0;box-shadow:0 0 3px #e5e5e5;position:relative}.ydoc-container-content .static-code-content{width:100%;background:#fff;padding:.15rem}.ydoc-container-content .content-left,.ydoc-container-content .content-right{float:left;position:relative;min-height:1px}.ydoc-container-content .content-right{box-sizing:border-box;width:75%;background:#fff;padding:15px;float:right;min-height:500px}.ydoc-container-content .use-sidebar{border-left:1px solid #eee}.ydoc-container-content .hashlink{display:none}.ydoc-container-content .subject:hover .hashlink{display:inline}.ydoc-container-content .right{float:right}.ydoc-container-content .content-left{width:25%}.ydoc-container-content .docs-table del{text-decoration:line-through;color:#999}.ydoc-container-content .ydoc-example{position:relative;overflow:hidden;height:auto;margin-top:.16rem}.ydoc-container-content .ydoc-example code{overflow-y:hidden;display:block;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace}.ydoc-container-content .ydoc-example .extend,.ydoc-container-content .ydoc-example .fold{color:#337ab7;position:absolute;left:15px;bottom:10px;cursor:pointer}.ydoc-container-content .ydoc-example .extend:hover,.ydoc-container-content .ydoc-example .fold:hover{text-decoration:underline}.ydoc-container-content .docs-sidebar{background:#fff;z-index:9999;overflow:hidden}.ydoc-container-content .docs-sidebar .docs-sidenav{padding-left:0;overflow-x:hidden}.ydoc-container-content .docs-sidebar .docs-sidenav li{line-height:.42rem;height:.42rem;font-size:14px;overflow:hidden}.ydoc-container-content .docs-sidebar .docs-sidenav li a{padding:0 .16rem 0 .28rem;border-left:2px solid #fff;text-overflow:ellipsis;color:#666;line-height:.42rem;height:.42rem;display:inline-block;width:100%;position:relative;overflow:hidden;white-space:nowrap;transition:all .4s}.ydoc-container-content .docs-sidebar .docs-sidenav li a:hover{background-color:#fff8ef;border-left-color:#fff8ef}.ydoc-container-content .docs-sidebar .docs-sidenav li.active a,.ydoc-container-content .docs-sidebar .docs-sidenav li.active a:hover{border-left:2px solid #ff503f;color:#ff503f}.ydoc-container-content .docs-sidebar .docs-sidenav ul{width:100%}.ydoc-container-content .docs-sidebar .docs-sidenav ul li,.ydoc-container-content .docs-sidebar .docs-sidenav ul li.active{font-size:.12rem}.ydoc-container-content .docs-sidebar .docs-sidenav ul li a,.ydoc-container-content .docs-sidebar .docs-sidenav ul li a:hover,.ydoc-container-content .docs-sidebar .docs-sidenav ul li.active a,.ydoc-container-content .docs-sidebar .docs-sidenav ul li.active a:hover{padding-left:48px}.ydoc-container-content .docs-sidebar.affix{position:fixed;top:20px}.ydoc-container-content .docs-sidebar.affix-bottom{position:absolute}.ydoc-container-content .docs-section{margin:10px}.ydoc-container-content .con-list-item{margin-bottom:.32rem}.open-panel{display:none;overflow:hidden;position:fixed;right:5%;bottom:50px;opacity:.5;width:40px;height:40px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2lpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpEMzJFMTVDOUNCMTQxMUU2OERGOEZGOEM1MkU1MUJENCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpEQThGQTIzRENEQTUxMUU2QTczMUM3QjRDM0UxNjQxMiIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpEQThGQTIzQ0NEQTUxMUU2QTczMUM3QjRDM0UxNjQxMiIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6ODZjMjliOTEtNjI0Zi1iZDQ3LWEzZWQtMDIwYzQwNDQxMjlkIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkQzMkUxNUM5Q0IxNDExRTY4REY4RkY4QzUyRTUxQkQ0Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+g3TxwAAAANRJREFUeNrsmT0KwkAQhWfXNGLhQewUW08i2FlZ7LZeQMRiC0EQwcvYixcRrbRc35DYaJNGdpD34EsRUnzs/AQSF0IQpAN2YAq6wEmZZPAABxD1RtVwAQMpHz2YHtBTm4Cxx2VrRO4zQ7BSwZnYzdw3PWc1fS+246wLCgX/XrBq81BK6SdvlhhjZolNlLhNKTjFFOQe5B7kHuQUU5B7kHuQe5BTTEEKUvArWQWfhgVvKng0LLhXwQU4G5Q7geW7B0dgA+5S/woo1nPgCtZSf+WXlwADAGEgKNreXHUxAAAAAElFTkSuQmCC) no-repeat}@media screen and (min-width:1200px){.ydoc-banner-area,.ydoc-container-content,.ydoc-header-area{width:1200px}}@media screen and (min-width:992px) and (max-width:1199px){.ydoc-banner-area,.ydoc-container-content,.ydoc-header-area{width:992px}}@media screen and (min-width:768px) and (max-width:991px){.ydoc-banner-area,.ydoc-container-content,.ydoc-header-area{width:768px}}@media screen and (max-width:767px){.mask,.ydoc-container-content .content-left{position:fixed;top:0;transition:all .4s;height:100%}.mask,.ydoc{height:100%}.mask{display:none;left:0;z-index:0;width:100%;background-color:transparent}.show{background-color:rgba(0,0,0,.35)}.ydoc-container-home{padding:.2rem}.ydoc-container-home .home-page-desc{font-size:.14rem}.ydoc-container-content .content-right{width:100%!important}.ydoc-container-content .content-left{display:block;right:-75%;width:75%!important;background-color:#222;z-index:1;-webkit-transition:all .4s}.ydoc .footer,.ydoc-container-content .docs-sidebar.affix{position:static}.ydoc-container-content .content-left:before{content:'目录:';display:block;padding:.28rem;color:#999;background-color:#2c2c2c;font-weight:700}.ydoc-container-content .docs-sidebar,.ydoc-container-content .docs-sidebar .docs-sidenav li a:hover{background-color:#222}.ydoc-container-content .docs-sidebar .docs-sidenav li a{color:#999;border-color:#222;transition:all .4s}.ydoc-container-content .instructions-con-runner{display:none}.open-panel{display:block;cursor:default;transition:all .4s;-webkit-transition:all .4s}.ydoc-banner-area,.ydoc-container-content,.ydoc-header-area{width:100%}.ydoc{overflow:scroll;-webkit-overflow-scrolling:touch}.ydoc .navbar-toggle{display:inline-block}.ydoc .ydoc-nav{display:none;clear:both;width:100%}.ydoc .ydoc-nav .navbar-left,.ydoc .ydoc-nav .navbar-right{width:100%}.ydoc .ydoc-nav .navbar-left li,.ydoc .ydoc-nav .navbar-right li{width:100%;text-align:left;display:inline-block}.ydoc .ydoc-nav .navbar-left li a,.ydoc .ydoc-nav .navbar-right li a{padding:0;width:100%;display:inline-block;transition:all .4s}.ydoc .ydoc-nav .navbar-left li a:hover,.ydoc .ydoc-nav .navbar-right li a:hover{color:#ff503f}.ydoc .ydoc-banner-bg{padding-bottom:0}.ydoc .ydoc-banner-home{padding:.4rem 0}.ydoc .ydoc-banner-home .home-title{font-size:.6rem}.ydoc .ydoc-banner-home .home-desc{padding:0 .2rem;font-size:.2rem}.ydoc .home-page-title{font-size:.24rem}.off-webkit-scroll{-webkit-overflow-scrolling:auto}.hidden{overflow:hidden}.ydoc-second-header,.ydoc-second-header .ydoc-nav{display:block}.ydoc-second-header .ydoc-nav li{float:left}}.anchorjs-link{display:none}@media screen and (min-width:768px){.ydoc-container-content .staticsidenav .docs-sidebar.affix{position:static}.ydoc-container-content .staticsidenav .docs-sidebar .docs-sidenav{overflow:inherit}.staticsidenav .docs-sidebar{overflow:initial}}.markdown-body code{color:#c7254e;background-color:#f9f2f4;font-family:Menlo,Monaco,Consolas,Courier New,monospace}.markdown-body pre{display:block;margin:0 0 10px;word-break:break-all;color:#333;background-color:#fafafa;border:1px solid #ccc}.markdown-body::after,.markdown-body::before{display:table;content:""}.markdown-body pre code{font-size:inherit;color:inherit;white-space:pre-wrap;border-radius:0}.markdown-body em{font-style:italic}.markdown-body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:14px;line-height:1.5;word-wrap:break-word}.markdown-body a{color:#337ab7}.markdown-body::after{clear:both}.markdown-body>:first-child{margin-top:0!important}.markdown-body>:last-child{margin-bottom:0!important}.markdown-body a:not([href]){color:inherit;text-decoration:none}.markdown-body .absent{color:#c00}.markdown-body .anchor{float:left;padding-right:4px;margin-left:-20px;line-height:1}.markdown-body blockquote,.markdown-body dl,.markdown-body ol,.markdown-body p,.markdown-body pre,.markdown-body table,.markdown-body ul{margin-top:0;margin-bottom:16px}.markdown-body hr{height:.25em;padding:0;margin:24px 0;background-color:#e7e7e7;border:0}.markdown-body blockquote{padding:0 1em;color:#777;border-left:.25em solid #ddd}.markdown-body h1,.markdown-body h2{padding-bottom:.3em;border-bottom:1px solid #eee}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body .loweralpha{list-style-type:lower-alpha}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:24px;margin-bottom:16px;font-weight:600;line-height:1.25}.markdown-body h1 .octicon-link,.markdown-body h2 .octicon-link,.markdown-body h3 .octicon-link,.markdown-body h4 .octicon-link,.markdown-body h5 .octicon-link,.markdown-body h6 .octicon-link{color:#000;vertical-align:middle;visibility:hidden}.markdown-body h1:hover .anchor,.markdown-body h2:hover .anchor,.markdown-body h3:hover .anchor,.markdown-body h4:hover .anchor,.markdown-body h5:hover .anchor,.markdown-body h6:hover .anchor{text-decoration:none}.markdown-body h1:hover .anchor .octicon-link,.markdown-body h2:hover .anchor .octicon-link,.markdown-body h3:hover .anchor .octicon-link,.markdown-body h4:hover .anchor .octicon-link,.markdown-body h5:hover .anchor .octicon-link,.markdown-body h6:hover .anchor .octicon-link{visibility:visible}.markdown-body h1 code,.markdown-body h1 tt,.markdown-body h2 code,.markdown-body h2 tt,.markdown-body h3 code,.markdown-body h3 tt,.markdown-body h4 code,.markdown-body h4 tt,.markdown-body h5 code,.markdown-body h5 tt,.markdown-body h6 code,.markdown-body h6 tt{font-size:inherit}.markdown-body h1{font-size:2em}.markdown-body h2{font-size:1.5em}.markdown-body h3{font-size:1.25em}.markdown-body h4{font-size:1.15em}.markdown-body h5{font-size:.875em}.markdown-body h6{font-size:.85em;color:#777}.markdown-body ol,.markdown-body ul{padding-left:2em;list-style-type:disc}.markdown-body ol.no-list,.markdown-body ul.no-list{padding:0;list-style-type:none}.markdown-body ol ol,.markdown-body ol ul,.markdown-body ul ol,.markdown-body ul ul{margin-top:0;margin-bottom:0}.markdown-body li>p{margin-top:16px}.markdown-body li+li{margin-top:.25em}.markdown-body dl{padding:0}.markdown-body dl dt{padding:0;margin-top:16px;font-size:1em;font-style:italic;font-weight:700}.markdown-body dl dd{padding:0 16px;margin-bottom:16px}.markdown-body table{display:block;width:100%;overflow:auto;word-break:normal;word-break:keep-all}.markdown-body table th{font-weight:700}.markdown-body table td,.markdown-body table th{padding:6px 13px;border:1px solid #ddd}.markdown-body table tr{background-color:#fff;border-top:1px solid #ccc}.markdown-body table tr:nth-child(2n){background-color:#f8f8f8}.markdown-body img{max-width:100%;box-sizing:content-box;background-color:#fff}.markdown-body img[align=right]{padding-left:20px}.markdown-body img[align=left]{padding-right:20px}.markdown-body .emoji{max-width:none;vertical-align:text-top;background-color:transparent}.markdown-body span.frame{display:block;overflow:hidden}.markdown-body span.frame>span{display:block;float:left;width:auto;padding:7px;margin:13px 0 0;overflow:hidden;border:1px solid #ddd}.markdown-body span.frame span img{display:block;float:left}.markdown-body span.frame span span{display:block;padding:5px 0 0;clear:both;color:#333}.markdown-body span.align-center{display:block;overflow:hidden;clear:both}.markdown-body span.align-center>span{display:block;margin:13px auto 0;overflow:hidden;text-align:center}.markdown-body span.align-center span img{margin:0 auto;text-align:center}.markdown-body span.align-right{display:block;overflow:hidden;clear:both}.markdown-body span.align-right>span{display:block;margin:13px 0 0;overflow:hidden;text-align:right}.markdown-body span.align-right span img{margin:0;text-align:right}.markdown-body span.float-left{display:block;float:left;margin-right:13px;overflow:hidden}.markdown-body span.float-left span{margin:13px 0 0}.markdown-body span.float-right{display:block;float:right;margin-left:13px;overflow:hidden}.markdown-body span.float-right>span{display:block;margin:13px auto 0;overflow:hidden;text-align:right}.markdown-body code,.markdown-body tt{padding:.2em 0;margin:0;font-size:85%;background-color:rgba(0,0,0,.04);border-radius:3px}.markdown-body code:after,.markdown-body code:before,.markdown-body tt:after,.markdown-body tt:before{letter-spacing:-.2em;content:"\00a0"}.markdown-body code br,.markdown-body tt br{display:none}.markdown-body del code{text-decoration:inherit}.markdown-body pre>code{padding:0;margin:0;font-size:100%;word-break:normal;white-space:pre;background:0 0;border:0}.markdown-body .highlight{margin-bottom:16px}.markdown-body .highlight pre,.markdown-body pre{padding:16px;overflow:auto;font-size:85%;line-height:1.45;border-radius:3px}.markdown-body .highlight pre{margin-bottom:0;word-break:normal}.markdown-body pre{word-wrap:normal}.markdown-body pre code,.markdown-body pre tt{display:inline;max-width:initial;padding:0;margin:0;overflow:initial;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}.glyphicon,.markdown-body kbd,.yo-badge{display:inline-block}.markdown-body pre code:after,.markdown-body pre code:before,.markdown-body pre tt:after,.markdown-body pre tt:before{content:normal}.markdown-body kbd{padding:3px 5px;font-size:11px;line-height:10px;color:#555;vertical-align:middle;background-color:#fcfcfc;border:1px solid #ccc;border-bottom-color:#bbb;border-radius:3px;box-shadow:inset 0 -1px 0 #bbb}#readme.contributing>div{max-height:250px;overflow:auto}#readme .markdown-body,#readme .plain{background-color:#fff;border:1px solid #ddd;border-bottom-left-radius:3px;border-bottom-right-radius:3px;padding:30px;word-wrap:break-word}#readme .plain pre{font-size:15px;white-space:pre-wrap}#readme .markdown-body{border:0;padding:30px;border-radius:0}#readme table[data-table-type=yaml-metadata]{line-height:1;font-size:12px}#readme table[data-table-type=yaml-metadata] table{margin:0}.yo-badge{padding:1px .1rem;color:#fff;font-size:.12rem;margin-left:10px;border-radius:12px;font-weight:400}.yo-badge-primary{color:#337ab7;border:1px solid #337ab7}.yo-badge-success{color:#5cb85c;border:1px solid #5cb85c}.yo-badge-info{color:#5bc0de;border:1px solid #5bc0de}.yo-badge-warning{color:#f0ad4e;border:1px solid #f0ad4e}.yo-badge-danger{color:#d9534f;border:1px solid #d9534f}.glyphicon{position:relative;top:1px;font-family:ydocfont;font-style:normal;font-weight:700;font-size:.2rem;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-ok:before{content:"\f078"}.text-success{color:#3c763d}.release-date{font-size:1em;color:grey}.change-type{font-size:1em;color:#ff503f}.markdown-body blockquote.api{border-left:none;padding:0;color:#ff503f}.markdown-body .docs-section h1,.markdown-body .docs-section h2{border-bottom:none}.markdown-body .docs-section li .ydoc-example{left:-2em}.markdown-body .docs-section .blockquote.api{padding:0 0 .15rem}.markdown-body .docs-section h3{color:#ff503f;border-left-color:#ff503f;font-weight:400}.markdown-body .docs-section h3 a{color:#ff503f}.markdown-body .docs-section .con-list-item .con-head{font-size:22px;font-weight:700;border-bottom:1px solid #ddd;margin:0 0 .2rem;padding:.1rem 0;width:100%}.markdown-body .docs-section .con-list-item .prop-type{font-size:14px}.markdown-body .docs-section .con-list-item:last-child{border:none}.markdown-body .docs-section .hide-params{display:none}.markdown-body .docs-section .show-params{display:table-row}.markdown-body .docs-section .extend-params,.markdown-body .docs-section .fold-params{color:#337ab7;margin:-.1rem 0 .15rem;display:block;cursor:pointer}.instructions{margin-bottom:.2rem;overflow:hidden}.instructions-con{display:flex;flex-direction:row}.instructions-con-info{flex:1;overflow:hidden;padding-right:10px}.instructions-con-runner{width:3.2rem;height:6.5rem;padding:0 .16rem;background:url(images/feed.png) no-repeat;background-size:100%;position:relative}.instructions-con-runner .instructions-iframe{background:#fff;width:2.9rem;height:5.1rem;position:absolute;top:.66rem;left:.18rem;border:0}.ui-badge{color:#fff;background-color:#ff503f;font-size:.12rem;padding:.03rem .08rem;border-radius:.03rem}.ydoc-container-content .nosidebar{width:100%}
\ No newline at end of file
+@charset "UTF-8";.ydoc .navbar-brand>li,.ydoc-nav li{float:left}.ydoc .task-list,menu,ol,ul{list-style:none}.markdown-body .anchor:focus,a,button,input,select,textarea{outline:0}code[class*=language-],pre[class*=language-]{color:#000;background:0 0;text-shadow:0 1px #fff;font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-] ::-moz-selection,code[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection,pre[class*=language-]::-moz-selection{text-shadow:none;background:#b3d4fc}code[class*=language-] ::selection,code[class*=language-]::selection,pre[class*=language-] ::selection,pre[class*=language-]::selection{text-shadow:none;background:#b3d4fc}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#f5f2f0}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#708090}.token.punctuation{color:#999}.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#905}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#690}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url{color:#a67f59;background:hsla(0,0%,100%,.5)}.token.atrule,.token.attr-value,.token.keyword{color:#07a}.token.function{color:#DD4A68}.token.important,.token.regex,.token.variable{color:#e90}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}html{font-size:100px;height:100%}blockquote,body,button,dd,dl,fieldset,figure,form,h1,h2,h3,h4,h5,h6,input,legend,ol,p,pre,td,textarea,th,ul,xmp{margin:0;padding:0}body,button,code,input,kbd,pre,samp,select,textarea,tt,xmp{height:100%;line-height:1.5;font-family:tahoma,arial,"Hiragino Sans GB",simsun,sans-serif}.clr,.clrfix:after{height:0;clear:both}big,button,h1,h2,h3,h4,h5,h6,input,select,small,textarea{font-size:100%}h1,h2,h3,h4,h5,h6{font-family:tahoma,arial,"Hiragino Sans GB","微软雅黑",simsun,sans-serif;font-weight:400}.ydoc .task-list,.ydoc .ydocIcon{font-family:ydocfont}address,cite,dfn,em,i,optgroup,var{font-style:normal}table{border-collapse:collapse;border-spacing:0;text-align:left}caption,th{text-align:inherit}fieldset,img{border:0}button,img,input,object,select,textarea{vertical-align:middle}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}audio,canvas,video{display:inline-block}blockquote:after,blockquote:before,q:after,q:before{content:"\0020"}textarea{overflow:auto;resize:vertical}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}.mark,mark{background-color:#fcf8e3;padding:.2em}a,del,ins,s,u{text-decoration:none}sub,sup{vertical-align:baseline}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.ydoc,.ydoc-header,.ydoc-nav{font-size:.14rem}*,::after,::before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-tap-highlight-color:transparent}.clr{overflow:hidden}.clrfix{zoom:1}.clrfix:after{display:block;visibility:hidden;content:"."}@font-face{font-family:ydocfont;font-style:normal;font-weight:400;src:url(fonts/ydoc.eot?v=1.0.0);src:url(fonts/ydoc.eot?#iefixiefix&v=1.0.0) format("embedded-opentype"),url(fonts/ydoc.woff?v=1.0.0) format("woff"),url(fonts/ydoc.ttf?v=1.0.0) format("truetype"),url(source/fonts/ydoc.svg?v=1.0.0#icomoonregular) format("svg")}.ydoc{background:#fafafa;overflow:hidden;height:auto;min-height:100%;position:relative}.ydoc-header{line-height:.48rem;color:#3b3b3b;text-align:right;padding:0 .2rem;background-color:#252a31;background-image:-moz-linear-gradient(top,#333,#222);background-image:-ms-linear-gradient(top,#333,#222);background-image:-webkit-gradient(linear,0 0,0 100%,from(#333),to(#222));background-image:-webkit-linear-gradient(top,#333,#222);background-image:-o-linear-gradient(top,#333,#222);background-image:linear-gradient(top,#333,#222);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#333333', endColorstr='#222222', GradientType=0);-webkit-box-shadow:0 1px 3px rgba(0,0,0,.25),inset 0 -1px 0 rgba(0,0,0,.1);-moz-box-shadow:0 1px 3px rgba(0,0,0,.25),inset 0 -1px 0 rgba(0,0,0,.1);box-shadow:0 1px 3px rgba(0,0,0,.25),inset 0 -1px 0 rgba(0,0,0,.1)}.ydoc-header a,.ydoc-nav{color:#fff}.ydoc-header-area{margin:0 auto}.ydoc .navbar-brand{width:auto;float:left;margin-right:20px;font-weight:700}.ydoc-nav li a{padding:0 15px;color:#fff;transition:all .4s}.ydoc-nav .active,.ydoc-nav .active a,.ydoc-nav li a:hover{color:#ff503f}.ydoc-nav .navbar-right{float:right}.ydoc-nav .navbar-left{float:left}.ydoc-second-header{background:#252a31}.ydoc-second-header a{color:#fff}.ydoc-second-header .ydoc-nav{float:right}.ydoc .task-list .checkbox{vertical-align:baseline;user-select:none}.ydoc .ydoc-header:after{content:'';display:block;clear:both}.ydoc .version-selector{color:#fff;background-color:#ff503f;line-height:20px;margin-top:12px;padding:2px 4px;border-radius:4px;min-width:50px;text-align:center}.ydoc .version-selector .icon{vertical-align:bottom;display:inline-block;width:14px}.ydoc .m-version{float:left;color:#fff;cursor:pointer;position:relative}.ydoc .m-version-mask{display:none;position:absolute;left:0;top:.4rem;z-index:1;background-color:#fff;border:1px solid rgba(0,0,0,.15);border-radius:4px;box-shadow:0 6px 12px rgba(0,0,0,.175)}.ydoc .m-version-item{line-height:normal;text-align:center}.ydoc .m-version-item .link{color:#333}.ydoc .m-version-item .active{background-color:#ccc}.ydoc .link{display:inline-block;color:#000;padding:.08rem .3rem;width:100%;transition:all .4s}.ydoc .link:hover{background-color:#eee}.ydoc .navbar-toggle{float:right;font-size:.22rem;display:none;background:0 0;border:none;cursor:pointer;color:#fff;line-height:.48rem}.ydoc .ydoc-banner-bg{background:url(images/grid-18px-masked.png) 0 top repeat-x;padding-bottom:121px}.ydoc .ydoc-banner-bg .desc{font-family:"微软雅黑"}.ydoc .ydoc-banner-home{padding:.8rem 0;text-align:center}.ydoc .ydoc-banner-home .home-title{margin-bottom:.2rem;font-size:.8rem;font-weight:700}.ydoc .ydoc-banner-home .home-desc{padding:0 1rem .16rem;font-size:.28rem}.ydoc .ydoc-banner-home .home-btn{display:inline-block;margin:.04rem;padding:.1rem .4rem;min-width:1.5rem;border:1px solid;border-radius:.05rem;color:#ff503f;font-size:.2rem;font-weight:700;transition:all .4s}.ydoc .ydoc-banner-home .home-btn:hover{text-decoration:none;border-color:#ff503f;background-color:#ff503f;color:#fff}.ydoc .ydoc-banner-home .home-version{display:block;margin-top:.15rem;color:#ff503f;font-size:.14rem}.ydoc .home-page-title{text-align:center;margin-top:.6rem;border:none;font-size:.35rem}.ydoc .home-page-desc{text-align:center;width:80%;margin:.2rem auto;color:#666;font-size:.2rem}.ydoc .home-thumbnail{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-around;-moz-box-pack:justify;-moz-justify-content:space-around;-ms-flex-pack:justify;justify-content:space-around;-webkit-flex-wrap:wrap;-moz-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:0 .6rem;margin:0;list-style:none}.ydoc .home-item{overflow:hidden;width:200px;-webkit-background-clip:padding-box!important;-moz-background-clip:padding-box!important;-ms-background-clip:padding-box!important;background-clip:padding-box!important}.ydoc .home-thumbnail-img{margin:.16rem 0;text-align:center}.ydoc .home-thumbnail-src{margin:10px 3%;vertical-align:middle;max-width:1rem;max-height:1rem}.ydoc .home-thumbnail-name{color:#444;text-align:center;font-size:.18rem;margin-top:.3rem;margin-bottom:.16rem}.ydoc .home-thumbnail-desc{color:#999;text-align:center;font-size:.14rem}.ydoc-banner{color:#fff;font-size:.18rem;padding:20px 30px}.ydoc-banner-area{margin:0 auto}.ydoc-banner-area h1{font-size:.28rem;margin-bottom:.1rem;color:#333}.ydoc-banner-area p{line-height:1.7;margin:0 0 10px;color:#333}.ydoc .footer{text-align:center;position:absolute;left:0;bottom:0;overflow:hidden;margin:0 auto;padding:40px 0 60px;width:100%;color:#fff;background:#252a31;font-size:14px}.ydoc .footer .copyright{font-size:14px;text-align:center;color:#a1a1a1}.ydoc .footer .copyright a{color:#a1a1a1;text-decoration:underline}.ydoc-container{clear:both;overflow:hidden}.ydoc-container-content{overflow:hidden;background-color:#fff;margin:.2rem auto;padding:.24rem 0;box-shadow:0 0 3px #e5e5e5;position:relative}.ydoc-container-content .static-code-content{width:100%;background:#fff;padding:.15rem}.ydoc-container-content .content-left,.ydoc-container-content .content-right{float:left;position:relative;min-height:1px}.ydoc-container-content .content-right{box-sizing:border-box;width:75%;background:#fff;padding:15px;float:right;min-height:500px}.ydoc-container-content .use-sidebar{border-left:1px solid #eee}.ydoc-container-content .hashlink{display:none}.ydoc-container-content .subject:hover .hashlink{display:inline}.ydoc-container-content .right{float:right}.ydoc-container-content .content-left{width:25%}.ydoc-container-content .docs-table del{text-decoration:line-through;color:#999}.ydoc-container-content .ydoc-example{position:relative;overflow:hidden;height:auto;margin-top:.16rem}.ydoc-container-content .ydoc-example code{overflow-y:hidden;display:block;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace}.ydoc-container-content .ydoc-example .extend,.ydoc-container-content .ydoc-example .fold{color:#337ab7;position:absolute;left:15px;bottom:10px;cursor:pointer}.ydoc-container-content .ydoc-example .extend:hover,.ydoc-container-content .ydoc-example .fold:hover{text-decoration:underline}.ydoc-container-content .ydoc-example .ui-copy{position:absolute;right:0;top:-1px;text-align:center;line-height:20px;width:40px;height:24px;border-left:1px solid #ccc;border-bottom:1px solid #ccc;border-bottom-left-radius:3px;background-color:#efefef;cursor:pointer;user-select:none;transition:all .4s;transform:translateY(0)}.ydoc-container-content .ydoc-example .ui-copy:hover{transform:translateY(1px);background-color:#fff}.ydoc-container-content .ydoc-example .copy-tip{display:none;color:#fff;padding:4px;border-radius:4px;position:absolute;right:0;top:27px;background-color:rgba(0,0,0,.85)}.ydoc-container-content .ydoc-example .copy-tip:after{content:'';display:block;position:absolute;right:20px;top:-8px;transform:translateX(50%);width:0;height:0;border:4px solid transparent;border-bottom-color:rgba(0,0,0,.85)}.ydoc-container-content .docs-sidebar{background:#fff;z-index:9999;overflow:hidden}.ydoc-container-content .docs-sidebar .docs-sidenav{padding-left:0;overflow-x:hidden}.ydoc-container-content .docs-sidebar .docs-sidenav li{line-height:.42rem;height:.42rem;font-size:14px;overflow:hidden}.ydoc-container-content .docs-sidebar .docs-sidenav li a{padding:0 .16rem 0 .28rem;border-left:2px solid #fff;text-overflow:ellipsis;color:#666;line-height:.42rem;height:.42rem;display:inline-block;width:100%;position:relative;overflow:hidden;white-space:nowrap;transition:all .4s}.ydoc-container-content .docs-sidebar .docs-sidenav li a:hover{background-color:#fff8ef;border-left-color:#fff8ef}.ydoc-container-content .docs-sidebar .docs-sidenav li.active a,.ydoc-container-content .docs-sidebar .docs-sidenav li.active a:hover{border-left:2px solid #ff503f;color:#ff503f}.ydoc-container-content .docs-sidebar .docs-sidenav ul{width:100%}.ydoc-container-content .docs-sidebar .docs-sidenav ul li,.ydoc-container-content .docs-sidebar .docs-sidenav ul li.active{font-size:.12rem}.ydoc-container-content .docs-sidebar .docs-sidenav ul li a,.ydoc-container-content .docs-sidebar .docs-sidenav ul li a:hover,.ydoc-container-content .docs-sidebar .docs-sidenav ul li.active a,.ydoc-container-content .docs-sidebar .docs-sidenav ul li.active a:hover{padding-left:48px}.ydoc-container-content .docs-sidebar.affix{position:fixed;top:20px}.ydoc-container-content .docs-sidebar.affix-bottom{position:absolute}.ydoc-container-content .docs-section{margin:10px}.ydoc-container-content .con-list-item{margin-bottom:.32rem}.open-panel{display:none;overflow:hidden;position:fixed;right:5%;bottom:50px;opacity:.5;width:40px;height:40px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2lpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpEMzJFMTVDOUNCMTQxMUU2OERGOEZGOEM1MkU1MUJENCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpEQThGQTIzRENEQTUxMUU2QTczMUM3QjRDM0UxNjQxMiIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpEQThGQTIzQ0NEQTUxMUU2QTczMUM3QjRDM0UxNjQxMiIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6ODZjMjliOTEtNjI0Zi1iZDQ3LWEzZWQtMDIwYzQwNDQxMjlkIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkQzMkUxNUM5Q0IxNDExRTY4REY4RkY4QzUyRTUxQkQ0Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+g3TxwAAAANRJREFUeNrsmT0KwkAQhWfXNGLhQewUW08i2FlZ7LZeQMRiC0EQwcvYixcRrbRc35DYaJNGdpD34EsRUnzs/AQSF0IQpAN2YAq6wEmZZPAABxD1RtVwAQMpHz2YHtBTm4Cxx2VrRO4zQ7BSwZnYzdw3PWc1fS+246wLCgX/XrBq81BK6SdvlhhjZolNlLhNKTjFFOQe5B7kHuQUU5B7kHuQe5BTTEEKUvArWQWfhgVvKng0LLhXwQU4G5Q7geW7B0dgA+5S/woo1nPgCtZSf+WXlwADAGEgKNreXHUxAAAAAElFTkSuQmCC) no-repeat}@media screen and (min-width:1200px){.ydoc-banner-area,.ydoc-container-content,.ydoc-header-area{width:1200px}}@media screen and (min-width:992px) and (max-width:1199px){.ydoc-banner-area,.ydoc-container-content,.ydoc-header-area{width:992px}}@media screen and (min-width:768px) and (max-width:991px){.ydoc-banner-area,.ydoc-container-content,.ydoc-header-area{width:768px}}@media screen and (max-width:767px){.mask,.ydoc-container-content .content-left{position:fixed;top:0;transition:all .4s;height:100%}.mask,.ydoc{height:100%}.mask{display:none;left:0;z-index:0;width:100%;background-color:transparent}.show{background-color:rgba(0,0,0,.35)}.ydoc-container-home{padding:.2rem}.ydoc-container-home .home-page-desc{font-size:.14rem}.ydoc-container-content .content-right{width:100%!important}.ydoc-container-content .content-left{display:block;right:-75%;width:75%!important;background-color:#222;z-index:1;-webkit-transition:all .4s}.ydoc .footer,.ydoc-container-content .docs-sidebar.affix{position:static}.ydoc-container-content .content-left:before{content:'目录:';display:block;padding:.28rem;color:#999;background-color:#2c2c2c;font-weight:700}.ydoc-container-content .docs-sidebar,.ydoc-container-content .docs-sidebar .docs-sidenav li a:hover{background-color:#222}.ydoc-container-content .docs-sidebar .docs-sidenav li a{color:#999;border-color:#222;transition:all .4s}.ydoc-container-content .instructions-con-runner{display:none}.open-panel{display:block;cursor:default;transition:all .4s;-webkit-transition:all .4s}.ydoc-banner-area,.ydoc-container-content,.ydoc-header-area{width:100%}.ydoc{overflow:scroll;-webkit-overflow-scrolling:touch}.ydoc .navbar-toggle{display:inline-block}.ydoc .ydoc-nav{display:none;clear:both;width:100%}.ydoc .ydoc-nav .navbar-left,.ydoc .ydoc-nav .navbar-right{width:100%}.ydoc .ydoc-nav .navbar-left li,.ydoc .ydoc-nav .navbar-right li{width:100%;text-align:left;display:inline-block}.ydoc .ydoc-nav .navbar-left li a,.ydoc .ydoc-nav .navbar-right li a{padding:0;width:100%;display:inline-block;transition:all .4s}.ydoc .ydoc-nav .navbar-left li a:hover,.ydoc .ydoc-nav .navbar-right li a:hover{color:#ff503f}.ydoc .ydoc-banner-bg{padding-bottom:0}.ydoc .ydoc-banner-home{padding:.4rem 0}.ydoc .ydoc-banner-home .home-title{font-size:.6rem}.ydoc .ydoc-banner-home .home-desc{padding:0 .2rem;font-size:.2rem}.ydoc .home-page-title{font-size:.24rem}.off-webkit-scroll{-webkit-overflow-scrolling:auto}.hidden{overflow:hidden}.ydoc-second-header,.ydoc-second-header .ydoc-nav{display:block}.ydoc-second-header .ydoc-nav li{float:left}}.anchorjs-link{display:none}@media screen and (min-width:768px){.ydoc-container-content .staticsidenav .docs-sidebar.affix{position:static}.ydoc-container-content .staticsidenav .docs-sidebar .docs-sidenav{overflow:inherit}.staticsidenav .docs-sidebar{overflow:initial}}.markdown-body code{color:#c7254e;background-color:#f9f2f4;font-family:Menlo,Monaco,Consolas,Courier New,monospace}.markdown-body pre{display:block;margin:0 0 10px;word-break:break-all;color:#333;background-color:#fafafa;border:1px solid #ccc}.markdown-body::after,.markdown-body::before{display:table;content:""}.markdown-body pre code{font-size:inherit;color:inherit;white-space:pre-wrap;border-radius:0}.markdown-body em{font-style:italic}.markdown-body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:14px;line-height:1.5;word-wrap:break-word}.markdown-body a{color:#337ab7}.markdown-body::after{clear:both}.markdown-body>:first-child{margin-top:0!important}.markdown-body>:last-child{margin-bottom:0!important}.markdown-body a:not([href]){color:inherit;text-decoration:none}.markdown-body .absent{color:#c00}.markdown-body .anchor{float:left;padding-right:4px;margin-left:-20px;line-height:1}.markdown-body blockquote,.markdown-body dl,.markdown-body ol,.markdown-body p,.markdown-body pre,.markdown-body table,.markdown-body ul{margin-top:0;margin-bottom:16px}.markdown-body hr{height:.25em;padding:0;margin:24px 0;background-color:#e7e7e7;border:0}.markdown-body blockquote{padding:0 1em;color:#777;border-left:.25em solid #ddd}.markdown-body h1,.markdown-body h2{padding-bottom:.3em;border-bottom:1px solid #eee}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body .loweralpha{list-style-type:lower-alpha}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:24px;margin-bottom:16px;font-weight:600;line-height:1.25}.markdown-body h1 .octicon-link,.markdown-body h2 .octicon-link,.markdown-body h3 .octicon-link,.markdown-body h4 .octicon-link,.markdown-body h5 .octicon-link,.markdown-body h6 .octicon-link{color:#000;vertical-align:middle;visibility:hidden}.markdown-body h1:hover .anchor,.markdown-body h2:hover .anchor,.markdown-body h3:hover .anchor,.markdown-body h4:hover .anchor,.markdown-body h5:hover .anchor,.markdown-body h6:hover .anchor{text-decoration:none}.markdown-body h1:hover .anchor .octicon-link,.markdown-body h2:hover .anchor .octicon-link,.markdown-body h3:hover .anchor .octicon-link,.markdown-body h4:hover .anchor .octicon-link,.markdown-body h5:hover .anchor .octicon-link,.markdown-body h6:hover .anchor .octicon-link{visibility:visible}.markdown-body h1 code,.markdown-body h1 tt,.markdown-body h2 code,.markdown-body h2 tt,.markdown-body h3 code,.markdown-body h3 tt,.markdown-body h4 code,.markdown-body h4 tt,.markdown-body h5 code,.markdown-body h5 tt,.markdown-body h6 code,.markdown-body h6 tt{font-size:inherit}.markdown-body h1{font-size:2em}.markdown-body h2{font-size:1.5em}.markdown-body h3{font-size:1.25em}.markdown-body h4{font-size:1.15em}.markdown-body h5{font-size:.875em}.markdown-body h6{font-size:.85em;color:#777}.markdown-body ol,.markdown-body ul{padding-left:2em;list-style-type:disc}.markdown-body ol.no-list,.markdown-body ul.no-list{padding:0;list-style-type:none}.markdown-body ol ol,.markdown-body ol ul,.markdown-body ul ol,.markdown-body ul ul{margin-top:0;margin-bottom:0}.markdown-body li>p{margin-top:16px}.markdown-body li+li{margin-top:.25em}.markdown-body dl{padding:0}.markdown-body dl dt{padding:0;margin-top:16px;font-size:1em;font-style:italic;font-weight:700}.markdown-body dl dd{padding:0 16px;margin-bottom:16px}.markdown-body table{display:block;width:100%;overflow:auto;word-break:normal;word-break:keep-all}.markdown-body table th{font-weight:700}.markdown-body table td,.markdown-body table th{padding:6px 13px;border:1px solid #ddd}.markdown-body table tr{background-color:#fff;border-top:1px solid #ccc}.markdown-body table tr:nth-child(2n){background-color:#f8f8f8}.markdown-body img{max-width:100%;box-sizing:content-box;background-color:#fff}.markdown-body img[align=right]{padding-left:20px}.markdown-body img[align=left]{padding-right:20px}.markdown-body .emoji{max-width:none;vertical-align:text-top;background-color:transparent}.markdown-body span.frame{display:block;overflow:hidden}.markdown-body span.frame>span{display:block;float:left;width:auto;padding:7px;margin:13px 0 0;overflow:hidden;border:1px solid #ddd}.markdown-body span.frame span img{display:block;float:left}.markdown-body span.frame span span{display:block;padding:5px 0 0;clear:both;color:#333}.markdown-body span.align-center{display:block;overflow:hidden;clear:both}.markdown-body span.align-center>span{display:block;margin:13px auto 0;overflow:hidden;text-align:center}.markdown-body span.align-center span img{margin:0 auto;text-align:center}.markdown-body span.align-right{display:block;overflow:hidden;clear:both}.markdown-body span.align-right>span{display:block;margin:13px 0 0;overflow:hidden;text-align:right}.markdown-body span.align-right span img{margin:0;text-align:right}.markdown-body span.float-left{display:block;float:left;margin-right:13px;overflow:hidden}.markdown-body span.float-left span{margin:13px 0 0}.markdown-body span.float-right{display:block;float:right;margin-left:13px;overflow:hidden}.markdown-body span.float-right>span{display:block;margin:13px auto 0;overflow:hidden;text-align:right}.markdown-body code,.markdown-body tt{padding:.2em 0;margin:0;font-size:85%;background-color:rgba(0,0,0,.04);border-radius:3px}.markdown-body code:after,.markdown-body code:before,.markdown-body tt:after,.markdown-body tt:before{letter-spacing:-.2em;content:"\00a0"}.markdown-body code br,.markdown-body tt br{display:none}.markdown-body del code{text-decoration:inherit}.markdown-body pre>code{padding:0;margin:0;font-size:100%;word-break:normal;white-space:pre;background:0 0;border:0}.markdown-body .highlight{margin-bottom:16px}.markdown-body .highlight pre,.markdown-body pre{padding:16px;overflow:auto;font-size:85%;line-height:1.45;border-radius:3px}.markdown-body .highlight pre{margin-bottom:0;word-break:normal}.markdown-body pre{word-wrap:normal}.markdown-body pre code,.markdown-body pre tt{display:inline;max-width:initial;padding:0;margin:0;overflow:initial;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}.glyphicon,.markdown-body kbd,.yo-badge{display:inline-block}.markdown-body pre code:after,.markdown-body pre code:before,.markdown-body pre tt:after,.markdown-body pre tt:before{content:normal}.markdown-body kbd{padding:3px 5px;font-size:11px;line-height:10px;color:#555;vertical-align:middle;background-color:#fcfcfc;border:1px solid #ccc;border-bottom-color:#bbb;border-radius:3px;box-shadow:inset 0 -1px 0 #bbb}#readme.contributing>div{max-height:250px;overflow:auto}#readme .markdown-body,#readme .plain{background-color:#fff;border:1px solid #ddd;border-bottom-left-radius:3px;border-bottom-right-radius:3px;padding:30px;word-wrap:break-word}#readme .plain pre{font-size:15px;white-space:pre-wrap}#readme .markdown-body{border:0;padding:30px;border-radius:0}#readme table[data-table-type=yaml-metadata]{line-height:1;font-size:12px}#readme table[data-table-type=yaml-metadata] table{margin:0}.yo-badge{padding:1px .1rem;color:#fff;font-size:.12rem;margin-left:10px;border-radius:12px;font-weight:400}.yo-badge-primary{color:#337ab7;border:1px solid #337ab7}.yo-badge-success{color:#5cb85c;border:1px solid #5cb85c}.yo-badge-info{color:#5bc0de;border:1px solid #5bc0de}.yo-badge-warning{color:#f0ad4e;border:1px solid #f0ad4e}.yo-badge-danger{color:#d9534f;border:1px solid #d9534f}.glyphicon{position:relative;top:1px;font-family:ydocfont;font-style:normal;font-weight:700;font-size:.2rem;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-ok:before{content:"\f078"}.text-success{color:#3c763d}.release-date{font-size:1em;color:grey}.change-type{font-size:1em;color:#ff503f}.markdown-body blockquote.api{border-left:none;padding:0;color:#ff503f}.markdown-body .docs-section h1,.markdown-body .docs-section h2{border-bottom:none}.markdown-body .docs-section li .ydoc-example{left:-2em}.markdown-body .docs-section .blockquote.api{padding:0 0 .15rem}.markdown-body .docs-section h3{color:#ff503f;border-left-color:#ff503f;font-weight:400}.markdown-body .docs-section h3 a{color:#ff503f}.markdown-body .docs-section .con-list-item .con-head{font-size:22px;font-weight:700;border-bottom:1px solid #ddd;margin:0 0 .2rem;padding:.1rem 0;width:100%}.markdown-body .docs-section .con-list-item .prop-type{font-size:14px}.markdown-body .docs-section .con-list-item:last-child{border:none}.markdown-body .docs-section .hide-params{display:none}.markdown-body .docs-section .show-params{display:table-row}.markdown-body .docs-section .extend-params,.markdown-body .docs-section .fold-params{color:#337ab7;margin:-.1rem 0 .15rem;display:block;cursor:pointer}.instructions{margin-bottom:.2rem;overflow:hidden}.instructions-con{display:flex;flex-direction:row}.instructions-con-info{flex:1;overflow:hidden;padding-right:10px}.instructions-con-runner{width:3.2rem;height:6.5rem;padding:0 .16rem;background:url(images/feed.png) no-repeat;background-size:100%;position:relative}.instructions-con-runner .instructions-iframe{background:#fff;width:2.9rem;height:5.1rem;position:absolute;top:.66rem;left:.18rem;border:0}.ui-badge{color:#fff;background-color:#ff503f;font-size:.12rem;padding:.03rem .08rem;border-radius:.03rem}.ydoc-container-content .nosidebar{width:100%}
\ No newline at end of file
diff --git a/static/doc/source/main.js b/static/doc/source/main.js
index 6c4dbac6..af8d4e62 100644
--- a/static/doc/source/main.js
+++ b/static/doc/source/main.js
@@ -1,6 +1,6 @@
-function AnchorJS(e){"use strict";this.options=e||{},this._applyRemainingDefaultOptions=function(e){this.options.icon=this.options.hasOwnProperty("icon")?e.icon:"",this.options.visible=this.options.hasOwnProperty("visible")?e.visible:"hover",this.options.placement=this.options.hasOwnProperty("placement")?e.placement:"right",this.options.class=this.options.hasOwnProperty("class")?e.class:""},this._applyRemainingDefaultOptions(e),this.add=function(e){var t,n,i,o,r,s,a,l,c,u,d,f,p,h;if(this._applyRemainingDefaultOptions(this.options),e){if("string"!=typeof e)throw new Error("The selector provided to AnchorJS was invalid.")}else e="h1, h2, h3, h4, h5, h6";if(t=document.querySelectorAll(e),0===t.length)return!1;for(this._addBaselineStyles(),n=document.querySelectorAll("[id]"),i=[].map.call(n,function(e){return e.id}),r=0;r',p=document.createElement("div"),p.innerHTML=f,h=p.childNodes,"always"===this.options.visible&&(h[0].style.opacity="1"),""===this.options.icon&&(h[0].style.fontFamily="anchorjs-icons",h[0].style.fontStyle="normal",h[0].style.fontVariant="normal",h[0].style.fontWeight="normal"),"left"===this.options.placement?(h[0].style.position="absolute",h[0].style.marginLeft="-1em",h[0].style.paddingRight="0.5em",t[r].insertBefore(h[0],t[r].firstChild)):(h[0].style.paddingLeft="0.375em",t[r].appendChild(h[0]))}return this},this.remove=function(e){for(var t,n=document.querySelectorAll(e),i=0;i .anchorjs-link, .anchorjs-link:focus { opacity: 1; }",o=' @font-face { font-family: "anchorjs-icons"; font-style: normal; font-weight: normal; src: url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg8SBTUAAAC8AAAAYGNtYXAWi9QdAAABHAAAAFRnYXNwAAAAEAAAAXAAAAAIZ2x5Zgq29TcAAAF4AAABNGhlYWQEZM3pAAACrAAAADZoaGVhBhUDxgAAAuQAAAAkaG10eASAADEAAAMIAAAAFGxvY2EAKACuAAADHAAAAAxtYXhwAAgAVwAAAygAAAAgbmFtZQ5yJ3cAAANIAAAB2nBvc3QAAwAAAAAFJAAAACAAAwJAAZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADpywPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAOAAAAAoACAACAAIAAQAg6cv//f//AAAAAAAg6cv//f//AAH/4xY5AAMAAQAAAAAAAAAAAAAAAQAB//8ADwABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAACADEARAJTAsAAKwBUAAABIiYnJjQ/AT4BMzIWFxYUDwEGIicmND8BNjQnLgEjIgYPAQYUFxYUBw4BIwciJicmND8BNjIXFhQPAQYUFx4BMzI2PwE2NCcmNDc2MhcWFA8BDgEjARQGDAUtLXoWOR8fORYtLTgKGwoKCjgaGg0gEhIgDXoaGgkJBQwHdR85Fi0tOAobCgoKOBoaDSASEiANehoaCQkKGwotLXoWOR8BMwUFLYEuehYXFxYugC44CQkKGwo4GkoaDQ0NDXoaShoKGwoFBe8XFi6ALjgJCQobCjgaShoNDQ0NehpKGgobCgoKLYEuehYXAAEAAAABAACiToc1Xw889QALBAAAAAAA0XnFFgAAAADRecUWAAAAAAJTAsAAAAAIAAIAAAAAAAAAAQAAA8D/wAAABAAAAAAAAlMAAQAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAACAAAAAoAAMQAAAAAACgAUAB4AmgABAAAABQBVAAIAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAADgCuAAEAAAAAAAEADgAAAAEAAAAAAAIABwCfAAEAAAAAAAMADgBLAAEAAAAAAAQADgC0AAEAAAAAAAUACwAqAAEAAAAAAAYADgB1AAEAAAAAAAoAGgDeAAMAAQQJAAEAHAAOAAMAAQQJAAIADgCmAAMAAQQJAAMAHABZAAMAAQQJAAQAHADCAAMAAQQJAAUAFgA1AAMAAQQJAAYAHACDAAMAAQQJAAoANAD4YW5jaG9yanMtaWNvbnMAYQBuAGMAaABvAHIAagBzAC0AaQBjAG8AbgBzVmVyc2lvbiAxLjAAVgBlAHIAcwBpAG8AbgAgADEALgAwYW5jaG9yanMtaWNvbnMAYQBuAGMAaABvAHIAagBzAC0AaQBjAG8AbgBzYW5jaG9yanMtaWNvbnMAYQBuAGMAaABvAHIAagBzAC0AaQBjAG8AbgBzUmVndWxhcgBSAGUAZwB1AGwAYQByYW5jaG9yanMtaWNvbnMAYQBuAGMAaABvAHIAagBzAC0AaQBjAG8AbgBzRm9udCBnZW5lcmF0ZWQgYnkgSWNvTW9vbi4ARgBvAG4AdAAgAGcAZQBuAGUAcgBhAHQAZQBkACAAYgB5ACAASQBjAG8ATQBvAG8AbgAuAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==) format("truetype"); }',r=" [data-anchorjs-icon]::after { content: attr(data-anchorjs-icon); }";t.className="anchorjs",t.appendChild(document.createTextNode("")),e=document.head.querySelector('[rel="stylesheet"], style'),void 0===e?document.head.appendChild(t):document.head.insertBefore(t,e),t.sheet.insertRule(n,t.sheet.cssRules.length),t.sheet.insertRule(i,t.sheet.cssRules.length),t.sheet.insertRule(r,t.sheet.cssRules.length),t.sheet.insertRule(o,t.sheet.cssRules.length)}}}if(!function(e,t){"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){function n(e){var t="length"in e&&e.length,n=oe.type(e);return"function"!==n&&!oe.isWindow(e)&&(!(1!==e.nodeType||!t)||("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e))}function i(e,t,n){if(oe.isFunction(t))return oe.grep(e,function(e,i){return!!t.call(e,i,e)!==n});if(t.nodeType)return oe.grep(e,function(e){return e===t!==n});if("string"==typeof t){if(fe.test(t))return oe.filter(t,e,n);t=oe.filter(t,e)}return oe.grep(e,function(e){return oe.inArray(e,t)>=0!==n})}function o(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}function r(e){var t=Ae[e]={};return oe.each(e.match(be)||[],function(e,n){t[n]=!0}),t}function s(){he.addEventListener?(he.removeEventListener("DOMContentLoaded",a,!1),e.removeEventListener("load",a,!1)):(he.detachEvent("onreadystatechange",a),e.detachEvent("onload",a))}function a(){(he.addEventListener||"load"===event.type||"complete"===he.readyState)&&(s(),oe.ready())}function l(e,t,n){if(void 0===n&&1===e.nodeType){var i="data-"+t.replace(Ee,"-$1").toLowerCase();if(n=e.getAttribute(i),"string"==typeof n){try{n="true"===n||"false"!==n&&("null"===n?null:+n+""===n?+n:Te.test(n)?oe.parseJSON(n):n)}catch(e){}oe.data(e,t,n)}else n=void 0}return n}function c(e){var t;for(t in e)if(("data"!==t||!oe.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}function u(e,t,n,i){if(oe.acceptData(e)){var o,r,s=oe.expando,a=e.nodeType,l=a?oe.cache:e,c=a?e[s]:e[s]&&s;if(c&&l[c]&&(i||l[c].data)||void 0!==n||"string"!=typeof t)return c||(c=a?e[s]=X.pop()||oe.guid++:s),l[c]||(l[c]=a?{}:{toJSON:oe.noop}),("object"==typeof t||"function"==typeof t)&&(i?l[c]=oe.extend(l[c],t):l[c].data=oe.extend(l[c].data,t)),r=l[c],i||(r.data||(r.data={}),r=r.data),void 0!==n&&(r[oe.camelCase(t)]=n),"string"==typeof t?(o=r[t],null==o&&(o=r[oe.camelCase(t)])):o=r,o}}function d(e,t,n){if(oe.acceptData(e)){var i,o,r=e.nodeType,s=r?oe.cache:e,a=r?e[oe.expando]:oe.expando;if(s[a]){if(t&&(i=n?s[a]:s[a].data)){oe.isArray(t)?t=t.concat(oe.map(t,oe.camelCase)):t in i?t=[t]:(t=oe.camelCase(t),t=t in i?[t]:t.split(" ")),o=t.length;for(;o--;)delete i[t[o]];if(n?!c(i):!oe.isEmptyObject(i))return}(n||(delete s[a].data,c(s[a])))&&(r?oe.cleanData([e],!0):ne.deleteExpando||s!=s.window?delete s[a]:s[a]=null)}}}function f(){return!0}function p(){return!1}function h(){try{return he.activeElement}catch(e){}}function g(e){var t=Re.split("|"),n=e.createDocumentFragment();if(n.createElement)for(;t.length;)n.createElement(t.pop());return n}function m(e,t){var n,i,o=0,r=typeof e.getElementsByTagName!==Ce?e.getElementsByTagName(t||"*"):typeof e.querySelectorAll!==Ce?e.querySelectorAll(t||"*"):void 0;if(!r)for(r=[],n=e.childNodes||e;null!=(i=n[o]);o++)!t||oe.nodeName(i,t)?r.push(i):oe.merge(r,m(i,t));return void 0===t||t&&oe.nodeName(e,t)?oe.merge([e],r):r}function v(e){$e.test(e.type)&&(e.defaultChecked=e.checked)}function y(e,t){return oe.nodeName(e,"table")&&oe.nodeName(11!==t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function b(e){return e.type=(null!==oe.find.attr(e,"type"))+"/"+e.type,e}function A(e){var t=Ge.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function x(e,t){for(var n,i=0;null!=(n=e[i]);i++)oe._data(n,"globalEval",!t||oe._data(t[i],"globalEval"))}function w(e,t){if(1===t.nodeType&&oe.hasData(e)){var n,i,o,r=oe._data(e),s=oe._data(t,r),a=r.events;if(a){delete s.handle,s.events={};for(n in a)for(i=0,o=a[n].length;o>i;i++)oe.event.add(t,n,a[n][i])}s.data&&(s.data=oe.extend({},s.data))}}function C(e,t){var n,i,o;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!ne.noCloneEvent&&t[oe.expando]){o=oe._data(t);for(i in o.events)oe.removeEvent(t,i,o.handle);t.removeAttribute(oe.expando)}"script"===n&&t.text!==e.text?(b(t).text=e.text,A(t)):"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),ne.html5Clone&&e.innerHTML&&!oe.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&$e.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===n?t.defaultSelected=t.selected=e.defaultSelected:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}}function T(t,n){var i,o=oe(n.createElement(t)).appendTo(n.body),r=e.getDefaultComputedStyle&&(i=e.getDefaultComputedStyle(o[0]))?i.display:oe.css(o[0],"display");return o.detach(),r}function E(e){var t=he,n=Ke[e];return n||(n=T(e,t),"none"!==n&&n||(Je=(Je||oe("")).appendTo(t.documentElement),t=(Je[0].contentWindow||Je[0].contentDocument).document,t.write(),t.close(),n=T(e,t),Je.detach()),Ke[e]=n),n}function S(e,t){return{get:function(){var n=e();if(null!=n)return n?void delete this.get:(this.get=t).apply(this,arguments)}}}function k(e,t){if(t in e)return t;for(var n=t.charAt(0).toUpperCase()+t.slice(1),i=t,o=ft.length;o--;)if(t=ft[o]+n,t in e)return t;return i}function N(e,t){for(var n,i,o,r=[],s=0,a=e.length;a>s;s++)i=e[s],i.style&&(r[s]=oe._data(i,"olddisplay"),n=i.style.display,t?(r[s]||"none"!==n||(i.style.display=""),""===i.style.display&&Ne(i)&&(r[s]=oe._data(i,"olddisplay",E(i.nodeName)))):(o=Ne(i),(n&&"none"!==n||!o)&&oe._data(i,"olddisplay",o?n:oe.css(i,"display"))));for(s=0;a>s;s++)i=e[s],i.style&&(t&&"none"!==i.style.display&&""!==i.style.display||(i.style.display=t?r[s]||"":"none"));return e}function D(e,t,n){var i=lt.exec(t);return i?Math.max(0,i[1]-(n||0))+(i[2]||"px"):t}function $(e,t,n,i,o){for(var r=n===(i?"border":"content")?4:"width"===t?1:0,s=0;4>r;r+=2)"margin"===n&&(s+=oe.css(e,n+ke[r],!0,o)),i?("content"===n&&(s-=oe.css(e,"padding"+ke[r],!0,o)),"margin"!==n&&(s-=oe.css(e,"border"+ke[r]+"Width",!0,o))):(s+=oe.css(e,"padding"+ke[r],!0,o),"padding"!==n&&(s+=oe.css(e,"border"+ke[r]+"Width",!0,o)));return s}function j(e,t,n){var i=!0,o="width"===t?e.offsetWidth:e.offsetHeight,r=et(e),s=ne.boxSizing&&"border-box"===oe.css(e,"boxSizing",!1,r);if(0>=o||null==o){if(o=tt(e,t,r),(0>o||null==o)&&(o=e.style[t]),it.test(o))return o;i=s&&(ne.boxSizingReliable()||o===e.style[t]),o=parseFloat(o)||0}return o+$(e,t,n||(s?"border":"content"),i,r)+"px"}function L(e,t,n,i,o){return new L.prototype.init(e,t,n,i,o)}function O(){return setTimeout(function(){pt=void 0}),pt=oe.now()}function I(e,t){var n,i={height:e},o=0;for(t=t?1:0;4>o;o+=2-t)n=ke[o],i["margin"+n]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function B(e,t,n){for(var i,o=(bt[t]||[]).concat(bt["*"]),r=0,s=o.length;s>r;r++)if(i=o[r].call(n,t,e))return i}function R(e,t,n){var i,o,r,s,a,l,c,u,d=this,f={},p=e.style,h=e.nodeType&&Ne(e),g=oe._data(e,"fxshow");n.queue||(a=oe._queueHooks(e,"fx"),null==a.unqueued&&(a.unqueued=0,l=a.empty.fire,a.empty.fire=function(){a.unqueued||l()}),a.unqueued++,d.always(function(){d.always(function(){a.unqueued--,oe.queue(e,"fx").length||a.empty.fire()})})),1===e.nodeType&&("height"in t||"width"in t)&&(n.overflow=[p.overflow,p.overflowX,p.overflowY],c=oe.css(e,"display"),u="none"===c?oe._data(e,"olddisplay")||E(e.nodeName):c,"inline"===u&&"none"===oe.css(e,"float")&&(ne.inlineBlockNeedsLayout&&"inline"!==E(e.nodeName)?p.zoom=1:p.display="inline-block")),n.overflow&&(p.overflow="hidden",ne.shrinkWrapBlocks()||d.always(function(){p.overflow=n.overflow[0],p.overflowX=n.overflow[1],p.overflowY=n.overflow[2]}));for(i in t)if(o=t[i],gt.exec(o)){if(delete t[i],r=r||"toggle"===o,o===(h?"hide":"show")){if("show"!==o||!g||void 0===g[i])continue;h=!0}f[i]=g&&g[i]||oe.style(e,i)}else c=void 0;if(oe.isEmptyObject(f))"inline"===("none"===c?E(e.nodeName):c)&&(p.display=c);else{g?"hidden"in g&&(h=g.hidden):g=oe._data(e,"fxshow",{}),r&&(g.hidden=!h),h?oe(e).show():d.done(function(){oe(e).hide()}),d.done(function(){var t;oe._removeData(e,"fxshow");for(t in f)oe.style(e,t,f[t])});for(i in f)s=B(h?g[i]:0,i,d),i in g||(g[i]=s.start,h&&(s.end=s.start,s.start="width"===i||"height"===i?1:0))}}function H(e,t){var n,i,o,r,s;for(n in e)if(i=oe.camelCase(n),o=t[i],r=e[n],oe.isArray(r)&&(o=r[1],r=e[n]=r[0]),n!==i&&(e[i]=r,delete e[n]),s=oe.cssHooks[i],s&&"expand"in s){r=s.expand(r),delete e[i];for(n in r)n in e||(e[n]=r[n],t[n]=o)}else t[i]=o}function M(e,t,n){var i,o,r=0,s=yt.length,a=oe.Deferred().always(function(){delete l.elem}),l=function(){if(o)return!1;for(var t=pt||O(),n=Math.max(0,c.startTime+c.duration-t),i=n/c.duration||0,r=1-i,s=0,l=c.tweens.length;l>s;s++)c.tweens[s].run(r);return a.notifyWith(e,[c,r,n]),1>r&&l?n:(a.resolveWith(e,[c]),!1)},c=a.promise({elem:e,props:oe.extend({},t),opts:oe.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:pt||O(),duration:n.duration,tweens:[],createTween:function(t,n){var i=oe.Tween(e,c.opts,t,n,c.opts.specialEasing[t]||c.opts.easing);return c.tweens.push(i),i},stop:function(t){var n=0,i=t?c.tweens.length:0;if(o)return this;for(o=!0;i>n;n++)c.tweens[n].run(1);return t?a.resolveWith(e,[c,t]):a.rejectWith(e,[c,t]),this}}),u=c.props;for(H(u,c.opts.specialEasing);s>r;r++)if(i=yt[r].call(c,e,u,c.opts))return i;return oe.map(u,B,c),oe.isFunction(c.opts.start)&&c.opts.start.call(e,c),oe.fx.timer(oe.extend(l,{elem:e,anim:c,queue:c.opts.queue})),c.progress(c.opts.progress).done(c.opts.done,c.opts.complete).fail(c.opts.fail).always(c.opts.always)}function F(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var i,o=0,r=t.toLowerCase().match(be)||[];if(oe.isFunction(n))for(;i=r[o++];)"+"===i.charAt(0)?(i=i.slice(1)||"*",(e[i]=e[i]||[]).unshift(n)):(e[i]=e[i]||[]).push(n)}}function P(e,t,n,i){function o(a){var l;return r[a]=!0,oe.each(e[a]||[],function(e,a){var c=a(t,n,i);return"string"!=typeof c||s||r[c]?s?!(l=c):void 0:(t.dataTypes.unshift(c),o(c),!1)}),l}var r={},s=e===_t;return o(t.dataTypes[0])||!r["*"]&&o("*")}function z(e,t){var n,i,o=oe.ajaxSettings.flatOptions||{};for(i in t)void 0!==t[i]&&((o[i]?e:n||(n={}))[i]=t[i]);return n&&oe.extend(!0,e,n),e}function q(e,t,n){for(var i,o,r,s,a=e.contents,l=e.dataTypes;"*"===l[0];)l.shift(),void 0===o&&(o=e.mimeType||t.getResponseHeader("Content-Type"));if(o)for(s in a)if(a[s]&&a[s].test(o)){l.unshift(s);break}if(l[0]in n)r=l[0];else{for(s in n){if(!l[0]||e.converters[s+" "+l[0]]){r=s;break}i||(i=s)}r=r||i}return r?(r!==l[0]&&l.unshift(r),n[r]):void 0}function _(e,t,n,i){var o,r,s,a,l,c={},u=e.dataTypes.slice();if(u[1])for(s in e.converters)c[s.toLowerCase()]=e.converters[s];for(r=u.shift();r;)if(e.responseFields[r]&&(n[e.responseFields[r]]=t),!l&&i&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),l=r,r=u.shift())if("*"===r)r=l;else if("*"!==l&&l!==r){if(s=c[l+" "+r]||c["* "+r],!s)for(o in c)if(a=o.split(" "),a[1]===r&&(s=c[l+" "+a[0]]||c["* "+a[0]])){s===!0?s=c[o]:c[o]!==!0&&(r=a[0],u.unshift(a[1]));break}if(s!==!0)if(s&&e.throws)t=s(t);else try{t=s(t)}catch(e){return{state:"parsererror",error:s?e:"No conversion from "+l+" to "+r}}}return{state:"success",data:t}}function W(e,t,n,i){var o;if(oe.isArray(t))oe.each(t,function(t,o){n||Qt.test(e)?i(e,o):W(e+"["+("object"==typeof o?t:"")+"]",o,n,i)});else if(n||"object"!==oe.type(t))i(e,t);else for(o in t)W(e+"["+o+"]",t[o],n,i)}function U(){try{return new e.XMLHttpRequest}catch(e){}}function Q(){try{return new e.ActiveXObject("Microsoft.XMLHTTP")}catch(e){}}function G(e){return oe.isWindow(e)?e:9===e.nodeType&&(e.defaultView||e.parentWindow)}var X=[],V=X.slice,Y=X.concat,Z=X.push,J=X.indexOf,K={},ee=K.toString,te=K.hasOwnProperty,ne={},ie="1.11.3",oe=function(e,t){return new oe.fn.init(e,t)},re=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,se=/^-ms-/,ae=/-([\da-z])/gi,le=function(e,t){return t.toUpperCase()};oe.fn=oe.prototype={jquery:ie,constructor:oe,selector:"",length:0,toArray:function(){return V.call(this)},get:function(e){return null!=e?0>e?this[e+this.length]:this[e]:V.call(this)},pushStack:function(e){var t=oe.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return oe.each(this,e,t)},map:function(e){return this.pushStack(oe.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(V.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]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:Z,sort:X.sort,splice:X.splice},oe.extend=oe.fn.extend=function(){var e,t,n,i,o,r,s=arguments[0]||{},a=1,l=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[a]||{},a++),"object"==typeof s||oe.isFunction(s)||(s={}),a===l&&(s=this,a--);l>a;a++)if(null!=(o=arguments[a]))for(i in o)e=s[i],n=o[i],s!==n&&(c&&n&&(oe.isPlainObject(n)||(t=oe.isArray(n)))?(t?(t=!1,r=e&&oe.isArray(e)?e:[]):r=e&&oe.isPlainObject(e)?e:{},s[i]=oe.extend(c,r,n)):void 0!==n&&(s[i]=n));return s},oe.extend({expando:"jQuery"+(ie+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isFunction:function(e){return"function"===oe.type(e)},isArray:Array.isArray||function(e){return"array"===oe.type(e)},isWindow:function(e){return null!=e&&e==e.window},isNumeric:function(e){return!oe.isArray(e)&&e-parseFloat(e)+1>=0},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},isPlainObject:function(e){var t;if(!e||"object"!==oe.type(e)||e.nodeType||oe.isWindow(e))return!1;try{if(e.constructor&&!te.call(e,"constructor")&&!te.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(e){return!1}if(ne.ownLast)for(t in e)return te.call(e,t);for(t in e);return void 0===t||te.call(e,t)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?K[ee.call(e)]||"object":typeof e},globalEval:function(t){t&&oe.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(se,"ms-").replace(ae,le)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,i){var o,r=0,s=e.length,a=n(e);if(i){if(a)for(;s>r&&(o=t.apply(e[r],i),o!==!1);r++);else for(r in e)if(o=t.apply(e[r],i),o===!1)break}else if(a)for(;s>r&&(o=t.call(e[r],r,e[r]),o!==!1);r++);else for(r in e)if(o=t.call(e[r],r,e[r]),o===!1)break;return e},trim:function(e){return null==e?"":(e+"").replace(re,"")},makeArray:function(e,t){var i=t||[];return null!=e&&(n(Object(e))?oe.merge(i,"string"==typeof e?[e]:e):Z.call(i,e)),i},inArray:function(e,t,n){var i;if(t){if(J)return J.call(t,e,n);for(i=t.length,n=n?0>n?Math.max(0,i+n):n:0;i>n;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,t){for(var n=+t.length,i=0,o=e.length;n>i;)e[o++]=t[i++];if(n!==n)for(;void 0!==t[i];)e[o++]=t[i++];return e.length=o,e},grep:function(e,t,n){for(var i,o=[],r=0,s=e.length,a=!n;s>r;r++)i=!t(e[r],r),i!==a&&o.push(e[r]);return o},map:function(e,t,i){var o,r=0,s=e.length,a=n(e),l=[];if(a)for(;s>r;r++)o=t(e[r],r,i),null!=o&&l.push(o);else for(r in e)o=t(e[r],r,i),null!=o&&l.push(o);return Y.apply([],l)},guid:1,proxy:function(e,t){var n,i,o;return"string"==typeof t&&(o=e[t],t=e,e=o),oe.isFunction(e)?(n=V.call(arguments,2),i=function(){return e.apply(t||this,n.concat(V.call(arguments)))},i.guid=e.guid=e.guid||oe.guid++,i):void 0},now:function(){return+new Date},support:ne}),oe.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){K["[object "+t+"]"]=t.toLowerCase()});var ce=function(e){function t(e,t,n,i){var o,r,s,a,l,c,d,p,h,g;if((t?t.ownerDocument||t:P)!==L&&j(t),t=t||L,n=n||[],a=t.nodeType,"string"!=typeof e||!e||1!==a&&9!==a&&11!==a)return n;if(!i&&I){if(11!==a&&(o=ye.exec(e)))if(s=o[1]){if(9===a){if(r=t.getElementById(s),!r||!r.parentNode)return n;if(r.id===s)return n.push(r),n}else if(t.ownerDocument&&(r=t.ownerDocument.getElementById(s))&&M(t,r)&&r.id===s)return n.push(r),n}else{if(o[2])return J.apply(n,t.getElementsByTagName(e)),n;if((s=o[3])&&x.getElementsByClassName)return J.apply(n,t.getElementsByClassName(s)),n}if(x.qsa&&(!B||!B.test(e))){if(p=d=F,h=t,g=1!==a&&e,1===a&&"object"!==t.nodeName.toLowerCase()){for(c=E(e),(d=t.getAttribute("id"))?p=d.replace(Ae,"\\$&"):t.setAttribute("id",p),p="[id='"+p+"'] ",l=c.length;l--;)c[l]=p+f(c[l]);h=be.test(e)&&u(t.parentNode)||t,g=c.join(",")}if(g)try{return J.apply(n,h.querySelectorAll(g)),n}catch(e){}finally{d||t.removeAttribute("id")}}}return k(e.replace(le,"$1"),t,n,i)}function n(){function e(n,i){return t.push(n+" ")>w.cacheLength&&delete e[t.shift()],e[n+" "]=i}var t=[];return e}function i(e){return e[F]=!0,e}function o(e){var t=L.createElement("div");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function r(e,t){for(var n=e.split("|"),i=e.length;i--;)w.attrHandle[n[i]]=t}function s(e,t){var n=t&&e,i=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||G)-(~e.sourceIndex||G);if(i)return i;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function a(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function l(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function c(e){return i(function(t){return t=+t,i(function(n,i){for(var o,r=e([],n.length,t),s=r.length;s--;)n[o=r[s]]&&(n[o]=!(i[o]=n[o]))})})}function u(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}function d(){}function f(e){for(var t=0,n=e.length,i="";n>t;t++)i+=e[t].value;return i}function p(e,t,n){var i=t.dir,o=n&&"parentNode"===i,r=q++;return t.first?function(t,n,r){for(;t=t[i];)if(1===t.nodeType||o)return e(t,n,r)}:function(t,n,s){var a,l,c=[z,r];if(s){for(;t=t[i];)if((1===t.nodeType||o)&&e(t,n,s))return!0}else for(;t=t[i];)if(1===t.nodeType||o){if(l=t[F]||(t[F]={}),(a=l[i])&&a[0]===z&&a[1]===r)return c[2]=a[2];if(l[i]=c,c[2]=e(t,n,s))return!0}}}function h(e){return e.length>1?function(t,n,i){for(var o=e.length;o--;)if(!e[o](t,n,i))return!1;return!0}:e[0]}function g(e,n,i){for(var o=0,r=n.length;r>o;o++)t(e,n[o],i);return i}function m(e,t,n,i,o){for(var r,s=[],a=0,l=e.length,c=null!=t;l>a;a++)(r=e[a])&&(!n||n(r,i,o))&&(s.push(r),c&&t.push(a));return s}function v(e,t,n,o,r,s){return o&&!o[F]&&(o=v(o)),r&&!r[F]&&(r=v(r,s)),i(function(i,s,a,l){var c,u,d,f=[],p=[],h=s.length,v=i||g(t||"*",a.nodeType?[a]:a,[]),y=!e||!i&&t?v:m(v,f,e,a,l),b=n?r||(i?e:h||o)?[]:s:y;if(n&&n(y,b,a,l),o)for(c=m(b,p),o(c,[],a,l),u=c.length;u--;)(d=c[u])&&(b[p[u]]=!(y[p[u]]=d));if(i){if(r||e){if(r){for(c=[],u=b.length;u--;)(d=b[u])&&c.push(y[u]=d);r(null,b=[],c,l)}for(u=b.length;u--;)(d=b[u])&&(c=r?ee(i,d):f[u])>-1&&(i[c]=!(s[c]=d))}}else b=m(b===s?b.splice(h,b.length):b),r?r(null,s,b,l):J.apply(s,b)})}function y(e){for(var t,n,i,o=e.length,r=w.relative[e[0].type],s=r||w.relative[" "],a=r?1:0,l=p(function(e){return e===t},s,!0),c=p(function(e){return ee(t,e)>-1},s,!0),u=[function(e,n,i){var o=!r&&(i||n!==N)||((t=n).nodeType?l(e,n,i):c(e,n,i));return t=null,o}];o>a;a++)if(n=w.relative[e[a].type])u=[p(h(u),n)];else{if(n=w.filter[e[a].type].apply(null,e[a].matches),n[F]){for(i=++a;o>i&&!w.relative[e[i].type];i++);return v(a>1&&h(u),a>1&&f(e.slice(0,a-1).concat({value:" "===e[a-2].type?"*":""})).replace(le,"$1"),n,i>a&&y(e.slice(a,i)),o>i&&y(e=e.slice(i)),o>i&&f(e))}u.push(n)}return h(u)}function b(e,n){var o=n.length>0,r=e.length>0,s=function(i,s,a,l,c){var u,d,f,p=0,h="0",g=i&&[],v=[],y=N,b=i||r&&w.find.TAG("*",c),A=z+=null==y?1:Math.random()||.1,x=b.length;for(c&&(N=s!==L&&s);h!==x&&null!=(u=b[h]);h++){if(r&&u){for(d=0;f=e[d++];)if(f(u,s,a)){l.push(u);break}c&&(z=A)}o&&((u=!f&&u)&&p--,i&&g.push(u))}if(p+=h,o&&h!==p){for(d=0;f=n[d++];)f(g,v,s,a);if(i){if(p>0)for(;h--;)g[h]||v[h]||(v[h]=Y.call(l));v=m(v)}J.apply(l,v),c&&!i&&v.length>0&&p+n.length>1&&t.uniqueSort(l)}return c&&(z=A,N=y),g};return o?i(s):s}var A,x,w,C,T,E,S,k,N,D,$,j,L,O,I,B,R,H,M,F="sizzle"+1*new Date,P=e.document,z=0,q=0,_=n(),W=n(),U=n(),Q=function(e,t){return e===t&&($=!0),0},G=1<<31,X={}.hasOwnProperty,V=[],Y=V.pop,Z=V.push,J=V.push,K=V.slice,ee=function(e,t){for(var n=0,i=e.length;i>n;n++)if(e[n]===t)return n;return-1},te="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",ne="[\\x20\\t\\r\\n\\f]",ie="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",oe=ie.replace("w","w#"),re="\\["+ne+"*("+ie+")(?:"+ne+"*([*^$|!~]?=)"+ne+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+oe+"))|)"+ne+"*\\]",se=":("+ie+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+re+")*)|.*)\\)|)",ae=new RegExp(ne+"+","g"),le=new RegExp("^"+ne+"+|((?:^|[^\\\\])(?:\\\\.)*)"+ne+"+$","g"),ce=new RegExp("^"+ne+"*,"+ne+"*"),ue=new RegExp("^"+ne+"*([>+~]|"+ne+")"+ne+"*"),de=new RegExp("="+ne+"*([^\\]'\"]*?)"+ne+"*\\]","g"),fe=new RegExp(se),pe=new RegExp("^"+oe+"$"),he={ID:new RegExp("^#("+ie+")"),CLASS:new RegExp("^\\.("+ie+")"),TAG:new RegExp("^("+ie.replace("w","w*")+")"),ATTR:new RegExp("^"+re),PSEUDO:new RegExp("^"+se),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")},ge=/^(?:input|select|textarea|button)$/i,me=/^h\d$/i,ve=/^[^{]+\{\s*\[native \w/,ye=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,be=/[+~]/,Ae=/'|\\/g,xe=new RegExp("\\\\([\\da-f]{1,6}"+ne+"?|("+ne+")|.)","ig"),we=function(e,t,n){var i="0x"+t-65536;return i!==i||n?t:0>i?String.fromCharCode(i+65536):String.fromCharCode(i>>10|55296,1023&i|56320)},Ce=function(){j()};try{J.apply(V=K.call(P.childNodes),P.childNodes),V[P.childNodes.length].nodeType}catch(e){J={apply:V.length?function(e,t){Z.apply(e,K.call(t))}:function(e,t){for(var n=e.length,i=0;e[n++]=t[i++];);e.length=n-1}}}x=t.support={},T=t.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},j=t.setDocument=function(e){var t,n,i=e?e.ownerDocument||e:P;return i!==L&&9===i.nodeType&&i.documentElement?(L=i,O=i.documentElement,n=i.defaultView,n&&n!==n.top&&(n.addEventListener?n.addEventListener("unload",Ce,!1):n.attachEvent&&n.attachEvent("onunload",Ce)),I=!T(i),x.attributes=o(function(e){return e.className="i",!e.getAttribute("className")}),x.getElementsByTagName=o(function(e){return e.appendChild(i.createComment("")),!e.getElementsByTagName("*").length}),x.getElementsByClassName=ve.test(i.getElementsByClassName),x.getById=o(function(e){return O.appendChild(e).id=F,!i.getElementsByName||!i.getElementsByName(F).length}),x.getById?(w.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&I){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},w.filter.ID=function(e){var t=e.replace(xe,we);return function(e){return e.getAttribute("id")===t}}):(delete w.find.ID,w.filter.ID=function(e){var t=e.replace(xe,we);return function(e){var n="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}}),w.find.TAG=x.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):x.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,i=[],o=0,r=t.getElementsByTagName(e);if("*"===e){for(;n=r[o++];)1===n.nodeType&&i.push(n);return i}return r},w.find.CLASS=x.getElementsByClassName&&function(e,t){return I?t.getElementsByClassName(e):void 0},R=[],B=[],(x.qsa=ve.test(i.querySelectorAll))&&(o(function(e){O.appendChild(e).innerHTML=" ",e.querySelectorAll("[msallowcapture^='']").length&&B.push("[*^$]="+ne+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||B.push("\\["+ne+"*(?:value|"+te+")"),e.querySelectorAll("[id~="+F+"-]").length||B.push("~="),e.querySelectorAll(":checked").length||B.push(":checked"),e.querySelectorAll("a#"+F+"+*").length||B.push(".#.+[+~]")}),o(function(e){var t=i.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&B.push("name"+ne+"*[*^$|!~]?="),e.querySelectorAll(":enabled").length||B.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),B.push(",.*:")})),(x.matchesSelector=ve.test(H=O.matches||O.webkitMatchesSelector||O.mozMatchesSelector||O.oMatchesSelector||O.msMatchesSelector))&&o(function(e){x.disconnectedMatch=H.call(e,"div"),H.call(e,"[s!='']:x"),R.push("!=",se)}),B=B.length&&new RegExp(B.join("|")),R=R.length&&new RegExp(R.join("|")),t=ve.test(O.compareDocumentPosition),M=t||ve.test(O.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,i=t&&t.parentNode;return e===i||!(!i||1!==i.nodeType||!(n.contains?n.contains(i):e.compareDocumentPosition&&16&e.compareDocumentPosition(i)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},Q=t?function(e,t){if(e===t)return $=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n?n:(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1,1&n||!x.sortDetached&&t.compareDocumentPosition(e)===n?e===i||e.ownerDocument===P&&M(P,e)?-1:t===i||t.ownerDocument===P&&M(P,t)?1:D?ee(D,e)-ee(D,t):0:4&n?-1:1)}:function(e,t){if(e===t)return $=!0,0;var n,o=0,r=e.parentNode,a=t.parentNode,l=[e],c=[t];if(!r||!a)return e===i?-1:t===i?1:r?-1:a?1:D?ee(D,e)-ee(D,t):0;if(r===a)return s(e,t);for(n=e;n=n.parentNode;)l.unshift(n);for(n=t;n=n.parentNode;)c.unshift(n);for(;l[o]===c[o];)o++;return o?s(l[o],c[o]):l[o]===P?-1:c[o]===P?1:0},i):L},t.matches=function(e,n){return t(e,null,null,n)},t.matchesSelector=function(e,n){if((e.ownerDocument||e)!==L&&j(e),n=n.replace(de,"='$1']"),!(!x.matchesSelector||!I||R&&R.test(n)||B&&B.test(n)))try{var i=H.call(e,n);if(i||x.disconnectedMatch||e.document&&11!==e.document.nodeType)return i}catch(e){}return t(n,L,null,[e]).length>0},t.contains=function(e,t){return(e.ownerDocument||e)!==L&&j(e),M(e,t)},t.attr=function(e,t){(e.ownerDocument||e)!==L&&j(e);var n=w.attrHandle[t.toLowerCase()],i=n&&X.call(w.attrHandle,t.toLowerCase())?n(e,t,!I):void 0;return void 0!==i?i:x.attributes||!I?e.getAttribute(t):(i=e.getAttributeNode(t))&&i.specified?i.value:null},t.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},t.uniqueSort=function(e){var t,n=[],i=0,o=0;if($=!x.detectDuplicates,D=!x.sortStable&&e.slice(0),e.sort(Q),$){for(;t=e[o++];)t===e[o]&&(i=n.push(o));for(;i--;)e.splice(n[i],1)}return D=null,e},C=t.getText=function(e){var t,n="",i=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=C(e)}else if(3===o||4===o)return e.nodeValue}else for(;t=e[i++];)n+=C(t);return n},w=t.selectors={cacheLength:50,createPseudo:i,match:he,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(xe,we),e[3]=(e[3]||e[4]||e[5]||"").replace(xe,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 he.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&fe.test(n)&&(t=E(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(xe,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,i){return function(o){var r=t.attr(o,e);return null==r?"!="===n:!n||(r+="","="===n?r===i:"!="===n?r!==i:"^="===n?i&&0===r.indexOf(i):"*="===n?i&&r.indexOf(i)>-1:"$="===n?i&&r.slice(-i.length)===i:"~="===n?(" "+r.replace(ae," ")+" ").indexOf(i)>-1:"|="===n&&(r===i||r.slice(0,i.length+1)===i+"-"))}},CHILD:function(e,t,n,i,o){var r="nth"!==e.slice(0,3),s="last"!==e.slice(-4),a="of-type"===t;return 1===i&&0===o?function(e){return!!e.parentNode}:function(t,n,l){var c,u,d,f,p,h,g=r!==s?"nextSibling":"previousSibling",m=t.parentNode,v=a&&t.nodeName.toLowerCase(),y=!l&&!a;if(m){if(r){for(;g;){for(d=t;d=d[g];)if(a?d.nodeName.toLowerCase()===v:1===d.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[s?m.firstChild:m.lastChild],s&&y){for(u=m[F]||(m[F]={}),c=u[e]||[],p=c[0]===z&&c[1],f=c[0]===z&&c[2],d=p&&m.childNodes[p];d=++p&&d&&d[g]||(f=p=0)||h.pop();)if(1===d.nodeType&&++f&&d===t){u[e]=[z,p,f];break}}else if(y&&(c=(t[F]||(t[F]={}))[e])&&c[0]===z)f=c[1];else for(;(d=++p&&d&&d[g]||(f=p=0)||h.pop())&&((a?d.nodeName.toLowerCase()!==v:1!==d.nodeType)||!++f||(y&&((d[F]||(d[F]={}))[e]=[z,f]),d!==t)););return f-=o,f===i||f%i===0&&f/i>=0}}},PSEUDO:function(e,n){var o,r=w.pseudos[e]||w.setFilters[e.toLowerCase()]||t.error("unsupported pseudo: "+e);return r[F]?r(n):r.length>1?(o=[e,e,"",n],w.setFilters.hasOwnProperty(e.toLowerCase())?i(function(e,t){for(var i,o=r(e,n),s=o.length;s--;)i=ee(e,o[s]),e[i]=!(t[i]=o[s])}):function(e){return r(e,0,o)}):r}},pseudos:{not:i(function(e){var t=[],n=[],o=S(e.replace(le,"$1"));return o[F]?i(function(e,t,n,i){for(var r,s=o(e,null,i,[]),a=e.length;a--;)(r=s[a])&&(e[a]=!(t[a]=r))}):function(e,i,r){return t[0]=e,o(t,null,r,n),t[0]=null,!n.pop()}}),has:i(function(e){return function(n){return t(e,n).length>0}}),contains:i(function(e){return e=e.replace(xe,we),function(t){return(t.textContent||t.innerText||C(t)).indexOf(e)>-1}}),lang:i(function(e){return pe.test(e||"")||t.error("unsupported lang: "+e),e=e.replace(xe,we).toLowerCase(),function(t){var n;do if(n=I?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===O},focus:function(e){return e===L.activeElement&&(!L.hasFocus||L.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!w.pseudos.empty(e)},header:function(e){return me.test(e.nodeName)},input:function(e){return ge.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:c(function(){return[0]}),last:c(function(e,t){return[t-1]}),eq:c(function(e,t,n){return[0>n?n+t:n]}),even:c(function(e,t){for(var n=0;t>n;n+=2)e.push(n);return e}),odd:c(function(e,t){for(var n=1;t>n;n+=2)e.push(n);return e}),lt:c(function(e,t,n){for(var i=0>n?n+t:n;--i>=0;)e.push(i);return e}),gt:c(function(e,t,n){for(var i=0>n?n+t:n;++i2&&"ID"===(s=r[0]).type&&x.getById&&9===t.nodeType&&I&&w.relative[r[1].type]){if(t=(w.find.ID(s.matches[0].replace(xe,we),t)||[])[0],!t)return n;c&&(t=t.parentNode),e=e.slice(r.shift().value.length)}for(o=he.needsContext.test(e)?0:r.length;o--&&(s=r[o],!w.relative[a=s.type]);)if((l=w.find[a])&&(i=l(s.matches[0].replace(xe,we),be.test(r[0].type)&&u(t.parentNode)||t))){if(r.splice(o,1),e=i.length&&f(r),!e)return J.apply(n,i),n;break}}return(c||S(e,d))(i,t,!I,n,be.test(e)&&u(t.parentNode)||t),n},x.sortStable=F.split("").sort(Q).join("")===F,x.detectDuplicates=!!$,j(),x.sortDetached=o(function(e){return 1&e.compareDocumentPosition(L.createElement("div"))}),o(function(e){return e.innerHTML=" ","#"===e.firstChild.getAttribute("href")})||r("type|href|height|width",function(e,t,n){return n?void 0:e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),x.attributes&&o(function(e){return e.innerHTML=" ",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||r("value",function(e,t,n){return n||"input"!==e.nodeName.toLowerCase()?void 0:e.defaultValue}),o(function(e){return null==e.getAttribute("disabled")})||r(te,function(e,t,n){var i;return n?void 0:e[t]===!0?t.toLowerCase():(i=e.getAttributeNode(t))&&i.specified?i.value:null}),t}(e);oe.find=ce,oe.expr=ce.selectors,oe.expr[":"]=oe.expr.pseudos,oe.unique=ce.uniqueSort,oe.text=ce.getText,oe.isXMLDoc=ce.isXML,oe.contains=ce.contains;var ue=oe.expr.match.needsContext,de=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,fe=/^.[^:#\[\.,]*$/;oe.filter=function(e,t,n){var i=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===i.nodeType?oe.find.matchesSelector(i,e)?[i]:[]:oe.find.matches(e,oe.grep(t,function(e){return 1===e.nodeType}))},oe.fn.extend({find:function(e){var t,n=[],i=this,o=i.length;if("string"!=typeof e)return this.pushStack(oe(e).filter(function(){for(t=0;o>t;t++)if(oe.contains(i[t],this))return!0}));for(t=0;o>t;t++)oe.find(e,i[t],n);return n=this.pushStack(o>1?oe.unique(n):n),n.selector=this.selector?this.selector+" "+e:e,n},filter:function(e){return this.pushStack(i(this,e||[],!1))},not:function(e){return this.pushStack(i(this,e||[],!0))},is:function(e){return!!i(this,"string"==typeof e&&ue.test(e)?oe(e):e||[],!1).length}});var pe,he=e.document,ge=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,me=oe.fn.init=function(e,t){var n,i;if(!e)return this;if("string"==typeof e){if(n="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:ge.exec(e),!n||!n[1]&&t)return!t||t.jquery?(t||pe).find(e):this.constructor(t).find(e);if(n[1]){if(t=t instanceof oe?t[0]:t,oe.merge(this,oe.parseHTML(n[1],t&&t.nodeType?t.ownerDocument||t:he,!0)),de.test(n[1])&&oe.isPlainObject(t))for(n in t)oe.isFunction(this[n])?this[n](t[n]):this.attr(n,t[n]);return this}if(i=he.getElementById(n[2]),i&&i.parentNode){if(i.id!==n[2])return pe.find(e);this.length=1,this[0]=i}return this.context=he,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):oe.isFunction(e)?"undefined"!=typeof pe.ready?pe.ready(e):e(oe):(void 0!==e.selector&&(this.selector=e.selector,this.context=e.context),oe.makeArray(e,this))};me.prototype=oe.fn,pe=oe(he);var ve=/^(?:parents|prev(?:Until|All))/,ye={children:!0,contents:!0,next:!0,prev:!0};oe.extend({dir:function(e,t,n){for(var i=[],o=e[t];o&&9!==o.nodeType&&(void 0===n||1!==o.nodeType||!oe(o).is(n));)1===o.nodeType&&i.push(o),o=o[t];return i},sibling:function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}}),oe.fn.extend({has:function(e){var t,n=oe(e,this),i=n.length;return this.filter(function(){for(t=0;i>t;t++)if(oe.contains(this,n[t]))return!0})},closest:function(e,t){for(var n,i=0,o=this.length,r=[],s=ue.test(e)||"string"!=typeof e?oe(e,t||this.context):0;o>i;i++)for(n=this[i];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(s?s.index(n)>-1:1===n.nodeType&&oe.find.matchesSelector(n,e))){r.push(n);break}return this.pushStack(r.length>1?oe.unique(r):r)},index:function(e){return e?"string"==typeof e?oe.inArray(this[0],oe(e)):oe.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(oe.unique(oe.merge(this.get(),oe(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),oe.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return oe.dir(e,"parentNode")},parentsUntil:function(e,t,n){return oe.dir(e,"parentNode",n)},next:function(e){return o(e,"nextSibling")},prev:function(e){return o(e,"previousSibling")},nextAll:function(e){return oe.dir(e,"nextSibling")},prevAll:function(e){return oe.dir(e,"previousSibling")},nextUntil:function(e,t,n){return oe.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return oe.dir(e,"previousSibling",n)},siblings:function(e){return oe.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return oe.sibling(e.firstChild)},contents:function(e){return oe.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:oe.merge([],e.childNodes)}},function(e,t){oe.fn[e]=function(n,i){var o=oe.map(this,t,n);return"Until"!==e.slice(-5)&&(i=n),i&&"string"==typeof i&&(o=oe.filter(i,o)),this.length>1&&(ye[e]||(o=oe.unique(o)),ve.test(e)&&(o=o.reverse())),this.pushStack(o)}});var be=/\S+/g,Ae={};oe.Callbacks=function(e){e="string"==typeof e?Ae[e]||r(e):oe.extend({},e);var t,n,i,o,s,a,l=[],c=!e.once&&[],u=function(r){for(n=e.memory&&r,i=!0,s=a||0,a=0,o=l.length,t=!0;l&&o>s;s++)if(l[s].apply(r[0],r[1])===!1&&e.stopOnFalse){n=!1;break}t=!1,l&&(c?c.length&&u(c.shift()):n?l=[]:d.disable())},d={add:function(){if(l){var i=l.length;!function t(n){oe.each(n,function(n,i){var o=oe.type(i);"function"===o?e.unique&&d.has(i)||l.push(i):i&&i.length&&"string"!==o&&t(i)})}(arguments),t?o=l.length:n&&(a=i,u(n))}return this},remove:function(){return l&&oe.each(arguments,function(e,n){for(var i;(i=oe.inArray(n,l,i))>-1;)l.splice(i,1),t&&(o>=i&&o--,s>=i&&s--)}),this},has:function(e){return e?oe.inArray(e,l)>-1:!(!l||!l.length)},empty:function(){return l=[],o=0,this},disable:function(){return l=c=n=void 0,this},disabled:function(){return!l},lock:function(){return c=void 0,n||d.disable(),this},locked:function(){return!c},fireWith:function(e,n){return!l||i&&!c||(n=n||[],n=[e,n.slice?n.slice():n],t?c.push(n):u(n)),this},fire:function(){return d.fireWith(this,arguments),this},fired:function(){return!!i}};return d},oe.extend({Deferred:function(e){var t=[["resolve","done",oe.Callbacks("once memory"),"resolved"],["reject","fail",oe.Callbacks("once memory"),"rejected"],["notify","progress",oe.Callbacks("memory")]],n="pending",i={state:function(){return n},always:function(){return o.done(arguments).fail(arguments),this},then:function(){var e=arguments;return oe.Deferred(function(n){oe.each(t,function(t,r){var s=oe.isFunction(e[t])&&e[t];o[r[1]](function(){var e=s&&s.apply(this,arguments);e&&oe.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[r[0]+"With"](this===i?n.promise():this,s?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?oe.extend(e,i):i}},o={};return i.pipe=i.then,oe.each(t,function(e,r){var s=r[2],a=r[3];i[r[1]]=s.add,a&&s.add(function(){n=a},t[1^e][2].disable,t[2][2].lock),o[r[0]]=function(){return o[r[0]+"With"](this===o?i:this,arguments),this},o[r[0]+"With"]=s.fireWith}),i.promise(o),e&&e.call(o,o),o},when:function(e){var t,n,i,o=0,r=V.call(arguments),s=r.length,a=1!==s||e&&oe.isFunction(e.promise)?s:0,l=1===a?e:oe.Deferred(),c=function(e,n,i){return function(o){n[e]=this,i[e]=arguments.length>1?V.call(arguments):o,i===t?l.notifyWith(n,i):--a||l.resolveWith(n,i)}};if(s>1)for(t=new Array(s),n=new Array(s),i=new Array(s);s>o;o++)r[o]&&oe.isFunction(r[o].promise)?r[o].promise().done(c(o,i,r)).fail(l.reject).progress(c(o,n,t)):--a;return a||l.resolveWith(i,r),l.promise()}});var xe;oe.fn.ready=function(e){return oe.ready.promise().done(e),this},oe.extend({isReady:!1,readyWait:1,holdReady:function(e){e?oe.readyWait++:oe.ready(!0)},ready:function(e){if(e===!0?!--oe.readyWait:!oe.isReady){if(!he.body)return setTimeout(oe.ready);oe.isReady=!0,e!==!0&&--oe.readyWait>0||(xe.resolveWith(he,[oe]),oe.fn.triggerHandler&&(oe(he).triggerHandler("ready"),oe(he).off("ready")))}}}),oe.ready.promise=function(t){if(!xe)if(xe=oe.Deferred(),"complete"===he.readyState)setTimeout(oe.ready);else if(he.addEventListener)he.addEventListener("DOMContentLoaded",a,!1),e.addEventListener("load",a,!1);else{he.attachEvent("onreadystatechange",a),e.attachEvent("onload",a);var n=!1;try{n=null==e.frameElement&&he.documentElement}catch(e){}n&&n.doScroll&&!function e(){if(!oe.isReady){try{n.doScroll("left")}catch(t){return setTimeout(e,50)}s(),oe.ready()}}()}return xe.promise(t)};var we,Ce="undefined";for(we in oe(ne))break;ne.ownLast="0"!==we,ne.inlineBlockNeedsLayout=!1,oe(function(){var e,t,n,i;n=he.getElementsByTagName("body")[0],n&&n.style&&(t=he.createElement("div"),i=he.createElement("div"),i.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",n.appendChild(i).appendChild(t),typeof t.style.zoom!==Ce&&(t.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",ne.inlineBlockNeedsLayout=e=3===t.offsetWidth,e&&(n.style.zoom=1)),n.removeChild(i))}),function(){var e=he.createElement("div");if(null==ne.deleteExpando){ne.deleteExpando=!0;try{delete e.test}catch(e){ne.deleteExpando=!1}}e=null}(),oe.acceptData=function(e){var t=oe.noData[(e.nodeName+" ").toLowerCase()],n=+e.nodeType||1;return(1===n||9===n)&&(!t||t!==!0&&e.getAttribute("classid")===t)};var Te=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Ee=/([A-Z])/g;oe.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(e){return e=e.nodeType?oe.cache[e[oe.expando]]:e[oe.expando],!!e&&!c(e)},data:function(e,t,n){return u(e,t,n)},removeData:function(e,t){return d(e,t)},_data:function(e,t,n){return u(e,t,n,!0)},_removeData:function(e,t){return d(e,t,!0)}}),oe.fn.extend({data:function(e,t){var n,i,o,r=this[0],s=r&&r.attributes;if(void 0===e){if(this.length&&(o=oe.data(r),1===r.nodeType&&!oe._data(r,"parsedAttrs"))){for(n=s.length;n--;)s[n]&&(i=s[n].name,0===i.indexOf("data-")&&(i=oe.camelCase(i.slice(5)),l(r,i,o[i])));oe._data(r,"parsedAttrs",!0)}return o}return"object"==typeof e?this.each(function(){oe.data(this,e)}):arguments.length>1?this.each(function(){oe.data(this,e,t)}):r?l(r,e,oe.data(r,e)):void 0},removeData:function(e){return this.each(function(){oe.removeData(this,e)})}}),oe.extend({queue:function(e,t,n){var i;return e?(t=(t||"fx")+"queue",i=oe._data(e,t),n&&(!i||oe.isArray(n)?i=oe._data(e,t,oe.makeArray(n)):i.push(n)),i||[]):void 0},dequeue:function(e,t){t=t||"fx";var n=oe.queue(e,t),i=n.length,o=n.shift(),r=oe._queueHooks(e,t),s=function(){oe.dequeue(e,t)};"inprogress"===o&&(o=n.shift(),i--),o&&("fx"===t&&n.unshift("inprogress"),delete r.stop,o.call(e,s,r)),!i&&r&&r.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return oe._data(e,n)||oe._data(e,n,{empty:oe.Callbacks("once memory").add(function(){oe._removeData(e,t+"queue"),oe._removeData(e,n)})})}}),oe.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.lengtha;a++)t(e[a],n,s?i:i.call(e[a],a,t(e[a],n)));return o?e:c?t.call(e):l?t(e[0],n):r},$e=/^(?:checkbox|radio)$/i;!function(){var e=he.createElement("input"),t=he.createElement("div"),n=he.createDocumentFragment();if(t.innerHTML=" a ",ne.leadingWhitespace=3===t.firstChild.nodeType,ne.tbody=!t.getElementsByTagName("tbody").length,ne.htmlSerialize=!!t.getElementsByTagName("link").length,ne.html5Clone="<:nav>"!==he.createElement("nav").cloneNode(!0).outerHTML,e.type="checkbox",e.checked=!0,n.appendChild(e),ne.appendChecked=e.checked,t.innerHTML="x ",ne.noCloneChecked=!!t.cloneNode(!0).lastChild.defaultValue,n.appendChild(t),t.innerHTML=" ",ne.checkClone=t.cloneNode(!0).cloneNode(!0).lastChild.checked,ne.noCloneEvent=!0,t.attachEvent&&(t.attachEvent("onclick",function(){ne.noCloneEvent=!1}),t.cloneNode(!0).click()),null==ne.deleteExpando){ne.deleteExpando=!0;try{delete t.test}catch(e){ne.deleteExpando=!1}}}(),function(){var t,n,i=he.createElement("div");for(t in{submit:!0,change:!0,focusin:!0})n="on"+t,(ne[t+"Bubbles"]=n in e)||(i.setAttribute(n,"t"),ne[t+"Bubbles"]=i.attributes[n].expando===!1);i=null}();var je=/^(?:input|select|textarea)$/i,Le=/^key/,Oe=/^(?:mouse|pointer|contextmenu)|click/,Ie=/^(?:focusinfocus|focusoutblur)$/,Be=/^([^.]*)(?:\.(.+)|)$/;oe.event={global:{},add:function(e,t,n,i,o){var r,s,a,l,c,u,d,f,p,h,g,m=oe._data(e);if(m){for(n.handler&&(l=n,n=l.handler,o=l.selector),n.guid||(n.guid=oe.guid++),(s=m.events)||(s=m.events={}),(u=m.handle)||(u=m.handle=function(e){return typeof oe===Ce||e&&oe.event.triggered===e.type?void 0:oe.event.dispatch.apply(u.elem,arguments)},u.elem=e),t=(t||"").match(be)||[""],a=t.length;a--;)r=Be.exec(t[a])||[],p=g=r[1],h=(r[2]||"").split(".").sort(),p&&(c=oe.event.special[p]||{},p=(o?c.delegateType:c.bindType)||p,c=oe.event.special[p]||{},d=oe.extend({type:p,origType:g,data:i,handler:n,guid:n.guid,selector:o,needsContext:o&&oe.expr.match.needsContext.test(o),namespace:h.join(".")},l),(f=s[p])||(f=s[p]=[],f.delegateCount=0,c.setup&&c.setup.call(e,i,h,u)!==!1||(e.addEventListener?e.addEventListener(p,u,!1):e.attachEvent&&e.attachEvent("on"+p,u))),c.add&&(c.add.call(e,d),d.handler.guid||(d.handler.guid=n.guid)),o?f.splice(f.delegateCount++,0,d):f.push(d),oe.event.global[p]=!0);e=null}},remove:function(e,t,n,i,o){var r,s,a,l,c,u,d,f,p,h,g,m=oe.hasData(e)&&oe._data(e);if(m&&(u=m.events)){for(t=(t||"").match(be)||[""],c=t.length;c--;)if(a=Be.exec(t[c])||[],p=g=a[1],h=(a[2]||"").split(".").sort(),p){for(d=oe.event.special[p]||{},p=(i?d.delegateType:d.bindType)||p,f=u[p]||[],a=a[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),l=r=f.length;r--;)s=f[r],!o&&g!==s.origType||n&&n.guid!==s.guid||a&&!a.test(s.namespace)||i&&i!==s.selector&&("**"!==i||!s.selector)||(f.splice(r,1),s.selector&&f.delegateCount--,d.remove&&d.remove.call(e,s));l&&!f.length&&(d.teardown&&d.teardown.call(e,h,m.handle)!==!1||oe.removeEvent(e,p,m.handle),delete u[p])}else for(p in u)oe.event.remove(e,p+t[c],n,i,!0);oe.isEmptyObject(u)&&(delete m.handle,oe._removeData(e,"events"))}},trigger:function(t,n,i,o){var r,s,a,l,c,u,d,f=[i||he],p=te.call(t,"type")?t.type:t,h=te.call(t,"namespace")?t.namespace.split("."):[];if(a=u=i=i||he,3!==i.nodeType&&8!==i.nodeType&&!Ie.test(p+oe.event.triggered)&&(p.indexOf(".")>=0&&(h=p.split("."),p=h.shift(),h.sort()),s=p.indexOf(":")<0&&"on"+p,t=t[oe.expando]?t:new oe.Event(p,"object"==typeof t&&t),t.isTrigger=o?2:3,t.namespace=h.join("."),t.namespace_re=t.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=i),n=null==n?[t]:oe.makeArray(n,[t]),c=oe.event.special[p]||{},o||!c.trigger||c.trigger.apply(i,n)!==!1)){if(!o&&!c.noBubble&&!oe.isWindow(i)){for(l=c.delegateType||p,Ie.test(l+p)||(a=a.parentNode);a;a=a.parentNode)f.push(a),u=a;u===(i.ownerDocument||he)&&f.push(u.defaultView||u.parentWindow||e)}for(d=0;(a=f[d++])&&!t.isPropagationStopped();)t.type=d>1?l:c.bindType||p,r=(oe._data(a,"events")||{})[t.type]&&oe._data(a,"handle"),r&&r.apply(a,n),r=s&&a[s],r&&r.apply&&oe.acceptData(a)&&(t.result=r.apply(a,n),t.result===!1&&t.preventDefault());if(t.type=p,!o&&!t.isDefaultPrevented()&&(!c._default||c._default.apply(f.pop(),n)===!1)&&oe.acceptData(i)&&s&&i[p]&&!oe.isWindow(i)){u=i[s],u&&(i[s]=null),oe.event.triggered=p;try{i[p]()}catch(e){}oe.event.triggered=void 0,u&&(i[s]=u)}return t.result}},dispatch:function(e){e=oe.event.fix(e);var t,n,i,o,r,s=[],a=V.call(arguments),l=(oe._data(this,"events")||{})[e.type]||[],c=oe.event.special[e.type]||{};if(a[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){for(s=oe.event.handlers.call(this,e,l),t=0;(o=s[t++])&&!e.isPropagationStopped();)for(e.currentTarget=o.elem,r=0;(i=o.handlers[r++])&&!e.isImmediatePropagationStopped();)(!e.namespace_re||e.namespace_re.test(i.namespace))&&(e.handleObj=i,e.data=i.data,n=((oe.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,a),void 0!==n&&(e.result=n)===!1&&(e.preventDefault(),e.stopPropagation()));return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,t){var n,i,o,r,s=[],a=t.delegateCount,l=e.target;if(a&&l.nodeType&&(!e.button||"click"!==e.type))for(;l!=this;l=l.parentNode||this)if(1===l.nodeType&&(l.disabled!==!0||"click"!==e.type)){for(o=[],r=0;a>r;r++)i=t[r],n=i.selector+" ",void 0===o[n]&&(o[n]=i.needsContext?oe(n,this).index(l)>=0:oe.find(n,this,null,[l]).length),o[n]&&o.push(i);o.length&&s.push({elem:l,handlers:o})}return a ]","i"),Fe=/^\s+/,Pe=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,ze=/<([\w:]+)/,qe=/\s*$/g,Ve={option:[1,""," "],legend:[1,""," "],area:[1,""," "],param:[1,""," "],thead:[1,""],tr:[2,""],col:[2,""],td:[3,""],_default:ne.htmlSerialize?[0,"",""]:[1,"X","
"]},Ye=g(he),Ze=Ye.appendChild(he.createElement("div"));Ve.optgroup=Ve.option,Ve.tbody=Ve.tfoot=Ve.colgroup=Ve.caption=Ve.thead,Ve.th=Ve.td,oe.extend({clone:function(e,t,n){var i,o,r,s,a,l=oe.contains(e.ownerDocument,e);if(ne.html5Clone||oe.isXMLDoc(e)||!Me.test("<"+e.nodeName+">")?r=e.cloneNode(!0):(Ze.innerHTML=e.outerHTML,Ze.removeChild(r=Ze.firstChild)),!(ne.noCloneEvent&&ne.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||oe.isXMLDoc(e)))for(i=m(r),a=m(e),s=0;null!=(o=a[s]);++s)i[s]&&C(o,i[s]);if(t)if(n)for(a=a||m(e),i=i||m(r),s=0;null!=(o=a[s]);s++)w(o,i[s]);else w(e,r);return i=m(r,"script"),i.length>0&&x(i,!l&&m(e,"script")),i=a=o=null,r},buildFragment:function(e,t,n,i){for(var o,r,s,a,l,c,u,d=e.length,f=g(t),p=[],h=0;d>h;h++)if(r=e[h],r||0===r)if("object"===oe.type(r))oe.merge(p,r.nodeType?[r]:r);else if(_e.test(r)){for(a=a||f.appendChild(t.createElement("div")),l=(ze.exec(r)||["",""])[1].toLowerCase(),u=Ve[l]||Ve._default,a.innerHTML=u[1]+r.replace(Pe,"<$1>$2>")+u[2],o=u[0];o--;)a=a.lastChild;if(!ne.leadingWhitespace&&Fe.test(r)&&p.push(t.createTextNode(Fe.exec(r)[0])),!ne.tbody)for(r="table"!==l||qe.test(r)?""!==u[1]||qe.test(r)?0:a:a.firstChild,o=r&&r.childNodes.length;o--;)oe.nodeName(c=r.childNodes[o],"tbody")&&!c.childNodes.length&&r.removeChild(c);for(oe.merge(p,a.childNodes),a.textContent="";a.firstChild;)a.removeChild(a.firstChild);a=f.lastChild}else p.push(t.createTextNode(r));for(a&&f.removeChild(a),
-ne.appendChecked||oe.grep(m(p,"input"),v),h=0;r=p[h++];)if((!i||-1===oe.inArray(r,i))&&(s=oe.contains(r.ownerDocument,r),a=m(f.appendChild(r),"script"),s&&x(a),n))for(o=0;r=a[o++];)Qe.test(r.type||"")&&n.push(r);return a=null,f},cleanData:function(e,t){for(var n,i,o,r,s=0,a=oe.expando,l=oe.cache,c=ne.deleteExpando,u=oe.event.special;null!=(n=e[s]);s++)if((t||oe.acceptData(n))&&(o=n[a],r=o&&l[o])){if(r.events)for(i in r.events)u[i]?oe.event.remove(n,i):oe.removeEvent(n,i,r.handle);l[o]&&(delete l[o],c?delete n[a]:typeof n.removeAttribute!==Ce?n.removeAttribute(a):n[a]=null,X.push(o))}}}),oe.fn.extend({text:function(e){return De(this,function(e){return void 0===e?oe.text(this):this.empty().append((this[0]&&this[0].ownerDocument||he).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=y(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=y(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){for(var n,i=e?oe.filter(e,this):this,o=0;null!=(n=i[o]);o++)t||1!==n.nodeType||oe.cleanData(m(n)),n.parentNode&&(t&&oe.contains(n.ownerDocument,n)&&x(m(n,"script")),n.parentNode.removeChild(n));return this},empty:function(){for(var e,t=0;null!=(e=this[t]);t++){for(1===e.nodeType&&oe.cleanData(m(e,!1));e.firstChild;)e.removeChild(e.firstChild);e.options&&oe.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 oe.clone(this,e,t)})},html:function(e){return De(this,function(e){var t=this[0]||{},n=0,i=this.length;if(void 0===e)return 1===t.nodeType?t.innerHTML.replace(He,""):void 0;if(!("string"!=typeof e||We.test(e)||!ne.htmlSerialize&&Me.test(e)||!ne.leadingWhitespace&&Fe.test(e)||Ve[(ze.exec(e)||["",""])[1].toLowerCase()])){e=e.replace(Pe,"<$1>$2>");try{for(;i>n;n++)t=this[n]||{},1===t.nodeType&&(oe.cleanData(m(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=arguments[0];return this.domManip(arguments,function(t){e=this.parentNode,oe.cleanData(m(this)),e&&e.replaceChild(t,this)}),e&&(e.length||e.nodeType)?this:this.remove()},detach:function(e){return this.remove(e,!0)},domManip:function(e,t){e=Y.apply([],e);var n,i,o,r,s,a,l=0,c=this.length,u=this,d=c-1,f=e[0],p=oe.isFunction(f);if(p||c>1&&"string"==typeof f&&!ne.checkClone&&Ue.test(f))return this.each(function(n){var i=u.eq(n);p&&(e[0]=f.call(this,n,i.html())),i.domManip(e,t)});if(c&&(a=oe.buildFragment(e,this[0].ownerDocument,!1,this),n=a.firstChild,1===a.childNodes.length&&(a=n),n)){for(r=oe.map(m(a,"script"),b),o=r.length;c>l;l++)i=a,l!==d&&(i=oe.clone(i,!0,!0),o&&oe.merge(r,m(i,"script"))),t.call(this[l],i,l);if(o)for(s=r[r.length-1].ownerDocument,oe.map(r,A),l=0;o>l;l++)i=r[l],Qe.test(i.type||"")&&!oe._data(i,"globalEval")&&oe.contains(s,i)&&(i.src?oe._evalUrl&&oe._evalUrl(i.src):oe.globalEval((i.text||i.textContent||i.innerHTML||"").replace(Xe,"")));a=n=null}return this}}),oe.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){oe.fn[e]=function(e){for(var n,i=0,o=[],r=oe(e),s=r.length-1;s>=i;i++)n=i===s?this:this.clone(!0),oe(r[i])[t](n),Z.apply(o,n.get());return this.pushStack(o)}});var Je,Ke={};!function(){var e;ne.shrinkWrapBlocks=function(){if(null!=e)return e;e=!1;var t,n,i;return n=he.getElementsByTagName("body")[0],n&&n.style?(t=he.createElement("div"),i=he.createElement("div"),i.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",n.appendChild(i).appendChild(t),typeof t.style.zoom!==Ce&&(t.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:1px;width:1px;zoom:1",t.appendChild(he.createElement("div")).style.width="5px",e=3!==t.offsetWidth),n.removeChild(i),e):void 0}}();var et,tt,nt=/^margin/,it=new RegExp("^("+Se+")(?!px)[a-z%]+$","i"),ot=/^(top|right|bottom|left)$/;e.getComputedStyle?(et=function(t){return t.ownerDocument.defaultView.opener?t.ownerDocument.defaultView.getComputedStyle(t,null):e.getComputedStyle(t,null)},tt=function(e,t,n){var i,o,r,s,a=e.style;return n=n||et(e),s=n?n.getPropertyValue(t)||n[t]:void 0,n&&(""!==s||oe.contains(e.ownerDocument,e)||(s=oe.style(e,t)),it.test(s)&&nt.test(t)&&(i=a.width,o=a.minWidth,r=a.maxWidth,a.minWidth=a.maxWidth=a.width=s,s=n.width,a.width=i,a.minWidth=o,a.maxWidth=r)),void 0===s?s:s+""}):he.documentElement.currentStyle&&(et=function(e){return e.currentStyle},tt=function(e,t,n){var i,o,r,s,a=e.style;return n=n||et(e),s=n?n[t]:void 0,null==s&&a&&a[t]&&(s=a[t]),it.test(s)&&!ot.test(t)&&(i=a.left,o=e.runtimeStyle,r=o&&o.left,r&&(o.left=e.currentStyle.left),a.left="fontSize"===t?"1em":s,s=a.pixelLeft+"px",a.left=i,r&&(o.left=r)),void 0===s?s:s+""||"auto"}),!function(){function t(){var t,n,i,o;n=he.getElementsByTagName("body")[0],n&&n.style&&(t=he.createElement("div"),i=he.createElement("div"),i.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",n.appendChild(i).appendChild(t),t.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute",r=s=!1,l=!0,e.getComputedStyle&&(r="1%"!==(e.getComputedStyle(t,null)||{}).top,s="4px"===(e.getComputedStyle(t,null)||{width:"4px"}).width,o=t.appendChild(he.createElement("div")),o.style.cssText=t.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",o.style.marginRight=o.style.width="0",t.style.width="1px",l=!parseFloat((e.getComputedStyle(o,null)||{}).marginRight),t.removeChild(o)),t.innerHTML="",o=t.getElementsByTagName("td"),o[0].style.cssText="margin:0;border:0;padding:0;display:none",a=0===o[0].offsetHeight,a&&(o[0].style.display="",o[1].style.display="none",a=0===o[0].offsetHeight),n.removeChild(i))}var n,i,o,r,s,a,l;n=he.createElement("div"),n.innerHTML=" a ",o=n.getElementsByTagName("a")[0],(i=o&&o.style)&&(i.cssText="float:left;opacity:.5",ne.opacity="0.5"===i.opacity,ne.cssFloat=!!i.cssFloat,n.style.backgroundClip="content-box",n.cloneNode(!0).style.backgroundClip="",ne.clearCloneStyle="content-box"===n.style.backgroundClip,ne.boxSizing=""===i.boxSizing||""===i.MozBoxSizing||""===i.WebkitBoxSizing,oe.extend(ne,{reliableHiddenOffsets:function(){return null==a&&t(),a},boxSizingReliable:function(){return null==s&&t(),s},pixelPosition:function(){return null==r&&t(),r},reliableMarginRight:function(){return null==l&&t(),l}}))}(),oe.swap=function(e,t,n,i){var o,r,s={};for(r in t)s[r]=e.style[r],e.style[r]=t[r];o=n.apply(e,i||[]);for(r in t)e.style[r]=s[r];return o};var rt=/alpha\([^)]*\)/i,st=/opacity\s*=\s*([^)]*)/,at=/^(none|table(?!-c[ea]).+)/,lt=new RegExp("^("+Se+")(.*)$","i"),ct=new RegExp("^([+-])=("+Se+")","i"),ut={position:"absolute",visibility:"hidden",display:"block"},dt={letterSpacing:"0",fontWeight:"400"},ft=["Webkit","O","Moz","ms"];oe.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=tt(e,"opacity");return""===n?"1":n}}}},cssNumber:{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:ne.cssFloat?"cssFloat":"styleFloat"},style:function(e,t,n,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,r,s,a=oe.camelCase(t),l=e.style;if(t=oe.cssProps[a]||(oe.cssProps[a]=k(l,a)),s=oe.cssHooks[t]||oe.cssHooks[a],void 0===n)return s&&"get"in s&&void 0!==(o=s.get(e,!1,i))?o:l[t];if(r=typeof n,"string"===r&&(o=ct.exec(n))&&(n=(o[1]+1)*o[2]+parseFloat(oe.css(e,t)),r="number"),null!=n&&n===n&&("number"!==r||oe.cssNumber[a]||(n+="px"),ne.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),!(s&&"set"in s&&void 0===(n=s.set(e,n,i)))))try{l[t]=n}catch(e){}}},css:function(e,t,n,i){var o,r,s,a=oe.camelCase(t);return t=oe.cssProps[a]||(oe.cssProps[a]=k(e.style,a)),s=oe.cssHooks[t]||oe.cssHooks[a],s&&"get"in s&&(r=s.get(e,!0,n)),void 0===r&&(r=tt(e,t,i)),"normal"===r&&t in dt&&(r=dt[t]),""===n||n?(o=parseFloat(r),n===!0||oe.isNumeric(o)?o||0:r):r}}),oe.each(["height","width"],function(e,t){oe.cssHooks[t]={get:function(e,n,i){return n?at.test(oe.css(e,"display"))&&0===e.offsetWidth?oe.swap(e,ut,function(){return j(e,t,i)}):j(e,t,i):void 0},set:function(e,n,i){var o=i&&et(e);return D(e,n,i?$(e,t,i,ne.boxSizing&&"border-box"===oe.css(e,"boxSizing",!1,o),o):0)}}}),ne.opacity||(oe.cssHooks.opacity={get:function(e,t){return st.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,i=e.currentStyle,o=oe.isNumeric(t)?"alpha(opacity="+100*t+")":"",r=i&&i.filter||n.filter||"";n.zoom=1,(t>=1||""===t)&&""===oe.trim(r.replace(rt,""))&&n.removeAttribute&&(n.removeAttribute("filter"),""===t||i&&!i.filter)||(n.filter=rt.test(r)?r.replace(rt,o):r+" "+o)}}),oe.cssHooks.marginRight=S(ne.reliableMarginRight,function(e,t){return t?oe.swap(e,{display:"inline-block"},tt,[e,"marginRight"]):void 0}),oe.each({margin:"",padding:"",border:"Width"},function(e,t){oe.cssHooks[e+t]={expand:function(n){for(var i=0,o={},r="string"==typeof n?n.split(" "):[n];4>i;i++)o[e+ke[i]+t]=r[i]||r[i-2]||r[0];return o}},nt.test(e)||(oe.cssHooks[e+t].set=D)}),oe.fn.extend({css:function(e,t){return De(this,function(e,t,n){var i,o,r={},s=0;if(oe.isArray(t)){for(i=et(e),o=t.length;o>s;s++)r[t[s]]=oe.css(e,t[s],!1,i);return r}return void 0!==n?oe.style(e,t,n):oe.css(e,t)},e,t,arguments.length>1)},show:function(){return N(this,!0)},hide:function(){return N(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){Ne(this)?oe(this).show():oe(this).hide()})}}),oe.Tween=L,L.prototype={constructor:L,init:function(e,t,n,i,o,r){this.elem=e,this.prop=n,this.easing=o||"swing",this.options=t,this.start=this.now=this.cur(),this.end=i,this.unit=r||(oe.cssNumber[n]?"":"px")},cur:function(){var e=L.propHooks[this.prop];return e&&e.get?e.get(this):L.propHooks._default.get(this)},run:function(e){var t,n=L.propHooks[this.prop];return this.options.duration?this.pos=t=oe.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):L.propHooks._default.set(this),this}},L.prototype.init.prototype=L.prototype,L.propHooks={_default:{get:function(e){var t;return null==e.elem[e.prop]||e.elem.style&&null!=e.elem.style[e.prop]?(t=oe.css(e.elem,e.prop,""),t&&"auto"!==t?t:0):e.elem[e.prop]},set:function(e){oe.fx.step[e.prop]?oe.fx.step[e.prop](e):e.elem.style&&(null!=e.elem.style[oe.cssProps[e.prop]]||oe.cssHooks[e.prop])?oe.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},L.propHooks.scrollTop=L.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},oe.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},oe.fx=L.prototype.init,oe.fx.step={};var pt,ht,gt=/^(?:toggle|show|hide)$/,mt=new RegExp("^(?:([+-])=|)("+Se+")([a-z%]*)$","i"),vt=/queueHooks$/,yt=[R],bt={"*":[function(e,t){var n=this.createTween(e,t),i=n.cur(),o=mt.exec(t),r=o&&o[3]||(oe.cssNumber[e]?"":"px"),s=(oe.cssNumber[e]||"px"!==r&&+i)&&mt.exec(oe.css(n.elem,e)),a=1,l=20;if(s&&s[3]!==r){r=r||s[3],o=o||[],s=+i||1;do a=a||".5",s/=a,oe.style(n.elem,e,s+r);while(a!==(a=n.cur()/i)&&1!==a&&--l)}return o&&(s=n.start=+s||+i||0,n.unit=r,n.end=o[1]?s+(o[1]+1)*o[2]:+o[2]),n}]};oe.Animation=oe.extend(M,{tweener:function(e,t){oe.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");for(var n,i=0,o=e.length;o>i;i++)n=e[i],bt[n]=bt[n]||[],bt[n].unshift(t)},prefilter:function(e,t){t?yt.unshift(e):yt.push(e)}}),oe.speed=function(e,t,n){var i=e&&"object"==typeof e?oe.extend({},e):{complete:n||!n&&t||oe.isFunction(e)&&e,duration:e,easing:n&&t||t&&!oe.isFunction(t)&&t};return i.duration=oe.fx.off?0:"number"==typeof i.duration?i.duration:i.duration in oe.fx.speeds?oe.fx.speeds[i.duration]:oe.fx.speeds._default,(null==i.queue||i.queue===!0)&&(i.queue="fx"),i.old=i.complete,i.complete=function(){oe.isFunction(i.old)&&i.old.call(this),i.queue&&oe.dequeue(this,i.queue)},i},oe.fn.extend({fadeTo:function(e,t,n,i){return this.filter(Ne).css("opacity",0).show().end().animate({opacity:t},e,n,i)},animate:function(e,t,n,i){var o=oe.isEmptyObject(e),r=oe.speed(t,n,i),s=function(){var t=M(this,oe.extend({},e),r);(o||oe._data(this,"finish"))&&t.stop(!0)};return s.finish=s,o||r.queue===!1?this.each(s):this.queue(r.queue,s)},stop:function(e,t,n){var i=function(e){var t=e.stop;delete e.stop,t(n)};return"string"!=typeof e&&(n=t,t=e,e=void 0),t&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,o=null!=e&&e+"queueHooks",r=oe.timers,s=oe._data(this);if(o)s[o]&&s[o].stop&&i(s[o]);else for(o in s)s[o]&&s[o].stop&&vt.test(o)&&i(s[o]);for(o=r.length;o--;)r[o].elem!==this||null!=e&&r[o].queue!==e||(r[o].anim.stop(n),t=!1,r.splice(o,1));(t||!n)&&oe.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,n=oe._data(this),i=n[e+"queue"],o=n[e+"queueHooks"],r=oe.timers,s=i?i.length:0;for(n.finish=!0,oe.queue(this,e,[]),o&&o.stop&&o.stop.call(this,!0),t=r.length;t--;)r[t].elem===this&&r[t].queue===e&&(r[t].anim.stop(!0),r.splice(t,1));for(t=0;s>t;t++)i[t]&&i[t].finish&&i[t].finish.call(this);delete n.finish})}}),oe.each(["toggle","show","hide"],function(e,t){var n=oe.fn[t];oe.fn[t]=function(e,i,o){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(I(t,!0),e,i,o)}}),oe.each({slideDown:I("show"),slideUp:I("hide"),slideToggle:I("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){oe.fn[e]=function(e,n,i){return this.animate(t,e,n,i)}}),oe.timers=[],oe.fx.tick=function(){var e,t=oe.timers,n=0;for(pt=oe.now();na ",i=t.getElementsByTagName("a")[0],n=he.createElement("select"),o=n.appendChild(he.createElement("option")),e=t.getElementsByTagName("input")[0],i.style.cssText="top:1px",ne.getSetAttribute="t"!==t.className,ne.style=/top/.test(i.getAttribute("style")),ne.hrefNormalized="/a"===i.getAttribute("href"),ne.checkOn=!!e.value,ne.optSelected=o.selected,ne.enctype=!!he.createElement("form").enctype,n.disabled=!0,ne.optDisabled=!o.disabled,e=he.createElement("input"),e.setAttribute("value",""),ne.input=""===e.getAttribute("value"),e.value="t",e.setAttribute("type","radio"),ne.radioValue="t"===e.value}();var At=/\r/g;oe.fn.extend({val:function(e){var t,n,i,o=this[0];return arguments.length?(i=oe.isFunction(e),this.each(function(n){var o;1===this.nodeType&&(o=i?e.call(this,n,oe(this).val()):e,null==o?o="":"number"==typeof o?o+="":oe.isArray(o)&&(o=oe.map(o,function(e){return null==e?"":e+""})),t=oe.valHooks[this.type]||oe.valHooks[this.nodeName.toLowerCase()],t&&"set"in t&&void 0!==t.set(this,o,"value")||(this.value=o))})):o?(t=oe.valHooks[o.type]||oe.valHooks[o.nodeName.toLowerCase()],t&&"get"in t&&void 0!==(n=t.get(o,"value"))?n:(n=o.value,"string"==typeof n?n.replace(At,""):null==n?"":n)):void 0}}),oe.extend({valHooks:{option:{get:function(e){var t=oe.find.attr(e,"value");return null!=t?t:oe.trim(oe.text(e))}},select:{get:function(e){for(var t,n,i=e.options,o=e.selectedIndex,r="select-one"===e.type||0>o,s=r?null:[],a=r?o+1:i.length,l=0>o?a:r?o:0;a>l;l++)if(n=i[l],!(!n.selected&&l!==o||(ne.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&oe.nodeName(n.parentNode,"optgroup"))){if(t=oe(n).val(),r)return t;s.push(t)}return s},set:function(e,t){for(var n,i,o=e.options,r=oe.makeArray(t),s=o.length;s--;)if(i=o[s],oe.inArray(oe.valHooks.option.get(i),r)>=0)try{i.selected=n=!0}catch(e){i.scrollHeight}else i.selected=!1;return n||(e.selectedIndex=-1),o}}}}),oe.each(["radio","checkbox"],function(){oe.valHooks[this]={set:function(e,t){return oe.isArray(t)?e.checked=oe.inArray(oe(e).val(),t)>=0:void 0}},ne.checkOn||(oe.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var xt,wt,Ct=oe.expr.attrHandle,Tt=/^(?:checked|selected)$/i,Et=ne.getSetAttribute,St=ne.input;oe.fn.extend({attr:function(e,t){return De(this,oe.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){oe.removeAttr(this,e)})}}),oe.extend({attr:function(e,t,n){var i,o,r=e.nodeType;if(e&&3!==r&&8!==r&&2!==r)return typeof e.getAttribute===Ce?oe.prop(e,t,n):(1===r&&oe.isXMLDoc(e)||(t=t.toLowerCase(),i=oe.attrHooks[t]||(oe.expr.match.bool.test(t)?wt:xt)),void 0===n?i&&"get"in i&&null!==(o=i.get(e,t))?o:(o=oe.find.attr(e,t),null==o?void 0:o):null!==n?i&&"set"in i&&void 0!==(o=i.set(e,n,t))?o:(e.setAttribute(t,n+""),n):void oe.removeAttr(e,t))},removeAttr:function(e,t){var n,i,o=0,r=t&&t.match(be);if(r&&1===e.nodeType)for(;n=r[o++];)i=oe.propFix[n]||n,oe.expr.match.bool.test(n)?St&&Et||!Tt.test(n)?e[i]=!1:e[oe.camelCase("default-"+n)]=e[i]=!1:oe.attr(e,n,""),e.removeAttribute(Et?n:i)},attrHooks:{type:{set:function(e,t){if(!ne.radioValue&&"radio"===t&&oe.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}}}),wt={set:function(e,t,n){return t===!1?oe.removeAttr(e,n):St&&Et||!Tt.test(n)?e.setAttribute(!Et&&oe.propFix[n]||n,n):e[oe.camelCase("default-"+n)]=e[n]=!0,n}},oe.each(oe.expr.match.bool.source.match(/\w+/g),function(e,t){var n=Ct[t]||oe.find.attr;Ct[t]=St&&Et||!Tt.test(t)?function(e,t,i){var o,r;return i||(r=Ct[t],Ct[t]=o,o=null!=n(e,t,i)?t.toLowerCase():null,Ct[t]=r),o}:function(e,t,n){return n?void 0:e[oe.camelCase("default-"+t)]?t.toLowerCase():null}}),St&&Et||(oe.attrHooks.value={set:function(e,t,n){return oe.nodeName(e,"input")?void(e.defaultValue=t):xt&&xt.set(e,t,n)}}),Et||(xt={set:function(e,t,n){var i=e.getAttributeNode(n);return i||e.setAttributeNode(i=e.ownerDocument.createAttribute(n)),i.value=t+="","value"===n||t===e.getAttribute(n)?t:void 0}},Ct.id=Ct.name=Ct.coords=function(e,t,n){var i;return n?void 0:(i=e.getAttributeNode(t))&&""!==i.value?i.value:null},oe.valHooks.button={get:function(e,t){var n=e.getAttributeNode(t);return n&&n.specified?n.value:void 0},set:xt.set},oe.attrHooks.contenteditable={set:function(e,t,n){xt.set(e,""!==t&&t,n)}},oe.each(["width","height"],function(e,t){oe.attrHooks[t]={set:function(e,n){return""===n?(e.setAttribute(t,"auto"),n):void 0}}})),ne.style||(oe.attrHooks.style={get:function(e){return e.style.cssText||void 0},set:function(e,t){return e.style.cssText=t+""}});var kt=/^(?:input|select|textarea|button|object)$/i,Nt=/^(?:a|area)$/i;oe.fn.extend({prop:function(e,t){return De(this,oe.prop,e,t,arguments.length>1)},removeProp:function(e){return e=oe.propFix[e]||e,this.each(function(){try{this[e]=void 0,delete this[e]}catch(e){}})}}),oe.extend({propFix:{for:"htmlFor",class:"className"},prop:function(e,t,n){var i,o,r,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return r=1!==s||!oe.isXMLDoc(e),r&&(t=oe.propFix[t]||t,o=oe.propHooks[t]),void 0!==n?o&&"set"in o&&void 0!==(i=o.set(e,n,t))?i:e[t]=n:o&&"get"in o&&null!==(i=o.get(e,t))?i:e[t]},propHooks:{tabIndex:{get:function(e){var t=oe.find.attr(e,"tabindex");return t?parseInt(t,10):kt.test(e.nodeName)||Nt.test(e.nodeName)&&e.href?0:-1}}}}),ne.hrefNormalized||oe.each(["href","src"],function(e,t){oe.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}}),ne.optSelected||(oe.propHooks.selected={get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}}),oe.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){oe.propFix[this.toLowerCase()]=this}),ne.enctype||(oe.propFix.enctype="encoding");var Dt=/[\t\r\n\f]/g;oe.fn.extend({addClass:function(e){var t,n,i,o,r,s,a=0,l=this.length,c="string"==typeof e&&e;if(oe.isFunction(e))return this.each(function(t){oe(this).addClass(e.call(this,t,this.className))});if(c)for(t=(e||"").match(be)||[];l>a;a++)if(n=this[a],i=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(Dt," "):" ")){for(r=0;o=t[r++];)i.indexOf(" "+o+" ")<0&&(i+=o+" ");s=oe.trim(i),n.className!==s&&(n.className=s)}return this},removeClass:function(e){var t,n,i,o,r,s,a=0,l=this.length,c=0===arguments.length||"string"==typeof e&&e;if(oe.isFunction(e))return this.each(function(t){oe(this).removeClass(e.call(this,t,this.className))});if(c)for(t=(e||"").match(be)||[];l>a;a++)if(n=this[a],i=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(Dt," "):"")){for(r=0;o=t[r++];)for(;i.indexOf(" "+o+" ")>=0;)i=i.replace(" "+o+" "," ");s=e?oe.trim(i):"",n.className!==s&&(n.className=s)}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):this.each(oe.isFunction(e)?function(n){oe(this).toggleClass(e.call(this,n,this.className,t),t)}:function(){if("string"===n)for(var t,i=0,o=oe(this),r=e.match(be)||[];t=r[i++];)o.hasClass(t)?o.removeClass(t):o.addClass(t);else(n===Ce||"boolean"===n)&&(this.className&&oe._data(this,"__className__",this.className),this.className=this.className||e===!1?"":oe._data(this,"__className__")||"")})},hasClass:function(e){for(var t=" "+e+" ",n=0,i=this.length;i>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(Dt," ").indexOf(t)>=0)return!0;return!1}}),oe.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){oe.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),oe.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)},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,i){return this.on(t,e,n,i)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}});var $t=oe.now(),jt=/\?/,Lt=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;oe.parseJSON=function(t){if(e.JSON&&e.JSON.parse)return e.JSON.parse(t+"");var n,i=null,o=oe.trim(t+"");return o&&!oe.trim(o.replace(Lt,function(e,t,o,r){return n&&t&&(i=0),0===i?e:(n=o||t,i+=!r-!o,"")}))?Function("return "+o)():oe.error("Invalid JSON: "+t)},oe.parseXML=function(t){var n,i;if(!t||"string"!=typeof t)return null;try{e.DOMParser?(i=new DOMParser,n=i.parseFromString(t,"text/xml")):(n=new ActiveXObject("Microsoft.XMLDOM"),n.async="false",n.loadXML(t))}catch(e){n=void 0}return n&&n.documentElement&&!n.getElementsByTagName("parsererror").length||oe.error("Invalid XML: "+t),n};var Ot,It,Bt=/#.*$/,Rt=/([?&])_=[^&]*/,Ht=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Mt=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Ft=/^(?:GET|HEAD)$/,Pt=/^\/\//,zt=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,qt={},_t={},Wt="*/".concat("*");try{It=location.href}catch(e){It=he.createElement("a"),It.href="",It=It.href}Ot=zt.exec(It.toLowerCase())||[],oe.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:It,type:"GET",isLocal:Mt.test(Ot[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Wt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":oe.parseJSON,"text xml":oe.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?z(z(e,oe.ajaxSettings),t):z(oe.ajaxSettings,e)},ajaxPrefilter:F(qt),ajaxTransport:F(_t),ajax:function(e,t){function n(e,t,n,i){var o,u,v,y,A,w=t;2!==b&&(b=2,a&&clearTimeout(a),c=void 0,s=i||"",x.readyState=e>0?4:0,o=e>=200&&300>e||304===e,n&&(y=q(d,x,n)),y=_(d,y,x,o),o?(d.ifModified&&(A=x.getResponseHeader("Last-Modified"),A&&(oe.lastModified[r]=A),A=x.getResponseHeader("etag"),A&&(oe.etag[r]=A)),204===e||"HEAD"===d.type?w="nocontent":304===e?w="notmodified":(w=y.state,u=y.data,v=y.error,o=!v)):(v=w,(e||!w)&&(w="error",0>e&&(e=0))),x.status=e,x.statusText=(t||w)+"",o?h.resolveWith(f,[u,w,x]):h.rejectWith(f,[x,w,v]),x.statusCode(m),m=void 0,l&&p.trigger(o?"ajaxSuccess":"ajaxError",[x,d,o?u:v]),g.fireWith(f,[x,w]),l&&(p.trigger("ajaxComplete",[x,d]),--oe.active||oe.event.trigger("ajaxStop")))}"object"==typeof e&&(t=e,e=void 0),t=t||{};var i,o,r,s,a,l,c,u,d=oe.ajaxSetup({},t),f=d.context||d,p=d.context&&(f.nodeType||f.jquery)?oe(f):oe.event,h=oe.Deferred(),g=oe.Callbacks("once memory"),m=d.statusCode||{},v={},y={},b=0,A="canceled",x={readyState:0,getResponseHeader:function(e){var t;if(2===b){if(!u)for(u={};t=Ht.exec(s);)u[t[1].toLowerCase()]=t[2];t=u[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=y[n]=y[n]||e,v[e]=t),this},overrideMimeType:function(e){return b||(d.mimeType=e),this},statusCode:function(e){var t;if(e)if(2>b)for(t in e)m[t]=[m[t],e[t]];else x.always(e[x.status]);return this},abort:function(e){var t=e||A;return c&&c.abort(t),n(0,t),this}};if(h.promise(x).complete=g.add,x.success=x.done,x.error=x.fail,d.url=((e||d.url||It)+"").replace(Bt,"").replace(Pt,Ot[1]+"//"),d.type=t.method||t.type||d.method||d.type,d.dataTypes=oe.trim(d.dataType||"*").toLowerCase().match(be)||[""],null==d.crossDomain&&(i=zt.exec(d.url.toLowerCase()),d.crossDomain=!(!i||i[1]===Ot[1]&&i[2]===Ot[2]&&(i[3]||("http:"===i[1]?"80":"443"))===(Ot[3]||("http:"===Ot[1]?"80":"443")))),d.data&&d.processData&&"string"!=typeof d.data&&(d.data=oe.param(d.data,d.traditional)),P(qt,d,t,x),2===b)return x;l=oe.event&&d.global,l&&0===oe.active++&&oe.event.trigger("ajaxStart"),d.type=d.type.toUpperCase(),d.hasContent=!Ft.test(d.type),r=d.url,d.hasContent||(d.data&&(r=d.url+=(jt.test(r)?"&":"?")+d.data,delete d.data),d.cache===!1&&(d.url=Rt.test(r)?r.replace(Rt,"$1_="+$t++):r+(jt.test(r)?"&":"?")+"_="+$t++)),d.ifModified&&(oe.lastModified[r]&&x.setRequestHeader("If-Modified-Since",oe.lastModified[r]),oe.etag[r]&&x.setRequestHeader("If-None-Match",oe.etag[r])),(d.data&&d.hasContent&&d.contentType!==!1||t.contentType)&&x.setRequestHeader("Content-Type",d.contentType),x.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+("*"!==d.dataTypes[0]?", "+Wt+"; q=0.01":""):d.accepts["*"]);for(o in d.headers)x.setRequestHeader(o,d.headers[o]);if(d.beforeSend&&(d.beforeSend.call(f,x,d)===!1||2===b))return x.abort();A="abort";for(o in{success:1,error:1,complete:1})x[o](d[o]);if(c=P(_t,d,t,x)){x.readyState=1,l&&p.trigger("ajaxSend",[x,d]),d.async&&d.timeout>0&&(a=setTimeout(function(){x.abort("timeout")},d.timeout));try{b=1,c.send(v,n)}catch(e){if(!(2>b))throw e;n(-1,e)}}else n(-1,"No Transport");return x},getJSON:function(e,t,n){return oe.get(e,t,n,"json")},getScript:function(e,t){return oe.get(e,void 0,t,"script")}}),oe.each(["get","post"],function(e,t){oe[t]=function(e,n,i,o){return oe.isFunction(n)&&(o=o||i,i=n,n=void 0),oe.ajax({url:e,type:t,dataType:o,data:n,success:i})}}),oe._evalUrl=function(e){return oe.ajax({url:e,type:"GET",dataType:"script",async:!1,global:!1,throws:!0})},oe.fn.extend({wrapAll:function(e){if(oe.isFunction(e))return this.each(function(t){oe(this).wrapAll(e.call(this,t))});if(this[0]){var t=oe(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 this.each(oe.isFunction(e)?function(t){oe(this).wrapInner(e.call(this,t))}:function(){var t=oe(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=oe.isFunction(e);return this.each(function(n){oe(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){oe.nodeName(this,"body")||oe(this).replaceWith(this.childNodes)}).end()}}),oe.expr.filters.hidden=function(e){return e.offsetWidth<=0&&e.offsetHeight<=0||!ne.reliableHiddenOffsets()&&"none"===(e.style&&e.style.display||oe.css(e,"display"))},oe.expr.filters.visible=function(e){return!oe.expr.filters.hidden(e)};var Ut=/%20/g,Qt=/\[\]$/,Gt=/\r?\n/g,Xt=/^(?:submit|button|image|reset|file)$/i,Vt=/^(?:input|select|textarea|keygen)/i;oe.param=function(e,t){var n,i=[],o=function(e,t){t=oe.isFunction(t)?t():null==t?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(void 0===t&&(t=oe.ajaxSettings&&oe.ajaxSettings.traditional),oe.isArray(e)||e.jquery&&!oe.isPlainObject(e))oe.each(e,function(){o(this.name,this.value)});else for(n in e)W(n,e[n],t,o);return i.join("&").replace(Ut,"+")},oe.fn.extend({serialize:function(){return oe.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=oe.prop(this,"elements");return e?oe.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!oe(this).is(":disabled")&&Vt.test(this.nodeName)&&!Xt.test(e)&&(this.checked||!$e.test(e))}).map(function(e,t){var n=oe(this).val();return null==n?null:oe.isArray(n)?oe.map(n,function(e){return{name:t.name,value:e.replace(Gt,"\r\n")}}):{name:t.name,value:n.replace(Gt,"\r\n")}}).get()}}),oe.ajaxSettings.xhr=void 0!==e.ActiveXObject?function(){return!this.isLocal&&/^(get|post|head|put|delete|options)$/i.test(this.type)&&U()||Q()}:U;var Yt=0,Zt={},Jt=oe.ajaxSettings.xhr();e.attachEvent&&e.attachEvent("onunload",function(){for(var e in Zt)Zt[e](void 0,!0)}),ne.cors=!!Jt&&"withCredentials"in Jt,Jt=ne.ajax=!!Jt,Jt&&oe.ajaxTransport(function(e){if(!e.crossDomain||ne.cors){var t;return{send:function(n,i){var o,r=e.xhr(),s=++Yt;if(r.open(e.type,e.url,e.async,e.username,e.password),e.xhrFields)for(o in e.xhrFields)r[o]=e.xhrFields[o];e.mimeType&&r.overrideMimeType&&r.overrideMimeType(e.mimeType),e.crossDomain||n["X-Requested-With"]||(n["X-Requested-With"]="XMLHttpRequest");for(o in n)void 0!==n[o]&&r.setRequestHeader(o,n[o]+"");r.send(e.hasContent&&e.data||null),t=function(n,o){var a,l,c;if(t&&(o||4===r.readyState))if(delete Zt[s],t=void 0,r.onreadystatechange=oe.noop,o)4!==r.readyState&&r.abort();else{c={},a=r.status,"string"==typeof r.responseText&&(c.text=r.responseText);try{l=r.statusText}catch(e){l=""}a||!e.isLocal||e.crossDomain?1223===a&&(a=204):a=c.text?200:404}c&&i(a,l,c,r.getAllResponseHeaders())},e.async?4===r.readyState?setTimeout(t):r.onreadystatechange=Zt[s]=t:t()},abort:function(){t&&t(void 0,!0)}}}}),oe.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/
-},converters:{"text script":function(e){return oe.globalEval(e),e}}}),oe.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),oe.ajaxTransport("script",function(e){if(e.crossDomain){var t,n=he.head||oe("head")[0]||he.documentElement;return{send:function(i,o){t=he.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||o(200,"success"))},n.insertBefore(t,n.firstChild)},abort:function(){t&&t.onload(void 0,!0)}}}});var Kt=[],en=/(=)\?(?=&|$)|\?\?/;oe.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Kt.pop()||oe.expando+"_"+$t++;return this[e]=!0,e}}),oe.ajaxPrefilter("json jsonp",function(t,n,i){var o,r,s,a=t.jsonp!==!1&&(en.test(t.url)?"url":"string"==typeof t.data&&!(t.contentType||"").indexOf("application/x-www-form-urlencoded")&&en.test(t.data)&&"data");return a||"jsonp"===t.dataTypes[0]?(o=t.jsonpCallback=oe.isFunction(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,a?t[a]=t[a].replace(en,"$1"+o):t.jsonp!==!1&&(t.url+=(jt.test(t.url)?"&":"?")+t.jsonp+"="+o),t.converters["script json"]=function(){return s||oe.error(o+" was not called"),s[0]},t.dataTypes[0]="json",r=e[o],e[o]=function(){s=arguments},i.always(function(){e[o]=r,t[o]&&(t.jsonpCallback=n.jsonpCallback,Kt.push(o)),s&&oe.isFunction(r)&&r(s[0]),s=r=void 0}),"script"):void 0}),oe.parseHTML=function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||he;var i=de.exec(e),o=!n&&[];return i?[t.createElement(i[1])]:(i=oe.buildFragment([e],t,o),o&&o.length&&oe(o).remove(),oe.merge([],i.childNodes))};var tn=oe.fn.load;oe.fn.load=function(e,t,n){if("string"!=typeof e&&tn)return tn.apply(this,arguments);var i,o,r,s=this,a=e.indexOf(" ");return a>=0&&(i=oe.trim(e.slice(a,e.length)),e=e.slice(0,a)),oe.isFunction(t)?(n=t,t=void 0):t&&"object"==typeof t&&(r="POST"),s.length>0&&oe.ajax({url:e,type:r,dataType:"html",data:t}).done(function(e){o=arguments,s.html(i?oe("").append(oe.parseHTML(e)).find(i):e)}).complete(n&&function(e,t){s.each(n,o||[e.responseText,t,e])}),this},oe.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){oe.fn[t]=function(e){return this.on(t,e)}}),oe.expr.filters.animated=function(e){return oe.grep(oe.timers,function(t){return e===t.elem}).length};var nn=e.document.documentElement;oe.offset={setOffset:function(e,t,n){var i,o,r,s,a,l,c,u=oe.css(e,"position"),d=oe(e),f={};"static"===u&&(e.style.position="relative"),a=d.offset(),r=oe.css(e,"top"),l=oe.css(e,"left"),c=("absolute"===u||"fixed"===u)&&oe.inArray("auto",[r,l])>-1,c?(i=d.position(),s=i.top,o=i.left):(s=parseFloat(r)||0,o=parseFloat(l)||0),oe.isFunction(t)&&(t=t.call(e,n,a)),null!=t.top&&(f.top=t.top-a.top+s),null!=t.left&&(f.left=t.left-a.left+o),"using"in t?t.using.call(e,f):d.css(f)}},oe.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each(function(t){oe.offset.setOffset(this,e,t)});var t,n,i={top:0,left:0},o=this[0],r=o&&o.ownerDocument;return r?(t=r.documentElement,oe.contains(t,o)?(typeof o.getBoundingClientRect!==Ce&&(i=o.getBoundingClientRect()),n=G(r),{top:i.top+(n.pageYOffset||t.scrollTop)-(t.clientTop||0),left:i.left+(n.pageXOffset||t.scrollLeft)-(t.clientLeft||0)}):i):void 0},position:function(){if(this[0]){var e,t,n={top:0,left:0},i=this[0];return"fixed"===oe.css(i,"position")?t=i.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),oe.nodeName(e[0],"html")||(n=e.offset()),n.top+=oe.css(e[0],"borderTopWidth",!0),n.left+=oe.css(e[0],"borderLeftWidth",!0)),{top:t.top-n.top-oe.css(i,"marginTop",!0),left:t.left-n.left-oe.css(i,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent||nn;e&&!oe.nodeName(e,"html")&&"static"===oe.css(e,"position");)e=e.offsetParent;return e||nn})}}),oe.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,t){var n=/Y/.test(t);oe.fn[e]=function(i){return De(this,function(e,i,o){var r=G(e);return void 0===o?r?t in r?r[t]:r.document.documentElement[i]:e[i]:void(r?r.scrollTo(n?oe(r).scrollLeft():o,n?o:oe(r).scrollTop()):e[i]=o)},e,i,arguments.length,null)}}),oe.each(["top","left"],function(e,t){oe.cssHooks[t]=S(ne.pixelPosition,function(e,n){return n?(n=tt(e,t),it.test(n)?oe(e).position()[t]+"px":n):void 0})}),oe.each({Height:"height",Width:"width"},function(e,t){oe.each({padding:"inner"+e,content:t,"":"outer"+e},function(n,i){oe.fn[i]=function(i,o){var r=arguments.length&&(n||"boolean"!=typeof i),s=n||(i===!0||o===!0?"margin":"border");return De(this,function(t,n,i){var o;return oe.isWindow(t)?t.document.documentElement["client"+e]:9===t.nodeType?(o=t.documentElement,Math.max(t.body["scroll"+e],o["scroll"+e],t.body["offset"+e],o["offset"+e],o["client"+e])):void 0===i?oe.css(t,n,s):oe.style(t,n,i,s)},t,r?i:void 0,r,null)}})}),oe.fn.size=function(){return this.length},oe.fn.andSelf=oe.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return oe});var on=e.jQuery,rn=e.$;return oe.noConflict=function(t){return e.$===oe&&(e.$=rn),t&&e.jQuery===oe&&(e.jQuery=on),oe},typeof t===Ce&&(e.jQuery=e.$=oe),oe}),"undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(e){"use strict";var t=e.fn.jquery.split(" ")[0].split(".");if(t[0]<2&&t[1]<9||1==t[0]&&9==t[1]&&t[2]<1)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher")}(jQuery),+function(e){"use strict";function t(){var e=document.createElement("bootstrap"),t={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var n in t)if(void 0!==e.style[n])return{end:t[n]};return!1}e.fn.emulateTransitionEnd=function(t){var n=!1,i=this;e(this).one("bsTransitionEnd",function(){n=!0});var o=function(){n||e(i).trigger(e.support.transition.end)};return setTimeout(o,t),this},e(function(){e.support.transition=t(),e.support.transition&&(e.event.special.bsTransitionEnd={bindType:e.support.transition.end,delegateType:e.support.transition.end,handle:function(t){return e(t.target).is(this)?t.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(e){"use strict";function t(t){return this.each(function(){var n=e(this),o=n.data("bs.alert");o||n.data("bs.alert",o=new i(this)),"string"==typeof t&&o[t].call(n)})}var n='[data-dismiss="alert"]',i=function(t){e(t).on("click",n,this.close)};i.VERSION="3.3.5",i.TRANSITION_DURATION=150,i.prototype.close=function(t){function n(){s.detach().trigger("closed.bs.alert").remove()}var o=e(this),r=o.attr("data-target");r||(r=o.attr("href"),r=r&&r.replace(/.*(?=#[^\s]*$)/,""));var s=e(r);t&&t.preventDefault(),s.length||(s=o.closest(".alert")),s.trigger(t=e.Event("close.bs.alert")),t.isDefaultPrevented()||(s.removeClass("in"),e.support.transition&&s.hasClass("fade")?s.one("bsTransitionEnd",n).emulateTransitionEnd(i.TRANSITION_DURATION):n())};var o=e.fn.alert;e.fn.alert=t,e.fn.alert.Constructor=i,e.fn.alert.noConflict=function(){return e.fn.alert=o,this},e(document).on("click.bs.alert.data-api",n,i.prototype.close)}(jQuery),+function(e){"use strict";function t(t){return this.each(function(){var i=e(this),o=i.data("bs.button"),r="object"==typeof t&&t;o||i.data("bs.button",o=new n(this,r)),"toggle"==t?o.toggle():t&&o.setState(t)})}var n=function(t,i){this.$element=e(t),this.options=e.extend({},n.DEFAULTS,i),this.isLoading=!1};n.VERSION="3.3.5",n.DEFAULTS={loadingText:"loading..."},n.prototype.setState=function(t){var n="disabled",i=this.$element,o=i.is("input")?"val":"html",r=i.data();t+="Text",null==r.resetText&&i.data("resetText",i[o]()),setTimeout(e.proxy(function(){i[o](null==r[t]?this.options[t]:r[t]),"loadingText"==t?(this.isLoading=!0,i.addClass(n).attr(n,n)):this.isLoading&&(this.isLoading=!1,i.removeClass(n).removeAttr(n))},this),0)},n.prototype.toggle=function(){var e=!0,t=this.$element.closest('[data-toggle="buttons"]');if(t.length){var n=this.$element.find("input");"radio"==n.prop("type")?(n.prop("checked")&&(e=!1),t.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==n.prop("type")&&(n.prop("checked")!==this.$element.hasClass("active")&&(e=!1),this.$element.toggleClass("active")),n.prop("checked",this.$element.hasClass("active")),e&&n.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var i=e.fn.button;e.fn.button=t,e.fn.button.Constructor=n,e.fn.button.noConflict=function(){return e.fn.button=i,this},e(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(n){var i=e(n.target);i.hasClass("btn")||(i=i.closest(".btn")),t.call(i,"toggle"),e(n.target).is('input[type="radio"]')||e(n.target).is('input[type="checkbox"]')||n.preventDefault()}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(t){e(t.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(t.type))})}(jQuery),+function(e){"use strict";function t(t){return this.each(function(){var i=e(this),o=i.data("bs.carousel"),r=e.extend({},n.DEFAULTS,i.data(),"object"==typeof t&&t),s="string"==typeof t?t:r.slide;o||i.data("bs.carousel",o=new n(this,r)),"number"==typeof t?o.to(t):s?o[s]():r.interval&&o.pause().cycle()})}var n=function(t,n){this.$element=e(t),this.$indicators=this.$element.find(".carousel-indicators"),this.options=n,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",e.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",e.proxy(this.pause,this)).on("mouseleave.bs.carousel",e.proxy(this.cycle,this))};n.VERSION="3.3.5",n.TRANSITION_DURATION=600,n.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},n.prototype.keydown=function(e){if(!/input|textarea/i.test(e.target.tagName)){switch(e.which){case 37:this.prev();break;case 39:this.next();break;default:return}e.preventDefault()}},n.prototype.cycle=function(t){return t||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(e.proxy(this.next,this),this.options.interval)),this},n.prototype.getItemIndex=function(e){return this.$items=e.parent().children(".item"),this.$items.index(e||this.$active)},n.prototype.getItemForDirection=function(e,t){var n=this.getItemIndex(t),i="prev"==e&&0===n||"next"==e&&n==this.$items.length-1;if(i&&!this.options.wrap)return t;var o="prev"==e?-1:1,r=(n+o)%this.$items.length;return this.$items.eq(r)},n.prototype.to=function(e){var t=this,n=this.getItemIndex(this.$active=this.$element.find(".item.active"));return e>this.$items.length-1||0>e?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){t.to(e)}):n==e?this.pause().cycle():this.slide(e>n?"next":"prev",this.$items.eq(e))},n.prototype.pause=function(t){return t||(this.paused=!0),this.$element.find(".next, .prev").length&&e.support.transition&&(this.$element.trigger(e.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},n.prototype.next=function(){return this.sliding?void 0:this.slide("next")},n.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},n.prototype.slide=function(t,i){var o=this.$element.find(".item.active"),r=i||this.getItemForDirection(t,o),s=this.interval,a="next"==t?"left":"right",l=this;if(r.hasClass("active"))return this.sliding=!1;var c=r[0],u=e.Event("slide.bs.carousel",{relatedTarget:c,direction:a});if(this.$element.trigger(u),!u.isDefaultPrevented()){if(this.sliding=!0,s&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var d=e(this.$indicators.children()[this.getItemIndex(r)]);d&&d.addClass("active")}var f=e.Event("slid.bs.carousel",{relatedTarget:c,direction:a});return e.support.transition&&this.$element.hasClass("slide")?(r.addClass(t),r[0].offsetWidth,o.addClass(a),r.addClass(a),o.one("bsTransitionEnd",function(){r.removeClass([t,a].join(" ")).addClass("active"),o.removeClass(["active",a].join(" ")),l.sliding=!1,setTimeout(function(){l.$element.trigger(f)},0)}).emulateTransitionEnd(n.TRANSITION_DURATION)):(o.removeClass("active"),r.addClass("active"),this.sliding=!1,this.$element.trigger(f)),s&&this.cycle(),this}};var i=e.fn.carousel;e.fn.carousel=t,e.fn.carousel.Constructor=n,e.fn.carousel.noConflict=function(){return e.fn.carousel=i,this};var o=function(n){var i,o=e(this),r=e(o.attr("data-target")||(i=o.attr("href"))&&i.replace(/.*(?=#[^\s]+$)/,""));if(r.hasClass("carousel")){var s=e.extend({},r.data(),o.data()),a=o.attr("data-slide-to");a&&(s.interval=!1),t.call(r,s),a&&r.data("bs.carousel").to(a),n.preventDefault()}};e(document).on("click.bs.carousel.data-api","[data-slide]",o).on("click.bs.carousel.data-api","[data-slide-to]",o),e(window).on("load",function(){e('[data-ride="carousel"]').each(function(){var n=e(this);t.call(n,n.data())})})}(jQuery),+function(e){"use strict";function t(t){var n,i=t.attr("data-target")||(n=t.attr("href"))&&n.replace(/.*(?=#[^\s]+$)/,"");return e(i)}function n(t){return this.each(function(){var n=e(this),o=n.data("bs.collapse"),r=e.extend({},i.DEFAULTS,n.data(),"object"==typeof t&&t);!o&&r.toggle&&/show|hide/.test(t)&&(r.toggle=!1),o||n.data("bs.collapse",o=new i(this,r)),"string"==typeof t&&o[t]()})}var i=function(t,n){this.$element=e(t),this.options=e.extend({},i.DEFAULTS,n),this.$trigger=e('[data-toggle="collapse"][href="#'+t.id+'"],[data-toggle="collapse"][data-target="#'+t.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};i.VERSION="3.3.5",i.TRANSITION_DURATION=350,i.DEFAULTS={toggle:!0},i.prototype.dimension=function(){var e=this.$element.hasClass("width");return e?"width":"height"},i.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var t,o=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(o&&o.length&&(t=o.data("bs.collapse"),t&&t.transitioning))){var r=e.Event("show.bs.collapse");if(this.$element.trigger(r),!r.isDefaultPrevented()){o&&o.length&&(n.call(o,"hide"),t||o.data("bs.collapse",null));var s=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[s](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var a=function(){this.$element.removeClass("collapsing").addClass("collapse in")[s](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!e.support.transition)return a.call(this);var l=e.camelCase(["scroll",s].join("-"));this.$element.one("bsTransitionEnd",e.proxy(a,this)).emulateTransitionEnd(i.TRANSITION_DURATION)[s](this.$element[0][l])}}}},i.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var t=e.Event("hide.bs.collapse");if(this.$element.trigger(t),!t.isDefaultPrevented()){var n=this.dimension();this.$element[n](this.$element[n]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var o=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return e.support.transition?void this.$element[n](0).one("bsTransitionEnd",e.proxy(o,this)).emulateTransitionEnd(i.TRANSITION_DURATION):o.call(this)}}},i.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},i.prototype.getParent=function(){return e(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(e.proxy(function(n,i){var o=e(i);this.addAriaAndCollapsedClass(t(o),o)},this)).end()},i.prototype.addAriaAndCollapsedClass=function(e,t){var n=e.hasClass("in");e.attr("aria-expanded",n),t.toggleClass("collapsed",!n).attr("aria-expanded",n)};var o=e.fn.collapse;e.fn.collapse=n,e.fn.collapse.Constructor=i,e.fn.collapse.noConflict=function(){return e.fn.collapse=o,this},e(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(i){var o=e(this);o.attr("data-target")||i.preventDefault();var r=t(o),s=r.data("bs.collapse"),a=s?"toggle":o.data();n.call(r,a)})}(jQuery),+function(e){"use strict";function t(t){var n=t.attr("data-target");n||(n=t.attr("href"),n=n&&/#[A-Za-z]/.test(n)&&n.replace(/.*(?=#[^\s]*$)/,""));var i=n&&e(n);return i&&i.length?i:t.parent()}function n(n){n&&3===n.which||(e(o).remove(),e(r).each(function(){var i=e(this),o=t(i),r={relatedTarget:this};o.hasClass("open")&&(n&&"click"==n.type&&/input|textarea/i.test(n.target.tagName)&&e.contains(o[0],n.target)||(o.trigger(n=e.Event("hide.bs.dropdown",r)),n.isDefaultPrevented()||(i.attr("aria-expanded","false"),o.removeClass("open").trigger("hidden.bs.dropdown",r))))}))}function i(t){return this.each(function(){var n=e(this),i=n.data("bs.dropdown");i||n.data("bs.dropdown",i=new s(this)),"string"==typeof t&&i[t].call(n)})}var o=".dropdown-backdrop",r='[data-toggle="dropdown"]',s=function(t){e(t).on("click.bs.dropdown",this.toggle)};s.VERSION="3.3.5",s.prototype.toggle=function(i){var o=e(this);if(!o.is(".disabled, :disabled")){var r=t(o),s=r.hasClass("open");if(n(),!s){"ontouchstart"in document.documentElement&&!r.closest(".navbar-nav").length&&e(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(e(this)).on("click",n);var a={relatedTarget:this};if(r.trigger(i=e.Event("show.bs.dropdown",a)),i.isDefaultPrevented())return;o.trigger("focus").attr("aria-expanded","true"),r.toggleClass("open").trigger("shown.bs.dropdown",a)}return!1}},s.prototype.keydown=function(n){if(/(38|40|27|32)/.test(n.which)&&!/input|textarea/i.test(n.target.tagName)){var i=e(this);if(n.preventDefault(),n.stopPropagation(),!i.is(".disabled, :disabled")){var o=t(i),s=o.hasClass("open");if(!s&&27!=n.which||s&&27==n.which)return 27==n.which&&o.find(r).trigger("focus"),i.trigger("click");var a=" li:not(.disabled):visible a",l=o.find(".dropdown-menu"+a);if(l.length){var c=l.index(n.target);38==n.which&&c>0&&c--,40==n.which&&c
document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&e?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!e?this.scrollbarWidth:""})},n.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},n.prototype.checkScrollbar=function(){var e=window.innerWidth;if(!e){var t=document.documentElement.getBoundingClientRect();e=t.right-Math.abs(t.left)}this.bodyIsOverflowing=document.body.clientWidth
',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},n.prototype.init=function(t,n,i){if(this.enabled=!0,this.type=t,this.$element=e(n),this.options=this.getOptions(i),this.$viewport=this.options.viewport&&e(e.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var o=this.options.trigger.split(" "),r=o.length;r--;){var s=o[r];if("click"==s)this.$element.on("click."+this.type,this.options.selector,e.proxy(this.toggle,this));else if("manual"!=s){var a="hover"==s?"mouseenter":"focusin",l="hover"==s?"mouseleave":"focusout";this.$element.on(a+"."+this.type,this.options.selector,e.proxy(this.enter,this)),this.$element.on(l+"."+this.type,this.options.selector,e.proxy(this.leave,this))}}this.options.selector?this._options=e.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},n.prototype.getDefaults=function(){return n.DEFAULTS},n.prototype.getOptions=function(t){return t=e.extend({},this.getDefaults(),this.$element.data(),t),t.delay&&"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),t},n.prototype.getDelegateOptions=function(){var t={},n=this.getDefaults();return this._options&&e.each(this._options,function(e,i){n[e]!=i&&(t[e]=i)}),t},n.prototype.enter=function(t){var n=t instanceof this.constructor?t:e(t.currentTarget).data("bs."+this.type);return n||(n=new this.constructor(t.currentTarget,this.getDelegateOptions()),e(t.currentTarget).data("bs."+this.type,n)),t instanceof e.Event&&(n.inState["focusin"==t.type?"focus":"hover"]=!0),n.tip().hasClass("in")||"in"==n.hoverState?void(n.hoverState="in"):(clearTimeout(n.timeout),n.hoverState="in",n.options.delay&&n.options.delay.show?void(n.timeout=setTimeout(function(){"in"==n.hoverState&&n.show()},n.options.delay.show)):n.show())},n.prototype.isInStateTrue=function(){for(var e in this.inState)if(this.inState[e])return!0;return!1},n.prototype.leave=function(t){var n=t instanceof this.constructor?t:e(t.currentTarget).data("bs."+this.type);return n||(n=new this.constructor(t.currentTarget,this.getDelegateOptions()),e(t.currentTarget).data("bs."+this.type,n)),t instanceof e.Event&&(n.inState["focusout"==t.type?"focus":"hover"]=!1),n.isInStateTrue()?void 0:(clearTimeout(n.timeout),n.hoverState="out",n.options.delay&&n.options.delay.hide?void(n.timeout=setTimeout(function(){"out"==n.hoverState&&n.hide()},n.options.delay.hide)):n.hide())},n.prototype.show=function(){var t=e.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(t);var i=e.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(t.isDefaultPrevented()||!i)return;var o=this,r=this.tip(),s=this.getUID(this.type);this.setContent(),r.attr("id",s),this.$element.attr("aria-describedby",s),this.options.animation&&r.addClass("fade");var a="function"==typeof this.options.placement?this.options.placement.call(this,r[0],this.$element[0]):this.options.placement,l=/\s?auto?\s?/i,c=l.test(a);c&&(a=a.replace(l,"")||"top"),r.detach().css({top:0,left:0,display:"block"}).addClass(a).data("bs."+this.type,this),this.options.container?r.appendTo(this.options.container):r.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var u=this.getPosition(),d=r[0].offsetWidth,f=r[0].offsetHeight;if(c){var p=a,h=this.getPosition(this.$viewport);a="bottom"==a&&u.bottom+f>h.bottom?"top":"top"==a&&u.top-fh.width?"left":"left"==a&&u.left-ds.top+s.height&&(o.top=s.top+s.height-l)}else{var c=t.left-r,u=t.left+r+n;cs.right&&(o.left=s.left+s.width-u)}return o},n.prototype.getTitle=function(){var e,t=this.$element,n=this.options;return e=t.attr("data-original-title")||("function"==typeof n.title?n.title.call(t[0]):n.title)},n.prototype.getUID=function(e){do e+=~~(1e6*Math.random());while(document.getElementById(e));return e},n.prototype.tip=function(){if(!this.$tip&&(this.$tip=e(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},n.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},n.prototype.enable=function(){this.enabled=!0},n.prototype.disable=function(){this.enabled=!1},n.prototype.toggleEnabled=function(){this.enabled=!this.enabled},n.prototype.toggle=function(t){var n=this;t&&(n=e(t.currentTarget).data("bs."+this.type),n||(n=new this.constructor(t.currentTarget,this.getDelegateOptions()),e(t.currentTarget).data("bs."+this.type,n))),t?(n.inState.click=!n.inState.click,n.isInStateTrue()?n.enter(n):n.leave(n)):n.tip().hasClass("in")?n.leave(n):n.enter(n)},n.prototype.destroy=function(){var e=this;clearTimeout(this.timeout),this.hide(function(){e.$element.off("."+e.type).removeData("bs."+e.type),e.$tip&&e.$tip.detach(),e.$tip=null,e.$arrow=null,e.$viewport=null})};var i=e.fn.tooltip;e.fn.tooltip=t,e.fn.tooltip.Constructor=n,e.fn.tooltip.noConflict=function(){return e.fn.tooltip=i,this}}(jQuery),+function(e){"use strict";function t(t){return this.each(function(){var i=e(this),o=i.data("bs.popover"),r="object"==typeof t&&t;(o||!/destroy|hide/.test(t))&&(o||i.data("bs.popover",o=new n(this,r)),"string"==typeof t&&o[t]())})}var n=function(e,t){this.init("popover",e,t)};if(!e.fn.tooltip)throw new Error("Popover requires tooltip.js");n.VERSION="3.3.5",n.DEFAULTS=e.extend({},e.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:''}),n.prototype=e.extend({},e.fn.tooltip.Constructor.prototype),n.prototype.constructor=n,n.prototype.getDefaults=function(){return n.DEFAULTS},n.prototype.setContent=function(){var e=this.tip(),t=this.getTitle(),n=this.getContent();e.find(".popover-title")[this.options.html?"html":"text"](t),e.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof n?"html":"append":"text"](n),e.removeClass("fade top bottom left right in"),e.find(".popover-title").html()||e.find(".popover-title").hide()},n.prototype.hasContent=function(){return this.getTitle()||this.getContent()},n.prototype.getContent=function(){var e=this.$element,t=this.options;return e.attr("data-content")||("function"==typeof t.content?t.content.call(e[0]):t.content)},n.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var i=e.fn.popover;e.fn.popover=t,e.fn.popover.Constructor=n,e.fn.popover.noConflict=function(){return e.fn.popover=i,this}}(jQuery),+function(e){"use strict";function t(n,i){this.$body=e(document.body),this.$scrollElement=e(e(n).is(document.body)?window:n),this.options=e.extend({},t.DEFAULTS,i),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",e.proxy(this.process,this)),this.refresh(),this.process()}function n(n){return this.each(function(){var i=e(this),o=i.data("bs.scrollspy"),r="object"==typeof n&&n;o||i.data("bs.scrollspy",o=new t(this,r)),"string"==typeof n&&o[n]()})}t.VERSION="3.3.5",t.DEFAULTS={offset:10},t.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},t.prototype.refresh=function(){var t=this,n="offset",i=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),e.isWindow(this.$scrollElement[0])||(n="position",i=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var t=e(this),o=t.data("target")||t.attr("href"),r=/^#./.test(o)&&e(o);return r&&r.length&&r.is(":visible")&&[[r[n]().top+i,o]]||null}).sort(function(e,t){return e[0]-t[0]}).each(function(){t.offsets.push(this[0]),t.targets.push(this[1])})},t.prototype.process=function(){var e,t=this.$scrollElement.scrollTop()+this.options.offset,n=this.getScrollHeight(),i=this.options.offset+n-this.$scrollElement.height(),o=this.offsets,r=this.targets,s=this.activeTarget;if(this.scrollHeight!=n&&this.refresh(),t>=i)return s!=(e=r[r.length-1])&&this.activate(e);if(s&&t=o[e]&&(void 0===o[e+1]||t .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),t.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),a?(t[0].offsetWidth,t.addClass("in")):t.removeClass("fade"),t.parent(".dropdown-menu").length&&t.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),o&&o()}var s=i.find("> .active"),a=o&&e.support.transition&&(s.length&&s.hasClass("fade")||!!i.find("> .fade").length);s.length&&a?s.one("bsTransitionEnd",r).emulateTransitionEnd(n.TRANSITION_DURATION):r(),s.removeClass("in")};var i=e.fn.tab;e.fn.tab=t,e.fn.tab.Constructor=n,e.fn.tab.noConflict=function(){return e.fn.tab=i,this};var o=function(n){n.preventDefault(),t.call(e(this),"show")};e(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',o).on("click.bs.tab.data-api",'[data-toggle="pill"]',o)}(jQuery),+function(e){"use strict";function t(t){return this.each(function(){var i=e(this),o=i.data("bs.affix"),r="object"==typeof t&&t;o||i.data("bs.affix",o=new n(this,r)),"string"==typeof t&&o[t]()})}var n=function(t,i){this.options=e.extend({},n.DEFAULTS,i),this.$target=e(this.options.target).on("scroll.bs.affix.data-api",e.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",e.proxy(this.checkPositionWithEventLoop,this)),this.$element=e(t),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};n.VERSION="3.3.5",n.RESET="affix affix-top affix-bottom",n.DEFAULTS={offset:0,target:window},n.prototype.getState=function(e,t,n,i){var o=this.$target.scrollTop(),r=this.$element.offset(),s=this.$target.height();if(null!=n&&"top"==this.affixed)return n>o&&"top";if("bottom"==this.affixed)return null!=n?!(o+this.unpin<=r.top)&&"bottom":!(e-i>=o+s)&&"bottom";var a=null==this.affixed,l=a?o:r.top,c=a?s:t;return null!=n&&n>=o?"top":null!=i&&l+c>=e-i&&"bottom"},n.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(n.RESET).addClass("affix");var e=this.$target.scrollTop(),t=this.$element.offset();return this.pinnedOffset=t.top-e},n.prototype.checkPositionWithEventLoop=function(){setTimeout(e.proxy(this.checkPosition,this),1)},n.prototype.checkPosition=function(){if(this.$element.is(":visible")){var t=this.$element.height(),i=this.options.offset,o=i.top,r=i.bottom,s=Math.max(e(document).height(),e(document.body).height());"object"!=typeof i&&(r=o=i),"function"==typeof o&&(o=i.top(this.$element)),"function"==typeof r&&(r=i.bottom(this.$element));var a=this.getState(s,t,o,r);if(this.affixed!=a){null!=this.unpin&&this.$element.css("top","");var l="affix"+(a?"-"+a:""),c=e.Event(l+".bs.affix");if(this.$element.trigger(c),c.isDefaultPrevented())return;this.affixed=a,this.unpin="bottom"==a?this.getPinnedOffset():null,this.$element.removeClass(n.RESET).addClass(l).trigger(l.replace("affix","affixed")+".bs.affix")}"bottom"==a&&this.$element.offset({top:s-t-r})}};var i=e.fn.affix;e.fn.affix=t,e.fn.affix.Constructor=n,e.fn.affix.noConflict=function(){return e.fn.affix=i,this},e(window).on("load",function(){e('[data-spy="affix"]').each(function(){var n=e(this),i=n.data();i.offset=i.offset||{},null!=i.offsetBottom&&(i.offset.bottom=i.offsetBottom),null!=i.offsetTop&&(i.offset.top=i.offsetTop),t.call(n,i)})})}(jQuery),!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):"object"==typeof exports?exports.Holder=t():e.Holder=t()}(this,function(){return function(e){function t(i){if(n[i])return n[i].exports;var o=n[i]={exports:{},id:i,loaded:!1};return e[i].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){(function(t){function i(e,t,n,i){var s=o(n.substr(n.lastIndexOf(e.domain)),e);s&&r({mode:null,el:i,flags:s,engineSettings:t})}function o(e,t){for(var n={theme:T(R.settings.themes.gray,null),stylesheets:t.stylesheets,holderURL:[]},i=!1,o=String.fromCharCode(11),r=e.replace(/([^\\])\//g,"$1"+o).split(o),s=/%[0-9a-f]{2}/gi,a=r.length,l=0;a>l;l++){var c=r[l];if(c.match(s))try{c=decodeURIComponent(c)}catch(e){c=r[l]}var u=!1;if(R.flags.dimensions.match(c))i=!0,n.dimensions=R.flags.dimensions.output(c),u=!0;else if(R.flags.fluid.match(c))i=!0,n.dimensions=R.flags.fluid.output(c),n.fluid=!0,u=!0;else if(R.flags.textmode.match(c))n.textmode=R.flags.textmode.output(c),u=!0;else if(R.flags.colors.match(c)){var d=R.flags.colors.output(c);n.theme=T(n.theme,d),u=!0}else if(t.themes[c])t.themes.hasOwnProperty(c)&&(n.theme=T(t.themes[c],null)),u=!0;else if(R.flags.font.match(c))n.font=R.flags.font.output(c),u=!0;else if(R.flags.auto.match(c))n.auto=!0,u=!0;else if(R.flags.text.match(c))n.text=R.flags.text.output(c),u=!0;else if(R.flags.size.match(c))n.size=R.flags.size.output(c),u=!0;else if(R.flags.random.match(c)){null==R.vars.cache.themeKeys&&(R.vars.cache.themeKeys=Object.keys(t.themes));var f=R.vars.cache.themeKeys[0|Math.random()*R.vars.cache.themeKeys.length];n.theme=T(t.themes[f],null),u=!0}u&&n.holderURL.push(c)}return n.holderURL.unshift(t.domain),n.holderURL=n.holderURL.join("/"),!!i&&n}function r(e){var t=e.mode,n=e.el,i=e.flags,o=e.engineSettings,r=i.dimensions,a=i.theme,l=r.width+"x"+r.height;if(t=null==t?i.fluid?"fluid":"image":t,null!=i.text&&(a.text=i.text,"object"===n.nodeName.toLowerCase())){for(var d=a.text.split("\\n"),f=0;f1){var d=0,f=0,p=e.width*R.setup.lineWrapRatio,h=0;u=new o.Group("line"+h);for(var g=0;g=p||v===!0)&&(t(s,u,d,s.properties.leading),d=0,f+=s.properties.leading,h+=1,u=new o.Group("line"+h),u.y=f),v!==!0&&(c.moveTo(d,0),d+=a.spaceWidth+m.width,u.add(c))}t(s,u,d,s.properties.leading);for(var y in s.children)u=s.children[y],u.moveTo((s.width-u.width)/2,null,null);s.moveTo((e.width-s.width)/2,(e.height-s.height)/2,null),(e.height-s.height)/2<0&&s.moveTo(null,0,null)}else c=new o.Text(e.text),u=new o.Group("line0"),u.add(c),s.add(u),s.moveTo((e.width-a.boundingBox.width)/2,(e.height-a.boundingBox.height)/2,null);return i}function l(e,t,n){var i=parseInt(e,10),o=parseInt(t,10),r=Math.max(i,o),s=Math.min(i,o),a=.8*Math.min(s,r*R.defaults.scale);return Math.round(Math.max(n,a))}function c(e){var t;t=null==e||null==e.nodeType?R.vars.resizableImages:[e];for(var n=0,i=t.length;i>n;n++){var o=t[n];if(o.holderData){var r=o.holderData.flags,a=$(o);if(a){if(!o.holderData.resizeUpdate)continue;if(r.fluid&&r.auto){var l=o.holderData.fluidConfig;switch(l.mode){case"width":a.height=a.width/l.ratio;break;case"height":a.width=a.height*l.ratio}}var c={mode:"image",holderSettings:{dimensions:a,theme:r.theme,flags:r},el:o,engineSettings:o.holderData.engineSettings};"exact"==r.textmode&&(r.exactDimensions=a,c.holderSettings.dimensions=r.dimensions),s(c)}else p(o)}}}function u(e){if(e.holderData){var t=$(e);if(t){var n=e.holderData.flags,i={fluidHeight:"%"==n.dimensions.height.slice(-1),fluidWidth:"%"==n.dimensions.width.slice(-1),mode:null,initialDimensions:t};i.fluidWidth&&!i.fluidHeight?(i.mode="width",i.ratio=i.initialDimensions.width/parseFloat(n.dimensions.height)):!i.fluidWidth&&i.fluidHeight&&(i.mode="height",i.ratio=parseFloat(n.dimensions.width)/i.initialDimensions.height),e.holderData.fluidConfig=i}else p(e)}}function d(){for(var e,n=[],i=Object.keys(R.vars.invisibleImages),o=0,r=i.length;r>o;o++)e=R.vars.invisibleImages[i[o]],$(e)&&"img"==e.nodeName.toLowerCase()&&(n.push(e),delete R.vars.invisibleImages[i[o]]);n.length&&B.run({images:n}),t.requestAnimationFrame(d)}function f(){R.vars.visibilityCheckStarted||(t.requestAnimationFrame(d),R.vars.visibilityCheckStarted=!0)}function p(e){e.holderData.invisibleId||(R.vars.invisibleId+=1,R.vars.invisibleImages["i"+R.vars.invisibleId]=e,e.holderData.invisibleId=R.vars.invisibleId)}function h(e,t){return null==t?document.createElement(e):document.createElementNS(t,e)}function g(e,t){for(var n in t)e.setAttribute(n,t[n])}function m(e,t,n){var i,o;null==e?(e=h("svg",j),i=h("defs",j),o=h("style",j),g(o,{type:"text/css"}),i.appendChild(o),e.appendChild(i)):o=e.querySelector("style"),e.webkitMatchesSelector&&e.setAttribute("xmlns",j);for(var r=0;r=0;a--){var l=s.createProcessingInstruction("xml-stylesheet",'href="'+r[a]+'" rel="stylesheet"');s.insertBefore(l,s.firstChild)}var c=s.createProcessingInstruction("xml",'version="1.0" encoding="UTF-8" standalone="yes"');s.insertBefore(c,s.firstChild),s.removeChild(s.documentElement),o=i.serializeToString(s)}var u=i.serializeToString(e);return u=u.replace(/\&(\#[0-9]{2,}\;)/g,"&$1"),o+u}}function y(){return t.DOMParser?(new DOMParser).parseFromString(" ","application/xml"):void 0}function b(e){R.vars.debounceTimer||e.call(this),R.vars.debounceTimer&&t.clearTimeout(R.vars.debounceTimer),R.vars.debounceTimer=t.setTimeout(function(){R.vars.debounceTimer=null,e.call(this)},R.setup.debounce)}function A(){b(function(){c(null)})}var x=n(1),w=n(2),C=n(3),T=C.extend,E=C.cssProps,S=C.encodeHtmlEntity,k=C.decodeHtmlEntity,N=C.imageExists,D=C.getNodeArray,$=C.dimensionCheck,j="http://www.w3.org/2000/svg",L=8,O="2.6.0",I="\nCreated with Holder.js "+O+".\nLearn more at http://holderjs.com\n(c) 2012-2015 Ivan Malopinsky - http://imsky.co\n",B={version:O,addTheme:function(e,t){return null!=e&&null!=t&&(R.settings.themes[e]=t),delete R.vars.cache.themeKeys,this},addImage:function(e,t){var n=document.querySelectorAll(t);if(n.length)for(var i=0,o=n.length;o>i;i++){var r=h("img"),s={};s[R.vars.dataAttr]=e,g(r,s),n[i].appendChild(r)}return this},setResizeUpdate:function(e,t){e.holderData&&(e.holderData.resizeUpdate=!!t,e.holderData.resizeUpdate&&c(e))},run:function(e){e=e||{};var n={},s=T(R.settings,e);R.vars.preempted=!0,R.vars.dataAttr=s.dataAttr||R.vars.dataAttr,n.renderer=s.renderer?s.renderer:R.setup.renderer,-1===R.setup.renderers.join(",").indexOf(n.renderer)&&(n.renderer=R.setup.supportsSVG?"svg":R.setup.supportsCanvas?"canvas":"html");var a=D(s.images),l=D(s.bgnodes),c=D(s.stylenodes),u=D(s.objects);n.stylesheets=[],n.svgXMLStylesheet=!0,n.noFontFallback=!!s.noFontFallback&&s.noFontFallback;for(var d=0;d1){n.nodeValue="";for(var A=0;A=0?t:1)}function r(e){x?o(e):w.push(e)}null==document.readyState&&document.addEventListener&&(document.addEventListener("DOMContentLoaded",function e(){document.removeEventListener("DOMContentLoaded",e,!1),document.readyState="complete"},!1),document.readyState="loading");var s=e.document,a=s.documentElement,l="load",c=!1,u="on"+l,d="complete",f="readyState",p="attachEvent",h="detachEvent",g="addEventListener",m="DOMContentLoaded",v="onreadystatechange",y="removeEventListener",b=g in s,A=c,x=c,w=[];if(s[f]===d)o(t);else if(b)s[g](m,n,c),e[g](l,n,c);else{s[p](v,n),e[p](u,n);try{A=null==e.frameElement&&a}catch(e){}A&&A.doScroll&&!function e(){if(!x){try{A.doScroll("left")}catch(t){return o(e,50)}i(),t()}}()}return r.version="1.4.0",r.isReady=function(){return x},r}e.exports="undefined"!=typeof window&&t(window)},function(e,t,n){var i=n(4),o=function(e){function t(e,t){for(var n in t)e[n]=t[n];return e}var n=1,o=i.defclass({constructor:function(e){n++,this.parent=null,this.children={},this.id=n,this.name="n"+n,null!=e&&(this.name=e),this.x=0,this.y=0,this.z=0,this.width=0,this.height=0},resize:function(e,t){null!=e&&(this.width=e),null!=t&&(this.height=t)},moveTo:function(e,t,n){this.x=null!=e?e:this.x,this.y=null!=t?t:this.y,this.z=null!=n?n:this.z},add:function(e){var t=e.name;if(null!=this.children[t])throw"SceneGraph: child with that name already exists: "+t;this.children[t]=e,e.parent=this}}),r=i(o,function(t){this.constructor=function(){t.constructor.call(this,"root"),this.properties=e}}),s=i(o,function(e){function n(n,i){if(e.constructor.call(this,n),this.properties={fill:"#000"},null!=i)t(this.properties,i);else if(null!=n&&"string"!=typeof n)throw"SceneGraph: invalid node name"}this.Group=i.extend(this,{constructor:n,type:"group"}),this.Rect=i.extend(this,{constructor:n,type:"rect"}),this.Text=i.extend(this,{constructor:function(e){n.call(this),this.properties.text=e},type:"text"})}),a=new r;return this.Shape=s,this.root=a,this};e.exports=o},function(e,t){(function(e){t.extend=function(e,t){var n={};for(var i in e)e.hasOwnProperty(i)&&(n[i]=e[i]);if(null!=t)for(var o in t)t.hasOwnProperty(o)&&(n[o]=t[o]);return n},t.cssProps=function(e){var t=[];for(var n in e)e.hasOwnProperty(n)&&t.push(n+":"+e[n]);return t.join(";")},t.encodeHtmlEntity=function(e){for(var t=[],n=0,i=e.length-1;i>=0;i--)n=e.charCodeAt(i),t.unshift(n>128?["",n,";"].join(""):e[i]);return t.join("")},t.getNodeArray=function(t){var n=null;return"string"==typeof t?n=document.querySelectorAll(t):e.NodeList&&t instanceof e.NodeList?n=t:e.Node&&t instanceof e.Node?n=[t]:e.HTMLCollection&&t instanceof e.HTMLCollection?n=t:t instanceof Array?n=t:null===t&&(n=[]),n},t.imageExists=function(e,t){var n=new Image;n.onerror=function(){t.call(this,!1)},n.onload=function(){t.call(this,!0)},n.src=e},t.decodeHtmlEntity=function(e){return e.replace(/(\d+);/g,function(e,t){return String.fromCharCode(t)})},t.dimensionCheck=function(e){var t={height:e.clientHeight,width:e.clientWidth};return!(!t.height||!t.width)&&t}}).call(t,function(){return this}())},function(e){var t=function(){},n=Array.prototype.slice,i=function(e,i){var o=t.prototype="function"==typeof e?e.prototype:e,r=new t,s=i.apply(r,n.call(arguments,2).concat(o));if("object"==typeof s)for(var a in s)r[a]=s[a];if(!r.hasOwnProperty("constructor"))return r;var l=r.constructor;return l.prototype=r,l};i.defclass=function(e){var t=e.constructor;return t.prototype=e,t},i.extend=function(e,t){return i(e,function(e){return this.uber=e,t})},e.exports=i}])}),!function(e){"use strict";function t(e){return e.replace(/,/g,".").replace(/[^0-9\.]/g,"")}function n(e){return parseFloat(t(e))>=10}var i,o={bridge:null,version:"0.0.0",disabled:null,outdated:null,ready:null},r={},s=0,a={},l=0,c={},u=null,d=null,f=function(){var e,t,n,i,o="ZeroClipboard.swf";
-if(document.currentScript&&(i=document.currentScript.src));else{var r=document.getElementsByTagName("script");if("readyState"in r[0])for(e=r.length;e--&&("interactive"!==r[e].readyState||!(i=r[e].src)););else if("loading"===document.readyState)i=r[r.length-1].src;else{for(e=r.length;e--;){if(n=r[e].src,!n){t=null;break}if(n=n.split("#")[0].split("?")[0],n=n.slice(0,n.lastIndexOf("/")+1),null==t)t=n;else if(t!==n){t=null;break}}null!==t&&(i=t)}}return i&&(i=i.split("#")[0].split("?")[0],o=i.slice(0,i.lastIndexOf("/")+1)+o),o}(),p=function(){var e=/\-([a-z])/g,t=function(e,t){return t.toUpperCase()};return function(n){return n.replace(e,t)}}(),h=function(t,n){var i,o,r;return e.getComputedStyle?i=e.getComputedStyle(t,null).getPropertyValue(n):(o=p(n),i=t.currentStyle?t.currentStyle[o]:t.style[o]),"cursor"!==n||i&&"auto"!==i||(r=t.tagName.toLowerCase(),"a"!==r)?i:"pointer"},g=function(t){t||(t=e.event);var n;this!==e?n=this:t.target?n=t.target:t.srcElement&&(n=t.srcElement),R.activate(n)},m=function(e,t,n){e&&1===e.nodeType&&(e.addEventListener?e.addEventListener(t,n,!1):e.attachEvent&&e.attachEvent("on"+t,n))},v=function(e,t,n){e&&1===e.nodeType&&(e.removeEventListener?e.removeEventListener(t,n,!1):e.detachEvent&&e.detachEvent("on"+t,n))},y=function(e,t){if(!e||1!==e.nodeType)return e;if(e.classList)return e.classList.contains(t)||e.classList.add(t),e;if(t&&"string"==typeof t){var n=(t||"").split(/\s+/);if(1===e.nodeType)if(e.className){for(var i=" "+e.className+" ",o=e.className,r=0,s=n.length;s>r;r++)i.indexOf(" "+n[r]+" ")<0&&(o+=" "+n[r]);e.className=o.replace(/^\s+|\s+$/g,"")}else e.className=t}return e},b=function(e,t){if(!e||1!==e.nodeType)return e;if(e.classList)return e.classList.contains(t)&&e.classList.remove(t),e;if(t&&"string"==typeof t||void 0===t){var n=(t||"").split(/\s+/);if(1===e.nodeType&&e.className)if(t){for(var i=(" "+e.className+" ").replace(/[\n\t]/g," "),o=0,r=n.length;r>o;o++)i=i.replace(" "+n[o]+" "," ");e.className=i.replace(/^\s+|\s+$/g,"")}else e.className=""}return e},A=function(){var e,t,n,i=1;return"function"==typeof document.body.getBoundingClientRect&&(e=document.body.getBoundingClientRect(),t=e.right-e.left,n=document.body.offsetWidth,i=Math.round(t/n*100)/100),i},x=function(t,n){var i={left:0,top:0,width:0,height:0,zIndex:k(n)-1};if(t.getBoundingClientRect){var o,r,s,a=t.getBoundingClientRect();"pageXOffset"in e&&"pageYOffset"in e?(o=e.pageXOffset,r=e.pageYOffset):(s=A(),o=Math.round(document.documentElement.scrollLeft/s),r=Math.round(document.documentElement.scrollTop/s));var l=document.documentElement.clientLeft||0,c=document.documentElement.clientTop||0;i.left=a.left+o-l,i.top=a.top+r-c,i.width="width"in a?a.width:a.right-a.left,i.height="height"in a?a.height:a.bottom-a.top}return i},w=function(e,t){var n=null==t||t&&t.cacheBust===!0&&t.useNoCache===!0;return n?(-1===e.indexOf("?")?"?":"&")+"noCache="+(new Date).getTime():""},C=function(t){var n,i,o,r=[],s=[],a=[];if(t.trustedOrigins&&("string"==typeof t.trustedOrigins?s.push(t.trustedOrigins):"object"==typeof t.trustedOrigins&&"length"in t.trustedOrigins&&(s=s.concat(t.trustedOrigins))),t.trustedDomains&&("string"==typeof t.trustedDomains?s.push(t.trustedDomains):"object"==typeof t.trustedDomains&&"length"in t.trustedDomains&&(s=s.concat(t.trustedDomains))),s.length)for(n=0,i=s.length;i>n;n++)if(s.hasOwnProperty(n)&&s[n]&&"string"==typeof s[n]){if(o=$(s[n]),!o)continue;if("*"===o){a=[o];break}a.push.apply(a,[o,"//"+o,e.location.protocol+"//"+o])}return a.length&&r.push("trustedOrigins="+encodeURIComponent(a.join(","))),"string"==typeof t.jsModuleId&&t.jsModuleId&&r.push("jsModuleId="+encodeURIComponent(t.jsModuleId)),r.join("&")},T=function(e,t,n){if("function"==typeof t.indexOf)return t.indexOf(e,n);var i,o=t.length;for("undefined"==typeof n?n=0:0>n&&(n=o+n),i=n;o>i;i++)if(t.hasOwnProperty(i)&&t[i]===e)return i;return-1},E=function(e){if("string"==typeof e)throw new TypeError("ZeroClipboard doesn't accept query strings.");return e.length?e:[e]},S=function(t,n,i,o){o?e.setTimeout(function(){t.apply(n,i)},0):t.apply(n,i)},k=function(e){var t,n;return e&&("number"==typeof e&&e>0?t=e:"string"==typeof e&&(n=parseInt(e,10))&&!isNaN(n)&&n>0&&(t=n)),t||("number"==typeof F.zIndex&&F.zIndex>0?t=F.zIndex:"string"==typeof F.zIndex&&(n=parseInt(F.zIndex,10))&&!isNaN(n)&&n>0&&(t=n)),t||0},N=function(e,t){if(e&&t!==!1&&"undefined"!=typeof console&&console&&(console.warn||console.log)){var n="`"+e+"` is deprecated. See docs for more info:\n https://github.com/zeroclipboard/zeroclipboard/blob/master/docs/instructions.md#deprecations";console.warn?console.warn(n):console.log(n)}},D=function(){var e,t,n,i,o,r,s=arguments[0]||{};for(e=1,t=arguments.length;t>e;e++)if(null!=(n=arguments[e]))for(i in n)if(n.hasOwnProperty(i)){if(o=s[i],r=n[i],s===r)continue;void 0!==r&&(s[i]=r)}return s},$=function(e){if(null==e||""===e)return null;if(e=e.replace(/^\s+|\s+$/g,""),""===e)return null;var t=e.indexOf("//");e=-1===t?e:e.slice(t+2);var n=e.indexOf("/");return e=-1===n?e:-1===t||0===n?null:e.slice(0,n),e&&".swf"===e.slice(-4).toLowerCase()?null:e||null},j=function(){var e=function(e,t){var n,i,o;if(null!=e&&"*"!==t[0]&&("string"==typeof e&&(e=[e]),"object"==typeof e&&"length"in e))for(n=0,i=e.length;i>n;n++)if(e.hasOwnProperty(n)&&(o=$(e[n]))){if("*"===o){t.length=0,t.push("*");break}-1===T(o,t)&&t.push(o)}},t={always:"always",samedomain:"sameDomain",never:"never"};return function(n,i){var o,r=i.allowScriptAccess;if("string"==typeof r&&(o=r.toLowerCase())&&/^always|samedomain|never$/.test(o))return t[o];var s=$(i.moviePath);null===s&&(s=n);var a=[];e(i.trustedOrigins,a),e(i.trustedDomains,a);var l=a.length;if(l>0){if(1===l&&"*"===a[0])return"always";if(-1!==T(n,a))return 1===l&&n===s?"sameDomain":"always"}return"never"}}(),L=function(e){if(null==e)return[];if(Object.keys)return Object.keys(e);var t=[];for(var n in e)e.hasOwnProperty(n)&&t.push(n);return t},O=function(e){if(e)for(var t in e)e.hasOwnProperty(t)&&delete e[t];return e},I=function(){try{return document.activeElement}catch(e){}return null},B=function(){var e=!1;if("boolean"==typeof o.disabled)e=o.disabled===!1;else{if("function"==typeof ActiveXObject)try{new ActiveXObject("ShockwaveFlash.ShockwaveFlash")&&(e=!0)}catch(e){}!e&&navigator.mimeTypes["application/x-shockwave-flash"]&&(e=!0)}return e},R=function(e,t){return this instanceof R?(this.id=""+s++,a[this.id]={instance:this,elements:[],handlers:{}},e&&this.clip(e),"undefined"!=typeof t&&(N("new ZeroClipboard(elements, options)",F.debug),R.config(t)),this.options=R.config(),"boolean"!=typeof o.disabled&&(o.disabled=!B()),void(o.disabled===!1&&o.outdated!==!0&&null===o.bridge&&(o.outdated=!1,o.ready=!1,P()))):new R(e,t)};R.prototype.setText=function(e){return e&&""!==e&&(r["text/plain"]=e,o.ready===!0&&o.bridge&&"function"==typeof o.bridge.setText?o.bridge.setText(e):o.ready=!1),this},R.prototype.setSize=function(e,t){return o.ready===!0&&o.bridge&&"function"==typeof o.bridge.setSize?o.bridge.setSize(e,t):o.ready=!1,this};var H=function(e){o.ready===!0&&o.bridge&&"function"==typeof o.bridge.setHandCursor?o.bridge.setHandCursor(e):o.ready=!1};R.prototype.destroy=function(){this.unclip(),this.off(),delete a[this.id]};var M=function(){var e,t,n,i=[],o=L(a);for(e=0,t=o.length;t>e;e++)n=a[o[e]].instance,n&&n instanceof R&&i.push(n);return i};R.version="1.3.5";var F={swfPath:f,trustedDomains:e.location.host?[e.location.host]:[],cacheBust:!0,forceHandCursor:!1,zIndex:999999999,debug:!0,title:null,autoActivate:!0};R.config=function(e){if("object"==typeof e&&null!==e&&D(F,e),"string"!=typeof e||!e){var t={};for(var n in F)F.hasOwnProperty(n)&&(t[n]="object"==typeof F[n]&&null!==F[n]?"length"in F[n]?F[n].slice(0):D({},F[n]):F[n]);return t}return F.hasOwnProperty(e)?F[e]:void 0},R.destroy=function(){R.deactivate();for(var e in a)if(a.hasOwnProperty(e)&&a[e]){var t=a[e].instance;t&&"function"==typeof t.destroy&&t.destroy()}var n=z(o.bridge);n&&n.parentNode&&(n.parentNode.removeChild(n),o.ready=null,o.bridge=null)},R.activate=function(e){i&&(b(i,F.hoverClass),b(i,F.activeClass)),i=e,y(e,F.hoverClass),q();var t=F.title||e.getAttribute("title");if(t){var n=z(o.bridge);n&&n.setAttribute("title",t)}var r=F.forceHandCursor===!0||"pointer"===h(e,"cursor");H(r)},R.deactivate=function(){var e=z(o.bridge);e&&(e.style.left="0px",e.style.top="-9999px",e.removeAttribute("title")),i&&(b(i,F.hoverClass),b(i,F.activeClass),i=null)};var P=function(){var t,n,i=document.getElementById("global-zeroclipboard-html-bridge");if(!i){var r=R.config();r.jsModuleId="string"==typeof u&&u||"string"==typeof d&&d||null;var s=j(e.location.host,F),a=C(r),l=F.moviePath+w(F.moviePath,F),c=' ';i=document.createElement("div"),i.id="global-zeroclipboard-html-bridge",i.setAttribute("class","global-zeroclipboard-container"),i.style.position="absolute",i.style.left="0px",i.style.top="-9999px",i.style.width="15px",i.style.height="15px",i.style.zIndex=""+k(F.zIndex),document.body.appendChild(i),i.innerHTML=c}t=document["global-zeroclipboard-flash-bridge"],t&&(n=t.length)&&(t=t[n-1]),o.bridge=t||i.children[0].lastElementChild},z=function(e){for(var t=/^OBJECT|EMBED$/,n=e&&e.parentNode;n&&t.test(n.nodeName)&&n.parentNode;)n=n.parentNode;return n||null},q=function(){if(i){var e=x(i,F.zIndex),t=z(o.bridge);t&&(t.style.top=e.top+"px",t.style.left=e.left+"px",t.style.width=e.width+"px",t.style.height=e.height+"px",t.style.zIndex=e.zIndex+1),o.ready===!0&&o.bridge&&"function"==typeof o.bridge.setSize?o.bridge.setSize(e.width,e.height):o.ready=!1}return this};R.prototype.on=function(e,t){var n,i,r,s={},l=a[this.id]&&a[this.id].handlers;if("string"==typeof e&&e)r=e.toLowerCase().split(/\s+/);else if("object"==typeof e&&e&&"undefined"==typeof t)for(n in e)e.hasOwnProperty(n)&&"string"==typeof n&&n&&"function"==typeof e[n]&&this.on(n,e[n]);if(r&&r.length){for(n=0,i=r.length;i>n;n++)e=r[n].replace(/^on/,""),s[e]=!0,l[e]||(l[e]=[]),l[e].push(t);s.noflash&&o.disabled&&U.call(this,"noflash",{}),s.wrongflash&&o.outdated&&U.call(this,"wrongflash",{flashVersion:o.version}),s.load&&o.ready&&U.call(this,"load",{flashVersion:o.version})}return this},R.prototype.off=function(e,t){var n,i,o,r,s,l=a[this.id]&&a[this.id].handlers;if(0===arguments.length)r=L(l);else if("string"==typeof e&&e)r=e.split(/\s+/);else if("object"==typeof e&&e&&"undefined"==typeof t)for(n in e)e.hasOwnProperty(n)&&"string"==typeof n&&n&&"function"==typeof e[n]&&this.off(n,e[n]);if(r&&r.length)for(n=0,i=r.length;i>n;n++)if(e=r[n].toLowerCase().replace(/^on/,""),s=l[e],s&&s.length)if(t)for(o=T(t,s);-1!==o;)s.splice(o,1),o=T(t,s,o);else l[e].length=0;return this},R.prototype.handlers=function(e){var t,n=null,i=a[this.id]&&a[this.id].handlers;if(i){if("string"==typeof e&&e)return i[e]?i[e].slice(0):null;n={};for(t in i)i.hasOwnProperty(t)&&i[t]&&(n[t]=i[t].slice(0))}return n};var _=function(t,n,i,o){var r=a[this.id]&&a[this.id].handlers[t];if(r&&r.length){var s,l,c,u=n||this;for(s=0,l=r.length;l>s;s++)c=r[s],n=u,"string"==typeof c&&"function"==typeof e[c]&&(c=e[c]),"object"==typeof c&&c&&"function"==typeof c.handleEvent&&(n=c,c=c.handleEvent),"function"==typeof c&&S(c,n,i,o)}return this};R.prototype.clip=function(e){e=E(e);for(var t=0;ti;i++)r=a[n[i]].instance,r&&r instanceof R&&s.push(r);return s};F.hoverClass="zeroclipboard-is-hover",F.activeClass="zeroclipboard-is-active",F.trustedOrigins=null,F.allowScriptAccess=null,F.useNoCache=!0,F.moviePath="ZeroClipboard.swf",R.detectFlashSupport=function(){return N("ZeroClipboard.detectFlashSupport",F.debug),B()},R.dispatch=function(e,t){if("string"==typeof e&&e){var n=e.toLowerCase().replace(/^on/,"");if(n)for(var o=i&&F.autoActivate===!0?W(i):M(),r=0,s=o.length;s>r;r++)U.call(o[r],n,t)}},R.prototype.setHandCursor=function(e){return N("ZeroClipboard.prototype.setHandCursor",F.debug),e="boolean"==typeof e?e:!!e,H(e),F.forceHandCursor=e,this},R.prototype.reposition=function(){return N("ZeroClipboard.prototype.reposition",F.debug),q()},R.prototype.receiveEvent=function(e,t){if(N("ZeroClipboard.prototype.receiveEvent",F.debug),"string"==typeof e&&e){var n=e.toLowerCase().replace(/^on/,"");n&&U.call(this,n,t)}},R.prototype.setCurrent=function(e){return N("ZeroClipboard.prototype.setCurrent",F.debug),R.activate(e),this},R.prototype.resetBridge=function(){return N("ZeroClipboard.prototype.resetBridge",F.debug),R.deactivate(),this},R.prototype.setTitle=function(e){if(N("ZeroClipboard.prototype.setTitle",F.debug),e=e||F.title||i&&i.getAttribute("title")){var t=z(o.bridge);t&&t.setAttribute("title",e)}return this},R.setDefaults=function(e){N("ZeroClipboard.setDefaults",F.debug),R.config(e)},R.prototype.addEventListener=function(e,t){return N("ZeroClipboard.prototype.addEventListener",F.debug),this.on(e,t)},R.prototype.removeEventListener=function(e,t){return N("ZeroClipboard.prototype.removeEventListener",F.debug),this.off(e,t)},R.prototype.ready=function(){return N("ZeroClipboard.prototype.ready",F.debug),o.ready===!0};var U=function(e,s){e=e.toLowerCase().replace(/^on/,"");var a=s&&s.flashVersion&&t(s.flashVersion)||null,l=i,c=!0;switch(e){case"load":if(a){if(!n(a))return void U.call(this,"onWrongFlash",{flashVersion:a});o.outdated=!1,o.ready=!0,o.version=a}break;case"wrongflash":a&&!n(a)&&(o.outdated=!0,o.ready=!1,o.version=a);break;case"mouseover":y(l,F.hoverClass);break;case"mouseout":F.autoActivate===!0&&R.deactivate();break;case"mousedown":y(l,F.activeClass);break;case"mouseup":b(l,F.activeClass);break;case"datarequested":if(l){var u=l.getAttribute("data-clipboard-target"),d=u?document.getElementById(u):null;if(d){var f=d.value||d.textContent||d.innerText;f&&this.setText(f)}else{var p=l.getAttribute("data-clipboard-text");p&&this.setText(p)}}c=!1;break;case"complete":O(r),l&&l!==I()&&l.focus&&l.focus()}var h=l,g=[this,s];return _.call(this,e,h,g,c)};"function"==typeof define&&define.amd?define(["require","exports","module"],function(e,t,n){return u=n&&n.id||null,R}):"object"==typeof module&&module&&"object"==typeof module.exports&&module.exports&&"function"==typeof e.require?(d=module.id||null,module.exports=R):e.ZeroClipboard=R}(function(){return this}());var anchors=new AnchorJS;!function(e){"use strict";e(function(){var t=e(window),n=e(document.body);n.scrollspy({target:".docs-sidebar"}),t.on("load",function(){n.scrollspy("refresh")}),e(".docs-container [href=#]").click(function(e){e.preventDefault()}),setTimeout(function(){var t=e(".docs-sidebar");t.affix({offset:{top:function(){var n=t.offset().top,i=parseInt(t.children(0).css("margin-top"),10),o=e(".docs-nav").height();return this.top=n-o-i},bottom:function(){return this.bottom=e(".docs-footer").outerHeight(!0)}}})},100),setTimeout(function(){e(".bs-top").affix()},100),function(){var t=e("#bs-theme-stylesheet"),n=e(".docs-theme-toggle"),i=function(){t.attr("href",t.attr("data-href")),n.text("禁用主题预览"),localStorage.setItem("previewTheme",!0)};localStorage.getItem("previewTheme")&&i(),n.click(function(){var e=t.attr("href");e&&0!==e.indexOf("data")?(t.attr("href",""),n.text("主题预览"),localStorage.removeItem("previewTheme")):i()})}(),e(".tooltip-demo").tooltip({selector:'[data-toggle="tooltip"]',container:"body"}),e(".popover-demo").popover({selector:'[data-toggle="popover"]',container:"body"}),e(".tooltip-test").tooltip(),e(".popover-test").popover(),e(".docs-popover").popover(),e("#loading-example-btn").on("click",function(){var t=e(this);t.button("loading"),setTimeout(function(){t.button("reset")},3e3)}),e("#exampleModal").on("show.bs.modal",function(t){var n=e(t.relatedTarget),i=n.data("whatever"),o=e(this);o.find(".modal-title").text("New message to "+i),o.find(".modal-body input").val(i)}),e(".docs-activate-animated-progressbar").on("click",function(){e(this).siblings(".progress").find(".progress-bar-striped").toggleClass("active")}),ZeroClipboard.config({moviePath:"source/ZeroClipboard.swf",hoverClass:"btn-clipboard-hover"}),e(".highlight").each(function(){var t='复制
';e(this).before(t)});var i=new ZeroClipboard(e(".btn-clipboard")),o=e("#global-zeroclipboard-html-bridge");i.on("load",function(){o.data("placement","top").attr("title","复制到剪贴板").tooltip(),i.on("dataRequested",function(t){var n=e(this).parent().nextAll(".highlight").first();t.setText(n.text())}),i.on("complete",function(){o.attr("title","复制成功!").tooltip("fixTitle").tooltip("show").attr("title","复制到剪贴板").tooltip("fixTitle")})}),i.on("noflash wrongflash",function(){e(".zero-clipboard").remove(),ZeroClipboard.destroy()})})}(jQuery),function(){"use strict";anchors.options.placement="left",anchors.add(".docs-section > h1, .docs-section > h2, .docs-section > h3, .docs-section > h4, .docs-section > h5")}();
\ No newline at end of file
+function AnchorJS(e){"use strict";this.options=e||{},this._applyRemainingDefaultOptions=function(e){this.options.icon=this.options.hasOwnProperty("icon")?e.icon:"",this.options.visible=this.options.hasOwnProperty("visible")?e.visible:"hover",this.options.placement=this.options.hasOwnProperty("placement")?e.placement:"right",this.options.class=this.options.hasOwnProperty("class")?e.class:""},this._applyRemainingDefaultOptions(e),this.add=function(e){var t,n,i,o,r,a,s,l,c,u,d,f,h,p;if(this._applyRemainingDefaultOptions(this.options),e){if("string"!=typeof e)throw new Error("The selector provided to AnchorJS was invalid.")}else e="h1, h2, h3, h4, h5, h6";if(t=document.querySelectorAll(e),0===t.length)return!1;for(this._addBaselineStyles(),n=document.querySelectorAll("[id]"),i=[].map.call(n,function(e){return e.id}),r=0;r',h=document.createElement("div"),h.innerHTML=f,p=h.childNodes,"always"===this.options.visible&&(p[0].style.opacity="1"),""===this.options.icon&&(p[0].style.fontFamily="anchorjs-icons",p[0].style.fontStyle="normal",p[0].style.fontVariant="normal",p[0].style.fontWeight="normal"),"left"===this.options.placement?(p[0].style.position="absolute",p[0].style.marginLeft="-1em",p[0].style.paddingRight="0.5em",t[r].insertBefore(p[0],t[r].firstChild)):(p[0].style.paddingLeft="0.375em",t[r].appendChild(p[0]))}return this},this.remove=function(e){for(var t,n=document.querySelectorAll(e),i=0;i .anchorjs-link, .anchorjs-link:focus { opacity: 1; }",t.sheet.cssRules.length),t.sheet.insertRule(" [data-anchorjs-icon]::after { content: attr(data-anchorjs-icon); }",t.sheet.cssRules.length),t.sheet.insertRule(' @font-face { font-family: "anchorjs-icons"; font-style: normal; font-weight: normal; src: url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg8SBTUAAAC8AAAAYGNtYXAWi9QdAAABHAAAAFRnYXNwAAAAEAAAAXAAAAAIZ2x5Zgq29TcAAAF4AAABNGhlYWQEZM3pAAACrAAAADZoaGVhBhUDxgAAAuQAAAAkaG10eASAADEAAAMIAAAAFGxvY2EAKACuAAADHAAAAAxtYXhwAAgAVwAAAygAAAAgbmFtZQ5yJ3cAAANIAAAB2nBvc3QAAwAAAAAFJAAAACAAAwJAAZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADpywPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAOAAAAAoACAACAAIAAQAg6cv//f//AAAAAAAg6cv//f//AAH/4xY5AAMAAQAAAAAAAAAAAAAAAQAB//8ADwABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAACADEARAJTAsAAKwBUAAABIiYnJjQ/AT4BMzIWFxYUDwEGIicmND8BNjQnLgEjIgYPAQYUFxYUBw4BIwciJicmND8BNjIXFhQPAQYUFx4BMzI2PwE2NCcmNDc2MhcWFA8BDgEjARQGDAUtLXoWOR8fORYtLTgKGwoKCjgaGg0gEhIgDXoaGgkJBQwHdR85Fi0tOAobCgoKOBoaDSASEiANehoaCQkKGwotLXoWOR8BMwUFLYEuehYXFxYugC44CQkKGwo4GkoaDQ0NDXoaShoKGwoFBe8XFi6ALjgJCQobCjgaShoNDQ0NehpKGgobCgoKLYEuehYXAAEAAAABAACiToc1Xw889QALBAAAAAAA0XnFFgAAAADRecUWAAAAAAJTAsAAAAAIAAIAAAAAAAAAAQAAA8D/wAAABAAAAAAAAlMAAQAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAACAAAAAoAAMQAAAAAACgAUAB4AmgABAAAABQBVAAIAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAADgCuAAEAAAAAAAEADgAAAAEAAAAAAAIABwCfAAEAAAAAAAMADgBLAAEAAAAAAAQADgC0AAEAAAAAAAUACwAqAAEAAAAAAAYADgB1AAEAAAAAAAoAGgDeAAMAAQQJAAEAHAAOAAMAAQQJAAIADgCmAAMAAQQJAAMAHABZAAMAAQQJAAQAHADCAAMAAQQJAAUAFgA1AAMAAQQJAAYAHACDAAMAAQQJAAoANAD4YW5jaG9yanMtaWNvbnMAYQBuAGMAaABvAHIAagBzAC0AaQBjAG8AbgBzVmVyc2lvbiAxLjAAVgBlAHIAcwBpAG8AbgAgADEALgAwYW5jaG9yanMtaWNvbnMAYQBuAGMAaABvAHIAagBzAC0AaQBjAG8AbgBzYW5jaG9yanMtaWNvbnMAYQBuAGMAaABvAHIAagBzAC0AaQBjAG8AbgBzUmVndWxhcgBSAGUAZwB1AGwAYQByYW5jaG9yanMtaWNvbnMAYQBuAGMAaABvAHIAagBzAC0AaQBjAG8AbgBzRm9udCBnZW5lcmF0ZWQgYnkgSWNvTW9vbi4ARgBvAG4AdAAgAGcAZQBuAGUAcgBhAHQAZQBkACAAYgB5ACAASQBjAG8ATQBvAG8AbgAuAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==) format("truetype"); }',t.sheet.cssRules.length)}}}if(function(e,t){"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){function n(e){var t="length"in e&&e.length,n=oe.type(e);return"function"!==n&&!oe.isWindow(e)&&(!(1!==e.nodeType||!t)||("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e))}function i(e,t,n){if(oe.isFunction(t))return oe.grep(e,function(e,i){return!!t.call(e,i,e)!==n});if(t.nodeType)return oe.grep(e,function(e){return e===t!==n});if("string"==typeof t){if(fe.test(t))return oe.filter(t,e,n);t=oe.filter(t,e)}return oe.grep(e,function(e){return oe.inArray(e,t)>=0!==n})}function o(e,t){do{e=e[t]}while(e&&1!==e.nodeType);return e}function r(e){var t=be[e]={};return oe.each(e.match(ye)||[],function(e,n){t[n]=!0}),t}function a(){pe.addEventListener?(pe.removeEventListener("DOMContentLoaded",s,!1),e.removeEventListener("load",s,!1)):(pe.detachEvent("onreadystatechange",s),e.detachEvent("onload",s))}function s(){(pe.addEventListener||"load"===event.type||"complete"===pe.readyState)&&(a(),oe.ready())}function l(e,t,n){if(void 0===n&&1===e.nodeType){var i="data-"+t.replace(Te,"-$1").toLowerCase();if("string"==typeof(n=e.getAttribute(i))){try{n="true"===n||"false"!==n&&("null"===n?null:+n+""===n?+n:Ce.test(n)?oe.parseJSON(n):n)}catch(e){}oe.data(e,t,n)}else n=void 0}return n}function c(e){var t;for(t in e)if(("data"!==t||!oe.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}function u(e,t,n,i){if(oe.acceptData(e)){var o,r,a=oe.expando,s=e.nodeType,l=s?oe.cache:e,c=s?e[a]:e[a]&&a;if(c&&l[c]&&(i||l[c].data)||void 0!==n||"string"!=typeof t)return c||(c=s?e[a]=X.pop()||oe.guid++:a),l[c]||(l[c]=s?{}:{toJSON:oe.noop}),("object"==typeof t||"function"==typeof t)&&(i?l[c]=oe.extend(l[c],t):l[c].data=oe.extend(l[c].data,t)),r=l[c],i||(r.data||(r.data={}),r=r.data),void 0!==n&&(r[oe.camelCase(t)]=n),"string"==typeof t?null==(o=r[t])&&(o=r[oe.camelCase(t)]):o=r,o}}function d(e,t,n){if(oe.acceptData(e)){var i,o,r=e.nodeType,a=r?oe.cache:e,s=r?e[oe.expando]:oe.expando;if(a[s]){if(t&&(i=n?a[s]:a[s].data)){oe.isArray(t)?t=t.concat(oe.map(t,oe.camelCase)):t in i?t=[t]:(t=oe.camelCase(t),t=t in i?[t]:t.split(" ")),o=t.length;for(;o--;)delete i[t[o]];if(n?!c(i):!oe.isEmptyObject(i))return}(n||(delete a[s].data,c(a[s])))&&(r?oe.cleanData([e],!0):ne.deleteExpando||a!=a.window?delete a[s]:a[s]=null)}}}function f(){return!0}function h(){return!1}function p(){try{return pe.activeElement}catch(e){}}function g(e){var t=Be.split("|"),n=e.createDocumentFragment();if(n.createElement)for(;t.length;)n.createElement(t.pop());return n}function m(e,t){var n,i,o=0,r=typeof e.getElementsByTagName!==we?e.getElementsByTagName(t||"*"):typeof e.querySelectorAll!==we?e.querySelectorAll(t||"*"):void 0;if(!r)for(r=[],n=e.childNodes||e;null!=(i=n[o]);o++)!t||oe.nodeName(i,t)?r.push(i):oe.merge(r,m(i,t));return void 0===t||t&&oe.nodeName(e,t)?oe.merge([e],r):r}function v(e){De.test(e.type)&&(e.defaultChecked=e.checked)}function y(e,t){return oe.nodeName(e,"table")&&oe.nodeName(11!==t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function b(e){return e.type=(null!==oe.find.attr(e,"type"))+"/"+e.type,e}function A(e){var t=Qe.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function x(e,t){for(var n,i=0;null!=(n=e[i]);i++)oe._data(n,"globalEval",!t||oe._data(t[i],"globalEval"))}function w(e,t){if(1===t.nodeType&&oe.hasData(e)){var n,i,o,r=oe._data(e),a=oe._data(t,r),s=r.events;if(s){delete a.handle,a.events={};for(n in s)for(i=0,o=s[n].length;o>i;i++)oe.event.add(t,n,s[n][i])}a.data&&(a.data=oe.extend({},a.data))}}function C(e,t){var n,i,o;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!ne.noCloneEvent&&t[oe.expando]){o=oe._data(t);for(i in o.events)oe.removeEvent(t,i,o.handle);t.removeAttribute(oe.expando)}"script"===n&&t.text!==e.text?(b(t).text=e.text,A(t)):"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),ne.html5Clone&&e.innerHTML&&!oe.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&De.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===n?t.defaultSelected=t.selected=e.defaultSelected:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}}function T(t,n){var i,o=oe(n.createElement(t)).appendTo(n.body),r=e.getDefaultComputedStyle&&(i=e.getDefaultComputedStyle(o[0]))?i.display:oe.css(o[0],"display");return o.detach(),r}function E(e){var t=pe,n=Je[e];return n||(n=T(e,t),"none"!==n&&n||(Ze=(Ze||oe("")).appendTo(t.documentElement),t=(Ze[0].contentWindow||Ze[0].contentDocument).document,t.write(),t.close(),n=T(e,t),Ze.detach()),Je[e]=n),n}function k(e,t){return{get:function(){var n=e();if(null!=n)return n?void delete this.get:(this.get=t).apply(this,arguments)}}}function S(e,t){if(t in e)return t;for(var n=t.charAt(0).toUpperCase()+t.slice(1),i=t,o=dt.length;o--;)if((t=dt[o]+n)in e)return t;return i}function N(e,t){for(var n,i,o,r=[],a=0,s=e.length;s>a;a++)i=e[a],i.style&&(r[a]=oe._data(i,"olddisplay"),n=i.style.display,t?(r[a]||"none"!==n||(i.style.display=""),""===i.style.display&&Se(i)&&(r[a]=oe._data(i,"olddisplay",E(i.nodeName)))):(o=Se(i),(n&&"none"!==n||!o)&&oe._data(i,"olddisplay",o?n:oe.css(i,"display"))));for(a=0;s>a;a++)i=e[a],i.style&&(t&&"none"!==i.style.display&&""!==i.style.display||(i.style.display=t?r[a]||"":"none"));return e}function D(e,t,n){var i=st.exec(t);return i?Math.max(0,i[1]-(n||0))+(i[2]||"px"):t}function j(e,t,n,i,o){for(var r=n===(i?"border":"content")?4:"width"===t?1:0,a=0;4>r;r+=2)"margin"===n&&(a+=oe.css(e,n+ke[r],!0,o)),i?("content"===n&&(a-=oe.css(e,"padding"+ke[r],!0,o)),"margin"!==n&&(a-=oe.css(e,"border"+ke[r]+"Width",!0,o))):(a+=oe.css(e,"padding"+ke[r],!0,o),"padding"!==n&&(a+=oe.css(e,"border"+ke[r]+"Width",!0,o)));return a}function $(e,t,n){var i=!0,o="width"===t?e.offsetWidth:e.offsetHeight,r=Ke(e),a=ne.boxSizing&&"border-box"===oe.css(e,"boxSizing",!1,r);if(0>=o||null==o){if(o=et(e,t,r),(0>o||null==o)&&(o=e.style[t]),nt.test(o))return o;i=a&&(ne.boxSizingReliable()||o===e.style[t]),o=parseFloat(o)||0}return o+j(e,t,n||(a?"border":"content"),i,r)+"px"}function L(e,t,n,i,o){return new L.prototype.init(e,t,n,i,o)}function O(){return setTimeout(function(){ft=void 0}),ft=oe.now()}function I(e,t){var n,i={height:e},o=0;for(t=t?1:0;4>o;o+=2-t)n=ke[o],i["margin"+n]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function B(e,t,n){for(var i,o=(yt[t]||[]).concat(yt["*"]),r=0,a=o.length;a>r;r++)if(i=o[r].call(n,t,e))return i}function R(e,t,n){var i,o,r,a,s,l,c,u=this,d={},f=e.style,h=e.nodeType&&Se(e),p=oe._data(e,"fxshow");n.queue||(s=oe._queueHooks(e,"fx"),null==s.unqueued&&(s.unqueued=0,l=s.empty.fire,s.empty.fire=function(){s.unqueued||l()}),s.unqueued++,u.always(function(){u.always(function(){s.unqueued--,oe.queue(e,"fx").length||s.empty.fire()})})),1===e.nodeType&&("height"in t||"width"in t)&&(n.overflow=[f.overflow,f.overflowX,f.overflowY],c=oe.css(e,"display"),"inline"===("none"===c?oe._data(e,"olddisplay")||E(e.nodeName):c)&&"none"===oe.css(e,"float")&&(ne.inlineBlockNeedsLayout&&"inline"!==E(e.nodeName)?f.zoom=1:f.display="inline-block")),n.overflow&&(f.overflow="hidden",ne.shrinkWrapBlocks()||u.always(function(){f.overflow=n.overflow[0],f.overflowX=n.overflow[1],f.overflowY=n.overflow[2]}));for(i in t)if(o=t[i],pt.exec(o)){if(delete t[i],r=r||"toggle"===o,o===(h?"hide":"show")){if("show"!==o||!p||void 0===p[i])continue;h=!0}d[i]=p&&p[i]||oe.style(e,i)}else c=void 0;if(oe.isEmptyObject(d))"inline"===("none"===c?E(e.nodeName):c)&&(f.display=c);else{p?"hidden"in p&&(h=p.hidden):p=oe._data(e,"fxshow",{}),r&&(p.hidden=!h),h?oe(e).show():u.done(function(){oe(e).hide()}),u.done(function(){var t;oe._removeData(e,"fxshow");for(t in d)oe.style(e,t,d[t])});for(i in d)a=B(h?p[i]:0,i,u),i in p||(p[i]=a.start,h&&(a.end=a.start,a.start="width"===i||"height"===i?1:0))}}function H(e,t){var n,i,o,r,a;for(n in e)if(i=oe.camelCase(n),o=t[i],r=e[n],oe.isArray(r)&&(o=r[1],r=e[n]=r[0]),n!==i&&(e[i]=r,delete e[n]),(a=oe.cssHooks[i])&&"expand"in a){r=a.expand(r),delete e[i];for(n in r)n in e||(e[n]=r[n],t[n]=o)}else t[i]=o}function M(e,t,n){var i,o,r=0,a=vt.length,s=oe.Deferred().always(function(){delete l.elem}),l=function(){if(o)return!1;for(var t=ft||O(),n=Math.max(0,c.startTime+c.duration-t),i=n/c.duration||0,r=1-i,a=0,l=c.tweens.length;l>a;a++)c.tweens[a].run(r);return s.notifyWith(e,[c,r,n]),1>r&&l?n:(s.resolveWith(e,[c]),!1)},c=s.promise({elem:e,props:oe.extend({},t),opts:oe.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:ft||O(),duration:n.duration,tweens:[],createTween:function(t,n){var i=oe.Tween(e,c.opts,t,n,c.opts.specialEasing[t]||c.opts.easing);return c.tweens.push(i),i},stop:function(t){var n=0,i=t?c.tweens.length:0;if(o)return this;for(o=!0;i>n;n++)c.tweens[n].run(1);return t?s.resolveWith(e,[c,t]):s.rejectWith(e,[c,t]),this}}),u=c.props;for(H(u,c.opts.specialEasing);a>r;r++)if(i=vt[r].call(c,e,u,c.opts))return i;return oe.map(u,B,c),oe.isFunction(c.opts.start)&&c.opts.start.call(e,c),oe.fx.timer(oe.extend(l,{elem:e,anim:c,queue:c.opts.queue})),c.progress(c.opts.progress).done(c.opts.done,c.opts.complete).fail(c.opts.fail).always(c.opts.always)}function F(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var i,o=0,r=t.toLowerCase().match(ye)||[];if(oe.isFunction(n))for(;i=r[o++];)"+"===i.charAt(0)?(i=i.slice(1)||"*",(e[i]=e[i]||[]).unshift(n)):(e[i]=e[i]||[]).push(n)}}function P(e,t,n,i){function o(s){var l;return r[s]=!0,oe.each(e[s]||[],function(e,s){var c=s(t,n,i);return"string"!=typeof c||a||r[c]?a?!(l=c):void 0:(t.dataTypes.unshift(c),o(c),!1)}),l}var r={},a=e===_t;return o(t.dataTypes[0])||!r["*"]&&o("*")}function z(e,t){var n,i,o=oe.ajaxSettings.flatOptions||{};for(i in t)void 0!==t[i]&&((o[i]?e:n||(n={}))[i]=t[i]);return n&&oe.extend(!0,e,n),e}function _(e,t,n){for(var i,o,r,a,s=e.contents,l=e.dataTypes;"*"===l[0];)l.shift(),void 0===o&&(o=e.mimeType||t.getResponseHeader("Content-Type"));if(o)for(a in s)if(s[a]&&s[a].test(o)){l.unshift(a);break}if(l[0]in n)r=l[0];else{for(a in n){if(!l[0]||e.converters[a+" "+l[0]]){r=a;break}i||(i=a)}r=r||i}return r?(r!==l[0]&&l.unshift(r),n[r]):void 0}function q(e,t,n,i){var o,r,a,s,l,c={},u=e.dataTypes.slice();if(u[1])for(a in e.converters)c[a.toLowerCase()]=e.converters[a];for(r=u.shift();r;)if(e.responseFields[r]&&(n[e.responseFields[r]]=t),!l&&i&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),l=r,r=u.shift())if("*"===r)r=l;else if("*"!==l&&l!==r){if(!(a=c[l+" "+r]||c["* "+r]))for(o in c)if(s=o.split(" "),s[1]===r&&(a=c[l+" "+s[0]]||c["* "+s[0]])){!0===a?a=c[o]:!0!==c[o]&&(r=s[0],u.unshift(s[1]));break}if(!0!==a)if(a&&e.throws)t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+l+" to "+r}}}return{state:"success",data:t}}function W(e,t,n,i){var o;if(oe.isArray(t))oe.each(t,function(t,o){n||Ut.test(e)?i(e,o):W(e+"["+("object"==typeof o?t:"")+"]",o,n,i)});else if(n||"object"!==oe.type(t))i(e,t);else for(o in t)W(e+"["+o+"]",t[o],n,i)}function U(){try{return new e.XMLHttpRequest}catch(e){}}function Q(){try{return new e.ActiveXObject("Microsoft.XMLHTTP")}catch(e){}}function G(e){return oe.isWindow(e)?e:9===e.nodeType&&(e.defaultView||e.parentWindow)}var X=[],V=X.slice,Y=X.concat,Z=X.push,J=X.indexOf,K={},ee=K.toString,te=K.hasOwnProperty,ne={},ie="1.11.3",oe=function(e,t){return new oe.fn.init(e,t)},re=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,ae=/^-ms-/,se=/-([\da-z])/gi,le=function(e,t){return t.toUpperCase()};oe.fn=oe.prototype={jquery:ie,constructor:oe,selector:"",length:0,toArray:function(){return V.call(this)},get:function(e){return null!=e?0>e?this[e+this.length]:this[e]:V.call(this)},pushStack:function(e){var t=oe.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return oe.each(this,e,t)},map:function(e){return this.pushStack(oe.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(V.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]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:Z,sort:X.sort,splice:X.splice},oe.extend=oe.fn.extend=function(){var e,t,n,i,o,r,a=arguments[0]||{},s=1,l=arguments.length,c=!1;for("boolean"==typeof a&&(c=a,a=arguments[s]||{},s++),"object"==typeof a||oe.isFunction(a)||(a={}),s===l&&(a=this,s--);l>s;s++)if(null!=(o=arguments[s]))for(i in o)e=a[i],n=o[i],a!==n&&(c&&n&&(oe.isPlainObject(n)||(t=oe.isArray(n)))?(t?(t=!1,r=e&&oe.isArray(e)?e:[]):r=e&&oe.isPlainObject(e)?e:{},a[i]=oe.extend(c,r,n)):void 0!==n&&(a[i]=n));return a},oe.extend({expando:"jQuery"+(ie+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isFunction:function(e){return"function"===oe.type(e)},isArray:Array.isArray||function(e){return"array"===oe.type(e)},isWindow:function(e){return null!=e&&e==e.window},isNumeric:function(e){return!oe.isArray(e)&&e-parseFloat(e)+1>=0},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},isPlainObject:function(e){var t;if(!e||"object"!==oe.type(e)||e.nodeType||oe.isWindow(e))return!1;try{if(e.constructor&&!te.call(e,"constructor")&&!te.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(e){return!1}if(ne.ownLast)for(t in e)return te.call(e,t);for(t in e);return void 0===t||te.call(e,t)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?K[ee.call(e)]||"object":typeof e},globalEval:function(t){t&&oe.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(ae,"ms-").replace(se,le)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,i){var o=0,r=e.length,a=n(e);if(i){if(a)for(;r>o&&!1!==t.apply(e[o],i);o++);else for(o in e)if(!1===t.apply(e[o],i))break}else if(a)for(;r>o&&!1!==t.call(e[o],o,e[o]);o++);else for(o in e)if(!1===t.call(e[o],o,e[o]))break;return e},trim:function(e){return null==e?"":(e+"").replace(re,"")},makeArray:function(e,t){var i=t||[];return null!=e&&(n(Object(e))?oe.merge(i,"string"==typeof e?[e]:e):Z.call(i,e)),i},inArray:function(e,t,n){var i;if(t){if(J)return J.call(t,e,n);for(i=t.length,n=n?0>n?Math.max(0,i+n):n:0;i>n;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,t){for(var n=+t.length,i=0,o=e.length;n>i;)e[o++]=t[i++];if(n!==n)for(;void 0!==t[i];)e[o++]=t[i++];return e.length=o,e},grep:function(e,t,n){for(var i=[],o=0,r=e.length,a=!n;r>o;o++)!t(e[o],o)!==a&&i.push(e[o]);return i},map:function(e,t,i){var o,r=0,a=e.length,s=n(e),l=[];if(s)for(;a>r;r++)null!=(o=t(e[r],r,i))&&l.push(o);else for(r in e)null!=(o=t(e[r],r,i))&&l.push(o);return Y.apply([],l)},guid:1,proxy:function(e,t){var n,i,o;return"string"==typeof t&&(o=e[t],t=e,e=o),oe.isFunction(e)?(n=V.call(arguments,2),i=function(){return e.apply(t||this,n.concat(V.call(arguments)))},i.guid=e.guid=e.guid||oe.guid++,i):void 0},now:function(){return+new Date},support:ne}),oe.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){K["[object "+t+"]"]=t.toLowerCase()});var ce=function(e){function t(e,t,n,i){var o,r,a,s,c,d,f,h,p,g;if((t?t.ownerDocument||t:M)!==j&&D(t),t=t||j,n=n||[],s=t.nodeType,"string"!=typeof e||!e||1!==s&&9!==s&&11!==s)return n;if(!i&&L){if(11!==s&&(o=me.exec(e)))if(a=o[1]){if(9===s){if(!(r=t.getElementById(a))||!r.parentNode)return n;if(r.id===a)return n.push(r),n}else if(t.ownerDocument&&(r=t.ownerDocument.getElementById(a))&&R(t,r)&&r.id===a)return n.push(r),n}else{if(o[2])return Y.apply(n,t.getElementsByTagName(e)),n;if((a=o[3])&&b.getElementsByClassName)return Y.apply(n,t.getElementsByClassName(a)),n}if(b.qsa&&(!O||!O.test(e))){if(h=f=H,p=t,g=1!==s&&e,1===s&&"object"!==t.nodeName.toLowerCase()){for(d=C(e),(f=t.getAttribute("id"))?h=f.replace(ye,"\\$&"):t.setAttribute("id",h),h="[id='"+h+"'] ",c=d.length;c--;)d[c]=h+u(d[c]);p=ve.test(e)&&l(t.parentNode)||t,g=d.join(",")}if(g)try{return Y.apply(n,p.querySelectorAll(g)),n}catch(e){}finally{f||t.removeAttribute("id")}}}return E(e.replace(ae,"$1"),t,n,i)}function n(){function e(n,i){return t.push(n+" ")>A.cacheLength&&delete e[t.shift()],e[n+" "]=i}var t=[];return e}function i(e){return e[H]=!0,e}function o(e){var t=j.createElement("div");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function r(e,t){for(var n=e.split("|"),i=e.length;i--;)A.attrHandle[n[i]]=t}function a(e,t){var n=t&&e,i=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||U)-(~e.sourceIndex||U);if(i)return i;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function s(e){return i(function(t){return t=+t,i(function(n,i){for(var o,r=e([],n.length,t),a=r.length;a--;)n[o=r[a]]&&(n[o]=!(i[o]=n[o]))})})}function l(e){return e&&void 0!==e.getElementsByTagName&&e}function c(){}function u(e){for(var t=0,n=e.length,i="";n>t;t++)i+=e[t].value;return i}function d(e,t,n){var i=t.dir,o=n&&"parentNode"===i,r=P++;return t.first?function(t,n,r){for(;t=t[i];)if(1===t.nodeType||o)return e(t,n,r)}:function(t,n,a){var s,l,c=[F,r];if(a){for(;t=t[i];)if((1===t.nodeType||o)&&e(t,n,a))return!0}else for(;t=t[i];)if(1===t.nodeType||o){if(l=t[H]||(t[H]={}),(s=l[i])&&s[0]===F&&s[1]===r)return c[2]=s[2];if(l[i]=c,c[2]=e(t,n,a))return!0}}}function f(e){return e.length>1?function(t,n,i){for(var o=e.length;o--;)if(!e[o](t,n,i))return!1;return!0}:e[0]}function h(e,n,i){for(var o=0,r=n.length;r>o;o++)t(e,n[o],i);return i}function p(e,t,n,i,o){for(var r,a=[],s=0,l=e.length,c=null!=t;l>s;s++)(r=e[s])&&(!n||n(r,i,o))&&(a.push(r),c&&t.push(s));return a}function g(e,t,n,o,r,a){return o&&!o[H]&&(o=g(o)),r&&!r[H]&&(r=g(r,a)),i(function(i,a,s,l){var c,u,d,f=[],g=[],m=a.length,v=i||h(t||"*",s.nodeType?[s]:s,[]),y=!e||!i&&t?v:p(v,f,e,s,l),b=n?r||(i?e:m||o)?[]:a:y;if(n&&n(y,b,s,l),o)for(c=p(b,g),o(c,[],s,l),u=c.length;u--;)(d=c[u])&&(b[g[u]]=!(y[g[u]]=d));if(i){if(r||e){if(r){for(c=[],u=b.length;u--;)(d=b[u])&&c.push(y[u]=d);r(null,b=[],c,l)}for(u=b.length;u--;)(d=b[u])&&(c=r?J(i,d):f[u])>-1&&(i[c]=!(a[c]=d))}}else b=p(b===a?b.splice(m,b.length):b),r?r(null,a,b,l):Y.apply(a,b)})}function m(e){for(var t,n,i,o=e.length,r=A.relative[e[0].type],a=r||A.relative[" "],s=r?1:0,l=d(function(e){return e===t},a,!0),c=d(function(e){return J(t,e)>-1},a,!0),h=[function(e,n,i){var o=!r&&(i||n!==k)||((t=n).nodeType?l(e,n,i):c(e,n,i));return t=null,o}];o>s;s++)if(n=A.relative[e[s].type])h=[d(f(h),n)];else{if(n=A.filter[e[s].type].apply(null,e[s].matches),n[H]){for(i=++s;o>i&&!A.relative[e[i].type];i++);return g(s>1&&f(h),s>1&&u(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(ae,"$1"),n,i>s&&m(e.slice(s,i)),o>i&&m(e=e.slice(i)),o>i&&u(e))}h.push(n)}return f(h)}function v(e,n){var o=n.length>0,r=e.length>0,a=function(i,a,s,l,c){var u,d,f,h=0,g="0",m=i&&[],v=[],y=k,b=i||r&&A.find.TAG("*",c),x=F+=null==y?1:Math.random()||.1,w=b.length;for(c&&(k=a!==j&&a);g!==w&&null!=(u=b[g]);g++){if(r&&u){for(d=0;f=e[d++];)if(f(u,a,s)){l.push(u);break}c&&(F=x)}o&&((u=!f&&u)&&h--,i&&m.push(u))}if(h+=g,o&&g!==h){for(d=0;f=n[d++];)f(m,v,a,s);if(i){if(h>0)for(;g--;)m[g]||v[g]||(v[g]=X.call(l));v=p(v)}Y.apply(l,v),c&&!i&&v.length>0&&h+n.length>1&&t.uniqueSort(l)}return c&&(F=x,k=y),m};return o?i(a):a}var y,b,A,x,w,C,T,E,k,S,N,D,j,$,L,O,I,B,R,H="sizzle"+1*new Date,M=e.document,F=0,P=0,z=n(),_=n(),q=n(),W=function(e,t){return e===t&&(N=!0),0},U=1<<31,Q={}.hasOwnProperty,G=[],X=G.pop,V=G.push,Y=G.push,Z=G.slice,J=function(e,t){for(var n=0,i=e.length;i>n;n++)if(e[n]===t)return n;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",ee="[\\x20\\t\\r\\n\\f]",te="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",ne=te.replace("w","w#"),ie="\\["+ee+"*("+te+")(?:"+ee+"*([*^$|!~]?=)"+ee+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+ne+"))|)"+ee+"*\\]",oe=":("+te+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+ie+")*)|.*)\\)|)",re=new RegExp(ee+"+","g"),ae=new RegExp("^"+ee+"+|((?:^|[^\\\\])(?:\\\\.)*)"+ee+"+$","g"),se=new RegExp("^"+ee+"*,"+ee+"*"),le=new RegExp("^"+ee+"*([>+~]|"+ee+")"+ee+"*"),ce=new RegExp("="+ee+"*([^\\]'\"]*?)"+ee+"*\\]","g"),ue=new RegExp(oe),de=new RegExp("^"+ne+"$"),fe={ID:new RegExp("^#("+te+")"),CLASS:new RegExp("^\\.("+te+")"),TAG:new RegExp("^("+te.replace("w","w*")+")"),ATTR:new RegExp("^"+ie),PSEUDO:new RegExp("^"+oe),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ee+"*(even|odd|(([+-]|)(\\d*)n|)"+ee+"*(?:([+-]|)"+ee+"*(\\d+)|))"+ee+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+ee+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ee+"*((?:-\\d)?\\d*)"+ee+"*\\)|)(?=[^-]|$)","i")},he=/^(?:input|select|textarea|button)$/i,pe=/^h\d$/i,ge=/^[^{]+\{\s*\[native \w/,me=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ve=/[+~]/,ye=/'|\\/g,be=new RegExp("\\\\([\\da-f]{1,6}"+ee+"?|("+ee+")|.)","ig"),Ae=function(e,t,n){var i="0x"+t-65536;return i!==i||n?t:0>i?String.fromCharCode(i+65536):String.fromCharCode(i>>10|55296,1023&i|56320)},xe=function(){D()};try{Y.apply(G=Z.call(M.childNodes),M.childNodes),G[M.childNodes.length].nodeType}catch(e){Y={apply:G.length?function(e,t){V.apply(e,Z.call(t))}:function(e,t){for(var n=e.length,i=0;e[n++]=t[i++];);e.length=n-1}}}b=t.support={},w=t.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},D=t.setDocument=function(e){var t,n,i=e?e.ownerDocument||e:M;return i!==j&&9===i.nodeType&&i.documentElement?(j=i,$=i.documentElement,n=i.defaultView,n&&n!==n.top&&(n.addEventListener?n.addEventListener("unload",xe,!1):n.attachEvent&&n.attachEvent("onunload",xe)),L=!w(i),b.attributes=o(function(e){return e.className="i",!e.getAttribute("className")}),b.getElementsByTagName=o(function(e){return e.appendChild(i.createComment("")),!e.getElementsByTagName("*").length}),b.getElementsByClassName=ge.test(i.getElementsByClassName),b.getById=o(function(e){return $.appendChild(e).id=H,!i.getElementsByName||!i.getElementsByName(H).length}),b.getById?(A.find.ID=function(e,t){if(void 0!==t.getElementById&&L){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},A.filter.ID=function(e){var t=e.replace(be,Ae);return function(e){return e.getAttribute("id")===t}}):(delete A.find.ID,A.filter.ID=function(e){var t=e.replace(be,Ae);return function(e){var n=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}}),A.find.TAG=b.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):b.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,i=[],o=0,r=t.getElementsByTagName(e);if("*"===e){for(;n=r[o++];)1===n.nodeType&&i.push(n);return i}return r},A.find.CLASS=b.getElementsByClassName&&function(e,t){return L?t.getElementsByClassName(e):void 0},I=[],O=[],(b.qsa=ge.test(i.querySelectorAll))&&(o(function(e){$.appendChild(e).innerHTML=" ",e.querySelectorAll("[msallowcapture^='']").length&&O.push("[*^$]="+ee+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||O.push("\\["+ee+"*(?:value|"+K+")"),e.querySelectorAll("[id~="+H+"-]").length||O.push("~="),e.querySelectorAll(":checked").length||O.push(":checked"),e.querySelectorAll("a#"+H+"+*").length||O.push(".#.+[+~]")}),o(function(e){var t=i.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&O.push("name"+ee+"*[*^$|!~]?="),e.querySelectorAll(":enabled").length||O.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),O.push(",.*:")})),(b.matchesSelector=ge.test(B=$.matches||$.webkitMatchesSelector||$.mozMatchesSelector||$.oMatchesSelector||$.msMatchesSelector))&&o(function(e){b.disconnectedMatch=B.call(e,"div"),B.call(e,"[s!='']:x"),I.push("!=",oe)}),O=O.length&&new RegExp(O.join("|")),I=I.length&&new RegExp(I.join("|")),t=ge.test($.compareDocumentPosition),R=t||ge.test($.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,i=t&&t.parentNode;return e===i||!(!i||1!==i.nodeType||!(n.contains?n.contains(i):e.compareDocumentPosition&&16&e.compareDocumentPosition(i)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},W=t?function(e,t){if(e===t)return N=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1,1&n||!b.sortDetached&&t.compareDocumentPosition(e)===n?e===i||e.ownerDocument===M&&R(M,e)?-1:t===i||t.ownerDocument===M&&R(M,t)?1:S?J(S,e)-J(S,t):0:4&n?-1:1)}:function(e,t){if(e===t)return N=!0,0;var n,o=0,r=e.parentNode,s=t.parentNode,l=[e],c=[t];if(!r||!s)return e===i?-1:t===i?1:r?-1:s?1:S?J(S,e)-J(S,t):0;if(r===s)return a(e,t);for(n=e;n=n.parentNode;)l.unshift(n);for(n=t;n=n.parentNode;)c.unshift(n);for(;l[o]===c[o];)o++;return o?a(l[o],c[o]):l[o]===M?-1:c[o]===M?1:0},i):j},t.matches=function(e,n){return t(e,null,null,n)},t.matchesSelector=function(e,n){if((e.ownerDocument||e)!==j&&D(e),n=n.replace(ce,"='$1']"),!(!b.matchesSelector||!L||I&&I.test(n)||O&&O.test(n)))try{var i=B.call(e,n);if(i||b.disconnectedMatch||e.document&&11!==e.document.nodeType)return i}catch(e){}return t(n,j,null,[e]).length>0},t.contains=function(e,t){return(e.ownerDocument||e)!==j&&D(e),R(e,t)},t.attr=function(e,t){(e.ownerDocument||e)!==j&&D(e);var n=A.attrHandle[t.toLowerCase()],i=n&&Q.call(A.attrHandle,t.toLowerCase())?n(e,t,!L):void 0;return void 0!==i?i:b.attributes||!L?e.getAttribute(t):(i=e.getAttributeNode(t))&&i.specified?i.value:null},t.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},t.uniqueSort=function(e){var t,n=[],i=0,o=0;if(N=!b.detectDuplicates,S=!b.sortStable&&e.slice(0),e.sort(W),N){for(;t=e[o++];)t===e[o]&&(i=n.push(o));for(;i--;)e.splice(n[i],1)}return S=null,e},x=t.getText=function(e){var t,n="",i=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=x(e)}else if(3===o||4===o)return e.nodeValue}else for(;t=e[i++];)n+=x(t);return n},A=t.selectors={cacheLength:50,createPseudo:i,match:fe,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,Ae),e[3]=(e[3]||e[4]||e[5]||"").replace(be,Ae),"~="===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 fe.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&ue.test(n)&&(t=C(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,Ae).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=z[e+" "];return t||(t=new RegExp("(^|"+ee+")"+e+"("+ee+"|$)"))&&z(e,function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,n,i){return function(o){var r=t.attr(o,e);return null==r?"!="===n:!n||(r+="","="===n?r===i:"!="===n?r!==i:"^="===n?i&&0===r.indexOf(i):"*="===n?i&&r.indexOf(i)>-1:"$="===n?i&&r.slice(-i.length)===i:"~="===n?(" "+r.replace(re," ")+" ").indexOf(i)>-1:"|="===n&&(r===i||r.slice(0,i.length+1)===i+"-"))}},CHILD:function(e,t,n,i,o){var r="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===i&&0===o?function(e){return!!e.parentNode}:function(t,n,l){var c,u,d,f,h,p,g=r!==a?"nextSibling":"previousSibling",m=t.parentNode,v=s&&t.nodeName.toLowerCase(),y=!l&&!s;if(m){if(r){for(;g;){for(d=t;d=d[g];)if(s?d.nodeName.toLowerCase()===v:1===d.nodeType)return!1;p=g="only"===e&&!p&&"nextSibling"}return!0}if(p=[a?m.firstChild:m.lastChild],a&&y){for(u=m[H]||(m[H]={}),c=u[e]||[],h=c[0]===F&&c[1],f=c[0]===F&&c[2],d=h&&m.childNodes[h];d=++h&&d&&d[g]||(f=h=0)||p.pop();)if(1===d.nodeType&&++f&&d===t){u[e]=[F,h,f];break}}else if(y&&(c=(t[H]||(t[H]={}))[e])&&c[0]===F)f=c[1];else for(;(d=++h&&d&&d[g]||(f=h=0)||p.pop())&&((s?d.nodeName.toLowerCase()!==v:1!==d.nodeType)||!++f||(y&&((d[H]||(d[H]={}))[e]=[F,f]),d!==t)););return(f-=o)===i||f%i==0&&f/i>=0}}},PSEUDO:function(e,n){var o,r=A.pseudos[e]||A.setFilters[e.toLowerCase()]||t.error("unsupported pseudo: "+e);return r[H]?r(n):r.length>1?(o=[e,e,"",n],A.setFilters.hasOwnProperty(e.toLowerCase())?i(function(e,t){for(var i,o=r(e,n),a=o.length;a--;)i=J(e,o[a]),e[i]=!(t[i]=o[a])}):function(e){return r(e,0,o)}):r}},pseudos:{not:i(function(e){var t=[],n=[],o=T(e.replace(ae,"$1"));return o[H]?i(function(e,t,n,i){for(var r,a=o(e,null,i,[]),s=e.length;s--;)(r=a[s])&&(e[s]=!(t[s]=r))}):function(e,i,r){return t[0]=e,o(t,null,r,n),t[0]=null,!n.pop()}}),has:i(function(e){return function(n){return t(e,n).length>0}}),contains:i(function(e){return e=e.replace(be,Ae),function(t){return(t.textContent||t.innerText||x(t)).indexOf(e)>-1}}),lang:i(function(e){return de.test(e||"")||t.error("unsupported lang: "+e),e=e.replace(be,Ae).toLowerCase(),function(t){var n;do{if(n=L?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===$},focus:function(e){return e===j.activeElement&&(!j.hasFocus||j.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return!1===e.disabled},disabled:function(e){return!0===e.disabled},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!A.pseudos.empty(e)},header:function(e){return pe.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:s(function(){return[0]}),last:s(function(e,t){return[t-1]}),eq:s(function(e,t,n){return[0>n?n+t:n]}),even:s(function(e,t){for(var n=0;t>n;n+=2)e.push(n);return e}),odd:s(function(e,t){for(var n=1;t>n;n+=2)e.push(n);return e}),lt:s(function(e,t,n){for(var i=0>n?n+t:n;--i>=0;)e.push(i);return e}),gt:s(function(e,t,n){for(var i=0>n?n+t:n;++i2&&"ID"===(a=r[0]).type&&b.getById&&9===t.nodeType&&L&&A.relative[r[1].type]){if(!(t=(A.find.ID(a.matches[0].replace(be,Ae),t)||[])[0]))return n;d&&(t=t.parentNode),e=e.slice(r.shift().value.length)}for(o=fe.needsContext.test(e)?0:r.length;o--&&(a=r[o],!A.relative[s=a.type]);)if((c=A.find[s])&&(i=c(a.matches[0].replace(be,Ae),ve.test(r[0].type)&&l(t.parentNode)||t))){if(r.splice(o,1),!(e=i.length&&u(r)))return Y.apply(n,i),n;break}}return(d||T(e,f))(i,t,!L,n,ve.test(e)&&l(t.parentNode)||t),n},b.sortStable=H.split("").sort(W).join("")===H,b.detectDuplicates=!!N,D(),b.sortDetached=o(function(e){return 1&e.compareDocumentPosition(j.createElement("div"))}),o(function(e){return e.innerHTML=" ","#"===e.firstChild.getAttribute("href")})||r("type|href|height|width",function(e,t,n){return n?void 0:e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),b.attributes&&o(function(e){return e.innerHTML=" ",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||r("value",function(e,t,n){return n||"input"!==e.nodeName.toLowerCase()?void 0:e.defaultValue}),o(function(e){return null==e.getAttribute("disabled")})||r(K,function(e,t,n){var i;return n?void 0:!0===e[t]?t.toLowerCase():(i=e.getAttributeNode(t))&&i.specified?i.value:null}),t}(e);oe.find=ce,oe.expr=ce.selectors,oe.expr[":"]=oe.expr.pseudos,oe.unique=ce.uniqueSort,oe.text=ce.getText,oe.isXMLDoc=ce.isXML,oe.contains=ce.contains;var ue=oe.expr.match.needsContext,de=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,fe=/^.[^:#\[\.,]*$/;oe.filter=function(e,t,n){var i=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===i.nodeType?oe.find.matchesSelector(i,e)?[i]:[]:oe.find.matches(e,oe.grep(t,function(e){return 1===e.nodeType}))},oe.fn.extend({find:function(e){var t,n=[],i=this,o=i.length;if("string"!=typeof e)return this.pushStack(oe(e).filter(function(){for(t=0;o>t;t++)if(oe.contains(i[t],this))return!0}));for(t=0;o>t;t++)oe.find(e,i[t],n);return n=this.pushStack(o>1?oe.unique(n):n),n.selector=this.selector?this.selector+" "+e:e,n},filter:function(e){return this.pushStack(i(this,e||[],!1))},not:function(e){return this.pushStack(i(this,e||[],!0))},is:function(e){return!!i(this,"string"==typeof e&&ue.test(e)?oe(e):e||[],!1).length}});var he,pe=e.document,ge=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/;(oe.fn.init=function(e,t){var n,i;if(!e)return this;if("string"==typeof e){if(!(n="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:ge.exec(e))||!n[1]&&t)return!t||t.jquery?(t||he).find(e):this.constructor(t).find(e);if(n[1]){if(t=t instanceof oe?t[0]:t,oe.merge(this,oe.parseHTML(n[1],t&&t.nodeType?t.ownerDocument||t:pe,!0)),de.test(n[1])&&oe.isPlainObject(t))for(n in t)oe.isFunction(this[n])?this[n](t[n]):this.attr(n,t[n]);return this}if((i=pe.getElementById(n[2]))&&i.parentNode){if(i.id!==n[2])return he.find(e);this.length=1,this[0]=i}return this.context=pe,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):oe.isFunction(e)?void 0!==he.ready?he.ready(e):e(oe):(void 0!==e.selector&&(this.selector=e.selector,this.context=e.context),oe.makeArray(e,this))}).prototype=oe.fn,he=oe(pe);var me=/^(?:parents|prev(?:Until|All))/,ve={children:!0,contents:!0,next:!0,prev:!0};oe.extend({dir:function(e,t,n){for(var i=[],o=e[t];o&&9!==o.nodeType&&(void 0===n||1!==o.nodeType||!oe(o).is(n));)1===o.nodeType&&i.push(o),o=o[t];return i},sibling:function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}}),oe.fn.extend({has:function(e){var t,n=oe(e,this),i=n.length;return this.filter(function(){for(t=0;i>t;t++)if(oe.contains(this,n[t]))return!0})},closest:function(e,t){for(var n,i=0,o=this.length,r=[],a=ue.test(e)||"string"!=typeof e?oe(e,t||this.context):0;o>i;i++)for(n=this[i];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?a.index(n)>-1:1===n.nodeType&&oe.find.matchesSelector(n,e))){r.push(n);break}return this.pushStack(r.length>1?oe.unique(r):r)},index:function(e){return e?"string"==typeof e?oe.inArray(this[0],oe(e)):oe.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(oe.unique(oe.merge(this.get(),oe(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),oe.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return oe.dir(e,"parentNode")},parentsUntil:function(e,t,n){return oe.dir(e,"parentNode",n)},next:function(e){return o(e,"nextSibling")},prev:function(e){return o(e,"previousSibling")},nextAll:function(e){return oe.dir(e,"nextSibling")},prevAll:function(e){return oe.dir(e,"previousSibling")},nextUntil:function(e,t,n){return oe.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return oe.dir(e,"previousSibling",n)},siblings:function(e){return oe.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return oe.sibling(e.firstChild)},contents:function(e){return oe.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:oe.merge([],e.childNodes)}},function(e,t){oe.fn[e]=function(n,i){var o=oe.map(this,t,n);return"Until"!==e.slice(-5)&&(i=n),i&&"string"==typeof i&&(o=oe.filter(i,o)),this.length>1&&(ve[e]||(o=oe.unique(o)),me.test(e)&&(o=o.reverse())),this.pushStack(o)}});var ye=/\S+/g,be={};oe.Callbacks=function(e){e="string"==typeof e?be[e]||r(e):oe.extend({},e);var t,n,i,o,a,s,l=[],c=!e.once&&[],u=function(r){for(n=e.memory&&r,i=!0,a=s||0,s=0,o=l.length,t=!0;l&&o>a;a++)if(!1===l[a].apply(r[0],r[1])&&e.stopOnFalse){n=!1;break}t=!1,l&&(c?c.length&&u(c.shift()):n?l=[]:d.disable())},d={add:function(){if(l){var i=l.length;!function t(n){oe.each(n,function(n,i){var o=oe.type(i);"function"===o?e.unique&&d.has(i)||l.push(i):i&&i.length&&"string"!==o&&t(i)})}(arguments),t?o=l.length:n&&(s=i,u(n))}return this},remove:function(){return l&&oe.each(arguments,function(e,n){for(var i;(i=oe.inArray(n,l,i))>-1;)l.splice(i,1),t&&(o>=i&&o--,a>=i&&a--)}),this},has:function(e){return e?oe.inArray(e,l)>-1:!(!l||!l.length)},empty:function(){return l=[],o=0,this},disable:function(){return l=c=n=void 0,this},disabled:function(){return!l},lock:function(){return c=void 0,n||d.disable(),this},locked:function(){return!c},fireWith:function(e,n){return!l||i&&!c||(n=n||[],n=[e,n.slice?n.slice():n],t?c.push(n):u(n)),this},fire:function(){return d.fireWith(this,arguments),this},fired:function(){return!!i}};return d},oe.extend({Deferred:function(e){var t=[["resolve","done",oe.Callbacks("once memory"),"resolved"],["reject","fail",oe.Callbacks("once memory"),"rejected"],["notify","progress",oe.Callbacks("memory")]],n="pending",i={state:function(){return n},always:function(){return o.done(arguments).fail(arguments),this},then:function(){var e=arguments;return oe.Deferred(function(n){oe.each(t,function(t,r){var a=oe.isFunction(e[t])&&e[t];o[r[1]](function(){var e=a&&a.apply(this,arguments);e&&oe.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[r[0]+"With"](this===i?n.promise():this,a?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?oe.extend(e,i):i}},o={};return i.pipe=i.then,oe.each(t,function(e,r){var a=r[2],s=r[3];i[r[1]]=a.add,s&&a.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),o[r[0]]=function(){return o[r[0]+"With"](this===o?i:this,arguments),this},o[r[0]+"With"]=a.fireWith}),i.promise(o),e&&e.call(o,o),o},when:function(e){var t,n,i,o=0,r=V.call(arguments),a=r.length,s=1!==a||e&&oe.isFunction(e.promise)?a:0,l=1===s?e:oe.Deferred(),c=function(e,n,i){return function(o){n[e]=this,i[e]=arguments.length>1?V.call(arguments):o,i===t?l.notifyWith(n,i):--s||l.resolveWith(n,i)}};if(a>1)for(t=new Array(a),n=new Array(a),i=new Array(a);a>o;o++)r[o]&&oe.isFunction(r[o].promise)?r[o].promise().done(c(o,i,r)).fail(l.reject).progress(c(o,n,t)):--s;return s||l.resolveWith(i,r),l.promise()}});var Ae;oe.fn.ready=function(e){return oe.ready.promise().done(e),this},oe.extend({isReady:!1,readyWait:1,holdReady:function(e){e?oe.readyWait++:oe.ready(!0)},ready:function(e){if(!0===e?!--oe.readyWait:!oe.isReady){if(!pe.body)return setTimeout(oe.ready);oe.isReady=!0,!0!==e&&--oe.readyWait>0||(Ae.resolveWith(pe,[oe]),oe.fn.triggerHandler&&(oe(pe).triggerHandler("ready"),oe(pe).off("ready")))}}}),oe.ready.promise=function(t){if(!Ae)if(Ae=oe.Deferred(),"complete"===pe.readyState)setTimeout(oe.ready);else if(pe.addEventListener)pe.addEventListener("DOMContentLoaded",s,!1),e.addEventListener("load",s,!1);else{pe.attachEvent("onreadystatechange",s),e.attachEvent("onload",s);var n=!1;try{n=null==e.frameElement&&pe.documentElement}catch(e){}n&&n.doScroll&&function e(){if(!oe.isReady){try{n.doScroll("left")}catch(t){return setTimeout(e,50)}a(),oe.ready()}}()}return Ae.promise(t)};var xe,we="undefined";for(xe in oe(ne))break;ne.ownLast="0"!==xe,ne.inlineBlockNeedsLayout=!1,oe(function(){var e,t,n,i;(n=pe.getElementsByTagName("body")[0])&&n.style&&(t=pe.createElement("div"),i=pe.createElement("div"),i.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",n.appendChild(i).appendChild(t),typeof t.style.zoom!==we&&(t.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",ne.inlineBlockNeedsLayout=e=3===t.offsetWidth,e&&(n.style.zoom=1)),n.removeChild(i))}),function(){var e=pe.createElement("div");if(null==ne.deleteExpando){ne.deleteExpando=!0;try{delete e.test}catch(e){ne.deleteExpando=!1}}e=null}(),oe.acceptData=function(e){var t=oe.noData[(e.nodeName+" ").toLowerCase()],n=+e.nodeType||1;return(1===n||9===n)&&(!t||!0!==t&&e.getAttribute("classid")===t)};var Ce=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Te=/([A-Z])/g;oe.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(e){return!!(e=e.nodeType?oe.cache[e[oe.expando]]:e[oe.expando])&&!c(e)},data:function(e,t,n){return u(e,t,n)},removeData:function(e,t){return d(e,t)},_data:function(e,t,n){return u(e,t,n,!0)},_removeData:function(e,t){return d(e,t,!0)}}),oe.fn.extend({data:function(e,t){var n,i,o,r=this[0],a=r&&r.attributes;if(void 0===e){if(this.length&&(o=oe.data(r),1===r.nodeType&&!oe._data(r,"parsedAttrs"))){for(n=a.length;n--;)a[n]&&(i=a[n].name,0===i.indexOf("data-")&&(i=oe.camelCase(i.slice(5)),l(r,i,o[i])));oe._data(r,"parsedAttrs",!0)}return o}return"object"==typeof e?this.each(function(){oe.data(this,e)}):arguments.length>1?this.each(function(){oe.data(this,e,t)}):r?l(r,e,oe.data(r,e)):void 0},removeData:function(e){return this.each(function(){oe.removeData(this,e)})}}),oe.extend({queue:function(e,t,n){var i;return e?(t=(t||"fx")+"queue",i=oe._data(e,t),n&&(!i||oe.isArray(n)?i=oe._data(e,t,oe.makeArray(n)):i.push(n)),i||[]):void 0},dequeue:function(e,t){t=t||"fx";var n=oe.queue(e,t),i=n.length,o=n.shift(),r=oe._queueHooks(e,t),a=function(){oe.dequeue(e,t)};"inprogress"===o&&(o=n.shift(),i--),o&&("fx"===t&&n.unshift("inprogress"),delete r.stop,o.call(e,a,r)),!i&&r&&r.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return oe._data(e,n)||oe._data(e,n,{empty:oe.Callbacks("once memory").add(function(){oe._removeData(e,t+"queue"),oe._removeData(e,n)})})}}),oe.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.lengths;s++)t(e[s],n,a?i:i.call(e[s],s,t(e[s],n)));return o?e:c?t.call(e):l?t(e[0],n):r},De=/^(?:checkbox|radio)$/i;!function(){var e=pe.createElement("input"),t=pe.createElement("div"),n=pe.createDocumentFragment();if(t.innerHTML=" a ",ne.leadingWhitespace=3===t.firstChild.nodeType,ne.tbody=!t.getElementsByTagName("tbody").length,ne.htmlSerialize=!!t.getElementsByTagName("link").length,ne.html5Clone="<:nav>"!==pe.createElement("nav").cloneNode(!0).outerHTML,e.type="checkbox",e.checked=!0,n.appendChild(e),ne.appendChecked=e.checked,t.innerHTML="x ",ne.noCloneChecked=!!t.cloneNode(!0).lastChild.defaultValue,n.appendChild(t),t.innerHTML=" ",ne.checkClone=t.cloneNode(!0).cloneNode(!0).lastChild.checked,ne.noCloneEvent=!0,t.attachEvent&&(t.attachEvent("onclick",function(){ne.noCloneEvent=!1}),t.cloneNode(!0).click()),null==ne.deleteExpando){ne.deleteExpando=!0;try{delete t.test}catch(e){ne.deleteExpando=!1}}}(),function(){var t,n,i=pe.createElement("div");for(t in{submit:!0,change:!0,focusin:!0})n="on"+t,(ne[t+"Bubbles"]=n in e)||(i.setAttribute(n,"t"),ne[t+"Bubbles"]=!1===i.attributes[n].expando);i=null}();var je=/^(?:input|select|textarea)$/i,$e=/^key/,Le=/^(?:mouse|pointer|contextmenu)|click/,Oe=/^(?:focusinfocus|focusoutblur)$/,Ie=/^([^.]*)(?:\.(.+)|)$/;oe.event={global:{},add:function(e,t,n,i,o){var r,a,s,l,c,u,d,f,h,p,g,m=oe._data(e);if(m){for(n.handler&&(l=n,n=l.handler,o=l.selector),n.guid||(n.guid=oe.guid++),(a=m.events)||(a=m.events={}),(u=m.handle)||(u=m.handle=function(e){return typeof oe===we||e&&oe.event.triggered===e.type?void 0:oe.event.dispatch.apply(u.elem,arguments)},u.elem=e),t=(t||"").match(ye)||[""],s=t.length;s--;)r=Ie.exec(t[s])||[],h=g=r[1],p=(r[2]||"").split(".").sort(),h&&(c=oe.event.special[h]||{},h=(o?c.delegateType:c.bindType)||h,c=oe.event.special[h]||{},d=oe.extend({type:h,origType:g,data:i,handler:n,guid:n.guid,selector:o,needsContext:o&&oe.expr.match.needsContext.test(o),namespace:p.join(".")},l),(f=a[h])||(f=a[h]=[],f.delegateCount=0,c.setup&&!1!==c.setup.call(e,i,p,u)||(e.addEventListener?e.addEventListener(h,u,!1):e.attachEvent&&e.attachEvent("on"+h,u))),c.add&&(c.add.call(e,d),d.handler.guid||(d.handler.guid=n.guid)),o?f.splice(f.delegateCount++,0,d):f.push(d),oe.event.global[h]=!0);e=null}},remove:function(e,t,n,i,o){var r,a,s,l,c,u,d,f,h,p,g,m=oe.hasData(e)&&oe._data(e);if(m&&(u=m.events)){for(t=(t||"").match(ye)||[""],c=t.length;c--;)if(s=Ie.exec(t[c])||[],h=g=s[1],p=(s[2]||"").split(".").sort(),h){for(d=oe.event.special[h]||{},h=(i?d.delegateType:d.bindType)||h,f=u[h]||[],s=s[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),l=r=f.length;r--;)a=f[r],!o&&g!==a.origType||n&&n.guid!==a.guid||s&&!s.test(a.namespace)||i&&i!==a.selector&&("**"!==i||!a.selector)||(f.splice(r,1),a.selector&&f.delegateCount--,d.remove&&d.remove.call(e,a));l&&!f.length&&(d.teardown&&!1!==d.teardown.call(e,p,m.handle)||oe.removeEvent(e,h,m.handle),delete u[h])}else for(h in u)oe.event.remove(e,h+t[c],n,i,!0);oe.isEmptyObject(u)&&(delete m.handle,oe._removeData(e,"events"))}},trigger:function(t,n,i,o){var r,a,s,l,c,u,d,f=[i||pe],h=te.call(t,"type")?t.type:t,p=te.call(t,"namespace")?t.namespace.split("."):[];if(s=u=i=i||pe,3!==i.nodeType&&8!==i.nodeType&&!Oe.test(h+oe.event.triggered)&&(h.indexOf(".")>=0&&(p=h.split("."),h=p.shift(),p.sort()),a=h.indexOf(":")<0&&"on"+h,t=t[oe.expando]?t:new oe.Event(h,"object"==typeof t&&t),t.isTrigger=o?2:3,t.namespace=p.join("."),t.namespace_re=t.namespace?new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=i),n=null==n?[t]:oe.makeArray(n,[t]),c=oe.event.special[h]||{},o||!c.trigger||!1!==c.trigger.apply(i,n))){if(!o&&!c.noBubble&&!oe.isWindow(i)){for(l=c.delegateType||h,Oe.test(l+h)||(s=s.parentNode);s;s=s.parentNode)f.push(s),u=s;u===(i.ownerDocument||pe)&&f.push(u.defaultView||u.parentWindow||e)}for(d=0;(s=f[d++])&&!t.isPropagationStopped();)t.type=d>1?l:c.bindType||h,r=(oe._data(s,"events")||{})[t.type]&&oe._data(s,"handle"),r&&r.apply(s,n),(r=a&&s[a])&&r.apply&&oe.acceptData(s)&&(t.result=r.apply(s,n),!1===t.result&&t.preventDefault());if(t.type=h,!o&&!t.isDefaultPrevented()&&(!c._default||!1===c._default.apply(f.pop(),n))&&oe.acceptData(i)&&a&&i[h]&&!oe.isWindow(i)){u=i[a],u&&(i[a]=null),oe.event.triggered=h;try{i[h]()}catch(e){}oe.event.triggered=void 0,u&&(i[a]=u)}return t.result}},dispatch:function(e){e=oe.event.fix(e);var t,n,i,o,r,a=[],s=V.call(arguments),l=(oe._data(this,"events")||{})[e.type]||[],c=oe.event.special[e.type]||{};if(s[0]=e,e.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,e)){for(a=oe.event.handlers.call(this,e,l),t=0;(o=a[t++])&&!e.isPropagationStopped();)for(e.currentTarget=o.elem,r=0;(i=o.handlers[r++])&&!e.isImmediatePropagationStopped();)(!e.namespace_re||e.namespace_re.test(i.namespace))&&(e.handleObj=i,e.data=i.data,void 0!==(n=((oe.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,s))&&!1===(e.result=n)&&(e.preventDefault(),e.stopPropagation()));return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,t){var n,i,o,r,a=[],s=t.delegateCount,l=e.target;if(s&&l.nodeType&&(!e.button||"click"!==e.type))for(;l!=this;l=l.parentNode||this)if(1===l.nodeType&&(!0!==l.disabled||"click"!==e.type)){for(o=[],r=0;s>r;r++)i=t[r],n=i.selector+" ",void 0===o[n]&&(o[n]=i.needsContext?oe(n,this).index(l)>=0:oe.find(n,this,null,[l]).length),o[n]&&o.push(i);o.length&&a.push({elem:l,handlers:o})}return s ]","i"),Me=/^\s+/,Fe=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,Pe=/<([\w:]+)/,ze=/\s*$/g,Xe={option:[1,""," "],legend:[1,""," "],area:[1,""," "],param:[1,""," "],thead:[1,""],tr:[2,""],col:[2,""],td:[3,""],_default:ne.htmlSerialize?[0,"",""]:[1,"X","
"]},Ve=g(pe),Ye=Ve.appendChild(pe.createElement("div"));Xe.optgroup=Xe.option,Xe.tbody=Xe.tfoot=Xe.colgroup=Xe.caption=Xe.thead,Xe.th=Xe.td,oe.extend({clone:function(e,t,n){var i,o,r,a,s,l=oe.contains(e.ownerDocument,e);if(ne.html5Clone||oe.isXMLDoc(e)||!He.test("<"+e.nodeName+">")?r=e.cloneNode(!0):(Ye.innerHTML=e.outerHTML,Ye.removeChild(r=Ye.firstChild)),!(ne.noCloneEvent&&ne.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||oe.isXMLDoc(e)))for(i=m(r),s=m(e),a=0;null!=(o=s[a]);++a)i[a]&&C(o,i[a]);if(t)if(n)for(s=s||m(e),i=i||m(r),a=0;null!=(o=s[a]);a++)w(o,i[a]);else w(e,r);return i=m(r,"script"),i.length>0&&x(i,!l&&m(e,"script")),i=s=o=null,r},buildFragment:function(e,t,n,i){for(var o,r,a,s,l,c,u,d=e.length,f=g(t),h=[],p=0;d>p;p++)if((r=e[p])||0===r)if("object"===oe.type(r))oe.merge(h,r.nodeType?[r]:r);else if(_e.test(r)){for(s=s||f.appendChild(t.createElement("div")),l=(Pe.exec(r)||["",""])[1].toLowerCase(),u=Xe[l]||Xe._default,s.innerHTML=u[1]+r.replace(Fe,"<$1>$2>")+u[2],o=u[0];o--;)s=s.lastChild;if(!ne.leadingWhitespace&&Me.test(r)&&h.push(t.createTextNode(Me.exec(r)[0])),!ne.tbody)for(r="table"!==l||ze.test(r)?""!==u[1]||ze.test(r)?0:s:s.firstChild,o=r&&r.childNodes.length;o--;)oe.nodeName(c=r.childNodes[o],"tbody")&&!c.childNodes.length&&r.removeChild(c);for(oe.merge(h,s.childNodes),s.textContent="";s.firstChild;)s.removeChild(s.firstChild);s=f.lastChild}else h.push(t.createTextNode(r));for(s&&f.removeChild(s),ne.appendChecked||oe.grep(m(h,"input"),v),
+p=0;r=h[p++];)if((!i||-1===oe.inArray(r,i))&&(a=oe.contains(r.ownerDocument,r),s=m(f.appendChild(r),"script"),a&&x(s),n))for(o=0;r=s[o++];)Ue.test(r.type||"")&&n.push(r);return s=null,f},cleanData:function(e,t){for(var n,i,o,r,a=0,s=oe.expando,l=oe.cache,c=ne.deleteExpando,u=oe.event.special;null!=(n=e[a]);a++)if((t||oe.acceptData(n))&&(o=n[s],r=o&&l[o])){if(r.events)for(i in r.events)u[i]?oe.event.remove(n,i):oe.removeEvent(n,i,r.handle);l[o]&&(delete l[o],c?delete n[s]:typeof n.removeAttribute!==we?n.removeAttribute(s):n[s]=null,X.push(o))}}}),oe.fn.extend({text:function(e){return Ne(this,function(e){return void 0===e?oe.text(this):this.empty().append((this[0]&&this[0].ownerDocument||pe).createTextNode(e))},null,e,arguments.length)},append:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){y(this,e).appendChild(e)}})},prepend:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=y(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){for(var n,i=e?oe.filter(e,this):this,o=0;null!=(n=i[o]);o++)t||1!==n.nodeType||oe.cleanData(m(n)),n.parentNode&&(t&&oe.contains(n.ownerDocument,n)&&x(m(n,"script")),n.parentNode.removeChild(n));return this},empty:function(){for(var e,t=0;null!=(e=this[t]);t++){for(1===e.nodeType&&oe.cleanData(m(e,!1));e.firstChild;)e.removeChild(e.firstChild);e.options&&oe.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 oe.clone(this,e,t)})},html:function(e){return Ne(this,function(e){var t=this[0]||{},n=0,i=this.length;if(void 0===e)return 1===t.nodeType?t.innerHTML.replace(Re,""):void 0;if(!("string"!=typeof e||qe.test(e)||!ne.htmlSerialize&&He.test(e)||!ne.leadingWhitespace&&Me.test(e)||Xe[(Pe.exec(e)||["",""])[1].toLowerCase()])){e=e.replace(Fe,"<$1>$2>");try{for(;i>n;n++)t=this[n]||{},1===t.nodeType&&(oe.cleanData(m(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=arguments[0];return this.domManip(arguments,function(t){e=this.parentNode,oe.cleanData(m(this)),e&&e.replaceChild(t,this)}),e&&(e.length||e.nodeType)?this:this.remove()},detach:function(e){return this.remove(e,!0)},domManip:function(e,t){e=Y.apply([],e);var n,i,o,r,a,s,l=0,c=this.length,u=this,d=c-1,f=e[0],h=oe.isFunction(f);if(h||c>1&&"string"==typeof f&&!ne.checkClone&&We.test(f))return this.each(function(n){var i=u.eq(n);h&&(e[0]=f.call(this,n,i.html())),i.domManip(e,t)});if(c&&(s=oe.buildFragment(e,this[0].ownerDocument,!1,this),n=s.firstChild,1===s.childNodes.length&&(s=n),n)){for(r=oe.map(m(s,"script"),b),o=r.length;c>l;l++)i=s,l!==d&&(i=oe.clone(i,!0,!0),o&&oe.merge(r,m(i,"script"))),t.call(this[l],i,l);if(o)for(a=r[r.length-1].ownerDocument,oe.map(r,A),l=0;o>l;l++)i=r[l],Ue.test(i.type||"")&&!oe._data(i,"globalEval")&&oe.contains(a,i)&&(i.src?oe._evalUrl&&oe._evalUrl(i.src):oe.globalEval((i.text||i.textContent||i.innerHTML||"").replace(Ge,"")));s=n=null}return this}}),oe.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){oe.fn[e]=function(e){for(var n,i=0,o=[],r=oe(e),a=r.length-1;a>=i;i++)n=i===a?this:this.clone(!0),oe(r[i])[t](n),Z.apply(o,n.get());return this.pushStack(o)}});var Ze,Je={};!function(){var e;ne.shrinkWrapBlocks=function(){if(null!=e)return e;e=!1;var t,n,i;return n=pe.getElementsByTagName("body")[0],n&&n.style?(t=pe.createElement("div"),i=pe.createElement("div"),i.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",n.appendChild(i).appendChild(t),typeof t.style.zoom!==we&&(t.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:1px;width:1px;zoom:1",t.appendChild(pe.createElement("div")).style.width="5px",e=3!==t.offsetWidth),n.removeChild(i),e):void 0}}();var Ke,et,tt=/^margin/,nt=new RegExp("^("+Ee+")(?!px)[a-z%]+$","i"),it=/^(top|right|bottom|left)$/;e.getComputedStyle?(Ke=function(t){return t.ownerDocument.defaultView.opener?t.ownerDocument.defaultView.getComputedStyle(t,null):e.getComputedStyle(t,null)},et=function(e,t,n){var i,o,r,a,s=e.style;return n=n||Ke(e),a=n?n.getPropertyValue(t)||n[t]:void 0,n&&(""!==a||oe.contains(e.ownerDocument,e)||(a=oe.style(e,t)),nt.test(a)&&tt.test(t)&&(i=s.width,o=s.minWidth,r=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=i,s.minWidth=o,s.maxWidth=r)),void 0===a?a:a+""}):pe.documentElement.currentStyle&&(Ke=function(e){return e.currentStyle},et=function(e,t,n){var i,o,r,a,s=e.style;return n=n||Ke(e),a=n?n[t]:void 0,null==a&&s&&s[t]&&(a=s[t]),nt.test(a)&&!it.test(t)&&(i=s.left,o=e.runtimeStyle,r=o&&o.left,r&&(o.left=e.currentStyle.left),s.left="fontSize"===t?"1em":a,a=s.pixelLeft+"px",s.left=i,r&&(o.left=r)),void 0===a?a:a+""||"auto"}),!function(){function t(){var t,n,i,o;(n=pe.getElementsByTagName("body")[0])&&n.style&&(t=pe.createElement("div"),i=pe.createElement("div"),i.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",n.appendChild(i).appendChild(t),t.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute",r=a=!1,l=!0,e.getComputedStyle&&(r="1%"!==(e.getComputedStyle(t,null)||{}).top,a="4px"===(e.getComputedStyle(t,null)||{width:"4px"}).width,o=t.appendChild(pe.createElement("div")),o.style.cssText=t.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",o.style.marginRight=o.style.width="0",t.style.width="1px",l=!parseFloat((e.getComputedStyle(o,null)||{}).marginRight),t.removeChild(o)),t.innerHTML="",o=t.getElementsByTagName("td"),o[0].style.cssText="margin:0;border:0;padding:0;display:none",s=0===o[0].offsetHeight,s&&(o[0].style.display="",o[1].style.display="none",s=0===o[0].offsetHeight),n.removeChild(i))}var n,i,o,r,a,s,l;n=pe.createElement("div"),n.innerHTML=" a ",o=n.getElementsByTagName("a")[0],(i=o&&o.style)&&(i.cssText="float:left;opacity:.5",ne.opacity="0.5"===i.opacity,ne.cssFloat=!!i.cssFloat,n.style.backgroundClip="content-box",n.cloneNode(!0).style.backgroundClip="",ne.clearCloneStyle="content-box"===n.style.backgroundClip,ne.boxSizing=""===i.boxSizing||""===i.MozBoxSizing||""===i.WebkitBoxSizing,oe.extend(ne,{reliableHiddenOffsets:function(){return null==s&&t(),s},boxSizingReliable:function(){return null==a&&t(),a},pixelPosition:function(){return null==r&&t(),r},reliableMarginRight:function(){return null==l&&t(),l}}))}(),oe.swap=function(e,t,n,i){var o,r,a={};for(r in t)a[r]=e.style[r],e.style[r]=t[r];o=n.apply(e,i||[]);for(r in t)e.style[r]=a[r];return o};var ot=/alpha\([^)]*\)/i,rt=/opacity\s*=\s*([^)]*)/,at=/^(none|table(?!-c[ea]).+)/,st=new RegExp("^("+Ee+")(.*)$","i"),lt=new RegExp("^([+-])=("+Ee+")","i"),ct={position:"absolute",visibility:"hidden",display:"block"},ut={letterSpacing:"0",fontWeight:"400"},dt=["Webkit","O","Moz","ms"];oe.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=et(e,"opacity");return""===n?"1":n}}}},cssNumber:{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:ne.cssFloat?"cssFloat":"styleFloat"},style:function(e,t,n,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,r,a,s=oe.camelCase(t),l=e.style;if(t=oe.cssProps[s]||(oe.cssProps[s]=S(l,s)),a=oe.cssHooks[t]||oe.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(o=a.get(e,!1,i))?o:l[t];if(r=typeof n,"string"===r&&(o=lt.exec(n))&&(n=(o[1]+1)*o[2]+parseFloat(oe.css(e,t)),r="number"),null!=n&&n===n&&("number"!==r||oe.cssNumber[s]||(n+="px"),ne.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),!(a&&"set"in a&&void 0===(n=a.set(e,n,i)))))try{l[t]=n}catch(e){}}},css:function(e,t,n,i){var o,r,a,s=oe.camelCase(t);return t=oe.cssProps[s]||(oe.cssProps[s]=S(e.style,s)),a=oe.cssHooks[t]||oe.cssHooks[s],a&&"get"in a&&(r=a.get(e,!0,n)),void 0===r&&(r=et(e,t,i)),"normal"===r&&t in ut&&(r=ut[t]),""===n||n?(o=parseFloat(r),!0===n||oe.isNumeric(o)?o||0:r):r}}),oe.each(["height","width"],function(e,t){oe.cssHooks[t]={get:function(e,n,i){return n?at.test(oe.css(e,"display"))&&0===e.offsetWidth?oe.swap(e,ct,function(){return $(e,t,i)}):$(e,t,i):void 0},set:function(e,n,i){var o=i&&Ke(e);return D(e,n,i?j(e,t,i,ne.boxSizing&&"border-box"===oe.css(e,"boxSizing",!1,o),o):0)}}}),ne.opacity||(oe.cssHooks.opacity={get:function(e,t){return rt.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,i=e.currentStyle,o=oe.isNumeric(t)?"alpha(opacity="+100*t+")":"",r=i&&i.filter||n.filter||"";n.zoom=1,(t>=1||""===t)&&""===oe.trim(r.replace(ot,""))&&n.removeAttribute&&(n.removeAttribute("filter"),""===t||i&&!i.filter)||(n.filter=ot.test(r)?r.replace(ot,o):r+" "+o)}}),oe.cssHooks.marginRight=k(ne.reliableMarginRight,function(e,t){return t?oe.swap(e,{display:"inline-block"},et,[e,"marginRight"]):void 0}),oe.each({margin:"",padding:"",border:"Width"},function(e,t){oe.cssHooks[e+t]={expand:function(n){for(var i=0,o={},r="string"==typeof n?n.split(" "):[n];4>i;i++)o[e+ke[i]+t]=r[i]||r[i-2]||r[0];return o}},tt.test(e)||(oe.cssHooks[e+t].set=D)}),oe.fn.extend({css:function(e,t){return Ne(this,function(e,t,n){var i,o,r={},a=0;if(oe.isArray(t)){for(i=Ke(e),o=t.length;o>a;a++)r[t[a]]=oe.css(e,t[a],!1,i);return r}return void 0!==n?oe.style(e,t,n):oe.css(e,t)},e,t,arguments.length>1)},show:function(){return N(this,!0)},hide:function(){return N(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){Se(this)?oe(this).show():oe(this).hide()})}}),oe.Tween=L,L.prototype={constructor:L,init:function(e,t,n,i,o,r){this.elem=e,this.prop=n,this.easing=o||"swing",this.options=t,this.start=this.now=this.cur(),this.end=i,this.unit=r||(oe.cssNumber[n]?"":"px")},cur:function(){var e=L.propHooks[this.prop];return e&&e.get?e.get(this):L.propHooks._default.get(this)},run:function(e){var t,n=L.propHooks[this.prop];return this.options.duration?this.pos=t=oe.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):L.propHooks._default.set(this),this}},L.prototype.init.prototype=L.prototype,L.propHooks={_default:{get:function(e){var t;return null==e.elem[e.prop]||e.elem.style&&null!=e.elem.style[e.prop]?(t=oe.css(e.elem,e.prop,""),t&&"auto"!==t?t:0):e.elem[e.prop]},set:function(e){oe.fx.step[e.prop]?oe.fx.step[e.prop](e):e.elem.style&&(null!=e.elem.style[oe.cssProps[e.prop]]||oe.cssHooks[e.prop])?oe.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},L.propHooks.scrollTop=L.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},oe.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},oe.fx=L.prototype.init,oe.fx.step={};var ft,ht,pt=/^(?:toggle|show|hide)$/,gt=new RegExp("^(?:([+-])=|)("+Ee+")([a-z%]*)$","i"),mt=/queueHooks$/,vt=[R],yt={"*":[function(e,t){var n=this.createTween(e,t),i=n.cur(),o=gt.exec(t),r=o&&o[3]||(oe.cssNumber[e]?"":"px"),a=(oe.cssNumber[e]||"px"!==r&&+i)&>.exec(oe.css(n.elem,e)),s=1,l=20;if(a&&a[3]!==r){r=r||a[3],o=o||[],a=+i||1;do{s=s||".5",a/=s,oe.style(n.elem,e,a+r)}while(s!==(s=n.cur()/i)&&1!==s&&--l)}return o&&(a=n.start=+a||+i||0,n.unit=r,n.end=o[1]?a+(o[1]+1)*o[2]:+o[2]),n}]};oe.Animation=oe.extend(M,{tweener:function(e,t){oe.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");for(var n,i=0,o=e.length;o>i;i++)n=e[i],yt[n]=yt[n]||[],yt[n].unshift(t)},prefilter:function(e,t){t?vt.unshift(e):vt.push(e)}}),oe.speed=function(e,t,n){var i=e&&"object"==typeof e?oe.extend({},e):{complete:n||!n&&t||oe.isFunction(e)&&e,duration:e,easing:n&&t||t&&!oe.isFunction(t)&&t};return i.duration=oe.fx.off?0:"number"==typeof i.duration?i.duration:i.duration in oe.fx.speeds?oe.fx.speeds[i.duration]:oe.fx.speeds._default,(null==i.queue||!0===i.queue)&&(i.queue="fx"),i.old=i.complete,i.complete=function(){oe.isFunction(i.old)&&i.old.call(this),i.queue&&oe.dequeue(this,i.queue)},i},oe.fn.extend({fadeTo:function(e,t,n,i){return this.filter(Se).css("opacity",0).show().end().animate({opacity:t},e,n,i)},animate:function(e,t,n,i){var o=oe.isEmptyObject(e),r=oe.speed(t,n,i),a=function(){var t=M(this,oe.extend({},e),r);(o||oe._data(this,"finish"))&&t.stop(!0)};return a.finish=a,o||!1===r.queue?this.each(a):this.queue(r.queue,a)},stop:function(e,t,n){var i=function(e){var t=e.stop;delete e.stop,t(n)};return"string"!=typeof e&&(n=t,t=e,e=void 0),t&&!1!==e&&this.queue(e||"fx",[]),this.each(function(){var t=!0,o=null!=e&&e+"queueHooks",r=oe.timers,a=oe._data(this);if(o)a[o]&&a[o].stop&&i(a[o]);else for(o in a)a[o]&&a[o].stop&&mt.test(o)&&i(a[o]);for(o=r.length;o--;)r[o].elem!==this||null!=e&&r[o].queue!==e||(r[o].anim.stop(n),t=!1,r.splice(o,1));(t||!n)&&oe.dequeue(this,e)})},finish:function(e){return!1!==e&&(e=e||"fx"),this.each(function(){var t,n=oe._data(this),i=n[e+"queue"],o=n[e+"queueHooks"],r=oe.timers,a=i?i.length:0;for(n.finish=!0,oe.queue(this,e,[]),o&&o.stop&&o.stop.call(this,!0),t=r.length;t--;)r[t].elem===this&&r[t].queue===e&&(r[t].anim.stop(!0),r.splice(t,1));for(t=0;a>t;t++)i[t]&&i[t].finish&&i[t].finish.call(this);delete n.finish})}}),oe.each(["toggle","show","hide"],function(e,t){var n=oe.fn[t];oe.fn[t]=function(e,i,o){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(I(t,!0),e,i,o)}}),oe.each({slideDown:I("show"),slideUp:I("hide"),slideToggle:I("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){oe.fn[e]=function(e,n,i){return this.animate(t,e,n,i)}}),oe.timers=[],oe.fx.tick=function(){var e,t=oe.timers,n=0;for(ft=oe.now();na ",i=t.getElementsByTagName("a")[0],n=pe.createElement("select"),o=n.appendChild(pe.createElement("option")),e=t.getElementsByTagName("input")[0],i.style.cssText="top:1px",ne.getSetAttribute="t"!==t.className,ne.style=/top/.test(i.getAttribute("style")),ne.hrefNormalized="/a"===i.getAttribute("href"),ne.checkOn=!!e.value,ne.optSelected=o.selected,ne.enctype=!!pe.createElement("form").enctype,n.disabled=!0,ne.optDisabled=!o.disabled,e=pe.createElement("input"),e.setAttribute("value",""),ne.input=""===e.getAttribute("value"),e.value="t",e.setAttribute("type","radio"),ne.radioValue="t"===e.value}();var bt=/\r/g;oe.fn.extend({val:function(e){var t,n,i,o=this[0];return arguments.length?(i=oe.isFunction(e),this.each(function(n){var o;1===this.nodeType&&(o=i?e.call(this,n,oe(this).val()):e,null==o?o="":"number"==typeof o?o+="":oe.isArray(o)&&(o=oe.map(o,function(e){return null==e?"":e+""})),(t=oe.valHooks[this.type]||oe.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,o,"value")||(this.value=o))})):o?(t=oe.valHooks[o.type]||oe.valHooks[o.nodeName.toLowerCase()],t&&"get"in t&&void 0!==(n=t.get(o,"value"))?n:(n=o.value,"string"==typeof n?n.replace(bt,""):null==n?"":n)):void 0}}),oe.extend({valHooks:{option:{get:function(e){var t=oe.find.attr(e,"value");return null!=t?t:oe.trim(oe.text(e))}},select:{get:function(e){for(var t,n,i=e.options,o=e.selectedIndex,r="select-one"===e.type||0>o,a=r?null:[],s=r?o+1:i.length,l=0>o?s:r?o:0;s>l;l++)if(n=i[l],!(!n.selected&&l!==o||(ne.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&oe.nodeName(n.parentNode,"optgroup"))){if(t=oe(n).val(),r)return t;a.push(t)}return a},set:function(e,t){for(var n,i,o=e.options,r=oe.makeArray(t),a=o.length;a--;)if(i=o[a],oe.inArray(oe.valHooks.option.get(i),r)>=0)try{i.selected=n=!0}catch(e){i.scrollHeight}else i.selected=!1;return n||(e.selectedIndex=-1),o}}}}),oe.each(["radio","checkbox"],function(){oe.valHooks[this]={set:function(e,t){return oe.isArray(t)?e.checked=oe.inArray(oe(e).val(),t)>=0:void 0}},ne.checkOn||(oe.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var At,xt,wt=oe.expr.attrHandle,Ct=/^(?:checked|selected)$/i,Tt=ne.getSetAttribute,Et=ne.input;oe.fn.extend({attr:function(e,t){return Ne(this,oe.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){oe.removeAttr(this,e)})}}),oe.extend({attr:function(e,t,n){var i,o,r=e.nodeType;if(e&&3!==r&&8!==r&&2!==r)return typeof e.getAttribute===we?oe.prop(e,t,n):(1===r&&oe.isXMLDoc(e)||(t=t.toLowerCase(),i=oe.attrHooks[t]||(oe.expr.match.bool.test(t)?xt:At)),void 0===n?i&&"get"in i&&null!==(o=i.get(e,t))?o:(o=oe.find.attr(e,t),null==o?void 0:o):null!==n?i&&"set"in i&&void 0!==(o=i.set(e,n,t))?o:(e.setAttribute(t,n+""),n):void oe.removeAttr(e,t))},removeAttr:function(e,t){var n,i,o=0,r=t&&t.match(ye);if(r&&1===e.nodeType)for(;n=r[o++];)i=oe.propFix[n]||n,oe.expr.match.bool.test(n)?Et&&Tt||!Ct.test(n)?e[i]=!1:e[oe.camelCase("default-"+n)]=e[i]=!1:oe.attr(e,n,""),e.removeAttribute(Tt?n:i)},attrHooks:{type:{set:function(e,t){if(!ne.radioValue&&"radio"===t&&oe.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}}}),xt={set:function(e,t,n){return!1===t?oe.removeAttr(e,n):Et&&Tt||!Ct.test(n)?e.setAttribute(!Tt&&oe.propFix[n]||n,n):e[oe.camelCase("default-"+n)]=e[n]=!0,n}},oe.each(oe.expr.match.bool.source.match(/\w+/g),function(e,t){var n=wt[t]||oe.find.attr;wt[t]=Et&&Tt||!Ct.test(t)?function(e,t,i){var o,r;return i||(r=wt[t],wt[t]=o,o=null!=n(e,t,i)?t.toLowerCase():null,wt[t]=r),o}:function(e,t,n){return n?void 0:e[oe.camelCase("default-"+t)]?t.toLowerCase():null}}),Et&&Tt||(oe.attrHooks.value={set:function(e,t,n){return oe.nodeName(e,"input")?void(e.defaultValue=t):At&&At.set(e,t,n)}}),Tt||(At={set:function(e,t,n){var i=e.getAttributeNode(n);return i||e.setAttributeNode(i=e.ownerDocument.createAttribute(n)),i.value=t+="","value"===n||t===e.getAttribute(n)?t:void 0}},wt.id=wt.name=wt.coords=function(e,t,n){var i;return n?void 0:(i=e.getAttributeNode(t))&&""!==i.value?i.value:null},oe.valHooks.button={get:function(e,t){var n=e.getAttributeNode(t);return n&&n.specified?n.value:void 0},set:At.set},oe.attrHooks.contenteditable={set:function(e,t,n){At.set(e,""!==t&&t,n)}},oe.each(["width","height"],function(e,t){oe.attrHooks[t]={set:function(e,n){return""===n?(e.setAttribute(t,"auto"),n):void 0}}})),ne.style||(oe.attrHooks.style={get:function(e){return e.style.cssText||void 0},set:function(e,t){return e.style.cssText=t+""}});var kt=/^(?:input|select|textarea|button|object)$/i,St=/^(?:a|area)$/i;oe.fn.extend({prop:function(e,t){return Ne(this,oe.prop,e,t,arguments.length>1)},removeProp:function(e){return e=oe.propFix[e]||e,this.each(function(){try{this[e]=void 0,delete this[e]}catch(e){}})}}),oe.extend({propFix:{for:"htmlFor",class:"className"},prop:function(e,t,n){var i,o,r,a=e.nodeType;if(e&&3!==a&&8!==a&&2!==a)return r=1!==a||!oe.isXMLDoc(e),r&&(t=oe.propFix[t]||t,o=oe.propHooks[t]),void 0!==n?o&&"set"in o&&void 0!==(i=o.set(e,n,t))?i:e[t]=n:o&&"get"in o&&null!==(i=o.get(e,t))?i:e[t]},propHooks:{tabIndex:{get:function(e){var t=oe.find.attr(e,"tabindex");return t?parseInt(t,10):kt.test(e.nodeName)||St.test(e.nodeName)&&e.href?0:-1}}}}),ne.hrefNormalized||oe.each(["href","src"],function(e,t){oe.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}}),ne.optSelected||(oe.propHooks.selected={get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}}),oe.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){oe.propFix[this.toLowerCase()]=this}),ne.enctype||(oe.propFix.enctype="encoding");var Nt=/[\t\r\n\f]/g;oe.fn.extend({addClass:function(e){var t,n,i,o,r,a,s=0,l=this.length,c="string"==typeof e&&e;if(oe.isFunction(e))return this.each(function(t){oe(this).addClass(e.call(this,t,this.className))});if(c)for(t=(e||"").match(ye)||[];l>s;s++)if(n=this[s],i=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(Nt," "):" ")){for(r=0;o=t[r++];)i.indexOf(" "+o+" ")<0&&(i+=o+" ");a=oe.trim(i),n.className!==a&&(n.className=a)}return this},removeClass:function(e){var t,n,i,o,r,a,s=0,l=this.length,c=0===arguments.length||"string"==typeof e&&e;if(oe.isFunction(e))return this.each(function(t){oe(this).removeClass(e.call(this,t,this.className))});if(c)for(t=(e||"").match(ye)||[];l>s;s++)if(n=this[s],i=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(Nt," "):"")){for(r=0;o=t[r++];)for(;i.indexOf(" "+o+" ")>=0;)i=i.replace(" "+o+" "," ");a=e?oe.trim(i):"",n.className!==a&&(n.className=a)}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):this.each(oe.isFunction(e)?function(n){oe(this).toggleClass(e.call(this,n,this.className,t),t)}:function(){if("string"===n)for(var t,i=0,o=oe(this),r=e.match(ye)||[];t=r[i++];)o.hasClass(t)?o.removeClass(t):o.addClass(t);else(n===we||"boolean"===n)&&(this.className&&oe._data(this,"__className__",this.className),this.className=this.className||!1===e?"":oe._data(this,"__className__")||"")})},hasClass:function(e){for(var t=" "+e+" ",n=0,i=this.length;i>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(Nt," ").indexOf(t)>=0)return!0;return!1}}),oe.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){oe.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),oe.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)},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,i){return this.on(t,e,n,i)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}});var Dt=oe.now(),jt=/\?/,$t=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;oe.parseJSON=function(t){if(e.JSON&&e.JSON.parse)return e.JSON.parse(t+"");var n,i=null,o=oe.trim(t+"");return o&&!oe.trim(o.replace($t,function(e,t,o,r){return n&&t&&(i=0),0===i?e:(n=o||t,i+=!r-!o,"")}))?Function("return "+o)():oe.error("Invalid JSON: "+t)},oe.parseXML=function(t){var n,i;if(!t||"string"!=typeof t)return null;try{e.DOMParser?(i=new DOMParser,n=i.parseFromString(t,"text/xml")):(n=new ActiveXObject("Microsoft.XMLDOM"),n.async="false",n.loadXML(t))}catch(e){n=void 0}return n&&n.documentElement&&!n.getElementsByTagName("parsererror").length||oe.error("Invalid XML: "+t),n};var Lt,Ot,It=/#.*$/,Bt=/([?&])_=[^&]*/,Rt=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Ht=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Mt=/^(?:GET|HEAD)$/,Ft=/^\/\//,Pt=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,zt={},_t={},qt="*/".concat("*");try{Ot=location.href}catch(e){Ot=pe.createElement("a"),Ot.href="",Ot=Ot.href}Lt=Pt.exec(Ot.toLowerCase())||[],oe.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Ot,type:"GET",isLocal:Ht.test(Lt[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":qt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":oe.parseJSON,"text xml":oe.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?z(z(e,oe.ajaxSettings),t):z(oe.ajaxSettings,e)},ajaxPrefilter:F(zt),ajaxTransport:F(_t),ajax:function(e,t){function n(e,t,n,i){var o,u,v,y,A,w=t;2!==b&&(b=2,s&&clearTimeout(s),c=void 0,a=i||"",x.readyState=e>0?4:0,o=e>=200&&300>e||304===e,n&&(y=_(d,x,n)),y=q(d,y,x,o),o?(d.ifModified&&(A=x.getResponseHeader("Last-Modified"),A&&(oe.lastModified[r]=A),(A=x.getResponseHeader("etag"))&&(oe.etag[r]=A)),204===e||"HEAD"===d.type?w="nocontent":304===e?w="notmodified":(w=y.state,u=y.data,v=y.error,o=!v)):(v=w,(e||!w)&&(w="error",0>e&&(e=0))),x.status=e,x.statusText=(t||w)+"",o?p.resolveWith(f,[u,w,x]):p.rejectWith(f,[x,w,v]),x.statusCode(m),m=void 0,l&&h.trigger(o?"ajaxSuccess":"ajaxError",[x,d,o?u:v]),g.fireWith(f,[x,w]),l&&(h.trigger("ajaxComplete",[x,d]),--oe.active||oe.event.trigger("ajaxStop")))}"object"==typeof e&&(t=e,e=void 0),t=t||{};var i,o,r,a,s,l,c,u,d=oe.ajaxSetup({},t),f=d.context||d,h=d.context&&(f.nodeType||f.jquery)?oe(f):oe.event,p=oe.Deferred(),g=oe.Callbacks("once memory"),m=d.statusCode||{},v={},y={},b=0,A="canceled",x={readyState:0,getResponseHeader:function(e){var t;if(2===b){if(!u)for(u={};t=Rt.exec(a);)u[t[1].toLowerCase()]=t[2];t=u[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===b?a:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return b||(e=y[n]=y[n]||e,v[e]=t),this},overrideMimeType:function(e){return b||(d.mimeType=e),this},statusCode:function(e){var t;if(e)if(2>b)for(t in e)m[t]=[m[t],e[t]];else x.always(e[x.status]);return this},abort:function(e){var t=e||A;return c&&c.abort(t),n(0,t),this}};if(p.promise(x).complete=g.add,x.success=x.done,x.error=x.fail,d.url=((e||d.url||Ot)+"").replace(It,"").replace(Ft,Lt[1]+"//"),d.type=t.method||t.type||d.method||d.type,d.dataTypes=oe.trim(d.dataType||"*").toLowerCase().match(ye)||[""],null==d.crossDomain&&(i=Pt.exec(d.url.toLowerCase()),d.crossDomain=!(!i||i[1]===Lt[1]&&i[2]===Lt[2]&&(i[3]||("http:"===i[1]?"80":"443"))===(Lt[3]||("http:"===Lt[1]?"80":"443")))),d.data&&d.processData&&"string"!=typeof d.data&&(d.data=oe.param(d.data,d.traditional)),P(zt,d,t,x),2===b)return x;l=oe.event&&d.global,l&&0==oe.active++&&oe.event.trigger("ajaxStart"),d.type=d.type.toUpperCase(),d.hasContent=!Mt.test(d.type),r=d.url,d.hasContent||(d.data&&(r=d.url+=(jt.test(r)?"&":"?")+d.data,delete d.data),!1===d.cache&&(d.url=Bt.test(r)?r.replace(Bt,"$1_="+Dt++):r+(jt.test(r)?"&":"?")+"_="+Dt++)),d.ifModified&&(oe.lastModified[r]&&x.setRequestHeader("If-Modified-Since",oe.lastModified[r]),oe.etag[r]&&x.setRequestHeader("If-None-Match",oe.etag[r])),(d.data&&d.hasContent&&!1!==d.contentType||t.contentType)&&x.setRequestHeader("Content-Type",d.contentType),x.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+("*"!==d.dataTypes[0]?", "+qt+"; q=0.01":""):d.accepts["*"]);for(o in d.headers)x.setRequestHeader(o,d.headers[o]);if(d.beforeSend&&(!1===d.beforeSend.call(f,x,d)||2===b))return x.abort();A="abort";for(o in{success:1,error:1,complete:1})x[o](d[o]);if(c=P(_t,d,t,x)){x.readyState=1,l&&h.trigger("ajaxSend",[x,d]),d.async&&d.timeout>0&&(s=setTimeout(function(){x.abort("timeout")},d.timeout));try{b=1,c.send(v,n)}catch(e){if(!(2>b))throw e;n(-1,e)}}else n(-1,"No Transport");return x},getJSON:function(e,t,n){return oe.get(e,t,n,"json")},getScript:function(e,t){return oe.get(e,void 0,t,"script")}}),oe.each(["get","post"],function(e,t){oe[t]=function(e,n,i,o){return oe.isFunction(n)&&(o=o||i,i=n,n=void 0),oe.ajax({url:e,type:t,dataType:o,data:n,success:i})}}),oe._evalUrl=function(e){return oe.ajax({url:e,type:"GET",dataType:"script",async:!1,global:!1,throws:!0})},oe.fn.extend({wrapAll:function(e){if(oe.isFunction(e))return this.each(function(t){oe(this).wrapAll(e.call(this,t))});if(this[0]){var t=oe(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 this.each(oe.isFunction(e)?function(t){oe(this).wrapInner(e.call(this,t))}:function(){var t=oe(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=oe.isFunction(e);return this.each(function(n){oe(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){oe.nodeName(this,"body")||oe(this).replaceWith(this.childNodes)}).end()}}),oe.expr.filters.hidden=function(e){return e.offsetWidth<=0&&e.offsetHeight<=0||!ne.reliableHiddenOffsets()&&"none"===(e.style&&e.style.display||oe.css(e,"display"))},oe.expr.filters.visible=function(e){return!oe.expr.filters.hidden(e)};var Wt=/%20/g,Ut=/\[\]$/,Qt=/\r?\n/g,Gt=/^(?:submit|button|image|reset|file)$/i,Xt=/^(?:input|select|textarea|keygen)/i;oe.param=function(e,t){var n,i=[],o=function(e,t){t=oe.isFunction(t)?t():null==t?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(void 0===t&&(t=oe.ajaxSettings&&oe.ajaxSettings.traditional),oe.isArray(e)||e.jquery&&!oe.isPlainObject(e))oe.each(e,function(){o(this.name,this.value)});else for(n in e)W(n,e[n],t,o);return i.join("&").replace(Wt,"+")},oe.fn.extend({serialize:function(){return oe.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=oe.prop(this,"elements");return e?oe.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!oe(this).is(":disabled")&&Xt.test(this.nodeName)&&!Gt.test(e)&&(this.checked||!De.test(e))}).map(function(e,t){var n=oe(this).val();return null==n?null:oe.isArray(n)?oe.map(n,function(e){return{name:t.name,value:e.replace(Qt,"\r\n")}}):{name:t.name,value:n.replace(Qt,"\r\n")}}).get()}}),oe.ajaxSettings.xhr=void 0!==e.ActiveXObject?function(){return!this.isLocal&&/^(get|post|head|put|delete|options)$/i.test(this.type)&&U()||Q()}:U;var Vt=0,Yt={},Zt=oe.ajaxSettings.xhr();e.attachEvent&&e.attachEvent("onunload",function(){for(var e in Yt)Yt[e](void 0,!0)}),ne.cors=!!Zt&&"withCredentials"in Zt,(Zt=ne.ajax=!!Zt)&&oe.ajaxTransport(function(e){if(!e.crossDomain||ne.cors){var t;return{send:function(n,i){var o,r=e.xhr(),a=++Vt;if(r.open(e.type,e.url,e.async,e.username,e.password),e.xhrFields)for(o in e.xhrFields)r[o]=e.xhrFields[o];e.mimeType&&r.overrideMimeType&&r.overrideMimeType(e.mimeType),e.crossDomain||n["X-Requested-With"]||(n["X-Requested-With"]="XMLHttpRequest");for(o in n)void 0!==n[o]&&r.setRequestHeader(o,n[o]+"");r.send(e.hasContent&&e.data||null),t=function(n,o){var s,l,c;if(t&&(o||4===r.readyState))if(delete Yt[a],t=void 0,r.onreadystatechange=oe.noop,o)4!==r.readyState&&r.abort();else{c={},s=r.status,"string"==typeof r.responseText&&(c.text=r.responseText);try{l=r.statusText}catch(e){l=""}s||!e.isLocal||e.crossDomain?1223===s&&(s=204):s=c.text?200:404}c&&i(s,l,c,r.getAllResponseHeaders())},e.async?4===r.readyState?setTimeout(t):r.onreadystatechange=Yt[a]=t:t()},abort:function(){t&&t(void 0,!0)}}}}),oe.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(e){
+return oe.globalEval(e),e}}}),oe.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),oe.ajaxTransport("script",function(e){if(e.crossDomain){var t,n=pe.head||oe("head")[0]||pe.documentElement;return{send:function(i,o){t=pe.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||o(200,"success"))},n.insertBefore(t,n.firstChild)},abort:function(){t&&t.onload(void 0,!0)}}}});var Jt=[],Kt=/(=)\?(?=&|$)|\?\?/;oe.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Jt.pop()||oe.expando+"_"+Dt++;return this[e]=!0,e}}),oe.ajaxPrefilter("json jsonp",function(t,n,i){var o,r,a,s=!1!==t.jsonp&&(Kt.test(t.url)?"url":"string"==typeof t.data&&!(t.contentType||"").indexOf("application/x-www-form-urlencoded")&&Kt.test(t.data)&&"data");return s||"jsonp"===t.dataTypes[0]?(o=t.jsonpCallback=oe.isFunction(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,s?t[s]=t[s].replace(Kt,"$1"+o):!1!==t.jsonp&&(t.url+=(jt.test(t.url)?"&":"?")+t.jsonp+"="+o),t.converters["script json"]=function(){return a||oe.error(o+" was not called"),a[0]},t.dataTypes[0]="json",r=e[o],e[o]=function(){a=arguments},i.always(function(){e[o]=r,t[o]&&(t.jsonpCallback=n.jsonpCallback,Jt.push(o)),a&&oe.isFunction(r)&&r(a[0]),a=r=void 0}),"script"):void 0}),oe.parseHTML=function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||pe;var i=de.exec(e),o=!n&&[];return i?[t.createElement(i[1])]:(i=oe.buildFragment([e],t,o),o&&o.length&&oe(o).remove(),oe.merge([],i.childNodes))};var en=oe.fn.load;oe.fn.load=function(e,t,n){if("string"!=typeof e&&en)return en.apply(this,arguments);var i,o,r,a=this,s=e.indexOf(" ");return s>=0&&(i=oe.trim(e.slice(s,e.length)),e=e.slice(0,s)),oe.isFunction(t)?(n=t,t=void 0):t&&"object"==typeof t&&(r="POST"),a.length>0&&oe.ajax({url:e,type:r,dataType:"html",data:t}).done(function(e){o=arguments,a.html(i?oe("").append(oe.parseHTML(e)).find(i):e)}).complete(n&&function(e,t){a.each(n,o||[e.responseText,t,e])}),this},oe.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){oe.fn[t]=function(e){return this.on(t,e)}}),oe.expr.filters.animated=function(e){return oe.grep(oe.timers,function(t){return e===t.elem}).length};var tn=e.document.documentElement;oe.offset={setOffset:function(e,t,n){var i,o,r,a,s,l,c,u=oe.css(e,"position"),d=oe(e),f={};"static"===u&&(e.style.position="relative"),s=d.offset(),r=oe.css(e,"top"),l=oe.css(e,"left"),c=("absolute"===u||"fixed"===u)&&oe.inArray("auto",[r,l])>-1,c?(i=d.position(),a=i.top,o=i.left):(a=parseFloat(r)||0,o=parseFloat(l)||0),oe.isFunction(t)&&(t=t.call(e,n,s)),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+o),"using"in t?t.using.call(e,f):d.css(f)}},oe.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each(function(t){oe.offset.setOffset(this,e,t)});var t,n,i={top:0,left:0},o=this[0],r=o&&o.ownerDocument;return r?(t=r.documentElement,oe.contains(t,o)?(typeof o.getBoundingClientRect!==we&&(i=o.getBoundingClientRect()),n=G(r),{top:i.top+(n.pageYOffset||t.scrollTop)-(t.clientTop||0),left:i.left+(n.pageXOffset||t.scrollLeft)-(t.clientLeft||0)}):i):void 0},position:function(){if(this[0]){var e,t,n={top:0,left:0},i=this[0];return"fixed"===oe.css(i,"position")?t=i.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),oe.nodeName(e[0],"html")||(n=e.offset()),n.top+=oe.css(e[0],"borderTopWidth",!0),n.left+=oe.css(e[0],"borderLeftWidth",!0)),{top:t.top-n.top-oe.css(i,"marginTop",!0),left:t.left-n.left-oe.css(i,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent||tn;e&&!oe.nodeName(e,"html")&&"static"===oe.css(e,"position");)e=e.offsetParent;return e||tn})}}),oe.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,t){var n=/Y/.test(t);oe.fn[e]=function(i){return Ne(this,function(e,i,o){var r=G(e);return void 0===o?r?t in r?r[t]:r.document.documentElement[i]:e[i]:void(r?r.scrollTo(n?oe(r).scrollLeft():o,n?o:oe(r).scrollTop()):e[i]=o)},e,i,arguments.length,null)}}),oe.each(["top","left"],function(e,t){oe.cssHooks[t]=k(ne.pixelPosition,function(e,n){return n?(n=et(e,t),nt.test(n)?oe(e).position()[t]+"px":n):void 0})}),oe.each({Height:"height",Width:"width"},function(e,t){oe.each({padding:"inner"+e,content:t,"":"outer"+e},function(n,i){oe.fn[i]=function(i,o){var r=arguments.length&&(n||"boolean"!=typeof i),a=n||(!0===i||!0===o?"margin":"border");return Ne(this,function(t,n,i){var o;return oe.isWindow(t)?t.document.documentElement["client"+e]:9===t.nodeType?(o=t.documentElement,Math.max(t.body["scroll"+e],o["scroll"+e],t.body["offset"+e],o["offset"+e],o["client"+e])):void 0===i?oe.css(t,n,a):oe.style(t,n,i,a)},t,r?i:void 0,r,null)}})}),oe.fn.size=function(){return this.length},oe.fn.andSelf=oe.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return oe});var nn=e.jQuery,on=e.$;return oe.noConflict=function(t){return e.$===oe&&(e.$=on),t&&e.jQuery===oe&&(e.jQuery=nn),oe},typeof t===we&&(e.jQuery=e.$=oe),oe}),"undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(e){"use strict";var t=e.fn.jquery.split(" ")[0].split(".");if(t[0]<2&&t[1]<9||1==t[0]&&9==t[1]&&t[2]<1)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher")}(jQuery),function(e){"use strict";function t(){var e=document.createElement("bootstrap"),t={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var n in t)if(void 0!==e.style[n])return{end:t[n]};return!1}e.fn.emulateTransitionEnd=function(t){var n=!1,i=this;e(this).one("bsTransitionEnd",function(){n=!0});var o=function(){n||e(i).trigger(e.support.transition.end)};return setTimeout(o,t),this},e(function(){e.support.transition=t(),e.support.transition&&(e.event.special.bsTransitionEnd={bindType:e.support.transition.end,delegateType:e.support.transition.end,handle:function(t){return e(t.target).is(this)?t.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),function(e){"use strict";function t(t){return this.each(function(){var n=e(this),o=n.data("bs.alert");o||n.data("bs.alert",o=new i(this)),"string"==typeof t&&o[t].call(n)})}var n='[data-dismiss="alert"]',i=function(t){e(t).on("click",n,this.close)};i.VERSION="3.3.5",i.TRANSITION_DURATION=150,i.prototype.close=function(t){function n(){a.detach().trigger("closed.bs.alert").remove()}var o=e(this),r=o.attr("data-target");r||(r=o.attr("href"),r=r&&r.replace(/.*(?=#[^\s]*$)/,""));var a=e(r);t&&t.preventDefault(),a.length||(a=o.closest(".alert")),a.trigger(t=e.Event("close.bs.alert")),t.isDefaultPrevented()||(a.removeClass("in"),e.support.transition&&a.hasClass("fade")?a.one("bsTransitionEnd",n).emulateTransitionEnd(i.TRANSITION_DURATION):n())};var o=e.fn.alert;e.fn.alert=t,e.fn.alert.Constructor=i,e.fn.alert.noConflict=function(){return e.fn.alert=o,this},e(document).on("click.bs.alert.data-api",n,i.prototype.close)}(jQuery),function(e){"use strict";function t(t){return this.each(function(){var i=e(this),o=i.data("bs.button"),r="object"==typeof t&&t;o||i.data("bs.button",o=new n(this,r)),"toggle"==t?o.toggle():t&&o.setState(t)})}var n=function(t,i){this.$element=e(t),this.options=e.extend({},n.DEFAULTS,i),this.isLoading=!1};n.VERSION="3.3.5",n.DEFAULTS={loadingText:"loading..."},n.prototype.setState=function(t){var n="disabled",i=this.$element,o=i.is("input")?"val":"html",r=i.data();t+="Text",null==r.resetText&&i.data("resetText",i[o]()),setTimeout(e.proxy(function(){i[o](null==r[t]?this.options[t]:r[t]),"loadingText"==t?(this.isLoading=!0,i.addClass(n).attr(n,n)):this.isLoading&&(this.isLoading=!1,i.removeClass(n).removeAttr(n))},this),0)},n.prototype.toggle=function(){var e=!0,t=this.$element.closest('[data-toggle="buttons"]');if(t.length){var n=this.$element.find("input");"radio"==n.prop("type")?(n.prop("checked")&&(e=!1),t.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==n.prop("type")&&(n.prop("checked")!==this.$element.hasClass("active")&&(e=!1),this.$element.toggleClass("active")),n.prop("checked",this.$element.hasClass("active")),e&&n.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var i=e.fn.button;e.fn.button=t,e.fn.button.Constructor=n,e.fn.button.noConflict=function(){return e.fn.button=i,this},e(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(n){var i=e(n.target);i.hasClass("btn")||(i=i.closest(".btn")),t.call(i,"toggle"),e(n.target).is('input[type="radio"]')||e(n.target).is('input[type="checkbox"]')||n.preventDefault()}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(t){e(t.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(t.type))})}(jQuery),function(e){"use strict";function t(t){return this.each(function(){var i=e(this),o=i.data("bs.carousel"),r=e.extend({},n.DEFAULTS,i.data(),"object"==typeof t&&t),a="string"==typeof t?t:r.slide;o||i.data("bs.carousel",o=new n(this,r)),"number"==typeof t?o.to(t):a?o[a]():r.interval&&o.pause().cycle()})}var n=function(t,n){this.$element=e(t),this.$indicators=this.$element.find(".carousel-indicators"),this.options=n,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",e.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",e.proxy(this.pause,this)).on("mouseleave.bs.carousel",e.proxy(this.cycle,this))};n.VERSION="3.3.5",n.TRANSITION_DURATION=600,n.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},n.prototype.keydown=function(e){if(!/input|textarea/i.test(e.target.tagName)){switch(e.which){case 37:this.prev();break;case 39:this.next();break;default:return}e.preventDefault()}},n.prototype.cycle=function(t){return t||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(e.proxy(this.next,this),this.options.interval)),this},n.prototype.getItemIndex=function(e){return this.$items=e.parent().children(".item"),this.$items.index(e||this.$active)},n.prototype.getItemForDirection=function(e,t){var n=this.getItemIndex(t);if(("prev"==e&&0===n||"next"==e&&n==this.$items.length-1)&&!this.options.wrap)return t;var i="prev"==e?-1:1,o=(n+i)%this.$items.length;return this.$items.eq(o)},n.prototype.to=function(e){var t=this,n=this.getItemIndex(this.$active=this.$element.find(".item.active"));return e>this.$items.length-1||0>e?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){t.to(e)}):n==e?this.pause().cycle():this.slide(e>n?"next":"prev",this.$items.eq(e))},n.prototype.pause=function(t){return t||(this.paused=!0),this.$element.find(".next, .prev").length&&e.support.transition&&(this.$element.trigger(e.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},n.prototype.next=function(){return this.sliding?void 0:this.slide("next")},n.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},n.prototype.slide=function(t,i){var o=this.$element.find(".item.active"),r=i||this.getItemForDirection(t,o),a=this.interval,s="next"==t?"left":"right",l=this;if(r.hasClass("active"))return this.sliding=!1;var c=r[0],u=e.Event("slide.bs.carousel",{relatedTarget:c,direction:s});if(this.$element.trigger(u),!u.isDefaultPrevented()){if(this.sliding=!0,a&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var d=e(this.$indicators.children()[this.getItemIndex(r)]);d&&d.addClass("active")}var f=e.Event("slid.bs.carousel",{relatedTarget:c,direction:s});return e.support.transition&&this.$element.hasClass("slide")?(r.addClass(t),r[0].offsetWidth,o.addClass(s),r.addClass(s),o.one("bsTransitionEnd",function(){r.removeClass([t,s].join(" ")).addClass("active"),o.removeClass(["active",s].join(" ")),l.sliding=!1,setTimeout(function(){l.$element.trigger(f)},0)}).emulateTransitionEnd(n.TRANSITION_DURATION)):(o.removeClass("active"),r.addClass("active"),this.sliding=!1,this.$element.trigger(f)),a&&this.cycle(),this}};var i=e.fn.carousel;e.fn.carousel=t,e.fn.carousel.Constructor=n,e.fn.carousel.noConflict=function(){return e.fn.carousel=i,this};var o=function(n){var i,o=e(this),r=e(o.attr("data-target")||(i=o.attr("href"))&&i.replace(/.*(?=#[^\s]+$)/,""));if(r.hasClass("carousel")){var a=e.extend({},r.data(),o.data()),s=o.attr("data-slide-to");s&&(a.interval=!1),t.call(r,a),s&&r.data("bs.carousel").to(s),n.preventDefault()}};e(document).on("click.bs.carousel.data-api","[data-slide]",o).on("click.bs.carousel.data-api","[data-slide-to]",o),e(window).on("load",function(){e('[data-ride="carousel"]').each(function(){var n=e(this);t.call(n,n.data())})})}(jQuery),function(e){"use strict";function t(t){var n,i=t.attr("data-target")||(n=t.attr("href"))&&n.replace(/.*(?=#[^\s]+$)/,"");return e(i)}function n(t){return this.each(function(){var n=e(this),o=n.data("bs.collapse"),r=e.extend({},i.DEFAULTS,n.data(),"object"==typeof t&&t);!o&&r.toggle&&/show|hide/.test(t)&&(r.toggle=!1),o||n.data("bs.collapse",o=new i(this,r)),"string"==typeof t&&o[t]()})}var i=function(t,n){this.$element=e(t),this.options=e.extend({},i.DEFAULTS,n),this.$trigger=e('[data-toggle="collapse"][href="#'+t.id+'"],[data-toggle="collapse"][data-target="#'+t.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};i.VERSION="3.3.5",i.TRANSITION_DURATION=350,i.DEFAULTS={toggle:!0},i.prototype.dimension=function(){return this.$element.hasClass("width")?"width":"height"},i.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var t,o=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(o&&o.length&&(t=o.data("bs.collapse"))&&t.transitioning)){var r=e.Event("show.bs.collapse");if(this.$element.trigger(r),!r.isDefaultPrevented()){o&&o.length&&(n.call(o,"hide"),t||o.data("bs.collapse",null));var a=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[a](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var s=function(){this.$element.removeClass("collapsing").addClass("collapse in")[a](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!e.support.transition)return s.call(this);var l=e.camelCase(["scroll",a].join("-"));this.$element.one("bsTransitionEnd",e.proxy(s,this)).emulateTransitionEnd(i.TRANSITION_DURATION)[a](this.$element[0][l])}}}},i.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var t=e.Event("hide.bs.collapse");if(this.$element.trigger(t),!t.isDefaultPrevented()){var n=this.dimension();this.$element[n](this.$element[n]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var o=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return e.support.transition?void this.$element[n](0).one("bsTransitionEnd",e.proxy(o,this)).emulateTransitionEnd(i.TRANSITION_DURATION):o.call(this)}}},i.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},i.prototype.getParent=function(){return e(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(e.proxy(function(n,i){var o=e(i);this.addAriaAndCollapsedClass(t(o),o)},this)).end()},i.prototype.addAriaAndCollapsedClass=function(e,t){var n=e.hasClass("in");e.attr("aria-expanded",n),t.toggleClass("collapsed",!n).attr("aria-expanded",n)};var o=e.fn.collapse;e.fn.collapse=n,e.fn.collapse.Constructor=i,e.fn.collapse.noConflict=function(){return e.fn.collapse=o,this},e(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(i){var o=e(this);o.attr("data-target")||i.preventDefault();var r=t(o),a=r.data("bs.collapse"),s=a?"toggle":o.data();n.call(r,s)})}(jQuery),function(e){"use strict";function t(t){var n=t.attr("data-target");n||(n=t.attr("href"),n=n&&/#[A-Za-z]/.test(n)&&n.replace(/.*(?=#[^\s]*$)/,""));var i=n&&e(n);return i&&i.length?i:t.parent()}function n(n){n&&3===n.which||(e(o).remove(),e(r).each(function(){var i=e(this),o=t(i),r={relatedTarget:this};o.hasClass("open")&&(n&&"click"==n.type&&/input|textarea/i.test(n.target.tagName)&&e.contains(o[0],n.target)||(o.trigger(n=e.Event("hide.bs.dropdown",r)),n.isDefaultPrevented()||(i.attr("aria-expanded","false"),o.removeClass("open").trigger("hidden.bs.dropdown",r))))}))}function i(t){return this.each(function(){var n=e(this),i=n.data("bs.dropdown");i||n.data("bs.dropdown",i=new a(this)),"string"==typeof t&&i[t].call(n)})}var o=".dropdown-backdrop",r='[data-toggle="dropdown"]',a=function(t){e(t).on("click.bs.dropdown",this.toggle)};a.VERSION="3.3.5",a.prototype.toggle=function(i){var o=e(this);if(!o.is(".disabled, :disabled")){var r=t(o),a=r.hasClass("open");if(n(),!a){"ontouchstart"in document.documentElement&&!r.closest(".navbar-nav").length&&e(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(e(this)).on("click",n);var s={relatedTarget:this};if(r.trigger(i=e.Event("show.bs.dropdown",s)),i.isDefaultPrevented())return;o.trigger("focus").attr("aria-expanded","true"),r.toggleClass("open").trigger("shown.bs.dropdown",s)}return!1}},a.prototype.keydown=function(n){if(/(38|40|27|32)/.test(n.which)&&!/input|textarea/i.test(n.target.tagName)){var i=e(this);if(n.preventDefault(),n.stopPropagation(),!i.is(".disabled, :disabled")){var o=t(i),a=o.hasClass("open");if(!a&&27!=n.which||a&&27==n.which)return 27==n.which&&o.find(r).trigger("focus"),i.trigger("click");var s=o.find(".dropdown-menu li:not(.disabled):visible a");if(s.length){var l=s.index(n.target);38==n.which&&l>0&&l--,40==n.which&&l
document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&e?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!e?this.scrollbarWidth:""})},n.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},n.prototype.checkScrollbar=function(){var e=window.innerWidth;if(!e){var t=document.documentElement.getBoundingClientRect();e=t.right-Math.abs(t.left)}this.bodyIsOverflowing=document.body.clientWidth
',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},n.prototype.init=function(t,n,i){if(this.enabled=!0,this.type=t,this.$element=e(n),this.options=this.getOptions(i),this.$viewport=this.options.viewport&&e(e.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var o=this.options.trigger.split(" "),r=o.length;r--;){var a=o[r];if("click"==a)this.$element.on("click."+this.type,this.options.selector,e.proxy(this.toggle,this));else if("manual"!=a){var s="hover"==a?"mouseenter":"focusin",l="hover"==a?"mouseleave":"focusout";this.$element.on(s+"."+this.type,this.options.selector,e.proxy(this.enter,this)),this.$element.on(l+"."+this.type,this.options.selector,e.proxy(this.leave,this))}}this.options.selector?this._options=e.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},n.prototype.getDefaults=function(){return n.DEFAULTS},n.prototype.getOptions=function(t){return t=e.extend({},this.getDefaults(),this.$element.data(),t),t.delay&&"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),t},n.prototype.getDelegateOptions=function(){var t={},n=this.getDefaults();return this._options&&e.each(this._options,function(e,i){n[e]!=i&&(t[e]=i)}),t},n.prototype.enter=function(t){var n=t instanceof this.constructor?t:e(t.currentTarget).data("bs."+this.type);return n||(n=new this.constructor(t.currentTarget,this.getDelegateOptions()),e(t.currentTarget).data("bs."+this.type,n)),t instanceof e.Event&&(n.inState["focusin"==t.type?"focus":"hover"]=!0),n.tip().hasClass("in")||"in"==n.hoverState?void(n.hoverState="in"):(clearTimeout(n.timeout),n.hoverState="in",n.options.delay&&n.options.delay.show?void(n.timeout=setTimeout(function(){"in"==n.hoverState&&n.show()},n.options.delay.show)):n.show())},n.prototype.isInStateTrue=function(){for(var e in this.inState)if(this.inState[e])return!0;return!1},n.prototype.leave=function(t){var n=t instanceof this.constructor?t:e(t.currentTarget).data("bs."+this.type);return n||(n=new this.constructor(t.currentTarget,this.getDelegateOptions()),e(t.currentTarget).data("bs."+this.type,n)),t instanceof e.Event&&(n.inState["focusout"==t.type?"focus":"hover"]=!1),n.isInStateTrue()?void 0:(clearTimeout(n.timeout),n.hoverState="out",n.options.delay&&n.options.delay.hide?void(n.timeout=setTimeout(function(){"out"==n.hoverState&&n.hide()},n.options.delay.hide)):n.hide())},n.prototype.show=function(){var t=e.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(t);var i=e.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(t.isDefaultPrevented()||!i)return;var o=this,r=this.tip(),a=this.getUID(this.type);this.setContent(),r.attr("id",a),this.$element.attr("aria-describedby",a),this.options.animation&&r.addClass("fade");var s="function"==typeof this.options.placement?this.options.placement.call(this,r[0],this.$element[0]):this.options.placement,l=/\s?auto?\s?/i,c=l.test(s);c&&(s=s.replace(l,"")||"top"),r.detach().css({top:0,left:0,display:"block"}).addClass(s).data("bs."+this.type,this),this.options.container?r.appendTo(this.options.container):r.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var u=this.getPosition(),d=r[0].offsetWidth,f=r[0].offsetHeight;if(c){var h=s,p=this.getPosition(this.$viewport);s="bottom"==s&&u.bottom+f>p.bottom?"top":"top"==s&&u.top-fp.width?"left":"left"==s&&u.left-da.top+a.height&&(o.top=a.top+a.height-l)}else{var c=t.left-r,u=t.left+r+n;ca.right&&(o.left=a.left+a.width-u)}return o},n.prototype.getTitle=function(){var e=this.$element,t=this.options;return e.attr("data-original-title")||("function"==typeof t.title?t.title.call(e[0]):t.title)},n.prototype.getUID=function(e){do{e+=~~(1e6*Math.random())}while(document.getElementById(e));return e},n.prototype.tip=function(){if(!this.$tip&&(this.$tip=e(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},n.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},n.prototype.enable=function(){this.enabled=!0},n.prototype.disable=function(){this.enabled=!1},n.prototype.toggleEnabled=function(){this.enabled=!this.enabled},n.prototype.toggle=function(t){var n=this;t&&((n=e(t.currentTarget).data("bs."+this.type))||(n=new this.constructor(t.currentTarget,this.getDelegateOptions()),e(t.currentTarget).data("bs."+this.type,n))),t?(n.inState.click=!n.inState.click,n.isInStateTrue()?n.enter(n):n.leave(n)):n.tip().hasClass("in")?n.leave(n):n.enter(n)},n.prototype.destroy=function(){var e=this;clearTimeout(this.timeout),this.hide(function(){e.$element.off("."+e.type).removeData("bs."+e.type),e.$tip&&e.$tip.detach(),e.$tip=null,e.$arrow=null,e.$viewport=null})};var i=e.fn.tooltip;e.fn.tooltip=t,e.fn.tooltip.Constructor=n,e.fn.tooltip.noConflict=function(){return e.fn.tooltip=i,this}}(jQuery),function(e){"use strict";function t(t){return this.each(function(){var i=e(this),o=i.data("bs.popover"),r="object"==typeof t&&t;(o||!/destroy|hide/.test(t))&&(o||i.data("bs.popover",o=new n(this,r)),"string"==typeof t&&o[t]())})}var n=function(e,t){this.init("popover",e,t)};if(!e.fn.tooltip)throw new Error("Popover requires tooltip.js");n.VERSION="3.3.5",n.DEFAULTS=e.extend({},e.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:''}),n.prototype=e.extend({},e.fn.tooltip.Constructor.prototype),n.prototype.constructor=n,n.prototype.getDefaults=function(){return n.DEFAULTS},n.prototype.setContent=function(){var e=this.tip(),t=this.getTitle(),n=this.getContent();e.find(".popover-title")[this.options.html?"html":"text"](t),e.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof n?"html":"append":"text"](n),e.removeClass("fade top bottom left right in"),e.find(".popover-title").html()||e.find(".popover-title").hide()},n.prototype.hasContent=function(){return this.getTitle()||this.getContent()},n.prototype.getContent=function(){var e=this.$element,t=this.options;return e.attr("data-content")||("function"==typeof t.content?t.content.call(e[0]):t.content)},n.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var i=e.fn.popover;e.fn.popover=t,e.fn.popover.Constructor=n,e.fn.popover.noConflict=function(){return e.fn.popover=i,this}}(jQuery),function(e){"use strict";function t(n,i){this.$body=e(document.body),this.$scrollElement=e(e(n).is(document.body)?window:n),this.options=e.extend({},t.DEFAULTS,i),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",e.proxy(this.process,this)),this.refresh(),this.process()}function n(n){return this.each(function(){var i=e(this),o=i.data("bs.scrollspy"),r="object"==typeof n&&n;o||i.data("bs.scrollspy",o=new t(this,r)),"string"==typeof n&&o[n]()})}t.VERSION="3.3.5",t.DEFAULTS={offset:10},t.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},t.prototype.refresh=function(){var t=this,n="offset",i=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),e.isWindow(this.$scrollElement[0])||(n="position",i=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var t=e(this),o=t.data("target")||t.attr("href"),r=/^#./.test(o)&&e(o);return r&&r.length&&r.is(":visible")&&[[r[n]().top+i,o]]||null}).sort(function(e,t){return e[0]-t[0]}).each(function(){t.offsets.push(this[0]),t.targets.push(this[1])})},t.prototype.process=function(){var e,t=this.$scrollElement.scrollTop()+this.options.offset,n=this.getScrollHeight(),i=this.options.offset+n-this.$scrollElement.height(),o=this.offsets,r=this.targets,a=this.activeTarget;if(this.scrollHeight!=n&&this.refresh(),t>=i)return a!=(e=r[r.length-1])&&this.activate(e);if(a&&t=o[e]&&(void 0===o[e+1]||t .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),t.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),s?(t[0].offsetWidth,t.addClass("in")):t.removeClass("fade"),t.parent(".dropdown-menu").length&&t.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),o&&o()}var a=i.find("> .active"),s=o&&e.support.transition&&(a.length&&a.hasClass("fade")||!!i.find("> .fade").length);a.length&&s?a.one("bsTransitionEnd",r).emulateTransitionEnd(n.TRANSITION_DURATION):r(),a.removeClass("in")};var i=e.fn.tab;e.fn.tab=t,e.fn.tab.Constructor=n,e.fn.tab.noConflict=function(){return e.fn.tab=i,this};var o=function(n){n.preventDefault(),t.call(e(this),"show")};e(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',o).on("click.bs.tab.data-api",'[data-toggle="pill"]',o)}(jQuery),function(e){"use strict";function t(t){return this.each(function(){var i=e(this),o=i.data("bs.affix"),r="object"==typeof t&&t;o||i.data("bs.affix",o=new n(this,r)),"string"==typeof t&&o[t]()})}var n=function(t,i){this.options=e.extend({},n.DEFAULTS,i),this.$target=e(this.options.target).on("scroll.bs.affix.data-api",e.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",e.proxy(this.checkPositionWithEventLoop,this)),this.$element=e(t),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};n.VERSION="3.3.5",n.RESET="affix affix-top affix-bottom",n.DEFAULTS={offset:0,target:window},n.prototype.getState=function(e,t,n,i){var o=this.$target.scrollTop(),r=this.$element.offset(),a=this.$target.height();if(null!=n&&"top"==this.affixed)return n>o&&"top";if("bottom"==this.affixed)return null!=n?!(o+this.unpin<=r.top)&&"bottom":!(e-i>=o+a)&&"bottom";var s=null==this.affixed,l=s?o:r.top,c=s?a:t;return null!=n&&n>=o?"top":null!=i&&l+c>=e-i&&"bottom"},n.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(n.RESET).addClass("affix");var e=this.$target.scrollTop(),t=this.$element.offset();return this.pinnedOffset=t.top-e},n.prototype.checkPositionWithEventLoop=function(){setTimeout(e.proxy(this.checkPosition,this),1)},n.prototype.checkPosition=function(){if(this.$element.is(":visible")){var t=this.$element.height(),i=this.options.offset,o=i.top,r=i.bottom,a=Math.max(e(document).height(),e(document.body).height());"object"!=typeof i&&(r=o=i),"function"==typeof o&&(o=i.top(this.$element)),"function"==typeof r&&(r=i.bottom(this.$element));var s=this.getState(a,t,o,r);if(this.affixed!=s){null!=this.unpin&&this.$element.css("top","");var l="affix"+(s?"-"+s:""),c=e.Event(l+".bs.affix");if(this.$element.trigger(c),c.isDefaultPrevented())return;this.affixed=s,this.unpin="bottom"==s?this.getPinnedOffset():null,this.$element.removeClass(n.RESET).addClass(l).trigger(l.replace("affix","affixed")+".bs.affix")}"bottom"==s&&this.$element.offset({top:a-t-r})}};var i=e.fn.affix;e.fn.affix=t,e.fn.affix.Constructor=n,e.fn.affix.noConflict=function(){return e.fn.affix=i,this},e(window).on("load",function(){e('[data-spy="affix"]').each(function(){var n=e(this),i=n.data();i.offset=i.offset||{},null!=i.offsetBottom&&(i.offset.bottom=i.offsetBottom),null!=i.offsetTop&&(i.offset.top=i.offsetTop),t.call(n,i)})})}(jQuery),function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):"object"==typeof exports?exports.Holder=t():e.Holder=t()}(this,function(){return function(e){function t(i){if(n[i])return n[i].exports;var o=n[i]={exports:{},id:i,loaded:!1};return e[i].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){(function(t){function i(e,t,n,i){var a=o(n.substr(n.lastIndexOf(e.domain)),e);a&&r({mode:null,el:i,flags:a,engineSettings:t})}function o(e,t){for(var n={theme:C(I.settings.themes.gray,null),stylesheets:t.stylesheets,holderURL:[]},i=!1,o=String.fromCharCode(11),r=e.replace(/([^\\])\//g,"$1"+o).split(o),a=/%[0-9a-f]{2}/gi,s=r.length,l=0;s>l;l++){var c=r[l];if(c.match(a))try{c=decodeURIComponent(c)}catch(e){c=r[l]}var u=!1;if(I.flags.dimensions.match(c))i=!0,n.dimensions=I.flags.dimensions.output(c),u=!0;else if(I.flags.fluid.match(c))i=!0,n.dimensions=I.flags.fluid.output(c),n.fluid=!0,u=!0;else if(I.flags.textmode.match(c))n.textmode=I.flags.textmode.output(c),u=!0;else if(I.flags.colors.match(c)){var d=I.flags.colors.output(c);n.theme=C(n.theme,d),u=!0}else if(t.themes[c])t.themes.hasOwnProperty(c)&&(n.theme=C(t.themes[c],null)),u=!0;else if(I.flags.font.match(c))n.font=I.flags.font.output(c),u=!0;else if(I.flags.auto.match(c))n.auto=!0,u=!0;else if(I.flags.text.match(c))n.text=I.flags.text.output(c),u=!0;else if(I.flags.size.match(c))n.size=I.flags.size.output(c),u=!0;else if(I.flags.random.match(c)){null==I.vars.cache.themeKeys&&(I.vars.cache.themeKeys=Object.keys(t.themes));var f=I.vars.cache.themeKeys[0|Math.random()*I.vars.cache.themeKeys.length];n.theme=C(t.themes[f],null),u=!0}u&&n.holderURL.push(c)}return n.holderURL.unshift(t.domain),n.holderURL=n.holderURL.join("/"),!!i&&n}function r(e){var t=e.mode,n=e.el,i=e.flags,o=e.engineSettings,r=i.dimensions,s=i.theme,l=r.width+"x"+r.height;if(t=null==t?i.fluid?"fluid":"image":t,null!=i.text&&(s.text=i.text,"object"===n.nodeName.toLowerCase())){for(var d=s.text.split("\\n"),f=0;f1){var d=0,f=0,h=e.width*I.setup.lineWrapRatio,p=0;u=new o.Group("line"+p);for(var g=0;g=h||!0===v)&&(t(a,u,d,a.properties.leading),d=0,f+=a.properties.leading,p+=1,u=new o.Group("line"+p),u.y=f),!0!==v&&(c.moveTo(d,0),d+=s.spaceWidth+m.width,u.add(c))}t(a,u,d,a.properties.leading);for(var y in a.children)u=a.children[y],u.moveTo((a.width-u.width)/2,null,null);a.moveTo((e.width-a.width)/2,(e.height-a.height)/2,null),(e.height-a.height)/2<0&&a.moveTo(null,0,null)}else c=new o.Text(e.text),u=new o.Group("line0"),u.add(c),a.add(u),a.moveTo((e.width-s.boundingBox.width)/2,(e.height-s.boundingBox.height)/2,null);return i}function l(e,t,n){var i=parseInt(e,10),o=parseInt(t,10),r=Math.max(i,o),a=Math.min(i,o),s=.8*Math.min(a,r*I.defaults.scale);return Math.round(Math.max(n,s))}function c(e){var t;t=null==e||null==e.nodeType?I.vars.resizableImages:[e];for(var n=0,i=t.length;i>n;n++){var o=t[n];if(o.holderData){var r=o.holderData.flags,s=D(o);if(s){if(!o.holderData.resizeUpdate)continue;if(r.fluid&&r.auto){var l=o.holderData.fluidConfig;switch(l.mode){case"width":s.height=s.width/l.ratio;break;case"height":s.width=s.height*l.ratio}}var c={mode:"image",holderSettings:{dimensions:s,theme:r.theme,flags:r},el:o,engineSettings:o.holderData.engineSettings};"exact"==r.textmode&&(r.exactDimensions=s,c.holderSettings.dimensions=r.dimensions),a(c)}else f(o)}}}function u(e){if(e.holderData){var t=D(e);if(t){var n=e.holderData.flags,i={fluidHeight:"%"==n.dimensions.height.slice(-1),fluidWidth:"%"==n.dimensions.width.slice(-1),mode:null,initialDimensions:t};i.fluidWidth&&!i.fluidHeight?(i.mode="width",i.ratio=i.initialDimensions.width/parseFloat(n.dimensions.height)):!i.fluidWidth&&i.fluidHeight&&(i.mode="height",i.ratio=parseFloat(n.dimensions.width)/i.initialDimensions.height),e.holderData.fluidConfig=i}else f(e)}}function d(){for(var e,n=[],i=Object.keys(I.vars.invisibleImages),o=0,r=i.length;r>o;o++)e=I.vars.invisibleImages[i[o]],D(e)&&"img"==e.nodeName.toLowerCase()&&(n.push(e),delete I.vars.invisibleImages[i[o]]);n.length&&O.run({images:n}),t.requestAnimationFrame(d)}function f(e){e.holderData.invisibleId||(I.vars.invisibleId+=1,I.vars.invisibleImages["i"+I.vars.invisibleId]=e,e.holderData.invisibleId=I.vars.invisibleId)}function h(e,t){return null==t?document.createElement(e):document.createElementNS(t,e)}function p(e,t){for(var n in t)e.setAttribute(n,t[n])}function g(e,t,n){var i,o;null==e?(e=h("svg",j),i=h("defs",j),o=h("style",j),p(o,{type:"text/css"}),i.appendChild(o),e.appendChild(i)):o=e.querySelector("style"),e.webkitMatchesSelector&&e.setAttribute("xmlns",j);for(var r=0;r=0;s--){var l=a.createProcessingInstruction("xml-stylesheet",'href="'+r[s]+'" rel="stylesheet"');a.insertBefore(l,a.firstChild)}var c=a.createProcessingInstruction("xml",'version="1.0" encoding="UTF-8" standalone="yes"');a.insertBefore(c,a.firstChild),a.removeChild(a.documentElement),o=i.serializeToString(a)}var u=i.serializeToString(e);return u=u.replace(/\&(\#[0-9]{2,}\;)/g,"&$1"),o+u}}function v(){return t.DOMParser?(new DOMParser).parseFromString(" ","application/xml"):void 0}function y(e){I.vars.debounceTimer||e.call(this),I.vars.debounceTimer&&t.clearTimeout(I.vars.debounceTimer),I.vars.debounceTimer=t.setTimeout(function(){I.vars.debounceTimer=null,e.call(this)},I.setup.debounce)}function b(){y(function(){c(null)})}var A=n(1),x=n(2),w=n(3),C=w.extend,T=w.cssProps,E=w.encodeHtmlEntity,k=w.decodeHtmlEntity,S=w.imageExists,N=w.getNodeArray,D=w.dimensionCheck,j="http://www.w3.org/2000/svg",$=8,L="2.6.0",O={version:L,addTheme:function(e,t){return null!=e&&null!=t&&(I.settings.themes[e]=t),delete I.vars.cache.themeKeys,this},addImage:function(e,t){var n=document.querySelectorAll(t);if(n.length)for(var i=0,o=n.length;o>i;i++){var r=h("img"),a={};a[I.vars.dataAttr]=e,p(r,a),n[i].appendChild(r)}return this},setResizeUpdate:function(e,t){e.holderData&&(e.holderData.resizeUpdate=!!t,e.holderData.resizeUpdate&&c(e))},run:function(e){e=e||{};var n={},a=C(I.settings,e);I.vars.preempted=!0,I.vars.dataAttr=a.dataAttr||I.vars.dataAttr,n.renderer=a.renderer?a.renderer:I.setup.renderer,-1===I.setup.renderers.join(",").indexOf(n.renderer)&&(n.renderer=I.setup.supportsSVG?"svg":I.setup.supportsCanvas?"canvas":"html");var s=N(a.images),l=N(a.bgnodes),c=N(a.stylenodes),u=N(a.objects);n.stylesheets=[],n.svgXMLStylesheet=!0,n.noFontFallback=!!a.noFontFallback&&a.noFontFallback;for(var d=0;d1){n.nodeValue="";for(var b=0;b=0?t:1)}function r(e){x?o(e):w.push(e)}null==document.readyState&&document.addEventListener&&(document.addEventListener("DOMContentLoaded",function e(){document.removeEventListener("DOMContentLoaded",e,!1),document.readyState="complete"},!1),document.readyState="loading");var a=e.document,s=a.documentElement,l="load",c=!1,u="on"+l,d="complete",f="readyState",h="attachEvent",p="detachEvent",g="addEventListener",m="DOMContentLoaded",v="onreadystatechange",y="removeEventListener",b=g in a,A=c,x=c,w=[];if(a[f]===d)o(t);else if(b)a[g](m,n,c),e[g](l,n,c);else{a[h](v,n),e[h](u,n);try{A=null==e.frameElement&&s}catch(e){}A&&A.doScroll&&function e(){if(!x){try{A.doScroll("left")}catch(t){return o(e,50)}i(),t()}}()}return r.version="1.4.0",r.isReady=function(){return x},r}(window)},function(e,t,n){var i=n(4),o=function(e){function t(e,t){for(var n in t)e[n]=t[n];return e}var n=1,o=i.defclass({constructor:function(e){n++,this.parent=null,this.children={},this.id=n,this.name="n"+n,null!=e&&(this.name=e),this.x=0,this.y=0,this.z=0,this.width=0,this.height=0},resize:function(e,t){null!=e&&(this.width=e),null!=t&&(this.height=t)},moveTo:function(e,t,n){this.x=null!=e?e:this.x,this.y=null!=t?t:this.y,this.z=null!=n?n:this.z},add:function(e){var t=e.name;if(null!=this.children[t])throw"SceneGraph: child with that name already exists: "+t;this.children[t]=e,e.parent=this}}),r=i(o,function(t){this.constructor=function(){t.constructor.call(this,"root"),this.properties=e}}),a=i(o,function(e){function n(n,i){if(e.constructor.call(this,n),this.properties={fill:"#000"},null!=i)t(this.properties,i);else if(null!=n&&"string"!=typeof n)throw"SceneGraph: invalid node name"}this.Group=i.extend(this,{constructor:n,type:"group"}),this.Rect=i.extend(this,{constructor:n,type:"rect"}),this.Text=i.extend(this,{constructor:function(e){n.call(this),this.properties.text=e},type:"text"})}),s=new r;return this.Shape=a,this.root=s,this};e.exports=o},function(e,t){(function(e){t.extend=function(e,t){var n={};for(var i in e)e.hasOwnProperty(i)&&(n[i]=e[i]);if(null!=t)for(var o in t)t.hasOwnProperty(o)&&(n[o]=t[o]);return n},t.cssProps=function(e){var t=[];for(var n in e)e.hasOwnProperty(n)&&t.push(n+":"+e[n]);return t.join(";")},t.encodeHtmlEntity=function(e){for(var t=[],n=0,i=e.length-1;i>=0;i--)n=e.charCodeAt(i),t.unshift(n>128?["",n,";"].join(""):e[i]);return t.join("")},t.getNodeArray=function(t){var n=null;return"string"==typeof t?n=document.querySelectorAll(t):e.NodeList&&t instanceof e.NodeList?n=t:e.Node&&t instanceof e.Node?n=[t]:e.HTMLCollection&&t instanceof e.HTMLCollection?n=t:t instanceof Array?n=t:null===t&&(n=[]),n},t.imageExists=function(e,t){var n=new Image;n.onerror=function(){t.call(this,!1)},n.onload=function(){t.call(this,!0)},n.src=e},t.decodeHtmlEntity=function(e){return e.replace(/(\d+);/g,function(e,t){return String.fromCharCode(t)})},t.dimensionCheck=function(e){var t={height:e.clientHeight,width:e.clientWidth};return!(!t.height||!t.width)&&t}}).call(t,function(){return this}())},function(e){var t=function(){},n=Array.prototype.slice,i=function(e,i){var o=t.prototype="function"==typeof e?e.prototype:e,r=new t,a=i.apply(r,n.call(arguments,2).concat(o));if("object"==typeof a)for(var s in a)r[s]=a[s];if(!r.hasOwnProperty("constructor"))return r;var l=r.constructor;return l.prototype=r,l};i.defclass=function(e){var t=e.constructor;return t.prototype=e,t},i.extend=function(e,t){return i(e,function(e){return this.uber=e,t})},e.exports=i}])}),function(e){"use strict";function t(e){return e.replace(/,/g,".").replace(/[^0-9\.]/g,"")}function n(e){return parseFloat(t(e))>=10}var i,o={bridge:null,version:"0.0.0",disabled:null,outdated:null,ready:null},r={},a=0,s={},l=0,c={},u=null,d=null,f=function(){var e,t,n,i,o="ZeroClipboard.swf"
+;if(document.currentScript&&(i=document.currentScript.src));else{var r=document.getElementsByTagName("script");if("readyState"in r[0])for(e=r.length;e--&&("interactive"!==r[e].readyState||!(i=r[e].src)););else if("loading"===document.readyState)i=r[r.length-1].src;else{for(e=r.length;e--;){if(!(n=r[e].src)){t=null;break}if(n=n.split("#")[0].split("?")[0],n=n.slice(0,n.lastIndexOf("/")+1),null==t)t=n;else if(t!==n){t=null;break}}null!==t&&(i=t)}}return i&&(i=i.split("#")[0].split("?")[0],o=i.slice(0,i.lastIndexOf("/")+1)+o),o}(),h=function(){var e=/\-([a-z])/g,t=function(e,t){return t.toUpperCase()};return function(n){return n.replace(e,t)}}(),p=function(t,n){var i,o;return e.getComputedStyle?i=e.getComputedStyle(t,null).getPropertyValue(n):(o=h(n),i=t.currentStyle?t.currentStyle[o]:t.style[o]),"cursor"!==n||i&&"auto"!==i||"a"!==t.tagName.toLowerCase()?i:"pointer"},g=function(t){t||(t=e.event);var n;this!==e?n=this:t.target?n=t.target:t.srcElement&&(n=t.srcElement),R.activate(n)},m=function(e,t,n){e&&1===e.nodeType&&(e.addEventListener?e.addEventListener(t,n,!1):e.attachEvent&&e.attachEvent("on"+t,n))},v=function(e,t,n){e&&1===e.nodeType&&(e.removeEventListener?e.removeEventListener(t,n,!1):e.detachEvent&&e.detachEvent("on"+t,n))},y=function(e,t){if(!e||1!==e.nodeType)return e;if(e.classList)return e.classList.contains(t)||e.classList.add(t),e;if(t&&"string"==typeof t){var n=(t||"").split(/\s+/);if(1===e.nodeType)if(e.className){for(var i=" "+e.className+" ",o=e.className,r=0,a=n.length;a>r;r++)i.indexOf(" "+n[r]+" ")<0&&(o+=" "+n[r]);e.className=o.replace(/^\s+|\s+$/g,"")}else e.className=t}return e},b=function(e,t){if(!e||1!==e.nodeType)return e;if(e.classList)return e.classList.contains(t)&&e.classList.remove(t),e;if(t&&"string"==typeof t||void 0===t){var n=(t||"").split(/\s+/);if(1===e.nodeType&&e.className)if(t){for(var i=(" "+e.className+" ").replace(/[\n\t]/g," "),o=0,r=n.length;r>o;o++)i=i.replace(" "+n[o]+" "," ");e.className=i.replace(/^\s+|\s+$/g,"")}else e.className=""}return e},A=function(){var e,t,n,i=1;return"function"==typeof document.body.getBoundingClientRect&&(e=document.body.getBoundingClientRect(),t=e.right-e.left,n=document.body.offsetWidth,i=Math.round(t/n*100)/100),i},x=function(t,n){var i={left:0,top:0,width:0,height:0,zIndex:S(n)-1};if(t.getBoundingClientRect){var o,r,a,s=t.getBoundingClientRect();"pageXOffset"in e&&"pageYOffset"in e?(o=e.pageXOffset,r=e.pageYOffset):(a=A(),o=Math.round(document.documentElement.scrollLeft/a),r=Math.round(document.documentElement.scrollTop/a));var l=document.documentElement.clientLeft||0,c=document.documentElement.clientTop||0;i.left=s.left+o-l,i.top=s.top+r-c,i.width="width"in s?s.width:s.right-s.left,i.height="height"in s?s.height:s.bottom-s.top}return i},w=function(e,t){return null==t||t&&!0===t.cacheBust&&!0===t.useNoCache?(-1===e.indexOf("?")?"?":"&")+"noCache="+(new Date).getTime():""},C=function(t){var n,i,o,r=[],a=[],s=[];if(t.trustedOrigins&&("string"==typeof t.trustedOrigins?a.push(t.trustedOrigins):"object"==typeof t.trustedOrigins&&"length"in t.trustedOrigins&&(a=a.concat(t.trustedOrigins))),t.trustedDomains&&("string"==typeof t.trustedDomains?a.push(t.trustedDomains):"object"==typeof t.trustedDomains&&"length"in t.trustedDomains&&(a=a.concat(t.trustedDomains))),a.length)for(n=0,i=a.length;i>n;n++)if(a.hasOwnProperty(n)&&a[n]&&"string"==typeof a[n]){if(!(o=j(a[n])))continue;if("*"===o){s=[o];break}s.push.apply(s,[o,"//"+o,e.location.protocol+"//"+o])}return s.length&&r.push("trustedOrigins="+encodeURIComponent(s.join(","))),"string"==typeof t.jsModuleId&&t.jsModuleId&&r.push("jsModuleId="+encodeURIComponent(t.jsModuleId)),r.join("&")},T=function(e,t,n){if("function"==typeof t.indexOf)return t.indexOf(e,n);var i,o=t.length;for(void 0===n?n=0:0>n&&(n=o+n),i=n;o>i;i++)if(t.hasOwnProperty(i)&&t[i]===e)return i;return-1},E=function(e){if("string"==typeof e)throw new TypeError("ZeroClipboard doesn't accept query strings.");return e.length?e:[e]},k=function(t,n,i,o){o?e.setTimeout(function(){t.apply(n,i)},0):t.apply(n,i)},S=function(e){var t,n;return e&&("number"==typeof e&&e>0?t=e:"string"==typeof e&&(n=parseInt(e,10))&&!isNaN(n)&&n>0&&(t=n)),t||("number"==typeof F.zIndex&&F.zIndex>0?t=F.zIndex:"string"==typeof F.zIndex&&(n=parseInt(F.zIndex,10))&&!isNaN(n)&&n>0&&(t=n)),t||0},N=function(e,t){if(e&&!1!==t&&"undefined"!=typeof console&&console&&(console.warn||console.log)){var n="`"+e+"` is deprecated. See docs for more info:\n https://github.com/zeroclipboard/zeroclipboard/blob/master/docs/instructions.md#deprecations";console.warn?console.warn(n):console.log(n)}},D=function(){var e,t,n,i,o,r=arguments[0]||{};for(e=1,t=arguments.length;t>e;e++)if(null!=(n=arguments[e]))for(i in n)if(n.hasOwnProperty(i)){if(r[i],o=n[i],r===o)continue;void 0!==o&&(r[i]=o)}return r},j=function(e){if(null==e||""===e)return null;if(""===(e=e.replace(/^\s+|\s+$/g,"")))return null;var t=e.indexOf("//");e=-1===t?e:e.slice(t+2);var n=e.indexOf("/");return e=-1===n?e:-1===t||0===n?null:e.slice(0,n),e&&".swf"===e.slice(-4).toLowerCase()?null:e||null},$=function(){var e=function(e,t){var n,i,o;if(null!=e&&"*"!==t[0]&&("string"==typeof e&&(e=[e]),"object"==typeof e&&"length"in e))for(n=0,i=e.length;i>n;n++)if(e.hasOwnProperty(n)&&(o=j(e[n]))){if("*"===o){t.length=0,t.push("*");break}-1===T(o,t)&&t.push(o)}},t={always:"always",samedomain:"sameDomain",never:"never"};return function(n,i){var o,r=i.allowScriptAccess;if("string"==typeof r&&(o=r.toLowerCase())&&/^always|samedomain|never$/.test(o))return t[o];var a=j(i.moviePath);null===a&&(a=n);var s=[];e(i.trustedOrigins,s),e(i.trustedDomains,s);var l=s.length;if(l>0){if(1===l&&"*"===s[0])return"always";if(-1!==T(n,s))return 1===l&&n===a?"sameDomain":"always"}return"never"}}(),L=function(e){if(null==e)return[];if(Object.keys)return Object.keys(e);var t=[];for(var n in e)e.hasOwnProperty(n)&&t.push(n);return t},O=function(e){if(e)for(var t in e)e.hasOwnProperty(t)&&delete e[t];return e},I=function(){try{return document.activeElement}catch(e){}return null},B=function(){var e=!1;if("boolean"==typeof o.disabled)e=!1===o.disabled;else{if("function"==typeof ActiveXObject)try{new ActiveXObject("ShockwaveFlash.ShockwaveFlash")&&(e=!0)}catch(e){}!e&&navigator.mimeTypes["application/x-shockwave-flash"]&&(e=!0)}return e},R=function(e,t){return this instanceof R?(this.id=""+a++,s[this.id]={instance:this,elements:[],handlers:{}},e&&this.clip(e),void 0!==t&&(N("new ZeroClipboard(elements, options)",F.debug),R.config(t)),this.options=R.config(),"boolean"!=typeof o.disabled&&(o.disabled=!B()),void(!1===o.disabled&&!0!==o.outdated&&null===o.bridge&&(o.outdated=!1,o.ready=!1,P()))):new R(e,t)};R.prototype.setText=function(e){return e&&""!==e&&(r["text/plain"]=e,!0===o.ready&&o.bridge&&"function"==typeof o.bridge.setText?o.bridge.setText(e):o.ready=!1),this},R.prototype.setSize=function(e,t){return!0===o.ready&&o.bridge&&"function"==typeof o.bridge.setSize?o.bridge.setSize(e,t):o.ready=!1,this};var H=function(e){!0===o.ready&&o.bridge&&"function"==typeof o.bridge.setHandCursor?o.bridge.setHandCursor(e):o.ready=!1};R.prototype.destroy=function(){this.unclip(),this.off(),delete s[this.id]};var M=function(){var e,t,n,i=[],o=L(s);for(e=0,t=o.length;t>e;e++)(n=s[o[e]].instance)&&n instanceof R&&i.push(n);return i};R.version="1.3.5";var F={swfPath:f,trustedDomains:e.location.host?[e.location.host]:[],cacheBust:!0,forceHandCursor:!1,zIndex:999999999,debug:!0,title:null,autoActivate:!0};R.config=function(e){if("object"==typeof e&&null!==e&&D(F,e),"string"!=typeof e||!e){var t={};for(var n in F)F.hasOwnProperty(n)&&(t[n]="object"==typeof F[n]&&null!==F[n]?"length"in F[n]?F[n].slice(0):D({},F[n]):F[n]);return t}return F.hasOwnProperty(e)?F[e]:void 0},R.destroy=function(){R.deactivate();for(var e in s)if(s.hasOwnProperty(e)&&s[e]){var t=s[e].instance;t&&"function"==typeof t.destroy&&t.destroy()}var n=z(o.bridge);n&&n.parentNode&&(n.parentNode.removeChild(n),o.ready=null,o.bridge=null)},R.activate=function(e){i&&(b(i,F.hoverClass),b(i,F.activeClass)),i=e,y(e,F.hoverClass),_();var t=F.title||e.getAttribute("title");if(t){var n=z(o.bridge);n&&n.setAttribute("title",t)}var r=!0===F.forceHandCursor||"pointer"===p(e,"cursor");H(r)},R.deactivate=function(){var e=z(o.bridge);e&&(e.style.left="0px",e.style.top="-9999px",e.removeAttribute("title")),i&&(b(i,F.hoverClass),b(i,F.activeClass),i=null)};var P=function(){var t,n,i=document.getElementById("global-zeroclipboard-html-bridge");if(!i){var r=R.config();r.jsModuleId="string"==typeof u&&u||"string"==typeof d&&d||null;var a=$(e.location.host,F),s=C(r),l=F.moviePath+w(F.moviePath,F),c=' ';i=document.createElement("div"),i.id="global-zeroclipboard-html-bridge",i.setAttribute("class","global-zeroclipboard-container"),i.style.position="absolute",i.style.left="0px",i.style.top="-9999px",i.style.width="15px",i.style.height="15px",i.style.zIndex=""+S(F.zIndex),document.body.appendChild(i),i.innerHTML=c}t=document["global-zeroclipboard-flash-bridge"],t&&(n=t.length)&&(t=t[n-1]),o.bridge=t||i.children[0].lastElementChild},z=function(e){for(var t=/^OBJECT|EMBED$/,n=e&&e.parentNode;n&&t.test(n.nodeName)&&n.parentNode;)n=n.parentNode;return n||null},_=function(){if(i){var e=x(i,F.zIndex),t=z(o.bridge);t&&(t.style.top=e.top+"px",t.style.left=e.left+"px",t.style.width=e.width+"px",t.style.height=e.height+"px",t.style.zIndex=e.zIndex+1),!0===o.ready&&o.bridge&&"function"==typeof o.bridge.setSize?o.bridge.setSize(e.width,e.height):o.ready=!1}return this};R.prototype.on=function(e,t){var n,i,r,a={},l=s[this.id]&&s[this.id].handlers;if("string"==typeof e&&e)r=e.toLowerCase().split(/\s+/);else if("object"==typeof e&&e&&void 0===t)for(n in e)e.hasOwnProperty(n)&&"string"==typeof n&&n&&"function"==typeof e[n]&&this.on(n,e[n]);if(r&&r.length){for(n=0,i=r.length;i>n;n++)e=r[n].replace(/^on/,""),a[e]=!0,l[e]||(l[e]=[]),l[e].push(t);a.noflash&&o.disabled&&U.call(this,"noflash",{}),a.wrongflash&&o.outdated&&U.call(this,"wrongflash",{flashVersion:o.version}),a.load&&o.ready&&U.call(this,"load",{flashVersion:o.version})}return this},R.prototype.off=function(e,t){var n,i,o,r,a,l=s[this.id]&&s[this.id].handlers;if(0===arguments.length)r=L(l);else if("string"==typeof e&&e)r=e.split(/\s+/);else if("object"==typeof e&&e&&void 0===t)for(n in e)e.hasOwnProperty(n)&&"string"==typeof n&&n&&"function"==typeof e[n]&&this.off(n,e[n]);if(r&&r.length)for(n=0,i=r.length;i>n;n++)if(e=r[n].toLowerCase().replace(/^on/,""),(a=l[e])&&a.length)if(t)for(o=T(t,a);-1!==o;)a.splice(o,1),o=T(t,a,o);else l[e].length=0;return this},R.prototype.handlers=function(e){var t,n=null,i=s[this.id]&&s[this.id].handlers;if(i){if("string"==typeof e&&e)return i[e]?i[e].slice(0):null;n={};for(t in i)i.hasOwnProperty(t)&&i[t]&&(n[t]=i[t].slice(0))}return n};var q=function(t,n,i,o){var r=s[this.id]&&s[this.id].handlers[t];if(r&&r.length){var a,l,c,u=n||this;for(a=0,l=r.length;l>a;a++)c=r[a],n=u,"string"==typeof c&&"function"==typeof e[c]&&(c=e[c]),"object"==typeof c&&c&&"function"==typeof c.handleEvent&&(n=c,c=c.handleEvent),"function"==typeof c&&k(c,n,i,o)}return this};R.prototype.clip=function(e){e=E(e);for(var t=0;ti;i++)(r=s[n[i]].instance)&&r instanceof R&&a.push(r);return a};F.hoverClass="zeroclipboard-is-hover",F.activeClass="zeroclipboard-is-active",F.trustedOrigins=null,F.allowScriptAccess=null,F.useNoCache=!0,F.moviePath="ZeroClipboard.swf",R.detectFlashSupport=function(){return N("ZeroClipboard.detectFlashSupport",F.debug),B()},R.dispatch=function(e,t){if("string"==typeof e&&e){var n=e.toLowerCase().replace(/^on/,"");if(n)for(var o=i&&!0===F.autoActivate?W(i):M(),r=0,a=o.length;a>r;r++)U.call(o[r],n,t)}},R.prototype.setHandCursor=function(e){return N("ZeroClipboard.prototype.setHandCursor",F.debug),e="boolean"==typeof e?e:!!e,H(e),F.forceHandCursor=e,this},R.prototype.reposition=function(){return N("ZeroClipboard.prototype.reposition",F.debug),_()},R.prototype.receiveEvent=function(e,t){if(N("ZeroClipboard.prototype.receiveEvent",F.debug),"string"==typeof e&&e){var n=e.toLowerCase().replace(/^on/,"");n&&U.call(this,n,t)}},R.prototype.setCurrent=function(e){return N("ZeroClipboard.prototype.setCurrent",F.debug),R.activate(e),this},R.prototype.resetBridge=function(){return N("ZeroClipboard.prototype.resetBridge",F.debug),R.deactivate(),this},R.prototype.setTitle=function(e){if(N("ZeroClipboard.prototype.setTitle",F.debug),e=e||F.title||i&&i.getAttribute("title")){var t=z(o.bridge);t&&t.setAttribute("title",e)}return this},R.setDefaults=function(e){N("ZeroClipboard.setDefaults",F.debug),R.config(e)},R.prototype.addEventListener=function(e,t){return N("ZeroClipboard.prototype.addEventListener",F.debug),this.on(e,t)},R.prototype.removeEventListener=function(e,t){return N("ZeroClipboard.prototype.removeEventListener",F.debug),this.off(e,t)},R.prototype.ready=function(){return N("ZeroClipboard.prototype.ready",F.debug),!0===o.ready};var U=function(e,a){e=e.toLowerCase().replace(/^on/,"");var s=a&&a.flashVersion&&t(a.flashVersion)||null,l=i,c=!0;switch(e){case"load":if(s){if(!n(s))return void U.call(this,"onWrongFlash",{flashVersion:s});o.outdated=!1,o.ready=!0,o.version=s}break;case"wrongflash":s&&!n(s)&&(o.outdated=!0,o.ready=!1,o.version=s);break;case"mouseover":y(l,F.hoverClass);break;case"mouseout":!0===F.autoActivate&&R.deactivate();break;case"mousedown":y(l,F.activeClass);break;case"mouseup":b(l,F.activeClass);break;case"datarequested":if(l){var u=l.getAttribute("data-clipboard-target"),d=u?document.getElementById(u):null;if(d){var f=d.value||d.textContent||d.innerText;f&&this.setText(f)}else{var h=l.getAttribute("data-clipboard-text");h&&this.setText(h)}}c=!1;break;case"complete":O(r),l&&l!==I()&&l.focus&&l.focus()}return q.call(this,e,l,[this,a],c)};"function"==typeof define&&define.amd?define(["require","exports","module"],function(e,t,n){return u=n&&n.id||null,R}):"object"==typeof module&&module&&"object"==typeof module.exports&&module.exports&&"function"==typeof e.require?(d=module.id||null,module.exports=R):e.ZeroClipboard=R}(function(){return this}());var anchors=new AnchorJS;!function(e){"use strict";e(function(){var t=e(window),n=e(document.body);n.scrollspy({target:".docs-sidebar"}),t.on("load",function(){n.scrollspy("refresh")}),e(".docs-container [href=#]").click(function(e){e.preventDefault()}),setTimeout(function(){var t=e(".docs-sidebar");t.affix({offset:{top:function(){var n=t.offset().top,i=parseInt(t.children(0).css("margin-top"),10),o=e(".docs-nav").height();return this.top=n-o-i},bottom:function(){return this.bottom=e(".docs-footer").outerHeight(!0)}}})},100),setTimeout(function(){e(".bs-top").affix()},100),function(){var t=e("#bs-theme-stylesheet"),n=e(".docs-theme-toggle"),i=function(){t.attr("href",t.attr("data-href")),n.text("禁用主题预览"),localStorage.setItem("previewTheme",!0)};localStorage.getItem("previewTheme")&&i(),n.click(function(){var e=t.attr("href");e&&0!==e.indexOf("data")?(t.attr("href",""),n.text("主题预览"),localStorage.removeItem("previewTheme")):i()})}(),e(".tooltip-demo").tooltip({selector:'[data-toggle="tooltip"]',container:"body"}),e(".popover-demo").popover({selector:'[data-toggle="popover"]',container:"body"}),e(".tooltip-test").tooltip(),e(".popover-test").popover(),e(".docs-popover").popover(),e("#loading-example-btn").on("click",function(){var t=e(this);t.button("loading"),setTimeout(function(){t.button("reset")},3e3)}),e("#exampleModal").on("show.bs.modal",function(t){var n=e(t.relatedTarget),i=n.data("whatever"),o=e(this);o.find(".modal-title").text("New message to "+i),o.find(".modal-body input").val(i)}),e(".docs-activate-animated-progressbar").on("click",function(){e(this).siblings(".progress").find(".progress-bar-striped").toggleClass("active")}),ZeroClipboard.config({moviePath:"source/ZeroClipboard.swf",hoverClass:"btn-clipboard-hover"}),e(".highlight").each(function(){e(this).before('复制
')});var i=new ZeroClipboard(e(".btn-clipboard")),o=e("#global-zeroclipboard-html-bridge");i.on("load",function(){o.data("placement","top").attr("title","复制到剪贴板").tooltip(),i.on("dataRequested",function(t){var n=e(this).parent().nextAll(".highlight").first();t.setText(n.text())}),i.on("complete",function(){o.attr("title","复制成功!").tooltip("fixTitle").tooltip("show").attr("title","复制到剪贴板").tooltip("fixTitle")})}),i.on("noflash wrongflash",function(){e(".zero-clipboard").remove(),ZeroClipboard.destroy()})})}(jQuery),function(){"use strict";anchors.options.placement="left",anchors.add(".docs-section > h1, .docs-section > h2, .docs-section > h3, .docs-section > h4, .docs-section > h5")}(),function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var t;t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,t.Clipboard=e()}}(function(){var e;return function e(t,n,i){function o(a,s){if(!n[a]){if(!t[a]){var l="function"==typeof require&&require;if(!s&&l)return l(a,!0);if(r)return r(a,!0);var c=new Error("Cannot find module '"+a+"'");throw c.code="MODULE_NOT_FOUND",c}var u=n[a]={exports:{}};t[a][0].call(u.exports,function(e){return o(t[a][1][e]||e)},u,u.exports,e,t,n,i)}return n[a].exports}for(var r="function"==typeof require&&require,a=0;a0&&void 0!==arguments[0]?arguments[0]:{};this.action=e.action,this.container=e.container,this.emitter=e.emitter,this.target=e.target,this.text=e.text,this.trigger=e.trigger,this.selectedText=""}},{key:"initSelection",value:function(){this.text?this.selectFake():this.target&&this.selectTarget()}},{key:"selectFake",value:function(){var e=this,t="rtl"==document.documentElement.getAttribute("dir");this.removeFake(),this.fakeHandlerCallback=function(){return e.removeFake()},this.fakeHandler=this.container.addEventListener("click",this.fakeHandlerCallback)||!0,this.fakeElem=document.createElement("textarea"),this.fakeElem.style.fontSize="12pt",this.fakeElem.style.border="0",this.fakeElem.style.padding="0",this.fakeElem.style.margin="0",this.fakeElem.style.position="absolute",this.fakeElem.style[t?"right":"left"]="-9999px";var n=window.pageYOffset||document.documentElement.scrollTop;this.fakeElem.style.top=n+"px",this.fakeElem.setAttribute("readonly",""),this.fakeElem.value=this.text,this.container.appendChild(this.fakeElem),this.selectedText=(0,i.default)(this.fakeElem),this.copyText()}},{key:"removeFake",value:function(){this.fakeHandler&&(this.container.removeEventListener("click",this.fakeHandlerCallback),this.fakeHandler=null,this.fakeHandlerCallback=null),this.fakeElem&&(this.container.removeChild(this.fakeElem),this.fakeElem=null)}},{key:"selectTarget",value:function(){this.selectedText=(0,i.default)(this.target),this.copyText()}},{key:"copyText",value:function(){var e=void 0;try{e=document.execCommand(this.action)}catch(t){e=!1}this.handleResult(e)}},{key:"handleResult",value:function(e){this.emitter.emit(e?"success":"error",{action:this.action,text:this.selectedText,trigger:this.trigger,clearSelection:this.clearSelection.bind(this)})}},{key:"clearSelection",value:function(){this.trigger&&this.trigger.focus(),window.getSelection().removeAllRanges()}},{key:"destroy",value:function(){this.removeFake()}},{key:"action",set:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"copy";if(this._action=e,"copy"!==this._action&&"cut"!==this._action)throw new Error('Invalid "action" value, use either "copy" or "cut"')},get:function(){return this._action}},{key:"target",set:function(e){if(void 0!==e){if(!e||"object"!==(void 0===e?"undefined":o(e))||1!==e.nodeType)throw new Error('Invalid "target" value, use a valid Element');if("copy"===this.action&&e.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if("cut"===this.action&&(e.hasAttribute("readonly")||e.hasAttribute("disabled")))throw new Error('Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes');this._target=e}},get:function(){return this._target}}]),e}();e.exports=a})},{select:5}],8:[function(t,n,i){!function(o,r){if("function"==typeof e&&e.amd)e(["module","./clipboard-action","tiny-emitter","good-listener"],r);else if(void 0!==i)r(n,t("./clipboard-action"),t("tiny-emitter"),t("good-listener"));else{var a={exports:{}};r(a,o.clipboardAction,o.tinyEmitter,o.goodListener),o.clipboard=a.exports}}(this,function(e,t,n,i){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function l(e,t){var n="data-clipboard-"+e;if(t.hasAttribute(n))return t.getAttribute(n)}var c=o(t),u=o(n),d=o(i),f="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},h=function(){function e(e,t){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{};this.action="function"==typeof e.action?e.action:this.defaultAction,this.target="function"==typeof e.target?e.target:this.defaultTarget,this.text="function"==typeof e.text?e.text:this.defaultText,this.container="object"===f(e.container)?e.container:document.body}},{key:"listenClick",value:function(e){var t=this;this.listener=(0,d.default)(e,"click",function(e){return t.onClick(e)})}},{key:"onClick",value:function(e){var t=e.delegateTarget||e.currentTarget;this.clipboardAction&&(this.clipboardAction=null),this.clipboardAction=new c.default({action:this.action(t),target:this.target(t),text:this.text(t),container:this.container,trigger:t,emitter:this})}},{key:"defaultAction",value:function(e){return l("action",e)}},{key:"defaultTarget",value:function(e){var t=l("target",e);if(t)return document.querySelector(t)}},{key:"defaultText",value:function(e){return l("text",e)}},{key:"destroy",value:function(){this.listener.destroy(),this.clipboardAction&&(this.clipboardAction.destroy(),this.clipboardAction=null)}}],[{key:"isSupported",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:["copy","cut"],t="string"==typeof e?[e]:e,n=!!document.queryCommandSupported;return t.forEach(function(e){n=n&&!!document.queryCommandSupported(e)}),n}}]),t}(u.default);e.exports=p})},{"./clipboard-action":7,"good-listener":4,"tiny-emitter":6}]},{},[8])(8)});
\ No newline at end of file
diff --git a/static/doc/static/server/controllers/group.js.html b/static/doc/static/server/controllers/group.js.html
index 8ef58e9b..3eb5f6f2 100644
--- a/static/doc/static/server/controllers/group.js.html
+++ b/static/doc/static/server/controllers/group.js.html
@@ -30,12 +30,14 @@ import yapi from '../yapi.js';
import baseController from './base.js';
import projectModel from '../models/project.js';
import userModel from '../models/user.js';
+import interfaceModel from '../models/interface.js';
+import interfaceColModel from '../models/interfaceCol.js';
+import interfaceCaseModel from '../models/interfaceCase.js';
class groupController extends baseController {
constructor(ctx) {
super(ctx);
}
-
/**
* 添加项目分组
* @interface /group/get
@@ -152,6 +154,7 @@ class groupController extends baseController {
* @foldnumber 10
* @param {String} id 项目分组id
* @param {String} member_uid 项目分组成员uid
+ * @param {String} role 成员角色,owner or dev
* @returns {Object}
* @example
*/
@@ -169,11 +172,13 @@ class groupController extends baseController {
return ctx.body = yapi.commons.resReturn(null, 400, '分组id不能为空');
}
+ params.role = params.role === 'owner' ? 'owner' : 'dev';
+
var check = await groupInst.checkMemberRepeat(params.id, params.member_uid);
if (check > 0) {
return ctx.body = yapi.commons.resReturn(null, 400, '成员已存在');
}
- let groupUserdata = await this.getUserdata(params.member_uid);
+ let groupUserdata = await this.getUserdata(params.member_uid, params.role);
if (groupUserdata === null) {
return ctx.body = yapi.commons.resReturn(null, 400, '组长uid不存在')
}
@@ -328,18 +333,21 @@ class groupController extends baseController {
try {
let groupInst = yapi.getInst(groupModel);
let projectInst = yapi.getInst(projectModel);
+ let interfaceInst = yapi.getInst(interfaceModel);
+ let interfaceColInst = yapi.getInst(interfaceColModel);
+ let interfaceCaseInst = yapi.getInst(interfaceCaseModel);
let id = ctx.request.body.id;
if (!id) {
return ctx.body = yapi.commons.resReturn(null, 402, 'id不能为空');
}
-
- let count = await projectInst.countByGroupId(id);
-
- if (count > 0) {
- return ctx.body = yapi.commons.resReturn(null, 403, '请先删除该分组下的项目');
- }
-
+ let projectList =await projectInst.list(id, true);
+ projectList.forEach(async (p) => {
+ await interfaceInst.delByProjectId(p._id)
+ await interfaceCaseInst.delByProjectId(p._id)
+ await interfaceColInst.delByProjectId(p._id)
+ })
+ await projectInst.delByGroupid(id);
let result = await groupInst.del(id);
ctx.body = yapi.commons.resReturn(result);
} catch (err) {
diff --git a/static/doc/static/server/controllers/interface.js.html b/static/doc/static/server/controllers/interface.js.html
index dd858e91..b9904a83 100644
--- a/static/doc/static/server/controllers/interface.js.html
+++ b/static/doc/static/server/controllers/interface.js.html
@@ -29,6 +29,7 @@
import baseController from './base.js';
import yapi from '../yapi.js';
+
class interfaceController extends baseController {
constructor(ctx) {
super(ctx);
@@ -118,8 +119,11 @@ class interfaceController extends baseController {
if (params.req_body_form) {
data.req_body_form = params.req_body_form;
}
- if (params.req_params) {
+ if (params.req_params && Array.isArray(params.req_params) && params.req_params.length > 0) {
+ data.type = 'var'
data.req_params = params.req_params;
+ } else {
+ data.type = 'static'
}
if (params.req_body_other) {
data.req_body_other = params.req_body_other;
@@ -263,9 +267,13 @@ class interfaceController extends baseController {
if (params.req_body_form) {
data.req_body_form = params.req_body_form;
}
- if (params.req_params) {
+ if (params.req_params && Array.isArray(params.req_params) && params.req_params.length > 0) {
+ data.type = 'var'
data.req_params = params.req_params;
+ } else {
+ data.type = 'static'
}
+
if (params.req_query) {
data.req_query = params.req_query;
}
@@ -323,6 +331,21 @@ class interfaceController extends baseController {
ctx.body = yapi.commons.resReturn(null, 402, err.message);
}
}
+
+ async solveConflict(ctx) {
+ let id = parseInt(ctx.query.id, 10);
+ if(!id) return ctx.websocket.send("id 参数有误");
+
+ ctx.websocket.send('Hello World');
+ ctx.websocket.on('message', function (message) {
+ // do something with the message from client
+ console.log(message);
+ });
+
+ ctx.websocket.on('close', function(){
+ console.log('websocket: close')
+ })
+ }
}
module.exports = interfaceController;
diff --git a/static/doc/static/server/controllers/log.js.html b/static/doc/static/server/controllers/log.js.html
index 5a0d2b5f..4ab0f202 100644
--- a/static/doc/static/server/controllers/log.js.html
+++ b/static/doc/static/server/controllers/log.js.html
@@ -35,22 +35,6 @@ class logController extends baseController {
super(ctx);
this.Model = yapi.getInst(logModel);
this.groupModel = yapi.getInst(groupModel);
- try{
- // var res = this.Model.save({
- // uid: 107,
- // typeid: 21,
- // type: 'project',
- // username: '小明明宝宝',
- // content: '小明应该修改了的项目宝宝',
- // time: yapi.commons.time()
- // });
- // var res = this.Model.del(107);
- // ctx.body = yapi.commons.resReturn(null, 200,res);
- }catch(err){
- // ctx.body = yapi.commons.resReturn(null, 402, err.message);
- }
-
-
}
/**
diff --git a/static/doc/static/server/controllers/project.js.html b/static/doc/static/server/controllers/project.js.html
index c2dd00a3..4b75ba50 100644
--- a/static/doc/static/server/controllers/project.js.html
+++ b/static/doc/static/server/controllers/project.js.html
@@ -84,7 +84,9 @@ class projectController extends baseController {
name: 'string',
basepath: 'string',
group_id: 'number',
- desc: 'string'
+ desc: 'string',
+ color: 'string',
+ icon: 'string'
});
if (await this.checkAuth(params.group_id, 'group', 'edit') !== true) {
@@ -119,6 +121,8 @@ class projectController extends baseController {
project_type: params.project_type || 'private',
uid: this.getUid(),
group_id: params.group_id,
+ icon: params.icon,
+ color: params.color,
add_time: yapi.commons.time(),
up_time: yapi.commons.time()
};
@@ -126,12 +130,14 @@ class projectController extends baseController {
try {
let result = await this.Model.save(data);
let username = this.getUsername();
- await this.logModel.save({
+ yapi.commons.saveLog({
content: `用户${username}添加了项目${params.name}`,
type: 'project',
uid: this.getUid(),
username: username,
- typeid: params.group_id
+ typeid: params.group_id,
+ color: params.color,
+ icon: params.icon
});
ctx.body = yapi.commons.resReturn(result);
} catch (e) {
@@ -140,7 +146,7 @@ class projectController extends baseController {
}
/**
- * 添加项目
+ * 添加项目成员
* @interface /project/add_member
* @method POST
* @category project
@@ -168,7 +174,9 @@ class projectController extends baseController {
return ctx.body = yapi.commons.resReturn(null, 400, '项目成员已存在');
}
- let userdata = await this.getUserdata(params.member_uid);
+ params.role = params.role === 'owner' ? 'owner' : 'dev';
+
+ let userdata = await this.getUserdata(params.member_uid, params.role);
if(userdata === null){
return ctx.body = yapi.commons.resReturn(null, 400, '成员uid不存在')
}
@@ -177,12 +185,15 @@ class projectController extends baseController {
try {
let result = await this.Model.addMember(params.id, userdata);
let username = this.getUsername();
- await this.logModel.save({
+ let project = await this.Model.get(params.id);
+ yapi.commons.saveLog({
content: `用户${username}添加了项目成员${userdata.username}`,
type: 'project',
uid: this.getUid(),
username: username,
- typeid: params.id
+ typeid: params.id,
+ color: project.color,
+ icon: project.icon
});
ctx.body = yapi.commons.resReturn(result);
} catch (e) {
@@ -191,7 +202,7 @@ class projectController extends baseController {
}
/**
- * 添加项目
+ * 删除项目成员
* @interface /project/del_member
* @method POST
* @category project
@@ -223,17 +234,16 @@ class projectController extends baseController {
let result = await this.Model.delMember(params.id, params.member_uid);
let username = this.getUsername();
let project = await this.Model.get(params.id);
- for(let i in project.members){
- if(i.uid === params.member_uid){
- await this.logModel.save({
- content: `用户${username}删除了项目${project.name}中的成员${i.username}`,
- type: 'project',
- uid: this.getUid(),
- username: username,
- typeid: params.id
- });
- }
- }
+ let member = await yapi.getInst(userModel).findById(params.member_uid);
+ yapi.commons.saveLog({
+ content: `用户${username}删除了项目${project.name}中的成员${member.username}`,
+ type: 'project',
+ uid: this.getUid(),
+ username: username,
+ typeid: params.id,
+ color: project.color,
+ icon: project.icon
+ });
ctx.body = yapi.commons.resReturn(result);
} catch (e) {
ctx.body = yapi.commons.resReturn(null, 402, e.message);
@@ -282,7 +292,7 @@ class projectController extends baseController {
}
/**
- * 添加项目
+ * 获取项目信息
* @interface /project/get
* @method GET
* @category project
@@ -365,15 +375,18 @@ class projectController extends baseController {
if (!id) {
return ctx.body = yapi.commons.resReturn(null, 400, '项目id不能为空');
}
- let interfaceInst = yapi.getInst(interfaceModel);
- let count = await interfaceInst.countByProjectId(id);
- if (count > 0) {
- return ctx.body = yapi.commons.resReturn(null, 400, '请先删除该项目下所有接口');
- }
if (await this.checkAuth(id, 'project', 'danger') !== true) {
return ctx.body = yapi.commons.resReturn(null, 405, '没有权限');
}
+
+ let interfaceInst = yapi.getInst(interfaceModel);
+ let interfaceColInst = yapi.getInst(interfaceColModel);
+ let interfaceCaseInst = yapi.getInst(interfaceCaseModel);
+ await interfaceInst.delByProjectId(id)
+ await interfaceCaseInst.delByProjectId(id)
+ await interfaceColInst.delByProjectId(id)
+
let result = await this.Model.del(id);
ctx.body = yapi.commons.resReturn(result);
} catch (err) {
@@ -405,18 +418,16 @@ class projectController extends baseController {
let username = this.getUsername();
let project = await this.Model.get(params.id);
- for(let i in project.members){
- if(i.uid === params.member_uid){
- await this.logModel.save({
- content: `用户${username}修改了项目${project.name}中成员${i.username}的角色为${params.role}`,
- type: 'project',
- uid: this.getUid(),
- username: username,
- typeid: params.id
- });
- }
- }
-
+ let member = await yapi.getInst(userModel).findByUids(params.member_uid);
+ yapi.commons.saveLog({
+ content: `用户${username}修改了项目${project.name}中成员${member.username}的角色为${params.role}`,
+ type: 'project',
+ uid: this.getUid(),
+ username: username,
+ typeid: params.id,
+ color: project.color,
+ icon: project.icon
+ });
ctx.body = yapi.commons.resReturn(result);
} catch (e) {
ctx.body = yapi.commons.resReturn(null, 402, e.message);
@@ -449,7 +460,9 @@ class projectController extends baseController {
name: 'string',
basepath: 'string',
group_id: 'number',
- desc: 'string'
+ desc: 'string',
+ icon: 'string',
+ color: 'string'
});
if (!id) {
return ctx.body = yapi.commons.resReturn(null, 405, '项目id不能为空');
@@ -486,18 +499,20 @@ class projectController extends baseController {
data.basepath = params.basepath;
}
if (params.env) data.env = params.env;
-
+ if(params.color) data.color = params.color;
+ if(params.icon) data.icon = params.icon;
let result = await this.Model.up(id, data);
let username = this.getUsername();
- await this.logModel.save({
- content: `用户${username}更新了项目${params.name}`,
+ yapi.commons.saveLog({
+ content: `用户${username}更新了项目${projectData.name}`,
type: 'project',
uid: this.getUid(),
username: username,
- typeid: id
+ typeid: id,
+ icon: params.icon,
+ color: params.color
});
-
ctx.body = yapi.commons.resReturn(result);
} catch (e) {
ctx.body = yapi.commons.resReturn(null, 402, e.message);