Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
D
django-rest-framework
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
edx
django-rest-framework
Commits
7f681d72
Commit
7f681d72
authored
Sep 07, 2012
by
Alec Perkins
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[docs] Update jQuery to 1.8.1
parent
aabb26e5
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
4 additions
and
6 deletions
+4
-6
docs/static/js/jquery-1.8.1-min.js
+3
-0
docs/static/js/jquery.js
+0
-5
docs/template.html
+1
-1
No files found.
docs/static/js/jquery-1.8.1-min.js
0 → 100644
View file @
7f681d72
/*! jQuery v@1.8.1 jquery.com | jquery.org/license */
(
function
(
a
,
b
){
function
G
(
a
){
var
b
=
F
[
a
]
=
{};
return
p
.
each
(
a
.
split
(
s
),
function
(
a
,
c
){
b
[
c
]
=!
0
}),
b
}
function
J
(
a
,
c
,
d
){
if
(
d
===
b
&&
a
.
nodeType
===
1
){
var
e
=
"data-"
+
c
.
replace
(
I
,
"-$1"
).
toLowerCase
();
d
=
a
.
getAttribute
(
e
);
if
(
typeof
d
==
"string"
){
try
{
d
=
d
===
"true"
?
!
0
:
d
===
"false"
?
!
1
:
d
===
"null"
?
null
:
+
d
+
""
===
d
?
+
d
:
H
.
test
(
d
)?
p
.
parseJSON
(
d
):
d
}
catch
(
f
){}
p
.
data
(
a
,
c
,
d
)}
else
d
=
b
}
return
d
}
function
K
(
a
){
var
b
;
for
(
b
in
a
){
if
(
b
===
"data"
&&
p
.
isEmptyObject
(
a
[
b
]))
continue
;
if
(
b
!==
"toJSON"
)
return
!
1
}
return
!
0
}
function
ba
(){
return
!
1
}
function
bb
(){
return
!
0
}
function
bh
(
a
){
return
!
a
||!
a
.
parentNode
||
a
.
parentNode
.
nodeType
===
11
}
function
bi
(
a
,
b
){
do
a
=
a
[
b
];
while
(
a
&&
a
.
nodeType
!==
1
);
return
a
}
function
bj
(
a
,
b
,
c
){
b
=
b
||
0
;
if
(
p
.
isFunction
(
b
))
return
p
.
grep
(
a
,
function
(
a
,
d
){
var
e
=!!
b
.
call
(
a
,
d
,
a
);
return
e
===
c
});
if
(
b
.
nodeType
)
return
p
.
grep
(
a
,
function
(
a
,
d
){
return
a
===
b
===
c
});
if
(
typeof
b
==
"string"
){
var
d
=
p
.
grep
(
a
,
function
(
a
){
return
a
.
nodeType
===
1
});
if
(
be
.
test
(
b
))
return
p
.
filter
(
b
,
d
,
!
c
);
b
=
p
.
filter
(
b
,
d
)}
return
p
.
grep
(
a
,
function
(
a
,
d
){
return
p
.
inArray
(
a
,
b
)
>=
0
===
c
})}
function
bk
(
a
){
var
b
=
bl
.
split
(
"|"
),
c
=
a
.
createDocumentFragment
();
if
(
c
.
createElement
)
while
(
b
.
length
)
c
.
createElement
(
b
.
pop
());
return
c
}
function
bC
(
a
,
b
){
return
a
.
getElementsByTagName
(
b
)[
0
]
||
a
.
appendChild
(
a
.
ownerDocument
.
createElement
(
b
))}
function
bD
(
a
,
b
){
if
(
b
.
nodeType
!==
1
||!
p
.
hasData
(
a
))
return
;
var
c
,
d
,
e
,
f
=
p
.
_data
(
a
),
g
=
p
.
_data
(
b
,
f
),
h
=
f
.
events
;
if
(
h
){
delete
g
.
handle
,
g
.
events
=
{};
for
(
c
in
h
)
for
(
d
=
0
,
e
=
h
[
c
].
length
;
d
<
e
;
d
++
)
p
.
event
.
add
(
b
,
c
,
h
[
c
][
d
])}
g
.
data
&&
(
g
.
data
=
p
.
extend
({},
g
.
data
))}
function
bE
(
a
,
b
){
var
c
;
if
(
b
.
nodeType
!==
1
)
return
;
b
.
clearAttributes
&&
b
.
clearAttributes
(),
b
.
mergeAttributes
&&
b
.
mergeAttributes
(
a
),
c
=
b
.
nodeName
.
toLowerCase
(),
c
===
"object"
?(
b
.
parentNode
&&
(
b
.
outerHTML
=
a
.
outerHTML
),
p
.
support
.
html5Clone
&&
a
.
innerHTML
&&!
p
.
trim
(
b
.
innerHTML
)
&&
(
b
.
innerHTML
=
a
.
innerHTML
)):
c
===
"input"
&&
bv
.
test
(
a
.
type
)?(
b
.
defaultChecked
=
b
.
checked
=
a
.
checked
,
b
.
value
!==
a
.
value
&&
(
b
.
value
=
a
.
value
)):
c
===
"option"
?
b
.
selected
=
a
.
defaultSelected
:
c
===
"input"
||
c
===
"textarea"
?
b
.
defaultValue
=
a
.
defaultValue
:
c
===
"script"
&&
b
.
text
!==
a
.
text
&&
(
b
.
text
=
a
.
text
),
b
.
removeAttribute
(
p
.
expando
)}
function
bF
(
a
){
return
typeof
a
.
getElementsByTagName
!=
"undefined"
?
a
.
getElementsByTagName
(
"*"
):
typeof
a
.
querySelectorAll
!=
"undefined"
?
a
.
querySelectorAll
(
"*"
):[]}
function
bG
(
a
){
bv
.
test
(
a
.
type
)
&&
(
a
.
defaultChecked
=
a
.
checked
)}
function
bY
(
a
,
b
){
if
(
b
in
a
)
return
b
;
var
c
=
b
.
charAt
(
0
).
toUpperCase
()
+
b
.
slice
(
1
),
d
=
b
,
e
=
bW
.
length
;
while
(
e
--
){
b
=
bW
[
e
]
+
c
;
if
(
b
in
a
)
return
b
}
return
d
}
function
bZ
(
a
,
b
){
return
a
=
b
||
a
,
p
.
css
(
a
,
"display"
)
===
"none"
||!
p
.
contains
(
a
.
ownerDocument
,
a
)}
function
b$
(
a
,
b
){
var
c
,
d
,
e
=
[],
f
=
0
,
g
=
a
.
length
;
for
(;
f
<
g
;
f
++
){
c
=
a
[
f
];
if
(
!
c
.
style
)
continue
;
e
[
f
]
=
p
.
_data
(
c
,
"olddisplay"
),
b
?(
!
e
[
f
]
&&
c
.
style
.
display
===
"none"
&&
(
c
.
style
.
display
=
""
),
c
.
style
.
display
===
""
&&
bZ
(
c
)
&&
(
e
[
f
]
=
p
.
_data
(
c
,
"olddisplay"
,
cc
(
c
.
nodeName
)))):(
d
=
bH
(
c
,
"display"
),
!
e
[
f
]
&&
d
!==
"none"
&&
p
.
_data
(
c
,
"olddisplay"
,
d
))}
for
(
f
=
0
;
f
<
g
;
f
++
){
c
=
a
[
f
];
if
(
!
c
.
style
)
continue
;
if
(
!
b
||
c
.
style
.
display
===
"none"
||
c
.
style
.
display
===
""
)
c
.
style
.
display
=
b
?
e
[
f
]
||
""
:
"none"
}
return
a
}
function
b_
(
a
,
b
,
c
){
var
d
=
bP
.
exec
(
b
);
return
d
?
Math
.
max
(
0
,
d
[
1
]
-
(
c
||
0
))
+
(
d
[
2
]
||
"px"
):
b
}
function
ca
(
a
,
b
,
c
,
d
){
var
e
=
c
===
(
d
?
"border"
:
"content"
)?
4
:
b
===
"width"
?
1
:
0
,
f
=
0
;
for
(;
e
<
4
;
e
+=
2
)
c
===
"margin"
&&
(
f
+=
p
.
css
(
a
,
c
+
bV
[
e
],
!
0
)),
d
?(
c
===
"content"
&&
(
f
-=
parseFloat
(
bH
(
a
,
"padding"
+
bV
[
e
]))
||
0
),
c
!==
"margin"
&&
(
f
-=
parseFloat
(
bH
(
a
,
"border"
+
bV
[
e
]
+
"Width"
))
||
0
)):(
f
+=
parseFloat
(
bH
(
a
,
"padding"
+
bV
[
e
]))
||
0
,
c
!==
"padding"
&&
(
f
+=
parseFloat
(
bH
(
a
,
"border"
+
bV
[
e
]
+
"Width"
))
||
0
));
return
f
}
function
cb
(
a
,
b
,
c
){
var
d
=
b
===
"width"
?
a
.
offsetWidth
:
a
.
offsetHeight
,
e
=!
0
,
f
=
p
.
support
.
boxSizing
&&
p
.
css
(
a
,
"boxSizing"
)
===
"border-box"
;
if
(
d
<=
0
||
d
==
null
){
d
=
bH
(
a
,
b
);
if
(
d
<
0
||
d
==
null
)
d
=
a
.
style
[
b
];
if
(
bQ
.
test
(
d
))
return
d
;
e
=
f
&&
(
p
.
support
.
boxSizingReliable
||
d
===
a
.
style
[
b
]),
d
=
parseFloat
(
d
)
||
0
}
return
d
+
ca
(
a
,
b
,
c
||
(
f
?
"border"
:
"content"
),
e
)
+
"px"
}
function
cc
(
a
){
if
(
bS
[
a
])
return
bS
[
a
];
var
b
=
p
(
"<"
+
a
+
">"
).
appendTo
(
e
.
body
),
c
=
b
.
css
(
"display"
);
b
.
remove
();
if
(
c
===
"none"
||
c
===
""
){
bI
=
e
.
body
.
appendChild
(
bI
||
p
.
extend
(
e
.
createElement
(
"iframe"
),{
frameBorder
:
0
,
width
:
0
,
height
:
0
}));
if
(
!
bJ
||!
bI
.
createElement
)
bJ
=
(
bI
.
contentWindow
||
bI
.
contentDocument
).
document
,
bJ
.
write
(
"<!doctype html><html><body>"
),
bJ
.
close
();
b
=
bJ
.
body
.
appendChild
(
bJ
.
createElement
(
a
)),
c
=
bH
(
b
,
"display"
),
e
.
body
.
removeChild
(
bI
)}
return
bS
[
a
]
=
c
,
c
}
function
ci
(
a
,
b
,
c
,
d
){
var
e
;
if
(
p
.
isArray
(
b
))
p
.
each
(
b
,
function
(
b
,
e
){
c
||
ce
.
test
(
a
)?
d
(
a
,
e
):
ci
(
a
+
"["
+
(
typeof
e
==
"object"
?
b
:
""
)
+
"]"
,
e
,
c
,
d
)});
else
if
(
!
c
&&
p
.
type
(
b
)
===
"object"
)
for
(
e
in
b
)
ci
(
a
+
"["
+
e
+
"]"
,
b
[
e
],
c
,
d
);
else
d
(
a
,
b
)}
function
cz
(
a
){
return
function
(
b
,
c
){
typeof
b
!=
"string"
&&
(
c
=
b
,
b
=
"*"
);
var
d
,
e
,
f
,
g
=
b
.
toLowerCase
().
split
(
s
),
h
=
0
,
i
=
g
.
length
;
if
(
p
.
isFunction
(
c
))
for
(;
h
<
i
;
h
++
)
d
=
g
[
h
],
f
=
/^
\+
/
.
test
(
d
),
f
&&
(
d
=
d
.
substr
(
1
)
||
"*"
),
e
=
a
[
d
]
=
a
[
d
]
||
[],
e
[
f
?
"unshift"
:
"push"
](
c
)}}
function
cA
(
a
,
c
,
d
,
e
,
f
,
g
){
f
=
f
||
c
.
dataTypes
[
0
],
g
=
g
||
{},
g
[
f
]
=!
0
;
var
h
,
i
=
a
[
f
],
j
=
0
,
k
=
i
?
i
.
length
:
0
,
l
=
a
===
cv
;
for
(;
j
<
k
&&
(
l
||!
h
);
j
++
)
h
=
i
[
j
](
c
,
d
,
e
),
typeof
h
==
"string"
&&
(
!
l
||
g
[
h
]?
h
=
b
:(
c
.
dataTypes
.
unshift
(
h
),
h
=
cA
(
a
,
c
,
d
,
e
,
h
,
g
)));
return
(
l
||!
h
)
&&!
g
[
"*"
]
&&
(
h
=
cA
(
a
,
c
,
d
,
e
,
"*"
,
g
)),
h
}
function
cB
(
a
,
c
){
var
d
,
e
,
f
=
p
.
ajaxSettings
.
flatOptions
||
{};
for
(
d
in
c
)
c
[
d
]
!==
b
&&
((
f
[
d
]?
a
:
e
||
(
e
=
{}))[
d
]
=
c
[
d
]);
e
&&
p
.
extend
(
!
0
,
a
,
e
)}
function
cC
(
a
,
c
,
d
){
var
e
,
f
,
g
,
h
,
i
=
a
.
contents
,
j
=
a
.
dataTypes
,
k
=
a
.
responseFields
;
for
(
f
in
k
)
f
in
d
&&
(
c
[
k
[
f
]]
=
d
[
f
]);
while
(
j
[
0
]
===
"*"
)
j
.
shift
(),
e
===
b
&&
(
e
=
a
.
mimeType
||
c
.
getResponseHeader
(
"content-type"
));
if
(
e
)
for
(
f
in
i
)
if
(
i
[
f
]
&&
i
[
f
].
test
(
e
)){
j
.
unshift
(
f
);
break
}
if
(
j
[
0
]
in
d
)
g
=
j
[
0
];
else
{
for
(
f
in
d
){
if
(
!
j
[
0
]
||
a
.
converters
[
f
+
" "
+
j
[
0
]]){
g
=
f
;
break
}
h
||
(
h
=
f
)}
g
=
g
||
h
}
if
(
g
)
return
g
!==
j
[
0
]
&&
j
.
unshift
(
g
),
d
[
g
]}
function
cD
(
a
,
b
){
var
c
,
d
,
e
,
f
,
g
=
a
.
dataTypes
.
slice
(),
h
=
g
[
0
],
i
=
{},
j
=
0
;
a
.
dataFilter
&&
(
b
=
a
.
dataFilter
(
b
,
a
.
dataType
));
if
(
g
[
1
])
for
(
c
in
a
.
converters
)
i
[
c
.
toLowerCase
()]
=
a
.
converters
[
c
];
for
(;
e
=
g
[
++
j
];)
if
(
e
!==
"*"
){
if
(
h
!==
"*"
&&
h
!==
e
){
c
=
i
[
h
+
" "
+
e
]
||
i
[
"* "
+
e
];
if
(
!
c
)
for
(
d
in
i
){
f
=
d
.
split
(
" "
);
if
(
f
[
1
]
===
e
){
c
=
i
[
h
+
" "
+
f
[
0
]]
||
i
[
"* "
+
f
[
0
]];
if
(
c
){
c
===!
0
?
c
=
i
[
d
]:
i
[
d
]
!==!
0
&&
(
e
=
f
[
0
],
g
.
splice
(
j
--
,
0
,
e
));
break
}}}
if
(
c
!==!
0
)
if
(
c
&&
a
[
"throws"
])
b
=
c
(
b
);
else
try
{
b
=
c
(
b
)}
catch
(
k
){
return
{
state
:
"parsererror"
,
error
:
c
?
k
:
"No conversion from "
+
h
+
" to "
+
e
}}}
h
=
e
}
return
{
state
:
"success"
,
data
:
b
}}
function
cL
(){
try
{
return
new
a
.
XMLHttpRequest
}
catch
(
b
){}}
function
cM
(){
try
{
return
new
a
.
ActiveXObject
(
"Microsoft.XMLHTTP"
)}
catch
(
b
){}}
function
cU
(){
return
setTimeout
(
function
(){
cN
=
b
},
0
),
cN
=
p
.
now
()}
function
cV
(
a
,
b
){
p
.
each
(
b
,
function
(
b
,
c
){
var
d
=
(
cT
[
b
]
||
[]).
concat
(
cT
[
"*"
]),
e
=
0
,
f
=
d
.
length
;
for
(;
e
<
f
;
e
++
)
if
(
d
[
e
].
call
(
a
,
b
,
c
))
return
})}
function
cW
(
a
,
b
,
c
){
var
d
,
e
=
0
,
f
=
0
,
g
=
cS
.
length
,
h
=
p
.
Deferred
().
always
(
function
(){
delete
i
.
elem
}),
i
=
function
(){
var
b
=
cN
||
cU
(),
c
=
Math
.
max
(
0
,
j
.
startTime
+
j
.
duration
-
b
),
d
=
1
-
(
c
/
j
.
duration
||
0
),
e
=
0
,
f
=
j
.
tweens
.
length
;
for
(;
e
<
f
;
e
++
)
j
.
tweens
[
e
].
run
(
d
);
return
h
.
notifyWith
(
a
,[
j
,
d
,
c
]),
d
<
1
&&
f
?
c
:(
h
.
resolveWith
(
a
,[
j
]),
!
1
)},
j
=
h
.
promise
({
elem
:
a
,
props
:
p
.
extend
({},
b
),
opts
:
p
.
extend
(
!
0
,{
specialEasing
:{}},
c
),
originalProperties
:
b
,
originalOptions
:
c
,
startTime
:
cN
||
cU
(),
duration
:
c
.
duration
,
tweens
:[],
createTween
:
function
(
b
,
c
,
d
){
var
e
=
p
.
Tween
(
a
,
j
.
opts
,
b
,
c
,
j
.
opts
.
specialEasing
[
b
]
||
j
.
opts
.
easing
);
return
j
.
tweens
.
push
(
e
),
e
},
stop
:
function
(
b
){
var
c
=
0
,
d
=
b
?
j
.
tweens
.
length
:
0
;
for
(;
c
<
d
;
c
++
)
j
.
tweens
[
c
].
run
(
1
);
return
b
?
h
.
resolveWith
(
a
,[
j
,
b
]):
h
.
rejectWith
(
a
,[
j
,
b
]),
this
}}),
k
=
j
.
props
;
cX
(
k
,
j
.
opts
.
specialEasing
);
for
(;
e
<
g
;
e
++
){
d
=
cS
[
e
].
call
(
j
,
a
,
k
,
j
.
opts
);
if
(
d
)
return
d
}
return
cV
(
j
,
k
),
p
.
isFunction
(
j
.
opts
.
start
)
&&
j
.
opts
.
start
.
call
(
a
,
j
),
p
.
fx
.
timer
(
p
.
extend
(
i
,{
anim
:
j
,
queue
:
j
.
opts
.
queue
,
elem
:
a
})),
j
.
progress
(
j
.
opts
.
progress
).
done
(
j
.
opts
.
done
,
j
.
opts
.
complete
).
fail
(
j
.
opts
.
fail
).
always
(
j
.
opts
.
always
)}
function
cX
(
a
,
b
){
var
c
,
d
,
e
,
f
,
g
;
for
(
c
in
a
){
d
=
p
.
camelCase
(
c
),
e
=
b
[
d
],
f
=
a
[
c
],
p
.
isArray
(
f
)
&&
(
e
=
f
[
1
],
f
=
a
[
c
]
=
f
[
0
]),
c
!==
d
&&
(
a
[
d
]
=
f
,
delete
a
[
c
]),
g
=
p
.
cssHooks
[
d
];
if
(
g
&&
"expand"
in
g
){
f
=
g
.
expand
(
f
),
delete
a
[
d
];
for
(
c
in
f
)
c
in
a
||
(
a
[
c
]
=
f
[
c
],
b
[
c
]
=
e
)}
else
b
[
d
]
=
e
}}
function
cY
(
a
,
b
,
c
){
var
d
,
e
,
f
,
g
,
h
,
i
,
j
,
k
,
l
=
this
,
m
=
a
.
style
,
n
=
{},
o
=
[],
q
=
a
.
nodeType
&&
bZ
(
a
);
c
.
queue
||
(
j
=
p
.
_queueHooks
(
a
,
"fx"
),
j
.
unqueued
==
null
&&
(
j
.
unqueued
=
0
,
k
=
j
.
empty
.
fire
,
j
.
empty
.
fire
=
function
(){
j
.
unqueued
||
k
()}),
j
.
unqueued
++
,
l
.
always
(
function
(){
l
.
always
(
function
(){
j
.
unqueued
--
,
p
.
queue
(
a
,
"fx"
).
length
||
j
.
empty
.
fire
()})})),
a
.
nodeType
===
1
&&
(
"height"
in
b
||
"width"
in
b
)
&&
(
c
.
overflow
=
[
m
.
overflow
,
m
.
overflowX
,
m
.
overflowY
],
p
.
css
(
a
,
"display"
)
===
"inline"
&&
p
.
css
(
a
,
"float"
)
===
"none"
&&
(
!
p
.
support
.
inlineBlockNeedsLayout
||
cc
(
a
.
nodeName
)
===
"inline"
?
m
.
display
=
"inline-block"
:
m
.
zoom
=
1
)),
c
.
overflow
&&
(
m
.
overflow
=
"hidden"
,
p
.
support
.
shrinkWrapBlocks
||
l
.
done
(
function
(){
m
.
overflow
=
c
.
overflow
[
0
],
m
.
overflowX
=
c
.
overflow
[
1
],
m
.
overflowY
=
c
.
overflow
[
2
]}));
for
(
d
in
b
){
f
=
b
[
d
];
if
(
cP
.
exec
(
f
)){
delete
b
[
d
];
if
(
f
===
(
q
?
"hide"
:
"show"
))
continue
;
o
.
push
(
d
)}}
g
=
o
.
length
;
if
(
g
){
h
=
p
.
_data
(
a
,
"fxshow"
)
||
p
.
_data
(
a
,
"fxshow"
,{}),
q
?
p
(
a
).
show
():
l
.
done
(
function
(){
p
(
a
).
hide
()}),
l
.
done
(
function
(){
var
b
;
p
.
removeData
(
a
,
"fxshow"
,
!
0
);
for
(
b
in
n
)
p
.
style
(
a
,
b
,
n
[
b
])});
for
(
d
=
0
;
d
<
g
;
d
++
)
e
=
o
[
d
],
i
=
l
.
createTween
(
e
,
q
?
h
[
e
]:
0
),
n
[
e
]
=
h
[
e
]
||
p
.
style
(
a
,
e
),
e
in
h
||
(
h
[
e
]
=
i
.
start
,
q
&&
(
i
.
end
=
i
.
start
,
i
.
start
=
e
===
"width"
||
e
===
"height"
?
1
:
0
))}}
function
cZ
(
a
,
b
,
c
,
d
,
e
){
return
new
cZ
.
prototype
.
init
(
a
,
b
,
c
,
d
,
e
)}
function
c$
(
a
,
b
){
var
c
,
d
=
{
height
:
a
},
e
=
0
;
b
=
b
?
1
:
0
;
for
(;
e
<
4
;
e
+=
2
-
b
)
c
=
bV
[
e
],
d
[
"margin"
+
c
]
=
d
[
"padding"
+
c
]
=
a
;
return
b
&&
(
d
.
opacity
=
d
.
width
=
a
),
d
}
function
da
(
a
){
return
p
.
isWindow
(
a
)?
a
:
a
.
nodeType
===
9
?
a
.
defaultView
||
a
.
parentWindow
:
!
1
}
var
c
,
d
,
e
=
a
.
document
,
f
=
a
.
location
,
g
=
a
.
navigator
,
h
=
a
.
jQuery
,
i
=
a
.
$
,
j
=
Array
.
prototype
.
push
,
k
=
Array
.
prototype
.
slice
,
l
=
Array
.
prototype
.
indexOf
,
m
=
Object
.
prototype
.
toString
,
n
=
Object
.
prototype
.
hasOwnProperty
,
o
=
String
.
prototype
.
trim
,
p
=
function
(
a
,
b
){
return
new
p
.
fn
.
init
(
a
,
b
,
c
)},
q
=
/
[\-
+
]?(?:\d
*
\.
|
)\d
+
(?:[
eE
][\-
+
]?\d
+|
)
/
.
source
,
r
=
/
\S
/
,
s
=
/
\s
+/
,
t
=
/^
[\s\u
FEFF
\x
A0
]
+|
[\s\u
FEFF
\x
A0
]
+$/g
,
u
=
/^
(?:[^
#<
]
*
(
<
[\w\W]
+>
)[^
>
]
*$|#
([\w\-]
*
)
$
)
/
,
v
=
/^<
(\w
+
)\s
*
\/?
>
(?:
<
\/\1
>|
)
$/
,
w
=
/^
[\]
,:{}
\s]
*$/
,
x
=
/
(?:
^|:|,
)(?:\s
*
\[)
+/g
,
y
=
/
\\(?:[
"
\\\/
bfnrt
]
|u
[\d
a-fA-F
]{4})
/g
,
z
=
/"
[^
"
\\\r\n]
*"|true|false|null|-
?(?:\d\d
*
\.
|
)\d
+
(?:[
eE
][\-
+
]?\d
+|
)
/g
,
A
=
/^-ms-/
,
B
=
/-
([\d
a-z
])
/gi
,
C
=
function
(
a
,
b
){
return
(
b
+
""
).
toUpperCase
()},
D
=
function
(){
e
.
addEventListener
?(
e
.
removeEventListener
(
"DOMContentLoaded"
,
D
,
!
1
),
p
.
ready
()):
e
.
readyState
===
"complete"
&&
(
e
.
detachEvent
(
"onreadystatechange"
,
D
),
p
.
ready
())},
E
=
{};
p
.
fn
=
p
.
prototype
=
{
constructor
:
p
,
init
:
function
(
a
,
c
,
d
){
var
f
,
g
,
h
,
i
;
if
(
!
a
)
return
this
;
if
(
a
.
nodeType
)
return
this
.
context
=
this
[
0
]
=
a
,
this
.
length
=
1
,
this
;
if
(
typeof
a
==
"string"
){
a
.
charAt
(
0
)
===
"<"
&&
a
.
charAt
(
a
.
length
-
1
)
===
">"
&&
a
.
length
>=
3
?
f
=
[
null
,
a
,
null
]:
f
=
u
.
exec
(
a
);
if
(
f
&&
(
f
[
1
]
||!
c
)){
if
(
f
[
1
])
return
c
=
c
instanceof
p
?
c
[
0
]:
c
,
i
=
c
&&
c
.
nodeType
?
c
.
ownerDocument
||
c
:
e
,
a
=
p
.
parseHTML
(
f
[
1
],
i
,
!
0
),
v
.
test
(
f
[
1
])
&&
p
.
isPlainObject
(
c
)
&&
this
.
attr
.
call
(
a
,
c
,
!
0
),
p
.
merge
(
this
,
a
);
g
=
e
.
getElementById
(
f
[
2
]);
if
(
g
&&
g
.
parentNode
){
if
(
g
.
id
!==
f
[
2
])
return
d
.
find
(
a
);
this
.
length
=
1
,
this
[
0
]
=
g
}
return
this
.
context
=
e
,
this
.
selector
=
a
,
this
}
return
!
c
||
c
.
jquery
?(
c
||
d
).
find
(
a
):
this
.
constructor
(
c
).
find
(
a
)}
return
p
.
isFunction
(
a
)?
d
.
ready
(
a
):(
a
.
selector
!==
b
&&
(
this
.
selector
=
a
.
selector
,
this
.
context
=
a
.
context
),
p
.
makeArray
(
a
,
this
))},
selector
:
""
,
jquery
:
"1.8.1"
,
length
:
0
,
size
:
function
(){
return
this
.
length
},
toArray
:
function
(){
return
k
.
call
(
this
)},
get
:
function
(
a
){
return
a
==
null
?
this
.
toArray
():
a
<
0
?
this
[
this
.
length
+
a
]:
this
[
a
]},
pushStack
:
function
(
a
,
b
,
c
){
var
d
=
p
.
merge
(
this
.
constructor
(),
a
);
return
d
.
prevObject
=
this
,
d
.
context
=
this
.
context
,
b
===
"find"
?
d
.
selector
=
this
.
selector
+
(
this
.
selector
?
" "
:
""
)
+
c
:
b
&&
(
d
.
selector
=
this
.
selector
+
"."
+
b
+
"("
+
c
+
")"
),
d
},
each
:
function
(
a
,
b
){
return
p
.
each
(
this
,
a
,
b
)},
ready
:
function
(
a
){
return
p
.
ready
.
promise
().
done
(
a
),
this
},
eq
:
function
(
a
){
return
a
=+
a
,
a
===-
1
?
this
.
slice
(
a
):
this
.
slice
(
a
,
a
+
1
)},
first
:
function
(){
return
this
.
eq
(
0
)},
last
:
function
(){
return
this
.
eq
(
-
1
)},
slice
:
function
(){
return
this
.
pushStack
(
k
.
apply
(
this
,
arguments
),
"slice"
,
k
.
call
(
arguments
).
join
(
","
))},
map
:
function
(
a
){
return
this
.
pushStack
(
p
.
map
(
this
,
function
(
b
,
c
){
return
a
.
call
(
b
,
c
,
b
)}))},
end
:
function
(){
return
this
.
prevObject
||
this
.
constructor
(
null
)},
push
:
j
,
sort
:[].
sort
,
splice
:[].
splice
},
p
.
fn
.
init
.
prototype
=
p
.
fn
,
p
.
extend
=
p
.
fn
.
extend
=
function
(){
var
a
,
c
,
d
,
e
,
f
,
g
,
h
=
arguments
[
0
]
||
{},
i
=
1
,
j
=
arguments
.
length
,
k
=!
1
;
typeof
h
==
"boolean"
&&
(
k
=
h
,
h
=
arguments
[
1
]
||
{},
i
=
2
),
typeof
h
!=
"object"
&&!
p
.
isFunction
(
h
)
&&
(
h
=
{}),
j
===
i
&&
(
h
=
this
,
--
i
);
for
(;
i
<
j
;
i
++
)
if
((
a
=
arguments
[
i
])
!=
null
)
for
(
c
in
a
){
d
=
h
[
c
],
e
=
a
[
c
];
if
(
h
===
e
)
continue
;
k
&&
e
&&
(
p
.
isPlainObject
(
e
)
||
(
f
=
p
.
isArray
(
e
)))?(
f
?(
f
=!
1
,
g
=
d
&&
p
.
isArray
(
d
)?
d
:[]):
g
=
d
&&
p
.
isPlainObject
(
d
)?
d
:{},
h
[
c
]
=
p
.
extend
(
k
,
g
,
e
)):
e
!==
b
&&
(
h
[
c
]
=
e
)}
return
h
},
p
.
extend
({
noConflict
:
function
(
b
){
return
a
.
$
===
p
&&
(
a
.
$
=
i
),
b
&&
a
.
jQuery
===
p
&&
(
a
.
jQuery
=
h
),
p
},
isReady
:
!
1
,
readyWait
:
1
,
holdReady
:
function
(
a
){
a
?
p
.
readyWait
++
:
p
.
ready
(
!
0
)},
ready
:
function
(
a
){
if
(
a
===!
0
?
--
p
.
readyWait
:
p
.
isReady
)
return
;
if
(
!
e
.
body
)
return
setTimeout
(
p
.
ready
,
1
);
p
.
isReady
=!
0
;
if
(
a
!==!
0
&&--
p
.
readyWait
>
0
)
return
;
d
.
resolveWith
(
e
,[
p
]),
p
.
fn
.
trigger
&&
p
(
e
).
trigger
(
"ready"
).
off
(
"ready"
)},
isFunction
:
function
(
a
){
return
p
.
type
(
a
)
===
"function"
},
isArray
:
Array
.
isArray
||
function
(
a
){
return
p
.
type
(
a
)
===
"array"
},
isWindow
:
function
(
a
){
return
a
!=
null
&&
a
==
a
.
window
},
isNumeric
:
function
(
a
){
return
!
isNaN
(
parseFloat
(
a
))
&&
isFinite
(
a
)},
type
:
function
(
a
){
return
a
==
null
?
String
(
a
):
E
[
m
.
call
(
a
)]
||
"object"
},
isPlainObject
:
function
(
a
){
if
(
!
a
||
p
.
type
(
a
)
!==
"object"
||
a
.
nodeType
||
p
.
isWindow
(
a
))
return
!
1
;
try
{
if
(
a
.
constructor
&&!
n
.
call
(
a
,
"constructor"
)
&&!
n
.
call
(
a
.
constructor
.
prototype
,
"isPrototypeOf"
))
return
!
1
}
catch
(
c
){
return
!
1
}
var
d
;
for
(
d
in
a
);
return
d
===
b
||
n
.
call
(
a
,
d
)},
isEmptyObject
:
function
(
a
){
var
b
;
for
(
b
in
a
)
return
!
1
;
return
!
0
},
error
:
function
(
a
){
throw
new
Error
(
a
)},
parseHTML
:
function
(
a
,
b
,
c
){
var
d
;
return
!
a
||
typeof
a
!=
"string"
?
null
:(
typeof
b
==
"boolean"
&&
(
c
=
b
,
b
=
0
),
b
=
b
||
e
,(
d
=
v
.
exec
(
a
))?[
b
.
createElement
(
d
[
1
])]:(
d
=
p
.
buildFragment
([
a
],
b
,
c
?
null
:[]),
p
.
merge
([],(
d
.
cacheable
?
p
.
clone
(
d
.
fragment
):
d
.
fragment
).
childNodes
)))},
parseJSON
:
function
(
b
){
if
(
!
b
||
typeof
b
!=
"string"
)
return
null
;
b
=
p
.
trim
(
b
);
if
(
a
.
JSON
&&
a
.
JSON
.
parse
)
return
a
.
JSON
.
parse
(
b
);
if
(
w
.
test
(
b
.
replace
(
y
,
"@"
).
replace
(
z
,
"]"
).
replace
(
x
,
""
)))
return
(
new
Function
(
"return "
+
b
))();
p
.
error
(
"Invalid JSON: "
+
b
)},
parseXML
:
function
(
c
){
var
d
,
e
;
if
(
!
c
||
typeof
c
!=
"string"
)
return
null
;
try
{
a
.
DOMParser
?(
e
=
new
DOMParser
,
d
=
e
.
parseFromString
(
c
,
"text/xml"
)):(
d
=
new
ActiveXObject
(
"Microsoft.XMLDOM"
),
d
.
async
=
"false"
,
d
.
loadXML
(
c
))}
catch
(
f
){
d
=
b
}
return
(
!
d
||!
d
.
documentElement
||
d
.
getElementsByTagName
(
"parsererror"
).
length
)
&&
p
.
error
(
"Invalid XML: "
+
c
),
d
},
noop
:
function
(){},
globalEval
:
function
(
b
){
b
&&
r
.
test
(
b
)
&&
(
a
.
execScript
||
function
(
b
){
a
.
eval
.
call
(
a
,
b
)})(
b
)},
camelCase
:
function
(
a
){
return
a
.
replace
(
A
,
"ms-"
).
replace
(
B
,
C
)},
nodeName
:
function
(
a
,
b
){
return
a
.
nodeName
&&
a
.
nodeName
.
toUpperCase
()
===
b
.
toUpperCase
()},
each
:
function
(
a
,
c
,
d
){
var
e
,
f
=
0
,
g
=
a
.
length
,
h
=
g
===
b
||
p
.
isFunction
(
a
);
if
(
d
){
if
(
h
){
for
(
e
in
a
)
if
(
c
.
apply
(
a
[
e
],
d
)
===!
1
)
break
}
else
for
(;
f
<
g
;)
if
(
c
.
apply
(
a
[
f
++
],
d
)
===!
1
)
break
}
else
if
(
h
){
for
(
e
in
a
)
if
(
c
.
call
(
a
[
e
],
e
,
a
[
e
])
===!
1
)
break
}
else
for
(;
f
<
g
;)
if
(
c
.
call
(
a
[
f
],
f
,
a
[
f
++
])
===!
1
)
break
;
return
a
},
trim
:
o
&&!
o
.
call
(
" "
)?
function
(
a
){
return
a
==
null
?
""
:
o
.
call
(
a
)}:
function
(
a
){
return
a
==
null
?
""
:
a
.
toString
().
replace
(
t
,
""
)},
makeArray
:
function
(
a
,
b
){
var
c
,
d
=
b
||
[];
return
a
!=
null
&&
(
c
=
p
.
type
(
a
),
a
.
length
==
null
||
c
===
"string"
||
c
===
"function"
||
c
===
"regexp"
||
p
.
isWindow
(
a
)?
j
.
call
(
d
,
a
):
p
.
merge
(
d
,
a
)),
d
},
inArray
:
function
(
a
,
b
,
c
){
var
d
;
if
(
b
){
if
(
l
)
return
l
.
call
(
b
,
a
,
c
);
d
=
b
.
length
,
c
=
c
?
c
<
0
?
Math
.
max
(
0
,
d
+
c
):
c
:
0
;
for
(;
c
<
d
;
c
++
)
if
(
c
in
b
&&
b
[
c
]
===
a
)
return
c
}
return
-
1
},
merge
:
function
(
a
,
c
){
var
d
=
c
.
length
,
e
=
a
.
length
,
f
=
0
;
if
(
typeof
d
==
"number"
)
for
(;
f
<
d
;
f
++
)
a
[
e
++
]
=
c
[
f
];
else
while
(
c
[
f
]
!==
b
)
a
[
e
++
]
=
c
[
f
++
];
return
a
.
length
=
e
,
a
},
grep
:
function
(
a
,
b
,
c
){
var
d
,
e
=
[],
f
=
0
,
g
=
a
.
length
;
c
=!!
c
;
for
(;
f
<
g
;
f
++
)
d
=!!
b
(
a
[
f
],
f
),
c
!==
d
&&
e
.
push
(
a
[
f
]);
return
e
},
map
:
function
(
a
,
c
,
d
){
var
e
,
f
,
g
=
[],
h
=
0
,
i
=
a
.
length
,
j
=
a
instanceof
p
||
i
!==
b
&&
typeof
i
==
"number"
&&
(
i
>
0
&&
a
[
0
]
&&
a
[
i
-
1
]
||
i
===
0
||
p
.
isArray
(
a
));
if
(
j
)
for
(;
h
<
i
;
h
++
)
e
=
c
(
a
[
h
],
h
,
d
),
e
!=
null
&&
(
g
[
g
.
length
]
=
e
);
else
for
(
f
in
a
)
e
=
c
(
a
[
f
],
f
,
d
),
e
!=
null
&&
(
g
[
g
.
length
]
=
e
);
return
g
.
concat
.
apply
([],
g
)},
guid
:
1
,
proxy
:
function
(
a
,
c
){
var
d
,
e
,
f
;
return
typeof
c
==
"string"
&&
(
d
=
a
[
c
],
c
=
a
,
a
=
d
),
p
.
isFunction
(
a
)?(
e
=
k
.
call
(
arguments
,
2
),
f
=
function
(){
return
a
.
apply
(
c
,
e
.
concat
(
k
.
call
(
arguments
)))},
f
.
guid
=
a
.
guid
=
a
.
guid
||
f
.
guid
||
p
.
guid
++
,
f
):
b
},
access
:
function
(
a
,
c
,
d
,
e
,
f
,
g
,
h
){
var
i
,
j
=
d
==
null
,
k
=
0
,
l
=
a
.
length
;
if
(
d
&&
typeof
d
==
"object"
){
for
(
k
in
d
)
p
.
access
(
a
,
c
,
k
,
d
[
k
],
1
,
g
,
e
);
f
=
1
}
else
if
(
e
!==
b
){
i
=
h
===
b
&&
p
.
isFunction
(
e
),
j
&&
(
i
?(
i
=
c
,
c
=
function
(
a
,
b
,
c
){
return
i
.
call
(
p
(
a
),
c
)}):(
c
.
call
(
a
,
e
),
c
=
null
));
if
(
c
)
for
(;
k
<
l
;
k
++
)
c
(
a
[
k
],
d
,
i
?
e
.
call
(
a
[
k
],
k
,
c
(
a
[
k
],
d
)):
e
,
h
);
f
=
1
}
return
f
?
a
:
j
?
c
.
call
(
a
):
l
?
c
(
a
[
0
],
d
):
g
},
now
:
function
(){
return
(
new
Date
).
getTime
()}}),
p
.
ready
.
promise
=
function
(
b
){
if
(
!
d
){
d
=
p
.
Deferred
();
if
(
e
.
readyState
===
"complete"
)
setTimeout
(
p
.
ready
,
1
);
else
if
(
e
.
addEventListener
)
e
.
addEventListener
(
"DOMContentLoaded"
,
D
,
!
1
),
a
.
addEventListener
(
"load"
,
p
.
ready
,
!
1
);
else
{
e
.
attachEvent
(
"onreadystatechange"
,
D
),
a
.
attachEvent
(
"onload"
,
p
.
ready
);
var
c
=!
1
;
try
{
c
=
a
.
frameElement
==
null
&&
e
.
documentElement
}
catch
(
f
){}
c
&&
c
.
doScroll
&&
function
g
(){
if
(
!
p
.
isReady
){
try
{
c
.
doScroll
(
"left"
)}
catch
(
a
){
return
setTimeout
(
g
,
50
)}
p
.
ready
()}}()}}
return
d
.
promise
(
b
)},
p
.
each
(
"Boolean Number String Function Array Date RegExp Object"
.
split
(
" "
),
function
(
a
,
b
){
E
[
"[object "
+
b
+
"]"
]
=
b
.
toLowerCase
()}),
c
=
p
(
e
);
var
F
=
{};
p
.
Callbacks
=
function
(
a
){
a
=
typeof
a
==
"string"
?
F
[
a
]
||
G
(
a
):
p
.
extend
({},
a
);
var
c
,
d
,
e
,
f
,
g
,
h
,
i
=
[],
j
=!
a
.
once
&&
[],
k
=
function
(
b
){
c
=
a
.
memory
&&
b
,
d
=!
0
,
h
=
f
||
0
,
f
=
0
,
g
=
i
.
length
,
e
=!
0
;
for
(;
i
&&
h
<
g
;
h
++
)
if
(
i
[
h
].
apply
(
b
[
0
],
b
[
1
])
===!
1
&&
a
.
stopOnFalse
){
c
=!
1
;
break
}
e
=!
1
,
i
&&
(
j
?
j
.
length
&&
k
(
j
.
shift
()):
c
?
i
=
[]:
l
.
disable
())},
l
=
{
add
:
function
(){
if
(
i
){
var
b
=
i
.
length
;(
function
d
(
b
){
p
.
each
(
b
,
function
(
b
,
c
){
var
e
=
p
.
type
(
c
);
e
===
"function"
&&
(
!
a
.
unique
||!
l
.
has
(
c
))?
i
.
push
(
c
):
c
&&
c
.
length
&&
e
!==
"string"
&&
d
(
c
)})})(
arguments
),
e
?
g
=
i
.
length
:
c
&&
(
f
=
b
,
k
(
c
))}
return
this
},
remove
:
function
(){
return
i
&&
p
.
each
(
arguments
,
function
(
a
,
b
){
var
c
;
while
((
c
=
p
.
inArray
(
b
,
i
,
c
))
>-
1
)
i
.
splice
(
c
,
1
),
e
&&
(
c
<=
g
&&
g
--
,
c
<=
h
&&
h
--
)}),
this
},
has
:
function
(
a
){
return
p
.
inArray
(
a
,
i
)
>-
1
},
empty
:
function
(){
return
i
=
[],
this
},
disable
:
function
(){
return
i
=
j
=
c
=
b
,
this
},
disabled
:
function
(){
return
!
i
},
lock
:
function
(){
return
j
=
b
,
c
||
l
.
disable
(),
this
},
locked
:
function
(){
return
!
j
},
fireWith
:
function
(
a
,
b
){
return
b
=
b
||
[],
b
=
[
a
,
b
.
slice
?
b
.
slice
():
b
],
i
&&
(
!
d
||
j
)
&&
(
e
?
j
.
push
(
b
):
k
(
b
)),
this
},
fire
:
function
(){
return
l
.
fireWith
(
this
,
arguments
),
this
},
fired
:
function
(){
return
!!
d
}};
return
l
},
p
.
extend
({
Deferred
:
function
(
a
){
var
b
=
[[
"resolve"
,
"done"
,
p
.
Callbacks
(
"once memory"
),
"resolved"
],[
"reject"
,
"fail"
,
p
.
Callbacks
(
"once memory"
),
"rejected"
],[
"notify"
,
"progress"
,
p
.
Callbacks
(
"memory"
)]],
c
=
"pending"
,
d
=
{
state
:
function
(){
return
c
},
always
:
function
(){
return
e
.
done
(
arguments
).
fail
(
arguments
),
this
},
then
:
function
(){
var
a
=
arguments
;
return
p
.
Deferred
(
function
(
c
){
p
.
each
(
b
,
function
(
b
,
d
){
var
f
=
d
[
0
],
g
=
a
[
b
];
e
[
d
[
1
]](
p
.
isFunction
(
g
)?
function
(){
var
a
=
g
.
apply
(
this
,
arguments
);
a
&&
p
.
isFunction
(
a
.
promise
)?
a
.
promise
().
done
(
c
.
resolve
).
fail
(
c
.
reject
).
progress
(
c
.
notify
):
c
[
f
+
"With"
](
this
===
e
?
c
:
this
,[
a
])}:
c
[
f
])}),
a
=
null
}).
promise
()},
promise
:
function
(
a
){
return
typeof
a
==
"object"
?
p
.
extend
(
a
,
d
):
d
}},
e
=
{};
return
d
.
pipe
=
d
.
then
,
p
.
each
(
b
,
function
(
a
,
f
){
var
g
=
f
[
2
],
h
=
f
[
3
];
d
[
f
[
1
]]
=
g
.
add
,
h
&&
g
.
add
(
function
(){
c
=
h
},
b
[
a
^
1
][
2
].
disable
,
b
[
2
][
2
].
lock
),
e
[
f
[
0
]]
=
g
.
fire
,
e
[
f
[
0
]
+
"With"
]
=
g
.
fireWith
}),
d
.
promise
(
e
),
a
&&
a
.
call
(
e
,
e
),
e
},
when
:
function
(
a
){
var
b
=
0
,
c
=
k
.
call
(
arguments
),
d
=
c
.
length
,
e
=
d
!==
1
||
a
&&
p
.
isFunction
(
a
.
promise
)?
d
:
0
,
f
=
e
===
1
?
a
:
p
.
Deferred
(),
g
=
function
(
a
,
b
,
c
){
return
function
(
d
){
b
[
a
]
=
this
,
c
[
a
]
=
arguments
.
length
>
1
?
k
.
call
(
arguments
):
d
,
c
===
h
?
f
.
notifyWith
(
b
,
c
):
--
e
||
f
.
resolveWith
(
b
,
c
)}},
h
,
i
,
j
;
if
(
d
>
1
){
h
=
new
Array
(
d
),
i
=
new
Array
(
d
),
j
=
new
Array
(
d
);
for
(;
b
<
d
;
b
++
)
c
[
b
]
&&
p
.
isFunction
(
c
[
b
].
promise
)?
c
[
b
].
promise
().
done
(
g
(
b
,
j
,
c
)).
fail
(
f
.
reject
).
progress
(
g
(
b
,
i
,
h
)):
--
e
}
return
e
||
f
.
resolveWith
(
j
,
c
),
f
.
promise
()}}),
p
.
support
=
function
(){
var
b
,
c
,
d
,
f
,
g
,
h
,
i
,
j
,
k
,
l
,
m
,
n
=
e
.
createElement
(
"div"
);
n
.
setAttribute
(
"className"
,
"t"
),
n
.
innerHTML
=
" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>"
,
c
=
n
.
getElementsByTagName
(
"*"
),
d
=
n
.
getElementsByTagName
(
"a"
)[
0
],
d
.
style
.
cssText
=
"top:1px;float:left;opacity:.5"
;
if
(
!
c
||!
c
.
length
||!
d
)
return
{};
f
=
e
.
createElement
(
"select"
),
g
=
f
.
appendChild
(
e
.
createElement
(
"option"
)),
h
=
n
.
getElementsByTagName
(
"input"
)[
0
],
b
=
{
leadingWhitespace
:
n
.
firstChild
.
nodeType
===
3
,
tbody
:
!
n
.
getElementsByTagName
(
"tbody"
).
length
,
htmlSerialize
:
!!
n
.
getElementsByTagName
(
"link"
).
length
,
style
:
/top/
.
test
(
d
.
getAttribute
(
"style"
)),
hrefNormalized
:
d
.
getAttribute
(
"href"
)
===
"/a"
,
opacity
:
/^0.5/
.
test
(
d
.
style
.
opacity
),
cssFloat
:
!!
d
.
style
.
cssFloat
,
checkOn
:
h
.
value
===
"on"
,
optSelected
:
g
.
selected
,
getSetAttribute
:
n
.
className
!==
"t"
,
enctype
:
!!
e
.
createElement
(
"form"
).
enctype
,
html5Clone
:
e
.
createElement
(
"nav"
).
cloneNode
(
!
0
).
outerHTML
!==
"<:nav></:nav>"
,
boxModel
:
e
.
compatMode
===
"CSS1Compat"
,
submitBubbles
:
!
0
,
changeBubbles
:
!
0
,
focusinBubbles
:
!
1
,
deleteExpando
:
!
0
,
noCloneEvent
:
!
0
,
inlineBlockNeedsLayout
:
!
1
,
shrinkWrapBlocks
:
!
1
,
reliableMarginRight
:
!
0
,
boxSizingReliable
:
!
0
,
pixelPosition
:
!
1
},
h
.
checked
=!
0
,
b
.
noCloneChecked
=
h
.
cloneNode
(
!
0
).
checked
,
f
.
disabled
=!
0
,
b
.
optDisabled
=!
g
.
disabled
;
try
{
delete
n
.
test
}
catch
(
o
){
b
.
deleteExpando
=!
1
}
!
n
.
addEventListener
&&
n
.
attachEvent
&&
n
.
fireEvent
&&
(
n
.
attachEvent
(
"onclick"
,
m
=
function
(){
b
.
noCloneEvent
=!
1
}),
n
.
cloneNode
(
!
0
).
fireEvent
(
"onclick"
),
n
.
detachEvent
(
"onclick"
,
m
)),
h
=
e
.
createElement
(
"input"
),
h
.
value
=
"t"
,
h
.
setAttribute
(
"type"
,
"radio"
),
b
.
radioValue
=
h
.
value
===
"t"
,
h
.
setAttribute
(
"checked"
,
"checked"
),
h
.
setAttribute
(
"name"
,
"t"
),
n
.
appendChild
(
h
),
i
=
e
.
createDocumentFragment
(),
i
.
appendChild
(
n
.
lastChild
),
b
.
checkClone
=
i
.
cloneNode
(
!
0
).
cloneNode
(
!
0
).
lastChild
.
checked
,
b
.
appendChecked
=
h
.
checked
,
i
.
removeChild
(
h
),
i
.
appendChild
(
n
);
if
(
n
.
attachEvent
)
for
(
k
in
{
submit
:
!
0
,
change
:
!
0
,
focusin
:
!
0
})
j
=
"on"
+
k
,
l
=
j
in
n
,
l
||
(
n
.
setAttribute
(
j
,
"return;"
),
l
=
typeof
n
[
j
]
==
"function"
),
b
[
k
+
"Bubbles"
]
=
l
;
return
p
(
function
(){
var
c
,
d
,
f
,
g
,
h
=
"padding:0;margin:0;border:0;display:block;overflow:hidden;"
,
i
=
e
.
getElementsByTagName
(
"body"
)[
0
];
if
(
!
i
)
return
;
c
=
e
.
createElement
(
"div"
),
c
.
style
.
cssText
=
"visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px"
,
i
.
insertBefore
(
c
,
i
.
firstChild
),
d
=
e
.
createElement
(
"div"
),
c
.
appendChild
(
d
),
d
.
innerHTML
=
"<table><tr><td></td><td>t</td></tr></table>"
,
f
=
d
.
getElementsByTagName
(
"td"
),
f
[
0
].
style
.
cssText
=
"padding:0;margin:0;border:0;display:none"
,
l
=
f
[
0
].
offsetHeight
===
0
,
f
[
0
].
style
.
display
=
""
,
f
[
1
].
style
.
display
=
"none"
,
b
.
reliableHiddenOffsets
=
l
&&
f
[
0
].
offsetHeight
===
0
,
d
.
innerHTML
=
""
,
d
.
style
.
cssText
=
"box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;"
,
b
.
boxSizing
=
d
.
offsetWidth
===
4
,
b
.
doesNotIncludeMarginInBodyOffset
=
i
.
offsetTop
!==
1
,
a
.
getComputedStyle
&&
(
b
.
pixelPosition
=
(
a
.
getComputedStyle
(
d
,
null
)
||
{}).
top
!==
"1%"
,
b
.
boxSizingReliable
=
(
a
.
getComputedStyle
(
d
,
null
)
||
{
width
:
"4px"
}).
width
===
"4px"
,
g
=
e
.
createElement
(
"div"
),
g
.
style
.
cssText
=
d
.
style
.
cssText
=
h
,
g
.
style
.
marginRight
=
g
.
style
.
width
=
"0"
,
d
.
style
.
width
=
"1px"
,
d
.
appendChild
(
g
),
b
.
reliableMarginRight
=!
parseFloat
((
a
.
getComputedStyle
(
g
,
null
)
||
{}).
marginRight
)),
typeof
d
.
style
.
zoom
!=
"undefined"
&&
(
d
.
innerHTML
=
""
,
d
.
style
.
cssText
=
h
+
"width:1px;padding:1px;display:inline;zoom:1"
,
b
.
inlineBlockNeedsLayout
=
d
.
offsetWidth
===
3
,
d
.
style
.
display
=
"block"
,
d
.
style
.
overflow
=
"visible"
,
d
.
innerHTML
=
"<div></div>"
,
d
.
firstChild
.
style
.
width
=
"5px"
,
b
.
shrinkWrapBlocks
=
d
.
offsetWidth
!==
3
,
c
.
style
.
zoom
=
1
),
i
.
removeChild
(
c
),
c
=
d
=
f
=
g
=
null
}),
i
.
removeChild
(
n
),
c
=
d
=
f
=
g
=
h
=
i
=
n
=
null
,
b
}();
var
H
=
/
(?:\{[\s\S]
*
\}
|
\[[\s\S]
*
\])
$/
,
I
=
/
([
A-Z
])
/g
;
p
.
extend
({
cache
:{},
deletedIds
:[],
uuid
:
0
,
expando
:
"jQuery"
+
(
p
.
fn
.
jquery
+
Math
.
random
()).
replace
(
/
\D
/g
,
""
),
noData
:{
embed
:
!
0
,
object
:
"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
,
applet
:
!
0
},
hasData
:
function
(
a
){
return
a
=
a
.
nodeType
?
p
.
cache
[
a
[
p
.
expando
]]:
a
[
p
.
expando
],
!!
a
&&!
K
(
a
)},
data
:
function
(
a
,
c
,
d
,
e
){
if
(
!
p
.
acceptData
(
a
))
return
;
var
f
,
g
,
h
=
p
.
expando
,
i
=
typeof
c
==
"string"
,
j
=
a
.
nodeType
,
k
=
j
?
p
.
cache
:
a
,
l
=
j
?
a
[
h
]:
a
[
h
]
&&
h
;
if
((
!
l
||!
k
[
l
]
||!
e
&&!
k
[
l
].
data
)
&&
i
&&
d
===
b
)
return
;
l
||
(
j
?
a
[
h
]
=
l
=
p
.
deletedIds
.
pop
()
||++
p
.
uuid
:
l
=
h
),
k
[
l
]
||
(
k
[
l
]
=
{},
j
||
(
k
[
l
].
toJSON
=
p
.
noop
));
if
(
typeof
c
==
"object"
||
typeof
c
==
"function"
)
e
?
k
[
l
]
=
p
.
extend
(
k
[
l
],
c
):
k
[
l
].
data
=
p
.
extend
(
k
[
l
].
data
,
c
);
return
f
=
k
[
l
],
e
||
(
f
.
data
||
(
f
.
data
=
{}),
f
=
f
.
data
),
d
!==
b
&&
(
f
[
p
.
camelCase
(
c
)]
=
d
),
i
?(
g
=
f
[
c
],
g
==
null
&&
(
g
=
f
[
p
.
camelCase
(
c
)])):
g
=
f
,
g
},
removeData
:
function
(
a
,
b
,
c
){
if
(
!
p
.
acceptData
(
a
))
return
;
var
d
,
e
,
f
,
g
=
a
.
nodeType
,
h
=
g
?
p
.
cache
:
a
,
i
=
g
?
a
[
p
.
expando
]:
p
.
expando
;
if
(
!
h
[
i
])
return
;
if
(
b
){
d
=
c
?
h
[
i
]:
h
[
i
].
data
;
if
(
d
){
p
.
isArray
(
b
)
||
(
b
in
d
?
b
=
[
b
]:(
b
=
p
.
camelCase
(
b
),
b
in
d
?
b
=
[
b
]:
b
=
b
.
split
(
" "
)));
for
(
e
=
0
,
f
=
b
.
length
;
e
<
f
;
e
++
)
delete
d
[
b
[
e
]];
if
(
!
(
c
?
K
:
p
.
isEmptyObject
)(
d
))
return
}}
if
(
!
c
){
delete
h
[
i
].
data
;
if
(
!
K
(
h
[
i
]))
return
}
g
?
p
.
cleanData
([
a
],
!
0
):
p
.
support
.
deleteExpando
||
h
!=
h
.
window
?
delete
h
[
i
]:
h
[
i
]
=
null
},
_data
:
function
(
a
,
b
,
c
){
return
p
.
data
(
a
,
b
,
c
,
!
0
)},
acceptData
:
function
(
a
){
var
b
=
a
.
nodeName
&&
p
.
noData
[
a
.
nodeName
.
toLowerCase
()];
return
!
b
||
b
!==!
0
&&
a
.
getAttribute
(
"classid"
)
===
b
}}),
p
.
fn
.
extend
({
data
:
function
(
a
,
c
){
var
d
,
e
,
f
,
g
,
h
,
i
=
this
[
0
],
j
=
0
,
k
=
null
;
if
(
a
===
b
){
if
(
this
.
length
){
k
=
p
.
data
(
i
);
if
(
i
.
nodeType
===
1
&&!
p
.
_data
(
i
,
"parsedAttrs"
)){
f
=
i
.
attributes
;
for
(
h
=
f
.
length
;
j
<
h
;
j
++
)
g
=
f
[
j
].
name
,
g
.
indexOf
(
"data-"
)
===
0
&&
(
g
=
p
.
camelCase
(
g
.
substring
(
5
)),
J
(
i
,
g
,
k
[
g
]));
p
.
_data
(
i
,
"parsedAttrs"
,
!
0
)}}
return
k
}
return
typeof
a
==
"object"
?
this
.
each
(
function
(){
p
.
data
(
this
,
a
)}):(
d
=
a
.
split
(
"."
,
2
),
d
[
1
]
=
d
[
1
]?
"."
+
d
[
1
]:
""
,
e
=
d
[
1
]
+
"!"
,
p
.
access
(
this
,
function
(
c
){
if
(
c
===
b
)
return
k
=
this
.
triggerHandler
(
"getData"
+
e
,[
d
[
0
]]),
k
===
b
&&
i
&&
(
k
=
p
.
data
(
i
,
a
),
k
=
J
(
i
,
a
,
k
)),
k
===
b
&&
d
[
1
]?
this
.
data
(
d
[
0
]):
k
;
d
[
1
]
=
c
,
this
.
each
(
function
(){
var
b
=
p
(
this
);
b
.
triggerHandler
(
"setData"
+
e
,
d
),
p
.
data
(
this
,
a
,
c
),
b
.
triggerHandler
(
"changeData"
+
e
,
d
)})},
null
,
c
,
arguments
.
length
>
1
,
null
,
!
1
))},
removeData
:
function
(
a
){
return
this
.
each
(
function
(){
p
.
removeData
(
this
,
a
)})}}),
p
.
extend
({
queue
:
function
(
a
,
b
,
c
){
var
d
;
if
(
a
)
return
b
=
(
b
||
"fx"
)
+
"queue"
,
d
=
p
.
_data
(
a
,
b
),
c
&&
(
!
d
||
p
.
isArray
(
c
)?
d
=
p
.
_data
(
a
,
b
,
p
.
makeArray
(
c
)):
d
.
push
(
c
)),
d
||
[]},
dequeue
:
function
(
a
,
b
){
b
=
b
||
"fx"
;
var
c
=
p
.
queue
(
a
,
b
),
d
=
c
.
length
,
e
=
c
.
shift
(),
f
=
p
.
_queueHooks
(
a
,
b
),
g
=
function
(){
p
.
dequeue
(
a
,
b
)};
e
===
"inprogress"
&&
(
e
=
c
.
shift
(),
d
--
),
e
&&
(
b
===
"fx"
&&
c
.
unshift
(
"inprogress"
),
delete
f
.
stop
,
e
.
call
(
a
,
g
,
f
)),
!
d
&&
f
&&
f
.
empty
.
fire
()},
_queueHooks
:
function
(
a
,
b
){
var
c
=
b
+
"queueHooks"
;
return
p
.
_data
(
a
,
c
)
||
p
.
_data
(
a
,
c
,{
empty
:
p
.
Callbacks
(
"once memory"
).
add
(
function
(){
p
.
removeData
(
a
,
b
+
"queue"
,
!
0
),
p
.
removeData
(
a
,
c
,
!
0
)})})}}),
p
.
fn
.
extend
({
queue
:
function
(
a
,
c
){
var
d
=
2
;
return
typeof
a
!=
"string"
&&
(
c
=
a
,
a
=
"fx"
,
d
--
),
arguments
.
length
<
d
?
p
.
queue
(
this
[
0
],
a
):
c
===
b
?
this
:
this
.
each
(
function
(){
var
b
=
p
.
queue
(
this
,
a
,
c
);
p
.
_queueHooks
(
this
,
a
),
a
===
"fx"
&&
b
[
0
]
!==
"inprogress"
&&
p
.
dequeue
(
this
,
a
)})},
dequeue
:
function
(
a
){
return
this
.
each
(
function
(){
p
.
dequeue
(
this
,
a
)})},
delay
:
function
(
a
,
b
){
return
a
=
p
.
fx
?
p
.
fx
.
speeds
[
a
]
||
a
:
a
,
b
=
b
||
"fx"
,
this
.
queue
(
b
,
function
(
b
,
c
){
var
d
=
setTimeout
(
b
,
a
);
c
.
stop
=
function
(){
clearTimeout
(
d
)}})},
clearQueue
:
function
(
a
){
return
this
.
queue
(
a
||
"fx"
,[])},
promise
:
function
(
a
,
c
){
var
d
,
e
=
1
,
f
=
p
.
Deferred
(),
g
=
this
,
h
=
this
.
length
,
i
=
function
(){
--
e
||
f
.
resolveWith
(
g
,[
g
])};
typeof
a
!=
"string"
&&
(
c
=
a
,
a
=
b
),
a
=
a
||
"fx"
;
while
(
h
--
)
d
=
p
.
_data
(
g
[
h
],
a
+
"queueHooks"
),
d
&&
d
.
empty
&&
(
e
++
,
d
.
empty
.
add
(
i
));
return
i
(),
f
.
promise
(
c
)}});
var
L
,
M
,
N
,
O
=
/
[\t\r\n]
/g
,
P
=
/
\r
/g
,
Q
=
/^
(?:
button|input
)
$/i
,
R
=
/^
(?:
button|input|object|select|textarea
)
$/i
,
S
=
/^a
(?:
rea|
)
$/i
,
T
=
/^
(?:
autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected
)
$/i
,
U
=
p
.
support
.
getSetAttribute
;
p
.
fn
.
extend
({
attr
:
function
(
a
,
b
){
return
p
.
access
(
this
,
p
.
attr
,
a
,
b
,
arguments
.
length
>
1
)},
removeAttr
:
function
(
a
){
return
this
.
each
(
function
(){
p
.
removeAttr
(
this
,
a
)})},
prop
:
function
(
a
,
b
){
return
p
.
access
(
this
,
p
.
prop
,
a
,
b
,
arguments
.
length
>
1
)},
removeProp
:
function
(
a
){
return
a
=
p
.
propFix
[
a
]
||
a
,
this
.
each
(
function
(){
try
{
this
[
a
]
=
b
,
delete
this
[
a
]}
catch
(
c
){}})},
addClass
:
function
(
a
){
var
b
,
c
,
d
,
e
,
f
,
g
,
h
;
if
(
p
.
isFunction
(
a
))
return
this
.
each
(
function
(
b
){
p
(
this
).
addClass
(
a
.
call
(
this
,
b
,
this
.
className
))});
if
(
a
&&
typeof
a
==
"string"
){
b
=
a
.
split
(
s
);
for
(
c
=
0
,
d
=
this
.
length
;
c
<
d
;
c
++
){
e
=
this
[
c
];
if
(
e
.
nodeType
===
1
)
if
(
!
e
.
className
&&
b
.
length
===
1
)
e
.
className
=
a
;
else
{
f
=
" "
+
e
.
className
+
" "
;
for
(
g
=
0
,
h
=
b
.
length
;
g
<
h
;
g
++
)
~
f
.
indexOf
(
" "
+
b
[
g
]
+
" "
)
||
(
f
+=
b
[
g
]
+
" "
);
e
.
className
=
p
.
trim
(
f
)}}}
return
this
},
removeClass
:
function
(
a
){
var
c
,
d
,
e
,
f
,
g
,
h
,
i
;
if
(
p
.
isFunction
(
a
))
return
this
.
each
(
function
(
b
){
p
(
this
).
removeClass
(
a
.
call
(
this
,
b
,
this
.
className
))});
if
(
a
&&
typeof
a
==
"string"
||
a
===
b
){
c
=
(
a
||
""
).
split
(
s
);
for
(
h
=
0
,
i
=
this
.
length
;
h
<
i
;
h
++
){
e
=
this
[
h
];
if
(
e
.
nodeType
===
1
&&
e
.
className
){
d
=
(
" "
+
e
.
className
+
" "
).
replace
(
O
,
" "
);
for
(
f
=
0
,
g
=
c
.
length
;
f
<
g
;
f
++
)
while
(
d
.
indexOf
(
" "
+
c
[
f
]
+
" "
)
>-
1
)
d
=
d
.
replace
(
" "
+
c
[
f
]
+
" "
,
" "
);
e
.
className
=
a
?
p
.
trim
(
d
):
""
}}}
return
this
},
toggleClass
:
function
(
a
,
b
){
var
c
=
typeof
a
,
d
=
typeof
b
==
"boolean"
;
return
p
.
isFunction
(
a
)?
this
.
each
(
function
(
c
){
p
(
this
).
toggleClass
(
a
.
call
(
this
,
c
,
this
.
className
,
b
),
b
)}):
this
.
each
(
function
(){
if
(
c
===
"string"
){
var
e
,
f
=
0
,
g
=
p
(
this
),
h
=
b
,
i
=
a
.
split
(
s
);
while
(
e
=
i
[
f
++
])
h
=
d
?
h
:
!
g
.
hasClass
(
e
),
g
[
h
?
"addClass"
:
"removeClass"
](
e
)}
else
if
(
c
===
"undefined"
||
c
===
"boolean"
)
this
.
className
&&
p
.
_data
(
this
,
"__className__"
,
this
.
className
),
this
.
className
=
this
.
className
||
a
===!
1
?
""
:
p
.
_data
(
this
,
"__className__"
)
||
""
})},
hasClass
:
function
(
a
){
var
b
=
" "
+
a
+
" "
,
c
=
0
,
d
=
this
.
length
;
for
(;
c
<
d
;
c
++
)
if
(
this
[
c
].
nodeType
===
1
&&
(
" "
+
this
[
c
].
className
+
" "
).
replace
(
O
,
" "
).
indexOf
(
b
)
>-
1
)
return
!
0
;
return
!
1
},
val
:
function
(
a
){
var
c
,
d
,
e
,
f
=
this
[
0
];
if
(
!
arguments
.
length
){
if
(
f
)
return
c
=
p
.
valHooks
[
f
.
type
]
||
p
.
valHooks
[
f
.
nodeName
.
toLowerCase
()],
c
&&
"get"
in
c
&&
(
d
=
c
.
get
(
f
,
"value"
))
!==
b
?
d
:(
d
=
f
.
value
,
typeof
d
==
"string"
?
d
.
replace
(
P
,
""
):
d
==
null
?
""
:
d
);
return
}
return
e
=
p
.
isFunction
(
a
),
this
.
each
(
function
(
d
){
var
f
,
g
=
p
(
this
);
if
(
this
.
nodeType
!==
1
)
return
;
e
?
f
=
a
.
call
(
this
,
d
,
g
.
val
()):
f
=
a
,
f
==
null
?
f
=
""
:
typeof
f
==
"number"
?
f
+=
""
:
p
.
isArray
(
f
)
&&
(
f
=
p
.
map
(
f
,
function
(
a
){
return
a
==
null
?
""
:
a
+
""
})),
c
=
p
.
valHooks
[
this
.
type
]
||
p
.
valHooks
[
this
.
nodeName
.
toLowerCase
()];
if
(
!
c
||!
(
"set"
in
c
)
||
c
.
set
(
this
,
f
,
"value"
)
===
b
)
this
.
value
=
f
})}}),
p
.
extend
({
valHooks
:{
option
:{
get
:
function
(
a
){
var
b
=
a
.
attributes
.
value
;
return
!
b
||
b
.
specified
?
a
.
value
:
a
.
text
}},
select
:{
get
:
function
(
a
){
var
b
,
c
,
d
,
e
,
f
=
a
.
selectedIndex
,
g
=
[],
h
=
a
.
options
,
i
=
a
.
type
===
"select-one"
;
if
(
f
<
0
)
return
null
;
c
=
i
?
f
:
0
,
d
=
i
?
f
+
1
:
h
.
length
;
for
(;
c
<
d
;
c
++
){
e
=
h
[
c
];
if
(
e
.
selected
&&
(
p
.
support
.
optDisabled
?
!
e
.
disabled
:
e
.
getAttribute
(
"disabled"
)
===
null
)
&&
(
!
e
.
parentNode
.
disabled
||!
p
.
nodeName
(
e
.
parentNode
,
"optgroup"
))){
b
=
p
(
e
).
val
();
if
(
i
)
return
b
;
g
.
push
(
b
)}}
return
i
&&!
g
.
length
&&
h
.
length
?
p
(
h
[
f
]).
val
():
g
},
set
:
function
(
a
,
b
){
var
c
=
p
.
makeArray
(
b
);
return
p
(
a
).
find
(
"option"
).
each
(
function
(){
this
.
selected
=
p
.
inArray
(
p
(
this
).
val
(),
c
)
>=
0
}),
c
.
length
||
(
a
.
selectedIndex
=-
1
),
c
}}},
attrFn
:{},
attr
:
function
(
a
,
c
,
d
,
e
){
var
f
,
g
,
h
,
i
=
a
.
nodeType
;
if
(
!
a
||
i
===
3
||
i
===
8
||
i
===
2
)
return
;
if
(
e
&&
p
.
isFunction
(
p
.
fn
[
c
]))
return
p
(
a
)[
c
](
d
);
if
(
typeof
a
.
getAttribute
==
"undefined"
)
return
p
.
prop
(
a
,
c
,
d
);
h
=
i
!==
1
||!
p
.
isXMLDoc
(
a
),
h
&&
(
c
=
c
.
toLowerCase
(),
g
=
p
.
attrHooks
[
c
]
||
(
T
.
test
(
c
)?
M
:
L
));
if
(
d
!==
b
){
if
(
d
===
null
){
p
.
removeAttr
(
a
,
c
);
return
}
return
g
&&
"set"
in
g
&&
h
&&
(
f
=
g
.
set
(
a
,
d
,
c
))
!==
b
?
f
:(
a
.
setAttribute
(
c
,
""
+
d
),
d
)}
return
g
&&
"get"
in
g
&&
h
&&
(
f
=
g
.
get
(
a
,
c
))
!==
null
?
f
:(
f
=
a
.
getAttribute
(
c
),
f
===
null
?
b
:
f
)},
removeAttr
:
function
(
a
,
b
){
var
c
,
d
,
e
,
f
,
g
=
0
;
if
(
b
&&
a
.
nodeType
===
1
){
d
=
b
.
split
(
s
);
for
(;
g
<
d
.
length
;
g
++
)
e
=
d
[
g
],
e
&&
(
c
=
p
.
propFix
[
e
]
||
e
,
f
=
T
.
test
(
e
),
f
||
p
.
attr
(
a
,
e
,
""
),
a
.
removeAttribute
(
U
?
e
:
c
),
f
&&
c
in
a
&&
(
a
[
c
]
=!
1
))}},
attrHooks
:{
type
:{
set
:
function
(
a
,
b
){
if
(
Q
.
test
(
a
.
nodeName
)
&&
a
.
parentNode
)
p
.
error
(
"type property can't be changed"
);
else
if
(
!
p
.
support
.
radioValue
&&
b
===
"radio"
&&
p
.
nodeName
(
a
,
"input"
)){
var
c
=
a
.
value
;
return
a
.
setAttribute
(
"type"
,
b
),
c
&&
(
a
.
value
=
c
),
b
}}},
value
:{
get
:
function
(
a
,
b
){
return
L
&&
p
.
nodeName
(
a
,
"button"
)?
L
.
get
(
a
,
b
):
b
in
a
?
a
.
value
:
null
},
set
:
function
(
a
,
b
,
c
){
if
(
L
&&
p
.
nodeName
(
a
,
"button"
))
return
L
.
set
(
a
,
b
,
c
);
a
.
value
=
b
}}},
propFix
:{
tabindex
:
"tabIndex"
,
readonly
:
"readOnly"
,
"for"
:
"htmlFor"
,
"class"
:
"className"
,
maxlength
:
"maxLength"
,
cellspacing
:
"cellSpacing"
,
cellpadding
:
"cellPadding"
,
rowspan
:
"rowSpan"
,
colspan
:
"colSpan"
,
usemap
:
"useMap"
,
frameborder
:
"frameBorder"
,
contenteditable
:
"contentEditable"
},
prop
:
function
(
a
,
c
,
d
){
var
e
,
f
,
g
,
h
=
a
.
nodeType
;
if
(
!
a
||
h
===
3
||
h
===
8
||
h
===
2
)
return
;
return
g
=
h
!==
1
||!
p
.
isXMLDoc
(
a
),
g
&&
(
c
=
p
.
propFix
[
c
]
||
c
,
f
=
p
.
propHooks
[
c
]),
d
!==
b
?
f
&&
"set"
in
f
&&
(
e
=
f
.
set
(
a
,
d
,
c
))
!==
b
?
e
:
a
[
c
]
=
d
:
f
&&
"get"
in
f
&&
(
e
=
f
.
get
(
a
,
c
))
!==
null
?
e
:
a
[
c
]},
propHooks
:{
tabIndex
:{
get
:
function
(
a
){
var
c
=
a
.
getAttributeNode
(
"tabindex"
);
return
c
&&
c
.
specified
?
parseInt
(
c
.
value
,
10
):
R
.
test
(
a
.
nodeName
)
||
S
.
test
(
a
.
nodeName
)
&&
a
.
href
?
0
:
b
}}}}),
M
=
{
get
:
function
(
a
,
c
){
var
d
,
e
=
p
.
prop
(
a
,
c
);
return
e
===!
0
||
typeof
e
!=
"boolean"
&&
(
d
=
a
.
getAttributeNode
(
c
))
&&
d
.
nodeValue
!==!
1
?
c
.
toLowerCase
():
b
},
set
:
function
(
a
,
b
,
c
){
var
d
;
return
b
===!
1
?
p
.
removeAttr
(
a
,
c
):(
d
=
p
.
propFix
[
c
]
||
c
,
d
in
a
&&
(
a
[
d
]
=!
0
),
a
.
setAttribute
(
c
,
c
.
toLowerCase
())),
c
}},
U
||
(
N
=
{
name
:
!
0
,
id
:
!
0
,
coords
:
!
0
},
L
=
p
.
valHooks
.
button
=
{
get
:
function
(
a
,
c
){
var
d
;
return
d
=
a
.
getAttributeNode
(
c
),
d
&&
(
N
[
c
]?
d
.
value
!==
""
:
d
.
specified
)?
d
.
value
:
b
},
set
:
function
(
a
,
b
,
c
){
var
d
=
a
.
getAttributeNode
(
c
);
return
d
||
(
d
=
e
.
createAttribute
(
c
),
a
.
setAttributeNode
(
d
)),
d
.
value
=
b
+
""
}},
p
.
each
([
"width"
,
"height"
],
function
(
a
,
b
){
p
.
attrHooks
[
b
]
=
p
.
extend
(
p
.
attrHooks
[
b
],{
set
:
function
(
a
,
c
){
if
(
c
===
""
)
return
a
.
setAttribute
(
b
,
"auto"
),
c
}})}),
p
.
attrHooks
.
contenteditable
=
{
get
:
L
.
get
,
set
:
function
(
a
,
b
,
c
){
b
===
""
&&
(
b
=
"false"
),
L
.
set
(
a
,
b
,
c
)}}),
p
.
support
.
hrefNormalized
||
p
.
each
([
"href"
,
"src"
,
"width"
,
"height"
],
function
(
a
,
c
){
p
.
attrHooks
[
c
]
=
p
.
extend
(
p
.
attrHooks
[
c
],{
get
:
function
(
a
){
var
d
=
a
.
getAttribute
(
c
,
2
);
return
d
===
null
?
b
:
d
}})}),
p
.
support
.
style
||
(
p
.
attrHooks
.
style
=
{
get
:
function
(
a
){
return
a
.
style
.
cssText
.
toLowerCase
()
||
b
},
set
:
function
(
a
,
b
){
return
a
.
style
.
cssText
=
""
+
b
}}),
p
.
support
.
optSelected
||
(
p
.
propHooks
.
selected
=
p
.
extend
(
p
.
propHooks
.
selected
,{
get
:
function
(
a
){
var
b
=
a
.
parentNode
;
return
b
&&
(
b
.
selectedIndex
,
b
.
parentNode
&&
b
.
parentNode
.
selectedIndex
),
null
}})),
p
.
support
.
enctype
||
(
p
.
propFix
.
enctype
=
"encoding"
),
p
.
support
.
checkOn
||
p
.
each
([
"radio"
,
"checkbox"
],
function
(){
p
.
valHooks
[
this
]
=
{
get
:
function
(
a
){
return
a
.
getAttribute
(
"value"
)
===
null
?
"on"
:
a
.
value
}}}),
p
.
each
([
"radio"
,
"checkbox"
],
function
(){
p
.
valHooks
[
this
]
=
p
.
extend
(
p
.
valHooks
[
this
],{
set
:
function
(
a
,
b
){
if
(
p
.
isArray
(
b
))
return
a
.
checked
=
p
.
inArray
(
p
(
a
).
val
(),
b
)
>=
0
}})});
var
V
=
/^
(?:
textarea|input|select
)
$/i
,
W
=
/^
([^\.]
*|
)(?:\.(
.+
)
|
)
$/
,
X
=
/
(?:
^|
\s)
hover
(\.\S
+|
)\b
/
,
Y
=
/^key/
,
Z
=
/^
(?:
mouse|contextmenu
)
|click/
,
$
=
/^
(?:
focusinfocus|focusoutblur
)
$/
,
_
=
function
(
a
){
return
p
.
event
.
special
.
hover
?
a
:
a
.
replace
(
X
,
"mouseenter$1 mouseleave$1"
)};
p
.
event
=
{
add
:
function
(
a
,
c
,
d
,
e
,
f
){
var
g
,
h
,
i
,
j
,
k
,
l
,
m
,
n
,
o
,
q
,
r
;
if
(
a
.
nodeType
===
3
||
a
.
nodeType
===
8
||!
c
||!
d
||!
(
g
=
p
.
_data
(
a
)))
return
;
d
.
handler
&&
(
o
=
d
,
d
=
o
.
handler
,
f
=
o
.
selector
),
d
.
guid
||
(
d
.
guid
=
p
.
guid
++
),
i
=
g
.
events
,
i
||
(
g
.
events
=
i
=
{}),
h
=
g
.
handle
,
h
||
(
g
.
handle
=
h
=
function
(
a
){
return
typeof
p
!=
"undefined"
&&
(
!
a
||
p
.
event
.
triggered
!==
a
.
type
)?
p
.
event
.
dispatch
.
apply
(
h
.
elem
,
arguments
):
b
},
h
.
elem
=
a
),
c
=
p
.
trim
(
_
(
c
)).
split
(
" "
);
for
(
j
=
0
;
j
<
c
.
length
;
j
++
){
k
=
W
.
exec
(
c
[
j
])
||
[],
l
=
k
[
1
],
m
=
(
k
[
2
]
||
""
).
split
(
"."
).
sort
(),
r
=
p
.
event
.
special
[
l
]
||
{},
l
=
(
f
?
r
.
delegateType
:
r
.
bindType
)
||
l
,
r
=
p
.
event
.
special
[
l
]
||
{},
n
=
p
.
extend
({
type
:
l
,
origType
:
k
[
1
],
data
:
e
,
handler
:
d
,
guid
:
d
.
guid
,
selector
:
f
,
namespace
:
m
.
join
(
"."
)},
o
),
q
=
i
[
l
];
if
(
!
q
){
q
=
i
[
l
]
=
[],
q
.
delegateCount
=
0
;
if
(
!
r
.
setup
||
r
.
setup
.
call
(
a
,
e
,
m
,
h
)
===!
1
)
a
.
addEventListener
?
a
.
addEventListener
(
l
,
h
,
!
1
):
a
.
attachEvent
&&
a
.
attachEvent
(
"on"
+
l
,
h
)}
r
.
add
&&
(
r
.
add
.
call
(
a
,
n
),
n
.
handler
.
guid
||
(
n
.
handler
.
guid
=
d
.
guid
)),
f
?
q
.
splice
(
q
.
delegateCount
++
,
0
,
n
):
q
.
push
(
n
),
p
.
event
.
global
[
l
]
=!
0
}
a
=
null
},
global
:{},
remove
:
function
(
a
,
b
,
c
,
d
,
e
){
var
f
,
g
,
h
,
i
,
j
,
k
,
l
,
m
,
n
,
o
,
q
,
r
=
p
.
hasData
(
a
)
&&
p
.
_data
(
a
);
if
(
!
r
||!
(
m
=
r
.
events
))
return
;
b
=
p
.
trim
(
_
(
b
||
""
)).
split
(
" "
);
for
(
f
=
0
;
f
<
b
.
length
;
f
++
){
g
=
W
.
exec
(
b
[
f
])
||
[],
h
=
i
=
g
[
1
],
j
=
g
[
2
];
if
(
!
h
){
for
(
h
in
m
)
p
.
event
.
remove
(
a
,
h
+
b
[
f
],
c
,
d
,
!
0
);
continue
}
n
=
p
.
event
.
special
[
h
]
||
{},
h
=
(
d
?
n
.
delegateType
:
n
.
bindType
)
||
h
,
o
=
m
[
h
]
||
[],
k
=
o
.
length
,
j
=
j
?
new
RegExp
(
"(^|
\\
.)"
+
j
.
split
(
"."
).
sort
().
join
(
"
\\
.(?:.*
\\
.|)"
)
+
"(
\\
.|$)"
):
null
;
for
(
l
=
0
;
l
<
o
.
length
;
l
++
)
q
=
o
[
l
],(
e
||
i
===
q
.
origType
)
&&
(
!
c
||
c
.
guid
===
q
.
guid
)
&&
(
!
j
||
j
.
test
(
q
.
namespace
))
&&
(
!
d
||
d
===
q
.
selector
||
d
===
"**"
&&
q
.
selector
)
&&
(
o
.
splice
(
l
--
,
1
),
q
.
selector
&&
o
.
delegateCount
--
,
n
.
remove
&&
n
.
remove
.
call
(
a
,
q
));
o
.
length
===
0
&&
k
!==
o
.
length
&&
((
!
n
.
teardown
||
n
.
teardown
.
call
(
a
,
j
,
r
.
handle
)
===!
1
)
&&
p
.
removeEvent
(
a
,
h
,
r
.
handle
),
delete
m
[
h
])}
p
.
isEmptyObject
(
m
)
&&
(
delete
r
.
handle
,
p
.
removeData
(
a
,
"events"
,
!
0
))},
customEvent
:{
getData
:
!
0
,
setData
:
!
0
,
changeData
:
!
0
},
trigger
:
function
(
c
,
d
,
f
,
g
){
if
(
!
f
||
f
.
nodeType
!==
3
&&
f
.
nodeType
!==
8
){
var
h
,
i
,
j
,
k
,
l
,
m
,
n
,
o
,
q
,
r
,
s
=
c
.
type
||
c
,
t
=
[];
if
(
$
.
test
(
s
+
p
.
event
.
triggered
))
return
;
s
.
indexOf
(
"!"
)
>=
0
&&
(
s
=
s
.
slice
(
0
,
-
1
),
i
=!
0
),
s
.
indexOf
(
"."
)
>=
0
&&
(
t
=
s
.
split
(
"."
),
s
=
t
.
shift
(),
t
.
sort
());
if
((
!
f
||
p
.
event
.
customEvent
[
s
])
&&!
p
.
event
.
global
[
s
])
return
;
c
=
typeof
c
==
"object"
?
c
[
p
.
expando
]?
c
:
new
p
.
Event
(
s
,
c
):
new
p
.
Event
(
s
),
c
.
type
=
s
,
c
.
isTrigger
=!
0
,
c
.
exclusive
=
i
,
c
.
namespace
=
t
.
join
(
"."
),
c
.
namespace_re
=
c
.
namespace
?
new
RegExp
(
"(^|
\\
.)"
+
t
.
join
(
"
\\
.(?:.*
\\
.|)"
)
+
"(
\\
.|$)"
):
null
,
m
=
s
.
indexOf
(
":"
)
<
0
?
"on"
+
s
:
""
;
if
(
!
f
){
h
=
p
.
cache
;
for
(
j
in
h
)
h
[
j
].
events
&&
h
[
j
].
events
[
s
]
&&
p
.
event
.
trigger
(
c
,
d
,
h
[
j
].
handle
.
elem
,
!
0
);
return
}
c
.
result
=
b
,
c
.
target
||
(
c
.
target
=
f
),
d
=
d
!=
null
?
p
.
makeArray
(
d
):[],
d
.
unshift
(
c
),
n
=
p
.
event
.
special
[
s
]
||
{};
if
(
n
.
trigger
&&
n
.
trigger
.
apply
(
f
,
d
)
===!
1
)
return
;
q
=
[[
f
,
n
.
bindType
||
s
]];
if
(
!
g
&&!
n
.
noBubble
&&!
p
.
isWindow
(
f
)){
r
=
n
.
delegateType
||
s
,
k
=
$
.
test
(
r
+
s
)?
f
:
f
.
parentNode
;
for
(
l
=
f
;
k
;
k
=
k
.
parentNode
)
q
.
push
([
k
,
r
]),
l
=
k
;
l
===
(
f
.
ownerDocument
||
e
)
&&
q
.
push
([
l
.
defaultView
||
l
.
parentWindow
||
a
,
r
])}
for
(
j
=
0
;
j
<
q
.
length
&&!
c
.
isPropagationStopped
();
j
++
)
k
=
q
[
j
][
0
],
c
.
type
=
q
[
j
][
1
],
o
=
(
p
.
_data
(
k
,
"events"
)
||
{})[
c
.
type
]
&&
p
.
_data
(
k
,
"handle"
),
o
&&
o
.
apply
(
k
,
d
),
o
=
m
&&
k
[
m
],
o
&&
p
.
acceptData
(
k
)
&&
o
.
apply
(
k
,
d
)
===!
1
&&
c
.
preventDefault
();
return
c
.
type
=
s
,
!
g
&&!
c
.
isDefaultPrevented
()
&&
(
!
n
.
_default
||
n
.
_default
.
apply
(
f
.
ownerDocument
,
d
)
===!
1
)
&&
(
s
!==
"click"
||!
p
.
nodeName
(
f
,
"a"
))
&&
p
.
acceptData
(
f
)
&&
m
&&
f
[
s
]
&&
(
s
!==
"focus"
&&
s
!==
"blur"
||
c
.
target
.
offsetWidth
!==
0
)
&&!
p
.
isWindow
(
f
)
&&
(
l
=
f
[
m
],
l
&&
(
f
[
m
]
=
null
),
p
.
event
.
triggered
=
s
,
f
[
s
](),
p
.
event
.
triggered
=
b
,
l
&&
(
f
[
m
]
=
l
)),
c
.
result
}
return
},
dispatch
:
function
(
c
){
c
=
p
.
event
.
fix
(
c
||
a
.
event
);
var
d
,
e
,
f
,
g
,
h
,
i
,
j
,
k
,
l
,
m
,
n
=
(
p
.
_data
(
this
,
"events"
)
||
{})[
c
.
type
]
||
[],
o
=
n
.
delegateCount
,
q
=
[].
slice
.
call
(
arguments
),
r
=!
c
.
exclusive
&&!
c
.
namespace
,
s
=
p
.
event
.
special
[
c
.
type
]
||
{},
t
=
[];
q
[
0
]
=
c
,
c
.
delegateTarget
=
this
;
if
(
s
.
preDispatch
&&
s
.
preDispatch
.
call
(
this
,
c
)
===!
1
)
return
;
if
(
o
&&
(
!
c
.
button
||
c
.
type
!==
"click"
))
for
(
f
=
c
.
target
;
f
!=
this
;
f
=
f
.
parentNode
||
this
)
if
(
f
.
disabled
!==!
0
||
c
.
type
!==
"click"
){
h
=
{},
j
=
[];
for
(
d
=
0
;
d
<
o
;
d
++
)
k
=
n
[
d
],
l
=
k
.
selector
,
h
[
l
]
===
b
&&
(
h
[
l
]
=
p
(
l
,
this
).
index
(
f
)
>=
0
),
h
[
l
]
&&
j
.
push
(
k
);
j
.
length
&&
t
.
push
({
elem
:
f
,
matches
:
j
})}
n
.
length
>
o
&&
t
.
push
({
elem
:
this
,
matches
:
n
.
slice
(
o
)});
for
(
d
=
0
;
d
<
t
.
length
&&!
c
.
isPropagationStopped
();
d
++
){
i
=
t
[
d
],
c
.
currentTarget
=
i
.
elem
;
for
(
e
=
0
;
e
<
i
.
matches
.
length
&&!
c
.
isImmediatePropagationStopped
();
e
++
){
k
=
i
.
matches
[
e
];
if
(
r
||!
c
.
namespace
&&!
k
.
namespace
||
c
.
namespace_re
&&
c
.
namespace_re
.
test
(
k
.
namespace
))
c
.
data
=
k
.
data
,
c
.
handleObj
=
k
,
g
=
((
p
.
event
.
special
[
k
.
origType
]
||
{}).
handle
||
k
.
handler
).
apply
(
i
.
elem
,
q
),
g
!==
b
&&
(
c
.
result
=
g
,
g
===!
1
&&
(
c
.
preventDefault
(),
c
.
stopPropagation
()))}}
return
s
.
postDispatch
&&
s
.
postDispatch
.
call
(
this
,
c
),
c
.
result
},
props
:
"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which"
.
split
(
" "
),
fixHooks
:{},
keyHooks
:{
props
:
"char charCode key keyCode"
.
split
(
" "
),
filter
:
function
(
a
,
b
){
return
a
.
which
==
null
&&
(
a
.
which
=
b
.
charCode
!=
null
?
b
.
charCode
:
b
.
keyCode
),
a
}},
mouseHooks
:{
props
:
"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement"
.
split
(
" "
),
filter
:
function
(
a
,
c
){
var
d
,
f
,
g
,
h
=
c
.
button
,
i
=
c
.
fromElement
;
return
a
.
pageX
==
null
&&
c
.
clientX
!=
null
&&
(
d
=
a
.
target
.
ownerDocument
||
e
,
f
=
d
.
documentElement
,
g
=
d
.
body
,
a
.
pageX
=
c
.
clientX
+
(
f
&&
f
.
scrollLeft
||
g
&&
g
.
scrollLeft
||
0
)
-
(
f
&&
f
.
clientLeft
||
g
&&
g
.
clientLeft
||
0
),
a
.
pageY
=
c
.
clientY
+
(
f
&&
f
.
scrollTop
||
g
&&
g
.
scrollTop
||
0
)
-
(
f
&&
f
.
clientTop
||
g
&&
g
.
clientTop
||
0
)),
!
a
.
relatedTarget
&&
i
&&
(
a
.
relatedTarget
=
i
===
a
.
target
?
c
.
toElement
:
i
),
!
a
.
which
&&
h
!==
b
&&
(
a
.
which
=
h
&
1
?
1
:
h
&
2
?
3
:
h
&
4
?
2
:
0
),
a
}},
fix
:
function
(
a
){
if
(
a
[
p
.
expando
])
return
a
;
var
b
,
c
,
d
=
a
,
f
=
p
.
event
.
fixHooks
[
a
.
type
]
||
{},
g
=
f
.
props
?
this
.
props
.
concat
(
f
.
props
):
this
.
props
;
a
=
p
.
Event
(
d
);
for
(
b
=
g
.
length
;
b
;)
c
=
g
[
--
b
],
a
[
c
]
=
d
[
c
];
return
a
.
target
||
(
a
.
target
=
d
.
srcElement
||
e
),
a
.
target
.
nodeType
===
3
&&
(
a
.
target
=
a
.
target
.
parentNode
),
a
.
metaKey
=!!
a
.
metaKey
,
f
.
filter
?
f
.
filter
(
a
,
d
):
a
},
special
:{
load
:{
noBubble
:
!
0
},
focus
:{
delegateType
:
"focusin"
},
blur
:{
delegateType
:
"focusout"
},
beforeunload
:{
setup
:
function
(
a
,
b
,
c
){
p
.
isWindow
(
this
)
&&
(
this
.
onbeforeunload
=
c
)},
teardown
:
function
(
a
,
b
){
this
.
onbeforeunload
===
b
&&
(
this
.
onbeforeunload
=
null
)}}},
simulate
:
function
(
a
,
b
,
c
,
d
){
var
e
=
p
.
extend
(
new
p
.
Event
,
c
,{
type
:
a
,
isSimulated
:
!
0
,
originalEvent
:{}});
d
?
p
.
event
.
trigger
(
e
,
null
,
b
):
p
.
event
.
dispatch
.
call
(
b
,
e
),
e
.
isDefaultPrevented
()
&&
c
.
preventDefault
()}},
p
.
event
.
handle
=
p
.
event
.
dispatch
,
p
.
removeEvent
=
e
.
removeEventListener
?
function
(
a
,
b
,
c
){
a
.
removeEventListener
&&
a
.
removeEventListener
(
b
,
c
,
!
1
)}:
function
(
a
,
b
,
c
){
var
d
=
"on"
+
b
;
a
.
detachEvent
&&
(
typeof
a
[
d
]
==
"undefined"
&&
(
a
[
d
]
=
null
),
a
.
detachEvent
(
d
,
c
))},
p
.
Event
=
function
(
a
,
b
){
if
(
this
instanceof
p
.
Event
)
a
&&
a
.
type
?(
this
.
originalEvent
=
a
,
this
.
type
=
a
.
type
,
this
.
isDefaultPrevented
=
a
.
defaultPrevented
||
a
.
returnValue
===!
1
||
a
.
getPreventDefault
&&
a
.
getPreventDefault
()?
bb
:
ba
):
this
.
type
=
a
,
b
&&
p
.
extend
(
this
,
b
),
this
.
timeStamp
=
a
&&
a
.
timeStamp
||
p
.
now
(),
this
[
p
.
expando
]
=!
0
;
else
return
new
p
.
Event
(
a
,
b
)},
p
.
Event
.
prototype
=
{
preventDefault
:
function
(){
this
.
isDefaultPrevented
=
bb
;
var
a
=
this
.
originalEvent
;
if
(
!
a
)
return
;
a
.
preventDefault
?
a
.
preventDefault
():
a
.
returnValue
=!
1
},
stopPropagation
:
function
(){
this
.
isPropagationStopped
=
bb
;
var
a
=
this
.
originalEvent
;
if
(
!
a
)
return
;
a
.
stopPropagation
&&
a
.
stopPropagation
(),
a
.
cancelBubble
=!
0
},
stopImmediatePropagation
:
function
(){
this
.
isImmediatePropagationStopped
=
bb
,
this
.
stopPropagation
()},
isDefaultPrevented
:
ba
,
isPropagationStopped
:
ba
,
isImmediatePropagationStopped
:
ba
},
p
.
each
({
mouseenter
:
"mouseover"
,
mouseleave
:
"mouseout"
},
function
(
a
,
b
){
p
.
event
.
special
[
a
]
=
{
delegateType
:
b
,
bindType
:
b
,
handle
:
function
(
a
){
var
c
,
d
=
this
,
e
=
a
.
relatedTarget
,
f
=
a
.
handleObj
,
g
=
f
.
selector
;
if
(
!
e
||
e
!==
d
&&!
p
.
contains
(
d
,
e
))
a
.
type
=
f
.
origType
,
c
=
f
.
handler
.
apply
(
this
,
arguments
),
a
.
type
=
b
;
return
c
}}}),
p
.
support
.
submitBubbles
||
(
p
.
event
.
special
.
submit
=
{
setup
:
function
(){
if
(
p
.
nodeName
(
this
,
"form"
))
return
!
1
;
p
.
event
.
add
(
this
,
"click._submit keypress._submit"
,
function
(
a
){
var
c
=
a
.
target
,
d
=
p
.
nodeName
(
c
,
"input"
)
||
p
.
nodeName
(
c
,
"button"
)?
c
.
form
:
b
;
d
&&!
p
.
_data
(
d
,
"_submit_attached"
)
&&
(
p
.
event
.
add
(
d
,
"submit._submit"
,
function
(
a
){
a
.
_submit_bubble
=!
0
}),
p
.
_data
(
d
,
"_submit_attached"
,
!
0
))})},
postDispatch
:
function
(
a
){
a
.
_submit_bubble
&&
(
delete
a
.
_submit_bubble
,
this
.
parentNode
&&!
a
.
isTrigger
&&
p
.
event
.
simulate
(
"submit"
,
this
.
parentNode
,
a
,
!
0
))},
teardown
:
function
(){
if
(
p
.
nodeName
(
this
,
"form"
))
return
!
1
;
p
.
event
.
remove
(
this
,
"._submit"
)}}),
p
.
support
.
changeBubbles
||
(
p
.
event
.
special
.
change
=
{
setup
:
function
(){
if
(
V
.
test
(
this
.
nodeName
)){
if
(
this
.
type
===
"checkbox"
||
this
.
type
===
"radio"
)
p
.
event
.
add
(
this
,
"propertychange._change"
,
function
(
a
){
a
.
originalEvent
.
propertyName
===
"checked"
&&
(
this
.
_just_changed
=!
0
)}),
p
.
event
.
add
(
this
,
"click._change"
,
function
(
a
){
this
.
_just_changed
&&!
a
.
isTrigger
&&
(
this
.
_just_changed
=!
1
),
p
.
event
.
simulate
(
"change"
,
this
,
a
,
!
0
)});
return
!
1
}
p
.
event
.
add
(
this
,
"beforeactivate._change"
,
function
(
a
){
var
b
=
a
.
target
;
V
.
test
(
b
.
nodeName
)
&&!
p
.
_data
(
b
,
"_change_attached"
)
&&
(
p
.
event
.
add
(
b
,
"change._change"
,
function
(
a
){
this
.
parentNode
&&!
a
.
isSimulated
&&!
a
.
isTrigger
&&
p
.
event
.
simulate
(
"change"
,
this
.
parentNode
,
a
,
!
0
)}),
p
.
_data
(
b
,
"_change_attached"
,
!
0
))})},
handle
:
function
(
a
){
var
b
=
a
.
target
;
if
(
this
!==
b
||
a
.
isSimulated
||
a
.
isTrigger
||
b
.
type
!==
"radio"
&&
b
.
type
!==
"checkbox"
)
return
a
.
handleObj
.
handler
.
apply
(
this
,
arguments
)},
teardown
:
function
(){
return
p
.
event
.
remove
(
this
,
"._change"
),
!
V
.
test
(
this
.
nodeName
)}}),
p
.
support
.
focusinBubbles
||
p
.
each
({
focus
:
"focusin"
,
blur
:
"focusout"
},
function
(
a
,
b
){
var
c
=
0
,
d
=
function
(
a
){
p
.
event
.
simulate
(
b
,
a
.
target
,
p
.
event
.
fix
(
a
),
!
0
)};
p
.
event
.
special
[
b
]
=
{
setup
:
function
(){
c
++===
0
&&
e
.
addEventListener
(
a
,
d
,
!
0
)},
teardown
:
function
(){
--
c
===
0
&&
e
.
removeEventListener
(
a
,
d
,
!
0
)}}}),
p
.
fn
.
extend
({
on
:
function
(
a
,
c
,
d
,
e
,
f
){
var
g
,
h
;
if
(
typeof
a
==
"object"
){
typeof
c
!=
"string"
&&
(
d
=
d
||
c
,
c
=
b
);
for
(
h
in
a
)
this
.
on
(
h
,
c
,
d
,
a
[
h
],
f
);
return
this
}
d
==
null
&&
e
==
null
?(
e
=
c
,
d
=
c
=
b
):
e
==
null
&&
(
typeof
c
==
"string"
?(
e
=
d
,
d
=
b
):(
e
=
d
,
d
=
c
,
c
=
b
));
if
(
e
===!
1
)
e
=
ba
;
else
if
(
!
e
)
return
this
;
return
f
===
1
&&
(
g
=
e
,
e
=
function
(
a
){
return
p
().
off
(
a
),
g
.
apply
(
this
,
arguments
)},
e
.
guid
=
g
.
guid
||
(
g
.
guid
=
p
.
guid
++
)),
this
.
each
(
function
(){
p
.
event
.
add
(
this
,
a
,
e
,
d
,
c
)})},
one
:
function
(
a
,
b
,
c
,
d
){
return
this
.
on
(
a
,
b
,
c
,
d
,
1
)},
off
:
function
(
a
,
c
,
d
){
var
e
,
f
;
if
(
a
&&
a
.
preventDefault
&&
a
.
handleObj
)
return
e
=
a
.
handleObj
,
p
(
a
.
delegateTarget
).
off
(
e
.
namespace
?
e
.
origType
+
"."
+
e
.
namespace
:
e
.
origType
,
e
.
selector
,
e
.
handler
),
this
;
if
(
typeof
a
==
"object"
){
for
(
f
in
a
)
this
.
off
(
f
,
c
,
a
[
f
]);
return
this
}
if
(
c
===!
1
||
typeof
c
==
"function"
)
d
=
c
,
c
=
b
;
return
d
===!
1
&&
(
d
=
ba
),
this
.
each
(
function
(){
p
.
event
.
remove
(
this
,
a
,
d
,
c
)})},
bind
:
function
(
a
,
b
,
c
){
return
this
.
on
(
a
,
null
,
b
,
c
)},
unbind
:
function
(
a
,
b
){
return
this
.
off
(
a
,
null
,
b
)},
live
:
function
(
a
,
b
,
c
){
return
p
(
this
.
context
).
on
(
a
,
this
.
selector
,
b
,
c
),
this
},
die
:
function
(
a
,
b
){
return
p
(
this
.
context
).
off
(
a
,
this
.
selector
||
"**"
,
b
),
this
},
delegate
:
function
(
a
,
b
,
c
,
d
){
return
this
.
on
(
b
,
a
,
c
,
d
)},
undelegate
:
function
(
a
,
b
,
c
){
return
arguments
.
length
==
1
?
this
.
off
(
a
,
"**"
):
this
.
off
(
b
,
a
||
"**"
,
c
)},
trigger
:
function
(
a
,
b
){
return
this
.
each
(
function
(){
p
.
event
.
trigger
(
a
,
b
,
this
)})},
triggerHandler
:
function
(
a
,
b
){
if
(
this
[
0
])
return
p
.
event
.
trigger
(
a
,
b
,
this
[
0
],
!
0
)},
toggle
:
function
(
a
){
var
b
=
arguments
,
c
=
a
.
guid
||
p
.
guid
++
,
d
=
0
,
e
=
function
(
c
){
var
e
=
(
p
.
_data
(
this
,
"lastToggle"
+
a
.
guid
)
||
0
)
%
d
;
return
p
.
_data
(
this
,
"lastToggle"
+
a
.
guid
,
e
+
1
),
c
.
preventDefault
(),
b
[
e
].
apply
(
this
,
arguments
)
||!
1
};
e
.
guid
=
c
;
while
(
d
<
b
.
length
)
b
[
d
++
].
guid
=
c
;
return
this
.
click
(
e
)},
hover
:
function
(
a
,
b
){
return
this
.
mouseenter
(
a
).
mouseleave
(
b
||
a
)}}),
p
.
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
(
a
,
b
){
p
.
fn
[
b
]
=
function
(
a
,
c
){
return
c
==
null
&&
(
c
=
a
,
a
=
null
),
arguments
.
length
>
0
?
this
.
on
(
b
,
null
,
a
,
c
):
this
.
trigger
(
b
)},
Y
.
test
(
b
)
&&
(
p
.
event
.
fixHooks
[
b
]
=
p
.
event
.
keyHooks
),
Z
.
test
(
b
)
&&
(
p
.
event
.
fixHooks
[
b
]
=
p
.
event
.
mouseHooks
)}),
function
(
a
,
b
){
function
$
(
a
,
b
,
c
,
d
){
c
=
c
||
[],
b
=
b
||
q
;
var
e
,
f
,
g
,
j
,
k
=
b
.
nodeType
;
if
(
k
!==
1
&&
k
!==
9
)
return
[];
if
(
!
a
||
typeof
a
!=
"string"
)
return
c
;
g
=
h
(
b
);
if
(
!
g
&&!
d
)
if
(
e
=
L
.
exec
(
a
))
if
(
j
=
e
[
1
]){
if
(
k
===
9
){
f
=
b
.
getElementById
(
j
);
if
(
!
f
||!
f
.
parentNode
)
return
c
;
if
(
f
.
id
===
j
)
return
c
.
push
(
f
),
c
}
else
if
(
b
.
ownerDocument
&&
(
f
=
b
.
ownerDocument
.
getElementById
(
j
))
&&
i
(
b
,
f
)
&&
f
.
id
===
j
)
return
c
.
push
(
f
),
c
}
else
{
if
(
e
[
2
])
return
u
.
apply
(
c
,
t
.
call
(
b
.
getElementsByTagName
(
a
),
0
)),
c
;
if
((
j
=
e
[
3
])
&&
X
&&
b
.
getElementsByClassName
)
return
u
.
apply
(
c
,
t
.
call
(
b
.
getElementsByClassName
(
j
),
0
)),
c
}
return
bk
(
a
,
b
,
c
,
d
,
g
)}
function
_
(
a
){
return
function
(
b
){
var
c
=
b
.
nodeName
.
toLowerCase
();
return
c
===
"input"
&&
b
.
type
===
a
}}
function
ba
(
a
){
return
function
(
b
){
var
c
=
b
.
nodeName
.
toLowerCase
();
return
(
c
===
"input"
||
c
===
"button"
)
&&
b
.
type
===
a
}}
function
bb
(
a
,
b
,
c
){
if
(
a
===
b
)
return
c
;
var
d
=
a
.
nextSibling
;
while
(
d
){
if
(
d
===
b
)
return
-
1
;
d
=
d
.
nextSibling
}
return
1
}
function
bc
(
a
,
b
,
c
,
d
){
var
e
,
g
,
h
,
i
,
j
,
k
,
l
,
m
,
n
,
p
,
r
=!
c
&&
b
!==
q
,
s
=
(
r
?
"<s>"
:
""
)
+
a
.
replace
(
H
,
"$1<s>"
),
u
=
y
[
o
][
s
];
if
(
u
)
return
d
?
0
:
t
.
call
(
u
,
0
);
j
=
a
,
k
=
[],
m
=
0
,
n
=
f
.
preFilter
,
p
=
f
.
filter
;
while
(
j
){
if
(
!
e
||
(
g
=
I
.
exec
(
j
)))
g
&&
(
j
=
j
.
slice
(
g
[
0
].
length
),
h
.
selector
=
l
),
k
.
push
(
h
=
[]),
l
=
""
,
r
&&
(
j
=
" "
+
j
);
e
=!
1
;
if
(
g
=
J
.
exec
(
j
))
l
+=
g
[
0
],
j
=
j
.
slice
(
g
[
0
].
length
),
e
=
h
.
push
({
part
:
g
.
pop
().
replace
(
H
,
" "
),
string
:
g
[
0
],
captures
:
g
});
for
(
i
in
p
)(
g
=
S
[
i
].
exec
(
j
))
&&
(
!
n
[
i
]
||
(
g
=
n
[
i
](
g
,
b
,
c
)))
&&
(
l
+=
g
[
0
],
j
=
j
.
slice
(
g
[
0
].
length
),
e
=
h
.
push
({
part
:
i
,
string
:
g
.
shift
(),
captures
:
g
}));
if
(
!
e
)
break
}
return
l
&&
(
h
.
selector
=
l
),
d
?
j
.
length
:
j
?
$
.
error
(
a
):
t
.
call
(
y
(
s
,
k
),
0
)}
function
bd
(
a
,
b
,
e
,
f
){
var
g
=
b
.
dir
,
h
=
s
++
;
return
a
||
(
a
=
function
(
a
){
return
a
===
e
}),
b
.
first
?
function
(
b
){
while
(
b
=
b
[
g
])
if
(
b
.
nodeType
===
1
)
return
a
(
b
)
&&
b
}:
f
?
function
(
b
){
while
(
b
=
b
[
g
])
if
(
b
.
nodeType
===
1
&&
a
(
b
))
return
b
}:
function
(
b
){
var
e
,
f
=
h
+
"."
+
c
,
i
=
f
+
"."
+
d
;
while
(
b
=
b
[
g
])
if
(
b
.
nodeType
===
1
){
if
((
e
=
b
[
o
])
===
i
)
return
b
.
sizset
;
if
(
typeof
e
==
"string"
&&
e
.
indexOf
(
f
)
===
0
){
if
(
b
.
sizset
)
return
b
}
else
{
b
[
o
]
=
i
;
if
(
a
(
b
))
return
b
.
sizset
=!
0
,
b
;
b
.
sizset
=!
1
}}}}
function
be
(
a
,
b
){
return
a
?
function
(
c
){
var
d
=
b
(
c
);
return
d
&&
a
(
d
===!
0
?
c
:
d
)}:
b
}
function
bf
(
a
,
b
,
c
){
var
d
,
e
,
g
=
0
;
for
(;
d
=
a
[
g
];
g
++
)
f
.
relative
[
d
.
part
]?
e
=
bd
(
e
,
f
.
relative
[
d
.
part
],
b
,
c
):
e
=
be
(
e
,
f
.
filter
[
d
.
part
].
apply
(
null
,
d
.
captures
.
concat
(
b
,
c
)));
return
e
}
function
bg
(
a
){
return
function
(
b
){
var
c
,
d
=
0
;
for
(;
c
=
a
[
d
];
d
++
)
if
(
c
(
b
))
return
!
0
;
return
!
1
}}
function
bh
(
a
,
b
,
c
,
d
){
var
e
=
0
,
f
=
b
.
length
;
for
(;
e
<
f
;
e
++
)
$
(
a
,
b
[
e
],
c
,
d
)}
function
bi
(
a
,
b
,
c
,
d
,
e
,
g
){
var
h
,
i
=
f
.
setFilters
[
b
.
toLowerCase
()];
return
i
||
$
.
error
(
b
),(
a
||!
(
h
=
e
))
&&
bh
(
a
||
"*"
,
d
,
h
=
[],
e
),
h
.
length
>
0
?
i
(
h
,
c
,
g
):[]}
function
bj
(
a
,
c
,
d
,
e
){
var
f
,
g
,
h
,
i
,
j
,
k
,
l
,
m
,
n
,
o
,
p
,
q
,
r
,
s
=
0
,
t
=
a
.
length
,
v
=
S
.
POS
,
w
=
new
RegExp
(
"^"
+
v
.
source
+
"(?!"
+
A
+
")"
,
"i"
),
x
=
function
(){
var
a
=
1
,
c
=
arguments
.
length
-
2
;
for
(;
a
<
c
;
a
++
)
arguments
[
a
]
===
b
&&
(
n
[
a
]
=
b
)};
for
(;
s
<
t
;
s
++
){
f
=
a
[
s
],
g
=
""
,
m
=
e
;
for
(
h
=
0
,
i
=
f
.
length
;
h
<
i
;
h
++
){
j
=
f
[
h
],
k
=
j
.
string
;
if
(
j
.
part
===
"PSEUDO"
){
v
.
exec
(
""
),
l
=
0
;
while
(
n
=
v
.
exec
(
k
)){
o
=!
0
,
p
=
v
.
lastIndex
=
n
.
index
+
n
[
0
].
length
;
if
(
p
>
l
){
g
+=
k
.
slice
(
l
,
n
.
index
),
l
=
p
,
q
=
[
c
],
J
.
test
(
g
)
&&
(
m
&&
(
q
=
m
),
m
=
e
);
if
(
r
=
O
.
test
(
g
))
g
=
g
.
slice
(
0
,
-
5
).
replace
(
J
,
"$&*"
),
l
++
;
n
.
length
>
1
&&
n
[
0
].
replace
(
w
,
x
),
m
=
bi
(
g
,
n
[
1
],
n
[
2
],
q
,
m
,
r
)}
g
=
""
}}
o
||
(
g
+=
k
),
o
=!
1
}
g
?
J
.
test
(
g
)?
bh
(
g
,
m
||
[
c
],
d
,
e
):
$
(
g
,
c
,
d
,
e
?
e
.
concat
(
m
):
m
):
u
.
apply
(
d
,
m
)}
return
t
===
1
?
d
:
$
.
uniqueSort
(
d
)}
function
bk
(
a
,
b
,
e
,
g
,
h
){
a
=
a
.
replace
(
H
,
"$1"
);
var
i
,
k
,
l
,
m
,
n
,
o
,
p
,
q
,
r
,
s
,
v
=
bc
(
a
,
b
,
h
),
w
=
b
.
nodeType
;
if
(
S
.
POS
.
test
(
a
))
return
bj
(
v
,
b
,
e
,
g
);
if
(
g
)
i
=
t
.
call
(
g
,
0
);
else
if
(
v
.
length
===
1
){
if
((
o
=
t
.
call
(
v
[
0
],
0
)).
length
>
2
&&
(
p
=
o
[
0
]).
part
===
"ID"
&&
w
===
9
&&!
h
&&
f
.
relative
[
o
[
1
].
part
]){
b
=
f
.
find
.
ID
(
p
.
captures
[
0
].
replace
(
R
,
""
),
b
,
h
)[
0
];
if
(
!
b
)
return
e
;
a
=
a
.
slice
(
o
.
shift
().
string
.
length
)}
r
=
(
v
=
N
.
exec
(
o
[
0
].
string
))
&&!
v
.
index
&&
b
.
parentNode
||
b
,
q
=
""
;
for
(
n
=
o
.
length
-
1
;
n
>=
0
;
n
--
){
p
=
o
[
n
],
s
=
p
.
part
,
q
=
p
.
string
+
q
;
if
(
f
.
relative
[
s
])
break
;
if
(
f
.
order
.
test
(
s
)){
i
=
f
.
find
[
s
](
p
.
captures
[
0
].
replace
(
R
,
""
),
r
,
h
);
if
(
i
==
null
)
continue
;
a
=
a
.
slice
(
0
,
a
.
length
-
q
.
length
)
+
q
.
replace
(
S
[
s
],
""
),
a
||
u
.
apply
(
e
,
t
.
call
(
i
,
0
));
break
}}}
if
(
a
){
k
=
j
(
a
,
b
,
h
),
c
=
k
.
dirruns
++
,
i
==
null
&&
(
i
=
f
.
find
.
TAG
(
"*"
,
N
.
test
(
a
)
&&
b
.
parentNode
||
b
));
for
(
n
=
0
;
m
=
i
[
n
];
n
++
)
d
=
k
.
runs
++
,
k
(
m
)
&&
e
.
push
(
m
)}
return
e
}
var
c
,
d
,
e
,
f
,
g
,
h
,
i
,
j
,
k
,
l
,
m
=!
0
,
n
=
"undefined"
,
o
=
(
"sizcache"
+
Math
.
random
()).
replace
(
"."
,
""
),
q
=
a
.
document
,
r
=
q
.
documentElement
,
s
=
0
,
t
=
[].
slice
,
u
=
[].
push
,
v
=
function
(
a
,
b
){
return
a
[
o
]
=
b
||!
0
,
a
},
w
=
function
(){
var
a
=
{},
b
=
[];
return
v
(
function
(
c
,
d
){
return
b
.
push
(
c
)
>
f
.
cacheLength
&&
delete
a
[
b
.
shift
()],
a
[
c
]
=
d
},
a
)},
x
=
w
(),
y
=
w
(),
z
=
w
(),
A
=
"[
\\
x20
\\
t
\\
r
\\
n
\\
f]"
,
B
=
"(?:
\\\\
.|[-
\\
w]|[^
\\
x00-
\\
xa0])+"
,
C
=
B
.
replace
(
"w"
,
"w#"
),
D
=
"([*^$|!~]?=)"
,
E
=
"
\\
["
+
A
+
"*("
+
B
+
")"
+
A
+
"*(?:"
+
D
+
A
+
"*(?:(['
\"
])((?:
\\\\
.|[^
\\\\
])*?)
\\
3|("
+
C
+
")|)|)"
+
A
+
"*
\\
]"
,
F
=
":("
+
B
+
")(?:
\\
((?:(['
\"
])((?:
\\\\
.|[^
\\\\
])*?)
\\
2|([^()[
\\
]]*|(?:(?:"
+
E
+
")|[^:]|
\\\\
.)*|.*))
\\
)|)"
,
G
=
":(nth|eq|gt|lt|first|last|even|odd)(?:
\\
(((?:-
\\
d)?
\\
d*)
\\
)|)(?=[^-]|$)"
,
H
=
new
RegExp
(
"^"
+
A
+
"+|((?:^|[^
\\\\
])(?:
\\\\
.)*)"
+
A
+
"+$"
,
"g"
),
I
=
new
RegExp
(
"^"
+
A
+
"*,"
+
A
+
"*"
),
J
=
new
RegExp
(
"^"
+
A
+
"*([
\\
x20
\\
t
\\
r
\\
n
\\
f>+~])"
+
A
+
"*"
),
K
=
new
RegExp
(
F
),
L
=
/^
(?:
#
([\w\-]
+
)
|
(\w
+
)
|
\.([\w\-]
+
))
$/
,
M
=
/^:not/
,
N
=
/
[\x
20
\t\r\n\f]
*
[
+~
]
/
,
O
=
/:not
\(
$/
,
P
=
/h
\d
/i
,
Q
=
/input|select|textarea|button/i
,
R
=
/
\\(?!\\)
/g
,
S
=
{
ID
:
new
RegExp
(
"^#("
+
B
+
")"
),
CLASS
:
new
RegExp
(
"^
\\
.("
+
B
+
")"
),
NAME
:
new
RegExp
(
"^
\\
[name=['
\"
]?("
+
B
+
")['
\"
]?
\\
]"
),
TAG
:
new
RegExp
(
"^("
+
B
.
replace
(
"w"
,
"w*"
)
+
")"
),
ATTR
:
new
RegExp
(
"^"
+
E
),
PSEUDO
:
new
RegExp
(
"^"
+
F
),
CHILD
:
new
RegExp
(
"^:(only|nth|last|first)-child(?:
\\
("
+
A
+
"*(even|odd|(([+-]|)(
\\
d*)n|)"
+
A
+
"*(?:([+-]|)"
+
A
+
"*(
\\
d+)|))"
+
A
+
"*
\\
)|)"
,
"i"
),
POS
:
new
RegExp
(
G
,
"ig"
),
needsContext
:
new
RegExp
(
"^"
+
A
+
"*[>+~]|"
+
G
,
"i"
)},
T
=
function
(
a
){
var
b
=
q
.
createElement
(
"div"
);
try
{
return
a
(
b
)}
catch
(
c
){
return
!
1
}
finally
{
b
=
null
}},
U
=
T
(
function
(
a
){
return
a
.
appendChild
(
q
.
createComment
(
""
)),
!
a
.
getElementsByTagName
(
"*"
).
length
}),
V
=
T
(
function
(
a
){
return
a
.
innerHTML
=
"<a href='#'></a>"
,
a
.
firstChild
&&
typeof
a
.
firstChild
.
getAttribute
!==
n
&&
a
.
firstChild
.
getAttribute
(
"href"
)
===
"#"
}),
W
=
T
(
function
(
a
){
a
.
innerHTML
=
"<select></select>"
;
var
b
=
typeof
a
.
lastChild
.
getAttribute
(
"multiple"
);
return
b
!==
"boolean"
&&
b
!==
"string"
}),
X
=
T
(
function
(
a
){
return
a
.
innerHTML
=
"<div class='hidden e'></div><div class='hidden'></div>"
,
!
a
.
getElementsByClassName
||!
a
.
getElementsByClassName
(
"e"
).
length
?
!
1
:(
a
.
lastChild
.
className
=
"e"
,
a
.
getElementsByClassName
(
"e"
).
length
===
2
)}),
Y
=
T
(
function
(
a
){
a
.
id
=
o
+
0
,
a
.
innerHTML
=
"<a name='"
+
o
+
"'></a><div name='"
+
o
+
"'></div>"
,
r
.
insertBefore
(
a
,
r
.
firstChild
);
var
b
=
q
.
getElementsByName
&&
q
.
getElementsByName
(
o
).
length
===
2
+
q
.
getElementsByName
(
o
+
0
).
length
;
return
e
=!
q
.
getElementById
(
o
),
r
.
removeChild
(
a
),
b
});
try
{
t
.
call
(
r
.
childNodes
,
0
)[
0
].
nodeType
}
catch
(
Z
){
t
=
function
(
a
){
var
b
,
c
=
[];
for
(;
b
=
this
[
a
];
a
++
)
c
.
push
(
b
);
return
c
}}
$
.
matches
=
function
(
a
,
b
){
return
$
(
a
,
null
,
null
,
b
)},
$
.
matchesSelector
=
function
(
a
,
b
){
return
$
(
b
,
null
,
null
,[
a
]).
length
>
0
},
g
=
$
.
getText
=
function
(
a
){
var
b
,
c
=
""
,
d
=
0
,
e
=
a
.
nodeType
;
if
(
e
){
if
(
e
===
1
||
e
===
9
||
e
===
11
){
if
(
typeof
a
.
textContent
==
"string"
)
return
a
.
textContent
;
for
(
a
=
a
.
firstChild
;
a
;
a
=
a
.
nextSibling
)
c
+=
g
(
a
)}
else
if
(
e
===
3
||
e
===
4
)
return
a
.
nodeValue
}
else
for
(;
b
=
a
[
d
];
d
++
)
c
+=
g
(
b
);
return
c
},
h
=
$
.
isXML
=
function
(
a
){
var
b
=
a
&&
(
a
.
ownerDocument
||
a
).
documentElement
;
return
b
?
b
.
nodeName
!==
"HTML"
:
!
1
},
i
=
$
.
contains
=
r
.
contains
?
function
(
a
,
b
){
var
c
=
a
.
nodeType
===
9
?
a
.
documentElement
:
a
,
d
=
b
&&
b
.
parentNode
;
return
a
===
d
||!!
(
d
&&
d
.
nodeType
===
1
&&
c
.
contains
&&
c
.
contains
(
d
))}:
r
.
compareDocumentPosition
?
function
(
a
,
b
){
return
b
&&!!
(
a
.
compareDocumentPosition
(
b
)
&
16
)}:
function
(
a
,
b
){
while
(
b
=
b
.
parentNode
)
if
(
b
===
a
)
return
!
0
;
return
!
1
},
$
.
attr
=
function
(
a
,
b
){
var
c
,
d
=
h
(
a
);
return
d
||
(
b
=
b
.
toLowerCase
()),
f
.
attrHandle
[
b
]?
f
.
attrHandle
[
b
](
a
):
W
||
d
?
a
.
getAttribute
(
b
):(
c
=
a
.
getAttributeNode
(
b
),
c
?
typeof
a
[
b
]
==
"boolean"
?
a
[
b
]?
b
:
null
:
c
.
specified
?
c
.
value
:
null
:
null
)},
f
=
$
.
selectors
=
{
cacheLength
:
50
,
createPseudo
:
v
,
match
:
S
,
order
:
new
RegExp
(
"ID|TAG"
+
(
Y
?
"|NAME"
:
""
)
+
(
X
?
"|CLASS"
:
""
)),
attrHandle
:
V
?{}:{
href
:
function
(
a
){
return
a
.
getAttribute
(
"href"
,
2
)},
type
:
function
(
a
){
return
a
.
getAttribute
(
"type"
)}},
find
:{
ID
:
e
?
function
(
a
,
b
,
c
){
if
(
typeof
b
.
getElementById
!==
n
&&!
c
){
var
d
=
b
.
getElementById
(
a
);
return
d
&&
d
.
parentNode
?[
d
]:[]}}:
function
(
a
,
c
,
d
){
if
(
typeof
c
.
getElementById
!==
n
&&!
d
){
var
e
=
c
.
getElementById
(
a
);
return
e
?
e
.
id
===
a
||
typeof
e
.
getAttributeNode
!==
n
&&
e
.
getAttributeNode
(
"id"
).
value
===
a
?[
e
]:
b
:[]}},
TAG
:
U
?
function
(
a
,
b
){
if
(
typeof
b
.
getElementsByTagName
!==
n
)
return
b
.
getElementsByTagName
(
a
)}:
function
(
a
,
b
){
var
c
=
b
.
getElementsByTagName
(
a
);
if
(
a
===
"*"
){
var
d
,
e
=
[],
f
=
0
;
for
(;
d
=
c
[
f
];
f
++
)
d
.
nodeType
===
1
&&
e
.
push
(
d
);
return
e
}
return
c
},
NAME
:
function
(
a
,
b
){
if
(
typeof
b
.
getElementsByName
!==
n
)
return
b
.
getElementsByName
(
name
)},
CLASS
:
function
(
a
,
b
,
c
){
if
(
typeof
b
.
getElementsByClassName
!==
n
&&!
c
)
return
b
.
getElementsByClassName
(
a
)}},
relative
:{
">"
:{
dir
:
"parentNode"
,
first
:
!
0
},
" "
:{
dir
:
"parentNode"
},
"+"
:{
dir
:
"previousSibling"
,
first
:
!
0
},
"~"
:{
dir
:
"previousSibling"
}},
preFilter
:{
ATTR
:
function
(
a
){
return
a
[
1
]
=
a
[
1
].
replace
(
R
,
""
),
a
[
3
]
=
(
a
[
4
]
||
a
[
5
]
||
""
).
replace
(
R
,
""
),
a
[
2
]
===
"~="
&&
(
a
[
3
]
=
" "
+
a
[
3
]
+
" "
),
a
.
slice
(
0
,
4
)},
CHILD
:
function
(
a
){
return
a
[
1
]
=
a
[
1
].
toLowerCase
(),
a
[
1
]
===
"nth"
?(
a
[
2
]
||
$
.
error
(
a
[
0
]),
a
[
3
]
=+
(
a
[
3
]?
a
[
4
]
+
(
a
[
5
]
||
1
):
2
*
(
a
[
2
]
===
"even"
||
a
[
2
]
===
"odd"
)),
a
[
4
]
=+
(
a
[
6
]
+
a
[
7
]
||
a
[
2
]
===
"odd"
)):
a
[
2
]
&&
$
.
error
(
a
[
0
]),
a
},
PSEUDO
:
function
(
a
,
b
,
c
){
var
d
,
e
;
if
(
S
.
CHILD
.
test
(
a
[
0
]))
return
null
;
if
(
a
[
3
])
a
[
2
]
=
a
[
3
];
else
if
(
d
=
a
[
4
])
K
.
test
(
d
)
&&
(
e
=
bc
(
d
,
b
,
c
,
!
0
))
&&
(
e
=
d
.
indexOf
(
")"
,
d
.
length
-
e
)
-
d
.
length
)
&&
(
d
=
d
.
slice
(
0
,
e
),
a
[
0
]
=
a
[
0
].
slice
(
0
,
e
)),
a
[
2
]
=
d
;
return
a
.
slice
(
0
,
3
)}},
filter
:{
ID
:
e
?
function
(
a
){
return
a
=
a
.
replace
(
R
,
""
),
function
(
b
){
return
b
.
getAttribute
(
"id"
)
===
a
}}:
function
(
a
){
return
a
=
a
.
replace
(
R
,
""
),
function
(
b
){
var
c
=
typeof
b
.
getAttributeNode
!==
n
&&
b
.
getAttributeNode
(
"id"
);
return
c
&&
c
.
value
===
a
}},
TAG
:
function
(
a
){
return
a
===
"*"
?
function
(){
return
!
0
}:(
a
=
a
.
replace
(
R
,
""
).
toLowerCase
(),
function
(
b
){
return
b
.
nodeName
&&
b
.
nodeName
.
toLowerCase
()
===
a
})},
CLASS
:
function
(
a
){
var
b
=
x
[
o
][
a
];
return
b
||
(
b
=
x
(
a
,
new
RegExp
(
"(^|"
+
A
+
")"
+
a
+
"("
+
A
+
"|$)"
))),
function
(
a
){
return
b
.
test
(
a
.
className
||
typeof
a
.
getAttribute
!==
n
&&
a
.
getAttribute
(
"class"
)
||
""
)}},
ATTR
:
function
(
a
,
b
,
c
){
return
b
?
function
(
d
){
var
e
=
$
.
attr
(
d
,
a
),
f
=
e
+
""
;
if
(
e
==
null
)
return
b
===
"!="
;
switch
(
b
){
case
"="
:
return
f
===
c
;
case
"!="
:
return
f
!==
c
;
case
"^="
:
return
c
&&
f
.
indexOf
(
c
)
===
0
;
case
"*="
:
return
c
&&
f
.
indexOf
(
c
)
>-
1
;
case
"$="
:
return
c
&&
f
.
substr
(
f
.
length
-
c
.
length
)
===
c
;
case
"~="
:
return
(
" "
+
f
+
" "
).
indexOf
(
c
)
>-
1
;
case
"|="
:
return
f
===
c
||
f
.
substr
(
0
,
c
.
length
+
1
)
===
c
+
"-"
}}:
function
(
b
){
return
$
.
attr
(
b
,
a
)
!=
null
}},
CHILD
:
function
(
a
,
b
,
c
,
d
){
if
(
a
===
"nth"
){
var
e
=
s
++
;
return
function
(
a
){
var
b
,
f
,
g
=
0
,
h
=
a
;
if
(
c
===
1
&&
d
===
0
)
return
!
0
;
b
=
a
.
parentNode
;
if
(
b
&&
(
b
[
o
]
!==
e
||!
a
.
sizset
)){
for
(
h
=
b
.
firstChild
;
h
;
h
=
h
.
nextSibling
)
if
(
h
.
nodeType
===
1
){
h
.
sizset
=++
g
;
if
(
h
===
a
)
break
}
b
[
o
]
=
e
}
return
f
=
a
.
sizset
-
d
,
c
===
0
?
f
===
0
:
f
%
c
===
0
&&
f
/
c
>=
0
}}
return
function
(
b
){
var
c
=
b
;
switch
(
a
){
case
"only"
:
case
"first"
:
while
(
c
=
c
.
previousSibling
)
if
(
c
.
nodeType
===
1
)
return
!
1
;
if
(
a
===
"first"
)
return
!
0
;
c
=
b
;
case
"last"
:
while
(
c
=
c
.
nextSibling
)
if
(
c
.
nodeType
===
1
)
return
!
1
;
return
!
0
}}},
PSEUDO
:
function
(
a
,
b
,
c
,
d
){
var
e
,
g
=
f
.
pseudos
[
a
]
||
f
.
pseudos
[
a
.
toLowerCase
()];
return
g
||
$
.
error
(
"unsupported pseudo: "
+
a
),
g
[
o
]?
g
(
b
,
c
,
d
):
g
.
length
>
1
?(
e
=
[
a
,
a
,
""
,
b
],
function
(
a
){
return
g
(
a
,
0
,
e
)}):
g
}},
pseudos
:{
not
:
v
(
function
(
a
,
b
,
c
){
var
d
=
j
(
a
.
replace
(
H
,
"$1"
),
b
,
c
);
return
function
(
a
){
return
!
d
(
a
)}}),
enabled
:
function
(
a
){
return
a
.
disabled
===!
1
},
disabled
:
function
(
a
){
return
a
.
disabled
===!
0
},
checked
:
function
(
a
){
var
b
=
a
.
nodeName
.
toLowerCase
();
return
b
===
"input"
&&!!
a
.
checked
||
b
===
"option"
&&!!
a
.
selected
},
selected
:
function
(
a
){
return
a
.
parentNode
&&
a
.
parentNode
.
selectedIndex
,
a
.
selected
===!
0
},
parent
:
function
(
a
){
return
!
f
.
pseudos
.
empty
(
a
)},
empty
:
function
(
a
){
var
b
;
a
=
a
.
firstChild
;
while
(
a
){
if
(
a
.
nodeName
>
"@"
||
(
b
=
a
.
nodeType
)
===
3
||
b
===
4
)
return
!
1
;
a
=
a
.
nextSibling
}
return
!
0
},
contains
:
v
(
function
(
a
){
return
function
(
b
){
return
(
b
.
textContent
||
b
.
innerText
||
g
(
b
)).
indexOf
(
a
)
>-
1
}}),
has
:
v
(
function
(
a
){
return
function
(
b
){
return
$
(
a
,
b
).
length
>
0
}}),
header
:
function
(
a
){
return
P
.
test
(
a
.
nodeName
)},
text
:
function
(
a
){
var
b
,
c
;
return
a
.
nodeName
.
toLowerCase
()
===
"input"
&&
(
b
=
a
.
type
)
===
"text"
&&
((
c
=
a
.
getAttribute
(
"type"
))
==
null
||
c
.
toLowerCase
()
===
b
)},
radio
:
_
(
"radio"
),
checkbox
:
_
(
"checkbox"
),
file
:
_
(
"file"
),
password
:
_
(
"password"
),
image
:
_
(
"image"
),
submit
:
ba
(
"submit"
),
reset
:
ba
(
"reset"
),
button
:
function
(
a
){
var
b
=
a
.
nodeName
.
toLowerCase
();
return
b
===
"input"
&&
a
.
type
===
"button"
||
b
===
"button"
},
input
:
function
(
a
){
return
Q
.
test
(
a
.
nodeName
)},
focus
:
function
(
a
){
var
b
=
a
.
ownerDocument
;
return
a
===
b
.
activeElement
&&
(
!
b
.
hasFocus
||
b
.
hasFocus
())
&&
(
!!
a
.
type
||!!
a
.
href
)},
active
:
function
(
a
){
return
a
===
a
.
ownerDocument
.
activeElement
}},
setFilters
:{
first
:
function
(
a
,
b
,
c
){
return
c
?
a
.
slice
(
1
):[
a
[
0
]]},
last
:
function
(
a
,
b
,
c
){
var
d
=
a
.
pop
();
return
c
?
a
:[
d
]},
even
:
function
(
a
,
b
,
c
){
var
d
=
[],
e
=
c
?
1
:
0
,
f
=
a
.
length
;
for
(;
e
<
f
;
e
=
e
+
2
)
d
.
push
(
a
[
e
]);
return
d
},
odd
:
function
(
a
,
b
,
c
){
var
d
=
[],
e
=
c
?
0
:
1
,
f
=
a
.
length
;
for
(;
e
<
f
;
e
=
e
+
2
)
d
.
push
(
a
[
e
]);
return
d
},
lt
:
function
(
a
,
b
,
c
){
return
c
?
a
.
slice
(
+
b
):
a
.
slice
(
0
,
+
b
)},
gt
:
function
(
a
,
b
,
c
){
return
c
?
a
.
slice
(
0
,
+
b
+
1
):
a
.
slice
(
+
b
+
1
)},
eq
:
function
(
a
,
b
,
c
){
var
d
=
a
.
splice
(
+
b
,
1
);
return
c
?
a
:
d
}}},
k
=
r
.
compareDocumentPosition
?
function
(
a
,
b
){
return
a
===
b
?(
l
=!
0
,
0
):(
!
a
.
compareDocumentPosition
||!
b
.
compareDocumentPosition
?
a
.
compareDocumentPosition
:
a
.
compareDocumentPosition
(
b
)
&
4
)?
-
1
:
1
}:
function
(
a
,
b
){
if
(
a
===
b
)
return
l
=!
0
,
0
;
if
(
a
.
sourceIndex
&&
b
.
sourceIndex
)
return
a
.
sourceIndex
-
b
.
sourceIndex
;
var
c
,
d
,
e
=
[],
f
=
[],
g
=
a
.
parentNode
,
h
=
b
.
parentNode
,
i
=
g
;
if
(
g
===
h
)
return
bb
(
a
,
b
);
if
(
!
g
)
return
-
1
;
if
(
!
h
)
return
1
;
while
(
i
)
e
.
unshift
(
i
),
i
=
i
.
parentNode
;
i
=
h
;
while
(
i
)
f
.
unshift
(
i
),
i
=
i
.
parentNode
;
c
=
e
.
length
,
d
=
f
.
length
;
for
(
var
j
=
0
;
j
<
c
&&
j
<
d
;
j
++
)
if
(
e
[
j
]
!==
f
[
j
])
return
bb
(
e
[
j
],
f
[
j
]);
return
j
===
c
?
bb
(
a
,
f
[
j
],
-
1
):
bb
(
e
[
j
],
b
,
1
)},[
0
,
0
].
sort
(
k
),
m
=!
l
,
$
.
uniqueSort
=
function
(
a
){
var
b
,
c
=
1
;
l
=
m
,
a
.
sort
(
k
);
if
(
l
)
for
(;
b
=
a
[
c
];
c
++
)
b
===
a
[
c
-
1
]
&&
a
.
splice
(
c
--
,
1
);
return
a
},
$
.
error
=
function
(
a
){
throw
new
Error
(
"Syntax error, unrecognized expression: "
+
a
)},
j
=
$
.
compile
=
function
(
a
,
b
,
c
){
var
d
,
e
,
f
,
g
=
z
[
o
][
a
];
if
(
g
&&
g
.
context
===
b
)
return
g
;
d
=
bc
(
a
,
b
,
c
);
for
(
e
=
0
,
f
=
d
.
length
;
e
<
f
;
e
++
)
d
[
e
]
=
bf
(
d
[
e
],
b
,
c
);
return
g
=
z
(
a
,
bg
(
d
)),
g
.
context
=
b
,
g
.
runs
=
g
.
dirruns
=
0
,
g
},
q
.
querySelectorAll
&&
function
(){
var
a
,
b
=
bk
,
c
=
/'|
\\
/g
,
d
=
/
\=[\x
20
\t\r\n\f]
*
([^
'"
\]]
*
)[\x
20
\t\r\n\f]
*
\]
/g
,
e
=
[],
f
=
[
":active"
],
g
=
r
.
matchesSelector
||
r
.
mozMatchesSelector
||
r
.
webkitMatchesSelector
||
r
.
oMatchesSelector
||
r
.
msMatchesSelector
;
T
(
function
(
a
){
a
.
innerHTML
=
"<select><option selected=''></option></select>"
,
a
.
querySelectorAll
(
"[selected]"
).
length
||
e
.
push
(
"
\\
["
+
A
+
"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"
),
a
.
querySelectorAll
(
":checked"
).
length
||
e
.
push
(
":checked"
)}),
T
(
function
(
a
){
a
.
innerHTML
=
"<p test=''></p>"
,
a
.
querySelectorAll
(
"[test^='']"
).
length
&&
e
.
push
(
"[*^$]="
+
A
+
"*(?:
\"\"
|'')"
),
a
.
innerHTML
=
"<input type='hidden'/>"
,
a
.
querySelectorAll
(
":enabled"
).
length
||
e
.
push
(
":enabled"
,
":disabled"
)}),
e
=
e
.
length
&&
new
RegExp
(
e
.
join
(
"|"
)),
bk
=
function
(
a
,
d
,
f
,
g
,
h
){
if
(
!
g
&&!
h
&&
(
!
e
||!
e
.
test
(
a
)))
if
(
d
.
nodeType
===
9
)
try
{
return
u
.
apply
(
f
,
t
.
call
(
d
.
querySelectorAll
(
a
),
0
)),
f
}
catch
(
i
){}
else
if
(
d
.
nodeType
===
1
&&
d
.
nodeName
.
toLowerCase
()
!==
"object"
){
var
j
,
k
,
l
,
m
=
d
.
getAttribute
(
"id"
),
n
=
m
||
o
,
p
=
N
.
test
(
a
)
&&
d
.
parentNode
||
d
;
m
?
n
=
n
.
replace
(
c
,
"
\\
$&"
):
d
.
setAttribute
(
"id"
,
n
),
j
=
bc
(
a
,
d
,
h
),
n
=
"[id='"
+
n
+
"']"
;
for
(
k
=
0
,
l
=
j
.
length
;
k
<
l
;
k
++
)
j
[
k
]
=
n
+
j
[
k
].
selector
;
try
{
return
u
.
apply
(
f
,
t
.
call
(
p
.
querySelectorAll
(
j
.
join
(
","
)),
0
)),
f
}
catch
(
i
){}
finally
{
m
||
d
.
removeAttribute
(
"id"
)}}
return
b
(
a
,
d
,
f
,
g
,
h
)},
g
&&
(
T
(
function
(
b
){
a
=
g
.
call
(
b
,
"div"
);
try
{
g
.
call
(
b
,
"[test!='']:sizzle"
),
f
.
push
(
S
.
PSEUDO
.
source
,
S
.
POS
.
source
,
"!="
)}
catch
(
c
){}}),
f
=
new
RegExp
(
f
.
join
(
"|"
)),
$
.
matchesSelector
=
function
(
b
,
c
){
c
=
c
.
replace
(
d
,
"='$1']"
);
if
(
!
h
(
b
)
&&!
f
.
test
(
c
)
&&
(
!
e
||!
e
.
test
(
c
)))
try
{
var
i
=
g
.
call
(
b
,
c
);
if
(
i
||
a
||
b
.
document
&&
b
.
document
.
nodeType
!==
11
)
return
i
}
catch
(
j
){}
return
$
(
c
,
null
,
null
,[
b
]).
length
>
0
})}(),
f
.
setFilters
.
nth
=
f
.
setFilters
.
eq
,
f
.
filters
=
f
.
pseudos
,
$
.
attr
=
p
.
attr
,
p
.
find
=
$
,
p
.
expr
=
$
.
selectors
,
p
.
expr
[
":"
]
=
p
.
expr
.
pseudos
,
p
.
unique
=
$
.
uniqueSort
,
p
.
text
=
$
.
getText
,
p
.
isXMLDoc
=
$
.
isXML
,
p
.
contains
=
$
.
contains
}(
a
);
var
bc
=
/Until$/
,
bd
=
/^
(?:
parents|prev
(?:
Until|All
))
/
,
be
=
/^.
[^
:#
\[\.
,
]
*$/
,
bf
=
p
.
expr
.
match
.
needsContext
,
bg
=
{
children
:
!
0
,
contents
:
!
0
,
next
:
!
0
,
prev
:
!
0
};
p
.
fn
.
extend
({
find
:
function
(
a
){
var
b
,
c
,
d
,
e
,
f
,
g
,
h
=
this
;
if
(
typeof
a
!=
"string"
)
return
p
(
a
).
filter
(
function
(){
for
(
b
=
0
,
c
=
h
.
length
;
b
<
c
;
b
++
)
if
(
p
.
contains
(
h
[
b
],
this
))
return
!
0
});
g
=
this
.
pushStack
(
""
,
"find"
,
a
);
for
(
b
=
0
,
c
=
this
.
length
;
b
<
c
;
b
++
){
d
=
g
.
length
,
p
.
find
(
a
,
this
[
b
],
g
);
if
(
b
>
0
)
for
(
e
=
d
;
e
<
g
.
length
;
e
++
)
for
(
f
=
0
;
f
<
d
;
f
++
)
if
(
g
[
f
]
===
g
[
e
]){
g
.
splice
(
e
--
,
1
);
break
}}
return
g
},
has
:
function
(
a
){
var
b
,
c
=
p
(
a
,
this
),
d
=
c
.
length
;
return
this
.
filter
(
function
(){
for
(
b
=
0
;
b
<
d
;
b
++
)
if
(
p
.
contains
(
this
,
c
[
b
]))
return
!
0
})},
not
:
function
(
a
){
return
this
.
pushStack
(
bj
(
this
,
a
,
!
1
),
"not"
,
a
)},
filter
:
function
(
a
){
return
this
.
pushStack
(
bj
(
this
,
a
,
!
0
),
"filter"
,
a
)},
is
:
function
(
a
){
return
!!
a
&&
(
typeof
a
==
"string"
?
bf
.
test
(
a
)?
p
(
a
,
this
.
context
).
index
(
this
[
0
])
>=
0
:
p
.
filter
(
a
,
this
).
length
>
0
:
this
.
filter
(
a
).
length
>
0
)},
closest
:
function
(
a
,
b
){
var
c
,
d
=
0
,
e
=
this
.
length
,
f
=
[],
g
=
bf
.
test
(
a
)
||
typeof
a
!=
"string"
?
p
(
a
,
b
||
this
.
context
):
0
;
for
(;
d
<
e
;
d
++
){
c
=
this
[
d
];
while
(
c
&&
c
.
ownerDocument
&&
c
!==
b
&&
c
.
nodeType
!==
11
){
if
(
g
?
g
.
index
(
c
)
>-
1
:
p
.
find
.
matchesSelector
(
c
,
a
)){
f
.
push
(
c
);
break
}
c
=
c
.
parentNode
}}
return
f
=
f
.
length
>
1
?
p
.
unique
(
f
):
f
,
this
.
pushStack
(
f
,
"closest"
,
a
)},
index
:
function
(
a
){
return
a
?
typeof
a
==
"string"
?
p
.
inArray
(
this
[
0
],
p
(
a
)):
p
.
inArray
(
a
.
jquery
?
a
[
0
]:
a
,
this
):
this
[
0
]
&&
this
[
0
].
parentNode
?
this
.
prevAll
().
length
:
-
1
},
add
:
function
(
a
,
b
){
var
c
=
typeof
a
==
"string"
?
p
(
a
,
b
):
p
.
makeArray
(
a
&&
a
.
nodeType
?[
a
]:
a
),
d
=
p
.
merge
(
this
.
get
(),
c
);
return
this
.
pushStack
(
bh
(
c
[
0
])
||
bh
(
d
[
0
])?
d
:
p
.
unique
(
d
))},
addBack
:
function
(
a
){
return
this
.
add
(
a
==
null
?
this
.
prevObject
:
this
.
prevObject
.
filter
(
a
))}}),
p
.
fn
.
andSelf
=
p
.
fn
.
addBack
,
p
.
each
({
parent
:
function
(
a
){
var
b
=
a
.
parentNode
;
return
b
&&
b
.
nodeType
!==
11
?
b
:
null
},
parents
:
function
(
a
){
return
p
.
dir
(
a
,
"parentNode"
)},
parentsUntil
:
function
(
a
,
b
,
c
){
return
p
.
dir
(
a
,
"parentNode"
,
c
)},
next
:
function
(
a
){
return
bi
(
a
,
"nextSibling"
)},
prev
:
function
(
a
){
return
bi
(
a
,
"previousSibling"
)},
nextAll
:
function
(
a
){
return
p
.
dir
(
a
,
"nextSibling"
)},
prevAll
:
function
(
a
){
return
p
.
dir
(
a
,
"previousSibling"
)},
nextUntil
:
function
(
a
,
b
,
c
){
return
p
.
dir
(
a
,
"nextSibling"
,
c
)},
prevUntil
:
function
(
a
,
b
,
c
){
return
p
.
dir
(
a
,
"previousSibling"
,
c
)},
siblings
:
function
(
a
){
return
p
.
sibling
((
a
.
parentNode
||
{}).
firstChild
,
a
)},
children
:
function
(
a
){
return
p
.
sibling
(
a
.
firstChild
)},
contents
:
function
(
a
){
return
p
.
nodeName
(
a
,
"iframe"
)?
a
.
contentDocument
||
a
.
contentWindow
.
document
:
p
.
merge
([],
a
.
childNodes
)}},
function
(
a
,
b
){
p
.
fn
[
a
]
=
function
(
c
,
d
){
var
e
=
p
.
map
(
this
,
b
,
c
);
return
bc
.
test
(
a
)
||
(
d
=
c
),
d
&&
typeof
d
==
"string"
&&
(
e
=
p
.
filter
(
d
,
e
)),
e
=
this
.
length
>
1
&&!
bg
[
a
]?
p
.
unique
(
e
):
e
,
this
.
length
>
1
&&
bd
.
test
(
a
)
&&
(
e
=
e
.
reverse
()),
this
.
pushStack
(
e
,
a
,
k
.
call
(
arguments
).
join
(
","
))}}),
p
.
extend
({
filter
:
function
(
a
,
b
,
c
){
return
c
&&
(
a
=
":not("
+
a
+
")"
),
b
.
length
===
1
?
p
.
find
.
matchesSelector
(
b
[
0
],
a
)?[
b
[
0
]]:[]:
p
.
find
.
matches
(
a
,
b
)},
dir
:
function
(
a
,
c
,
d
){
var
e
=
[],
f
=
a
[
c
];
while
(
f
&&
f
.
nodeType
!==
9
&&
(
d
===
b
||
f
.
nodeType
!==
1
||!
p
(
f
).
is
(
d
)))
f
.
nodeType
===
1
&&
e
.
push
(
f
),
f
=
f
[
c
];
return
e
},
sibling
:
function
(
a
,
b
){
var
c
=
[];
for
(;
a
;
a
=
a
.
nextSibling
)
a
.
nodeType
===
1
&&
a
!==
b
&&
c
.
push
(
a
);
return
c
}});
var
bl
=
"abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video"
,
bm
=
/ jQuery
\d
+="
(?:
null|
\d
+
)
"/g
,
bn
=
/^
\s
+/
,
bo
=
/<
(?!
area|br|col|embed|hr|img|input|link|meta|param
)(([\w
:
]
+
)[^
>
]
*
)\/
>/gi
,
bp
=
/<
([\w
:
]
+
)
/
,
bq
=
/<tbody/i
,
br
=
/<|&#
?\w
+;/
,
bs
=
/<
(?:
script|style|link
)
/i
,
bt
=
/<
(?:
script|object|embed|option|style
)
/i
,
bu
=
new
RegExp
(
"<(?:"
+
bl
+
")[
\\
s/>]"
,
"i"
),
bv
=
/^
(?:
checkbox|radio
)
$/
,
bw
=
/checked
\s
*
(?:[^
=
]
|=
\s
*.checked.
)
/i
,
bx
=
/
\/(
java|ecma
)
script/i
,
by
=
/^
\s
*<!
(?:\[
CDATA
\[
|
\-\-)
|
[\]\-]{2}
>
\s
*$/g
,
bz
=
{
option
:[
1
,
"<select multiple='multiple'>"
,
"</select>"
],
legend
:[
1
,
"<fieldset>"
,
"</fieldset>"
],
thead
:[
1
,
"<table>"
,
"</table>"
],
tr
:[
2
,
"<table><tbody>"
,
"</tbody></table>"
],
td
:[
3
,
"<table><tbody><tr>"
,
"</tr></tbody></table>"
],
col
:[
2
,
"<table><tbody></tbody><colgroup>"
,
"</colgroup></table>"
],
area
:[
1
,
"<map>"
,
"</map>"
],
_default
:[
0
,
""
,
""
]},
bA
=
bk
(
e
),
bB
=
bA
.
appendChild
(
e
.
createElement
(
"div"
));
bz
.
optgroup
=
bz
.
option
,
bz
.
tbody
=
bz
.
tfoot
=
bz
.
colgroup
=
bz
.
caption
=
bz
.
thead
,
bz
.
th
=
bz
.
td
,
p
.
support
.
htmlSerialize
||
(
bz
.
_default
=
[
1
,
"X<div>"
,
"</div>"
]),
p
.
fn
.
extend
({
text
:
function
(
a
){
return
p
.
access
(
this
,
function
(
a
){
return
a
===
b
?
p
.
text
(
this
):
this
.
empty
().
append
((
this
[
0
]
&&
this
[
0
].
ownerDocument
||
e
).
createTextNode
(
a
))},
null
,
a
,
arguments
.
length
)},
wrapAll
:
function
(
a
){
if
(
p
.
isFunction
(
a
))
return
this
.
each
(
function
(
b
){
p
(
this
).
wrapAll
(
a
.
call
(
this
,
b
))});
if
(
this
[
0
]){
var
b
=
p
(
a
,
this
[
0
].
ownerDocument
).
eq
(
0
).
clone
(
!
0
);
this
[
0
].
parentNode
&&
b
.
insertBefore
(
this
[
0
]),
b
.
map
(
function
(){
var
a
=
this
;
while
(
a
.
firstChild
&&
a
.
firstChild
.
nodeType
===
1
)
a
=
a
.
firstChild
;
return
a
}).
append
(
this
)}
return
this
},
wrapInner
:
function
(
a
){
return
p
.
isFunction
(
a
)?
this
.
each
(
function
(
b
){
p
(
this
).
wrapInner
(
a
.
call
(
this
,
b
))}):
this
.
each
(
function
(){
var
b
=
p
(
this
),
c
=
b
.
contents
();
c
.
length
?
c
.
wrapAll
(
a
):
b
.
append
(
a
)})},
wrap
:
function
(
a
){
var
b
=
p
.
isFunction
(
a
);
return
this
.
each
(
function
(
c
){
p
(
this
).
wrapAll
(
b
?
a
.
call
(
this
,
c
):
a
)})},
unwrap
:
function
(){
return
this
.
parent
().
each
(
function
(){
p
.
nodeName
(
this
,
"body"
)
||
p
(
this
).
replaceWith
(
this
.
childNodes
)}).
end
()},
append
:
function
(){
return
this
.
domManip
(
arguments
,
!
0
,
function
(
a
){(
this
.
nodeType
===
1
||
this
.
nodeType
===
11
)
&&
this
.
appendChild
(
a
)})},
prepend
:
function
(){
return
this
.
domManip
(
arguments
,
!
0
,
function
(
a
){(
this
.
nodeType
===
1
||
this
.
nodeType
===
11
)
&&
this
.
insertBefore
(
a
,
this
.
firstChild
)})},
before
:
function
(){
if
(
!
bh
(
this
[
0
]))
return
this
.
domManip
(
arguments
,
!
1
,
function
(
a
){
this
.
parentNode
.
insertBefore
(
a
,
this
)});
if
(
arguments
.
length
){
var
a
=
p
.
clean
(
arguments
);
return
this
.
pushStack
(
p
.
merge
(
a
,
this
),
"before"
,
this
.
selector
)}},
after
:
function
(){
if
(
!
bh
(
this
[
0
]))
return
this
.
domManip
(
arguments
,
!
1
,
function
(
a
){
this
.
parentNode
.
insertBefore
(
a
,
this
.
nextSibling
)});
if
(
arguments
.
length
){
var
a
=
p
.
clean
(
arguments
);
return
this
.
pushStack
(
p
.
merge
(
this
,
a
),
"after"
,
this
.
selector
)}},
remove
:
function
(
a
,
b
){
var
c
,
d
=
0
;
for
(;(
c
=
this
[
d
])
!=
null
;
d
++
)
if
(
!
a
||
p
.
filter
(
a
,[
c
]).
length
)
!
b
&&
c
.
nodeType
===
1
&&
(
p
.
cleanData
(
c
.
getElementsByTagName
(
"*"
)),
p
.
cleanData
([
c
])),
c
.
parentNode
&&
c
.
parentNode
.
removeChild
(
c
);
return
this
},
empty
:
function
(){
var
a
,
b
=
0
;
for
(;(
a
=
this
[
b
])
!=
null
;
b
++
){
a
.
nodeType
===
1
&&
p
.
cleanData
(
a
.
getElementsByTagName
(
"*"
));
while
(
a
.
firstChild
)
a
.
removeChild
(
a
.
firstChild
)}
return
this
},
clone
:
function
(
a
,
b
){
return
a
=
a
==
null
?
!
1
:
a
,
b
=
b
==
null
?
a
:
b
,
this
.
map
(
function
(){
return
p
.
clone
(
this
,
a
,
b
)})},
html
:
function
(
a
){
return
p
.
access
(
this
,
function
(
a
){
var
c
=
this
[
0
]
||
{},
d
=
0
,
e
=
this
.
length
;
if
(
a
===
b
)
return
c
.
nodeType
===
1
?
c
.
innerHTML
.
replace
(
bm
,
""
):
b
;
if
(
typeof
a
==
"string"
&&!
bs
.
test
(
a
)
&&
(
p
.
support
.
htmlSerialize
||!
bu
.
test
(
a
))
&&
(
p
.
support
.
leadingWhitespace
||!
bn
.
test
(
a
))
&&!
bz
[(
bp
.
exec
(
a
)
||
[
""
,
""
])[
1
].
toLowerCase
()]){
a
=
a
.
replace
(
bo
,
"<$1></$2>"
);
try
{
for
(;
d
<
e
;
d
++
)
c
=
this
[
d
]
||
{},
c
.
nodeType
===
1
&&
(
p
.
cleanData
(
c
.
getElementsByTagName
(
"*"
)),
c
.
innerHTML
=
a
);
c
=
0
}
catch
(
f
){}}
c
&&
this
.
empty
().
append
(
a
)},
null
,
a
,
arguments
.
length
)},
replaceWith
:
function
(
a
){
return
bh
(
this
[
0
])?
this
.
length
?
this
.
pushStack
(
p
(
p
.
isFunction
(
a
)?
a
():
a
),
"replaceWith"
,
a
):
this
:
p
.
isFunction
(
a
)?
this
.
each
(
function
(
b
){
var
c
=
p
(
this
),
d
=
c
.
html
();
c
.
replaceWith
(
a
.
call
(
this
,
b
,
d
))}):(
typeof
a
!=
"string"
&&
(
a
=
p
(
a
).
detach
()),
this
.
each
(
function
(){
var
b
=
this
.
nextSibling
,
c
=
this
.
parentNode
;
p
(
this
).
remove
(),
b
?
p
(
b
).
before
(
a
):
p
(
c
).
append
(
a
)}))},
detach
:
function
(
a
){
return
this
.
remove
(
a
,
!
0
)},
domManip
:
function
(
a
,
c
,
d
){
a
=
[].
concat
.
apply
([],
a
);
var
e
,
f
,
g
,
h
,
i
=
0
,
j
=
a
[
0
],
k
=
[],
l
=
this
.
length
;
if
(
!
p
.
support
.
checkClone
&&
l
>
1
&&
typeof
j
==
"string"
&&
bw
.
test
(
j
))
return
this
.
each
(
function
(){
p
(
this
).
domManip
(
a
,
c
,
d
)});
if
(
p
.
isFunction
(
j
))
return
this
.
each
(
function
(
e
){
var
f
=
p
(
this
);
a
[
0
]
=
j
.
call
(
this
,
e
,
c
?
f
.
html
():
b
),
f
.
domManip
(
a
,
c
,
d
)});
if
(
this
[
0
]){
e
=
p
.
buildFragment
(
a
,
this
,
k
),
g
=
e
.
fragment
,
f
=
g
.
firstChild
,
g
.
childNodes
.
length
===
1
&&
(
g
=
f
);
if
(
f
){
c
=
c
&&
p
.
nodeName
(
f
,
"tr"
);
for
(
h
=
e
.
cacheable
||
l
-
1
;
i
<
l
;
i
++
)
d
.
call
(
c
&&
p
.
nodeName
(
this
[
i
],
"table"
)?
bC
(
this
[
i
],
"tbody"
):
this
[
i
],
i
===
h
?
g
:
p
.
clone
(
g
,
!
0
,
!
0
))}
g
=
f
=
null
,
k
.
length
&&
p
.
each
(
k
,
function
(
a
,
b
){
b
.
src
?
p
.
ajax
?
p
.
ajax
({
url
:
b
.
src
,
type
:
"GET"
,
dataType
:
"script"
,
async
:
!
1
,
global
:
!
1
,
"throws"
:
!
0
}):
p
.
error
(
"no ajax"
):
p
.
globalEval
((
b
.
text
||
b
.
textContent
||
b
.
innerHTML
||
""
).
replace
(
by
,
""
)),
b
.
parentNode
&&
b
.
parentNode
.
removeChild
(
b
)})}
return
this
}}),
p
.
buildFragment
=
function
(
a
,
c
,
d
){
var
f
,
g
,
h
,
i
=
a
[
0
];
return
c
=
c
||
e
,
c
=!
c
.
nodeType
&&
c
[
0
]
||
c
,
c
=
c
.
ownerDocument
||
c
,
a
.
length
===
1
&&
typeof
i
==
"string"
&&
i
.
length
<
512
&&
c
===
e
&&
i
.
charAt
(
0
)
===
"<"
&&!
bt
.
test
(
i
)
&&
(
p
.
support
.
checkClone
||!
bw
.
test
(
i
))
&&
(
p
.
support
.
html5Clone
||!
bu
.
test
(
i
))
&&
(
g
=!
0
,
f
=
p
.
fragments
[
i
],
h
=
f
!==
b
),
f
||
(
f
=
c
.
createDocumentFragment
(),
p
.
clean
(
a
,
c
,
f
,
d
),
g
&&
(
p
.
fragments
[
i
]
=
h
&&
f
)),{
fragment
:
f
,
cacheable
:
g
}},
p
.
fragments
=
{},
p
.
each
({
appendTo
:
"append"
,
prependTo
:
"prepend"
,
insertBefore
:
"before"
,
insertAfter
:
"after"
,
replaceAll
:
"replaceWith"
},
function
(
a
,
b
){
p
.
fn
[
a
]
=
function
(
c
){
var
d
,
e
=
0
,
f
=
[],
g
=
p
(
c
),
h
=
g
.
length
,
i
=
this
.
length
===
1
&&
this
[
0
].
parentNode
;
if
((
i
==
null
||
i
&&
i
.
nodeType
===
11
&&
i
.
childNodes
.
length
===
1
)
&&
h
===
1
)
return
g
[
b
](
this
[
0
]),
this
;
for
(;
e
<
h
;
e
++
)
d
=
(
e
>
0
?
this
.
clone
(
!
0
):
this
).
get
(),
p
(
g
[
e
])[
b
](
d
),
f
=
f
.
concat
(
d
);
return
this
.
pushStack
(
f
,
a
,
g
.
selector
)}}),
p
.
extend
({
clone
:
function
(
a
,
b
,
c
){
var
d
,
e
,
f
,
g
;
p
.
support
.
html5Clone
||
p
.
isXMLDoc
(
a
)
||!
bu
.
test
(
"<"
+
a
.
nodeName
+
">"
)?
g
=
a
.
cloneNode
(
!
0
):(
bB
.
innerHTML
=
a
.
outerHTML
,
bB
.
removeChild
(
g
=
bB
.
firstChild
));
if
((
!
p
.
support
.
noCloneEvent
||!
p
.
support
.
noCloneChecked
)
&&
(
a
.
nodeType
===
1
||
a
.
nodeType
===
11
)
&&!
p
.
isXMLDoc
(
a
)){
bE
(
a
,
g
),
d
=
bF
(
a
),
e
=
bF
(
g
);
for
(
f
=
0
;
d
[
f
];
++
f
)
e
[
f
]
&&
bE
(
d
[
f
],
e
[
f
])}
if
(
b
){
bD
(
a
,
g
);
if
(
c
){
d
=
bF
(
a
),
e
=
bF
(
g
);
for
(
f
=
0
;
d
[
f
];
++
f
)
bD
(
d
[
f
],
e
[
f
])}}
return
d
=
e
=
null
,
g
},
clean
:
function
(
a
,
b
,
c
,
d
){
var
f
,
g
,
h
,
i
,
j
,
k
,
l
,
m
,
n
,
o
,
q
,
r
,
s
=
b
===
e
&&
bA
,
t
=
[];
if
(
!
b
||
typeof
b
.
createDocumentFragment
==
"undefined"
)
b
=
e
;
for
(
f
=
0
;(
h
=
a
[
f
])
!=
null
;
f
++
){
typeof
h
==
"number"
&&
(
h
+=
""
);
if
(
!
h
)
continue
;
if
(
typeof
h
==
"string"
)
if
(
!
br
.
test
(
h
))
h
=
b
.
createTextNode
(
h
);
else
{
s
=
s
||
bk
(
b
),
l
=
b
.
createElement
(
"div"
),
s
.
appendChild
(
l
),
h
=
h
.
replace
(
bo
,
"<$1></$2>"
),
i
=
(
bp
.
exec
(
h
)
||
[
""
,
""
])[
1
].
toLowerCase
(),
j
=
bz
[
i
]
||
bz
.
_default
,
k
=
j
[
0
],
l
.
innerHTML
=
j
[
1
]
+
h
+
j
[
2
];
while
(
k
--
)
l
=
l
.
lastChild
;
if
(
!
p
.
support
.
tbody
){
m
=
bq
.
test
(
h
),
n
=
i
===
"table"
&&!
m
?
l
.
firstChild
&&
l
.
firstChild
.
childNodes
:
j
[
1
]
===
"<table>"
&&!
m
?
l
.
childNodes
:[];
for
(
g
=
n
.
length
-
1
;
g
>=
0
;
--
g
)
p
.
nodeName
(
n
[
g
],
"tbody"
)
&&!
n
[
g
].
childNodes
.
length
&&
n
[
g
].
parentNode
.
removeChild
(
n
[
g
])}
!
p
.
support
.
leadingWhitespace
&&
bn
.
test
(
h
)
&&
l
.
insertBefore
(
b
.
createTextNode
(
bn
.
exec
(
h
)[
0
]),
l
.
firstChild
),
h
=
l
.
childNodes
,
l
.
parentNode
.
removeChild
(
l
)}
h
.
nodeType
?
t
.
push
(
h
):
p
.
merge
(
t
,
h
)}
l
&&
(
h
=
l
=
s
=
null
);
if
(
!
p
.
support
.
appendChecked
)
for
(
f
=
0
;(
h
=
t
[
f
])
!=
null
;
f
++
)
p
.
nodeName
(
h
,
"input"
)?
bG
(
h
):
typeof
h
.
getElementsByTagName
!=
"undefined"
&&
p
.
grep
(
h
.
getElementsByTagName
(
"input"
),
bG
);
if
(
c
){
q
=
function
(
a
){
if
(
!
a
.
type
||
bx
.
test
(
a
.
type
))
return
d
?
d
.
push
(
a
.
parentNode
?
a
.
parentNode
.
removeChild
(
a
):
a
):
c
.
appendChild
(
a
)};
for
(
f
=
0
;(
h
=
t
[
f
])
!=
null
;
f
++
)
if
(
!
p
.
nodeName
(
h
,
"script"
)
||!
q
(
h
))
c
.
appendChild
(
h
),
typeof
h
.
getElementsByTagName
!=
"undefined"
&&
(
r
=
p
.
grep
(
p
.
merge
([],
h
.
getElementsByTagName
(
"script"
)),
q
),
t
.
splice
.
apply
(
t
,[
f
+
1
,
0
].
concat
(
r
)),
f
+=
r
.
length
)}
return
t
},
cleanData
:
function
(
a
,
b
){
var
c
,
d
,
e
,
f
,
g
=
0
,
h
=
p
.
expando
,
i
=
p
.
cache
,
j
=
p
.
support
.
deleteExpando
,
k
=
p
.
event
.
special
;
for
(;(
e
=
a
[
g
])
!=
null
;
g
++
)
if
(
b
||
p
.
acceptData
(
e
)){
d
=
e
[
h
],
c
=
d
&&
i
[
d
];
if
(
c
){
if
(
c
.
events
)
for
(
f
in
c
.
events
)
k
[
f
]?
p
.
event
.
remove
(
e
,
f
):
p
.
removeEvent
(
e
,
f
,
c
.
handle
);
i
[
d
]
&&
(
delete
i
[
d
],
j
?
delete
e
[
h
]:
e
.
removeAttribute
?
e
.
removeAttribute
(
h
):
e
[
h
]
=
null
,
p
.
deletedIds
.
push
(
d
))}}}}),
function
(){
var
a
,
b
;
p
.
uaMatch
=
function
(
a
){
a
=
a
.
toLowerCase
();
var
b
=
/
(
chrome
)[
\/]([\w
.
]
+
)
/
.
exec
(
a
)
||
/
(
webkit
)[
\/]([\w
.
]
+
)
/
.
exec
(
a
)
||
/
(
opera
)(?:
.*version|
)[
\/]([\w
.
]
+
)
/
.
exec
(
a
)
||
/
(
msie
)
([\w
.
]
+
)
/
.
exec
(
a
)
||
a
.
indexOf
(
"compatible"
)
<
0
&&
/
(
mozilla
)(?:
.*
?
rv:
([\w
.
]
+
)
|
)
/
.
exec
(
a
)
||
[];
return
{
browser
:
b
[
1
]
||
""
,
version
:
b
[
2
]
||
"0"
}},
a
=
p
.
uaMatch
(
g
.
userAgent
),
b
=
{},
a
.
browser
&&
(
b
[
a
.
browser
]
=!
0
,
b
.
version
=
a
.
version
),
b
.
chrome
?
b
.
webkit
=!
0
:
b
.
webkit
&&
(
b
.
safari
=!
0
),
p
.
browser
=
b
,
p
.
sub
=
function
(){
function
a
(
b
,
c
){
return
new
a
.
fn
.
init
(
b
,
c
)}
p
.
extend
(
!
0
,
a
,
this
),
a
.
superclass
=
this
,
a
.
fn
=
a
.
prototype
=
this
(),
a
.
fn
.
constructor
=
a
,
a
.
sub
=
this
.
sub
,
a
.
fn
.
init
=
function
c
(
c
,
d
){
return
d
&&
d
instanceof
p
&&!
(
d
instanceof
a
)
&&
(
d
=
a
(
d
)),
p
.
fn
.
init
.
call
(
this
,
c
,
d
,
b
)},
a
.
fn
.
init
.
prototype
=
a
.
fn
;
var
b
=
a
(
e
);
return
a
}}();
var
bH
,
bI
,
bJ
,
bK
=
/alpha
\([^
)
]
*
\)
/i
,
bL
=
/opacity=
([^
)
]
*
)
/
,
bM
=
/^
(
top|right|bottom|left
)
$/
,
bN
=
/^
(
none|table
(?!
-c
[
ea
])
.+
)
/
,
bO
=
/^margin/
,
bP
=
new
RegExp
(
"^("
+
q
+
")(.*)$"
,
"i"
),
bQ
=
new
RegExp
(
"^("
+
q
+
")(?!px)[a-z%]+$"
,
"i"
),
bR
=
new
RegExp
(
"^([-+])=("
+
q
+
")"
,
"i"
),
bS
=
{},
bT
=
{
position
:
"absolute"
,
visibility
:
"hidden"
,
display
:
"block"
},
bU
=
{
letterSpacing
:
0
,
fontWeight
:
400
},
bV
=
[
"Top"
,
"Right"
,
"Bottom"
,
"Left"
],
bW
=
[
"Webkit"
,
"O"
,
"Moz"
,
"ms"
],
bX
=
p
.
fn
.
toggle
;
p
.
fn
.
extend
({
css
:
function
(
a
,
c
){
return
p
.
access
(
this
,
function
(
a
,
c
,
d
){
return
d
!==
b
?
p
.
style
(
a
,
c
,
d
):
p
.
css
(
a
,
c
)},
a
,
c
,
arguments
.
length
>
1
)},
show
:
function
(){
return
b$
(
this
,
!
0
)},
hide
:
function
(){
return
b$
(
this
)},
toggle
:
function
(
a
,
b
){
var
c
=
typeof
a
==
"boolean"
;
return
p
.
isFunction
(
a
)
&&
p
.
isFunction
(
b
)?
bX
.
apply
(
this
,
arguments
):
this
.
each
(
function
(){(
c
?
a
:
bZ
(
this
))?
p
(
this
).
show
():
p
(
this
).
hide
()})}}),
p
.
extend
({
cssHooks
:{
opacity
:{
get
:
function
(
a
,
b
){
if
(
b
){
var
c
=
bH
(
a
,
"opacity"
);
return
c
===
""
?
"1"
:
c
}}}},
cssNumber
:{
fillOpacity
:
!
0
,
fontWeight
:
!
0
,
lineHeight
:
!
0
,
opacity
:
!
0
,
orphans
:
!
0
,
widows
:
!
0
,
zIndex
:
!
0
,
zoom
:
!
0
},
cssProps
:{
"float"
:
p
.
support
.
cssFloat
?
"cssFloat"
:
"styleFloat"
},
style
:
function
(
a
,
c
,
d
,
e
){
if
(
!
a
||
a
.
nodeType
===
3
||
a
.
nodeType
===
8
||!
a
.
style
)
return
;
var
f
,
g
,
h
,
i
=
p
.
camelCase
(
c
),
j
=
a
.
style
;
c
=
p
.
cssProps
[
i
]
||
(
p
.
cssProps
[
i
]
=
bY
(
j
,
i
)),
h
=
p
.
cssHooks
[
c
]
||
p
.
cssHooks
[
i
];
if
(
d
===
b
)
return
h
&&
"get"
in
h
&&
(
f
=
h
.
get
(
a
,
!
1
,
e
))
!==
b
?
f
:
j
[
c
];
g
=
typeof
d
,
g
===
"string"
&&
(
f
=
bR
.
exec
(
d
))
&&
(
d
=
(
f
[
1
]
+
1
)
*
f
[
2
]
+
parseFloat
(
p
.
css
(
a
,
c
)),
g
=
"number"
);
if
(
d
==
null
||
g
===
"number"
&&
isNaN
(
d
))
return
;
g
===
"number"
&&!
p
.
cssNumber
[
i
]
&&
(
d
+=
"px"
);
if
(
!
h
||!
(
"set"
in
h
)
||
(
d
=
h
.
set
(
a
,
d
,
e
))
!==
b
)
try
{
j
[
c
]
=
d
}
catch
(
k
){}},
css
:
function
(
a
,
c
,
d
,
e
){
var
f
,
g
,
h
,
i
=
p
.
camelCase
(
c
);
return
c
=
p
.
cssProps
[
i
]
||
(
p
.
cssProps
[
i
]
=
bY
(
a
.
style
,
i
)),
h
=
p
.
cssHooks
[
c
]
||
p
.
cssHooks
[
i
],
h
&&
"get"
in
h
&&
(
f
=
h
.
get
(
a
,
!
0
,
e
)),
f
===
b
&&
(
f
=
bH
(
a
,
c
)),
f
===
"normal"
&&
c
in
bU
&&
(
f
=
bU
[
c
]),
d
||
e
!==
b
?(
g
=
parseFloat
(
f
),
d
||
p
.
isNumeric
(
g
)?
g
||
0
:
f
):
f
},
swap
:
function
(
a
,
b
,
c
){
var
d
,
e
,
f
=
{};
for
(
e
in
b
)
f
[
e
]
=
a
.
style
[
e
],
a
.
style
[
e
]
=
b
[
e
];
d
=
c
.
call
(
a
);
for
(
e
in
b
)
a
.
style
[
e
]
=
f
[
e
];
return
d
}}),
a
.
getComputedStyle
?
bH
=
function
(
b
,
c
){
var
d
,
e
,
f
,
g
,
h
=
a
.
getComputedStyle
(
b
,
null
),
i
=
b
.
style
;
return
h
&&
(
d
=
h
[
c
],
d
===
""
&&!
p
.
contains
(
b
.
ownerDocument
,
b
)
&&
(
d
=
p
.
style
(
b
,
c
)),
bQ
.
test
(
d
)
&&
bO
.
test
(
c
)
&&
(
e
=
i
.
width
,
f
=
i
.
minWidth
,
g
=
i
.
maxWidth
,
i
.
minWidth
=
i
.
maxWidth
=
i
.
width
=
d
,
d
=
h
.
width
,
i
.
width
=
e
,
i
.
minWidth
=
f
,
i
.
maxWidth
=
g
)),
d
}:
e
.
documentElement
.
currentStyle
&&
(
bH
=
function
(
a
,
b
){
var
c
,
d
,
e
=
a
.
currentStyle
&&
a
.
currentStyle
[
b
],
f
=
a
.
style
;
return
e
==
null
&&
f
&&
f
[
b
]
&&
(
e
=
f
[
b
]),
bQ
.
test
(
e
)
&&!
bM
.
test
(
b
)
&&
(
c
=
f
.
left
,
d
=
a
.
runtimeStyle
&&
a
.
runtimeStyle
.
left
,
d
&&
(
a
.
runtimeStyle
.
left
=
a
.
currentStyle
.
left
),
f
.
left
=
b
===
"fontSize"
?
"1em"
:
e
,
e
=
f
.
pixelLeft
+
"px"
,
f
.
left
=
c
,
d
&&
(
a
.
runtimeStyle
.
left
=
d
)),
e
===
""
?
"auto"
:
e
}),
p
.
each
([
"height"
,
"width"
],
function
(
a
,
b
){
p
.
cssHooks
[
b
]
=
{
get
:
function
(
a
,
c
,
d
){
if
(
c
)
return
a
.
offsetWidth
===
0
&&
bN
.
test
(
bH
(
a
,
"display"
))?
p
.
swap
(
a
,
bT
,
function
(){
return
cb
(
a
,
b
,
d
)}):
cb
(
a
,
b
,
d
)},
set
:
function
(
a
,
c
,
d
){
return
b_
(
a
,
c
,
d
?
ca
(
a
,
b
,
d
,
p
.
support
.
boxSizing
&&
p
.
css
(
a
,
"boxSizing"
)
===
"border-box"
):
0
)}}}),
p
.
support
.
opacity
||
(
p
.
cssHooks
.
opacity
=
{
get
:
function
(
a
,
b
){
return
bL
.
test
((
b
&&
a
.
currentStyle
?
a
.
currentStyle
.
filter
:
a
.
style
.
filter
)
||
""
)?.
01
*
parseFloat
(
RegExp
.
$1
)
+
""
:
b
?
"1"
:
""
},
set
:
function
(
a
,
b
){
var
c
=
a
.
style
,
d
=
a
.
currentStyle
,
e
=
p
.
isNumeric
(
b
)?
"alpha(opacity="
+
b
*
100
+
")"
:
""
,
f
=
d
&&
d
.
filter
||
c
.
filter
||
""
;
c
.
zoom
=
1
;
if
(
b
>=
1
&&
p
.
trim
(
f
.
replace
(
bK
,
""
))
===
""
&&
c
.
removeAttribute
){
c
.
removeAttribute
(
"filter"
);
if
(
d
&&!
d
.
filter
)
return
}
c
.
filter
=
bK
.
test
(
f
)?
f
.
replace
(
bK
,
e
):
f
+
" "
+
e
}}),
p
(
function
(){
p
.
support
.
reliableMarginRight
||
(
p
.
cssHooks
.
marginRight
=
{
get
:
function
(
a
,
b
){
return
p
.
swap
(
a
,{
display
:
"inline-block"
},
function
(){
if
(
b
)
return
bH
(
a
,
"marginRight"
)})}}),
!
p
.
support
.
pixelPosition
&&
p
.
fn
.
position
&&
p
.
each
([
"top"
,
"left"
],
function
(
a
,
b
){
p
.
cssHooks
[
b
]
=
{
get
:
function
(
a
,
c
){
if
(
c
){
var
d
=
bH
(
a
,
b
);
return
bQ
.
test
(
d
)?
p
(
a
).
position
()[
b
]
+
"px"
:
d
}}}})}),
p
.
expr
&&
p
.
expr
.
filters
&&
(
p
.
expr
.
filters
.
hidden
=
function
(
a
){
return
a
.
offsetWidth
===
0
&&
a
.
offsetHeight
===
0
||!
p
.
support
.
reliableHiddenOffsets
&&
(
a
.
style
&&
a
.
style
.
display
||
bH
(
a
,
"display"
))
===
"none"
},
p
.
expr
.
filters
.
visible
=
function
(
a
){
return
!
p
.
expr
.
filters
.
hidden
(
a
)}),
p
.
each
({
margin
:
""
,
padding
:
""
,
border
:
"Width"
},
function
(
a
,
b
){
p
.
cssHooks
[
a
+
b
]
=
{
expand
:
function
(
c
){
var
d
,
e
=
typeof
c
==
"string"
?
c
.
split
(
" "
):[
c
],
f
=
{};
for
(
d
=
0
;
d
<
4
;
d
++
)
f
[
a
+
bV
[
d
]
+
b
]
=
e
[
d
]
||
e
[
d
-
2
]
||
e
[
0
];
return
f
}},
bO
.
test
(
a
)
||
(
p
.
cssHooks
[
a
+
b
].
set
=
b_
)});
var
cd
=
/%20/g
,
ce
=
/
\[\]
$/
,
cf
=
/
\r?\n
/g
,
cg
=
/^
(?:
color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week
)
$/i
,
ch
=
/^
(?:
select|textarea
)
/i
;
p
.
fn
.
extend
({
serialize
:
function
(){
return
p
.
param
(
this
.
serializeArray
())},
serializeArray
:
function
(){
return
this
.
map
(
function
(){
return
this
.
elements
?
p
.
makeArray
(
this
.
elements
):
this
}).
filter
(
function
(){
return
this
.
name
&&!
this
.
disabled
&&
(
this
.
checked
||
ch
.
test
(
this
.
nodeName
)
||
cg
.
test
(
this
.
type
))}).
map
(
function
(
a
,
b
){
var
c
=
p
(
this
).
val
();
return
c
==
null
?
null
:
p
.
isArray
(
c
)?
p
.
map
(
c
,
function
(
a
,
c
){
return
{
name
:
b
.
name
,
value
:
a
.
replace
(
cf
,
"
\
r
\
n"
)}}):{
name
:
b
.
name
,
value
:
c
.
replace
(
cf
,
"
\
r
\
n"
)}}).
get
()}}),
p
.
param
=
function
(
a
,
c
){
var
d
,
e
=
[],
f
=
function
(
a
,
b
){
b
=
p
.
isFunction
(
b
)?
b
():
b
==
null
?
""
:
b
,
e
[
e
.
length
]
=
encodeURIComponent
(
a
)
+
"="
+
encodeURIComponent
(
b
)};
c
===
b
&&
(
c
=
p
.
ajaxSettings
&&
p
.
ajaxSettings
.
traditional
);
if
(
p
.
isArray
(
a
)
||
a
.
jquery
&&!
p
.
isPlainObject
(
a
))
p
.
each
(
a
,
function
(){
f
(
this
.
name
,
this
.
value
)});
else
for
(
d
in
a
)
ci
(
d
,
a
[
d
],
c
,
f
);
return
e
.
join
(
"&"
).
replace
(
cd
,
"+"
)};
var
cj
,
ck
,
cl
=
/#.*$/
,
cm
=
/^
(
.*
?)
:
[
\t]
*
([^\r\n]
*
)\r?
$/mg
,
cn
=
/^
(?:
about|app|app
\-
storage|.+
\-
extension|file|res|widget
)
:$/
,
co
=
/^
(?:
GET|HEAD
)
$/
,
cp
=
/^
\/\/
/
,
cq
=
/
\?
/
,
cr
=
/<script
\b[^
<
]
*
(?:(?!
<
\/
script>
)
<
[^
<
]
*
)
*<
\/
script>/gi
,
cs
=
/
([
?&
])
_=
[^
&
]
*/
,
ct
=
/^
([\w\+\.\-]
+:
)(?:\/\/([^\/
?#:
]
*
)(?:
:
(\d
+
)
|
)
|
)
/
,
cu
=
p
.
fn
.
load
,
cv
=
{},
cw
=
{},
cx
=
[
"*/"
]
+
[
"*"
];
try
{
cj
=
f
.
href
}
catch
(
cy
){
cj
=
e
.
createElement
(
"a"
),
cj
.
href
=
""
,
cj
=
cj
.
href
}
ck
=
ct
.
exec
(
cj
.
toLowerCase
())
||
[],
p
.
fn
.
load
=
function
(
a
,
c
,
d
){
if
(
typeof
a
!=
"string"
&&
cu
)
return
cu
.
apply
(
this
,
arguments
);
if
(
!
this
.
length
)
return
this
;
var
e
,
f
,
g
,
h
=
this
,
i
=
a
.
indexOf
(
" "
);
return
i
>=
0
&&
(
e
=
a
.
slice
(
i
,
a
.
length
),
a
=
a
.
slice
(
0
,
i
)),
p
.
isFunction
(
c
)?(
d
=
c
,
c
=
b
):
c
&&
typeof
c
==
"object"
&&
(
f
=
"POST"
),
p
.
ajax
({
url
:
a
,
type
:
f
,
dataType
:
"html"
,
data
:
c
,
complete
:
function
(
a
,
b
){
d
&&
h
.
each
(
d
,
g
||
[
a
.
responseText
,
b
,
a
])}}).
done
(
function
(
a
){
g
=
arguments
,
h
.
html
(
e
?
p
(
"<div>"
).
append
(
a
.
replace
(
cr
,
""
)).
find
(
e
):
a
)}),
this
},
p
.
each
(
"ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend"
.
split
(
" "
),
function
(
a
,
b
){
p
.
fn
[
b
]
=
function
(
a
){
return
this
.
on
(
b
,
a
)}}),
p
.
each
([
"get"
,
"post"
],
function
(
a
,
c
){
p
[
c
]
=
function
(
a
,
d
,
e
,
f
){
return
p
.
isFunction
(
d
)
&&
(
f
=
f
||
e
,
e
=
d
,
d
=
b
),
p
.
ajax
({
type
:
c
,
url
:
a
,
data
:
d
,
success
:
e
,
dataType
:
f
})}}),
p
.
extend
({
getScript
:
function
(
a
,
c
){
return
p
.
get
(
a
,
b
,
c
,
"script"
)},
getJSON
:
function
(
a
,
b
,
c
){
return
p
.
get
(
a
,
b
,
c
,
"json"
)},
ajaxSetup
:
function
(
a
,
b
){
return
b
?
cB
(
a
,
p
.
ajaxSettings
):(
b
=
a
,
a
=
p
.
ajaxSettings
),
cB
(
a
,
b
),
a
},
ajaxSettings
:{
url
:
cj
,
isLocal
:
cn
.
test
(
ck
[
1
]),
global
:
!
0
,
type
:
"GET"
,
contentType
:
"application/x-www-form-urlencoded; charset=UTF-8"
,
processData
:
!
0
,
async
:
!
0
,
accepts
:{
xml
:
"application/xml, text/xml"
,
html
:
"text/html"
,
text
:
"text/plain"
,
json
:
"application/json, text/javascript"
,
"*"
:
cx
},
contents
:{
xml
:
/xml/
,
html
:
/html/
,
json
:
/json/
},
responseFields
:{
xml
:
"responseXML"
,
text
:
"responseText"
},
converters
:{
"* text"
:
a
.
String
,
"text html"
:
!
0
,
"text json"
:
p
.
parseJSON
,
"text xml"
:
p
.
parseXML
},
flatOptions
:{
context
:
!
0
,
url
:
!
0
}},
ajaxPrefilter
:
cz
(
cv
),
ajaxTransport
:
cz
(
cw
),
ajax
:
function
(
a
,
c
){
function
y
(
a
,
c
,
f
,
i
){
var
k
,
s
,
t
,
u
,
w
,
y
=
c
;
if
(
v
===
2
)
return
;
v
=
2
,
h
&&
clearTimeout
(
h
),
g
=
b
,
e
=
i
||
""
,
x
.
readyState
=
a
>
0
?
4
:
0
,
f
&&
(
u
=
cC
(
l
,
x
,
f
));
if
(
a
>=
200
&&
a
<
300
||
a
===
304
)
l
.
ifModified
&&
(
w
=
x
.
getResponseHeader
(
"Last-Modified"
),
w
&&
(
p
.
lastModified
[
d
]
=
w
),
w
=
x
.
getResponseHeader
(
"Etag"
),
w
&&
(
p
.
etag
[
d
]
=
w
)),
a
===
304
?(
y
=
"notmodified"
,
k
=!
0
):(
k
=
cD
(
l
,
u
),
y
=
k
.
state
,
s
=
k
.
data
,
t
=
k
.
error
,
k
=!
t
);
else
{
t
=
y
;
if
(
!
y
||
a
)
y
=
"error"
,
a
<
0
&&
(
a
=
0
)}
x
.
status
=
a
,
x
.
statusText
=
""
+
(
c
||
y
),
k
?
o
.
resolveWith
(
m
,[
s
,
y
,
x
]):
o
.
rejectWith
(
m
,[
x
,
y
,
t
]),
x
.
statusCode
(
r
),
r
=
b
,
j
&&
n
.
trigger
(
"ajax"
+
(
k
?
"Success"
:
"Error"
),[
x
,
l
,
k
?
s
:
t
]),
q
.
fireWith
(
m
,[
x
,
y
]),
j
&&
(
n
.
trigger
(
"ajaxComplete"
,[
x
,
l
]),
--
p
.
active
||
p
.
event
.
trigger
(
"ajaxStop"
))}
typeof
a
==
"object"
&&
(
c
=
a
,
a
=
b
),
c
=
c
||
{};
var
d
,
e
,
f
,
g
,
h
,
i
,
j
,
k
,
l
=
p
.
ajaxSetup
({},
c
),
m
=
l
.
context
||
l
,
n
=
m
!==
l
&&
(
m
.
nodeType
||
m
instanceof
p
)?
p
(
m
):
p
.
event
,
o
=
p
.
Deferred
(),
q
=
p
.
Callbacks
(
"once memory"
),
r
=
l
.
statusCode
||
{},
t
=
{},
u
=
{},
v
=
0
,
w
=
"canceled"
,
x
=
{
readyState
:
0
,
setRequestHeader
:
function
(
a
,
b
){
if
(
!
v
){
var
c
=
a
.
toLowerCase
();
a
=
u
[
c
]
=
u
[
c
]
||
a
,
t
[
a
]
=
b
}
return
this
},
getAllResponseHeaders
:
function
(){
return
v
===
2
?
e
:
null
},
getResponseHeader
:
function
(
a
){
var
c
;
if
(
v
===
2
){
if
(
!
f
){
f
=
{};
while
(
c
=
cm
.
exec
(
e
))
f
[
c
[
1
].
toLowerCase
()]
=
c
[
2
]}
c
=
f
[
a
.
toLowerCase
()]}
return
c
===
b
?
null
:
c
},
overrideMimeType
:
function
(
a
){
return
v
||
(
l
.
mimeType
=
a
),
this
},
abort
:
function
(
a
){
return
a
=
a
||
w
,
g
&&
g
.
abort
(
a
),
y
(
0
,
a
),
this
}};
o
.
promise
(
x
),
x
.
success
=
x
.
done
,
x
.
error
=
x
.
fail
,
x
.
complete
=
q
.
add
,
x
.
statusCode
=
function
(
a
){
if
(
a
){
var
b
;
if
(
v
<
2
)
for
(
b
in
a
)
r
[
b
]
=
[
r
[
b
],
a
[
b
]];
else
b
=
a
[
x
.
status
],
x
.
always
(
b
)}
return
this
},
l
.
url
=
((
a
||
l
.
url
)
+
""
).
replace
(
cl
,
""
).
replace
(
cp
,
ck
[
1
]
+
"//"
),
l
.
dataTypes
=
p
.
trim
(
l
.
dataType
||
"*"
).
toLowerCase
().
split
(
s
),
l
.
crossDomain
==
null
&&
(
i
=
ct
.
exec
(
l
.
url
.
toLowerCase
()),
l
.
crossDomain
=!
(
!
i
||
i
[
1
]
==
ck
[
1
]
&&
i
[
2
]
==
ck
[
2
]
&&
(
i
[
3
]
||
(
i
[
1
]
===
"http:"
?
80
:
443
))
==
(
ck
[
3
]
||
(
ck
[
1
]
===
"http:"
?
80
:
443
)))),
l
.
data
&&
l
.
processData
&&
typeof
l
.
data
!=
"string"
&&
(
l
.
data
=
p
.
param
(
l
.
data
,
l
.
traditional
)),
cA
(
cv
,
l
,
c
,
x
);
if
(
v
===
2
)
return
x
;
j
=
l
.
global
,
l
.
type
=
l
.
type
.
toUpperCase
(),
l
.
hasContent
=!
co
.
test
(
l
.
type
),
j
&&
p
.
active
++===
0
&&
p
.
event
.
trigger
(
"ajaxStart"
);
if
(
!
l
.
hasContent
){
l
.
data
&&
(
l
.
url
+=
(
cq
.
test
(
l
.
url
)?
"&"
:
"?"
)
+
l
.
data
,
delete
l
.
data
),
d
=
l
.
url
;
if
(
l
.
cache
===!
1
){
var
z
=
p
.
now
(),
A
=
l
.
url
.
replace
(
cs
,
"$1_="
+
z
);
l
.
url
=
A
+
(
A
===
l
.
url
?(
cq
.
test
(
l
.
url
)?
"&"
:
"?"
)
+
"_="
+
z
:
""
)}}(
l
.
data
&&
l
.
hasContent
&&
l
.
contentType
!==!
1
||
c
.
contentType
)
&&
x
.
setRequestHeader
(
"Content-Type"
,
l
.
contentType
),
l
.
ifModified
&&
(
d
=
d
||
l
.
url
,
p
.
lastModified
[
d
]
&&
x
.
setRequestHeader
(
"If-Modified-Since"
,
p
.
lastModified
[
d
]),
p
.
etag
[
d
]
&&
x
.
setRequestHeader
(
"If-None-Match"
,
p
.
etag
[
d
])),
x
.
setRequestHeader
(
"Accept"
,
l
.
dataTypes
[
0
]
&&
l
.
accepts
[
l
.
dataTypes
[
0
]]?
l
.
accepts
[
l
.
dataTypes
[
0
]]
+
(
l
.
dataTypes
[
0
]
!==
"*"
?
", "
+
cx
+
"; q=0.01"
:
""
):
l
.
accepts
[
"*"
]);
for
(
k
in
l
.
headers
)
x
.
setRequestHeader
(
k
,
l
.
headers
[
k
]);
if
(
!
l
.
beforeSend
||
l
.
beforeSend
.
call
(
m
,
x
,
l
)
!==!
1
&&
v
!==
2
){
w
=
"abort"
;
for
(
k
in
{
success
:
1
,
error
:
1
,
complete
:
1
})
x
[
k
](
l
[
k
]);
g
=
cA
(
cw
,
l
,
c
,
x
);
if
(
!
g
)
y
(
-
1
,
"No Transport"
);
else
{
x
.
readyState
=
1
,
j
&&
n
.
trigger
(
"ajaxSend"
,[
x
,
l
]),
l
.
async
&&
l
.
timeout
>
0
&&
(
h
=
setTimeout
(
function
(){
x
.
abort
(
"timeout"
)},
l
.
timeout
));
try
{
v
=
1
,
g
.
send
(
t
,
y
)}
catch
(
B
){
if
(
v
<
2
)
y
(
-
1
,
B
);
else
throw
B
}}
return
x
}
return
x
.
abort
()},
active
:
0
,
lastModified
:{},
etag
:{}});
var
cE
=
[],
cF
=
/
\?
/
,
cG
=
/
(
=
)\?(?=
&|$
)
|
\?\?
/
,
cH
=
p
.
now
();
p
.
ajaxSetup
({
jsonp
:
"callback"
,
jsonpCallback
:
function
(){
var
a
=
cE
.
pop
()
||
p
.
expando
+
"_"
+
cH
++
;
return
this
[
a
]
=!
0
,
a
}}),
p
.
ajaxPrefilter
(
"json jsonp"
,
function
(
c
,
d
,
e
){
var
f
,
g
,
h
,
i
=
c
.
data
,
j
=
c
.
url
,
k
=
c
.
jsonp
!==!
1
,
l
=
k
&&
cG
.
test
(
j
),
m
=
k
&&!
l
&&
typeof
i
==
"string"
&&!
(
c
.
contentType
||
""
).
indexOf
(
"application/x-www-form-urlencoded"
)
&&
cG
.
test
(
i
);
if
(
c
.
dataTypes
[
0
]
===
"jsonp"
||
l
||
m
)
return
f
=
c
.
jsonpCallback
=
p
.
isFunction
(
c
.
jsonpCallback
)?
c
.
jsonpCallback
():
c
.
jsonpCallback
,
g
=
a
[
f
],
l
?
c
.
url
=
j
.
replace
(
cG
,
"$1"
+
f
):
m
?
c
.
data
=
i
.
replace
(
cG
,
"$1"
+
f
):
k
&&
(
c
.
url
+=
(
cF
.
test
(
j
)?
"&"
:
"?"
)
+
c
.
jsonp
+
"="
+
f
),
c
.
converters
[
"script json"
]
=
function
(){
return
h
||
p
.
error
(
f
+
" was not called"
),
h
[
0
]},
c
.
dataTypes
[
0
]
=
"json"
,
a
[
f
]
=
function
(){
h
=
arguments
},
e
.
always
(
function
(){
a
[
f
]
=
g
,
c
[
f
]
&&
(
c
.
jsonpCallback
=
d
.
jsonpCallback
,
cE
.
push
(
f
)),
h
&&
p
.
isFunction
(
g
)
&&
g
(
h
[
0
]),
h
=
g
=
b
}),
"script"
}),
p
.
ajaxSetup
({
accepts
:{
script
:
"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"
},
contents
:{
script
:
/javascript|ecmascript/
},
converters
:{
"text script"
:
function
(
a
){
return
p
.
globalEval
(
a
),
a
}}}),
p
.
ajaxPrefilter
(
"script"
,
function
(
a
){
a
.
cache
===
b
&&
(
a
.
cache
=!
1
),
a
.
crossDomain
&&
(
a
.
type
=
"GET"
,
a
.
global
=!
1
)}),
p
.
ajaxTransport
(
"script"
,
function
(
a
){
if
(
a
.
crossDomain
){
var
c
,
d
=
e
.
head
||
e
.
getElementsByTagName
(
"head"
)[
0
]
||
e
.
documentElement
;
return
{
send
:
function
(
f
,
g
){
c
=
e
.
createElement
(
"script"
),
c
.
async
=
"async"
,
a
.
scriptCharset
&&
(
c
.
charset
=
a
.
scriptCharset
),
c
.
src
=
a
.
url
,
c
.
onload
=
c
.
onreadystatechange
=
function
(
a
,
e
){
if
(
e
||!
c
.
readyState
||
/loaded|complete/
.
test
(
c
.
readyState
))
c
.
onload
=
c
.
onreadystatechange
=
null
,
d
&&
c
.
parentNode
&&
d
.
removeChild
(
c
),
c
=
b
,
e
||
g
(
200
,
"success"
)},
d
.
insertBefore
(
c
,
d
.
firstChild
)},
abort
:
function
(){
c
&&
c
.
onload
(
0
,
1
)}}}});
var
cI
,
cJ
=
a
.
ActiveXObject
?
function
(){
for
(
var
a
in
cI
)
cI
[
a
](
0
,
1
)}:
!
1
,
cK
=
0
;
p
.
ajaxSettings
.
xhr
=
a
.
ActiveXObject
?
function
(){
return
!
this
.
isLocal
&&
cL
()
||
cM
()}:
cL
,
function
(
a
){
p
.
extend
(
p
.
support
,{
ajax
:
!!
a
,
cors
:
!!
a
&&
"withCredentials"
in
a
})}(
p
.
ajaxSettings
.
xhr
()),
p
.
support
.
ajax
&&
p
.
ajaxTransport
(
function
(
c
){
if
(
!
c
.
crossDomain
||
p
.
support
.
cors
){
var
d
;
return
{
send
:
function
(
e
,
f
){
var
g
,
h
,
i
=
c
.
xhr
();
c
.
username
?
i
.
open
(
c
.
type
,
c
.
url
,
c
.
async
,
c
.
username
,
c
.
password
):
i
.
open
(
c
.
type
,
c
.
url
,
c
.
async
);
if
(
c
.
xhrFields
)
for
(
h
in
c
.
xhrFields
)
i
[
h
]
=
c
.
xhrFields
[
h
];
c
.
mimeType
&&
i
.
overrideMimeType
&&
i
.
overrideMimeType
(
c
.
mimeType
),
!
c
.
crossDomain
&&!
e
[
"X-Requested-With"
]
&&
(
e
[
"X-Requested-With"
]
=
"XMLHttpRequest"
);
try
{
for
(
h
in
e
)
i
.
setRequestHeader
(
h
,
e
[
h
])}
catch
(
j
){}
i
.
send
(
c
.
hasContent
&&
c
.
data
||
null
),
d
=
function
(
a
,
e
){
var
h
,
j
,
k
,
l
,
m
;
try
{
if
(
d
&&
(
e
||
i
.
readyState
===
4
)){
d
=
b
,
g
&&
(
i
.
onreadystatechange
=
p
.
noop
,
cJ
&&
delete
cI
[
g
]);
if
(
e
)
i
.
readyState
!==
4
&&
i
.
abort
();
else
{
h
=
i
.
status
,
k
=
i
.
getAllResponseHeaders
(),
l
=
{},
m
=
i
.
responseXML
,
m
&&
m
.
documentElement
&&
(
l
.
xml
=
m
);
try
{
l
.
text
=
i
.
responseText
}
catch
(
a
){}
try
{
j
=
i
.
statusText
}
catch
(
n
){
j
=
""
}
!
h
&&
c
.
isLocal
&&!
c
.
crossDomain
?
h
=
l
.
text
?
200
:
404
:
h
===
1223
&&
(
h
=
204
)}}}
catch
(
o
){
e
||
f
(
-
1
,
o
)}
l
&&
f
(
h
,
j
,
l
,
k
)},
c
.
async
?
i
.
readyState
===
4
?
setTimeout
(
d
,
0
):(
g
=++
cK
,
cJ
&&
(
cI
||
(
cI
=
{},
p
(
a
).
unload
(
cJ
)),
cI
[
g
]
=
d
),
i
.
onreadystatechange
=
d
):
d
()},
abort
:
function
(){
d
&&
d
(
0
,
1
)}}}});
var
cN
,
cO
,
cP
=
/^
(?:
toggle|show|hide
)
$/
,
cQ
=
new
RegExp
(
"^(?:([-+])=|)("
+
q
+
")([a-z%]*)$"
,
"i"
),
cR
=
/queueHooks$/
,
cS
=
[
cY
],
cT
=
{
"*"
:[
function
(
a
,
b
){
var
c
,
d
,
e
,
f
=
this
.
createTween
(
a
,
b
),
g
=
cQ
.
exec
(
b
),
h
=
f
.
cur
(),
i
=+
h
||
0
,
j
=
1
;
if
(
g
){
c
=+
g
[
2
],
d
=
g
[
3
]
||
(
p
.
cssNumber
[
a
]?
""
:
"px"
);
if
(
d
!==
"px"
&&
i
){
i
=
p
.
css
(
f
.
elem
,
a
,
!
0
)
||
c
||
1
;
do
e
=
j
=
j
||
".5"
,
i
=
i
/
j
,
p
.
style
(
f
.
elem
,
a
,
i
+
d
),
j
=
f
.
cur
()
/
h
;
while
(
j
!==
1
&&
j
!==
e
)}
f
.
unit
=
d
,
f
.
start
=
i
,
f
.
end
=
g
[
1
]?
i
+
(
g
[
1
]
+
1
)
*
c
:
c
}
return
f
}]};
p
.
Animation
=
p
.
extend
(
cW
,{
tweener
:
function
(
a
,
b
){
p
.
isFunction
(
a
)?(
b
=
a
,
a
=
[
"*"
]):
a
=
a
.
split
(
" "
);
var
c
,
d
=
0
,
e
=
a
.
length
;
for
(;
d
<
e
;
d
++
)
c
=
a
[
d
],
cT
[
c
]
=
cT
[
c
]
||
[],
cT
[
c
].
unshift
(
b
)},
prefilter
:
function
(
a
,
b
){
b
?
cS
.
unshift
(
a
):
cS
.
push
(
a
)}}),
p
.
Tween
=
cZ
,
cZ
.
prototype
=
{
constructor
:
cZ
,
init
:
function
(
a
,
b
,
c
,
d
,
e
,
f
){
this
.
elem
=
a
,
this
.
prop
=
c
,
this
.
easing
=
e
||
"swing"
,
this
.
options
=
b
,
this
.
start
=
this
.
now
=
this
.
cur
(),
this
.
end
=
d
,
this
.
unit
=
f
||
(
p
.
cssNumber
[
c
]?
""
:
"px"
)},
cur
:
function
(){
var
a
=
cZ
.
propHooks
[
this
.
prop
];
return
a
&&
a
.
get
?
a
.
get
(
this
):
cZ
.
propHooks
.
_default
.
get
(
this
)},
run
:
function
(
a
){
var
b
,
c
=
cZ
.
propHooks
[
this
.
prop
];
return
this
.
options
.
duration
?
this
.
pos
=
b
=
p
.
easing
[
this
.
easing
](
a
,
this
.
options
.
duration
*
a
,
0
,
1
,
this
.
options
.
duration
):
this
.
pos
=
b
=
a
,
this
.
now
=
(
this
.
end
-
this
.
start
)
*
b
+
this
.
start
,
this
.
options
.
step
&&
this
.
options
.
step
.
call
(
this
.
elem
,
this
.
now
,
this
),
c
&&
c
.
set
?
c
.
set
(
this
):
cZ
.
propHooks
.
_default
.
set
(
this
),
this
}},
cZ
.
prototype
.
init
.
prototype
=
cZ
.
prototype
,
cZ
.
propHooks
=
{
_default
:{
get
:
function
(
a
){
var
b
;
return
a
.
elem
[
a
.
prop
]
==
null
||!!
a
.
elem
.
style
&&
a
.
elem
.
style
[
a
.
prop
]
!=
null
?(
b
=
p
.
css
(
a
.
elem
,
a
.
prop
,
!
1
,
""
),
!
b
||
b
===
"auto"
?
0
:
b
):
a
.
elem
[
a
.
prop
]},
set
:
function
(
a
){
p
.
fx
.
step
[
a
.
prop
]?
p
.
fx
.
step
[
a
.
prop
](
a
):
a
.
elem
.
style
&&
(
a
.
elem
.
style
[
p
.
cssProps
[
a
.
prop
]]
!=
null
||
p
.
cssHooks
[
a
.
prop
])?
p
.
style
(
a
.
elem
,
a
.
prop
,
a
.
now
+
a
.
unit
):
a
.
elem
[
a
.
prop
]
=
a
.
now
}}},
cZ
.
propHooks
.
scrollTop
=
cZ
.
propHooks
.
scrollLeft
=
{
set
:
function
(
a
){
a
.
elem
.
nodeType
&&
a
.
elem
.
parentNode
&&
(
a
.
elem
[
a
.
prop
]
=
a
.
now
)}},
p
.
each
([
"toggle"
,
"show"
,
"hide"
],
function
(
a
,
b
){
var
c
=
p
.
fn
[
b
];
p
.
fn
[
b
]
=
function
(
d
,
e
,
f
){
return
d
==
null
||
typeof
d
==
"boolean"
||!
a
&&
p
.
isFunction
(
d
)
&&
p
.
isFunction
(
e
)?
c
.
apply
(
this
,
arguments
):
this
.
animate
(
c$
(
b
,
!
0
),
d
,
e
,
f
)}}),
p
.
fn
.
extend
({
fadeTo
:
function
(
a
,
b
,
c
,
d
){
return
this
.
filter
(
bZ
).
css
(
"opacity"
,
0
).
show
().
end
().
animate
({
opacity
:
b
},
a
,
c
,
d
)},
animate
:
function
(
a
,
b
,
c
,
d
){
var
e
=
p
.
isEmptyObject
(
a
),
f
=
p
.
speed
(
b
,
c
,
d
),
g
=
function
(){
var
b
=
cW
(
this
,
p
.
extend
({},
a
),
f
);
e
&&
b
.
stop
(
!
0
)};
return
e
||
f
.
queue
===!
1
?
this
.
each
(
g
):
this
.
queue
(
f
.
queue
,
g
)},
stop
:
function
(
a
,
c
,
d
){
var
e
=
function
(
a
){
var
b
=
a
.
stop
;
delete
a
.
stop
,
b
(
d
)};
return
typeof
a
!=
"string"
&&
(
d
=
c
,
c
=
a
,
a
=
b
),
c
&&
a
!==!
1
&&
this
.
queue
(
a
||
"fx"
,[]),
this
.
each
(
function
(){
var
b
=!
0
,
c
=
a
!=
null
&&
a
+
"queueHooks"
,
f
=
p
.
timers
,
g
=
p
.
_data
(
this
);
if
(
c
)
g
[
c
]
&&
g
[
c
].
stop
&&
e
(
g
[
c
]);
else
for
(
c
in
g
)
g
[
c
]
&&
g
[
c
].
stop
&&
cR
.
test
(
c
)
&&
e
(
g
[
c
]);
for
(
c
=
f
.
length
;
c
--
;)
f
[
c
].
elem
===
this
&&
(
a
==
null
||
f
[
c
].
queue
===
a
)
&&
(
f
[
c
].
anim
.
stop
(
d
),
b
=!
1
,
f
.
splice
(
c
,
1
));(
b
||!
d
)
&&
p
.
dequeue
(
this
,
a
)})}}),
p
.
each
({
slideDown
:
c$
(
"show"
),
slideUp
:
c$
(
"hide"
),
slideToggle
:
c$
(
"toggle"
),
fadeIn
:{
opacity
:
"show"
},
fadeOut
:{
opacity
:
"hide"
},
fadeToggle
:{
opacity
:
"toggle"
}},
function
(
a
,
b
){
p
.
fn
[
a
]
=
function
(
a
,
c
,
d
){
return
this
.
animate
(
b
,
a
,
c
,
d
)}}),
p
.
speed
=
function
(
a
,
b
,
c
){
var
d
=
a
&&
typeof
a
==
"object"
?
p
.
extend
({},
a
):{
complete
:
c
||!
c
&&
b
||
p
.
isFunction
(
a
)
&&
a
,
duration
:
a
,
easing
:
c
&&
b
||
b
&&!
p
.
isFunction
(
b
)
&&
b
};
d
.
duration
=
p
.
fx
.
off
?
0
:
typeof
d
.
duration
==
"number"
?
d
.
duration
:
d
.
duration
in
p
.
fx
.
speeds
?
p
.
fx
.
speeds
[
d
.
duration
]:
p
.
fx
.
speeds
.
_default
;
if
(
d
.
queue
==
null
||
d
.
queue
===!
0
)
d
.
queue
=
"fx"
;
return
d
.
old
=
d
.
complete
,
d
.
complete
=
function
(){
p
.
isFunction
(
d
.
old
)
&&
d
.
old
.
call
(
this
),
d
.
queue
&&
p
.
dequeue
(
this
,
d
.
queue
)},
d
},
p
.
easing
=
{
linear
:
function
(
a
){
return
a
},
swing
:
function
(
a
){
return
.
5
-
Math
.
cos
(
a
*
Math
.
PI
)
/
2
}},
p
.
timers
=
[],
p
.
fx
=
cZ
.
prototype
.
init
,
p
.
fx
.
tick
=
function
(){
var
a
,
b
=
p
.
timers
,
c
=
0
;
for
(;
c
<
b
.
length
;
c
++
)
a
=
b
[
c
],
!
a
()
&&
b
[
c
]
===
a
&&
b
.
splice
(
c
--
,
1
);
b
.
length
||
p
.
fx
.
stop
()},
p
.
fx
.
timer
=
function
(
a
){
a
()
&&
p
.
timers
.
push
(
a
)
&&!
cO
&&
(
cO
=
setInterval
(
p
.
fx
.
tick
,
p
.
fx
.
interval
))},
p
.
fx
.
interval
=
13
,
p
.
fx
.
stop
=
function
(){
clearInterval
(
cO
),
cO
=
null
},
p
.
fx
.
speeds
=
{
slow
:
600
,
fast
:
200
,
_default
:
400
},
p
.
fx
.
step
=
{},
p
.
expr
&&
p
.
expr
.
filters
&&
(
p
.
expr
.
filters
.
animated
=
function
(
a
){
return
p
.
grep
(
p
.
timers
,
function
(
b
){
return
a
===
b
.
elem
}).
length
});
var
c_
=
/^
(?:
body|html
)
$/i
;
p
.
fn
.
offset
=
function
(
a
){
if
(
arguments
.
length
)
return
a
===
b
?
this
:
this
.
each
(
function
(
b
){
p
.
offset
.
setOffset
(
this
,
a
,
b
)});
var
c
,
d
,
e
,
f
,
g
,
h
,
i
,
j
,
k
,
l
,
m
=
this
[
0
],
n
=
m
&&
m
.
ownerDocument
;
if
(
!
n
)
return
;
return
(
e
=
n
.
body
)
===
m
?
p
.
offset
.
bodyOffset
(
m
):(
d
=
n
.
documentElement
,
p
.
contains
(
d
,
m
)?(
c
=
m
.
getBoundingClientRect
(),
f
=
da
(
n
),
g
=
d
.
clientTop
||
e
.
clientTop
||
0
,
h
=
d
.
clientLeft
||
e
.
clientLeft
||
0
,
i
=
f
.
pageYOffset
||
d
.
scrollTop
,
j
=
f
.
pageXOffset
||
d
.
scrollLeft
,
k
=
c
.
top
+
i
-
g
,
l
=
c
.
left
+
j
-
h
,{
top
:
k
,
left
:
l
}):{
top
:
0
,
left
:
0
})},
p
.
offset
=
{
bodyOffset
:
function
(
a
){
var
b
=
a
.
offsetTop
,
c
=
a
.
offsetLeft
;
return
p
.
support
.
doesNotIncludeMarginInBodyOffset
&&
(
b
+=
parseFloat
(
p
.
css
(
a
,
"marginTop"
))
||
0
,
c
+=
parseFloat
(
p
.
css
(
a
,
"marginLeft"
))
||
0
),{
top
:
b
,
left
:
c
}},
setOffset
:
function
(
a
,
b
,
c
){
var
d
=
p
.
css
(
a
,
"position"
);
d
===
"static"
&&
(
a
.
style
.
position
=
"relative"
);
var
e
=
p
(
a
),
f
=
e
.
offset
(),
g
=
p
.
css
(
a
,
"top"
),
h
=
p
.
css
(
a
,
"left"
),
i
=
(
d
===
"absolute"
||
d
===
"fixed"
)
&&
p
.
inArray
(
"auto"
,[
g
,
h
])
>-
1
,
j
=
{},
k
=
{},
l
,
m
;
i
?(
k
=
e
.
position
(),
l
=
k
.
top
,
m
=
k
.
left
):(
l
=
parseFloat
(
g
)
||
0
,
m
=
parseFloat
(
h
)
||
0
),
p
.
isFunction
(
b
)
&&
(
b
=
b
.
call
(
a
,
c
,
f
)),
b
.
top
!=
null
&&
(
j
.
top
=
b
.
top
-
f
.
top
+
l
),
b
.
left
!=
null
&&
(
j
.
left
=
b
.
left
-
f
.
left
+
m
),
"using"
in
b
?
b
.
using
.
call
(
a
,
j
):
e
.
css
(
j
)}},
p
.
fn
.
extend
({
position
:
function
(){
if
(
!
this
[
0
])
return
;
var
a
=
this
[
0
],
b
=
this
.
offsetParent
(),
c
=
this
.
offset
(),
d
=
c_
.
test
(
b
[
0
].
nodeName
)?{
top
:
0
,
left
:
0
}:
b
.
offset
();
return
c
.
top
-=
parseFloat
(
p
.
css
(
a
,
"marginTop"
))
||
0
,
c
.
left
-=
parseFloat
(
p
.
css
(
a
,
"marginLeft"
))
||
0
,
d
.
top
+=
parseFloat
(
p
.
css
(
b
[
0
],
"borderTopWidth"
))
||
0
,
d
.
left
+=
parseFloat
(
p
.
css
(
b
[
0
],
"borderLeftWidth"
))
||
0
,{
top
:
c
.
top
-
d
.
top
,
left
:
c
.
left
-
d
.
left
}},
offsetParent
:
function
(){
return
this
.
map
(
function
(){
var
a
=
this
.
offsetParent
||
e
.
body
;
while
(
a
&&!
c_
.
test
(
a
.
nodeName
)
&&
p
.
css
(
a
,
"position"
)
===
"static"
)
a
=
a
.
offsetParent
;
return
a
||
e
.
body
})}}),
p
.
each
({
scrollLeft
:
"pageXOffset"
,
scrollTop
:
"pageYOffset"
},
function
(
a
,
c
){
var
d
=
/Y/
.
test
(
c
);
p
.
fn
[
a
]
=
function
(
e
){
return
p
.
access
(
this
,
function
(
a
,
e
,
f
){
var
g
=
da
(
a
);
if
(
f
===
b
)
return
g
?
c
in
g
?
g
[
c
]:
g
.
document
.
documentElement
[
e
]:
a
[
e
];
g
?
g
.
scrollTo
(
d
?
p
(
g
).
scrollLeft
():
f
,
d
?
f
:
p
(
g
).
scrollTop
()):
a
[
e
]
=
f
},
a
,
e
,
arguments
.
length
,
null
)}}),
p
.
each
({
Height
:
"height"
,
Width
:
"width"
},
function
(
a
,
c
){
p
.
each
({
padding
:
"inner"
+
a
,
content
:
c
,
""
:
"outer"
+
a
},
function
(
d
,
e
){
p
.
fn
[
e
]
=
function
(
e
,
f
){
var
g
=
arguments
.
length
&&
(
d
||
typeof
e
!=
"boolean"
),
h
=
d
||
(
e
===!
0
||
f
===!
0
?
"margin"
:
"border"
);
return
p
.
access
(
this
,
function
(
c
,
d
,
e
){
var
f
;
return
p
.
isWindow
(
c
)?
c
.
document
.
documentElement
[
"client"
+
a
]:
c
.
nodeType
===
9
?(
f
=
c
.
documentElement
,
Math
.
max
(
c
.
body
[
"scroll"
+
a
],
f
[
"scroll"
+
a
],
c
.
body
[
"offset"
+
a
],
f
[
"offset"
+
a
],
f
[
"client"
+
a
])):
e
===
b
?
p
.
css
(
c
,
d
,
e
,
h
):
p
.
style
(
c
,
d
,
e
,
h
)},
c
,
g
?
e
:
b
,
g
,
null
)}})}),
a
.
jQuery
=
a
.
$
=
p
,
typeof
define
==
"function"
&&
define
.
amd
&&
define
.
amd
.
jQuery
&&
define
(
"jquery"
,[],
function
(){
return
p
})})(
window
);
\ No newline at end of file
docs/static/js/jquery.js
deleted
100644 → 0
View file @
aabb26e5
/*! jQuery v1.7.2 jquery.com | jquery.org/license */
(
function
(
a
,
b
){
function
cy
(
a
){
return
f
.
isWindow
(
a
)?
a
:
a
.
nodeType
===
9
?
a
.
defaultView
||
a
.
parentWindow
:
!
1
}
function
cu
(
a
){
if
(
!
cj
[
a
]){
var
b
=
c
.
body
,
d
=
f
(
"<"
+
a
+
">"
).
appendTo
(
b
),
e
=
d
.
css
(
"display"
);
d
.
remove
();
if
(
e
===
"none"
||
e
===
""
){
ck
||
(
ck
=
c
.
createElement
(
"iframe"
),
ck
.
frameBorder
=
ck
.
width
=
ck
.
height
=
0
),
b
.
appendChild
(
ck
);
if
(
!
cl
||!
ck
.
createElement
)
cl
=
(
ck
.
contentWindow
||
ck
.
contentDocument
).
document
,
cl
.
write
((
f
.
support
.
boxModel
?
"<!doctype html>"
:
""
)
+
"<html><body>"
),
cl
.
close
();
d
=
cl
.
createElement
(
a
),
cl
.
body
.
appendChild
(
d
),
e
=
f
.
css
(
d
,
"display"
),
b
.
removeChild
(
ck
)}
cj
[
a
]
=
e
}
return
cj
[
a
]}
function
ct
(
a
,
b
){
var
c
=
{};
f
.
each
(
cp
.
concat
.
apply
([],
cp
.
slice
(
0
,
b
)),
function
(){
c
[
this
]
=
a
});
return
c
}
function
cs
(){
cq
=
b
}
function
cr
(){
setTimeout
(
cs
,
0
);
return
cq
=
f
.
now
()}
function
ci
(){
try
{
return
new
a
.
ActiveXObject
(
"Microsoft.XMLHTTP"
)}
catch
(
b
){}}
function
ch
(){
try
{
return
new
a
.
XMLHttpRequest
}
catch
(
b
){}}
function
cb
(
a
,
c
){
a
.
dataFilter
&&
(
c
=
a
.
dataFilter
(
c
,
a
.
dataType
));
var
d
=
a
.
dataTypes
,
e
=
{},
g
,
h
,
i
=
d
.
length
,
j
,
k
=
d
[
0
],
l
,
m
,
n
,
o
,
p
;
for
(
g
=
1
;
g
<
i
;
g
++
){
if
(
g
===
1
)
for
(
h
in
a
.
converters
)
typeof
h
==
"string"
&&
(
e
[
h
.
toLowerCase
()]
=
a
.
converters
[
h
]);
l
=
k
,
k
=
d
[
g
];
if
(
k
===
"*"
)
k
=
l
;
else
if
(
l
!==
"*"
&&
l
!==
k
){
m
=
l
+
" "
+
k
,
n
=
e
[
m
]
||
e
[
"* "
+
k
];
if
(
!
n
){
p
=
b
;
for
(
o
in
e
){
j
=
o
.
split
(
" "
);
if
(
j
[
0
]
===
l
||
j
[
0
]
===
"*"
){
p
=
e
[
j
[
1
]
+
" "
+
k
];
if
(
p
){
o
=
e
[
o
],
o
===!
0
?
n
=
p
:
p
===!
0
&&
(
n
=
o
);
break
}}}}
!
n
&&!
p
&&
f
.
error
(
"No conversion from "
+
m
.
replace
(
" "
,
" to "
)),
n
!==!
0
&&
(
c
=
n
?
n
(
c
):
p
(
o
(
c
)))}}
return
c
}
function
ca
(
a
,
c
,
d
){
var
e
=
a
.
contents
,
f
=
a
.
dataTypes
,
g
=
a
.
responseFields
,
h
,
i
,
j
,
k
;
for
(
i
in
g
)
i
in
d
&&
(
c
[
g
[
i
]]
=
d
[
i
]);
while
(
f
[
0
]
===
"*"
)
f
.
shift
(),
h
===
b
&&
(
h
=
a
.
mimeType
||
c
.
getResponseHeader
(
"content-type"
));
if
(
h
)
for
(
i
in
e
)
if
(
e
[
i
]
&&
e
[
i
].
test
(
h
)){
f
.
unshift
(
i
);
break
}
if
(
f
[
0
]
in
d
)
j
=
f
[
0
];
else
{
for
(
i
in
d
){
if
(
!
f
[
0
]
||
a
.
converters
[
i
+
" "
+
f
[
0
]]){
j
=
i
;
break
}
k
||
(
k
=
i
)}
j
=
j
||
k
}
if
(
j
){
j
!==
f
[
0
]
&&
f
.
unshift
(
j
);
return
d
[
j
]}}
function
b_
(
a
,
b
,
c
,
d
){
if
(
f
.
isArray
(
b
))
f
.
each
(
b
,
function
(
b
,
e
){
c
||
bD
.
test
(
a
)?
d
(
a
,
e
):
b_
(
a
+
"["
+
(
typeof
e
==
"object"
?
b
:
""
)
+
"]"
,
e
,
c
,
d
)});
else
if
(
!
c
&&
f
.
type
(
b
)
===
"object"
)
for
(
var
e
in
b
)
b_
(
a
+
"["
+
e
+
"]"
,
b
[
e
],
c
,
d
);
else
d
(
a
,
b
)}
function
b$
(
a
,
c
){
var
d
,
e
,
g
=
f
.
ajaxSettings
.
flatOptions
||
{};
for
(
d
in
c
)
c
[
d
]
!==
b
&&
((
g
[
d
]?
a
:
e
||
(
e
=
{}))[
d
]
=
c
[
d
]);
e
&&
f
.
extend
(
!
0
,
a
,
e
)}
function
bZ
(
a
,
c
,
d
,
e
,
f
,
g
){
f
=
f
||
c
.
dataTypes
[
0
],
g
=
g
||
{},
g
[
f
]
=!
0
;
var
h
=
a
[
f
],
i
=
0
,
j
=
h
?
h
.
length
:
0
,
k
=
a
===
bS
,
l
;
for
(;
i
<
j
&&
(
k
||!
l
);
i
++
)
l
=
h
[
i
](
c
,
d
,
e
),
typeof
l
==
"string"
&&
(
!
k
||
g
[
l
]?
l
=
b
:(
c
.
dataTypes
.
unshift
(
l
),
l
=
bZ
(
a
,
c
,
d
,
e
,
l
,
g
)));(
k
||!
l
)
&&!
g
[
"*"
]
&&
(
l
=
bZ
(
a
,
c
,
d
,
e
,
"*"
,
g
));
return
l
}
function
bY
(
a
){
return
function
(
b
,
c
){
typeof
b
!=
"string"
&&
(
c
=
b
,
b
=
"*"
);
if
(
f
.
isFunction
(
c
)){
var
d
=
b
.
toLowerCase
().
split
(
bO
),
e
=
0
,
g
=
d
.
length
,
h
,
i
,
j
;
for
(;
e
<
g
;
e
++
)
h
=
d
[
e
],
j
=
/^
\+
/
.
test
(
h
),
j
&&
(
h
=
h
.
substr
(
1
)
||
"*"
),
i
=
a
[
h
]
=
a
[
h
]
||
[],
i
[
j
?
"unshift"
:
"push"
](
c
)}}}
function
bB
(
a
,
b
,
c
){
var
d
=
b
===
"width"
?
a
.
offsetWidth
:
a
.
offsetHeight
,
e
=
b
===
"width"
?
1
:
0
,
g
=
4
;
if
(
d
>
0
){
if
(
c
!==
"border"
)
for
(;
e
<
g
;
e
+=
2
)
c
||
(
d
-=
parseFloat
(
f
.
css
(
a
,
"padding"
+
bx
[
e
]))
||
0
),
c
===
"margin"
?
d
+=
parseFloat
(
f
.
css
(
a
,
c
+
bx
[
e
]))
||
0
:
d
-=
parseFloat
(
f
.
css
(
a
,
"border"
+
bx
[
e
]
+
"Width"
))
||
0
;
return
d
+
"px"
}
d
=
by
(
a
,
b
);
if
(
d
<
0
||
d
==
null
)
d
=
a
.
style
[
b
];
if
(
bt
.
test
(
d
))
return
d
;
d
=
parseFloat
(
d
)
||
0
;
if
(
c
)
for
(;
e
<
g
;
e
+=
2
)
d
+=
parseFloat
(
f
.
css
(
a
,
"padding"
+
bx
[
e
]))
||
0
,
c
!==
"padding"
&&
(
d
+=
parseFloat
(
f
.
css
(
a
,
"border"
+
bx
[
e
]
+
"Width"
))
||
0
),
c
===
"margin"
&&
(
d
+=
parseFloat
(
f
.
css
(
a
,
c
+
bx
[
e
]))
||
0
);
return
d
+
"px"
}
function
bo
(
a
){
var
b
=
c
.
createElement
(
"div"
);
bh
.
appendChild
(
b
),
b
.
innerHTML
=
a
.
outerHTML
;
return
b
.
firstChild
}
function
bn
(
a
){
var
b
=
(
a
.
nodeName
||
""
).
toLowerCase
();
b
===
"input"
?
bm
(
a
):
b
!==
"script"
&&
typeof
a
.
getElementsByTagName
!=
"undefined"
&&
f
.
grep
(
a
.
getElementsByTagName
(
"input"
),
bm
)}
function
bm
(
a
){
if
(
a
.
type
===
"checkbox"
||
a
.
type
===
"radio"
)
a
.
defaultChecked
=
a
.
checked
}
function
bl
(
a
){
return
typeof
a
.
getElementsByTagName
!=
"undefined"
?
a
.
getElementsByTagName
(
"*"
):
typeof
a
.
querySelectorAll
!=
"undefined"
?
a
.
querySelectorAll
(
"*"
):[]}
function
bk
(
a
,
b
){
var
c
;
b
.
nodeType
===
1
&&
(
b
.
clearAttributes
&&
b
.
clearAttributes
(),
b
.
mergeAttributes
&&
b
.
mergeAttributes
(
a
),
c
=
b
.
nodeName
.
toLowerCase
(),
c
===
"object"
?
b
.
outerHTML
=
a
.
outerHTML
:
c
!==
"input"
||
a
.
type
!==
"checkbox"
&&
a
.
type
!==
"radio"
?
c
===
"option"
?
b
.
selected
=
a
.
defaultSelected
:
c
===
"input"
||
c
===
"textarea"
?
b
.
defaultValue
=
a
.
defaultValue
:
c
===
"script"
&&
b
.
text
!==
a
.
text
&&
(
b
.
text
=
a
.
text
):(
a
.
checked
&&
(
b
.
defaultChecked
=
b
.
checked
=
a
.
checked
),
b
.
value
!==
a
.
value
&&
(
b
.
value
=
a
.
value
)),
b
.
removeAttribute
(
f
.
expando
),
b
.
removeAttribute
(
"_submit_attached"
),
b
.
removeAttribute
(
"_change_attached"
))}
function
bj
(
a
,
b
){
if
(
b
.
nodeType
===
1
&&!!
f
.
hasData
(
a
)){
var
c
,
d
,
e
,
g
=
f
.
_data
(
a
),
h
=
f
.
_data
(
b
,
g
),
i
=
g
.
events
;
if
(
i
){
delete
h
.
handle
,
h
.
events
=
{};
for
(
c
in
i
)
for
(
d
=
0
,
e
=
i
[
c
].
length
;
d
<
e
;
d
++
)
f
.
event
.
add
(
b
,
c
,
i
[
c
][
d
])}
h
.
data
&&
(
h
.
data
=
f
.
extend
({},
h
.
data
))}}
function
bi
(
a
,
b
){
return
f
.
nodeName
(
a
,
"table"
)?
a
.
getElementsByTagName
(
"tbody"
)[
0
]
||
a
.
appendChild
(
a
.
ownerDocument
.
createElement
(
"tbody"
)):
a
}
function
U
(
a
){
var
b
=
V
.
split
(
"|"
),
c
=
a
.
createDocumentFragment
();
if
(
c
.
createElement
)
while
(
b
.
length
)
c
.
createElement
(
b
.
pop
());
return
c
}
function
T
(
a
,
b
,
c
){
b
=
b
||
0
;
if
(
f
.
isFunction
(
b
))
return
f
.
grep
(
a
,
function
(
a
,
d
){
var
e
=!!
b
.
call
(
a
,
d
,
a
);
return
e
===
c
});
if
(
b
.
nodeType
)
return
f
.
grep
(
a
,
function
(
a
,
d
){
return
a
===
b
===
c
});
if
(
typeof
b
==
"string"
){
var
d
=
f
.
grep
(
a
,
function
(
a
){
return
a
.
nodeType
===
1
});
if
(
O
.
test
(
b
))
return
f
.
filter
(
b
,
d
,
!
c
);
b
=
f
.
filter
(
b
,
d
)}
return
f
.
grep
(
a
,
function
(
a
,
d
){
return
f
.
inArray
(
a
,
b
)
>=
0
===
c
})}
function
S
(
a
){
return
!
a
||!
a
.
parentNode
||
a
.
parentNode
.
nodeType
===
11
}
function
K
(){
return
!
0
}
function
J
(){
return
!
1
}
function
n
(
a
,
b
,
c
){
var
d
=
b
+
"defer"
,
e
=
b
+
"queue"
,
g
=
b
+
"mark"
,
h
=
f
.
_data
(
a
,
d
);
h
&&
(
c
===
"queue"
||!
f
.
_data
(
a
,
e
))
&&
(
c
===
"mark"
||!
f
.
_data
(
a
,
g
))
&&
setTimeout
(
function
(){
!
f
.
_data
(
a
,
e
)
&&!
f
.
_data
(
a
,
g
)
&&
(
f
.
removeData
(
a
,
d
,
!
0
),
h
.
fire
())},
0
)}
function
m
(
a
){
for
(
var
b
in
a
){
if
(
b
===
"data"
&&
f
.
isEmptyObject
(
a
[
b
]))
continue
;
if
(
b
!==
"toJSON"
)
return
!
1
}
return
!
0
}
function
l
(
a
,
c
,
d
){
if
(
d
===
b
&&
a
.
nodeType
===
1
){
var
e
=
"data-"
+
c
.
replace
(
k
,
"-$1"
).
toLowerCase
();
d
=
a
.
getAttribute
(
e
);
if
(
typeof
d
==
"string"
){
try
{
d
=
d
===
"true"
?
!
0
:
d
===
"false"
?
!
1
:
d
===
"null"
?
null
:
f
.
isNumeric
(
d
)?
+
d
:
j
.
test
(
d
)?
f
.
parseJSON
(
d
):
d
}
catch
(
g
){}
f
.
data
(
a
,
c
,
d
)}
else
d
=
b
}
return
d
}
function
h
(
a
){
var
b
=
g
[
a
]
=
{},
c
,
d
;
a
=
a
.
split
(
/
\s
+/
);
for
(
c
=
0
,
d
=
a
.
length
;
c
<
d
;
c
++
)
b
[
a
[
c
]]
=!
0
;
return
b
}
var
c
=
a
.
document
,
d
=
a
.
navigator
,
e
=
a
.
location
,
f
=
function
(){
function
J
(){
if
(
!
e
.
isReady
){
try
{
c
.
documentElement
.
doScroll
(
"left"
)}
catch
(
a
){
setTimeout
(
J
,
1
);
return
}
e
.
ready
()}}
var
e
=
function
(
a
,
b
){
return
new
e
.
fn
.
init
(
a
,
b
,
h
)},
f
=
a
.
jQuery
,
g
=
a
.
$
,
h
,
i
=
/^
(?:[^
#<
]
*
(
<
[\w\W]
+>
)[^
>
]
*$|#
([\w\-]
*
)
$
)
/
,
j
=
/
\S
/
,
k
=
/^
\s
+/
,
l
=
/
\s
+$/
,
m
=
/^<
(\w
+
)\s
*
\/?
>
(?:
<
\/\1
>
)?
$/
,
n
=
/^
[\]
,:{}
\s]
*$/
,
o
=
/
\\(?:[
"
\\\/
bfnrt
]
|u
[
0-9a-fA-F
]{4})
/g
,
p
=
/"
[^
"
\\\n\r]
*"|true|false|null|-
?\d
+
(?:\.\d
*
)?(?:[
eE
][
+
\-]?\d
+
)?
/g
,
q
=
/
(?:
^|:|,
)(?:\s
*
\[)
+/g
,
r
=
/
(
webkit
)[
\/]([\w
.
]
+
)
/
,
s
=
/
(
opera
)(?:
.*version
)?[
\/]([\w
.
]
+
)
/
,
t
=
/
(
msie
)
([\w
.
]
+
)
/
,
u
=
/
(
mozilla
)(?:
.*
?
rv:
([\w
.
]
+
))?
/
,
v
=
/-
([
a-z
]
|
[
0-9
])
/ig
,
w
=
/^-ms-/
,
x
=
function
(
a
,
b
){
return
(
b
+
""
).
toUpperCase
()},
y
=
d
.
userAgent
,
z
,
A
,
B
,
C
=
Object
.
prototype
.
toString
,
D
=
Object
.
prototype
.
hasOwnProperty
,
E
=
Array
.
prototype
.
push
,
F
=
Array
.
prototype
.
slice
,
G
=
String
.
prototype
.
trim
,
H
=
Array
.
prototype
.
indexOf
,
I
=
{};
e
.
fn
=
e
.
prototype
=
{
constructor
:
e
,
init
:
function
(
a
,
d
,
f
){
var
g
,
h
,
j
,
k
;
if
(
!
a
)
return
this
;
if
(
a
.
nodeType
){
this
.
context
=
this
[
0
]
=
a
,
this
.
length
=
1
;
return
this
}
if
(
a
===
"body"
&&!
d
&&
c
.
body
){
this
.
context
=
c
,
this
[
0
]
=
c
.
body
,
this
.
selector
=
a
,
this
.
length
=
1
;
return
this
}
if
(
typeof
a
==
"string"
){
a
.
charAt
(
0
)
!==
"<"
||
a
.
charAt
(
a
.
length
-
1
)
!==
">"
||
a
.
length
<
3
?
g
=
i
.
exec
(
a
):
g
=
[
null
,
a
,
null
];
if
(
g
&&
(
g
[
1
]
||!
d
)){
if
(
g
[
1
]){
d
=
d
instanceof
e
?
d
[
0
]:
d
,
k
=
d
?
d
.
ownerDocument
||
d
:
c
,
j
=
m
.
exec
(
a
),
j
?
e
.
isPlainObject
(
d
)?(
a
=
[
c
.
createElement
(
j
[
1
])],
e
.
fn
.
attr
.
call
(
a
,
d
,
!
0
)):
a
=
[
k
.
createElement
(
j
[
1
])]:(
j
=
e
.
buildFragment
([
g
[
1
]],[
k
]),
a
=
(
j
.
cacheable
?
e
.
clone
(
j
.
fragment
):
j
.
fragment
).
childNodes
);
return
e
.
merge
(
this
,
a
)}
h
=
c
.
getElementById
(
g
[
2
]);
if
(
h
&&
h
.
parentNode
){
if
(
h
.
id
!==
g
[
2
])
return
f
.
find
(
a
);
this
.
length
=
1
,
this
[
0
]
=
h
}
this
.
context
=
c
,
this
.
selector
=
a
;
return
this
}
return
!
d
||
d
.
jquery
?(
d
||
f
).
find
(
a
):
this
.
constructor
(
d
).
find
(
a
)}
if
(
e
.
isFunction
(
a
))
return
f
.
ready
(
a
);
a
.
selector
!==
b
&&
(
this
.
selector
=
a
.
selector
,
this
.
context
=
a
.
context
);
return
e
.
makeArray
(
a
,
this
)},
selector
:
""
,
jquery
:
"1.7.2"
,
length
:
0
,
size
:
function
(){
return
this
.
length
},
toArray
:
function
(){
return
F
.
call
(
this
,
0
)},
get
:
function
(
a
){
return
a
==
null
?
this
.
toArray
():
a
<
0
?
this
[
this
.
length
+
a
]:
this
[
a
]},
pushStack
:
function
(
a
,
b
,
c
){
var
d
=
this
.
constructor
();
e
.
isArray
(
a
)?
E
.
apply
(
d
,
a
):
e
.
merge
(
d
,
a
),
d
.
prevObject
=
this
,
d
.
context
=
this
.
context
,
b
===
"find"
?
d
.
selector
=
this
.
selector
+
(
this
.
selector
?
" "
:
""
)
+
c
:
b
&&
(
d
.
selector
=
this
.
selector
+
"."
+
b
+
"("
+
c
+
")"
);
return
d
},
each
:
function
(
a
,
b
){
return
e
.
each
(
this
,
a
,
b
)},
ready
:
function
(
a
){
e
.
bindReady
(),
A
.
add
(
a
);
return
this
},
eq
:
function
(
a
){
a
=+
a
;
return
a
===-
1
?
this
.
slice
(
a
):
this
.
slice
(
a
,
a
+
1
)},
first
:
function
(){
return
this
.
eq
(
0
)},
last
:
function
(){
return
this
.
eq
(
-
1
)},
slice
:
function
(){
return
this
.
pushStack
(
F
.
apply
(
this
,
arguments
),
"slice"
,
F
.
call
(
arguments
).
join
(
","
))},
map
:
function
(
a
){
return
this
.
pushStack
(
e
.
map
(
this
,
function
(
b
,
c
){
return
a
.
call
(
b
,
c
,
b
)}))},
end
:
function
(){
return
this
.
prevObject
||
this
.
constructor
(
null
)},
push
:
E
,
sort
:[].
sort
,
splice
:[].
splice
},
e
.
fn
.
init
.
prototype
=
e
.
fn
,
e
.
extend
=
e
.
fn
.
extend
=
function
(){
var
a
,
c
,
d
,
f
,
g
,
h
,
i
=
arguments
[
0
]
||
{},
j
=
1
,
k
=
arguments
.
length
,
l
=!
1
;
typeof
i
==
"boolean"
&&
(
l
=
i
,
i
=
arguments
[
1
]
||
{},
j
=
2
),
typeof
i
!=
"object"
&&!
e
.
isFunction
(
i
)
&&
(
i
=
{}),
k
===
j
&&
(
i
=
this
,
--
j
);
for
(;
j
<
k
;
j
++
)
if
((
a
=
arguments
[
j
])
!=
null
)
for
(
c
in
a
){
d
=
i
[
c
],
f
=
a
[
c
];
if
(
i
===
f
)
continue
;
l
&&
f
&&
(
e
.
isPlainObject
(
f
)
||
(
g
=
e
.
isArray
(
f
)))?(
g
?(
g
=!
1
,
h
=
d
&&
e
.
isArray
(
d
)?
d
:[]):
h
=
d
&&
e
.
isPlainObject
(
d
)?
d
:{},
i
[
c
]
=
e
.
extend
(
l
,
h
,
f
)):
f
!==
b
&&
(
i
[
c
]
=
f
)}
return
i
},
e
.
extend
({
noConflict
:
function
(
b
){
a
.
$
===
e
&&
(
a
.
$
=
g
),
b
&&
a
.
jQuery
===
e
&&
(
a
.
jQuery
=
f
);
return
e
},
isReady
:
!
1
,
readyWait
:
1
,
holdReady
:
function
(
a
){
a
?
e
.
readyWait
++
:
e
.
ready
(
!
0
)},
ready
:
function
(
a
){
if
(
a
===!
0
&&!--
e
.
readyWait
||
a
!==!
0
&&!
e
.
isReady
){
if
(
!
c
.
body
)
return
setTimeout
(
e
.
ready
,
1
);
e
.
isReady
=!
0
;
if
(
a
!==!
0
&&--
e
.
readyWait
>
0
)
return
;
A
.
fireWith
(
c
,[
e
]),
e
.
fn
.
trigger
&&
e
(
c
).
trigger
(
"ready"
).
off
(
"ready"
)}},
bindReady
:
function
(){
if
(
!
A
){
A
=
e
.
Callbacks
(
"once memory"
);
if
(
c
.
readyState
===
"complete"
)
return
setTimeout
(
e
.
ready
,
1
);
if
(
c
.
addEventListener
)
c
.
addEventListener
(
"DOMContentLoaded"
,
B
,
!
1
),
a
.
addEventListener
(
"load"
,
e
.
ready
,
!
1
);
else
if
(
c
.
attachEvent
){
c
.
attachEvent
(
"onreadystatechange"
,
B
),
a
.
attachEvent
(
"onload"
,
e
.
ready
);
var
b
=!
1
;
try
{
b
=
a
.
frameElement
==
null
}
catch
(
d
){}
c
.
documentElement
.
doScroll
&&
b
&&
J
()}}},
isFunction
:
function
(
a
){
return
e
.
type
(
a
)
===
"function"
},
isArray
:
Array
.
isArray
||
function
(
a
){
return
e
.
type
(
a
)
===
"array"
},
isWindow
:
function
(
a
){
return
a
!=
null
&&
a
==
a
.
window
},
isNumeric
:
function
(
a
){
return
!
isNaN
(
parseFloat
(
a
))
&&
isFinite
(
a
)},
type
:
function
(
a
){
return
a
==
null
?
String
(
a
):
I
[
C
.
call
(
a
)]
||
"object"
},
isPlainObject
:
function
(
a
){
if
(
!
a
||
e
.
type
(
a
)
!==
"object"
||
a
.
nodeType
||
e
.
isWindow
(
a
))
return
!
1
;
try
{
if
(
a
.
constructor
&&!
D
.
call
(
a
,
"constructor"
)
&&!
D
.
call
(
a
.
constructor
.
prototype
,
"isPrototypeOf"
))
return
!
1
}
catch
(
c
){
return
!
1
}
var
d
;
for
(
d
in
a
);
return
d
===
b
||
D
.
call
(
a
,
d
)},
isEmptyObject
:
function
(
a
){
for
(
var
b
in
a
)
return
!
1
;
return
!
0
},
error
:
function
(
a
){
throw
new
Error
(
a
)},
parseJSON
:
function
(
b
){
if
(
typeof
b
!=
"string"
||!
b
)
return
null
;
b
=
e
.
trim
(
b
);
if
(
a
.
JSON
&&
a
.
JSON
.
parse
)
return
a
.
JSON
.
parse
(
b
);
if
(
n
.
test
(
b
.
replace
(
o
,
"@"
).
replace
(
p
,
"]"
).
replace
(
q
,
""
)))
return
(
new
Function
(
"return "
+
b
))();
e
.
error
(
"Invalid JSON: "
+
b
)},
parseXML
:
function
(
c
){
if
(
typeof
c
!=
"string"
||!
c
)
return
null
;
var
d
,
f
;
try
{
a
.
DOMParser
?(
f
=
new
DOMParser
,
d
=
f
.
parseFromString
(
c
,
"text/xml"
)):(
d
=
new
ActiveXObject
(
"Microsoft.XMLDOM"
),
d
.
async
=
"false"
,
d
.
loadXML
(
c
))}
catch
(
g
){
d
=
b
}(
!
d
||!
d
.
documentElement
||
d
.
getElementsByTagName
(
"parsererror"
).
length
)
&&
e
.
error
(
"Invalid XML: "
+
c
);
return
d
},
noop
:
function
(){},
globalEval
:
function
(
b
){
b
&&
j
.
test
(
b
)
&&
(
a
.
execScript
||
function
(
b
){
a
.
eval
.
call
(
a
,
b
)})(
b
)},
camelCase
:
function
(
a
){
return
a
.
replace
(
w
,
"ms-"
).
replace
(
v
,
x
)},
nodeName
:
function
(
a
,
b
){
return
a
.
nodeName
&&
a
.
nodeName
.
toUpperCase
()
===
b
.
toUpperCase
()},
each
:
function
(
a
,
c
,
d
){
var
f
,
g
=
0
,
h
=
a
.
length
,
i
=
h
===
b
||
e
.
isFunction
(
a
);
if
(
d
){
if
(
i
){
for
(
f
in
a
)
if
(
c
.
apply
(
a
[
f
],
d
)
===!
1
)
break
}
else
for
(;
g
<
h
;)
if
(
c
.
apply
(
a
[
g
++
],
d
)
===!
1
)
break
}
else
if
(
i
){
for
(
f
in
a
)
if
(
c
.
call
(
a
[
f
],
f
,
a
[
f
])
===!
1
)
break
}
else
for
(;
g
<
h
;)
if
(
c
.
call
(
a
[
g
],
g
,
a
[
g
++
])
===!
1
)
break
;
return
a
},
trim
:
G
?
function
(
a
){
return
a
==
null
?
""
:
G
.
call
(
a
)}:
function
(
a
){
return
a
==
null
?
""
:(
a
+
""
).
replace
(
k
,
""
).
replace
(
l
,
""
)},
makeArray
:
function
(
a
,
b
){
var
c
=
b
||
[];
if
(
a
!=
null
){
var
d
=
e
.
type
(
a
);
a
.
length
==
null
||
d
===
"string"
||
d
===
"function"
||
d
===
"regexp"
||
e
.
isWindow
(
a
)?
E
.
call
(
c
,
a
):
e
.
merge
(
c
,
a
)}
return
c
},
inArray
:
function
(
a
,
b
,
c
){
var
d
;
if
(
b
){
if
(
H
)
return
H
.
call
(
b
,
a
,
c
);
d
=
b
.
length
,
c
=
c
?
c
<
0
?
Math
.
max
(
0
,
d
+
c
):
c
:
0
;
for
(;
c
<
d
;
c
++
)
if
(
c
in
b
&&
b
[
c
]
===
a
)
return
c
}
return
-
1
},
merge
:
function
(
a
,
c
){
var
d
=
a
.
length
,
e
=
0
;
if
(
typeof
c
.
length
==
"number"
)
for
(
var
f
=
c
.
length
;
e
<
f
;
e
++
)
a
[
d
++
]
=
c
[
e
];
else
while
(
c
[
e
]
!==
b
)
a
[
d
++
]
=
c
[
e
++
];
a
.
length
=
d
;
return
a
},
grep
:
function
(
a
,
b
,
c
){
var
d
=
[],
e
;
c
=!!
c
;
for
(
var
f
=
0
,
g
=
a
.
length
;
f
<
g
;
f
++
)
e
=!!
b
(
a
[
f
],
f
),
c
!==
e
&&
d
.
push
(
a
[
f
]);
return
d
},
map
:
function
(
a
,
c
,
d
){
var
f
,
g
,
h
=
[],
i
=
0
,
j
=
a
.
length
,
k
=
a
instanceof
e
||
j
!==
b
&&
typeof
j
==
"number"
&&
(
j
>
0
&&
a
[
0
]
&&
a
[
j
-
1
]
||
j
===
0
||
e
.
isArray
(
a
));
if
(
k
)
for
(;
i
<
j
;
i
++
)
f
=
c
(
a
[
i
],
i
,
d
),
f
!=
null
&&
(
h
[
h
.
length
]
=
f
);
else
for
(
g
in
a
)
f
=
c
(
a
[
g
],
g
,
d
),
f
!=
null
&&
(
h
[
h
.
length
]
=
f
);
return
h
.
concat
.
apply
([],
h
)},
guid
:
1
,
proxy
:
function
(
a
,
c
){
if
(
typeof
c
==
"string"
){
var
d
=
a
[
c
];
c
=
a
,
a
=
d
}
if
(
!
e
.
isFunction
(
a
))
return
b
;
var
f
=
F
.
call
(
arguments
,
2
),
g
=
function
(){
return
a
.
apply
(
c
,
f
.
concat
(
F
.
call
(
arguments
)))};
g
.
guid
=
a
.
guid
=
a
.
guid
||
g
.
guid
||
e
.
guid
++
;
return
g
},
access
:
function
(
a
,
c
,
d
,
f
,
g
,
h
,
i
){
var
j
,
k
=
d
==
null
,
l
=
0
,
m
=
a
.
length
;
if
(
d
&&
typeof
d
==
"object"
){
for
(
l
in
d
)
e
.
access
(
a
,
c
,
l
,
d
[
l
],
1
,
h
,
f
);
g
=
1
}
else
if
(
f
!==
b
){
j
=
i
===
b
&&
e
.
isFunction
(
f
),
k
&&
(
j
?(
j
=
c
,
c
=
function
(
a
,
b
,
c
){
return
j
.
call
(
e
(
a
),
c
)}):(
c
.
call
(
a
,
f
),
c
=
null
));
if
(
c
)
for
(;
l
<
m
;
l
++
)
c
(
a
[
l
],
d
,
j
?
f
.
call
(
a
[
l
],
l
,
c
(
a
[
l
],
d
)):
f
,
i
);
g
=
1
}
return
g
?
a
:
k
?
c
.
call
(
a
):
m
?
c
(
a
[
0
],
d
):
h
},
now
:
function
(){
return
(
new
Date
).
getTime
()},
uaMatch
:
function
(
a
){
a
=
a
.
toLowerCase
();
var
b
=
r
.
exec
(
a
)
||
s
.
exec
(
a
)
||
t
.
exec
(
a
)
||
a
.
indexOf
(
"compatible"
)
<
0
&&
u
.
exec
(
a
)
||
[];
return
{
browser
:
b
[
1
]
||
""
,
version
:
b
[
2
]
||
"0"
}},
sub
:
function
(){
function
a
(
b
,
c
){
return
new
a
.
fn
.
init
(
b
,
c
)}
e
.
extend
(
!
0
,
a
,
this
),
a
.
superclass
=
this
,
a
.
fn
=
a
.
prototype
=
this
(),
a
.
fn
.
constructor
=
a
,
a
.
sub
=
this
.
sub
,
a
.
fn
.
init
=
function
(
d
,
f
){
f
&&
f
instanceof
e
&&!
(
f
instanceof
a
)
&&
(
f
=
a
(
f
));
return
e
.
fn
.
init
.
call
(
this
,
d
,
f
,
b
)},
a
.
fn
.
init
.
prototype
=
a
.
fn
;
var
b
=
a
(
c
);
return
a
},
browser
:{}}),
e
.
each
(
"Boolean Number String Function Array Date RegExp Object"
.
split
(
" "
),
function
(
a
,
b
){
I
[
"[object "
+
b
+
"]"
]
=
b
.
toLowerCase
()}),
z
=
e
.
uaMatch
(
y
),
z
.
browser
&&
(
e
.
browser
[
z
.
browser
]
=!
0
,
e
.
browser
.
version
=
z
.
version
),
e
.
browser
.
webkit
&&
(
e
.
browser
.
safari
=!
0
),
j
.
test
(
" "
)
&&
(
k
=
/^
[\s\x
A0
]
+/
,
l
=
/
[\s\x
A0
]
+$/
),
h
=
e
(
c
),
c
.
addEventListener
?
B
=
function
(){
c
.
removeEventListener
(
"DOMContentLoaded"
,
B
,
!
1
),
e
.
ready
()}:
c
.
attachEvent
&&
(
B
=
function
(){
c
.
readyState
===
"complete"
&&
(
c
.
detachEvent
(
"onreadystatechange"
,
B
),
e
.
ready
())});
return
e
}(),
g
=
{};
f
.
Callbacks
=
function
(
a
){
a
=
a
?
g
[
a
]
||
h
(
a
):{};
var
c
=
[],
d
=
[],
e
,
i
,
j
,
k
,
l
,
m
,
n
=
function
(
b
){
var
d
,
e
,
g
,
h
,
i
;
for
(
d
=
0
,
e
=
b
.
length
;
d
<
e
;
d
++
)
g
=
b
[
d
],
h
=
f
.
type
(
g
),
h
===
"array"
?
n
(
g
):
h
===
"function"
&&
(
!
a
.
unique
||!
p
.
has
(
g
))
&&
c
.
push
(
g
)},
o
=
function
(
b
,
f
){
f
=
f
||
[],
e
=!
a
.
memory
||
[
b
,
f
],
i
=!
0
,
j
=!
0
,
m
=
k
||
0
,
k
=
0
,
l
=
c
.
length
;
for
(;
c
&&
m
<
l
;
m
++
)
if
(
c
[
m
].
apply
(
b
,
f
)
===!
1
&&
a
.
stopOnFalse
){
e
=!
0
;
break
}
j
=!
1
,
c
&&
(
a
.
once
?
e
===!
0
?
p
.
disable
():
c
=
[]:
d
&&
d
.
length
&&
(
e
=
d
.
shift
(),
p
.
fireWith
(
e
[
0
],
e
[
1
])))},
p
=
{
add
:
function
(){
if
(
c
){
var
a
=
c
.
length
;
n
(
arguments
),
j
?
l
=
c
.
length
:
e
&&
e
!==!
0
&&
(
k
=
a
,
o
(
e
[
0
],
e
[
1
]))}
return
this
},
remove
:
function
(){
if
(
c
){
var
b
=
arguments
,
d
=
0
,
e
=
b
.
length
;
for
(;
d
<
e
;
d
++
)
for
(
var
f
=
0
;
f
<
c
.
length
;
f
++
)
if
(
b
[
d
]
===
c
[
f
]){
j
&&
f
<=
l
&&
(
l
--
,
f
<=
m
&&
m
--
),
c
.
splice
(
f
--
,
1
);
if
(
a
.
unique
)
break
}}
return
this
},
has
:
function
(
a
){
if
(
c
){
var
b
=
0
,
d
=
c
.
length
;
for
(;
b
<
d
;
b
++
)
if
(
a
===
c
[
b
])
return
!
0
}
return
!
1
},
empty
:
function
(){
c
=
[];
return
this
},
disable
:
function
(){
c
=
d
=
e
=
b
;
return
this
},
disabled
:
function
(){
return
!
c
},
lock
:
function
(){
d
=
b
,(
!
e
||
e
===!
0
)
&&
p
.
disable
();
return
this
},
locked
:
function
(){
return
!
d
},
fireWith
:
function
(
b
,
c
){
d
&&
(
j
?
a
.
once
||
d
.
push
([
b
,
c
]):(
!
a
.
once
||!
e
)
&&
o
(
b
,
c
));
return
this
},
fire
:
function
(){
p
.
fireWith
(
this
,
arguments
);
return
this
},
fired
:
function
(){
return
!!
i
}};
return
p
};
var
i
=
[].
slice
;
f
.
extend
({
Deferred
:
function
(
a
){
var
b
=
f
.
Callbacks
(
"once memory"
),
c
=
f
.
Callbacks
(
"once memory"
),
d
=
f
.
Callbacks
(
"memory"
),
e
=
"pending"
,
g
=
{
resolve
:
b
,
reject
:
c
,
notify
:
d
},
h
=
{
done
:
b
.
add
,
fail
:
c
.
add
,
progress
:
d
.
add
,
state
:
function
(){
return
e
},
isResolved
:
b
.
fired
,
isRejected
:
c
.
fired
,
then
:
function
(
a
,
b
,
c
){
i
.
done
(
a
).
fail
(
b
).
progress
(
c
);
return
this
},
always
:
function
(){
i
.
done
.
apply
(
i
,
arguments
).
fail
.
apply
(
i
,
arguments
);
return
this
},
pipe
:
function
(
a
,
b
,
c
){
return
f
.
Deferred
(
function
(
d
){
f
.
each
({
done
:[
a
,
"resolve"
],
fail
:[
b
,
"reject"
],
progress
:[
c
,
"notify"
]},
function
(
a
,
b
){
var
c
=
b
[
0
],
e
=
b
[
1
],
g
;
f
.
isFunction
(
c
)?
i
[
a
](
function
(){
g
=
c
.
apply
(
this
,
arguments
),
g
&&
f
.
isFunction
(
g
.
promise
)?
g
.
promise
().
then
(
d
.
resolve
,
d
.
reject
,
d
.
notify
):
d
[
e
+
"With"
](
this
===
i
?
d
:
this
,[
g
])}):
i
[
a
](
d
[
e
])})}).
promise
()},
promise
:
function
(
a
){
if
(
a
==
null
)
a
=
h
;
else
for
(
var
b
in
h
)
a
[
b
]
=
h
[
b
];
return
a
}},
i
=
h
.
promise
({}),
j
;
for
(
j
in
g
)
i
[
j
]
=
g
[
j
].
fire
,
i
[
j
+
"With"
]
=
g
[
j
].
fireWith
;
i
.
done
(
function
(){
e
=
"resolved"
},
c
.
disable
,
d
.
lock
).
fail
(
function
(){
e
=
"rejected"
},
b
.
disable
,
d
.
lock
),
a
&&
a
.
call
(
i
,
i
);
return
i
},
when
:
function
(
a
){
function
m
(
a
){
return
function
(
b
){
e
[
a
]
=
arguments
.
length
>
1
?
i
.
call
(
arguments
,
0
):
b
,
j
.
notifyWith
(
k
,
e
)}}
function
l
(
a
){
return
function
(
c
){
b
[
a
]
=
arguments
.
length
>
1
?
i
.
call
(
arguments
,
0
):
c
,
--
g
||
j
.
resolveWith
(
j
,
b
)}}
var
b
=
i
.
call
(
arguments
,
0
),
c
=
0
,
d
=
b
.
length
,
e
=
Array
(
d
),
g
=
d
,
h
=
d
,
j
=
d
<=
1
&&
a
&&
f
.
isFunction
(
a
.
promise
)?
a
:
f
.
Deferred
(),
k
=
j
.
promise
();
if
(
d
>
1
){
for
(;
c
<
d
;
c
++
)
b
[
c
]
&&
b
[
c
].
promise
&&
f
.
isFunction
(
b
[
c
].
promise
)?
b
[
c
].
promise
().
then
(
l
(
c
),
j
.
reject
,
m
(
c
)):
--
g
;
g
||
j
.
resolveWith
(
j
,
b
)}
else
j
!==
a
&&
j
.
resolveWith
(
j
,
d
?[
a
]:[]);
return
k
}}),
f
.
support
=
function
(){
var
b
,
d
,
e
,
g
,
h
,
i
,
j
,
k
,
l
,
m
,
n
,
o
,
p
=
c
.
createElement
(
"div"
),
q
=
c
.
documentElement
;
p
.
setAttribute
(
"className"
,
"t"
),
p
.
innerHTML
=
" <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>"
,
d
=
p
.
getElementsByTagName
(
"*"
),
e
=
p
.
getElementsByTagName
(
"a"
)[
0
];
if
(
!
d
||!
d
.
length
||!
e
)
return
{};
g
=
c
.
createElement
(
"select"
),
h
=
g
.
appendChild
(
c
.
createElement
(
"option"
)),
i
=
p
.
getElementsByTagName
(
"input"
)[
0
],
b
=
{
leadingWhitespace
:
p
.
firstChild
.
nodeType
===
3
,
tbody
:
!
p
.
getElementsByTagName
(
"tbody"
).
length
,
htmlSerialize
:
!!
p
.
getElementsByTagName
(
"link"
).
length
,
style
:
/top/
.
test
(
e
.
getAttribute
(
"style"
)),
hrefNormalized
:
e
.
getAttribute
(
"href"
)
===
"/a"
,
opacity
:
/^0.55/
.
test
(
e
.
style
.
opacity
),
cssFloat
:
!!
e
.
style
.
cssFloat
,
checkOn
:
i
.
value
===
"on"
,
optSelected
:
h
.
selected
,
getSetAttribute
:
p
.
className
!==
"t"
,
enctype
:
!!
c
.
createElement
(
"form"
).
enctype
,
html5Clone
:
c
.
createElement
(
"nav"
).
cloneNode
(
!
0
).
outerHTML
!==
"<:nav></:nav>"
,
submitBubbles
:
!
0
,
changeBubbles
:
!
0
,
focusinBubbles
:
!
1
,
deleteExpando
:
!
0
,
noCloneEvent
:
!
0
,
inlineBlockNeedsLayout
:
!
1
,
shrinkWrapBlocks
:
!
1
,
reliableMarginRight
:
!
0
,
pixelMargin
:
!
0
},
f
.
boxModel
=
b
.
boxModel
=
c
.
compatMode
===
"CSS1Compat"
,
i
.
checked
=!
0
,
b
.
noCloneChecked
=
i
.
cloneNode
(
!
0
).
checked
,
g
.
disabled
=!
0
,
b
.
optDisabled
=!
h
.
disabled
;
try
{
delete
p
.
test
}
catch
(
r
){
b
.
deleteExpando
=!
1
}
!
p
.
addEventListener
&&
p
.
attachEvent
&&
p
.
fireEvent
&&
(
p
.
attachEvent
(
"onclick"
,
function
(){
b
.
noCloneEvent
=!
1
}),
p
.
cloneNode
(
!
0
).
fireEvent
(
"onclick"
)),
i
=
c
.
createElement
(
"input"
),
i
.
value
=
"t"
,
i
.
setAttribute
(
"type"
,
"radio"
),
b
.
radioValue
=
i
.
value
===
"t"
,
i
.
setAttribute
(
"checked"
,
"checked"
),
i
.
setAttribute
(
"name"
,
"t"
),
p
.
appendChild
(
i
),
j
=
c
.
createDocumentFragment
(),
j
.
appendChild
(
p
.
lastChild
),
b
.
checkClone
=
j
.
cloneNode
(
!
0
).
cloneNode
(
!
0
).
lastChild
.
checked
,
b
.
appendChecked
=
i
.
checked
,
j
.
removeChild
(
i
),
j
.
appendChild
(
p
);
if
(
p
.
attachEvent
)
for
(
n
in
{
submit
:
1
,
change
:
1
,
focusin
:
1
})
m
=
"on"
+
n
,
o
=
m
in
p
,
o
||
(
p
.
setAttribute
(
m
,
"return;"
),
o
=
typeof
p
[
m
]
==
"function"
),
b
[
n
+
"Bubbles"
]
=
o
;
j
.
removeChild
(
p
),
j
=
g
=
h
=
p
=
i
=
null
,
f
(
function
(){
var
d
,
e
,
g
,
h
,
i
,
j
,
l
,
m
,
n
,
q
,
r
,
s
,
t
,
u
=
c
.
getElementsByTagName
(
"body"
)[
0
];
!
u
||
(
m
=
1
,
t
=
"padding:0;margin:0;border:"
,
r
=
"position:absolute;top:0;left:0;width:1px;height:1px;"
,
s
=
t
+
"0;visibility:hidden;"
,
n
=
"style='"
+
r
+
t
+
"5px solid #000;"
,
q
=
"<div "
+
n
+
"display:block;'><div style='"
+
t
+
"0;display:block;overflow:hidden;'></div></div>"
+
"<table "
+
n
+
"' cellpadding='0' cellspacing='0'>"
+
"<tr><td></td></tr></table>"
,
d
=
c
.
createElement
(
"div"
),
d
.
style
.
cssText
=
s
+
"width:0;height:0;position:static;top:0;margin-top:"
+
m
+
"px"
,
u
.
insertBefore
(
d
,
u
.
firstChild
),
p
=
c
.
createElement
(
"div"
),
d
.
appendChild
(
p
),
p
.
innerHTML
=
"<table><tr><td style='"
+
t
+
"0;display:none'></td><td>t</td></tr></table>"
,
k
=
p
.
getElementsByTagName
(
"td"
),
o
=
k
[
0
].
offsetHeight
===
0
,
k
[
0
].
style
.
display
=
""
,
k
[
1
].
style
.
display
=
"none"
,
b
.
reliableHiddenOffsets
=
o
&&
k
[
0
].
offsetHeight
===
0
,
a
.
getComputedStyle
&&
(
p
.
innerHTML
=
""
,
l
=
c
.
createElement
(
"div"
),
l
.
style
.
width
=
"0"
,
l
.
style
.
marginRight
=
"0"
,
p
.
style
.
width
=
"2px"
,
p
.
appendChild
(
l
),
b
.
reliableMarginRight
=
(
parseInt
((
a
.
getComputedStyle
(
l
,
null
)
||
{
marginRight
:
0
}).
marginRight
,
10
)
||
0
)
===
0
),
typeof
p
.
style
.
zoom
!=
"undefined"
&&
(
p
.
innerHTML
=
""
,
p
.
style
.
width
=
p
.
style
.
padding
=
"1px"
,
p
.
style
.
border
=
0
,
p
.
style
.
overflow
=
"hidden"
,
p
.
style
.
display
=
"inline"
,
p
.
style
.
zoom
=
1
,
b
.
inlineBlockNeedsLayout
=
p
.
offsetWidth
===
3
,
p
.
style
.
display
=
"block"
,
p
.
style
.
overflow
=
"visible"
,
p
.
innerHTML
=
"<div style='width:5px;'></div>"
,
b
.
shrinkWrapBlocks
=
p
.
offsetWidth
!==
3
),
p
.
style
.
cssText
=
r
+
s
,
p
.
innerHTML
=
q
,
e
=
p
.
firstChild
,
g
=
e
.
firstChild
,
i
=
e
.
nextSibling
.
firstChild
.
firstChild
,
j
=
{
doesNotAddBorder
:
g
.
offsetTop
!==
5
,
doesAddBorderForTableAndCells
:
i
.
offsetTop
===
5
},
g
.
style
.
position
=
"fixed"
,
g
.
style
.
top
=
"20px"
,
j
.
fixedPosition
=
g
.
offsetTop
===
20
||
g
.
offsetTop
===
15
,
g
.
style
.
position
=
g
.
style
.
top
=
""
,
e
.
style
.
overflow
=
"hidden"
,
e
.
style
.
position
=
"relative"
,
j
.
subtractsBorderForOverflowNotVisible
=
g
.
offsetTop
===-
5
,
j
.
doesNotIncludeMarginInBodyOffset
=
u
.
offsetTop
!==
m
,
a
.
getComputedStyle
&&
(
p
.
style
.
marginTop
=
"1%"
,
b
.
pixelMargin
=
(
a
.
getComputedStyle
(
p
,
null
)
||
{
marginTop
:
0
}).
marginTop
!==
"1%"
),
typeof
d
.
style
.
zoom
!=
"undefined"
&&
(
d
.
style
.
zoom
=
1
),
u
.
removeChild
(
d
),
l
=
p
=
d
=
null
,
f
.
extend
(
b
,
j
))});
return
b
}();
var
j
=
/^
(?:\{
.*
\}
|
\[
.*
\])
$/
,
k
=
/
([
A-Z
])
/g
;
f
.
extend
({
cache
:{},
uuid
:
0
,
expando
:
"jQuery"
+
(
f
.
fn
.
jquery
+
Math
.
random
()).
replace
(
/
\D
/g
,
""
),
noData
:{
embed
:
!
0
,
object
:
"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
,
applet
:
!
0
},
hasData
:
function
(
a
){
a
=
a
.
nodeType
?
f
.
cache
[
a
[
f
.
expando
]]:
a
[
f
.
expando
];
return
!!
a
&&!
m
(
a
)},
data
:
function
(
a
,
c
,
d
,
e
){
if
(
!!
f
.
acceptData
(
a
)){
var
g
,
h
,
i
,
j
=
f
.
expando
,
k
=
typeof
c
==
"string"
,
l
=
a
.
nodeType
,
m
=
l
?
f
.
cache
:
a
,
n
=
l
?
a
[
j
]:
a
[
j
]
&&
j
,
o
=
c
===
"events"
;
if
((
!
n
||!
m
[
n
]
||!
o
&&!
e
&&!
m
[
n
].
data
)
&&
k
&&
d
===
b
)
return
;
n
||
(
l
?
a
[
j
]
=
n
=++
f
.
uuid
:
n
=
j
),
m
[
n
]
||
(
m
[
n
]
=
{},
l
||
(
m
[
n
].
toJSON
=
f
.
noop
));
if
(
typeof
c
==
"object"
||
typeof
c
==
"function"
)
e
?
m
[
n
]
=
f
.
extend
(
m
[
n
],
c
):
m
[
n
].
data
=
f
.
extend
(
m
[
n
].
data
,
c
);
g
=
h
=
m
[
n
],
e
||
(
h
.
data
||
(
h
.
data
=
{}),
h
=
h
.
data
),
d
!==
b
&&
(
h
[
f
.
camelCase
(
c
)]
=
d
);
if
(
o
&&!
h
[
c
])
return
g
.
events
;
k
?(
i
=
h
[
c
],
i
==
null
&&
(
i
=
h
[
f
.
camelCase
(
c
)])):
i
=
h
;
return
i
}},
removeData
:
function
(
a
,
b
,
c
){
if
(
!!
f
.
acceptData
(
a
)){
var
d
,
e
,
g
,
h
=
f
.
expando
,
i
=
a
.
nodeType
,
j
=
i
?
f
.
cache
:
a
,
k
=
i
?
a
[
h
]:
h
;
if
(
!
j
[
k
])
return
;
if
(
b
){
d
=
c
?
j
[
k
]:
j
[
k
].
data
;
if
(
d
){
f
.
isArray
(
b
)
||
(
b
in
d
?
b
=
[
b
]:(
b
=
f
.
camelCase
(
b
),
b
in
d
?
b
=
[
b
]:
b
=
b
.
split
(
" "
)));
for
(
e
=
0
,
g
=
b
.
length
;
e
<
g
;
e
++
)
delete
d
[
b
[
e
]];
if
(
!
(
c
?
m
:
f
.
isEmptyObject
)(
d
))
return
}}
if
(
!
c
){
delete
j
[
k
].
data
;
if
(
!
m
(
j
[
k
]))
return
}
f
.
support
.
deleteExpando
||!
j
.
setInterval
?
delete
j
[
k
]:
j
[
k
]
=
null
,
i
&&
(
f
.
support
.
deleteExpando
?
delete
a
[
h
]:
a
.
removeAttribute
?
a
.
removeAttribute
(
h
):
a
[
h
]
=
null
)}},
_data
:
function
(
a
,
b
,
c
){
return
f
.
data
(
a
,
b
,
c
,
!
0
)},
acceptData
:
function
(
a
){
if
(
a
.
nodeName
){
var
b
=
f
.
noData
[
a
.
nodeName
.
toLowerCase
()];
if
(
b
)
return
b
!==!
0
&&
a
.
getAttribute
(
"classid"
)
===
b
}
return
!
0
}}),
f
.
fn
.
extend
({
data
:
function
(
a
,
c
){
var
d
,
e
,
g
,
h
,
i
,
j
=
this
[
0
],
k
=
0
,
m
=
null
;
if
(
a
===
b
){
if
(
this
.
length
){
m
=
f
.
data
(
j
);
if
(
j
.
nodeType
===
1
&&!
f
.
_data
(
j
,
"parsedAttrs"
)){
g
=
j
.
attributes
;
for
(
i
=
g
.
length
;
k
<
i
;
k
++
)
h
=
g
[
k
].
name
,
h
.
indexOf
(
"data-"
)
===
0
&&
(
h
=
f
.
camelCase
(
h
.
substring
(
5
)),
l
(
j
,
h
,
m
[
h
]));
f
.
_data
(
j
,
"parsedAttrs"
,
!
0
)}}
return
m
}
if
(
typeof
a
==
"object"
)
return
this
.
each
(
function
(){
f
.
data
(
this
,
a
)});
d
=
a
.
split
(
"."
,
2
),
d
[
1
]
=
d
[
1
]?
"."
+
d
[
1
]:
""
,
e
=
d
[
1
]
+
"!"
;
return
f
.
access
(
this
,
function
(
c
){
if
(
c
===
b
){
m
=
this
.
triggerHandler
(
"getData"
+
e
,[
d
[
0
]]),
m
===
b
&&
j
&&
(
m
=
f
.
data
(
j
,
a
),
m
=
l
(
j
,
a
,
m
));
return
m
===
b
&&
d
[
1
]?
this
.
data
(
d
[
0
]):
m
}
d
[
1
]
=
c
,
this
.
each
(
function
(){
var
b
=
f
(
this
);
b
.
triggerHandler
(
"setData"
+
e
,
d
),
f
.
data
(
this
,
a
,
c
),
b
.
triggerHandler
(
"changeData"
+
e
,
d
)})},
null
,
c
,
arguments
.
length
>
1
,
null
,
!
1
)},
removeData
:
function
(
a
){
return
this
.
each
(
function
(){
f
.
removeData
(
this
,
a
)})}}),
f
.
extend
({
_mark
:
function
(
a
,
b
){
a
&&
(
b
=
(
b
||
"fx"
)
+
"mark"
,
f
.
_data
(
a
,
b
,(
f
.
_data
(
a
,
b
)
||
0
)
+
1
))},
_unmark
:
function
(
a
,
b
,
c
){
a
!==!
0
&&
(
c
=
b
,
b
=
a
,
a
=!
1
);
if
(
b
){
c
=
c
||
"fx"
;
var
d
=
c
+
"mark"
,
e
=
a
?
0
:(
f
.
_data
(
b
,
d
)
||
1
)
-
1
;
e
?
f
.
_data
(
b
,
d
,
e
):(
f
.
removeData
(
b
,
d
,
!
0
),
n
(
b
,
c
,
"mark"
))}},
queue
:
function
(
a
,
b
,
c
){
var
d
;
if
(
a
){
b
=
(
b
||
"fx"
)
+
"queue"
,
d
=
f
.
_data
(
a
,
b
),
c
&&
(
!
d
||
f
.
isArray
(
c
)?
d
=
f
.
_data
(
a
,
b
,
f
.
makeArray
(
c
)):
d
.
push
(
c
));
return
d
||
[]}},
dequeue
:
function
(
a
,
b
){
b
=
b
||
"fx"
;
var
c
=
f
.
queue
(
a
,
b
),
d
=
c
.
shift
(),
e
=
{};
d
===
"inprogress"
&&
(
d
=
c
.
shift
()),
d
&&
(
b
===
"fx"
&&
c
.
unshift
(
"inprogress"
),
f
.
_data
(
a
,
b
+
".run"
,
e
),
d
.
call
(
a
,
function
(){
f
.
dequeue
(
a
,
b
)},
e
)),
c
.
length
||
(
f
.
removeData
(
a
,
b
+
"queue "
+
b
+
".run"
,
!
0
),
n
(
a
,
b
,
"queue"
))}}),
f
.
fn
.
extend
({
queue
:
function
(
a
,
c
){
var
d
=
2
;
typeof
a
!=
"string"
&&
(
c
=
a
,
a
=
"fx"
,
d
--
);
if
(
arguments
.
length
<
d
)
return
f
.
queue
(
this
[
0
],
a
);
return
c
===
b
?
this
:
this
.
each
(
function
(){
var
b
=
f
.
queue
(
this
,
a
,
c
);
a
===
"fx"
&&
b
[
0
]
!==
"inprogress"
&&
f
.
dequeue
(
this
,
a
)})},
dequeue
:
function
(
a
){
return
this
.
each
(
function
(){
f
.
dequeue
(
this
,
a
)})},
delay
:
function
(
a
,
b
){
a
=
f
.
fx
?
f
.
fx
.
speeds
[
a
]
||
a
:
a
,
b
=
b
||
"fx"
;
return
this
.
queue
(
b
,
function
(
b
,
c
){
var
d
=
setTimeout
(
b
,
a
);
c
.
stop
=
function
(){
clearTimeout
(
d
)}})},
clearQueue
:
function
(
a
){
return
this
.
queue
(
a
||
"fx"
,[])},
promise
:
function
(
a
,
c
){
function
m
(){
--
h
||
d
.
resolveWith
(
e
,[
e
])}
typeof
a
!=
"string"
&&
(
c
=
a
,
a
=
b
),
a
=
a
||
"fx"
;
var
d
=
f
.
Deferred
(),
e
=
this
,
g
=
e
.
length
,
h
=
1
,
i
=
a
+
"defer"
,
j
=
a
+
"queue"
,
k
=
a
+
"mark"
,
l
;
while
(
g
--
)
if
(
l
=
f
.
data
(
e
[
g
],
i
,
b
,
!
0
)
||
(
f
.
data
(
e
[
g
],
j
,
b
,
!
0
)
||
f
.
data
(
e
[
g
],
k
,
b
,
!
0
))
&&
f
.
data
(
e
[
g
],
i
,
f
.
Callbacks
(
"once memory"
),
!
0
))
h
++
,
l
.
add
(
m
);
m
();
return
d
.
promise
(
c
)}});
var
o
=
/
[\n\t\r]
/g
,
p
=
/
\s
+/
,
q
=
/
\r
/g
,
r
=
/^
(?:
button|input
)
$/i
,
s
=
/^
(?:
button|input|object|select|textarea
)
$/i
,
t
=
/^a
(?:
rea
)?
$/i
,
u
=
/^
(?:
autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected
)
$/i
,
v
=
f
.
support
.
getSetAttribute
,
w
,
x
,
y
;
f
.
fn
.
extend
({
attr
:
function
(
a
,
b
){
return
f
.
access
(
this
,
f
.
attr
,
a
,
b
,
arguments
.
length
>
1
)},
removeAttr
:
function
(
a
){
return
this
.
each
(
function
(){
f
.
removeAttr
(
this
,
a
)})},
prop
:
function
(
a
,
b
){
return
f
.
access
(
this
,
f
.
prop
,
a
,
b
,
arguments
.
length
>
1
)},
removeProp
:
function
(
a
){
a
=
f
.
propFix
[
a
]
||
a
;
return
this
.
each
(
function
(){
try
{
this
[
a
]
=
b
,
delete
this
[
a
]}
catch
(
c
){}})},
addClass
:
function
(
a
){
var
b
,
c
,
d
,
e
,
g
,
h
,
i
;
if
(
f
.
isFunction
(
a
))
return
this
.
each
(
function
(
b
){
f
(
this
).
addClass
(
a
.
call
(
this
,
b
,
this
.
className
))});
if
(
a
&&
typeof
a
==
"string"
){
b
=
a
.
split
(
p
);
for
(
c
=
0
,
d
=
this
.
length
;
c
<
d
;
c
++
){
e
=
this
[
c
];
if
(
e
.
nodeType
===
1
)
if
(
!
e
.
className
&&
b
.
length
===
1
)
e
.
className
=
a
;
else
{
g
=
" "
+
e
.
className
+
" "
;
for
(
h
=
0
,
i
=
b
.
length
;
h
<
i
;
h
++
)
~
g
.
indexOf
(
" "
+
b
[
h
]
+
" "
)
||
(
g
+=
b
[
h
]
+
" "
);
e
.
className
=
f
.
trim
(
g
)}}}
return
this
},
removeClass
:
function
(
a
){
var
c
,
d
,
e
,
g
,
h
,
i
,
j
;
if
(
f
.
isFunction
(
a
))
return
this
.
each
(
function
(
b
){
f
(
this
).
removeClass
(
a
.
call
(
this
,
b
,
this
.
className
))});
if
(
a
&&
typeof
a
==
"string"
||
a
===
b
){
c
=
(
a
||
""
).
split
(
p
);
for
(
d
=
0
,
e
=
this
.
length
;
d
<
e
;
d
++
){
g
=
this
[
d
];
if
(
g
.
nodeType
===
1
&&
g
.
className
)
if
(
a
){
h
=
(
" "
+
g
.
className
+
" "
).
replace
(
o
,
" "
);
for
(
i
=
0
,
j
=
c
.
length
;
i
<
j
;
i
++
)
h
=
h
.
replace
(
" "
+
c
[
i
]
+
" "
,
" "
);
g
.
className
=
f
.
trim
(
h
)}
else
g
.
className
=
""
}}
return
this
},
toggleClass
:
function
(
a
,
b
){
var
c
=
typeof
a
,
d
=
typeof
b
==
"boolean"
;
if
(
f
.
isFunction
(
a
))
return
this
.
each
(
function
(
c
){
f
(
this
).
toggleClass
(
a
.
call
(
this
,
c
,
this
.
className
,
b
),
b
)});
return
this
.
each
(
function
(){
if
(
c
===
"string"
){
var
e
,
g
=
0
,
h
=
f
(
this
),
i
=
b
,
j
=
a
.
split
(
p
);
while
(
e
=
j
[
g
++
])
i
=
d
?
i
:
!
h
.
hasClass
(
e
),
h
[
i
?
"addClass"
:
"removeClass"
](
e
)}
else
if
(
c
===
"undefined"
||
c
===
"boolean"
)
this
.
className
&&
f
.
_data
(
this
,
"__className__"
,
this
.
className
),
this
.
className
=
this
.
className
||
a
===!
1
?
""
:
f
.
_data
(
this
,
"__className__"
)
||
""
})},
hasClass
:
function
(
a
){
var
b
=
" "
+
a
+
" "
,
c
=
0
,
d
=
this
.
length
;
for
(;
c
<
d
;
c
++
)
if
(
this
[
c
].
nodeType
===
1
&&
(
" "
+
this
[
c
].
className
+
" "
).
replace
(
o
,
" "
).
indexOf
(
b
)
>-
1
)
return
!
0
;
return
!
1
},
val
:
function
(
a
){
var
c
,
d
,
e
,
g
=
this
[
0
];{
if
(
!!
arguments
.
length
){
e
=
f
.
isFunction
(
a
);
return
this
.
each
(
function
(
d
){
var
g
=
f
(
this
),
h
;
if
(
this
.
nodeType
===
1
){
e
?
h
=
a
.
call
(
this
,
d
,
g
.
val
()):
h
=
a
,
h
==
null
?
h
=
""
:
typeof
h
==
"number"
?
h
+=
""
:
f
.
isArray
(
h
)
&&
(
h
=
f
.
map
(
h
,
function
(
a
){
return
a
==
null
?
""
:
a
+
""
})),
c
=
f
.
valHooks
[
this
.
type
]
||
f
.
valHooks
[
this
.
nodeName
.
toLowerCase
()];
if
(
!
c
||!
(
"set"
in
c
)
||
c
.
set
(
this
,
h
,
"value"
)
===
b
)
this
.
value
=
h
}})}
if
(
g
){
c
=
f
.
valHooks
[
g
.
type
]
||
f
.
valHooks
[
g
.
nodeName
.
toLowerCase
()];
if
(
c
&&
"get"
in
c
&&
(
d
=
c
.
get
(
g
,
"value"
))
!==
b
)
return
d
;
d
=
g
.
value
;
return
typeof
d
==
"string"
?
d
.
replace
(
q
,
""
):
d
==
null
?
""
:
d
}}}}),
f
.
extend
({
valHooks
:{
option
:{
get
:
function
(
a
){
var
b
=
a
.
attributes
.
value
;
return
!
b
||
b
.
specified
?
a
.
value
:
a
.
text
}},
select
:{
get
:
function
(
a
){
var
b
,
c
,
d
,
e
,
g
=
a
.
selectedIndex
,
h
=
[],
i
=
a
.
options
,
j
=
a
.
type
===
"select-one"
;
if
(
g
<
0
)
return
null
;
c
=
j
?
g
:
0
,
d
=
j
?
g
+
1
:
i
.
length
;
for
(;
c
<
d
;
c
++
){
e
=
i
[
c
];
if
(
e
.
selected
&&
(
f
.
support
.
optDisabled
?
!
e
.
disabled
:
e
.
getAttribute
(
"disabled"
)
===
null
)
&&
(
!
e
.
parentNode
.
disabled
||!
f
.
nodeName
(
e
.
parentNode
,
"optgroup"
))){
b
=
f
(
e
).
val
();
if
(
j
)
return
b
;
h
.
push
(
b
)}}
if
(
j
&&!
h
.
length
&&
i
.
length
)
return
f
(
i
[
g
]).
val
();
return
h
},
set
:
function
(
a
,
b
){
var
c
=
f
.
makeArray
(
b
);
f
(
a
).
find
(
"option"
).
each
(
function
(){
this
.
selected
=
f
.
inArray
(
f
(
this
).
val
(),
c
)
>=
0
}),
c
.
length
||
(
a
.
selectedIndex
=-
1
);
return
c
}}},
attrFn
:{
val
:
!
0
,
css
:
!
0
,
html
:
!
0
,
text
:
!
0
,
data
:
!
0
,
width
:
!
0
,
height
:
!
0
,
offset
:
!
0
},
attr
:
function
(
a
,
c
,
d
,
e
){
var
g
,
h
,
i
,
j
=
a
.
nodeType
;
if
(
!!
a
&&
j
!==
3
&&
j
!==
8
&&
j
!==
2
){
if
(
e
&&
c
in
f
.
attrFn
)
return
f
(
a
)[
c
](
d
);
if
(
typeof
a
.
getAttribute
==
"undefined"
)
return
f
.
prop
(
a
,
c
,
d
);
i
=
j
!==
1
||!
f
.
isXMLDoc
(
a
),
i
&&
(
c
=
c
.
toLowerCase
(),
h
=
f
.
attrHooks
[
c
]
||
(
u
.
test
(
c
)?
x
:
w
));
if
(
d
!==
b
){
if
(
d
===
null
){
f
.
removeAttr
(
a
,
c
);
return
}
if
(
h
&&
"set"
in
h
&&
i
&&
(
g
=
h
.
set
(
a
,
d
,
c
))
!==
b
)
return
g
;
a
.
setAttribute
(
c
,
""
+
d
);
return
d
}
if
(
h
&&
"get"
in
h
&&
i
&&
(
g
=
h
.
get
(
a
,
c
))
!==
null
)
return
g
;
g
=
a
.
getAttribute
(
c
);
return
g
===
null
?
b
:
g
}},
removeAttr
:
function
(
a
,
b
){
var
c
,
d
,
e
,
g
,
h
,
i
=
0
;
if
(
b
&&
a
.
nodeType
===
1
){
d
=
b
.
toLowerCase
().
split
(
p
),
g
=
d
.
length
;
for
(;
i
<
g
;
i
++
)
e
=
d
[
i
],
e
&&
(
c
=
f
.
propFix
[
e
]
||
e
,
h
=
u
.
test
(
e
),
h
||
f
.
attr
(
a
,
e
,
""
),
a
.
removeAttribute
(
v
?
e
:
c
),
h
&&
c
in
a
&&
(
a
[
c
]
=!
1
))}},
attrHooks
:{
type
:{
set
:
function
(
a
,
b
){
if
(
r
.
test
(
a
.
nodeName
)
&&
a
.
parentNode
)
f
.
error
(
"type property can't be changed"
);
else
if
(
!
f
.
support
.
radioValue
&&
b
===
"radio"
&&
f
.
nodeName
(
a
,
"input"
)){
var
c
=
a
.
value
;
a
.
setAttribute
(
"type"
,
b
),
c
&&
(
a
.
value
=
c
);
return
b
}}},
value
:{
get
:
function
(
a
,
b
){
if
(
w
&&
f
.
nodeName
(
a
,
"button"
))
return
w
.
get
(
a
,
b
);
return
b
in
a
?
a
.
value
:
null
},
set
:
function
(
a
,
b
,
c
){
if
(
w
&&
f
.
nodeName
(
a
,
"button"
))
return
w
.
set
(
a
,
b
,
c
);
a
.
value
=
b
}}},
propFix
:{
tabindex
:
"tabIndex"
,
readonly
:
"readOnly"
,
"for"
:
"htmlFor"
,
"class"
:
"className"
,
maxlength
:
"maxLength"
,
cellspacing
:
"cellSpacing"
,
cellpadding
:
"cellPadding"
,
rowspan
:
"rowSpan"
,
colspan
:
"colSpan"
,
usemap
:
"useMap"
,
frameborder
:
"frameBorder"
,
contenteditable
:
"contentEditable"
},
prop
:
function
(
a
,
c
,
d
){
var
e
,
g
,
h
,
i
=
a
.
nodeType
;
if
(
!!
a
&&
i
!==
3
&&
i
!==
8
&&
i
!==
2
){
h
=
i
!==
1
||!
f
.
isXMLDoc
(
a
),
h
&&
(
c
=
f
.
propFix
[
c
]
||
c
,
g
=
f
.
propHooks
[
c
]);
return
d
!==
b
?
g
&&
"set"
in
g
&&
(
e
=
g
.
set
(
a
,
d
,
c
))
!==
b
?
e
:
a
[
c
]
=
d
:
g
&&
"get"
in
g
&&
(
e
=
g
.
get
(
a
,
c
))
!==
null
?
e
:
a
[
c
]}},
propHooks
:{
tabIndex
:{
get
:
function
(
a
){
var
c
=
a
.
getAttributeNode
(
"tabindex"
);
return
c
&&
c
.
specified
?
parseInt
(
c
.
value
,
10
):
s
.
test
(
a
.
nodeName
)
||
t
.
test
(
a
.
nodeName
)
&&
a
.
href
?
0
:
b
}}}}),
f
.
attrHooks
.
tabindex
=
f
.
propHooks
.
tabIndex
,
x
=
{
get
:
function
(
a
,
c
){
var
d
,
e
=
f
.
prop
(
a
,
c
);
return
e
===!
0
||
typeof
e
!=
"boolean"
&&
(
d
=
a
.
getAttributeNode
(
c
))
&&
d
.
nodeValue
!==!
1
?
c
.
toLowerCase
():
b
},
set
:
function
(
a
,
b
,
c
){
var
d
;
b
===!
1
?
f
.
removeAttr
(
a
,
c
):(
d
=
f
.
propFix
[
c
]
||
c
,
d
in
a
&&
(
a
[
d
]
=!
0
),
a
.
setAttribute
(
c
,
c
.
toLowerCase
()));
return
c
}},
v
||
(
y
=
{
name
:
!
0
,
id
:
!
0
,
coords
:
!
0
},
w
=
f
.
valHooks
.
button
=
{
get
:
function
(
a
,
c
){
var
d
;
d
=
a
.
getAttributeNode
(
c
);
return
d
&&
(
y
[
c
]?
d
.
nodeValue
!==
""
:
d
.
specified
)?
d
.
nodeValue
:
b
},
set
:
function
(
a
,
b
,
d
){
var
e
=
a
.
getAttributeNode
(
d
);
e
||
(
e
=
c
.
createAttribute
(
d
),
a
.
setAttributeNode
(
e
));
return
e
.
nodeValue
=
b
+
""
}},
f
.
attrHooks
.
tabindex
.
set
=
w
.
set
,
f
.
each
([
"width"
,
"height"
],
function
(
a
,
b
){
f
.
attrHooks
[
b
]
=
f
.
extend
(
f
.
attrHooks
[
b
],{
set
:
function
(
a
,
c
){
if
(
c
===
""
){
a
.
setAttribute
(
b
,
"auto"
);
return
c
}}})}),
f
.
attrHooks
.
contenteditable
=
{
get
:
w
.
get
,
set
:
function
(
a
,
b
,
c
){
b
===
""
&&
(
b
=
"false"
),
w
.
set
(
a
,
b
,
c
)}}),
f
.
support
.
hrefNormalized
||
f
.
each
([
"href"
,
"src"
,
"width"
,
"height"
],
function
(
a
,
c
){
f
.
attrHooks
[
c
]
=
f
.
extend
(
f
.
attrHooks
[
c
],{
get
:
function
(
a
){
var
d
=
a
.
getAttribute
(
c
,
2
);
return
d
===
null
?
b
:
d
}})}),
f
.
support
.
style
||
(
f
.
attrHooks
.
style
=
{
get
:
function
(
a
){
return
a
.
style
.
cssText
.
toLowerCase
()
||
b
},
set
:
function
(
a
,
b
){
return
a
.
style
.
cssText
=
""
+
b
}}),
f
.
support
.
optSelected
||
(
f
.
propHooks
.
selected
=
f
.
extend
(
f
.
propHooks
.
selected
,{
get
:
function
(
a
){
var
b
=
a
.
parentNode
;
b
&&
(
b
.
selectedIndex
,
b
.
parentNode
&&
b
.
parentNode
.
selectedIndex
);
return
null
}})),
f
.
support
.
enctype
||
(
f
.
propFix
.
enctype
=
"encoding"
),
f
.
support
.
checkOn
||
f
.
each
([
"radio"
,
"checkbox"
],
function
(){
f
.
valHooks
[
this
]
=
{
get
:
function
(
a
){
return
a
.
getAttribute
(
"value"
)
===
null
?
"on"
:
a
.
value
}}}),
f
.
each
([
"radio"
,
"checkbox"
],
function
(){
f
.
valHooks
[
this
]
=
f
.
extend
(
f
.
valHooks
[
this
],{
set
:
function
(
a
,
b
){
if
(
f
.
isArray
(
b
))
return
a
.
checked
=
f
.
inArray
(
f
(
a
).
val
(),
b
)
>=
0
}})});
var
z
=
/^
(?:
textarea|input|select
)
$/i
,
A
=
/^
([^\.]
*
)?(?:\.(
.+
))?
$/
,
B
=
/
(?:
^|
\s)
hover
(\.\S
+
)?\b
/
,
C
=
/^key/
,
D
=
/^
(?:
mouse|contextmenu
)
|click/
,
E
=
/^
(?:
focusinfocus|focusoutblur
)
$/
,
F
=
/^
(\w
*
)(?:
#
([\w\-]
+
))?(?:\.([\w\-]
+
))?
$/
,
G
=
function
(
a
){
var
b
=
F
.
exec
(
a
);
b
&&
(
b
[
1
]
=
(
b
[
1
]
||
""
).
toLowerCase
(),
b
[
3
]
=
b
[
3
]
&&
new
RegExp
(
"(?:^|
\\
s)"
+
b
[
3
]
+
"(?:
\\
s|$)"
));
return
b
},
H
=
function
(
a
,
b
){
var
c
=
a
.
attributes
||
{};
return
(
!
b
[
1
]
||
a
.
nodeName
.
toLowerCase
()
===
b
[
1
])
&&
(
!
b
[
2
]
||
(
c
.
id
||
{}).
value
===
b
[
2
])
&&
(
!
b
[
3
]
||
b
[
3
].
test
((
c
[
"class"
]
||
{}).
value
))},
I
=
function
(
a
){
return
f
.
event
.
special
.
hover
?
a
:
a
.
replace
(
B
,
"mouseenter$1 mouseleave$1"
)};
f
.
event
=
{
add
:
function
(
a
,
c
,
d
,
e
,
g
){
var
h
,
i
,
j
,
k
,
l
,
m
,
n
,
o
,
p
,
q
,
r
,
s
;
if
(
!
(
a
.
nodeType
===
3
||
a
.
nodeType
===
8
||!
c
||!
d
||!
(
h
=
f
.
_data
(
a
)))){
d
.
handler
&&
(
p
=
d
,
d
=
p
.
handler
,
g
=
p
.
selector
),
d
.
guid
||
(
d
.
guid
=
f
.
guid
++
),
j
=
h
.
events
,
j
||
(
h
.
events
=
j
=
{}),
i
=
h
.
handle
,
i
||
(
h
.
handle
=
i
=
function
(
a
){
return
typeof
f
!=
"undefined"
&&
(
!
a
||
f
.
event
.
triggered
!==
a
.
type
)?
f
.
event
.
dispatch
.
apply
(
i
.
elem
,
arguments
):
b
},
i
.
elem
=
a
),
c
=
f
.
trim
(
I
(
c
)).
split
(
" "
);
for
(
k
=
0
;
k
<
c
.
length
;
k
++
){
l
=
A
.
exec
(
c
[
k
])
||
[],
m
=
l
[
1
],
n
=
(
l
[
2
]
||
""
).
split
(
"."
).
sort
(),
s
=
f
.
event
.
special
[
m
]
||
{},
m
=
(
g
?
s
.
delegateType
:
s
.
bindType
)
||
m
,
s
=
f
.
event
.
special
[
m
]
||
{},
o
=
f
.
extend
({
type
:
m
,
origType
:
l
[
1
],
data
:
e
,
handler
:
d
,
guid
:
d
.
guid
,
selector
:
g
,
quick
:
g
&&
G
(
g
),
namespace
:
n
.
join
(
"."
)},
p
),
r
=
j
[
m
];
if
(
!
r
){
r
=
j
[
m
]
=
[],
r
.
delegateCount
=
0
;
if
(
!
s
.
setup
||
s
.
setup
.
call
(
a
,
e
,
n
,
i
)
===!
1
)
a
.
addEventListener
?
a
.
addEventListener
(
m
,
i
,
!
1
):
a
.
attachEvent
&&
a
.
attachEvent
(
"on"
+
m
,
i
)}
s
.
add
&&
(
s
.
add
.
call
(
a
,
o
),
o
.
handler
.
guid
||
(
o
.
handler
.
guid
=
d
.
guid
)),
g
?
r
.
splice
(
r
.
delegateCount
++
,
0
,
o
):
r
.
push
(
o
),
f
.
event
.
global
[
m
]
=!
0
}
a
=
null
}},
global
:{},
remove
:
function
(
a
,
b
,
c
,
d
,
e
){
var
g
=
f
.
hasData
(
a
)
&&
f
.
_data
(
a
),
h
,
i
,
j
,
k
,
l
,
m
,
n
,
o
,
p
,
q
,
r
,
s
;
if
(
!!
g
&&!!
(
o
=
g
.
events
)){
b
=
f
.
trim
(
I
(
b
||
""
)).
split
(
" "
);
for
(
h
=
0
;
h
<
b
.
length
;
h
++
){
i
=
A
.
exec
(
b
[
h
])
||
[],
j
=
k
=
i
[
1
],
l
=
i
[
2
];
if
(
!
j
){
for
(
j
in
o
)
f
.
event
.
remove
(
a
,
j
+
b
[
h
],
c
,
d
,
!
0
);
continue
}
p
=
f
.
event
.
special
[
j
]
||
{},
j
=
(
d
?
p
.
delegateType
:
p
.
bindType
)
||
j
,
r
=
o
[
j
]
||
[],
m
=
r
.
length
,
l
=
l
?
new
RegExp
(
"(^|
\\
.)"
+
l
.
split
(
"."
).
sort
().
join
(
"
\\
.(?:.*
\\
.)?"
)
+
"(
\\
.|$)"
):
null
;
for
(
n
=
0
;
n
<
r
.
length
;
n
++
)
s
=
r
[
n
],(
e
||
k
===
s
.
origType
)
&&
(
!
c
||
c
.
guid
===
s
.
guid
)
&&
(
!
l
||
l
.
test
(
s
.
namespace
))
&&
(
!
d
||
d
===
s
.
selector
||
d
===
"**"
&&
s
.
selector
)
&&
(
r
.
splice
(
n
--
,
1
),
s
.
selector
&&
r
.
delegateCount
--
,
p
.
remove
&&
p
.
remove
.
call
(
a
,
s
));
r
.
length
===
0
&&
m
!==
r
.
length
&&
((
!
p
.
teardown
||
p
.
teardown
.
call
(
a
,
l
)
===!
1
)
&&
f
.
removeEvent
(
a
,
j
,
g
.
handle
),
delete
o
[
j
])}
f
.
isEmptyObject
(
o
)
&&
(
q
=
g
.
handle
,
q
&&
(
q
.
elem
=
null
),
f
.
removeData
(
a
,[
"events"
,
"handle"
],
!
0
))}},
customEvent
:{
getData
:
!
0
,
setData
:
!
0
,
changeData
:
!
0
},
trigger
:
function
(
c
,
d
,
e
,
g
){
if
(
!
e
||
e
.
nodeType
!==
3
&&
e
.
nodeType
!==
8
){
var
h
=
c
.
type
||
c
,
i
=
[],
j
,
k
,
l
,
m
,
n
,
o
,
p
,
q
,
r
,
s
;
if
(
E
.
test
(
h
+
f
.
event
.
triggered
))
return
;
h
.
indexOf
(
"!"
)
>=
0
&&
(
h
=
h
.
slice
(
0
,
-
1
),
k
=!
0
),
h
.
indexOf
(
"."
)
>=
0
&&
(
i
=
h
.
split
(
"."
),
h
=
i
.
shift
(),
i
.
sort
());
if
((
!
e
||
f
.
event
.
customEvent
[
h
])
&&!
f
.
event
.
global
[
h
])
return
;
c
=
typeof
c
==
"object"
?
c
[
f
.
expando
]?
c
:
new
f
.
Event
(
h
,
c
):
new
f
.
Event
(
h
),
c
.
type
=
h
,
c
.
isTrigger
=!
0
,
c
.
exclusive
=
k
,
c
.
namespace
=
i
.
join
(
"."
),
c
.
namespace_re
=
c
.
namespace
?
new
RegExp
(
"(^|
\\
.)"
+
i
.
join
(
"
\\
.(?:.*
\\
.)?"
)
+
"(
\\
.|$)"
):
null
,
o
=
h
.
indexOf
(
":"
)
<
0
?
"on"
+
h
:
""
;
if
(
!
e
){
j
=
f
.
cache
;
for
(
l
in
j
)
j
[
l
].
events
&&
j
[
l
].
events
[
h
]
&&
f
.
event
.
trigger
(
c
,
d
,
j
[
l
].
handle
.
elem
,
!
0
);
return
}
c
.
result
=
b
,
c
.
target
||
(
c
.
target
=
e
),
d
=
d
!=
null
?
f
.
makeArray
(
d
):[],
d
.
unshift
(
c
),
p
=
f
.
event
.
special
[
h
]
||
{};
if
(
p
.
trigger
&&
p
.
trigger
.
apply
(
e
,
d
)
===!
1
)
return
;
r
=
[[
e
,
p
.
bindType
||
h
]];
if
(
!
g
&&!
p
.
noBubble
&&!
f
.
isWindow
(
e
)){
s
=
p
.
delegateType
||
h
,
m
=
E
.
test
(
s
+
h
)?
e
:
e
.
parentNode
,
n
=
null
;
for
(;
m
;
m
=
m
.
parentNode
)
r
.
push
([
m
,
s
]),
n
=
m
;
n
&&
n
===
e
.
ownerDocument
&&
r
.
push
([
n
.
defaultView
||
n
.
parentWindow
||
a
,
s
])}
for
(
l
=
0
;
l
<
r
.
length
&&!
c
.
isPropagationStopped
();
l
++
)
m
=
r
[
l
][
0
],
c
.
type
=
r
[
l
][
1
],
q
=
(
f
.
_data
(
m
,
"events"
)
||
{})[
c
.
type
]
&&
f
.
_data
(
m
,
"handle"
),
q
&&
q
.
apply
(
m
,
d
),
q
=
o
&&
m
[
o
],
q
&&
f
.
acceptData
(
m
)
&&
q
.
apply
(
m
,
d
)
===!
1
&&
c
.
preventDefault
();
c
.
type
=
h
,
!
g
&&!
c
.
isDefaultPrevented
()
&&
(
!
p
.
_default
||
p
.
_default
.
apply
(
e
.
ownerDocument
,
d
)
===!
1
)
&&
(
h
!==
"click"
||!
f
.
nodeName
(
e
,
"a"
))
&&
f
.
acceptData
(
e
)
&&
o
&&
e
[
h
]
&&
(
h
!==
"focus"
&&
h
!==
"blur"
||
c
.
target
.
offsetWidth
!==
0
)
&&!
f
.
isWindow
(
e
)
&&
(
n
=
e
[
o
],
n
&&
(
e
[
o
]
=
null
),
f
.
event
.
triggered
=
h
,
e
[
h
](),
f
.
event
.
triggered
=
b
,
n
&&
(
e
[
o
]
=
n
));
return
c
.
result
}},
dispatch
:
function
(
c
){
c
=
f
.
event
.
fix
(
c
||
a
.
event
);
var
d
=
(
f
.
_data
(
this
,
"events"
)
||
{})[
c
.
type
]
||
[],
e
=
d
.
delegateCount
,
g
=
[].
slice
.
call
(
arguments
,
0
),
h
=!
c
.
exclusive
&&!
c
.
namespace
,
i
=
f
.
event
.
special
[
c
.
type
]
||
{},
j
=
[],
k
,
l
,
m
,
n
,
o
,
p
,
q
,
r
,
s
,
t
,
u
;
g
[
0
]
=
c
,
c
.
delegateTarget
=
this
;
if
(
!
i
.
preDispatch
||
i
.
preDispatch
.
call
(
this
,
c
)
!==!
1
){
if
(
e
&&
(
!
c
.
button
||
c
.
type
!==
"click"
)){
n
=
f
(
this
),
n
.
context
=
this
.
ownerDocument
||
this
;
for
(
m
=
c
.
target
;
m
!=
this
;
m
=
m
.
parentNode
||
this
)
if
(
m
.
disabled
!==!
0
){
p
=
{},
r
=
[],
n
[
0
]
=
m
;
for
(
k
=
0
;
k
<
e
;
k
++
)
s
=
d
[
k
],
t
=
s
.
selector
,
p
[
t
]
===
b
&&
(
p
[
t
]
=
s
.
quick
?
H
(
m
,
s
.
quick
):
n
.
is
(
t
)),
p
[
t
]
&&
r
.
push
(
s
);
r
.
length
&&
j
.
push
({
elem
:
m
,
matches
:
r
})}}
d
.
length
>
e
&&
j
.
push
({
elem
:
this
,
matches
:
d
.
slice
(
e
)});
for
(
k
=
0
;
k
<
j
.
length
&&!
c
.
isPropagationStopped
();
k
++
){
q
=
j
[
k
],
c
.
currentTarget
=
q
.
elem
;
for
(
l
=
0
;
l
<
q
.
matches
.
length
&&!
c
.
isImmediatePropagationStopped
();
l
++
){
s
=
q
.
matches
[
l
];
if
(
h
||!
c
.
namespace
&&!
s
.
namespace
||
c
.
namespace_re
&&
c
.
namespace_re
.
test
(
s
.
namespace
))
c
.
data
=
s
.
data
,
c
.
handleObj
=
s
,
o
=
((
f
.
event
.
special
[
s
.
origType
]
||
{}).
handle
||
s
.
handler
).
apply
(
q
.
elem
,
g
),
o
!==
b
&&
(
c
.
result
=
o
,
o
===!
1
&&
(
c
.
preventDefault
(),
c
.
stopPropagation
()))}}
i
.
postDispatch
&&
i
.
postDispatch
.
call
(
this
,
c
);
return
c
.
result
}},
props
:
"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which"
.
split
(
" "
),
fixHooks
:{},
keyHooks
:{
props
:
"char charCode key keyCode"
.
split
(
" "
),
filter
:
function
(
a
,
b
){
a
.
which
==
null
&&
(
a
.
which
=
b
.
charCode
!=
null
?
b
.
charCode
:
b
.
keyCode
);
return
a
}},
mouseHooks
:{
props
:
"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement"
.
split
(
" "
),
filter
:
function
(
a
,
d
){
var
e
,
f
,
g
,
h
=
d
.
button
,
i
=
d
.
fromElement
;
a
.
pageX
==
null
&&
d
.
clientX
!=
null
&&
(
e
=
a
.
target
.
ownerDocument
||
c
,
f
=
e
.
documentElement
,
g
=
e
.
body
,
a
.
pageX
=
d
.
clientX
+
(
f
&&
f
.
scrollLeft
||
g
&&
g
.
scrollLeft
||
0
)
-
(
f
&&
f
.
clientLeft
||
g
&&
g
.
clientLeft
||
0
),
a
.
pageY
=
d
.
clientY
+
(
f
&&
f
.
scrollTop
||
g
&&
g
.
scrollTop
||
0
)
-
(
f
&&
f
.
clientTop
||
g
&&
g
.
clientTop
||
0
)),
!
a
.
relatedTarget
&&
i
&&
(
a
.
relatedTarget
=
i
===
a
.
target
?
d
.
toElement
:
i
),
!
a
.
which
&&
h
!==
b
&&
(
a
.
which
=
h
&
1
?
1
:
h
&
2
?
3
:
h
&
4
?
2
:
0
);
return
a
}},
fix
:
function
(
a
){
if
(
a
[
f
.
expando
])
return
a
;
var
d
,
e
,
g
=
a
,
h
=
f
.
event
.
fixHooks
[
a
.
type
]
||
{},
i
=
h
.
props
?
this
.
props
.
concat
(
h
.
props
):
this
.
props
;
a
=
f
.
Event
(
g
);
for
(
d
=
i
.
length
;
d
;)
e
=
i
[
--
d
],
a
[
e
]
=
g
[
e
];
a
.
target
||
(
a
.
target
=
g
.
srcElement
||
c
),
a
.
target
.
nodeType
===
3
&&
(
a
.
target
=
a
.
target
.
parentNode
),
a
.
metaKey
===
b
&&
(
a
.
metaKey
=
a
.
ctrlKey
);
return
h
.
filter
?
h
.
filter
(
a
,
g
):
a
},
special
:{
ready
:{
setup
:
f
.
bindReady
},
load
:{
noBubble
:
!
0
},
focus
:{
delegateType
:
"focusin"
},
blur
:{
delegateType
:
"focusout"
},
beforeunload
:{
setup
:
function
(
a
,
b
,
c
){
f
.
isWindow
(
this
)
&&
(
this
.
onbeforeunload
=
c
)},
teardown
:
function
(
a
,
b
){
this
.
onbeforeunload
===
b
&&
(
this
.
onbeforeunload
=
null
)}}},
simulate
:
function
(
a
,
b
,
c
,
d
){
var
e
=
f
.
extend
(
new
f
.
Event
,
c
,{
type
:
a
,
isSimulated
:
!
0
,
originalEvent
:{}});
d
?
f
.
event
.
trigger
(
e
,
null
,
b
):
f
.
event
.
dispatch
.
call
(
b
,
e
),
e
.
isDefaultPrevented
()
&&
c
.
preventDefault
()}},
f
.
event
.
handle
=
f
.
event
.
dispatch
,
f
.
removeEvent
=
c
.
removeEventListener
?
function
(
a
,
b
,
c
){
a
.
removeEventListener
&&
a
.
removeEventListener
(
b
,
c
,
!
1
)}:
function
(
a
,
b
,
c
){
a
.
detachEvent
&&
a
.
detachEvent
(
"on"
+
b
,
c
)},
f
.
Event
=
function
(
a
,
b
){
if
(
!
(
this
instanceof
f
.
Event
))
return
new
f
.
Event
(
a
,
b
);
a
&&
a
.
type
?(
this
.
originalEvent
=
a
,
this
.
type
=
a
.
type
,
this
.
isDefaultPrevented
=
a
.
defaultPrevented
||
a
.
returnValue
===!
1
||
a
.
getPreventDefault
&&
a
.
getPreventDefault
()?
K
:
J
):
this
.
type
=
a
,
b
&&
f
.
extend
(
this
,
b
),
this
.
timeStamp
=
a
&&
a
.
timeStamp
||
f
.
now
(),
this
[
f
.
expando
]
=!
0
},
f
.
Event
.
prototype
=
{
preventDefault
:
function
(){
this
.
isDefaultPrevented
=
K
;
var
a
=
this
.
originalEvent
;
!
a
||
(
a
.
preventDefault
?
a
.
preventDefault
():
a
.
returnValue
=!
1
)},
stopPropagation
:
function
(){
this
.
isPropagationStopped
=
K
;
var
a
=
this
.
originalEvent
;
!
a
||
(
a
.
stopPropagation
&&
a
.
stopPropagation
(),
a
.
cancelBubble
=!
0
)},
stopImmediatePropagation
:
function
(){
this
.
isImmediatePropagationStopped
=
K
,
this
.
stopPropagation
()},
isDefaultPrevented
:
J
,
isPropagationStopped
:
J
,
isImmediatePropagationStopped
:
J
},
f
.
each
({
mouseenter
:
"mouseover"
,
mouseleave
:
"mouseout"
},
function
(
a
,
b
){
f
.
event
.
special
[
a
]
=
{
delegateType
:
b
,
bindType
:
b
,
handle
:
function
(
a
){
var
c
=
this
,
d
=
a
.
relatedTarget
,
e
=
a
.
handleObj
,
g
=
e
.
selector
,
h
;
if
(
!
d
||
d
!==
c
&&!
f
.
contains
(
c
,
d
))
a
.
type
=
e
.
origType
,
h
=
e
.
handler
.
apply
(
this
,
arguments
),
a
.
type
=
b
;
return
h
}}}),
f
.
support
.
submitBubbles
||
(
f
.
event
.
special
.
submit
=
{
setup
:
function
(){
if
(
f
.
nodeName
(
this
,
"form"
))
return
!
1
;
f
.
event
.
add
(
this
,
"click._submit keypress._submit"
,
function
(
a
){
var
c
=
a
.
target
,
d
=
f
.
nodeName
(
c
,
"input"
)
||
f
.
nodeName
(
c
,
"button"
)?
c
.
form
:
b
;
d
&&!
d
.
_submit_attached
&&
(
f
.
event
.
add
(
d
,
"submit._submit"
,
function
(
a
){
a
.
_submit_bubble
=!
0
}),
d
.
_submit_attached
=!
0
)})},
postDispatch
:
function
(
a
){
a
.
_submit_bubble
&&
(
delete
a
.
_submit_bubble
,
this
.
parentNode
&&!
a
.
isTrigger
&&
f
.
event
.
simulate
(
"submit"
,
this
.
parentNode
,
a
,
!
0
))},
teardown
:
function
(){
if
(
f
.
nodeName
(
this
,
"form"
))
return
!
1
;
f
.
event
.
remove
(
this
,
"._submit"
)}}),
f
.
support
.
changeBubbles
||
(
f
.
event
.
special
.
change
=
{
setup
:
function
(){
if
(
z
.
test
(
this
.
nodeName
)){
if
(
this
.
type
===
"checkbox"
||
this
.
type
===
"radio"
)
f
.
event
.
add
(
this
,
"propertychange._change"
,
function
(
a
){
a
.
originalEvent
.
propertyName
===
"checked"
&&
(
this
.
_just_changed
=!
0
)}),
f
.
event
.
add
(
this
,
"click._change"
,
function
(
a
){
this
.
_just_changed
&&!
a
.
isTrigger
&&
(
this
.
_just_changed
=!
1
,
f
.
event
.
simulate
(
"change"
,
this
,
a
,
!
0
))});
return
!
1
}
f
.
event
.
add
(
this
,
"beforeactivate._change"
,
function
(
a
){
var
b
=
a
.
target
;
z
.
test
(
b
.
nodeName
)
&&!
b
.
_change_attached
&&
(
f
.
event
.
add
(
b
,
"change._change"
,
function
(
a
){
this
.
parentNode
&&!
a
.
isSimulated
&&!
a
.
isTrigger
&&
f
.
event
.
simulate
(
"change"
,
this
.
parentNode
,
a
,
!
0
)}),
b
.
_change_attached
=!
0
)})},
handle
:
function
(
a
){
var
b
=
a
.
target
;
if
(
this
!==
b
||
a
.
isSimulated
||
a
.
isTrigger
||
b
.
type
!==
"radio"
&&
b
.
type
!==
"checkbox"
)
return
a
.
handleObj
.
handler
.
apply
(
this
,
arguments
)},
teardown
:
function
(){
f
.
event
.
remove
(
this
,
"._change"
);
return
z
.
test
(
this
.
nodeName
)}}),
f
.
support
.
focusinBubbles
||
f
.
each
({
focus
:
"focusin"
,
blur
:
"focusout"
},
function
(
a
,
b
){
var
d
=
0
,
e
=
function
(
a
){
f
.
event
.
simulate
(
b
,
a
.
target
,
f
.
event
.
fix
(
a
),
!
0
)};
f
.
event
.
special
[
b
]
=
{
setup
:
function
(){
d
++===
0
&&
c
.
addEventListener
(
a
,
e
,
!
0
)},
teardown
:
function
(){
--
d
===
0
&&
c
.
removeEventListener
(
a
,
e
,
!
0
)}}}),
f
.
fn
.
extend
({
on
:
function
(
a
,
c
,
d
,
e
,
g
){
var
h
,
i
;
if
(
typeof
a
==
"object"
){
typeof
c
!=
"string"
&&
(
d
=
d
||
c
,
c
=
b
);
for
(
i
in
a
)
this
.
on
(
i
,
c
,
d
,
a
[
i
],
g
);
return
this
}
d
==
null
&&
e
==
null
?(
e
=
c
,
d
=
c
=
b
):
e
==
null
&&
(
typeof
c
==
"string"
?(
e
=
d
,
d
=
b
):(
e
=
d
,
d
=
c
,
c
=
b
));
if
(
e
===!
1
)
e
=
J
;
else
if
(
!
e
)
return
this
;
g
===
1
&&
(
h
=
e
,
e
=
function
(
a
){
f
().
off
(
a
);
return
h
.
apply
(
this
,
arguments
)},
e
.
guid
=
h
.
guid
||
(
h
.
guid
=
f
.
guid
++
));
return
this
.
each
(
function
(){
f
.
event
.
add
(
this
,
a
,
e
,
d
,
c
)})},
one
:
function
(
a
,
b
,
c
,
d
){
return
this
.
on
(
a
,
b
,
c
,
d
,
1
)},
off
:
function
(
a
,
c
,
d
){
if
(
a
&&
a
.
preventDefault
&&
a
.
handleObj
){
var
e
=
a
.
handleObj
;
f
(
a
.
delegateTarget
).
off
(
e
.
namespace
?
e
.
origType
+
"."
+
e
.
namespace
:
e
.
origType
,
e
.
selector
,
e
.
handler
);
return
this
}
if
(
typeof
a
==
"object"
){
for
(
var
g
in
a
)
this
.
off
(
g
,
c
,
a
[
g
]);
return
this
}
if
(
c
===!
1
||
typeof
c
==
"function"
)
d
=
c
,
c
=
b
;
d
===!
1
&&
(
d
=
J
);
return
this
.
each
(
function
(){
f
.
event
.
remove
(
this
,
a
,
d
,
c
)})},
bind
:
function
(
a
,
b
,
c
){
return
this
.
on
(
a
,
null
,
b
,
c
)},
unbind
:
function
(
a
,
b
){
return
this
.
off
(
a
,
null
,
b
)},
live
:
function
(
a
,
b
,
c
){
f
(
this
.
context
).
on
(
a
,
this
.
selector
,
b
,
c
);
return
this
},
die
:
function
(
a
,
b
){
f
(
this
.
context
).
off
(
a
,
this
.
selector
||
"**"
,
b
);
return
this
},
delegate
:
function
(
a
,
b
,
c
,
d
){
return
this
.
on
(
b
,
a
,
c
,
d
)},
undelegate
:
function
(
a
,
b
,
c
){
return
arguments
.
length
==
1
?
this
.
off
(
a
,
"**"
):
this
.
off
(
b
,
a
,
c
)},
trigger
:
function
(
a
,
b
){
return
this
.
each
(
function
(){
f
.
event
.
trigger
(
a
,
b
,
this
)})},
triggerHandler
:
function
(
a
,
b
){
if
(
this
[
0
])
return
f
.
event
.
trigger
(
a
,
b
,
this
[
0
],
!
0
)},
toggle
:
function
(
a
){
var
b
=
arguments
,
c
=
a
.
guid
||
f
.
guid
++
,
d
=
0
,
e
=
function
(
c
){
var
e
=
(
f
.
_data
(
this
,
"lastToggle"
+
a
.
guid
)
||
0
)
%
d
;
f
.
_data
(
this
,
"lastToggle"
+
a
.
guid
,
e
+
1
),
c
.
preventDefault
();
return
b
[
e
].
apply
(
this
,
arguments
)
||!
1
};
e
.
guid
=
c
;
while
(
d
<
b
.
length
)
b
[
d
++
].
guid
=
c
;
return
this
.
click
(
e
)},
hover
:
function
(
a
,
b
){
return
this
.
mouseenter
(
a
).
mouseleave
(
b
||
a
)}}),
f
.
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
(
a
,
b
){
f
.
fn
[
b
]
=
function
(
a
,
c
){
c
==
null
&&
(
c
=
a
,
a
=
null
);
return
arguments
.
length
>
0
?
this
.
on
(
b
,
null
,
a
,
c
):
this
.
trigger
(
b
)},
f
.
attrFn
&&
(
f
.
attrFn
[
b
]
=!
0
),
C
.
test
(
b
)
&&
(
f
.
event
.
fixHooks
[
b
]
=
f
.
event
.
keyHooks
),
D
.
test
(
b
)
&&
(
f
.
event
.
fixHooks
[
b
]
=
f
.
event
.
mouseHooks
)}),
function
(){
function
x
(
a
,
b
,
c
,
e
,
f
,
g
){
for
(
var
h
=
0
,
i
=
e
.
length
;
h
<
i
;
h
++
){
var
j
=
e
[
h
];
if
(
j
){
var
k
=!
1
;
j
=
j
[
a
];
while
(
j
){
if
(
j
[
d
]
===
c
){
k
=
e
[
j
.
sizset
];
break
}
if
(
j
.
nodeType
===
1
){
g
||
(
j
[
d
]
=
c
,
j
.
sizset
=
h
);
if
(
typeof
b
!=
"string"
){
if
(
j
===
b
){
k
=!
0
;
break
}}
else
if
(
m
.
filter
(
b
,[
j
]).
length
>
0
){
k
=
j
;
break
}}
j
=
j
[
a
]}
e
[
h
]
=
k
}}}
function
w
(
a
,
b
,
c
,
e
,
f
,
g
){
for
(
var
h
=
0
,
i
=
e
.
length
;
h
<
i
;
h
++
){
var
j
=
e
[
h
];
if
(
j
){
var
k
=!
1
;
j
=
j
[
a
];
while
(
j
){
if
(
j
[
d
]
===
c
){
k
=
e
[
j
.
sizset
];
break
}
j
.
nodeType
===
1
&&!
g
&&
(
j
[
d
]
=
c
,
j
.
sizset
=
h
);
if
(
j
.
nodeName
.
toLowerCase
()
===
b
){
k
=
j
;
break
}
j
=
j
[
a
]}
e
[
h
]
=
k
}}}
var
a
=
/
((?:\((?:\([^
()
]
+
\)
|
[^
()
]
+
)
+
\)
|
\[(?:\[[^\[\]]
*
\]
|
[
'"
][^
'"
]
*
[
'"
]
|
[^\[\]
'"
]
+
)
+
\]
|
\\
.|
[^
>+~,(
\[\\]
+
)
+|
[
>+~
])(\s
*,
\s
*
)?((?:
.|
\r
|
\n)
*
)
/g
,
d
=
"sizcache"
+
(
Math
.
random
()
+
""
).
replace
(
"."
,
""
),
e
=
0
,
g
=
Object
.
prototype
.
toString
,
h
=!
1
,
i
=!
0
,
j
=
/
\\
/g
,
k
=
/
\r\n
/g
,
l
=
/
\W
/
;[
0
,
0
].
sort
(
function
(){
i
=!
1
;
return
0
});
var
m
=
function
(
b
,
d
,
e
,
f
){
e
=
e
||
[],
d
=
d
||
c
;
var
h
=
d
;
if
(
d
.
nodeType
!==
1
&&
d
.
nodeType
!==
9
)
return
[];
if
(
!
b
||
typeof
b
!=
"string"
)
return
e
;
var
i
,
j
,
k
,
l
,
n
,
q
,
r
,
t
,
u
=!
0
,
v
=
m
.
isXML
(
d
),
w
=
[],
x
=
b
;
do
{
a
.
exec
(
""
),
i
=
a
.
exec
(
x
);
if
(
i
){
x
=
i
[
3
],
w
.
push
(
i
[
1
]);
if
(
i
[
2
]){
l
=
i
[
3
];
break
}}}
while
(
i
);
if
(
w
.
length
>
1
&&
p
.
exec
(
b
))
if
(
w
.
length
===
2
&&
o
.
relative
[
w
[
0
]])
j
=
y
(
w
[
0
]
+
w
[
1
],
d
,
f
);
else
{
j
=
o
.
relative
[
w
[
0
]]?[
d
]:
m
(
w
.
shift
(),
d
);
while
(
w
.
length
)
b
=
w
.
shift
(),
o
.
relative
[
b
]
&&
(
b
+=
w
.
shift
()),
j
=
y
(
b
,
j
,
f
)}
else
{
!
f
&&
w
.
length
>
1
&&
d
.
nodeType
===
9
&&!
v
&&
o
.
match
.
ID
.
test
(
w
[
0
])
&&!
o
.
match
.
ID
.
test
(
w
[
w
.
length
-
1
])
&&
(
n
=
m
.
find
(
w
.
shift
(),
d
,
v
),
d
=
n
.
expr
?
m
.
filter
(
n
.
expr
,
n
.
set
)[
0
]:
n
.
set
[
0
]);
if
(
d
){
n
=
f
?{
expr
:
w
.
pop
(),
set
:
s
(
f
)}:
m
.
find
(
w
.
pop
(),
w
.
length
===
1
&&
(
w
[
0
]
===
"~"
||
w
[
0
]
===
"+"
)
&&
d
.
parentNode
?
d
.
parentNode
:
d
,
v
),
j
=
n
.
expr
?
m
.
filter
(
n
.
expr
,
n
.
set
):
n
.
set
,
w
.
length
>
0
?
k
=
s
(
j
):
u
=!
1
;
while
(
w
.
length
)
q
=
w
.
pop
(),
r
=
q
,
o
.
relative
[
q
]?
r
=
w
.
pop
():
q
=
""
,
r
==
null
&&
(
r
=
d
),
o
.
relative
[
q
](
k
,
r
,
v
)}
else
k
=
w
=
[]}
k
||
(
k
=
j
),
k
||
m
.
error
(
q
||
b
);
if
(
g
.
call
(
k
)
===
"[object Array]"
)
if
(
!
u
)
e
.
push
.
apply
(
e
,
k
);
else
if
(
d
&&
d
.
nodeType
===
1
)
for
(
t
=
0
;
k
[
t
]
!=
null
;
t
++
)
k
[
t
]
&&
(
k
[
t
]
===!
0
||
k
[
t
].
nodeType
===
1
&&
m
.
contains
(
d
,
k
[
t
]))
&&
e
.
push
(
j
[
t
]);
else
for
(
t
=
0
;
k
[
t
]
!=
null
;
t
++
)
k
[
t
]
&&
k
[
t
].
nodeType
===
1
&&
e
.
push
(
j
[
t
]);
else
s
(
k
,
e
);
l
&&
(
m
(
l
,
h
,
e
,
f
),
m
.
uniqueSort
(
e
));
return
e
};
m
.
uniqueSort
=
function
(
a
){
if
(
u
){
h
=
i
,
a
.
sort
(
u
);
if
(
h
)
for
(
var
b
=
1
;
b
<
a
.
length
;
b
++
)
a
[
b
]
===
a
[
b
-
1
]
&&
a
.
splice
(
b
--
,
1
)}
return
a
},
m
.
matches
=
function
(
a
,
b
){
return
m
(
a
,
null
,
null
,
b
)},
m
.
matchesSelector
=
function
(
a
,
b
){
return
m
(
b
,
null
,
null
,[
a
]).
length
>
0
},
m
.
find
=
function
(
a
,
b
,
c
){
var
d
,
e
,
f
,
g
,
h
,
i
;
if
(
!
a
)
return
[];
for
(
e
=
0
,
f
=
o
.
order
.
length
;
e
<
f
;
e
++
){
h
=
o
.
order
[
e
];
if
(
g
=
o
.
leftMatch
[
h
].
exec
(
a
)){
i
=
g
[
1
],
g
.
splice
(
1
,
1
);
if
(
i
.
substr
(
i
.
length
-
1
)
!==
"
\
\"
){g[1]=(g[1]||"").replace(j,""),d=o.find[h](g,b,c);if(d!=null){a=a.replace(o.match[h],"");break}}}}d||(d=typeof b.getElementsByTagName!="
undefined
"?b.getElementsByTagName("
*
"):[]);return{set:d,expr:a}},m.filter=function(a,c,d,e){var f,g,h,i,j,k,l,n,p,q=a,r=[],s=c,t=c&&c[0]&&m.isXML(c[0]);while(a&&c.length){for(h in o.filter)if((f=o.leftMatch[h].exec(a))!=null&&f[2]){k=o.filter[h],l=f[1],g=!1,f.splice(1,1);if(l.substr(l.length-1)==="
\\
")continue;s===r&&(r=[]);if(o.preFilter[h]){f=o.preFilter[h](f,s,d,r,e,t);if(!f)g=i=!0;else if(f===!0)continue}if(f)for(n=0;(j=s[n])!=null;n++)j&&(i=k(j,f,n,s),p=e^i,d&&i!=null?p?g=!0:s[n]=!1:p&&(r.push(j),g=!0));if(i!==b){d||(s=r),a=a.replace(o.match[h],"");if(!g)return[];break}}if(a===q)if(g==null)m.error(a);else break;q=a}return s},m.error=function(a){throw new Error("
Syntax
error
,
unrecognized
expression
:
"+a)};var n=m.getText=function(a){var b,c,d=a.nodeType,e="";if(d){if(d===1||d===9||d===11){if(typeof a.textContent=="
string
")return a.textContent;if(typeof a.innerText=="
string
")return a.innerText.replace(k,"");for(a=a.firstChild;a;a=a.nextSibling)e+=n(a)}else if(d===3||d===4)return a.nodeValue}else for(b=0;c=a[b];b++)c.nodeType!==8&&(e+=n(c));return e},o=m.selectors={order:["
ID
","
NAME
","
TAG
"],match:{ID:/#((?:[
\
w
\
u00c0-
\
uFFFF
\
-]|
\\
.)+)/,CLASS:/
\
.((?:[
\
w
\
u00c0-
\
uFFFF
\
-]|
\\
.)+)/,NAME:/
\
[name=['"
]
*
((?:[
\
w
\
u00c0
-
\
uFFFF
\
-
]
|
\\
.)
+
)[
'"]*
\
]/,ATTR:/
\
[
\
s*((?:[
\
w
\
u00c0-
\
uFFFF
\
-]|
\\
.)+)
\
s*(?:(
\
S?=)
\
s*(?:(['
"])(.*?)
\
3|(#?(?:[
\
w
\
u00c0-
\
uFFFF
\
-]|
\\
.)*)|)|)
\
s*
\
]/,TAG:/^((?:[
\
w
\
u00c0-
\
uFFFF
\
*
\
-]|
\\
.)+)/,CHILD:/:(only|nth|last|first)-child(?:
\
(
\
s*(even|odd|(?:[+
\
-]?
\
d+|(?:[+
\
-]?
\
d*)?n
\
s*(?:[+
\
-]
\
s*
\
d+)?))
\
s*
\
))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:
\
((
\
d*)
\
))?(?=[^
\
-]|$)/,PSEUDO:/:((?:[
\
w
\
u00c0-
\
uFFFF
\
-]|
\\
.)+)(?:
\
((['"
]?)((?:
\
([
^
\
)]
+
\
)
|
[
^
\
(
\
)]
*
)
+
)
\
2
\
))?
/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function
(
a
)
{return a.getAttribute
(
"href"
)
},type:function
(
a
)
{return a.getAttribute
(
"type"
)
}},relative:{"+":function
(
a,b
)
{var c=typeof b=="string",d=c&&!l.test
(
b
)
,e=c&&!d;d&&
(
b=b.toLowerCase
())
;for
(
var f=0,g=a.length,h;f<g;f++
)
if
(
h=a
[
f
])
{while
((
h=h.previousSibling
)
&&h.nodeType!==1
)
;a
[
f
]
=e||h&&h.nodeName.toLowerCase
()
===b
?
h||!1:h===b}e&&m.filter
(
b,a,!0
)
},">":function
(
a,b
)
{var c,d=typeof b=="string",e=0,f=a.length;if
(
d&&!l.test
(
b
))
{b=b.toLowerCase
()
;for
(
;e<f;e++
)
{c=a
[
e
]
;if
(
c
)
{var g=c.parentNode;a
[
e
]
=g.nodeName.toLowerCase
()
===b
?
g:!1}}}else{for
(
;e<f;e++
)
c=a
[
e
]
,c&&
(
a
[
e
]
=d
?
c.parentNode:c.parentNode===b
)
;d&&m.filter
(
b,a,!0
)
}},"":function
(
a,b,c
)
{var d,f=e++,g=x;typeof b=="string"&&!l.test
(
b
)
&&
(
b=b.toLowerCase
()
,d=b,g=w
)
,g
(
"parentNode",b,f,a,d,c
)
},"~":function
(
a,b,c
)
{var d,f=e++,g=x;typeof b=="string"&&!l.test
(
b
)
&&
(
b=b.toLowerCase
()
,d=b,g=w
)
,g
(
"previousSibling",b,f,a,d,c
)
}},find:{ID:function
(
a,b,c
)
{if
(
typeof b.getElementById!="undefined"&&!c
)
{var d=b.getElementById
(
a
[
1
])
;return d&&d.parentNode
?[
d
]
:
[]
}},NAME:function
(
a,b
)
{if
(
typeof b.getElementsByName!="undefined"
)
{var c=
[]
,d=b.getElementsByName
(
a
[
1
])
;for
(
var e=0,f=d.length;e<f;e++
)
d
[
e
]
.getAttribute
(
"name"
)
===a
[
1
]
&&c.push
(
d
[
e
])
;return c.length===0
?
null:c}},TAG:function
(
a,b
)
{if
(
typeof b.getElementsByTagName!="undefined"
)
return b.getElementsByTagName
(
a
[
1
])
}},preFilter:{CLASS:function
(
a,b,c,d,e,f
)
{a=" "+a
[
1
]
.replace
(
j,""
)
+" ";if
(
f
)
return a;for
(
var g=0,h;
(
h=b
[
g
])
!=null;g++
)
h&&
(
e^
(
h.className&&
(
" "+h.className+" "
)
.replace
(
/
[
\
t
\
n
\
r
]
/
g
,
" "
).
indexOf
(
a
)
>=
0
)?
c
||
d
.
push
(
h
):
c
&&
(
b
[
g
]
=!
1
));
return
!
1
},
ID
:
function
(
a
){
return
a
[
1
].
replace
(
j
,
""
)},
TAG
:
function
(
a
,
b
){
return
a
[
1
].
replace
(
j
,
""
).
toLowerCase
()},
CHILD
:
function
(
a
){
if
(
a
[
1
]
===
"nth"
){
a
[
2
]
||
m
.
error
(
a
[
0
]),
a
[
2
]
=
a
[
2
].
replace
(
/^
\+
|
\s
*/g
,
""
);
var
b
=
/
(
-
?)(\d
*
)(?:
n
([
+
\-]?\d
*
))?
/
.
exec
(
a
[
2
]
===
"even"
&&
"2n"
||
a
[
2
]
===
"odd"
&&
"2n+1"
||!
/
\D
/
.
test
(
a
[
2
])
&&
"0n+"
+
a
[
2
]
||
a
[
2
]);
a
[
2
]
=
b
[
1
]
+
(
b
[
2
]
||
1
)
-
0
,
a
[
3
]
=
b
[
3
]
-
0
}
else
a
[
2
]
&&
m
.
error
(
a
[
0
]);
a
[
0
]
=
e
++
;
return
a
},
ATTR
:
function
(
a
,
b
,
c
,
d
,
e
,
f
){
var
g
=
a
[
1
]
=
a
[
1
].
replace
(
j
,
""
);
!
f
&&
o
.
attrMap
[
g
]
&&
(
a
[
1
]
=
o
.
attrMap
[
g
]),
a
[
4
]
=
(
a
[
4
]
||
a
[
5
]
||
""
).
replace
(
j
,
""
),
a
[
2
]
===
"~="
&&
(
a
[
4
]
=
" "
+
a
[
4
]
+
" "
);
return
a
},
PSEUDO
:
function
(
b
,
c
,
d
,
e
,
f
){
if
(
b
[
1
]
===
"not"
)
if
((
a
.
exec
(
b
[
3
])
||
""
).
length
>
1
||
/^
\w
/
.
test
(
b
[
3
]))
b
[
3
]
=
m
(
b
[
3
],
null
,
null
,
c
);
else
{
var
g
=
m
.
filter
(
b
[
3
],
c
,
d
,
!
0
^
f
);
d
||
e
.
push
.
apply
(
e
,
g
);
return
!
1
}
else
if
(
o
.
match
.
POS
.
test
(
b
[
0
])
||
o
.
match
.
CHILD
.
test
(
b
[
0
]))
return
!
0
;
return
b
},
POS
:
function
(
a
){
a
.
unshift
(
!
0
);
return
a
}},
filters
:{
enabled
:
function
(
a
){
return
a
.
disabled
===!
1
&&
a
.
type
!==
"hidden"
},
disabled
:
function
(
a
){
return
a
.
disabled
===!
0
},
checked
:
function
(
a
){
return
a
.
checked
===!
0
},
selected
:
function
(
a
){
a
.
parentNode
&&
a
.
parentNode
.
selectedIndex
;
return
a
.
selected
===!
0
},
parent
:
function
(
a
){
return
!!
a
.
firstChild
},
empty
:
function
(
a
){
return
!
a
.
firstChild
},
has
:
function
(
a
,
b
,
c
){
return
!!
m
(
c
[
3
],
a
).
length
},
header
:
function
(
a
){
return
/h
\d
/i
.
test
(
a
.
nodeName
)},
text
:
function
(
a
){
var
b
=
a
.
getAttribute
(
"type"
),
c
=
a
.
type
;
return
a
.
nodeName
.
toLowerCase
()
===
"input"
&&
"text"
===
c
&&
(
b
===
c
||
b
===
null
)},
radio
:
function
(
a
){
return
a
.
nodeName
.
toLowerCase
()
===
"input"
&&
"radio"
===
a
.
type
},
checkbox
:
function
(
a
){
return
a
.
nodeName
.
toLowerCase
()
===
"input"
&&
"checkbox"
===
a
.
type
},
file
:
function
(
a
){
return
a
.
nodeName
.
toLowerCase
()
===
"input"
&&
"file"
===
a
.
type
},
password
:
function
(
a
){
return
a
.
nodeName
.
toLowerCase
()
===
"input"
&&
"password"
===
a
.
type
},
submit
:
function
(
a
){
var
b
=
a
.
nodeName
.
toLowerCase
();
return
(
b
===
"input"
||
b
===
"button"
)
&&
"submit"
===
a
.
type
},
image
:
function
(
a
){
return
a
.
nodeName
.
toLowerCase
()
===
"input"
&&
"image"
===
a
.
type
},
reset
:
function
(
a
){
var
b
=
a
.
nodeName
.
toLowerCase
();
return
(
b
===
"input"
||
b
===
"button"
)
&&
"reset"
===
a
.
type
},
button
:
function
(
a
){
var
b
=
a
.
nodeName
.
toLowerCase
();
return
b
===
"input"
&&
"button"
===
a
.
type
||
b
===
"button"
},
input
:
function
(
a
){
return
/input|select|textarea|button/i
.
test
(
a
.
nodeName
)},
focus
:
function
(
a
){
return
a
===
a
.
ownerDocument
.
activeElement
}},
setFilters
:{
first
:
function
(
a
,
b
){
return
b
===
0
},
last
:
function
(
a
,
b
,
c
,
d
){
return
b
===
d
.
length
-
1
},
even
:
function
(
a
,
b
){
return
b
%
2
===
0
},
odd
:
function
(
a
,
b
){
return
b
%
2
===
1
},
lt
:
function
(
a
,
b
,
c
){
return
b
<
c
[
3
]
-
0
},
gt
:
function
(
a
,
b
,
c
){
return
b
>
c
[
3
]
-
0
},
nth
:
function
(
a
,
b
,
c
){
return
c
[
3
]
-
0
===
b
},
eq
:
function
(
a
,
b
,
c
){
return
c
[
3
]
-
0
===
b
}},
filter
:{
PSEUDO
:
function
(
a
,
b
,
c
,
d
){
var
e
=
b
[
1
],
f
=
o
.
filters
[
e
];
if
(
f
)
return
f
(
a
,
c
,
b
,
d
);
if
(
e
===
"contains"
)
return
(
a
.
textContent
||
a
.
innerText
||
n
([
a
])
||
""
).
indexOf
(
b
[
3
])
>=
0
;
if
(
e
===
"not"
){
var
g
=
b
[
3
];
for
(
var
h
=
0
,
i
=
g
.
length
;
h
<
i
;
h
++
)
if
(
g
[
h
]
===
a
)
return
!
1
;
return
!
0
}
m
.
error
(
e
)},
CHILD
:
function
(
a
,
b
){
var
c
,
e
,
f
,
g
,
h
,
i
,
j
,
k
=
b
[
1
],
l
=
a
;
switch
(
k
){
case
"only"
:
case
"first"
:
while
(
l
=
l
.
previousSibling
)
if
(
l
.
nodeType
===
1
)
return
!
1
;
if
(
k
===
"first"
)
return
!
0
;
l
=
a
;
case
"last"
:
while
(
l
=
l
.
nextSibling
)
if
(
l
.
nodeType
===
1
)
return
!
1
;
return
!
0
;
case
"nth"
:
c
=
b
[
2
],
e
=
b
[
3
];
if
(
c
===
1
&&
e
===
0
)
return
!
0
;
f
=
b
[
0
],
g
=
a
.
parentNode
;
if
(
g
&&
(
g
[
d
]
!==
f
||!
a
.
nodeIndex
)){
i
=
0
;
for
(
l
=
g
.
firstChild
;
l
;
l
=
l
.
nextSibling
)
l
.
nodeType
===
1
&&
(
l
.
nodeIndex
=++
i
);
g
[
d
]
=
f
}
j
=
a
.
nodeIndex
-
e
;
return
c
===
0
?
j
===
0
:
j
%
c
===
0
&&
j
/
c
>=
0
}},
ID
:
function
(
a
,
b
){
return
a
.
nodeType
===
1
&&
a
.
getAttribute
(
"id"
)
===
b
},
TAG
:
function
(
a
,
b
){
return
b
===
"*"
&&
a
.
nodeType
===
1
||!!
a
.
nodeName
&&
a
.
nodeName
.
toLowerCase
()
===
b
},
CLASS
:
function
(
a
,
b
){
return
(
" "
+
(
a
.
className
||
a
.
getAttribute
(
"class"
))
+
" "
).
indexOf
(
b
)
>-
1
},
ATTR
:
function
(
a
,
b
){
var
c
=
b
[
1
],
d
=
m
.
attr
?
m
.
attr
(
a
,
c
):
o
.
attrHandle
[
c
]?
o
.
attrHandle
[
c
](
a
):
a
[
c
]
!=
null
?
a
[
c
]:
a
.
getAttribute
(
c
),
e
=
d
+
""
,
f
=
b
[
2
],
g
=
b
[
4
];
return
d
==
null
?
f
===
"!="
:
!
f
&&
m
.
attr
?
d
!=
null
:
f
===
"="
?
e
===
g
:
f
===
"*="
?
e
.
indexOf
(
g
)
>=
0
:
f
===
"~="
?(
" "
+
e
+
" "
).
indexOf
(
g
)
>=
0
:
g
?
f
===
"!="
?
e
!==
g
:
f
===
"^="
?
e
.
indexOf
(
g
)
===
0
:
f
===
"$="
?
e
.
substr
(
e
.
length
-
g
.
length
)
===
g
:
f
===
"|="
?
e
===
g
||
e
.
substr
(
0
,
g
.
length
+
1
)
===
g
+
"-"
:
!
1
:
e
&&
d
!==!
1
},
POS
:
function
(
a
,
b
,
c
,
d
){
var
e
=
b
[
2
],
f
=
o
.
setFilters
[
e
];
if
(
f
)
return
f
(
a
,
c
,
b
,
d
)}}},
p
=
o
.
match
.
POS
,
q
=
function
(
a
,
b
){
return
"
\
\"
+(b-0+1)};for(var r in o.match)o.match[r]=new RegExp(o.match[r].source+/(?![^
\
[]*
\
])(?![^
\
(]*
\
))/.source),o.leftMatch[r]=new RegExp(/(^(?:.|
\
r|
\
n)*?)/.source+o.match[r].source.replace(/
\\
(
\
d+)/g,q));o.match.globalPOS=p;var s=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(t){s=function(a,b){var c=0,d=b||[];if(g.call(a)==="
[
object
Array
]
")Array.prototype.push.apply(d,a);else if(typeof a.length=="
number
")for(var e=a.length;c<e;c++)d.push(a[c]);else for(;a[c];c++)d.push(a[c]);return d}}var u,v;c.documentElement.compareDocumentPosition?u=function(a,b){if(a===b){h=!0;return 0}if(!a.compareDocumentPosition||!b.compareDocumentPosition)return a.compareDocumentPosition?-1:1;return a.compareDocumentPosition(b)&4?-1:1}:(u=function(a,b){if(a===b){h=!0;return 0}if(a.sourceIndex&&b.sourceIndex)return a.sourceIndex-b.sourceIndex;var c,d,e=[],f=[],g=a.parentNode,i=b.parentNode,j=g;if(g===i)return v(a,b);if(!g)return-1;if(!i)return 1;while(j)e.unshift(j),j=j.parentNode;j=i;while(j)f.unshift(j),j=j.parentNode;c=e.length,d=f.length;for(var k=0;k<c&&k<d;k++)if(e[k]!==f[k])return v(e[k],f[k]);return k===c?v(a,f[k],-1):v(e[k],b,1)},v=function(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}),function(){var a=c.createElement("
div
"),d="
script
"+(new Date).getTime(),e=c.documentElement;a.innerHTML="
<
a
name
=
'"+d+"'
/>
",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(o.find.ID=function(a,c,d){if(typeof c.getElementById!="
undefined
"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="
undefined
"&&e.getAttributeNode("
id
").nodeValue===a[1]?[e]:b:[]}},o.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="
undefined
"&&a.getAttributeNode("
id
");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("
div
");a.appendChild(c.createComment("")),a.getElementsByTagName("
*
").length>0&&(o.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="
*
"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="
<
a
href
=
'#'
><
/a>",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute
(
"href"
)
!=="#"&&
(
o.attrHandle.href=function
(
a
)
{return a.getAttribute
(
"href",2
)
}
)
,a=null}
()
,c.querySelectorAll&&function
()
{var a=m,b=c.createElement
(
"div"
)
,d="__sizzle__";b.innerHTML="<p class='TEST'></
p
>
";if(!b.querySelectorAll||b.querySelectorAll("
.
TEST
").length!==0){m=function(b,e,f,g){e=e||c;if(!g&&!m.isXML(e)){var h=/^(
\
w+$)|^
\
.([
\
w
\
-]+$)|^#([
\
w
\
-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return s(e.getElementsByTagName(b),f);if(h[2]&&o.find.CLASS&&e.getElementsByClassName)return s(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="
body
"&&e.body)return s([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return s([],f);if(i.id===h[3])return s([i],f)}try{return s(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="
object
"){var k=e,l=e.getAttribute("
id
"),n=l||d,p=e.parentNode,q=/^
\
s*[+~]/.test(b);l?n=n.replace(/'/g,"
\\
$
&
"):e.setAttribute("
id
",n),q&&p&&(e=e.parentNode);try{if(!q||p)return s(e.querySelectorAll("
[
id
=
'"+n+"'
]
"+b),f)}catch(r){}finally{l||k.removeAttribute("
id
")}}}return a(b,e,f,g)};for(var e in a)m[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("
div
"),"
div
"),e=!1;try{b.call(c.documentElement,"
[
test
!=
''
]:
sizzle
")}catch(f){e=!0}m.matchesSelector=function(a,c){c=c.replace(/
\
=
\
s*([^'"
\
]]
*
)
\
s
*
\
]
/
g
,
"='$1']"
);
if
(
!
m
.
isXML
(
a
))
try
{
if
(
e
||!
o
.
match
.
PSEUDO
.
test
(
c
)
&&!
/!=/
.
test
(
c
)){
var
f
=
b
.
call
(
a
,
c
);
if
(
f
||!
d
||
a
.
document
&&
a
.
document
.
nodeType
!==
11
)
return
f
}}
catch
(
g
){}
return
m
(
c
,
null
,
null
,[
a
]).
length
>
0
}}}(),
function
(){
var
a
=
c
.
createElement
(
"div"
);
a
.
innerHTML
=
"<div class='test e'></div><div class='test'></div>"
;
if
(
!!
a
.
getElementsByClassName
&&
a
.
getElementsByClassName
(
"e"
).
length
!==
0
){
a
.
lastChild
.
className
=
"e"
;
if
(
a
.
getElementsByClassName
(
"e"
).
length
===
1
)
return
;
o
.
order
.
splice
(
1
,
0
,
"CLASS"
),
o
.
find
.
CLASS
=
function
(
a
,
b
,
c
){
if
(
typeof
b
.
getElementsByClassName
!=
"undefined"
&&!
c
)
return
b
.
getElementsByClassName
(
a
[
1
])},
a
=
null
}}(),
c
.
documentElement
.
contains
?
m
.
contains
=
function
(
a
,
b
){
return
a
!==
b
&&
(
a
.
contains
?
a
.
contains
(
b
):
!
0
)}:
c
.
documentElement
.
compareDocumentPosition
?
m
.
contains
=
function
(
a
,
b
){
return
!!
(
a
.
compareDocumentPosition
(
b
)
&
16
)}:
m
.
contains
=
function
(){
return
!
1
},
m
.
isXML
=
function
(
a
){
var
b
=
(
a
?
a
.
ownerDocument
||
a
:
0
).
documentElement
;
return
b
?
b
.
nodeName
!==
"HTML"
:
!
1
};
var
y
=
function
(
a
,
b
,
c
){
var
d
,
e
=
[],
f
=
""
,
g
=
b
.
nodeType
?[
b
]:
b
;
while
(
d
=
o
.
match
.
PSEUDO
.
exec
(
a
))
f
+=
d
[
0
],
a
=
a
.
replace
(
o
.
match
.
PSEUDO
,
""
);
a
=
o
.
relative
[
a
]?
a
+
"*"
:
a
;
for
(
var
h
=
0
,
i
=
g
.
length
;
h
<
i
;
h
++
)
m
(
a
,
g
[
h
],
e
,
c
);
return
m
.
filter
(
f
,
e
)};
m
.
attr
=
f
.
attr
,
m
.
selectors
.
attrMap
=
{},
f
.
find
=
m
,
f
.
expr
=
m
.
selectors
,
f
.
expr
[
":"
]
=
f
.
expr
.
filters
,
f
.
unique
=
m
.
uniqueSort
,
f
.
text
=
m
.
getText
,
f
.
isXMLDoc
=
m
.
isXML
,
f
.
contains
=
m
.
contains
}();
var
L
=
/Until$/
,
M
=
/^
(?:
parents|prevUntil|prevAll
)
/
,
N
=
/,/
,
O
=
/^.
[^
:#
\[\.
,
]
*$/
,
P
=
Array
.
prototype
.
slice
,
Q
=
f
.
expr
.
match
.
globalPOS
,
R
=
{
children
:
!
0
,
contents
:
!
0
,
next
:
!
0
,
prev
:
!
0
};
f
.
fn
.
extend
({
find
:
function
(
a
){
var
b
=
this
,
c
,
d
;
if
(
typeof
a
!=
"string"
)
return
f
(
a
).
filter
(
function
(){
for
(
c
=
0
,
d
=
b
.
length
;
c
<
d
;
c
++
)
if
(
f
.
contains
(
b
[
c
],
this
))
return
!
0
});
var
e
=
this
.
pushStack
(
""
,
"find"
,
a
),
g
,
h
,
i
;
for
(
c
=
0
,
d
=
this
.
length
;
c
<
d
;
c
++
){
g
=
e
.
length
,
f
.
find
(
a
,
this
[
c
],
e
);
if
(
c
>
0
)
for
(
h
=
g
;
h
<
e
.
length
;
h
++
)
for
(
i
=
0
;
i
<
g
;
i
++
)
if
(
e
[
i
]
===
e
[
h
]){
e
.
splice
(
h
--
,
1
);
break
}}
return
e
},
has
:
function
(
a
){
var
b
=
f
(
a
);
return
this
.
filter
(
function
(){
for
(
var
a
=
0
,
c
=
b
.
length
;
a
<
c
;
a
++
)
if
(
f
.
contains
(
this
,
b
[
a
]))
return
!
0
})},
not
:
function
(
a
){
return
this
.
pushStack
(
T
(
this
,
a
,
!
1
),
"not"
,
a
)},
filter
:
function
(
a
){
return
this
.
pushStack
(
T
(
this
,
a
,
!
0
),
"filter"
,
a
)},
is
:
function
(
a
){
return
!!
a
&&
(
typeof
a
==
"string"
?
Q
.
test
(
a
)?
f
(
a
,
this
.
context
).
index
(
this
[
0
])
>=
0
:
f
.
filter
(
a
,
this
).
length
>
0
:
this
.
filter
(
a
).
length
>
0
)},
closest
:
function
(
a
,
b
){
var
c
=
[],
d
,
e
,
g
=
this
[
0
];
if
(
f
.
isArray
(
a
)){
var
h
=
1
;
while
(
g
&&
g
.
ownerDocument
&&
g
!==
b
){
for
(
d
=
0
;
d
<
a
.
length
;
d
++
)
f
(
g
).
is
(
a
[
d
])
&&
c
.
push
({
selector
:
a
[
d
],
elem
:
g
,
level
:
h
});
g
=
g
.
parentNode
,
h
++
}
return
c
}
var
i
=
Q
.
test
(
a
)
||
typeof
a
!=
"string"
?
f
(
a
,
b
||
this
.
context
):
0
;
for
(
d
=
0
,
e
=
this
.
length
;
d
<
e
;
d
++
){
g
=
this
[
d
];
while
(
g
){
if
(
i
?
i
.
index
(
g
)
>-
1
:
f
.
find
.
matchesSelector
(
g
,
a
)){
c
.
push
(
g
);
break
}
g
=
g
.
parentNode
;
if
(
!
g
||!
g
.
ownerDocument
||
g
===
b
||
g
.
nodeType
===
11
)
break
}}
c
=
c
.
length
>
1
?
f
.
unique
(
c
):
c
;
return
this
.
pushStack
(
c
,
"closest"
,
a
)},
index
:
function
(
a
){
if
(
!
a
)
return
this
[
0
]
&&
this
[
0
].
parentNode
?
this
.
prevAll
().
length
:
-
1
;
if
(
typeof
a
==
"string"
)
return
f
.
inArray
(
this
[
0
],
f
(
a
));
return
f
.
inArray
(
a
.
jquery
?
a
[
0
]:
a
,
this
)},
add
:
function
(
a
,
b
){
var
c
=
typeof
a
==
"string"
?
f
(
a
,
b
):
f
.
makeArray
(
a
&&
a
.
nodeType
?[
a
]:
a
),
d
=
f
.
merge
(
this
.
get
(),
c
);
return
this
.
pushStack
(
S
(
c
[
0
])
||
S
(
d
[
0
])?
d
:
f
.
unique
(
d
))},
andSelf
:
function
(){
return
this
.
add
(
this
.
prevObject
)}}),
f
.
each
({
parent
:
function
(
a
){
var
b
=
a
.
parentNode
;
return
b
&&
b
.
nodeType
!==
11
?
b
:
null
},
parents
:
function
(
a
){
return
f
.
dir
(
a
,
"parentNode"
)},
parentsUntil
:
function
(
a
,
b
,
c
){
return
f
.
dir
(
a
,
"parentNode"
,
c
)},
next
:
function
(
a
){
return
f
.
nth
(
a
,
2
,
"nextSibling"
)},
prev
:
function
(
a
){
return
f
.
nth
(
a
,
2
,
"previousSibling"
)},
nextAll
:
function
(
a
){
return
f
.
dir
(
a
,
"nextSibling"
)},
prevAll
:
function
(
a
){
return
f
.
dir
(
a
,
"previousSibling"
)},
nextUntil
:
function
(
a
,
b
,
c
){
return
f
.
dir
(
a
,
"nextSibling"
,
c
)},
prevUntil
:
function
(
a
,
b
,
c
){
return
f
.
dir
(
a
,
"previousSibling"
,
c
)},
siblings
:
function
(
a
){
return
f
.
sibling
((
a
.
parentNode
||
{}).
firstChild
,
a
)},
children
:
function
(
a
){
return
f
.
sibling
(
a
.
firstChild
)},
contents
:
function
(
a
){
return
f
.
nodeName
(
a
,
"iframe"
)?
a
.
contentDocument
||
a
.
contentWindow
.
document
:
f
.
makeArray
(
a
.
childNodes
)}},
function
(
a
,
b
){
f
.
fn
[
a
]
=
function
(
c
,
d
){
var
e
=
f
.
map
(
this
,
b
,
c
);
L
.
test
(
a
)
||
(
d
=
c
),
d
&&
typeof
d
==
"string"
&&
(
e
=
f
.
filter
(
d
,
e
)),
e
=
this
.
length
>
1
&&!
R
[
a
]?
f
.
unique
(
e
):
e
,(
this
.
length
>
1
||
N
.
test
(
d
))
&&
M
.
test
(
a
)
&&
(
e
=
e
.
reverse
());
return
this
.
pushStack
(
e
,
a
,
P
.
call
(
arguments
).
join
(
","
))}}),
f
.
extend
({
filter
:
function
(
a
,
b
,
c
){
c
&&
(
a
=
":not("
+
a
+
")"
);
return
b
.
length
===
1
?
f
.
find
.
matchesSelector
(
b
[
0
],
a
)?[
b
[
0
]]:[]:
f
.
find
.
matches
(
a
,
b
)},
dir
:
function
(
a
,
c
,
d
){
var
e
=
[],
g
=
a
[
c
];
while
(
g
&&
g
.
nodeType
!==
9
&&
(
d
===
b
||
g
.
nodeType
!==
1
||!
f
(
g
).
is
(
d
)))
g
.
nodeType
===
1
&&
e
.
push
(
g
),
g
=
g
[
c
];
return
e
},
nth
:
function
(
a
,
b
,
c
,
d
){
b
=
b
||
1
;
var
e
=
0
;
for
(;
a
;
a
=
a
[
c
])
if
(
a
.
nodeType
===
1
&&++
e
===
b
)
break
;
return
a
},
sibling
:
function
(
a
,
b
){
var
c
=
[];
for
(;
a
;
a
=
a
.
nextSibling
)
a
.
nodeType
===
1
&&
a
!==
b
&&
c
.
push
(
a
);
return
c
}});
var
V
=
"abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video"
,
W
=
/ jQuery
\d
+="
(?:\d
+|null
)
"/g
,
X
=
/^
\s
+/
,
Y
=
/<
(?!
area|br|col|embed|hr|img|input|link|meta|param
)(([\w
:
]
+
)[^
>
]
*
)\/
>/ig
,
Z
=
/<
([\w
:
]
+
)
/
,
$
=
/<tbody/i
,
_
=
/<|&#
?\w
+;/
,
ba
=
/<
(?:
script|style
)
/i
,
bb
=
/<
(?:
script|object|embed|option|style
)
/i
,
bc
=
new
RegExp
(
"<(?:"
+
V
+
")[
\\
s/>]"
,
"i"
),
bd
=
/checked
\s
*
(?:[^
=
]
|=
\s
*.checked.
)
/i
,
be
=
/
\/(
java|ecma
)
script/i
,
bf
=
/^
\s
*<!
(?:\[
CDATA
\[
|
\-\-)
/
,
bg
=
{
option
:[
1
,
"<select multiple='multiple'>"
,
"</select>"
],
legend
:[
1
,
"<fieldset>"
,
"</fieldset>"
],
thead
:[
1
,
"<table>"
,
"</table>"
],
tr
:[
2
,
"<table><tbody>"
,
"</tbody></table>"
],
td
:[
3
,
"<table><tbody><tr>"
,
"</tr></tbody></table>"
],
col
:[
2
,
"<table><tbody></tbody><colgroup>"
,
"</colgroup></table>"
],
area
:[
1
,
"<map>"
,
"</map>"
],
_default
:[
0
,
""
,
""
]},
bh
=
U
(
c
);
bg
.
optgroup
=
bg
.
option
,
bg
.
tbody
=
bg
.
tfoot
=
bg
.
colgroup
=
bg
.
caption
=
bg
.
thead
,
bg
.
th
=
bg
.
td
,
f
.
support
.
htmlSerialize
||
(
bg
.
_default
=
[
1
,
"div<div>"
,
"</div>"
]),
f
.
fn
.
extend
({
text
:
function
(
a
){
return
f
.
access
(
this
,
function
(
a
){
return
a
===
b
?
f
.
text
(
this
):
this
.
empty
().
append
((
this
[
0
]
&&
this
[
0
].
ownerDocument
||
c
).
createTextNode
(
a
))},
null
,
a
,
arguments
.
length
)},
wrapAll
:
function
(
a
){
if
(
f
.
isFunction
(
a
))
return
this
.
each
(
function
(
b
){
f
(
this
).
wrapAll
(
a
.
call
(
this
,
b
))});
if
(
this
[
0
]){
var
b
=
f
(
a
,
this
[
0
].
ownerDocument
).
eq
(
0
).
clone
(
!
0
);
this
[
0
].
parentNode
&&
b
.
insertBefore
(
this
[
0
]),
b
.
map
(
function
(){
var
a
=
this
;
while
(
a
.
firstChild
&&
a
.
firstChild
.
nodeType
===
1
)
a
=
a
.
firstChild
;
return
a
}).
append
(
this
)}
return
this
},
wrapInner
:
function
(
a
){
if
(
f
.
isFunction
(
a
))
return
this
.
each
(
function
(
b
){
f
(
this
).
wrapInner
(
a
.
call
(
this
,
b
))});
return
this
.
each
(
function
(){
var
b
=
f
(
this
),
c
=
b
.
contents
();
c
.
length
?
c
.
wrapAll
(
a
):
b
.
append
(
a
)})},
wrap
:
function
(
a
){
var
b
=
f
.
isFunction
(
a
);
return
this
.
each
(
function
(
c
){
f
(
this
).
wrapAll
(
b
?
a
.
call
(
this
,
c
):
a
)})},
unwrap
:
function
(){
return
this
.
parent
().
each
(
function
(){
f
.
nodeName
(
this
,
"body"
)
||
f
(
this
).
replaceWith
(
this
.
childNodes
)}).
end
()},
append
:
function
(){
return
this
.
domManip
(
arguments
,
!
0
,
function
(
a
){
this
.
nodeType
===
1
&&
this
.
appendChild
(
a
)})},
prepend
:
function
(){
return
this
.
domManip
(
arguments
,
!
0
,
function
(
a
){
this
.
nodeType
===
1
&&
this
.
insertBefore
(
a
,
this
.
firstChild
)})},
before
:
function
(){
if
(
this
[
0
]
&&
this
[
0
].
parentNode
)
return
this
.
domManip
(
arguments
,
!
1
,
function
(
a
){
this
.
parentNode
.
insertBefore
(
a
,
this
)});
if
(
arguments
.
length
){
var
a
=
f
.
clean
(
arguments
);
a
.
push
.
apply
(
a
,
this
.
toArray
());
return
this
.
pushStack
(
a
,
"before"
,
arguments
)}},
after
:
function
(){
if
(
this
[
0
]
&&
this
[
0
].
parentNode
)
return
this
.
domManip
(
arguments
,
!
1
,
function
(
a
){
this
.
parentNode
.
insertBefore
(
a
,
this
.
nextSibling
)});
if
(
arguments
.
length
){
var
a
=
this
.
pushStack
(
this
,
"after"
,
arguments
);
a
.
push
.
apply
(
a
,
f
.
clean
(
arguments
));
return
a
}},
remove
:
function
(
a
,
b
){
for
(
var
c
=
0
,
d
;(
d
=
this
[
c
])
!=
null
;
c
++
)
if
(
!
a
||
f
.
filter
(
a
,[
d
]).
length
)
!
b
&&
d
.
nodeType
===
1
&&
(
f
.
cleanData
(
d
.
getElementsByTagName
(
"*"
)),
f
.
cleanData
([
d
])),
d
.
parentNode
&&
d
.
parentNode
.
removeChild
(
d
);
return
this
},
empty
:
function
(){
for
(
var
a
=
0
,
b
;(
b
=
this
[
a
])
!=
null
;
a
++
){
b
.
nodeType
===
1
&&
f
.
cleanData
(
b
.
getElementsByTagName
(
"*"
));
while
(
b
.
firstChild
)
b
.
removeChild
(
b
.
firstChild
)}
return
this
},
clone
:
function
(
a
,
b
){
a
=
a
==
null
?
!
1
:
a
,
b
=
b
==
null
?
a
:
b
;
return
this
.
map
(
function
(){
return
f
.
clone
(
this
,
a
,
b
)})},
html
:
function
(
a
){
return
f
.
access
(
this
,
function
(
a
){
var
c
=
this
[
0
]
||
{},
d
=
0
,
e
=
this
.
length
;
if
(
a
===
b
)
return
c
.
nodeType
===
1
?
c
.
innerHTML
.
replace
(
W
,
""
):
null
;
if
(
typeof
a
==
"string"
&&!
ba
.
test
(
a
)
&&
(
f
.
support
.
leadingWhitespace
||!
X
.
test
(
a
))
&&!
bg
[(
Z
.
exec
(
a
)
||
[
""
,
""
])[
1
].
toLowerCase
()]){
a
=
a
.
replace
(
Y
,
"<$1></$2>"
);
try
{
for
(;
d
<
e
;
d
++
)
c
=
this
[
d
]
||
{},
c
.
nodeType
===
1
&&
(
f
.
cleanData
(
c
.
getElementsByTagName
(
"*"
)),
c
.
innerHTML
=
a
);
c
=
0
}
catch
(
g
){}}
c
&&
this
.
empty
().
append
(
a
)},
null
,
a
,
arguments
.
length
)},
replaceWith
:
function
(
a
){
if
(
this
[
0
]
&&
this
[
0
].
parentNode
){
if
(
f
.
isFunction
(
a
))
return
this
.
each
(
function
(
b
){
var
c
=
f
(
this
),
d
=
c
.
html
();
c
.
replaceWith
(
a
.
call
(
this
,
b
,
d
))});
typeof
a
!=
"string"
&&
(
a
=
f
(
a
).
detach
());
return
this
.
each
(
function
(){
var
b
=
this
.
nextSibling
,
c
=
this
.
parentNode
;
f
(
this
).
remove
(),
b
?
f
(
b
).
before
(
a
):
f
(
c
).
append
(
a
)})}
return
this
.
length
?
this
.
pushStack
(
f
(
f
.
isFunction
(
a
)?
a
():
a
),
"replaceWith"
,
a
):
this
},
detach
:
function
(
a
){
return
this
.
remove
(
a
,
!
0
)},
domManip
:
function
(
a
,
c
,
d
){
var
e
,
g
,
h
,
i
,
j
=
a
[
0
],
k
=
[];
if
(
!
f
.
support
.
checkClone
&&
arguments
.
length
===
3
&&
typeof
j
==
"string"
&&
bd
.
test
(
j
))
return
this
.
each
(
function
(){
f
(
this
).
domManip
(
a
,
c
,
d
,
!
0
)});
if
(
f
.
isFunction
(
j
))
return
this
.
each
(
function
(
e
){
var
g
=
f
(
this
);
a
[
0
]
=
j
.
call
(
this
,
e
,
c
?
g
.
html
():
b
),
g
.
domManip
(
a
,
c
,
d
)});
if
(
this
[
0
]){
i
=
j
&&
j
.
parentNode
,
f
.
support
.
parentNode
&&
i
&&
i
.
nodeType
===
11
&&
i
.
childNodes
.
length
===
this
.
length
?
e
=
{
fragment
:
i
}:
e
=
f
.
buildFragment
(
a
,
this
,
k
),
h
=
e
.
fragment
,
h
.
childNodes
.
length
===
1
?
g
=
h
=
h
.
firstChild
:
g
=
h
.
firstChild
;
if
(
g
){
c
=
c
&&
f
.
nodeName
(
g
,
"tr"
);
for
(
var
l
=
0
,
m
=
this
.
length
,
n
=
m
-
1
;
l
<
m
;
l
++
)
d
.
call
(
c
?
bi
(
this
[
l
],
g
):
this
[
l
],
e
.
cacheable
||
m
>
1
&&
l
<
n
?
f
.
clone
(
h
,
!
0
,
!
0
):
h
)}
k
.
length
&&
f
.
each
(
k
,
function
(
a
,
b
){
b
.
src
?
f
.
ajax
({
type
:
"GET"
,
global
:
!
1
,
url
:
b
.
src
,
async
:
!
1
,
dataType
:
"script"
}):
f
.
globalEval
((
b
.
text
||
b
.
textContent
||
b
.
innerHTML
||
""
).
replace
(
bf
,
"/*$0*/"
)),
b
.
parentNode
&&
b
.
parentNode
.
removeChild
(
b
)})}
return
this
}}),
f
.
buildFragment
=
function
(
a
,
b
,
d
){
var
e
,
g
,
h
,
i
,
j
=
a
[
0
];
b
&&
b
[
0
]
&&
(
i
=
b
[
0
].
ownerDocument
||
b
[
0
]),
i
.
createDocumentFragment
||
(
i
=
c
),
a
.
length
===
1
&&
typeof
j
==
"string"
&&
j
.
length
<
512
&&
i
===
c
&&
j
.
charAt
(
0
)
===
"<"
&&!
bb
.
test
(
j
)
&&
(
f
.
support
.
checkClone
||!
bd
.
test
(
j
))
&&
(
f
.
support
.
html5Clone
||!
bc
.
test
(
j
))
&&
(
g
=!
0
,
h
=
f
.
fragments
[
j
],
h
&&
h
!==
1
&&
(
e
=
h
)),
e
||
(
e
=
i
.
createDocumentFragment
(),
f
.
clean
(
a
,
i
,
e
,
d
)),
g
&&
(
f
.
fragments
[
j
]
=
h
?
e
:
1
);
return
{
fragment
:
e
,
cacheable
:
g
}},
f
.
fragments
=
{},
f
.
each
({
appendTo
:
"append"
,
prependTo
:
"prepend"
,
insertBefore
:
"before"
,
insertAfter
:
"after"
,
replaceAll
:
"replaceWith"
},
function
(
a
,
b
){
f
.
fn
[
a
]
=
function
(
c
){
var
d
=
[],
e
=
f
(
c
),
g
=
this
.
length
===
1
&&
this
[
0
].
parentNode
;
if
(
g
&&
g
.
nodeType
===
11
&&
g
.
childNodes
.
length
===
1
&&
e
.
length
===
1
){
e
[
b
](
this
[
0
]);
return
this
}
for
(
var
h
=
0
,
i
=
e
.
length
;
h
<
i
;
h
++
){
var
j
=
(
h
>
0
?
this
.
clone
(
!
0
):
this
).
get
();
f
(
e
[
h
])[
b
](
j
),
d
=
d
.
concat
(
j
)}
return
this
.
pushStack
(
d
,
a
,
e
.
selector
)}}),
f
.
extend
({
clone
:
function
(
a
,
b
,
c
){
var
d
,
e
,
g
,
h
=
f
.
support
.
html5Clone
||
f
.
isXMLDoc
(
a
)
||!
bc
.
test
(
"<"
+
a
.
nodeName
+
">"
)?
a
.
cloneNode
(
!
0
):
bo
(
a
);
if
((
!
f
.
support
.
noCloneEvent
||!
f
.
support
.
noCloneChecked
)
&&
(
a
.
nodeType
===
1
||
a
.
nodeType
===
11
)
&&!
f
.
isXMLDoc
(
a
)){
bk
(
a
,
h
),
d
=
bl
(
a
),
e
=
bl
(
h
);
for
(
g
=
0
;
d
[
g
];
++
g
)
e
[
g
]
&&
bk
(
d
[
g
],
e
[
g
])}
if
(
b
){
bj
(
a
,
h
);
if
(
c
){
d
=
bl
(
a
),
e
=
bl
(
h
);
for
(
g
=
0
;
d
[
g
];
++
g
)
bj
(
d
[
g
],
e
[
g
])}}
d
=
e
=
null
;
return
h
},
clean
:
function
(
a
,
b
,
d
,
e
){
var
g
,
h
,
i
,
j
=
[];
b
=
b
||
c
,
typeof
b
.
createElement
==
"undefined"
&&
(
b
=
b
.
ownerDocument
||
b
[
0
]
&&
b
[
0
].
ownerDocument
||
c
);
for
(
var
k
=
0
,
l
;(
l
=
a
[
k
])
!=
null
;
k
++
){
typeof
l
==
"number"
&&
(
l
+=
""
);
if
(
!
l
)
continue
;
if
(
typeof
l
==
"string"
)
if
(
!
_
.
test
(
l
))
l
=
b
.
createTextNode
(
l
);
else
{
l
=
l
.
replace
(
Y
,
"<$1></$2>"
);
var
m
=
(
Z
.
exec
(
l
)
||
[
""
,
""
])[
1
].
toLowerCase
(),
n
=
bg
[
m
]
||
bg
.
_default
,
o
=
n
[
0
],
p
=
b
.
createElement
(
"div"
),
q
=
bh
.
childNodes
,
r
;
b
===
c
?
bh
.
appendChild
(
p
):
U
(
b
).
appendChild
(
p
),
p
.
innerHTML
=
n
[
1
]
+
l
+
n
[
2
];
while
(
o
--
)
p
=
p
.
lastChild
;
if
(
!
f
.
support
.
tbody
){
var
s
=
$
.
test
(
l
),
t
=
m
===
"table"
&&!
s
?
p
.
firstChild
&&
p
.
firstChild
.
childNodes
:
n
[
1
]
===
"<table>"
&&!
s
?
p
.
childNodes
:[];
for
(
i
=
t
.
length
-
1
;
i
>=
0
;
--
i
)
f
.
nodeName
(
t
[
i
],
"tbody"
)
&&!
t
[
i
].
childNodes
.
length
&&
t
[
i
].
parentNode
.
removeChild
(
t
[
i
])}
!
f
.
support
.
leadingWhitespace
&&
X
.
test
(
l
)
&&
p
.
insertBefore
(
b
.
createTextNode
(
X
.
exec
(
l
)[
0
]),
p
.
firstChild
),
l
=
p
.
childNodes
,
p
&&
(
p
.
parentNode
.
removeChild
(
p
),
q
.
length
>
0
&&
(
r
=
q
[
q
.
length
-
1
],
r
&&
r
.
parentNode
&&
r
.
parentNode
.
removeChild
(
r
)))}
var
u
;
if
(
!
f
.
support
.
appendChecked
)
if
(
l
[
0
]
&&
typeof
(
u
=
l
.
length
)
==
"number"
)
for
(
i
=
0
;
i
<
u
;
i
++
)
bn
(
l
[
i
]);
else
bn
(
l
);
l
.
nodeType
?
j
.
push
(
l
):
j
=
f
.
merge
(
j
,
l
)}
if
(
d
){
g
=
function
(
a
){
return
!
a
.
type
||
be
.
test
(
a
.
type
)};
for
(
k
=
0
;
j
[
k
];
k
++
){
h
=
j
[
k
];
if
(
e
&&
f
.
nodeName
(
h
,
"script"
)
&&
(
!
h
.
type
||
be
.
test
(
h
.
type
)))
e
.
push
(
h
.
parentNode
?
h
.
parentNode
.
removeChild
(
h
):
h
);
else
{
if
(
h
.
nodeType
===
1
){
var
v
=
f
.
grep
(
h
.
getElementsByTagName
(
"script"
),
g
);
j
.
splice
.
apply
(
j
,[
k
+
1
,
0
].
concat
(
v
))}
d
.
appendChild
(
h
)}}}
return
j
},
cleanData
:
function
(
a
){
var
b
,
c
,
d
=
f
.
cache
,
e
=
f
.
event
.
special
,
g
=
f
.
support
.
deleteExpando
;
for
(
var
h
=
0
,
i
;(
i
=
a
[
h
])
!=
null
;
h
++
){
if
(
i
.
nodeName
&&
f
.
noData
[
i
.
nodeName
.
toLowerCase
()])
continue
;
c
=
i
[
f
.
expando
];
if
(
c
){
b
=
d
[
c
];
if
(
b
&&
b
.
events
){
for
(
var
j
in
b
.
events
)
e
[
j
]?
f
.
event
.
remove
(
i
,
j
):
f
.
removeEvent
(
i
,
j
,
b
.
handle
);
b
.
handle
&&
(
b
.
handle
.
elem
=
null
)}
g
?
delete
i
[
f
.
expando
]:
i
.
removeAttribute
&&
i
.
removeAttribute
(
f
.
expando
),
delete
d
[
c
]}}}});
var
bp
=
/alpha
\([^
)
]
*
\)
/i
,
bq
=
/opacity=
([^
)
]
*
)
/
,
br
=
/
([
A-Z
]
|^ms
)
/g
,
bs
=
/^
[\-
+
]?(?:\d
*
\.)?\d
+$/i
,
bt
=
/^-
?(?:\d
*
\.)?\d
+
(?!
px
)[^\d\s]
+$/i
,
bu
=
/^
([\-
+
])
=
([\-
+.
\d
e
]
+
)
/
,
bv
=
/^margin/
,
bw
=
{
position
:
"absolute"
,
visibility
:
"hidden"
,
display
:
"block"
},
bx
=
[
"Top"
,
"Right"
,
"Bottom"
,
"Left"
],
by
,
bz
,
bA
;
f
.
fn
.
css
=
function
(
a
,
c
){
return
f
.
access
(
this
,
function
(
a
,
c
,
d
){
return
d
!==
b
?
f
.
style
(
a
,
c
,
d
):
f
.
css
(
a
,
c
)},
a
,
c
,
arguments
.
length
>
1
)},
f
.
extend
({
cssHooks
:{
opacity
:{
get
:
function
(
a
,
b
){
if
(
b
){
var
c
=
by
(
a
,
"opacity"
);
return
c
===
""
?
"1"
:
c
}
return
a
.
style
.
opacity
}}},
cssNumber
:{
fillOpacity
:
!
0
,
fontWeight
:
!
0
,
lineHeight
:
!
0
,
opacity
:
!
0
,
orphans
:
!
0
,
widows
:
!
0
,
zIndex
:
!
0
,
zoom
:
!
0
},
cssProps
:{
"float"
:
f
.
support
.
cssFloat
?
"cssFloat"
:
"styleFloat"
},
style
:
function
(
a
,
c
,
d
,
e
){
if
(
!!
a
&&
a
.
nodeType
!==
3
&&
a
.
nodeType
!==
8
&&!!
a
.
style
){
var
g
,
h
,
i
=
f
.
camelCase
(
c
),
j
=
a
.
style
,
k
=
f
.
cssHooks
[
i
];
c
=
f
.
cssProps
[
i
]
||
i
;
if
(
d
===
b
){
if
(
k
&&
"get"
in
k
&&
(
g
=
k
.
get
(
a
,
!
1
,
e
))
!==
b
)
return
g
;
return
j
[
c
]}
h
=
typeof
d
,
h
===
"string"
&&
(
g
=
bu
.
exec
(
d
))
&&
(
d
=+
(
g
[
1
]
+
1
)
*+
g
[
2
]
+
parseFloat
(
f
.
css
(
a
,
c
)),
h
=
"number"
);
if
(
d
==
null
||
h
===
"number"
&&
isNaN
(
d
))
return
;
h
===
"number"
&&!
f
.
cssNumber
[
i
]
&&
(
d
+=
"px"
);
if
(
!
k
||!
(
"set"
in
k
)
||
(
d
=
k
.
set
(
a
,
d
))
!==
b
)
try
{
j
[
c
]
=
d
}
catch
(
l
){}}},
css
:
function
(
a
,
c
,
d
){
var
e
,
g
;
c
=
f
.
camelCase
(
c
),
g
=
f
.
cssHooks
[
c
],
c
=
f
.
cssProps
[
c
]
||
c
,
c
===
"cssFloat"
&&
(
c
=
"float"
);
if
(
g
&&
"get"
in
g
&&
(
e
=
g
.
get
(
a
,
!
0
,
d
))
!==
b
)
return
e
;
if
(
by
)
return
by
(
a
,
c
)},
swap
:
function
(
a
,
b
,
c
){
var
d
=
{},
e
,
f
;
for
(
f
in
b
)
d
[
f
]
=
a
.
style
[
f
],
a
.
style
[
f
]
=
b
[
f
];
e
=
c
.
call
(
a
);
for
(
f
in
b
)
a
.
style
[
f
]
=
d
[
f
];
return
e
}}),
f
.
curCSS
=
f
.
css
,
c
.
defaultView
&&
c
.
defaultView
.
getComputedStyle
&&
(
bz
=
function
(
a
,
b
){
var
c
,
d
,
e
,
g
,
h
=
a
.
style
;
b
=
b
.
replace
(
br
,
"-$1"
).
toLowerCase
(),(
d
=
a
.
ownerDocument
.
defaultView
)
&&
(
e
=
d
.
getComputedStyle
(
a
,
null
))
&&
(
c
=
e
.
getPropertyValue
(
b
),
c
===
""
&&!
f
.
contains
(
a
.
ownerDocument
.
documentElement
,
a
)
&&
(
c
=
f
.
style
(
a
,
b
))),
!
f
.
support
.
pixelMargin
&&
e
&&
bv
.
test
(
b
)
&&
bt
.
test
(
c
)
&&
(
g
=
h
.
width
,
h
.
width
=
c
,
c
=
e
.
width
,
h
.
width
=
g
);
return
c
}),
c
.
documentElement
.
currentStyle
&&
(
bA
=
function
(
a
,
b
){
var
c
,
d
,
e
,
f
=
a
.
currentStyle
&&
a
.
currentStyle
[
b
],
g
=
a
.
style
;
f
==
null
&&
g
&&
(
e
=
g
[
b
])
&&
(
f
=
e
),
bt
.
test
(
f
)
&&
(
c
=
g
.
left
,
d
=
a
.
runtimeStyle
&&
a
.
runtimeStyle
.
left
,
d
&&
(
a
.
runtimeStyle
.
left
=
a
.
currentStyle
.
left
),
g
.
left
=
b
===
"fontSize"
?
"1em"
:
f
,
f
=
g
.
pixelLeft
+
"px"
,
g
.
left
=
c
,
d
&&
(
a
.
runtimeStyle
.
left
=
d
));
return
f
===
""
?
"auto"
:
f
}),
by
=
bz
||
bA
,
f
.
each
([
"height"
,
"width"
],
function
(
a
,
b
){
f
.
cssHooks
[
b
]
=
{
get
:
function
(
a
,
c
,
d
){
if
(
c
)
return
a
.
offsetWidth
!==
0
?
bB
(
a
,
b
,
d
):
f
.
swap
(
a
,
bw
,
function
(){
return
bB
(
a
,
b
,
d
)})},
set
:
function
(
a
,
b
){
return
bs
.
test
(
b
)?
b
+
"px"
:
b
}}}),
f
.
support
.
opacity
||
(
f
.
cssHooks
.
opacity
=
{
get
:
function
(
a
,
b
){
return
bq
.
test
((
b
&&
a
.
currentStyle
?
a
.
currentStyle
.
filter
:
a
.
style
.
filter
)
||
""
)?
parseFloat
(
RegExp
.
$1
)
/
100
+
""
:
b
?
"1"
:
""
},
set
:
function
(
a
,
b
){
var
c
=
a
.
style
,
d
=
a
.
currentStyle
,
e
=
f
.
isNumeric
(
b
)?
"alpha(opacity="
+
b
*
100
+
")"
:
""
,
g
=
d
&&
d
.
filter
||
c
.
filter
||
""
;
c
.
zoom
=
1
;
if
(
b
>=
1
&&
f
.
trim
(
g
.
replace
(
bp
,
""
))
===
""
){
c
.
removeAttribute
(
"filter"
);
if
(
d
&&!
d
.
filter
)
return
}
c
.
filter
=
bp
.
test
(
g
)?
g
.
replace
(
bp
,
e
):
g
+
" "
+
e
}}),
f
(
function
(){
f
.
support
.
reliableMarginRight
||
(
f
.
cssHooks
.
marginRight
=
{
get
:
function
(
a
,
b
){
return
f
.
swap
(
a
,{
display
:
"inline-block"
},
function
(){
return
b
?
by
(
a
,
"margin-right"
):
a
.
style
.
marginRight
})}})}),
f
.
expr
&&
f
.
expr
.
filters
&&
(
f
.
expr
.
filters
.
hidden
=
function
(
a
){
var
b
=
a
.
offsetWidth
,
c
=
a
.
offsetHeight
;
return
b
===
0
&&
c
===
0
||!
f
.
support
.
reliableHiddenOffsets
&&
(
a
.
style
&&
a
.
style
.
display
||
f
.
css
(
a
,
"display"
))
===
"none"
},
f
.
expr
.
filters
.
visible
=
function
(
a
){
return
!
f
.
expr
.
filters
.
hidden
(
a
)}),
f
.
each
({
margin
:
""
,
padding
:
""
,
border
:
"Width"
},
function
(
a
,
b
){
f
.
cssHooks
[
a
+
b
]
=
{
expand
:
function
(
c
){
var
d
,
e
=
typeof
c
==
"string"
?
c
.
split
(
" "
):[
c
],
f
=
{};
for
(
d
=
0
;
d
<
4
;
d
++
)
f
[
a
+
bx
[
d
]
+
b
]
=
e
[
d
]
||
e
[
d
-
2
]
||
e
[
0
];
return
f
}}});
var
bC
=
/%20/g
,
bD
=
/
\[\]
$/
,
bE
=
/
\r?\n
/g
,
bF
=
/#.*$/
,
bG
=
/^
(
.*
?)
:
[
\t]
*
([^\r\n]
*
)\r?
$/mg
,
bH
=
/^
(?:
color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week
)
$/i
,
bI
=
/^
(?:
about|app|app
\-
storage|.+
\-
extension|file|res|widget
)
:$/
,
bJ
=
/^
(?:
GET|HEAD
)
$/
,
bK
=
/^
\/\/
/
,
bL
=
/
\?
/
,
bM
=
/<script
\b[^
<
]
*
(?:(?!
<
\/
script>
)
<
[^
<
]
*
)
*<
\/
script>/gi
,
bN
=
/^
(?:
select|textarea
)
/i
,
bO
=
/
\s
+/
,
bP
=
/
([
?&
])
_=
[^
&
]
*/
,
bQ
=
/^
([\w\+\.\-]
+:
)(?:\/\/([^\/
?#:
]
*
)(?:
:
(\d
+
))?)?
/
,
bR
=
f
.
fn
.
load
,
bS
=
{},
bT
=
{},
bU
,
bV
,
bW
=
[
"*/"
]
+
[
"*"
];
try
{
bU
=
e
.
href
}
catch
(
bX
){
bU
=
c
.
createElement
(
"a"
),
bU
.
href
=
""
,
bU
=
bU
.
href
}
bV
=
bQ
.
exec
(
bU
.
toLowerCase
())
||
[],
f
.
fn
.
extend
({
load
:
function
(
a
,
c
,
d
){
if
(
typeof
a
!=
"string"
&&
bR
)
return
bR
.
apply
(
this
,
arguments
);
if
(
!
this
.
length
)
return
this
;
var
e
=
a
.
indexOf
(
" "
);
if
(
e
>=
0
){
var
g
=
a
.
slice
(
e
,
a
.
length
);
a
=
a
.
slice
(
0
,
e
)}
var
h
=
"GET"
;
c
&&
(
f
.
isFunction
(
c
)?(
d
=
c
,
c
=
b
):
typeof
c
==
"object"
&&
(
c
=
f
.
param
(
c
,
f
.
ajaxSettings
.
traditional
),
h
=
"POST"
));
var
i
=
this
;
f
.
ajax
({
url
:
a
,
type
:
h
,
dataType
:
"html"
,
data
:
c
,
complete
:
function
(
a
,
b
,
c
){
c
=
a
.
responseText
,
a
.
isResolved
()
&&
(
a
.
done
(
function
(
a
){
c
=
a
}),
i
.
html
(
g
?
f
(
"<div>"
).
append
(
c
.
replace
(
bM
,
""
)).
find
(
g
):
c
)),
d
&&
i
.
each
(
d
,[
c
,
b
,
a
])}});
return
this
},
serialize
:
function
(){
return
f
.
param
(
this
.
serializeArray
())},
serializeArray
:
function
(){
return
this
.
map
(
function
(){
return
this
.
elements
?
f
.
makeArray
(
this
.
elements
):
this
}).
filter
(
function
(){
return
this
.
name
&&!
this
.
disabled
&&
(
this
.
checked
||
bN
.
test
(
this
.
nodeName
)
||
bH
.
test
(
this
.
type
))}).
map
(
function
(
a
,
b
){
var
c
=
f
(
this
).
val
();
return
c
==
null
?
null
:
f
.
isArray
(
c
)?
f
.
map
(
c
,
function
(
a
,
c
){
return
{
name
:
b
.
name
,
value
:
a
.
replace
(
bE
,
"
\
r
\
n"
)}}):{
name
:
b
.
name
,
value
:
c
.
replace
(
bE
,
"
\
r
\
n"
)}}).
get
()}}),
f
.
each
(
"ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend"
.
split
(
" "
),
function
(
a
,
b
){
f
.
fn
[
b
]
=
function
(
a
){
return
this
.
on
(
b
,
a
)}}),
f
.
each
([
"get"
,
"post"
],
function
(
a
,
c
){
f
[
c
]
=
function
(
a
,
d
,
e
,
g
){
f
.
isFunction
(
d
)
&&
(
g
=
g
||
e
,
e
=
d
,
d
=
b
);
return
f
.
ajax
({
type
:
c
,
url
:
a
,
data
:
d
,
success
:
e
,
dataType
:
g
})}}),
f
.
extend
({
getScript
:
function
(
a
,
c
){
return
f
.
get
(
a
,
b
,
c
,
"script"
)},
getJSON
:
function
(
a
,
b
,
c
){
return
f
.
get
(
a
,
b
,
c
,
"json"
)},
ajaxSetup
:
function
(
a
,
b
){
b
?
b$
(
a
,
f
.
ajaxSettings
):(
b
=
a
,
a
=
f
.
ajaxSettings
),
b$
(
a
,
b
);
return
a
},
ajaxSettings
:{
url
:
bU
,
isLocal
:
bI
.
test
(
bV
[
1
]),
global
:
!
0
,
type
:
"GET"
,
contentType
:
"application/x-www-form-urlencoded; charset=UTF-8"
,
processData
:
!
0
,
async
:
!
0
,
accepts
:{
xml
:
"application/xml, text/xml"
,
html
:
"text/html"
,
text
:
"text/plain"
,
json
:
"application/json, text/javascript"
,
"*"
:
bW
},
contents
:{
xml
:
/xml/
,
html
:
/html/
,
json
:
/json/
},
responseFields
:{
xml
:
"responseXML"
,
text
:
"responseText"
},
converters
:{
"* text"
:
a
.
String
,
"text html"
:
!
0
,
"text json"
:
f
.
parseJSON
,
"text xml"
:
f
.
parseXML
},
flatOptions
:{
context
:
!
0
,
url
:
!
0
}},
ajaxPrefilter
:
bY
(
bS
),
ajaxTransport
:
bY
(
bT
),
ajax
:
function
(
a
,
c
){
function
w
(
a
,
c
,
l
,
m
){
if
(
s
!==
2
){
s
=
2
,
q
&&
clearTimeout
(
q
),
p
=
b
,
n
=
m
||
""
,
v
.
readyState
=
a
>
0
?
4
:
0
;
var
o
,
r
,
u
,
w
=
c
,
x
=
l
?
ca
(
d
,
v
,
l
):
b
,
y
,
z
;
if
(
a
>=
200
&&
a
<
300
||
a
===
304
){
if
(
d
.
ifModified
){
if
(
y
=
v
.
getResponseHeader
(
"Last-Modified"
))
f
.
lastModified
[
k
]
=
y
;
if
(
z
=
v
.
getResponseHeader
(
"Etag"
))
f
.
etag
[
k
]
=
z
}
if
(
a
===
304
)
w
=
"notmodified"
,
o
=!
0
;
else
try
{
r
=
cb
(
d
,
x
),
w
=
"success"
,
o
=!
0
}
catch
(
A
){
w
=
"parsererror"
,
u
=
A
}}
else
{
u
=
w
;
if
(
!
w
||
a
)
w
=
"error"
,
a
<
0
&&
(
a
=
0
)}
v
.
status
=
a
,
v
.
statusText
=
""
+
(
c
||
w
),
o
?
h
.
resolveWith
(
e
,[
r
,
w
,
v
]):
h
.
rejectWith
(
e
,[
v
,
w
,
u
]),
v
.
statusCode
(
j
),
j
=
b
,
t
&&
g
.
trigger
(
"ajax"
+
(
o
?
"Success"
:
"Error"
),[
v
,
d
,
o
?
r
:
u
]),
i
.
fireWith
(
e
,[
v
,
w
]),
t
&&
(
g
.
trigger
(
"ajaxComplete"
,[
v
,
d
]),
--
f
.
active
||
f
.
event
.
trigger
(
"ajaxStop"
))}}
typeof
a
==
"object"
&&
(
c
=
a
,
a
=
b
),
c
=
c
||
{};
var
d
=
f
.
ajaxSetup
({},
c
),
e
=
d
.
context
||
d
,
g
=
e
!==
d
&&
(
e
.
nodeType
||
e
instanceof
f
)?
f
(
e
):
f
.
event
,
h
=
f
.
Deferred
(),
i
=
f
.
Callbacks
(
"once memory"
),
j
=
d
.
statusCode
||
{},
k
,
l
=
{},
m
=
{},
n
,
o
,
p
,
q
,
r
,
s
=
0
,
t
,
u
,
v
=
{
readyState
:
0
,
setRequestHeader
:
function
(
a
,
b
){
if
(
!
s
){
var
c
=
a
.
toLowerCase
();
a
=
m
[
c
]
=
m
[
c
]
||
a
,
l
[
a
]
=
b
}
return
this
},
getAllResponseHeaders
:
function
(){
return
s
===
2
?
n
:
null
},
getResponseHeader
:
function
(
a
){
var
c
;
if
(
s
===
2
){
if
(
!
o
){
o
=
{};
while
(
c
=
bG
.
exec
(
n
))
o
[
c
[
1
].
toLowerCase
()]
=
c
[
2
]}
c
=
o
[
a
.
toLowerCase
()]}
return
c
===
b
?
null
:
c
},
overrideMimeType
:
function
(
a
){
s
||
(
d
.
mimeType
=
a
);
return
this
},
abort
:
function
(
a
){
a
=
a
||
"abort"
,
p
&&
p
.
abort
(
a
),
w
(
0
,
a
);
return
this
}};
h
.
promise
(
v
),
v
.
success
=
v
.
done
,
v
.
error
=
v
.
fail
,
v
.
complete
=
i
.
add
,
v
.
statusCode
=
function
(
a
){
if
(
a
){
var
b
;
if
(
s
<
2
)
for
(
b
in
a
)
j
[
b
]
=
[
j
[
b
],
a
[
b
]];
else
b
=
a
[
v
.
status
],
v
.
then
(
b
,
b
)}
return
this
},
d
.
url
=
((
a
||
d
.
url
)
+
""
).
replace
(
bF
,
""
).
replace
(
bK
,
bV
[
1
]
+
"//"
),
d
.
dataTypes
=
f
.
trim
(
d
.
dataType
||
"*"
).
toLowerCase
().
split
(
bO
),
d
.
crossDomain
==
null
&&
(
r
=
bQ
.
exec
(
d
.
url
.
toLowerCase
()),
d
.
crossDomain
=!
(
!
r
||
r
[
1
]
==
bV
[
1
]
&&
r
[
2
]
==
bV
[
2
]
&&
(
r
[
3
]
||
(
r
[
1
]
===
"http:"
?
80
:
443
))
==
(
bV
[
3
]
||
(
bV
[
1
]
===
"http:"
?
80
:
443
)))),
d
.
data
&&
d
.
processData
&&
typeof
d
.
data
!=
"string"
&&
(
d
.
data
=
f
.
param
(
d
.
data
,
d
.
traditional
)),
bZ
(
bS
,
d
,
c
,
v
);
if
(
s
===
2
)
return
!
1
;
t
=
d
.
global
,
d
.
type
=
d
.
type
.
toUpperCase
(),
d
.
hasContent
=!
bJ
.
test
(
d
.
type
),
t
&&
f
.
active
++===
0
&&
f
.
event
.
trigger
(
"ajaxStart"
);
if
(
!
d
.
hasContent
){
d
.
data
&&
(
d
.
url
+=
(
bL
.
test
(
d
.
url
)?
"&"
:
"?"
)
+
d
.
data
,
delete
d
.
data
),
k
=
d
.
url
;
if
(
d
.
cache
===!
1
){
var
x
=
f
.
now
(),
y
=
d
.
url
.
replace
(
bP
,
"$1_="
+
x
);
d
.
url
=
y
+
(
y
===
d
.
url
?(
bL
.
test
(
d
.
url
)?
"&"
:
"?"
)
+
"_="
+
x
:
""
)}}(
d
.
data
&&
d
.
hasContent
&&
d
.
contentType
!==!
1
||
c
.
contentType
)
&&
v
.
setRequestHeader
(
"Content-Type"
,
d
.
contentType
),
d
.
ifModified
&&
(
k
=
k
||
d
.
url
,
f
.
lastModified
[
k
]
&&
v
.
setRequestHeader
(
"If-Modified-Since"
,
f
.
lastModified
[
k
]),
f
.
etag
[
k
]
&&
v
.
setRequestHeader
(
"If-None-Match"
,
f
.
etag
[
k
])),
v
.
setRequestHeader
(
"Accept"
,
d
.
dataTypes
[
0
]
&&
d
.
accepts
[
d
.
dataTypes
[
0
]]?
d
.
accepts
[
d
.
dataTypes
[
0
]]
+
(
d
.
dataTypes
[
0
]
!==
"*"
?
", "
+
bW
+
"; q=0.01"
:
""
):
d
.
accepts
[
"*"
]);
for
(
u
in
d
.
headers
)
v
.
setRequestHeader
(
u
,
d
.
headers
[
u
]);
if
(
d
.
beforeSend
&&
(
d
.
beforeSend
.
call
(
e
,
v
,
d
)
===!
1
||
s
===
2
)){
v
.
abort
();
return
!
1
}
for
(
u
in
{
success
:
1
,
error
:
1
,
complete
:
1
})
v
[
u
](
d
[
u
]);
p
=
bZ
(
bT
,
d
,
c
,
v
);
if
(
!
p
)
w
(
-
1
,
"No Transport"
);
else
{
v
.
readyState
=
1
,
t
&&
g
.
trigger
(
"ajaxSend"
,[
v
,
d
]),
d
.
async
&&
d
.
timeout
>
0
&&
(
q
=
setTimeout
(
function
(){
v
.
abort
(
"timeout"
)},
d
.
timeout
));
try
{
s
=
1
,
p
.
send
(
l
,
w
)}
catch
(
z
){
if
(
s
<
2
)
w
(
-
1
,
z
);
else
throw
z
}}
return
v
},
param
:
function
(
a
,
c
){
var
d
=
[],
e
=
function
(
a
,
b
){
b
=
f
.
isFunction
(
b
)?
b
():
b
,
d
[
d
.
length
]
=
encodeURIComponent
(
a
)
+
"="
+
encodeURIComponent
(
b
)};
c
===
b
&&
(
c
=
f
.
ajaxSettings
.
traditional
);
if
(
f
.
isArray
(
a
)
||
a
.
jquery
&&!
f
.
isPlainObject
(
a
))
f
.
each
(
a
,
function
(){
e
(
this
.
name
,
this
.
value
)});
else
for
(
var
g
in
a
)
b_
(
g
,
a
[
g
],
c
,
e
);
return
d
.
join
(
"&"
).
replace
(
bC
,
"+"
)}}),
f
.
extend
({
active
:
0
,
lastModified
:{},
etag
:{}});
var
cc
=
f
.
now
(),
cd
=
/
(\=)\?(
&|$
)
|
\?\?
/i
;
f
.
ajaxSetup
({
jsonp
:
"callback"
,
jsonpCallback
:
function
(){
return
f
.
expando
+
"_"
+
cc
++
}}),
f
.
ajaxPrefilter
(
"json jsonp"
,
function
(
b
,
c
,
d
){
var
e
=
typeof
b
.
data
==
"string"
&&
/^application
\/
x
\-
www
\-
form
\-
urlencoded/
.
test
(
b
.
contentType
);
if
(
b
.
dataTypes
[
0
]
===
"jsonp"
||
b
.
jsonp
!==!
1
&&
(
cd
.
test
(
b
.
url
)
||
e
&&
cd
.
test
(
b
.
data
))){
var
g
,
h
=
b
.
jsonpCallback
=
f
.
isFunction
(
b
.
jsonpCallback
)?
b
.
jsonpCallback
():
b
.
jsonpCallback
,
i
=
a
[
h
],
j
=
b
.
url
,
k
=
b
.
data
,
l
=
"$1"
+
h
+
"$2"
;
b
.
jsonp
!==!
1
&&
(
j
=
j
.
replace
(
cd
,
l
),
b
.
url
===
j
&&
(
e
&&
(
k
=
k
.
replace
(
cd
,
l
)),
b
.
data
===
k
&&
(
j
+=
(
/
\?
/
.
test
(
j
)?
"&"
:
"?"
)
+
b
.
jsonp
+
"="
+
h
))),
b
.
url
=
j
,
b
.
data
=
k
,
a
[
h
]
=
function
(
a
){
g
=
[
a
]},
d
.
always
(
function
(){
a
[
h
]
=
i
,
g
&&
f
.
isFunction
(
i
)
&&
a
[
h
](
g
[
0
])}),
b
.
converters
[
"script json"
]
=
function
(){
g
||
f
.
error
(
h
+
" was not called"
);
return
g
[
0
]},
b
.
dataTypes
[
0
]
=
"json"
;
return
"script"
}}),
f
.
ajaxSetup
({
accepts
:{
script
:
"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"
},
contents
:{
script
:
/javascript|ecmascript/
},
converters
:{
"text script"
:
function
(
a
){
f
.
globalEval
(
a
);
return
a
}}}),
f
.
ajaxPrefilter
(
"script"
,
function
(
a
){
a
.
cache
===
b
&&
(
a
.
cache
=!
1
),
a
.
crossDomain
&&
(
a
.
type
=
"GET"
,
a
.
global
=!
1
)}),
f
.
ajaxTransport
(
"script"
,
function
(
a
){
if
(
a
.
crossDomain
){
var
d
,
e
=
c
.
head
||
c
.
getElementsByTagName
(
"head"
)[
0
]
||
c
.
documentElement
;
return
{
send
:
function
(
f
,
g
){
d
=
c
.
createElement
(
"script"
),
d
.
async
=
"async"
,
a
.
scriptCharset
&&
(
d
.
charset
=
a
.
scriptCharset
),
d
.
src
=
a
.
url
,
d
.
onload
=
d
.
onreadystatechange
=
function
(
a
,
c
){
if
(
c
||!
d
.
readyState
||
/loaded|complete/
.
test
(
d
.
readyState
))
d
.
onload
=
d
.
onreadystatechange
=
null
,
e
&&
d
.
parentNode
&&
e
.
removeChild
(
d
),
d
=
b
,
c
||
g
(
200
,
"success"
)},
e
.
insertBefore
(
d
,
e
.
firstChild
)},
abort
:
function
(){
d
&&
d
.
onload
(
0
,
1
)}}}});
var
ce
=
a
.
ActiveXObject
?
function
(){
for
(
var
a
in
cg
)
cg
[
a
](
0
,
1
)}:
!
1
,
cf
=
0
,
cg
;
f
.
ajaxSettings
.
xhr
=
a
.
ActiveXObject
?
function
(){
return
!
this
.
isLocal
&&
ch
()
||
ci
()}:
ch
,
function
(
a
){
f
.
extend
(
f
.
support
,{
ajax
:
!!
a
,
cors
:
!!
a
&&
"withCredentials"
in
a
})}(
f
.
ajaxSettings
.
xhr
()),
f
.
support
.
ajax
&&
f
.
ajaxTransport
(
function
(
c
){
if
(
!
c
.
crossDomain
||
f
.
support
.
cors
){
var
d
;
return
{
send
:
function
(
e
,
g
){
var
h
=
c
.
xhr
(),
i
,
j
;
c
.
username
?
h
.
open
(
c
.
type
,
c
.
url
,
c
.
async
,
c
.
username
,
c
.
password
):
h
.
open
(
c
.
type
,
c
.
url
,
c
.
async
);
if
(
c
.
xhrFields
)
for
(
j
in
c
.
xhrFields
)
h
[
j
]
=
c
.
xhrFields
[
j
];
c
.
mimeType
&&
h
.
overrideMimeType
&&
h
.
overrideMimeType
(
c
.
mimeType
),
!
c
.
crossDomain
&&!
e
[
"X-Requested-With"
]
&&
(
e
[
"X-Requested-With"
]
=
"XMLHttpRequest"
);
try
{
for
(
j
in
e
)
h
.
setRequestHeader
(
j
,
e
[
j
])}
catch
(
k
){}
h
.
send
(
c
.
hasContent
&&
c
.
data
||
null
),
d
=
function
(
a
,
e
){
var
j
,
k
,
l
,
m
,
n
;
try
{
if
(
d
&&
(
e
||
h
.
readyState
===
4
)){
d
=
b
,
i
&&
(
h
.
onreadystatechange
=
f
.
noop
,
ce
&&
delete
cg
[
i
]);
if
(
e
)
h
.
readyState
!==
4
&&
h
.
abort
();
else
{
j
=
h
.
status
,
l
=
h
.
getAllResponseHeaders
(),
m
=
{},
n
=
h
.
responseXML
,
n
&&
n
.
documentElement
&&
(
m
.
xml
=
n
);
try
{
m
.
text
=
h
.
responseText
}
catch
(
a
){}
try
{
k
=
h
.
statusText
}
catch
(
o
){
k
=
""
}
!
j
&&
c
.
isLocal
&&!
c
.
crossDomain
?
j
=
m
.
text
?
200
:
404
:
j
===
1223
&&
(
j
=
204
)}}}
catch
(
p
){
e
||
g
(
-
1
,
p
)}
m
&&
g
(
j
,
k
,
m
,
l
)},
!
c
.
async
||
h
.
readyState
===
4
?
d
():(
i
=++
cf
,
ce
&&
(
cg
||
(
cg
=
{},
f
(
a
).
unload
(
ce
)),
cg
[
i
]
=
d
),
h
.
onreadystatechange
=
d
)},
abort
:
function
(){
d
&&
d
(
0
,
1
)}}}});
var
cj
=
{},
ck
,
cl
,
cm
=
/^
(?:
toggle|show|hide
)
$/
,
cn
=
/^
([
+
\-]
=
)?([\d
+.
\-]
+
)([
a-z%
]
*
)
$/i
,
co
,
cp
=
[[
"height"
,
"marginTop"
,
"marginBottom"
,
"paddingTop"
,
"paddingBottom"
],[
"width"
,
"marginLeft"
,
"marginRight"
,
"paddingLeft"
,
"paddingRight"
],[
"opacity"
]],
cq
;
f
.
fn
.
extend
({
show
:
function
(
a
,
b
,
c
){
var
d
,
e
;
if
(
a
||
a
===
0
)
return
this
.
animate
(
ct
(
"show"
,
3
),
a
,
b
,
c
);
for
(
var
g
=
0
,
h
=
this
.
length
;
g
<
h
;
g
++
)
d
=
this
[
g
],
d
.
style
&&
(
e
=
d
.
style
.
display
,
!
f
.
_data
(
d
,
"olddisplay"
)
&&
e
===
"none"
&&
(
e
=
d
.
style
.
display
=
""
),(
e
===
""
&&
f
.
css
(
d
,
"display"
)
===
"none"
||!
f
.
contains
(
d
.
ownerDocument
.
documentElement
,
d
))
&&
f
.
_data
(
d
,
"olddisplay"
,
cu
(
d
.
nodeName
)));
for
(
g
=
0
;
g
<
h
;
g
++
){
d
=
this
[
g
];
if
(
d
.
style
){
e
=
d
.
style
.
display
;
if
(
e
===
""
||
e
===
"none"
)
d
.
style
.
display
=
f
.
_data
(
d
,
"olddisplay"
)
||
""
}}
return
this
},
hide
:
function
(
a
,
b
,
c
){
if
(
a
||
a
===
0
)
return
this
.
animate
(
ct
(
"hide"
,
3
),
a
,
b
,
c
);
var
d
,
e
,
g
=
0
,
h
=
this
.
length
;
for
(;
g
<
h
;
g
++
)
d
=
this
[
g
],
d
.
style
&&
(
e
=
f
.
css
(
d
,
"display"
),
e
!==
"none"
&&!
f
.
_data
(
d
,
"olddisplay"
)
&&
f
.
_data
(
d
,
"olddisplay"
,
e
));
for
(
g
=
0
;
g
<
h
;
g
++
)
this
[
g
].
style
&&
(
this
[
g
].
style
.
display
=
"none"
);
return
this
},
_toggle
:
f
.
fn
.
toggle
,
toggle
:
function
(
a
,
b
,
c
){
var
d
=
typeof
a
==
"boolean"
;
f
.
isFunction
(
a
)
&&
f
.
isFunction
(
b
)?
this
.
_toggle
.
apply
(
this
,
arguments
):
a
==
null
||
d
?
this
.
each
(
function
(){
var
b
=
d
?
a
:
f
(
this
).
is
(
":hidden"
);
f
(
this
)[
b
?
"show"
:
"hide"
]()}):
this
.
animate
(
ct
(
"toggle"
,
3
),
a
,
b
,
c
);
return
this
},
fadeTo
:
function
(
a
,
b
,
c
,
d
){
return
this
.
filter
(
":hidden"
).
css
(
"opacity"
,
0
).
show
().
end
().
animate
({
opacity
:
b
},
a
,
c
,
d
)},
animate
:
function
(
a
,
b
,
c
,
d
){
function
g
(){
e
.
queue
===!
1
&&
f
.
_mark
(
this
);
var
b
=
f
.
extend
({},
e
),
c
=
this
.
nodeType
===
1
,
d
=
c
&&
f
(
this
).
is
(
":hidden"
),
g
,
h
,
i
,
j
,
k
,
l
,
m
,
n
,
o
,
p
,
q
;
b
.
animatedProperties
=
{};
for
(
i
in
a
){
g
=
f
.
camelCase
(
i
),
i
!==
g
&&
(
a
[
g
]
=
a
[
i
],
delete
a
[
i
]);
if
((
k
=
f
.
cssHooks
[
g
])
&&
"expand"
in
k
){
l
=
k
.
expand
(
a
[
g
]),
delete
a
[
g
];
for
(
i
in
l
)
i
in
a
||
(
a
[
i
]
=
l
[
i
])}}
for
(
g
in
a
){
h
=
a
[
g
],
f
.
isArray
(
h
)?(
b
.
animatedProperties
[
g
]
=
h
[
1
],
h
=
a
[
g
]
=
h
[
0
]):
b
.
animatedProperties
[
g
]
=
b
.
specialEasing
&&
b
.
specialEasing
[
g
]
||
b
.
easing
||
"swing"
;
if
(
h
===
"hide"
&&
d
||
h
===
"show"
&&!
d
)
return
b
.
complete
.
call
(
this
);
c
&&
(
g
===
"height"
||
g
===
"width"
)
&&
(
b
.
overflow
=
[
this
.
style
.
overflow
,
this
.
style
.
overflowX
,
this
.
style
.
overflowY
],
f
.
css
(
this
,
"display"
)
===
"inline"
&&
f
.
css
(
this
,
"float"
)
===
"none"
&&
(
!
f
.
support
.
inlineBlockNeedsLayout
||
cu
(
this
.
nodeName
)
===
"inline"
?
this
.
style
.
display
=
"inline-block"
:
this
.
style
.
zoom
=
1
))}
b
.
overflow
!=
null
&&
(
this
.
style
.
overflow
=
"hidden"
);
for
(
i
in
a
)
j
=
new
f
.
fx
(
this
,
b
,
i
),
h
=
a
[
i
],
cm
.
test
(
h
)?(
q
=
f
.
_data
(
this
,
"toggle"
+
i
)
||
(
h
===
"toggle"
?
d
?
"show"
:
"hide"
:
0
),
q
?(
f
.
_data
(
this
,
"toggle"
+
i
,
q
===
"show"
?
"hide"
:
"show"
),
j
[
q
]()):
j
[
h
]()):(
m
=
cn
.
exec
(
h
),
n
=
j
.
cur
(),
m
?(
o
=
parseFloat
(
m
[
2
]),
p
=
m
[
3
]
||
(
f
.
cssNumber
[
i
]?
""
:
"px"
),
p
!==
"px"
&&
(
f
.
style
(
this
,
i
,(
o
||
1
)
+
p
),
n
=
(
o
||
1
)
/
j
.
cur
()
*
n
,
f
.
style
(
this
,
i
,
n
+
p
)),
m
[
1
]
&&
(
o
=
(
m
[
1
]
===
"-="
?
-
1
:
1
)
*
o
+
n
),
j
.
custom
(
n
,
o
,
p
)):
j
.
custom
(
n
,
h
,
""
));
return
!
0
}
var
e
=
f
.
speed
(
b
,
c
,
d
);
if
(
f
.
isEmptyObject
(
a
))
return
this
.
each
(
e
.
complete
,[
!
1
]);
a
=
f
.
extend
({},
a
);
return
e
.
queue
===!
1
?
this
.
each
(
g
):
this
.
queue
(
e
.
queue
,
g
)},
stop
:
function
(
a
,
c
,
d
){
typeof
a
!=
"string"
&&
(
d
=
c
,
c
=
a
,
a
=
b
),
c
&&
a
!==!
1
&&
this
.
queue
(
a
||
"fx"
,[]);
return
this
.
each
(
function
(){
function
h
(
a
,
b
,
c
){
var
e
=
b
[
c
];
f
.
removeData
(
a
,
c
,
!
0
),
e
.
stop
(
d
)}
var
b
,
c
=!
1
,
e
=
f
.
timers
,
g
=
f
.
_data
(
this
);
d
||
f
.
_unmark
(
!
0
,
this
);
if
(
a
==
null
)
for
(
b
in
g
)
g
[
b
]
&&
g
[
b
].
stop
&&
b
.
indexOf
(
".run"
)
===
b
.
length
-
4
&&
h
(
this
,
g
,
b
);
else
g
[
b
=
a
+
".run"
]
&&
g
[
b
].
stop
&&
h
(
this
,
g
,
b
);
for
(
b
=
e
.
length
;
b
--
;)
e
[
b
].
elem
===
this
&&
(
a
==
null
||
e
[
b
].
queue
===
a
)
&&
(
d
?
e
[
b
](
!
0
):
e
[
b
].
saveState
(),
c
=!
0
,
e
.
splice
(
b
,
1
));(
!
d
||!
c
)
&&
f
.
dequeue
(
this
,
a
)})}}),
f
.
each
({
slideDown
:
ct
(
"show"
,
1
),
slideUp
:
ct
(
"hide"
,
1
),
slideToggle
:
ct
(
"toggle"
,
1
),
fadeIn
:{
opacity
:
"show"
},
fadeOut
:{
opacity
:
"hide"
},
fadeToggle
:{
opacity
:
"toggle"
}},
function
(
a
,
b
){
f
.
fn
[
a
]
=
function
(
a
,
c
,
d
){
return
this
.
animate
(
b
,
a
,
c
,
d
)}}),
f
.
extend
({
speed
:
function
(
a
,
b
,
c
){
var
d
=
a
&&
typeof
a
==
"object"
?
f
.
extend
({},
a
):{
complete
:
c
||!
c
&&
b
||
f
.
isFunction
(
a
)
&&
a
,
duration
:
a
,
easing
:
c
&&
b
||
b
&&!
f
.
isFunction
(
b
)
&&
b
};
d
.
duration
=
f
.
fx
.
off
?
0
:
typeof
d
.
duration
==
"number"
?
d
.
duration
:
d
.
duration
in
f
.
fx
.
speeds
?
f
.
fx
.
speeds
[
d
.
duration
]:
f
.
fx
.
speeds
.
_default
;
if
(
d
.
queue
==
null
||
d
.
queue
===!
0
)
d
.
queue
=
"fx"
;
d
.
old
=
d
.
complete
,
d
.
complete
=
function
(
a
){
f
.
isFunction
(
d
.
old
)
&&
d
.
old
.
call
(
this
),
d
.
queue
?
f
.
dequeue
(
this
,
d
.
queue
):
a
!==!
1
&&
f
.
_unmark
(
this
)};
return
d
},
easing
:{
linear
:
function
(
a
){
return
a
},
swing
:
function
(
a
){
return
-
Math
.
cos
(
a
*
Math
.
PI
)
/
2
+
.
5
}},
timers
:[],
fx
:
function
(
a
,
b
,
c
){
this
.
options
=
b
,
this
.
elem
=
a
,
this
.
prop
=
c
,
b
.
orig
=
b
.
orig
||
{}}}),
f
.
fx
.
prototype
=
{
update
:
function
(){
this
.
options
.
step
&&
this
.
options
.
step
.
call
(
this
.
elem
,
this
.
now
,
this
),(
f
.
fx
.
step
[
this
.
prop
]
||
f
.
fx
.
step
.
_default
)(
this
)},
cur
:
function
(){
if
(
this
.
elem
[
this
.
prop
]
!=
null
&&
(
!
this
.
elem
.
style
||
this
.
elem
.
style
[
this
.
prop
]
==
null
))
return
this
.
elem
[
this
.
prop
];
var
a
,
b
=
f
.
css
(
this
.
elem
,
this
.
prop
);
return
isNaN
(
a
=
parseFloat
(
b
))?
!
b
||
b
===
"auto"
?
0
:
b
:
a
},
custom
:
function
(
a
,
c
,
d
){
function
h
(
a
){
return
e
.
step
(
a
)}
var
e
=
this
,
g
=
f
.
fx
;
this
.
startTime
=
cq
||
cr
(),
this
.
end
=
c
,
this
.
now
=
this
.
start
=
a
,
this
.
pos
=
this
.
state
=
0
,
this
.
unit
=
d
||
this
.
unit
||
(
f
.
cssNumber
[
this
.
prop
]?
""
:
"px"
),
h
.
queue
=
this
.
options
.
queue
,
h
.
elem
=
this
.
elem
,
h
.
saveState
=
function
(){
f
.
_data
(
e
.
elem
,
"fxshow"
+
e
.
prop
)
===
b
&&
(
e
.
options
.
hide
?
f
.
_data
(
e
.
elem
,
"fxshow"
+
e
.
prop
,
e
.
start
):
e
.
options
.
show
&&
f
.
_data
(
e
.
elem
,
"fxshow"
+
e
.
prop
,
e
.
end
))},
h
()
&&
f
.
timers
.
push
(
h
)
&&!
co
&&
(
co
=
setInterval
(
g
.
tick
,
g
.
interval
))},
show
:
function
(){
var
a
=
f
.
_data
(
this
.
elem
,
"fxshow"
+
this
.
prop
);
this
.
options
.
orig
[
this
.
prop
]
=
a
||
f
.
style
(
this
.
elem
,
this
.
prop
),
this
.
options
.
show
=!
0
,
a
!==
b
?
this
.
custom
(
this
.
cur
(),
a
):
this
.
custom
(
this
.
prop
===
"width"
||
this
.
prop
===
"height"
?
1
:
0
,
this
.
cur
()),
f
(
this
.
elem
).
show
()},
hide
:
function
(){
this
.
options
.
orig
[
this
.
prop
]
=
f
.
_data
(
this
.
elem
,
"fxshow"
+
this
.
prop
)
||
f
.
style
(
this
.
elem
,
this
.
prop
),
this
.
options
.
hide
=!
0
,
this
.
custom
(
this
.
cur
(),
0
)},
step
:
function
(
a
){
var
b
,
c
,
d
,
e
=
cq
||
cr
(),
g
=!
0
,
h
=
this
.
elem
,
i
=
this
.
options
;
if
(
a
||
e
>=
i
.
duration
+
this
.
startTime
){
this
.
now
=
this
.
end
,
this
.
pos
=
this
.
state
=
1
,
this
.
update
(),
i
.
animatedProperties
[
this
.
prop
]
=!
0
;
for
(
b
in
i
.
animatedProperties
)
i
.
animatedProperties
[
b
]
!==!
0
&&
(
g
=!
1
);
if
(
g
){
i
.
overflow
!=
null
&&!
f
.
support
.
shrinkWrapBlocks
&&
f
.
each
([
""
,
"X"
,
"Y"
],
function
(
a
,
b
){
h
.
style
[
"overflow"
+
b
]
=
i
.
overflow
[
a
]}),
i
.
hide
&&
f
(
h
).
hide
();
if
(
i
.
hide
||
i
.
show
)
for
(
b
in
i
.
animatedProperties
)
f
.
style
(
h
,
b
,
i
.
orig
[
b
]),
f
.
removeData
(
h
,
"fxshow"
+
b
,
!
0
),
f
.
removeData
(
h
,
"toggle"
+
b
,
!
0
);
d
=
i
.
complete
,
d
&&
(
i
.
complete
=!
1
,
d
.
call
(
h
))}
return
!
1
}
i
.
duration
==
Infinity
?
this
.
now
=
e
:(
c
=
e
-
this
.
startTime
,
this
.
state
=
c
/
i
.
duration
,
this
.
pos
=
f
.
easing
[
i
.
animatedProperties
[
this
.
prop
]](
this
.
state
,
c
,
0
,
1
,
i
.
duration
),
this
.
now
=
this
.
start
+
(
this
.
end
-
this
.
start
)
*
this
.
pos
),
this
.
update
();
return
!
0
}},
f
.
extend
(
f
.
fx
,{
tick
:
function
(){
var
a
,
b
=
f
.
timers
,
c
=
0
;
for
(;
c
<
b
.
length
;
c
++
)
a
=
b
[
c
],
!
a
()
&&
b
[
c
]
===
a
&&
b
.
splice
(
c
--
,
1
);
b
.
length
||
f
.
fx
.
stop
()},
interval
:
13
,
stop
:
function
(){
clearInterval
(
co
),
co
=
null
},
speeds
:{
slow
:
600
,
fast
:
200
,
_default
:
400
},
step
:{
opacity
:
function
(
a
){
f
.
style
(
a
.
elem
,
"opacity"
,
a
.
now
)},
_default
:
function
(
a
){
a
.
elem
.
style
&&
a
.
elem
.
style
[
a
.
prop
]
!=
null
?
a
.
elem
.
style
[
a
.
prop
]
=
a
.
now
+
a
.
unit
:
a
.
elem
[
a
.
prop
]
=
a
.
now
}}}),
f
.
each
(
cp
.
concat
.
apply
([],
cp
),
function
(
a
,
b
){
b
.
indexOf
(
"margin"
)
&&
(
f
.
fx
.
step
[
b
]
=
function
(
a
){
f
.
style
(
a
.
elem
,
b
,
Math
.
max
(
0
,
a
.
now
)
+
a
.
unit
)})}),
f
.
expr
&&
f
.
expr
.
filters
&&
(
f
.
expr
.
filters
.
animated
=
function
(
a
){
return
f
.
grep
(
f
.
timers
,
function
(
b
){
return
a
===
b
.
elem
}).
length
});
var
cv
,
cw
=
/^t
(?:
able|d|h
)
$/i
,
cx
=
/^
(?:
body|html
)
$/i
;
"getBoundingClientRect"
in
c
.
documentElement
?
cv
=
function
(
a
,
b
,
c
,
d
){
try
{
d
=
a
.
getBoundingClientRect
()}
catch
(
e
){}
if
(
!
d
||!
f
.
contains
(
c
,
a
))
return
d
?{
top
:
d
.
top
,
left
:
d
.
left
}:{
top
:
0
,
left
:
0
};
var
g
=
b
.
body
,
h
=
cy
(
b
),
i
=
c
.
clientTop
||
g
.
clientTop
||
0
,
j
=
c
.
clientLeft
||
g
.
clientLeft
||
0
,
k
=
h
.
pageYOffset
||
f
.
support
.
boxModel
&&
c
.
scrollTop
||
g
.
scrollTop
,
l
=
h
.
pageXOffset
||
f
.
support
.
boxModel
&&
c
.
scrollLeft
||
g
.
scrollLeft
,
m
=
d
.
top
+
k
-
i
,
n
=
d
.
left
+
l
-
j
;
return
{
top
:
m
,
left
:
n
}}:
cv
=
function
(
a
,
b
,
c
){
var
d
,
e
=
a
.
offsetParent
,
g
=
a
,
h
=
b
.
body
,
i
=
b
.
defaultView
,
j
=
i
?
i
.
getComputedStyle
(
a
,
null
):
a
.
currentStyle
,
k
=
a
.
offsetTop
,
l
=
a
.
offsetLeft
;
while
((
a
=
a
.
parentNode
)
&&
a
!==
h
&&
a
!==
c
){
if
(
f
.
support
.
fixedPosition
&&
j
.
position
===
"fixed"
)
break
;
d
=
i
?
i
.
getComputedStyle
(
a
,
null
):
a
.
currentStyle
,
k
-=
a
.
scrollTop
,
l
-=
a
.
scrollLeft
,
a
===
e
&&
(
k
+=
a
.
offsetTop
,
l
+=
a
.
offsetLeft
,
f
.
support
.
doesNotAddBorder
&&
(
!
f
.
support
.
doesAddBorderForTableAndCells
||!
cw
.
test
(
a
.
nodeName
))
&&
(
k
+=
parseFloat
(
d
.
borderTopWidth
)
||
0
,
l
+=
parseFloat
(
d
.
borderLeftWidth
)
||
0
),
g
=
e
,
e
=
a
.
offsetParent
),
f
.
support
.
subtractsBorderForOverflowNotVisible
&&
d
.
overflow
!==
"visible"
&&
(
k
+=
parseFloat
(
d
.
borderTopWidth
)
||
0
,
l
+=
parseFloat
(
d
.
borderLeftWidth
)
||
0
),
j
=
d
}
if
(
j
.
position
===
"relative"
||
j
.
position
===
"static"
)
k
+=
h
.
offsetTop
,
l
+=
h
.
offsetLeft
;
f
.
support
.
fixedPosition
&&
j
.
position
===
"fixed"
&&
(
k
+=
Math
.
max
(
c
.
scrollTop
,
h
.
scrollTop
),
l
+=
Math
.
max
(
c
.
scrollLeft
,
h
.
scrollLeft
));
return
{
top
:
k
,
left
:
l
}},
f
.
fn
.
offset
=
function
(
a
){
if
(
arguments
.
length
)
return
a
===
b
?
this
:
this
.
each
(
function
(
b
){
f
.
offset
.
setOffset
(
this
,
a
,
b
)});
var
c
=
this
[
0
],
d
=
c
&&
c
.
ownerDocument
;
if
(
!
d
)
return
null
;
if
(
c
===
d
.
body
)
return
f
.
offset
.
bodyOffset
(
c
);
return
cv
(
c
,
d
,
d
.
documentElement
)},
f
.
offset
=
{
bodyOffset
:
function
(
a
){
var
b
=
a
.
offsetTop
,
c
=
a
.
offsetLeft
;
f
.
support
.
doesNotIncludeMarginInBodyOffset
&&
(
b
+=
parseFloat
(
f
.
css
(
a
,
"marginTop"
))
||
0
,
c
+=
parseFloat
(
f
.
css
(
a
,
"marginLeft"
))
||
0
);
return
{
top
:
b
,
left
:
c
}},
setOffset
:
function
(
a
,
b
,
c
){
var
d
=
f
.
css
(
a
,
"position"
);
d
===
"static"
&&
(
a
.
style
.
position
=
"relative"
);
var
e
=
f
(
a
),
g
=
e
.
offset
(),
h
=
f
.
css
(
a
,
"top"
),
i
=
f
.
css
(
a
,
"left"
),
j
=
(
d
===
"absolute"
||
d
===
"fixed"
)
&&
f
.
inArray
(
"auto"
,[
h
,
i
])
>-
1
,
k
=
{},
l
=
{},
m
,
n
;
j
?(
l
=
e
.
position
(),
m
=
l
.
top
,
n
=
l
.
left
):(
m
=
parseFloat
(
h
)
||
0
,
n
=
parseFloat
(
i
)
||
0
),
f
.
isFunction
(
b
)
&&
(
b
=
b
.
call
(
a
,
c
,
g
)),
b
.
top
!=
null
&&
(
k
.
top
=
b
.
top
-
g
.
top
+
m
),
b
.
left
!=
null
&&
(
k
.
left
=
b
.
left
-
g
.
left
+
n
),
"using"
in
b
?
b
.
using
.
call
(
a
,
k
):
e
.
css
(
k
)}},
f
.
fn
.
extend
({
position
:
function
(){
if
(
!
this
[
0
])
return
null
;
var
a
=
this
[
0
],
b
=
this
.
offsetParent
(),
c
=
this
.
offset
(),
d
=
cx
.
test
(
b
[
0
].
nodeName
)?{
top
:
0
,
left
:
0
}:
b
.
offset
();
c
.
top
-=
parseFloat
(
f
.
css
(
a
,
"marginTop"
))
||
0
,
c
.
left
-=
parseFloat
(
f
.
css
(
a
,
"marginLeft"
))
||
0
,
d
.
top
+=
parseFloat
(
f
.
css
(
b
[
0
],
"borderTopWidth"
))
||
0
,
d
.
left
+=
parseFloat
(
f
.
css
(
b
[
0
],
"borderLeftWidth"
))
||
0
;
return
{
top
:
c
.
top
-
d
.
top
,
left
:
c
.
left
-
d
.
left
}},
offsetParent
:
function
(){
return
this
.
map
(
function
(){
var
a
=
this
.
offsetParent
||
c
.
body
;
while
(
a
&&!
cx
.
test
(
a
.
nodeName
)
&&
f
.
css
(
a
,
"position"
)
===
"static"
)
a
=
a
.
offsetParent
;
return
a
})}}),
f
.
each
({
scrollLeft
:
"pageXOffset"
,
scrollTop
:
"pageYOffset"
},
function
(
a
,
c
){
var
d
=
/Y/
.
test
(
c
);
f
.
fn
[
a
]
=
function
(
e
){
return
f
.
access
(
this
,
function
(
a
,
e
,
g
){
var
h
=
cy
(
a
);
if
(
g
===
b
)
return
h
?
c
in
h
?
h
[
c
]:
f
.
support
.
boxModel
&&
h
.
document
.
documentElement
[
e
]
||
h
.
document
.
body
[
e
]:
a
[
e
];
h
?
h
.
scrollTo
(
d
?
f
(
h
).
scrollLeft
():
g
,
d
?
g
:
f
(
h
).
scrollTop
()):
a
[
e
]
=
g
},
a
,
e
,
arguments
.
length
,
null
)}}),
f
.
each
({
Height
:
"height"
,
Width
:
"width"
},
function
(
a
,
c
){
var
d
=
"client"
+
a
,
e
=
"scroll"
+
a
,
g
=
"offset"
+
a
;
f
.
fn
[
"inner"
+
a
]
=
function
(){
var
a
=
this
[
0
];
return
a
?
a
.
style
?
parseFloat
(
f
.
css
(
a
,
c
,
"padding"
)):
this
[
c
]():
null
},
f
.
fn
[
"outer"
+
a
]
=
function
(
a
){
var
b
=
this
[
0
];
return
b
?
b
.
style
?
parseFloat
(
f
.
css
(
b
,
c
,
a
?
"margin"
:
"border"
)):
this
[
c
]():
null
},
f
.
fn
[
c
]
=
function
(
a
){
return
f
.
access
(
this
,
function
(
a
,
c
,
h
){
var
i
,
j
,
k
,
l
;
if
(
f
.
isWindow
(
a
)){
i
=
a
.
document
,
j
=
i
.
documentElement
[
d
];
return
f
.
support
.
boxModel
&&
j
||
i
.
body
&&
i
.
body
[
d
]
||
j
}
if
(
a
.
nodeType
===
9
){
i
=
a
.
documentElement
;
if
(
i
[
d
]
>=
i
[
e
])
return
i
[
d
];
return
Math
.
max
(
a
.
body
[
e
],
i
[
e
],
a
.
body
[
g
],
i
[
g
])}
if
(
h
===
b
){
k
=
f
.
css
(
a
,
c
),
l
=
parseFloat
(
k
);
return
f
.
isNumeric
(
l
)?
l
:
k
}
f
(
a
).
css
(
c
,
h
)},
c
,
a
,
arguments
.
length
,
null
)}}),
a
.
jQuery
=
a
.
$
=
f
,
typeof
define
==
"function"
&&
define
.
amd
&&
define
.
amd
.
jQuery
&&
define
(
"jquery"
,[],
function
(){
return
f
})})(
window
);
\ No newline at end of file
docs/template.html
View file @
7f681d72
...
@@ -101,7 +101,7 @@
...
@@ -101,7 +101,7 @@
<!-- Le javascript
<!-- Le javascript
================================================== -->
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
<!-- Placed at the end of the document so the pages load faster -->
<script
src=
"{{ base_url }}/js/jquery.js"
></script>
<script
src=
"{{ base_url }}/js/jquery
-1.8.1-min
.js"
></script>
<script
src=
"{{ base_url }}/js/bootstrap-dropdown.js"
></script>
<script
src=
"{{ base_url }}/js/bootstrap-dropdown.js"
></script>
<script
src=
"{{ base_url }}/js/bootstrap-scrollspy.js"
></script>
<script
src=
"{{ base_url }}/js/bootstrap-scrollspy.js"
></script>
<script
src=
"{{ base_url }}/js/bootstrap-collapse.js"
></script>
<script
src=
"{{ base_url }}/js/bootstrap-collapse.js"
></script>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment