Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
sora
/
achievement
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
39e7e271
authored
Mar 27, 2020
by
o.kimura
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
テーブルヘッダ固定調整中
parent
b1ad492d
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
97 additions
and
0 deletions
achievement-official.conohawing.com/assets/js/jquery.fixedTableHeader.js
achievement-official.conohawing.com/assets/js/jquery.fixedTableHeader.min.js
achievement-official.conohawing.com/common_previous/js/jquery.min.js
achievement-official.conohawing.com/assets/js/jquery.fixedTableHeader.js
0 → 100644
View file @
39e7e271
/*!
* jQuery FixedTableHeader plugin
*
* Copyright 2014 Hung Nguyen
*
* Date: Tue Nov 4 2014 07:00:00 GMT
*/
/*jslint browser: true, nomen: true, unparam: true, node: true*/
/*global $, jQuery*/
'use strict'
;
(
function
(
$
)
{
$
.
fn
.
fixedTableHeader
=
function
()
{
return
this
.
each
(
function
(
key
,
item
)
{
var
$self
=
$
(
this
),
$fixedHeader
,
$originalHeader
,
tableTopOffset
,
tableBottomOffset
,
headerHeight
,
originalWidth
=
[];
$self
.
find
(
'thead > tr > th'
).
each
(
function
(
key
,
item
)
{
originalWidth
.
push
(
$
(
item
).
outerWidth
());
});
function
init
()
{
var
ua
=
navigator
.
userAgent
;
if
(
ua
.
indexOf
(
'iPhone'
)
>
0
||
ua
.
indexOf
(
'Android'
)
>
0
&&
ua
.
indexOf
(
'Mobile'
)
>
0
)
{
$originalHeader
=
$self
.
find
(
'thead:first'
);
$fixedHeader
=
$originalHeader
.
clone
();
$fixedHeader
.
css
(
'position'
,
'fixed'
);
$fixedHeader
.
css
(
'display'
,
'none'
);
$fixedHeader
.
css
(
'height'
,
$self
.
find
(
'thead'
).
outerHeight
());
$fixedHeader
.
css
(
'width'
,
$self
.
find
(
'thead'
).
outerWidth
());
$fixedHeader
.
css
(
'top'
,
100
);
$fixedHeader
.
css
(
'left'
,
$self
.
find
(
'thead'
).
offset
().
left
);
$fixedHeader
.
css
(
'margin-top'
,
0
);
$fixedHeader
.
css
(
'z-index'
,
1
);
$originalHeader
.
after
(
$fixedHeader
);
}
else
{
$originalHeader
=
$self
.
find
(
'thead:first'
);
$fixedHeader
=
$originalHeader
.
clone
();
$fixedHeader
.
css
(
'position'
,
'fixed'
);
$fixedHeader
.
css
(
'display'
,
'none'
);
$fixedHeader
.
css
(
'height'
,
$self
.
find
(
'thead'
).
outerHeight
());
$fixedHeader
.
css
(
'width'
,
$self
.
find
(
'thead'
).
outerWidth
());
$fixedHeader
.
css
(
'top'
,
50
);
$fixedHeader
.
css
(
'left'
,
$self
.
find
(
'thead'
).
offset
().
left
);
$fixedHeader
.
css
(
'margin-top'
,
0
);
$fixedHeader
.
css
(
'z-index'
,
1
);
$originalHeader
.
after
(
$fixedHeader
);
}
}
function
left
()
{
return
parseInt
(
$self
.
offset
().
left
,
10
)
-
parseInt
(
$
(
window
).
scrollLeft
(),
10
);
}
function
onResize
()
{
$fixedHeader
.
css
(
'left'
,
left
());
$fixedHeader
.
css
(
'width'
,
$self
.
find
(
'thead'
).
outerWidth
());
$fixedHeader
.
find
(
"th"
).
each
(
function
(
index
)
{
originalWidth
[
index
]
=
$originalHeader
.
find
(
"th"
).
eq
(
index
).
outerWidth
();
$
(
this
).
css
(
"min-width"
,
$originalHeader
.
find
(
"th"
).
eq
(
index
).
outerWidth
());
$
(
this
).
css
(
"max-width"
,
$originalHeader
.
find
(
"th"
).
eq
(
index
).
outerWidth
());
});
}
function
onScroll
()
{
tableTopOffset
=
$self
.
offset
().
top
;
headerHeight
=
$fixedHeader
.
find
(
'tr'
).
height
();
tableBottomOffset
=
tableTopOffset
+
$self
.
height
()
-
headerHeight
;
$fixedHeader
.
find
(
'th'
).
each
(
function
(
key
,
item
)
{
$
(
item
).
css
(
'min-width'
,
parseInt
(
originalWidth
[
key
],
10
));
$
(
item
).
css
(
'max-width'
,
parseInt
(
originalWidth
[
key
],
10
));
});
$fixedHeader
.
css
(
'left'
,
left
());
if
(
$
(
window
).
scrollTop
()
>
tableTopOffset
&&
$
(
window
).
scrollTop
()
<
tableBottomOffset
)
{
$fixedHeader
.
show
();
}
else
{
$fixedHeader
.
hide
();
}
}
init
();
$
(
window
).
resize
(
onResize
);
$
(
window
).
scroll
(
onScroll
);
});
};
}(
jQuery
));
achievement-official.conohawing.com/assets/js/jquery.fixedTableHeader.min.js
0 → 100644
View file @
39e7e271
"use strict"
;
!
function
(
e
){
e
.
fn
.
fixedTableHeader
=
function
(){
return
this
.
each
(
function
(){
function
c
(){
var
e
=
navigator
.
userAgent
;
e
.
indexOf
(
"iPhone"
)
>
0
||
e
.
indexOf
(
"Android"
)
>
0
&&
e
.
indexOf
(
"Mobile"
)
>
0
?(
o
=
i
.
find
(
"thead:first"
),
r
=
o
.
clone
(),
r
.
css
(
"position"
,
"fixed"
),
r
.
css
(
"display"
,
"none"
),
r
.
css
(
"height"
,
i
.
find
(
"thead"
).
outerHeight
()),
r
.
css
(
"width"
,
i
.
find
(
"thead"
).
outerWidth
()),
r
.
css
(
"top"
,
100
),
r
.
css
(
"left"
,
i
.
find
(
"thead"
).
offset
().
left
),
r
.
css
(
"margin-top"
,
0
),
r
.
css
(
"z-index"
,
1
),
o
.
after
(
r
)):(
o
=
i
.
find
(
"thead:first"
),
r
=
o
.
clone
(),
r
.
css
(
"position"
,
"fixed"
),
r
.
css
(
"display"
,
"none"
),
r
.
css
(
"height"
,
i
.
find
(
"thead"
).
outerHeight
()),
r
.
css
(
"width"
,
i
.
find
(
"thead"
).
outerWidth
()),
r
.
css
(
"top"
,
50
),
r
.
css
(
"left"
,
i
.
find
(
"thead"
).
offset
().
left
),
r
.
css
(
"margin-top"
,
0
),
r
.
css
(
"z-index"
,
1
),
o
.
after
(
r
))}
function
f
(){
return
parseInt
(
i
.
offset
().
left
,
10
)
-
parseInt
(
e
(
window
).
scrollLeft
(),
10
)}
function
d
(){
r
.
css
(
"left"
,
f
()),
r
.
css
(
"width"
,
i
.
find
(
"thead"
).
outerWidth
()),
r
.
find
(
"th"
).
each
(
function
(
t
){
l
[
t
]
=
o
.
find
(
"th"
).
eq
(
t
).
outerWidth
(),
e
(
this
).
css
(
"min-width"
,
o
.
find
(
"th"
).
eq
(
t
).
outerWidth
()),
e
(
this
).
css
(
"max-width"
,
o
.
find
(
"th"
).
eq
(
t
).
outerWidth
())})}
function
p
(){
s
=
i
.
offset
().
top
,
u
=
r
.
find
(
"tr"
).
height
(),
a
=
s
+
i
.
height
()
-
u
,
r
.
find
(
"th"
).
each
(
function
(
t
,
n
){
e
(
n
).
css
(
"min-width"
,
parseInt
(
l
[
t
],
10
)),
e
(
n
).
css
(
"max-width"
,
parseInt
(
l
[
t
],
10
))}),
r
.
css
(
"left"
,
f
()),
e
(
window
).
scrollTop
()
>
s
&&
e
(
window
).
scrollTop
()
<
a
?
r
.
show
():
r
.
hide
()}
var
r
,
o
,
s
,
a
,
u
,
i
=
e
(
this
),
l
=
[];
i
.
find
(
"thead > tr > th"
).
each
(
function
(
t
,
n
){
l
.
push
(
e
(
n
).
outerWidth
())}),
c
(),
e
(
window
).
resize
(
d
),
e
(
window
).
scroll
(
p
)})}}(
jQuery
);
\ No newline at end of file
achievement-official.conohawing.com/common_previous/js/jquery.min.js
0 → 100644
View file @
39e7e271
!
function
(
e
,
t
){
"object"
==
typeof
module
&&
"object"
==
typeof
module
.
exports
?
module
.
exports
=
e
.
document
?
t
(
e
,
!
0
):
function
(
e
){
if
(
!
e
.
document
)
throw
new
Error
(
"jQuery requires a window with a document"
);
return
t
(
e
)}:
t
(
e
)}(
"undefined"
!=
typeof
window
?
window
:
this
,
function
(
e
,
t
){
function
y
(
e
){
var
t
=!!
e
&&
"length"
in
e
&&
e
.
length
,
n
=
d
.
type
(
e
);
return
"function"
===
n
||
d
.
isWindow
(
e
)?
!
1
:
"array"
===
n
||
0
===
t
||
"number"
==
typeof
t
&&
t
>
0
&&
t
-
1
in
e
}
function
S
(
e
,
t
,
n
){
if
(
d
.
isFunction
(
t
))
return
d
.
grep
(
e
,
function
(
e
,
r
){
return
!!
t
.
call
(
e
,
r
,
e
)
!==
n
});
if
(
t
.
nodeType
)
return
d
.
grep
(
e
,
function
(
e
){
return
e
===
t
!==
n
});
if
(
"string"
==
typeof
t
){
if
(
k
.
test
(
t
))
return
d
.
filter
(
t
,
e
,
n
);
t
=
d
.
filter
(
t
,
e
)}
return
d
.
grep
(
e
,
function
(
e
){
return
a
.
call
(
t
,
e
)
>-
1
!==
n
})}
function
A
(
e
,
t
){
for
(;(
e
=
e
[
t
])
&&
1
!==
e
.
nodeType
;);
return
e
}
function
L
(
e
){
var
t
=
{};
return
d
.
each
(
e
.
match
(
q
)
||
[],
function
(
e
,
n
){
t
[
n
]
=!
0
}),
t
}
function
O
(){
r
.
removeEventListener
(
"DOMContentLoaded"
,
O
),
e
.
removeEventListener
(
"load"
,
O
),
d
.
ready
()}
function
M
(){
this
.
expando
=
d
.
expando
+
M
.
uid
++
}
function
_
(
e
,
t
,
n
){
var
r
;
if
(
void
0
===
n
&&
1
===
e
.
nodeType
)
if
(
r
=
"data-"
+
t
.
replace
(
B
,
"-$&"
).
toLowerCase
(),
n
=
e
.
getAttribute
(
r
),
"string"
==
typeof
n
){
try
{
n
=
"true"
===
n
?
!
0
:
"false"
===
n
?
!
1
:
"null"
===
n
?
null
:
+
n
+
""
===
n
?
+
n
:
W
.
test
(
n
)?
d
.
parseJSON
(
n
):
n
}
catch
(
i
){}
I
.
set
(
e
,
t
,
n
)}
else
n
=
void
0
;
return
n
}
function
Y
(
e
,
t
,
n
,
r
){
var
i
,
o
=
1
,
s
=
20
,
a
=
r
?
function
(){
return
r
.
cur
()}:
function
(){
return
d
.
css
(
e
,
t
,
""
)},
u
=
a
(),
l
=
n
&&
n
[
3
]
||
(
d
.
cssNumber
[
t
]?
""
:
"px"
),
c
=
(
d
.
cssNumber
[
t
]
||
"px"
!==
l
&&+
u
)
&&
X
.
exec
(
d
.
css
(
e
,
t
));
if
(
c
&&
c
[
3
]
!==
l
){
l
=
l
||
c
[
3
],
n
=
n
||
[],
c
=+
u
||
1
;
do
o
=
o
||
".5"
,
c
/=
o
,
d
.
style
(
e
,
t
,
c
+
l
);
while
(
o
!==
(
o
=
a
()
/
u
)
&&
1
!==
o
&&--
s
)}
return
n
&&
(
c
=+
c
||+
u
||
0
,
i
=
n
[
1
]?
c
+
(
n
[
1
]
+
1
)
*
n
[
2
]:
+
n
[
2
],
r
&&
(
r
.
unit
=
l
,
r
.
start
=
c
,
r
.
end
=
i
)),
i
}
function
Z
(
e
,
t
){
var
n
=
"undefined"
!=
typeof
e
.
getElementsByTagName
?
e
.
getElementsByTagName
(
t
||
"*"
):
"undefined"
!=
typeof
e
.
querySelectorAll
?
e
.
querySelectorAll
(
t
||
"*"
):[];
return
void
0
===
t
||
t
&&
d
.
nodeName
(
e
,
t
)?
d
.
merge
([
e
],
n
):
n
}
function
et
(
e
,
t
){
for
(
var
n
=
0
,
r
=
e
.
length
;
r
>
n
;
n
++
)
R
.
set
(
e
[
n
],
"globalEval"
,
!
t
||
R
.
get
(
t
[
n
],
"globalEval"
))}
function
nt
(
e
,
t
,
n
,
r
,
i
){
for
(
var
o
,
s
,
a
,
u
,
l
,
c
,
f
=
t
.
createDocumentFragment
(),
p
=
[],
h
=
0
,
g
=
e
.
length
;
g
>
h
;
h
++
)
if
(
o
=
e
[
h
],
o
||
0
===
o
)
if
(
"object"
===
d
.
type
(
o
))
d
.
merge
(
p
,
o
.
nodeType
?[
o
]:
o
);
else
if
(
tt
.
test
(
o
)){
for
(
s
=
s
||
f
.
appendChild
(
t
.
createElement
(
"div"
)),
a
=
(
G
.
exec
(
o
)
||
[
""
,
""
])[
1
].
toLowerCase
(),
u
=
K
[
a
]
||
K
.
_default
,
s
.
innerHTML
=
u
[
1
]
+
d
.
htmlPrefilter
(
o
)
+
u
[
2
],
c
=
u
[
0
];
c
--
;)
s
=
s
.
lastChild
;
d
.
merge
(
p
,
s
.
childNodes
),
s
=
f
.
firstChild
,
s
.
textContent
=
""
}
else
p
.
push
(
t
.
createTextNode
(
o
));
for
(
f
.
textContent
=
""
,
h
=
0
;
o
=
p
[
h
++
];)
if
(
r
&&
d
.
inArray
(
o
,
r
)
>-
1
)
i
&&
i
.
push
(
o
);
else
if
(
l
=
d
.
contains
(
o
.
ownerDocument
,
o
),
s
=
Z
(
f
.
appendChild
(
o
),
"script"
),
l
&&
et
(
s
),
n
)
for
(
c
=
0
;
o
=
s
[
c
++
];)
J
.
test
(
o
.
type
||
""
)
&&
n
.
push
(
o
);
return
f
}
function
st
(){
return
!
0
}
function
at
(){
return
!
1
}
function
ut
(){
try
{
return
r
.
activeElement
}
catch
(
e
){}}
function
lt
(
e
,
t
,
n
,
r
,
i
,
o
){
var
s
,
a
;
if
(
"object"
==
typeof
t
){
"string"
!=
typeof
n
&&
(
r
=
r
||
n
,
n
=
void
0
);
for
(
a
in
t
)
lt
(
e
,
a
,
n
,
r
,
t
[
a
],
o
);
return
e
}
if
(
null
==
r
&&
null
==
i
?(
i
=
n
,
r
=
n
=
void
0
):
null
==
i
&&
(
"string"
==
typeof
n
?(
i
=
r
,
r
=
void
0
):(
i
=
r
,
r
=
n
,
n
=
void
0
)),
i
===!
1
)
i
=
at
;
else
if
(
!
i
)
return
e
;
return
1
===
o
&&
(
s
=
i
,
i
=
function
(
e
){
return
d
().
off
(
e
),
s
.
apply
(
this
,
arguments
)},
i
.
guid
=
s
.
guid
||
(
s
.
guid
=
d
.
guid
++
)),
e
.
each
(
function
(){
d
.
event
.
add
(
this
,
t
,
i
,
r
,
n
)})}
function
gt
(
e
,
t
){
return
d
.
nodeName
(
e
,
"table"
)
&&
d
.
nodeName
(
11
!==
t
.
nodeType
?
t
:
t
.
firstChild
,
"tr"
)?
e
.
getElementsByTagName
(
"tbody"
)[
0
]
||
e
.
appendChild
(
e
.
ownerDocument
.
createElement
(
"tbody"
)):
e
}
function
mt
(
e
){
return
e
.
type
=
(
null
!==
e
.
getAttribute
(
"type"
))
+
"/"
+
e
.
type
,
e
}
function
vt
(
e
){
var
t
=
dt
.
exec
(
e
.
type
);
return
t
?
e
.
type
=
t
[
1
]:
e
.
removeAttribute
(
"type"
),
e
}
function
yt
(
e
,
t
){
var
n
,
r
,
i
,
o
,
s
,
a
,
u
,
l
;
if
(
1
===
t
.
nodeType
){
if
(
R
.
hasData
(
e
)
&&
(
o
=
R
.
access
(
e
),
s
=
R
.
set
(
t
,
o
),
l
=
o
.
events
)){
delete
s
.
handle
,
s
.
events
=
{};
for
(
i
in
l
)
for
(
n
=
0
,
r
=
l
[
i
].
length
;
r
>
n
;
n
++
)
d
.
event
.
add
(
t
,
i
,
l
[
i
][
n
])}
I
.
hasData
(
e
)
&&
(
a
=
I
.
access
(
e
),
u
=
d
.
extend
({},
a
),
I
.
set
(
t
,
u
))}}
function
xt
(
e
,
t
){
var
n
=
t
.
nodeName
.
toLowerCase
();
"input"
===
n
&&
Q
.
test
(
e
.
type
)?
t
.
checked
=
e
.
checked
:
"input"
!==
n
&&
"textarea"
!==
n
||
(
t
.
defaultValue
=
e
.
defaultValue
)}
function
wt
(
e
,
t
,
n
,
r
){
t
=
o
.
apply
([],
t
);
var
i
,
s
,
a
,
u
,
l
,
c
,
p
=
0
,
h
=
e
.
length
,
g
=
h
-
1
,
m
=
t
[
0
],
v
=
d
.
isFunction
(
m
);
if
(
v
||
h
>
1
&&
"string"
==
typeof
m
&&!
f
.
checkClone
&&
pt
.
test
(
m
))
return
e
.
each
(
function
(
i
){
var
o
=
e
.
eq
(
i
);
v
&&
(
t
[
0
]
=
m
.
call
(
this
,
i
,
o
.
html
())),
wt
(
o
,
t
,
n
,
r
)});
if
(
h
&&
(
i
=
nt
(
t
,
e
[
0
].
ownerDocument
,
!
1
,
e
,
r
),
s
=
i
.
firstChild
,
1
===
i
.
childNodes
.
length
&&
(
i
=
s
),
s
||
r
)){
for
(
a
=
d
.
map
(
Z
(
i
,
"script"
),
mt
),
u
=
a
.
length
;
h
>
p
;
p
++
)
l
=
i
,
p
!==
g
&&
(
l
=
d
.
clone
(
l
,
!
0
,
!
0
),
u
&&
d
.
merge
(
a
,
Z
(
l
,
"script"
))),
n
.
call
(
e
[
p
],
l
,
p
);
if
(
u
)
for
(
c
=
a
[
a
.
length
-
1
].
ownerDocument
,
d
.
map
(
a
,
vt
),
p
=
0
;
u
>
p
;
p
++
)
l
=
a
[
p
],
J
.
test
(
l
.
type
||
""
)
&&!
R
.
access
(
l
,
"globalEval"
)
&&
d
.
contains
(
c
,
l
)
&&
(
l
.
src
?
d
.
_evalUrl
&&
d
.
_evalUrl
(
l
.
src
):
d
.
globalEval
(
l
.
textContent
.
replace
(
ht
,
""
)))}
return
e
}
function
bt
(
e
,
t
,
n
){
for
(
var
r
,
i
=
t
?
d
.
filter
(
t
,
e
):
e
,
o
=
0
;
null
!=
(
r
=
i
[
o
]);
o
++
)
n
||
1
!==
r
.
nodeType
||
d
.
cleanData
(
Z
(
r
)),
r
.
parentNode
&&
(
n
&&
d
.
contains
(
r
.
ownerDocument
,
r
)
&&
et
(
Z
(
r
,
"script"
)),
r
.
parentNode
.
removeChild
(
r
));
return
e
}
function
kt
(
e
,
t
){
var
n
=
d
(
t
.
createElement
(
e
)).
appendTo
(
t
.
body
),
r
=
d
.
css
(
n
[
0
],
"display"
);
return
n
.
detach
(),
r
}
function
St
(
e
){
var
t
=
r
,
n
=
Ct
[
e
];
return
n
||
(
n
=
kt
(
e
,
t
),
"none"
!==
n
&&
n
||
(
Tt
=
(
Tt
||
d
(
"<iframe frameborder='0' width='0' height='0'/>"
)).
appendTo
(
t
.
documentElement
),
t
=
Tt
[
0
].
contentDocument
,
t
.
write
(),
t
.
close
(),
n
=
kt
(
e
,
t
),
Tt
.
detach
()),
Ct
[
e
]
=
n
),
n
}
function
At
(
e
,
t
,
n
){
var
r
,
i
,
o
,
s
,
a
=
e
.
style
;
return
n
=
n
||
$t
(
e
),
s
=
n
?
n
.
getPropertyValue
(
t
)
||
n
[
t
]:
void
0
,
""
!==
s
&&
void
0
!==
s
||
d
.
contains
(
e
.
ownerDocument
,
e
)
||
(
s
=
d
.
style
(
e
,
t
)),
n
&&!
f
.
pixelMarginRight
()
&&
Nt
.
test
(
s
)
&&
Et
.
test
(
t
)
&&
(
r
=
a
.
width
,
i
=
a
.
minWidth
,
o
=
a
.
maxWidth
,
a
.
minWidth
=
a
.
maxWidth
=
a
.
width
=
s
,
s
=
n
.
width
,
a
.
width
=
r
,
a
.
minWidth
=
i
,
a
.
maxWidth
=
o
),
void
0
!==
s
?
s
+
""
:
s
}
function
qt
(
e
,
t
){
return
{
get
:
function
(){
return
e
()?
void
delete
this
.
get
:(
this
.
get
=
t
).
apply
(
this
,
arguments
)}}}
function
Mt
(
e
){
if
(
e
in
Pt
)
return
e
;
for
(
var
t
=
e
[
0
].
toUpperCase
()
+
e
.
slice
(
1
),
n
=
Ft
.
length
;
n
--
;)
if
(
e
=
Ft
[
n
]
+
t
,
e
in
Pt
)
return
e
}
function
Rt
(
e
,
t
,
n
){
var
r
=
X
.
exec
(
t
);
return
r
?
Math
.
max
(
0
,
r
[
2
]
-
(
n
||
0
))
+
(
r
[
3
]
||
"px"
):
t
}
function
It
(
e
,
t
,
n
,
r
,
i
){
for
(
var
o
=
n
===
(
r
?
"border"
:
"content"
)?
4
:
"width"
===
t
?
1
:
0
,
s
=
0
;
4
>
o
;
o
+=
2
)
"margin"
===
n
&&
(
s
+=
d
.
css
(
e
,
n
+
U
[
o
],
!
0
,
i
)),
r
?(
"content"
===
n
&&
(
s
-=
d
.
css
(
e
,
"padding"
+
U
[
o
],
!
0
,
i
)),
"margin"
!==
n
&&
(
s
-=
d
.
css
(
e
,
"border"
+
U
[
o
]
+
"Width"
,
!
0
,
i
))):(
s
+=
d
.
css
(
e
,
"padding"
+
U
[
o
],
!
0
,
i
),
"padding"
!==
n
&&
(
s
+=
d
.
css
(
e
,
"border"
+
U
[
o
]
+
"Width"
,
!
0
,
i
)));
return
s
}
function
Wt
(
e
,
t
,
n
){
var
r
=!
0
,
i
=
"width"
===
t
?
e
.
offsetWidth
:
e
.
offsetHeight
,
o
=
$t
(
e
),
s
=
"border-box"
===
d
.
css
(
e
,
"boxSizing"
,
!
1
,
o
);
if
(
0
>=
i
||
null
==
i
){
if
(
i
=
At
(
e
,
t
,
o
),(
0
>
i
||
null
==
i
)
&&
(
i
=
e
.
style
[
t
]),
Nt
.
test
(
i
))
return
i
;
r
=
s
&&
(
f
.
boxSizingReliable
()
||
i
===
e
.
style
[
t
]),
i
=
parseFloat
(
i
)
||
0
}
return
i
+
It
(
e
,
t
,
n
||
(
s
?
"border"
:
"content"
),
r
,
o
)
+
"px"
}
function
Bt
(
e
,
t
){
for
(
var
n
,
r
,
i
,
o
=
[],
s
=
0
,
a
=
e
.
length
;
a
>
s
;
s
++
)
r
=
e
[
s
],
r
.
style
&&
(
o
[
s
]
=
R
.
get
(
r
,
"olddisplay"
),
n
=
r
.
style
.
display
,
t
?(
o
[
s
]
||
"none"
!==
n
||
(
r
.
style
.
display
=
""
),
""
===
r
.
style
.
display
&&
V
(
r
)
&&
(
o
[
s
]
=
R
.
access
(
r
,
"olddisplay"
,
St
(
r
.
nodeName
)))):(
i
=
V
(
r
),
"none"
===
n
&&
i
||
R
.
set
(
r
,
"olddisplay"
,
i
?
n
:
d
.
css
(
r
,
"display"
))));
for
(
s
=
0
;
a
>
s
;
s
++
)
r
=
e
[
s
],
r
.
style
&&
(
t
&&
"none"
!==
r
.
style
.
display
&&
""
!==
r
.
style
.
display
||
(
r
.
style
.
display
=
t
?
o
[
s
]
||
""
:
"none"
));
return
e
}
function
_t
(
e
,
t
,
n
,
r
,
i
){
return
new
_t
.
prototype
.
init
(
e
,
t
,
n
,
r
,
i
)}
function
Yt
(){
return
e
.
setTimeout
(
function
(){
zt
=
void
0
}),
zt
=
d
.
now
()}
function
Qt
(
e
,
t
){
var
n
,
r
=
0
,
i
=
{
height
:
e
};
for
(
t
=
t
?
1
:
0
;
4
>
r
;
r
+=
2
-
t
)
n
=
U
[
r
],
i
[
"margin"
+
n
]
=
i
[
"padding"
+
n
]
=
e
;
return
t
&&
(
i
.
opacity
=
i
.
width
=
e
),
i
}
function
Gt
(
e
,
t
,
n
){
for
(
var
r
,
i
=
(
Zt
.
tweeners
[
t
]
||
[]).
concat
(
Zt
.
tweeners
[
"*"
]),
o
=
0
,
s
=
i
.
length
;
s
>
o
;
o
++
)
if
(
r
=
i
[
o
].
call
(
n
,
t
,
e
))
return
r
}
function
Jt
(
e
,
t
,
n
){
var
r
,
i
,
o
,
s
,
a
,
u
,
l
,
c
,
f
=
this
,
p
=
{},
h
=
e
.
style
,
g
=
e
.
nodeType
&&
V
(
e
),
m
=
R
.
get
(
e
,
"fxshow"
);
n
.
queue
||
(
a
=
d
.
_queueHooks
(
e
,
"fx"
),
null
==
a
.
unqueued
&&
(
a
.
unqueued
=
0
,
u
=
a
.
empty
.
fire
,
a
.
empty
.
fire
=
function
(){
a
.
unqueued
||
u
()}),
a
.
unqueued
++
,
f
.
always
(
function
(){
f
.
always
(
function
(){
a
.
unqueued
--
,
d
.
queue
(
e
,
"fx"
).
length
||
a
.
empty
.
fire
()})})),
1
===
e
.
nodeType
&&
(
"height"
in
t
||
"width"
in
t
)
&&
(
n
.
overflow
=
[
h
.
overflow
,
h
.
overflowX
,
h
.
overflowY
],
l
=
d
.
css
(
e
,
"display"
),
c
=
"none"
===
l
?
R
.
get
(
e
,
"olddisplay"
)
||
St
(
e
.
nodeName
):
l
,
"inline"
===
c
&&
"none"
===
d
.
css
(
e
,
"float"
)
&&
(
h
.
display
=
"inline-block"
)),
n
.
overflow
&&
(
h
.
overflow
=
"hidden"
,
f
.
always
(
function
(){
h
.
overflow
=
n
.
overflow
[
0
],
h
.
overflowX
=
n
.
overflow
[
1
],
h
.
overflowY
=
n
.
overflow
[
2
]}));
for
(
r
in
t
)
if
(
i
=
t
[
r
],
Ut
.
exec
(
i
)){
if
(
delete
t
[
r
],
o
=
o
||
"toggle"
===
i
,
i
===
(
g
?
"hide"
:
"show"
)){
if
(
"show"
!==
i
||!
m
||
void
0
===
m
[
r
])
continue
;
g
=!
0
}
p
[
r
]
=
m
&&
m
[
r
]
||
d
.
style
(
e
,
r
)}
else
l
=
void
0
;
if
(
d
.
isEmptyObject
(
p
))
"inline"
===
(
"none"
===
l
?
St
(
e
.
nodeName
):
l
)
&&
(
h
.
display
=
l
);
else
{
m
?
"hidden"
in
m
&&
(
g
=
m
.
hidden
):
m
=
R
.
access
(
e
,
"fxshow"
,{}),
o
&&
(
m
.
hidden
=!
g
),
g
?
d
(
e
).
show
():
f
.
done
(
function
(){
d
(
e
).
hide
()}),
f
.
done
(
function
(){
var
t
;
R
.
remove
(
e
,
"fxshow"
);
for
(
t
in
p
)
d
.
style
(
e
,
t
,
p
[
t
])});
for
(
r
in
p
)
s
=
Gt
(
g
?
m
[
r
]:
0
,
r
,
f
),
r
in
m
||
(
m
[
r
]
=
s
.
start
,
g
&&
(
s
.
end
=
s
.
start
,
s
.
start
=
"width"
===
r
||
"height"
===
r
?
1
:
0
))}}
function
Kt
(
e
,
t
){
var
n
,
r
,
i
,
o
,
s
;
for
(
n
in
e
)
if
(
r
=
d
.
camelCase
(
n
),
i
=
t
[
r
],
o
=
e
[
n
],
d
.
isArray
(
o
)
&&
(
i
=
o
[
1
],
o
=
e
[
n
]
=
o
[
0
]),
n
!==
r
&&
(
e
[
r
]
=
o
,
delete
e
[
n
]),
s
=
d
.
cssHooks
[
r
],
s
&&
"expand"
in
s
){
o
=
s
.
expand
(
o
),
delete
e
[
r
];
for
(
n
in
o
)
n
in
e
||
(
e
[
n
]
=
o
[
n
],
t
[
n
]
=
i
)}
else
t
[
r
]
=
i
}
function
Zt
(
e
,
t
,
n
){
var
r
,
i
,
o
=
0
,
s
=
Zt
.
prefilters
.
length
,
a
=
d
.
Deferred
().
always
(
function
(){
delete
u
.
elem
}),
u
=
function
(){
if
(
i
)
return
!
1
;
for
(
var
t
=
zt
||
Yt
(),
n
=
Math
.
max
(
0
,
l
.
startTime
+
l
.
duration
-
t
),
r
=
n
/
l
.
duration
||
0
,
o
=
1
-
r
,
s
=
0
,
u
=
l
.
tweens
.
length
;
u
>
s
;
s
++
)
l
.
tweens
[
s
].
run
(
o
);
return
a
.
notifyWith
(
e
,[
l
,
o
,
n
]),
1
>
o
&&
u
?
n
:(
a
.
resolveWith
(
e
,[
l
]),
!
1
)},
l
=
a
.
promise
({
elem
:
e
,
props
:
d
.
extend
({},
t
),
opts
:
d
.
extend
(
!
0
,{
specialEasing
:{},
easing
:
d
.
easing
.
_default
},
n
),
originalProperties
:
t
,
originalOptions
:
n
,
startTime
:
zt
||
Yt
(),
duration
:
n
.
duration
,
tweens
:[],
createTween
:
function
(
t
,
n
){
var
r
=
d
.
Tween
(
e
,
l
.
opts
,
t
,
n
,
l
.
opts
.
specialEasing
[
t
]
||
l
.
opts
.
easing
);
return
l
.
tweens
.
push
(
r
),
r
},
stop
:
function
(
t
){
var
n
=
0
,
r
=
t
?
l
.
tweens
.
length
:
0
;
if
(
i
)
return
this
;
for
(
i
=!
0
;
r
>
n
;
n
++
)
l
.
tweens
[
n
].
run
(
1
);
return
t
?(
a
.
notifyWith
(
e
,[
l
,
1
,
0
]),
a
.
resolveWith
(
e
,[
l
,
t
])):
a
.
rejectWith
(
e
,[
l
,
t
]),
this
}}),
c
=
l
.
props
;
for
(
Kt
(
c
,
l
.
opts
.
specialEasing
);
s
>
o
;
o
++
)
if
(
r
=
Zt
.
prefilters
[
o
].
call
(
l
,
e
,
c
,
l
.
opts
))
return
d
.
isFunction
(
r
.
stop
)
&&
(
d
.
_queueHooks
(
l
.
elem
,
l
.
opts
.
queue
).
stop
=
d
.
proxy
(
r
.
stop
,
r
)),
r
;
return
d
.
map
(
c
,
Gt
,
l
),
d
.
isFunction
(
l
.
opts
.
start
)
&&
l
.
opts
.
start
.
call
(
e
,
l
),
d
.
fx
.
timer
(
d
.
extend
(
u
,{
elem
:
e
,
anim
:
l
,
queue
:
l
.
opts
.
queue
})),
l
.
progress
(
l
.
opts
.
progress
).
done
(
l
.
opts
.
done
,
l
.
opts
.
complete
).
fail
(
l
.
opts
.
fail
).
always
(
l
.
opts
.
always
)}
function
sn
(
e
){
return
e
.
getAttribute
&&
e
.
getAttribute
(
"class"
)
||
""
}
function
Cn
(
e
){
return
function
(
t
,
n
){
"string"
!=
typeof
t
&&
(
n
=
t
,
t
=
"*"
);
var
r
,
i
=
0
,
o
=
t
.
toLowerCase
().
match
(
q
)
||
[];
if
(
d
.
isFunction
(
n
))
for
(;
r
=
o
[
i
++
];)
"+"
===
r
[
0
]?(
r
=
r
.
slice
(
1
)
||
"*"
,(
e
[
r
]
=
e
[
r
]
||
[]).
unshift
(
n
)):(
e
[
r
]
=
e
[
r
]
||
[]).
push
(
n
)}}
function
kn
(
e
,
t
,
n
,
r
){
function
s
(
a
){
var
u
;
return
i
[
a
]
=!
0
,
d
.
each
(
e
[
a
]
||
[],
function
(
e
,
a
){
var
l
=
a
(
t
,
n
,
r
);
return
"string"
!=
typeof
l
||
o
||
i
[
l
]?
o
?
!
(
u
=
l
):
void
0
:(
t
.
dataTypes
.
unshift
(
l
),
s
(
l
),
!
1
)}),
u
}
var
i
=
{},
o
=
e
===
wn
;
return
s
(
t
.
dataTypes
[
0
])
||!
i
[
"*"
]
&&
s
(
"*"
)}
function
Sn
(
e
,
t
){
var
n
,
r
,
i
=
d
.
ajaxSettings
.
flatOptions
||
{};
for
(
n
in
t
)
void
0
!==
t
[
n
]
&&
((
i
[
n
]?
e
:
r
||
(
r
=
{}))[
n
]
=
t
[
n
]);
return
r
&&
d
.
extend
(
!
0
,
e
,
r
),
e
}
function
En
(
e
,
t
,
n
){
for
(
var
r
,
i
,
o
,
s
,
a
=
e
.
contents
,
u
=
e
.
dataTypes
;
"*"
===
u
[
0
];)
u
.
shift
(),
void
0
===
r
&&
(
r
=
e
.
mimeType
||
t
.
getResponseHeader
(
"Content-Type"
));
if
(
r
)
for
(
i
in
a
)
if
(
a
[
i
]
&&
a
[
i
].
test
(
r
)){
u
.
unshift
(
i
);
break
}
if
(
u
[
0
]
in
n
)
o
=
u
[
0
];
else
{
for
(
i
in
n
){
if
(
!
u
[
0
]
||
e
.
converters
[
i
+
" "
+
u
[
0
]]){
o
=
i
;
break
}
s
||
(
s
=
i
)}
o
=
o
||
s
}
return
o
?(
o
!==
u
[
0
]
&&
u
.
unshift
(
o
),
n
[
o
]):
void
0
}
function
Nn
(
e
,
t
,
n
,
r
){
var
i
,
o
,
s
,
a
,
u
,
l
=
{},
c
=
e
.
dataTypes
.
slice
();
if
(
c
[
1
])
for
(
s
in
e
.
converters
)
l
[
s
.
toLowerCase
()]
=
e
.
converters
[
s
];
for
(
o
=
c
.
shift
();
o
;)
if
(
e
.
responseFields
[
o
]
&&
(
n
[
e
.
responseFields
[
o
]]
=
t
),
!
u
&&
r
&&
e
.
dataFilter
&&
(
t
=
e
.
dataFilter
(
t
,
e
.
dataType
)),
u
=
o
,
o
=
c
.
shift
())
if
(
"*"
===
o
)
o
=
u
;
else
if
(
"*"
!==
u
&&
u
!==
o
){
if
(
s
=
l
[
u
+
" "
+
o
]
||
l
[
"* "
+
o
],
!
s
)
for
(
i
in
l
)
if
(
a
=
i
.
split
(
" "
),
a
[
1
]
===
o
&&
(
s
=
l
[
u
+
" "
+
a
[
0
]]
||
l
[
"* "
+
a
[
0
]])){
s
===!
0
?
s
=
l
[
i
]:
l
[
i
]
!==!
0
&&
(
o
=
a
[
0
],
c
.
unshift
(
a
[
1
]));
break
}
if
(
s
!==!
0
)
if
(
s
&&
e
[
"throws"
])
t
=
s
(
t
);
else
try
{
t
=
s
(
t
)}
catch
(
f
){
return
{
state
:
"parsererror"
,
error
:
s
?
f
:
"No conversion from "
+
u
+
" to "
+
o
}}}
return
{
state
:
"success"
,
data
:
t
}}
function
Ln
(
e
,
t
,
n
,
r
){
var
i
;
if
(
d
.
isArray
(
t
))
d
.
each
(
t
,
function
(
t
,
i
){
n
||
Dn
.
test
(
e
)?
r
(
e
,
i
):
Ln
(
e
+
"["
+
(
"object"
==
typeof
i
&&
null
!=
i
?
t
:
""
)
+
"]"
,
i
,
n
,
r
)});
else
if
(
n
||
"object"
!==
d
.
type
(
t
))
r
(
e
,
t
);
else
for
(
i
in
t
)
Ln
(
e
+
"["
+
i
+
"]"
,
t
[
i
],
n
,
r
)}
function
Rn
(
e
){
return
d
.
isWindow
(
e
)?
e
:
9
===
e
.
nodeType
&&
e
.
defaultView
}
var
n
=
[],
r
=
e
.
document
,
i
=
n
.
slice
,
o
=
n
.
concat
,
s
=
n
.
push
,
a
=
n
.
indexOf
,
u
=
{},
l
=
u
.
toString
,
c
=
u
.
hasOwnProperty
,
f
=
{},
p
=
"2.2.4"
,
d
=
function
(
e
,
t
){
return
new
d
.
fn
.
init
(
e
,
t
)},
h
=
/^
[\s\u
FEFF
\x
A0
]
+|
[\s\u
FEFF
\x
A0
]
+$/g
,
g
=
/^-ms-/
,
m
=
/-
([\d
a-z
])
/gi
,
v
=
function
(
e
,
t
){
return
t
.
toUpperCase
()};
d
.
fn
=
d
.
prototype
=
{
jquery
:
p
,
constructor
:
d
,
selector
:
""
,
length
:
0
,
toArray
:
function
(){
return
i
.
call
(
this
)},
get
:
function
(
e
){
return
null
!=
e
?
0
>
e
?
this
[
e
+
this
.
length
]:
this
[
e
]:
i
.
call
(
this
)},
pushStack
:
function
(
e
){
var
t
=
d
.
merge
(
this
.
constructor
(),
e
);
return
t
.
prevObject
=
this
,
t
.
context
=
this
.
context
,
t
},
each
:
function
(
e
){
return
d
.
each
(
this
,
e
)},
map
:
function
(
e
){
return
this
.
pushStack
(
d
.
map
(
this
,
function
(
t
,
n
){
return
e
.
call
(
t
,
n
,
t
)}))},
slice
:
function
(){
return
this
.
pushStack
(
i
.
apply
(
this
,
arguments
))},
first
:
function
(){
return
this
.
eq
(
0
)},
last
:
function
(){
return
this
.
eq
(
-
1
)},
eq
:
function
(
e
){
var
t
=
this
.
length
,
n
=+
e
+
(
0
>
e
?
t
:
0
);
return
this
.
pushStack
(
n
>=
0
&&
t
>
n
?[
this
[
n
]]:[])},
end
:
function
(){
return
this
.
prevObject
||
this
.
constructor
()},
push
:
s
,
sort
:
n
.
sort
,
splice
:
n
.
splice
},
d
.
extend
=
d
.
fn
.
extend
=
function
(){
var
e
,
t
,
n
,
r
,
i
,
o
,
s
=
arguments
[
0
]
||
{},
a
=
1
,
u
=
arguments
.
length
,
l
=!
1
;
for
(
"boolean"
==
typeof
s
&&
(
l
=
s
,
s
=
arguments
[
a
]
||
{},
a
++
),
"object"
==
typeof
s
||
d
.
isFunction
(
s
)
||
(
s
=
{}),
a
===
u
&&
(
s
=
this
,
a
--
);
u
>
a
;
a
++
)
if
(
null
!=
(
e
=
arguments
[
a
]))
for
(
t
in
e
)
n
=
s
[
t
],
r
=
e
[
t
],
s
!==
r
&&
(
l
&&
r
&&
(
d
.
isPlainObject
(
r
)
||
(
i
=
d
.
isArray
(
r
)))?(
i
?(
i
=!
1
,
o
=
n
&&
d
.
isArray
(
n
)?
n
:[]):
o
=
n
&&
d
.
isPlainObject
(
n
)?
n
:{},
s
[
t
]
=
d
.
extend
(
l
,
o
,
r
)):
void
0
!==
r
&&
(
s
[
t
]
=
r
));
return
s
},
d
.
extend
({
expando
:
"jQuery"
+
(
p
+
Math
.
random
()).
replace
(
/
\D
/g
,
""
),
isReady
:
!
0
,
error
:
function
(
e
){
throw
new
Error
(
e
)},
noop
:
function
(){},
isFunction
:
function
(
e
){
return
"function"
===
d
.
type
(
e
)},
isArray
:
Array
.
isArray
,
isWindow
:
function
(
e
){
return
null
!=
e
&&
e
===
e
.
window
},
isNumeric
:
function
(
e
){
var
t
=
e
&&
e
.
toString
();
return
!
d
.
isArray
(
e
)
&&
t
-
parseFloat
(
t
)
+
1
>=
0
},
isPlainObject
:
function
(
e
){
var
t
;
if
(
"object"
!==
d
.
type
(
e
)
||
e
.
nodeType
||
d
.
isWindow
(
e
))
return
!
1
;
if
(
e
.
constructor
&&!
c
.
call
(
e
,
"constructor"
)
&&!
c
.
call
(
e
.
constructor
.
prototype
||
{},
"isPrototypeOf"
))
return
!
1
;
for
(
t
in
e
);
return
void
0
===
t
||
c
.
call
(
e
,
t
)},
isEmptyObject
:
function
(
e
){
var
t
;
for
(
t
in
e
)
return
!
1
;
return
!
0
},
type
:
function
(
e
){
return
null
==
e
?
e
+
""
:
"object"
==
typeof
e
||
"function"
==
typeof
e
?
u
[
l
.
call
(
e
)]
||
"object"
:
typeof
e
},
globalEval
:
function
(
e
){
var
t
,
n
=
eval
;
e
=
d
.
trim
(
e
),
e
&&
(
1
===
e
.
indexOf
(
"use strict"
)?(
t
=
r
.
createElement
(
"script"
),
t
.
text
=
e
,
r
.
head
.
appendChild
(
t
).
parentNode
.
removeChild
(
t
)):
n
(
e
))},
camelCase
:
function
(
e
){
return
e
.
replace
(
g
,
"ms-"
).
replace
(
m
,
v
)},
nodeName
:
function
(
e
,
t
){
return
e
.
nodeName
&&
e
.
nodeName
.
toLowerCase
()
===
t
.
toLowerCase
()},
each
:
function
(
e
,
t
){
var
n
,
r
=
0
;
if
(
y
(
e
))
for
(
n
=
e
.
length
;
n
>
r
&&
t
.
call
(
e
[
r
],
r
,
e
[
r
])
!==!
1
;
r
++
);
else
for
(
r
in
e
)
if
(
t
.
call
(
e
[
r
],
r
,
e
[
r
])
===!
1
)
break
;
return
e
},
trim
:
function
(
e
){
return
null
==
e
?
""
:(
e
+
""
).
replace
(
h
,
""
)},
makeArray
:
function
(
e
,
t
){
var
n
=
t
||
[];
return
null
!=
e
&&
(
y
(
Object
(
e
))?
d
.
merge
(
n
,
"string"
==
typeof
e
?[
e
]:
e
):
s
.
call
(
n
,
e
)),
n
},
inArray
:
function
(
e
,
t
,
n
){
return
null
==
t
?
-
1
:
a
.
call
(
t
,
e
,
n
)},
merge
:
function
(
e
,
t
){
for
(
var
n
=+
t
.
length
,
r
=
0
,
i
=
e
.
length
;
n
>
r
;
r
++
)
e
[
i
++
]
=
t
[
r
];
return
e
.
length
=
i
,
e
},
grep
:
function
(
e
,
t
,
n
){
for
(
var
r
,
i
=
[],
o
=
0
,
s
=
e
.
length
,
a
=!
n
;
s
>
o
;
o
++
)
r
=!
t
(
e
[
o
],
o
),
r
!==
a
&&
i
.
push
(
e
[
o
]);
return
i
},
map
:
function
(
e
,
t
,
n
){
var
r
,
i
,
s
=
0
,
a
=
[];
if
(
y
(
e
))
for
(
r
=
e
.
length
;
r
>
s
;
s
++
)
i
=
t
(
e
[
s
],
s
,
n
),
null
!=
i
&&
a
.
push
(
i
);
else
for
(
s
in
e
)
i
=
t
(
e
[
s
],
s
,
n
),
null
!=
i
&&
a
.
push
(
i
);
return
o
.
apply
([],
a
)},
guid
:
1
,
proxy
:
function
(
e
,
t
){
var
n
,
r
,
o
;
return
"string"
==
typeof
t
&&
(
n
=
e
[
t
],
t
=
e
,
e
=
n
),
d
.
isFunction
(
e
)?(
r
=
i
.
call
(
arguments
,
2
),
o
=
function
(){
return
e
.
apply
(
t
||
this
,
r
.
concat
(
i
.
call
(
arguments
)))},
o
.
guid
=
e
.
guid
=
e
.
guid
||
d
.
guid
++
,
o
):
void
0
},
now
:
Date
.
now
,
support
:
f
}),
"function"
==
typeof
Symbol
&&
(
d
.
fn
[
Symbol
.
iterator
]
=
n
[
Symbol
.
iterator
]),
d
.
each
(
"Boolean Number String Function Array Date RegExp Object Error Symbol"
.
split
(
" "
),
function
(
e
,
t
){
u
[
"[object "
+
t
+
"]"
]
=
t
.
toLowerCase
()});
var
x
=
function
(
e
){
function
ot
(
e
,
t
,
r
,
i
){
var
o
,
a
,
l
,
c
,
f
,
h
,
v
,
y
,
T
=
t
&&
t
.
ownerDocument
,
C
=
t
?
t
.
nodeType
:
9
;
if
(
r
=
r
||
[],
"string"
!=
typeof
e
||!
e
||
1
!==
C
&&
9
!==
C
&&
11
!==
C
)
return
r
;
if
(
!
i
&&
((
t
?
t
.
ownerDocument
||
t
:
b
)
!==
d
&&
p
(
t
),
t
=
t
||
d
,
g
)){
if
(
11
!==
C
&&
(
h
=
K
.
exec
(
e
)))
if
(
o
=
h
[
1
]){
if
(
9
===
C
){
if
(
!
(
l
=
t
.
getElementById
(
o
)))
return
r
;
if
(
l
.
id
===
o
)
return
r
.
push
(
l
),
r
}
else
if
(
T
&&
(
l
=
T
.
getElementById
(
o
))
&&
x
(
t
,
l
)
&&
l
.
id
===
o
)
return
r
.
push
(
l
),
r
}
else
{
if
(
h
[
2
])
return
L
.
apply
(
r
,
t
.
getElementsByTagName
(
e
)),
r
;
if
((
o
=
h
[
3
])
&&
n
.
getElementsByClassName
&&
t
.
getElementsByClassName
)
return
L
.
apply
(
r
,
t
.
getElementsByClassName
(
o
)),
r
}
if
(
!
(
!
n
.
qsa
||
E
[
e
+
" "
]
||
m
&&
m
.
test
(
e
))){
if
(
1
!==
C
)
T
=
t
,
y
=
e
;
else
if
(
"object"
!==
t
.
nodeName
.
toLowerCase
()){
for
((
c
=
t
.
getAttribute
(
"id"
))?
c
=
c
.
replace
(
et
,
"\\$&"
):
t
.
setAttribute
(
"id"
,
c
=
w
),
v
=
s
(
e
),
a
=
v
.
length
,
f
=
V
.
test
(
c
)?
"#"
+
c
:
"[id='"
+
c
+
"']"
;
a
--
;)
v
[
a
]
=
f
+
" "
+
mt
(
v
[
a
]);
y
=
v
.
join
(
","
),
T
=
Z
.
test
(
e
)
&&
ht
(
t
.
parentNode
)
||
t
}
if
(
y
)
try
{
return
L
.
apply
(
r
,
T
.
querySelectorAll
(
y
)),
r
}
catch
(
k
){}
finally
{
c
===
w
&&
t
.
removeAttribute
(
"id"
)}}}
return
u
(
e
.
replace
(
B
,
"$1"
),
t
,
r
,
i
)}
function
st
(){
function
t
(
n
,
i
){
return
e
.
push
(
n
+
" "
)
>
r
.
cacheLength
&&
delete
t
[
e
.
shift
()],
t
[
n
+
" "
]
=
i
}
var
e
=
[];
return
t
}
function
at
(
e
){
return
e
[
w
]
=!
0
,
e
}
function
ut
(
e
){
var
t
=
d
.
createElement
(
"div"
);
try
{
return
!!
e
(
t
)}
catch
(
n
){
return
!
1
}
finally
{
t
.
parentNode
&&
t
.
parentNode
.
removeChild
(
t
),
t
=
null
}}
function
lt
(
e
,
t
){
for
(
var
n
=
e
.
split
(
"|"
),
i
=
n
.
length
;
i
--
;)
r
.
attrHandle
[
n
[
i
]]
=
t
}
function
ct
(
e
,
t
){
var
n
=
t
&&
e
,
r
=
n
&&
1
===
e
.
nodeType
&&
1
===
t
.
nodeType
&&
(
~
t
.
sourceIndex
||
$
)
-
(
~
e
.
sourceIndex
||
$
);
if
(
r
)
return
r
;
if
(
n
)
for
(;
n
=
n
.
nextSibling
;)
if
(
n
===
t
)
return
-
1
;
return
e
?
1
:
-
1
}
function
ft
(
e
){
return
function
(
t
){
var
n
=
t
.
nodeName
.
toLowerCase
();
return
"input"
===
n
&&
t
.
type
===
e
}}
function
pt
(
e
){
return
function
(
t
){
var
n
=
t
.
nodeName
.
toLowerCase
();
return
(
"input"
===
n
||
"button"
===
n
)
&&
t
.
type
===
e
}}
function
dt
(
e
){
return
at
(
function
(
t
){
return
t
=+
t
,
at
(
function
(
n
,
r
){
for
(
var
i
,
o
=
e
([],
n
.
length
,
t
),
s
=
o
.
length
;
s
--
;)
n
[
i
=
o
[
s
]]
&&
(
n
[
i
]
=!
(
r
[
i
]
=
n
[
i
]))})})}
function
ht
(
e
){
return
e
&&
"undefined"
!=
typeof
e
.
getElementsByTagName
&&
e
}
function
gt
(){}
function
mt
(
e
){
for
(
var
t
=
0
,
n
=
e
.
length
,
r
=
""
;
n
>
t
;
t
++
)
r
+=
e
[
t
].
value
;
return
r
}
function
vt
(
e
,
t
,
n
){
var
r
=
t
.
dir
,
i
=
n
&&
"parentNode"
===
r
,
o
=
C
++
;
return
t
.
first
?
function
(
t
,
n
,
o
){
for
(;
t
=
t
[
r
];)
if
(
1
===
t
.
nodeType
||
i
)
return
e
(
t
,
n
,
o
)}:
function
(
t
,
n
,
s
){
var
a
,
u
,
l
,
c
=
[
T
,
o
];
if
(
s
){
for
(;
t
=
t
[
r
];)
if
((
1
===
t
.
nodeType
||
i
)
&&
e
(
t
,
n
,
s
))
return
!
0
}
else
for
(;
t
=
t
[
r
];)
if
(
1
===
t
.
nodeType
||
i
){
if
(
l
=
t
[
w
]
||
(
t
[
w
]
=
{}),
u
=
l
[
t
.
uniqueID
]
||
(
l
[
t
.
uniqueID
]
=
{}),(
a
=
u
[
r
])
&&
a
[
0
]
===
T
&&
a
[
1
]
===
o
)
return
c
[
2
]
=
a
[
2
];
if
(
u
[
r
]
=
c
,
c
[
2
]
=
e
(
t
,
n
,
s
))
return
!
0
}}}
function
yt
(
e
){
return
e
.
length
>
1
?
function
(
t
,
n
,
r
){
for
(
var
i
=
e
.
length
;
i
--
;)
if
(
!
e
[
i
](
t
,
n
,
r
))
return
!
1
;
return
!
0
}:
e
[
0
]}
function
xt
(
e
,
t
,
n
){
for
(
var
r
=
0
,
i
=
t
.
length
;
i
>
r
;
r
++
)
ot
(
e
,
t
[
r
],
n
);
return
n
}
function
wt
(
e
,
t
,
n
,
r
,
i
){
for
(
var
o
,
s
=
[],
a
=
0
,
u
=
e
.
length
,
l
=
null
!=
t
;
u
>
a
;
a
++
)(
o
=
e
[
a
])
&&
(
n
&&!
n
(
o
,
r
,
i
)
||
(
s
.
push
(
o
),
l
&&
t
.
push
(
a
)));
return
s
}
function
bt
(
e
,
t
,
n
,
r
,
i
,
o
){
return
r
&&!
r
[
w
]
&&
(
r
=
bt
(
r
)),
i
&&!
i
[
w
]
&&
(
i
=
bt
(
i
,
o
)),
at
(
function
(
o
,
s
,
a
,
u
){
var
l
,
c
,
f
,
p
=
[],
d
=
[],
h
=
s
.
length
,
g
=
o
||
xt
(
t
||
"*"
,
a
.
nodeType
?[
a
]:
a
,[]),
m
=!
e
||!
o
&&
t
?
g
:
wt
(
g
,
p
,
e
,
a
,
u
),
v
=
n
?
i
||
(
o
?
e
:
h
||
r
)?[]:
s
:
m
;
if
(
n
&&
n
(
m
,
v
,
a
,
u
),
r
)
for
(
l
=
wt
(
v
,
d
),
r
(
l
,[],
a
,
u
),
c
=
l
.
length
;
c
--
;)(
f
=
l
[
c
])
&&
(
v
[
d
[
c
]]
=!
(
m
[
d
[
c
]]
=
f
));
if
(
o
){
if
(
i
||
e
){
if
(
i
){
for
(
l
=
[],
c
=
v
.
length
;
c
--
;)(
f
=
v
[
c
])
&&
l
.
push
(
m
[
c
]
=
f
);
i
(
null
,
v
=
[],
l
,
u
)}
for
(
c
=
v
.
length
;
c
--
;)(
f
=
v
[
c
])
&&
(
l
=
i
?
O
(
o
,
f
):
p
[
c
])
>-
1
&&
(
o
[
l
]
=!
(
s
[
l
]
=
f
))}}
else
v
=
wt
(
v
===
s
?
v
.
splice
(
h
,
v
.
length
):
v
),
i
?
i
(
null
,
s
,
v
,
u
):
L
.
apply
(
s
,
v
)})}
function
Tt
(
e
){
for
(
var
t
,
n
,
i
,
o
=
e
.
length
,
s
=
r
.
relative
[
e
[
0
].
type
],
a
=
s
||
r
.
relative
[
" "
],
u
=
s
?
1
:
0
,
c
=
vt
(
function
(
e
){
return
e
===
t
},
a
,
!
0
),
f
=
vt
(
function
(
e
){
return
O
(
t
,
e
)
>-
1
},
a
,
!
0
),
p
=
[
function
(
e
,
n
,
r
){
var
i
=!
s
&&
(
r
||
n
!==
l
)
||
((
t
=
n
).
nodeType
?
c
(
e
,
n
,
r
):
f
(
e
,
n
,
r
));
return
t
=
null
,
i
}];
o
>
u
;
u
++
)
if
(
n
=
r
.
relative
[
e
[
u
].
type
])
p
=
[
vt
(
yt
(
p
),
n
)];
else
{
if
(
n
=
r
.
filter
[
e
[
u
].
type
].
apply
(
null
,
e
[
u
].
matches
),
n
[
w
]){
for
(
i
=++
u
;
o
>
i
&&!
r
.
relative
[
e
[
i
].
type
];
i
++
);
return
bt
(
u
>
1
&&
yt
(
p
),
u
>
1
&&
mt
(
e
.
slice
(
0
,
u
-
1
).
concat
({
value
:
" "
===
e
[
u
-
2
].
type
?
"*"
:
""
})).
replace
(
B
,
"$1"
),
n
,
i
>
u
&&
Tt
(
e
.
slice
(
u
,
i
)),
o
>
i
&&
Tt
(
e
=
e
.
slice
(
i
)),
o
>
i
&&
mt
(
e
))}
p
.
push
(
n
)}
return
yt
(
p
)}
function
Ct
(
e
,
t
){
var
n
=
t
.
length
>
0
,
i
=
e
.
length
>
0
,
o
=
function
(
o
,
s
,
a
,
u
,
c
){
var
f
,
h
,
m
,
v
=
0
,
y
=
"0"
,
x
=
o
&&
[],
w
=
[],
b
=
l
,
C
=
o
||
i
&&
r
.
find
.
TAG
(
"*"
,
c
),
k
=
T
+=
null
==
b
?
1
:
Math
.
random
()
||
.
1
,
S
=
C
.
length
;
for
(
c
&&
(
l
=
s
===
d
||
s
||
c
);
y
!==
S
&&
null
!=
(
f
=
C
[
y
]);
y
++
){
if
(
i
&&
f
){
for
(
h
=
0
,
s
||
f
.
ownerDocument
===
d
||
(
p
(
f
),
a
=!
g
);
m
=
e
[
h
++
];)
if
(
m
(
f
,
s
||
d
,
a
)){
u
.
push
(
f
);
break
}
c
&&
(
T
=
k
)}
n
&&
((
f
=!
m
&&
f
)
&&
v
--
,
o
&&
x
.
push
(
f
))}
if
(
v
+=
y
,
n
&&
y
!==
v
){
for
(
h
=
0
;
m
=
t
[
h
++
];)
m
(
x
,
w
,
s
,
a
);
if
(
o
){
if
(
v
>
0
)
for
(;
y
--
;)
x
[
y
]
||
w
[
y
]
||
(
w
[
y
]
=
A
.
call
(
u
));
w
=
wt
(
w
)}
L
.
apply
(
u
,
w
),
c
&&!
o
&&
w
.
length
>
0
&&
v
+
t
.
length
>
1
&&
ot
.
uniqueSort
(
u
)}
return
c
&&
(
T
=
k
,
l
=
b
),
x
};
return
n
?
at
(
o
):
o
}
var
t
,
n
,
r
,
i
,
o
,
s
,
a
,
u
,
l
,
c
,
f
,
p
,
d
,
h
,
g
,
m
,
v
,
y
,
x
,
w
=
"sizzle"
+
1
*
new
Date
,
b
=
e
.
document
,
T
=
0
,
C
=
0
,
k
=
st
(),
S
=
st
(),
E
=
st
(),
N
=
function
(
e
,
t
){
return
e
===
t
&&
(
f
=!
0
),
0
},
$
=
1
<<
31
,
D
=
{}.
hasOwnProperty
,
j
=
[],
A
=
j
.
pop
,
q
=
j
.
push
,
L
=
j
.
push
,
H
=
j
.
slice
,
O
=
function
(
e
,
t
){
for
(
var
n
=
0
,
r
=
e
.
length
;
r
>
n
;
n
++
)
if
(
e
[
n
]
===
t
)
return
n
;
return
-
1
},
F
=
"checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped"
,
P
=
"[\\x20\\t\\r\\n\\f]"
,
M
=
"(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+"
,
R
=
"\\["
+
P
+
"*("
+
M
+
")(?:"
+
P
+
"*([*^$|!~]?=)"
+
P
+
"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("
+
M
+
"))|)"
+
P
+
"*\\]"
,
I
=
":("
+
M
+
")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"
+
R
+
")*)|.*)\\)|)"
,
W
=
new
RegExp
(
P
+
"+"
,
"g"
),
B
=
new
RegExp
(
"^"
+
P
+
"+|((?:^|[^\\\\])(?:\\\\.)*)"
+
P
+
"+$"
,
"g"
),
_
=
new
RegExp
(
"^"
+
P
+
"*,"
+
P
+
"*"
),
z
=
new
RegExp
(
"^"
+
P
+
"*([>+~]|"
+
P
+
")"
+
P
+
"*"
),
X
=
new
RegExp
(
"="
+
P
+
"*([^\\]'\"]*?)"
+
P
+
"*\\]"
,
"g"
),
U
=
new
RegExp
(
I
),
V
=
new
RegExp
(
"^"
+
M
+
"$"
),
Y
=
{
ID
:
new
RegExp
(
"^#("
+
M
+
")"
),
CLASS
:
new
RegExp
(
"^\\.("
+
M
+
")"
),
TAG
:
new
RegExp
(
"^("
+
M
+
"|[*])"
),
ATTR
:
new
RegExp
(
"^"
+
R
),
PSEUDO
:
new
RegExp
(
"^"
+
I
),
CHILD
:
new
RegExp
(
"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("
+
P
+
"*(even|odd|(([+-]|)(\\d*)n|)"
+
P
+
"*(?:([+-]|)"
+
P
+
"*(\\d+)|))"
+
P
+
"*\\)|)"
,
"i"
),
bool
:
new
RegExp
(
"^(?:"
+
F
+
")$"
,
"i"
),
needsContext
:
new
RegExp
(
"^"
+
P
+
"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("
+
P
+
"*((?:-\\d)?\\d*)"
+
P
+
"*\\)|)(?=[^-]|$)"
,
"i"
)},
Q
=
/^
(?:
input|select|textarea|button
)
$/i
,
G
=
/^h
\d
$/i
,
J
=
/^
[^
{
]
+
\{\s
*
\[
native
\w
/
,
K
=
/^
(?:
#
([\w
-
]
+
)
|
(\w
+
)
|
\.([\w
-
]
+
))
$/
,
Z
=
/
[
+~
]
/
,
et
=
/'|
\\
/g
,
tt
=
new
RegExp
(
"\\\\([\\da-f]{1,6}"
+
P
+
"?|("
+
P
+
")|.)"
,
"ig"
),
nt
=
function
(
e
,
t
,
n
){
var
r
=
"0x"
+
t
-
65536
;
return
r
!==
r
||
n
?
t
:
0
>
r
?
String
.
fromCharCode
(
r
+
65536
):
String
.
fromCharCode
(
r
>>
10
|
55296
,
1023
&
r
|
56320
)},
rt
=
function
(){
p
()};
try
{
L
.
apply
(
j
=
H
.
call
(
b
.
childNodes
),
b
.
childNodes
),
j
[
b
.
childNodes
.
length
].
nodeType
}
catch
(
it
){
L
=
{
apply
:
j
.
length
?
function
(
e
,
t
){
q
.
apply
(
e
,
H
.
call
(
t
))}:
function
(
e
,
t
){
for
(
var
n
=
e
.
length
,
r
=
0
;
e
[
n
++
]
=
t
[
r
++
];);
e
.
length
=
n
-
1
}}}
n
=
ot
.
support
=
{},
o
=
ot
.
isXML
=
function
(
e
){
var
t
=
e
&&
(
e
.
ownerDocument
||
e
).
documentElement
;
return
t
?
"HTML"
!==
t
.
nodeName
:
!
1
},
p
=
ot
.
setDocument
=
function
(
e
){
var
t
,
i
,
s
=
e
?
e
.
ownerDocument
||
e
:
b
;
return
s
!==
d
&&
9
===
s
.
nodeType
&&
s
.
documentElement
?(
d
=
s
,
h
=
d
.
documentElement
,
g
=!
o
(
d
),(
i
=
d
.
defaultView
)
&&
i
.
top
!==
i
&&
(
i
.
addEventListener
?
i
.
addEventListener
(
"unload"
,
rt
,
!
1
):
i
.
attachEvent
&&
i
.
attachEvent
(
"onunload"
,
rt
)),
n
.
attributes
=
ut
(
function
(
e
){
return
e
.
className
=
"i"
,
!
e
.
getAttribute
(
"className"
)}),
n
.
getElementsByTagName
=
ut
(
function
(
e
){
return
e
.
appendChild
(
d
.
createComment
(
""
)),
!
e
.
getElementsByTagName
(
"*"
).
length
}),
n
.
getElementsByClassName
=
J
.
test
(
d
.
getElementsByClassName
),
n
.
getById
=
ut
(
function
(
e
){
return
h
.
appendChild
(
e
).
id
=
w
,
!
d
.
getElementsByName
||!
d
.
getElementsByName
(
w
).
length
}),
n
.
getById
?(
r
.
find
.
ID
=
function
(
e
,
t
){
if
(
"undefined"
!=
typeof
t
.
getElementById
&&
g
){
var
n
=
t
.
getElementById
(
e
);
return
n
?[
n
]:[]}},
r
.
filter
.
ID
=
function
(
e
){
var
t
=
e
.
replace
(
tt
,
nt
);
return
function
(
e
){
return
e
.
getAttribute
(
"id"
)
===
t
}}):(
delete
r
.
find
.
ID
,
r
.
filter
.
ID
=
function
(
e
){
var
t
=
e
.
replace
(
tt
,
nt
);
return
function
(
e
){
var
n
=
"undefined"
!=
typeof
e
.
getAttributeNode
&&
e
.
getAttributeNode
(
"id"
);
return
n
&&
n
.
value
===
t
}}),
r
.
find
.
TAG
=
n
.
getElementsByTagName
?
function
(
e
,
t
){
return
"undefined"
!=
typeof
t
.
getElementsByTagName
?
t
.
getElementsByTagName
(
e
):
n
.
qsa
?
t
.
querySelectorAll
(
e
):
void
0
}:
function
(
e
,
t
){
var
n
,
r
=
[],
i
=
0
,
o
=
t
.
getElementsByTagName
(
e
);
if
(
"*"
===
e
){
for
(;
n
=
o
[
i
++
];)
1
===
n
.
nodeType
&&
r
.
push
(
n
);
return
r
}
return
o
},
r
.
find
.
CLASS
=
n
.
getElementsByClassName
&&
function
(
e
,
t
){
return
"undefined"
!=
typeof
t
.
getElementsByClassName
&&
g
?
t
.
getElementsByClassName
(
e
):
void
0
},
v
=
[],
m
=
[],(
n
.
qsa
=
J
.
test
(
d
.
querySelectorAll
))
&&
(
ut
(
function
(
e
){
h
.
appendChild
(
e
).
innerHTML
=
"<a id='"
+
w
+
"'></a><select id='"
+
w
+
"-\r\\' msallowcapture=''><option selected=''></option></select>"
,
e
.
querySelectorAll
(
"[msallowcapture^='']"
).
length
&&
m
.
push
(
"[*^$]="
+
P
+
"*(?:''|\"\")"
),
e
.
querySelectorAll
(
"[selected]"
).
length
||
m
.
push
(
"\\["
+
P
+
"*(?:value|"
+
F
+
")"
),
e
.
querySelectorAll
(
"[id~="
+
w
+
"-]"
).
length
||
m
.
push
(
"~="
),
e
.
querySelectorAll
(
":checked"
).
length
||
m
.
push
(
":checked"
),
e
.
querySelectorAll
(
"a#"
+
w
+
"+*"
).
length
||
m
.
push
(
".#.+[+~]"
)}),
ut
(
function
(
e
){
var
t
=
d
.
createElement
(
"input"
);
t
.
setAttribute
(
"type"
,
"hidden"
),
e
.
appendChild
(
t
).
setAttribute
(
"name"
,
"D"
),
e
.
querySelectorAll
(
"[name=d]"
).
length
&&
m
.
push
(
"name"
+
P
+
"*[*^$|!~]?="
),
e
.
querySelectorAll
(
":enabled"
).
length
||
m
.
push
(
":enabled"
,
":disabled"
),
e
.
querySelectorAll
(
"*,:x"
),
m
.
push
(
",.*:"
)})),(
n
.
matchesSelector
=
J
.
test
(
y
=
h
.
matches
||
h
.
webkitMatchesSelector
||
h
.
mozMatchesSelector
||
h
.
oMatchesSelector
||
h
.
msMatchesSelector
))
&&
ut
(
function
(
e
){
n
.
disconnectedMatch
=
y
.
call
(
e
,
"div"
),
y
.
call
(
e
,
"[s!='']:x"
),
v
.
push
(
"!="
,
I
)}),
m
=
m
.
length
&&
new
RegExp
(
m
.
join
(
"|"
)),
v
=
v
.
length
&&
new
RegExp
(
v
.
join
(
"|"
)),
t
=
J
.
test
(
h
.
compareDocumentPosition
),
x
=
t
||
J
.
test
(
h
.
contains
)?
function
(
e
,
t
){
var
n
=
9
===
e
.
nodeType
?
e
.
documentElement
:
e
,
r
=
t
&&
t
.
parentNode
;
return
e
===
r
||!
(
!
r
||
1
!==
r
.
nodeType
||!
(
n
.
contains
?
n
.
contains
(
r
):
e
.
compareDocumentPosition
&&
16
&
e
.
compareDocumentPosition
(
r
)))}:
function
(
e
,
t
){
if
(
t
)
for
(;
t
=
t
.
parentNode
;)
if
(
t
===
e
)
return
!
0
;
return
!
1
},
N
=
t
?
function
(
e
,
t
){
if
(
e
===
t
)
return
f
=!
0
,
0
;
var
r
=!
e
.
compareDocumentPosition
-!
t
.
compareDocumentPosition
;
return
r
?
r
:(
r
=
(
e
.
ownerDocument
||
e
)
===
(
t
.
ownerDocument
||
t
)?
e
.
compareDocumentPosition
(
t
):
1
,
1
&
r
||!
n
.
sortDetached
&&
t
.
compareDocumentPosition
(
e
)
===
r
?
e
===
d
||
e
.
ownerDocument
===
b
&&
x
(
b
,
e
)?
-
1
:
t
===
d
||
t
.
ownerDocument
===
b
&&
x
(
b
,
t
)?
1
:
c
?
O
(
c
,
e
)
-
O
(
c
,
t
):
0
:
4
&
r
?
-
1
:
1
)}:
function
(
e
,
t
){
if
(
e
===
t
)
return
f
=!
0
,
0
;
var
n
,
r
=
0
,
i
=
e
.
parentNode
,
o
=
t
.
parentNode
,
s
=
[
e
],
a
=
[
t
];
if
(
!
i
||!
o
)
return
e
===
d
?
-
1
:
t
===
d
?
1
:
i
?
-
1
:
o
?
1
:
c
?
O
(
c
,
e
)
-
O
(
c
,
t
):
0
;
if
(
i
===
o
)
return
ct
(
e
,
t
);
for
(
n
=
e
;
n
=
n
.
parentNode
;)
s
.
unshift
(
n
);
for
(
n
=
t
;
n
=
n
.
parentNode
;)
a
.
unshift
(
n
);
for
(;
s
[
r
]
===
a
[
r
];)
r
++
;
return
r
?
ct
(
s
[
r
],
a
[
r
]):
s
[
r
]
===
b
?
-
1
:
a
[
r
]
===
b
?
1
:
0
},
d
):
d
},
ot
.
matches
=
function
(
e
,
t
){
return
ot
(
e
,
null
,
null
,
t
)},
ot
.
matchesSelector
=
function
(
e
,
t
){
if
((
e
.
ownerDocument
||
e
)
!==
d
&&
p
(
e
),
t
=
t
.
replace
(
X
,
"='$1']"
),
!
(
!
n
.
matchesSelector
||!
g
||
E
[
t
+
" "
]
||
v
&&
v
.
test
(
t
)
||
m
&&
m
.
test
(
t
)))
try
{
var
r
=
y
.
call
(
e
,
t
);
if
(
r
||
n
.
disconnectedMatch
||
e
.
document
&&
11
!==
e
.
document
.
nodeType
)
return
r
}
catch
(
i
){}
return
ot
(
t
,
d
,
null
,[
e
]).
length
>
0
},
ot
.
contains
=
function
(
e
,
t
){
return
(
e
.
ownerDocument
||
e
)
!==
d
&&
p
(
e
),
x
(
e
,
t
)},
ot
.
attr
=
function
(
e
,
t
){(
e
.
ownerDocument
||
e
)
!==
d
&&
p
(
e
);
var
i
=
r
.
attrHandle
[
t
.
toLowerCase
()],
o
=
i
&&
D
.
call
(
r
.
attrHandle
,
t
.
toLowerCase
())?
i
(
e
,
t
,
!
g
):
void
0
;
return
void
0
!==
o
?
o
:
n
.
attributes
||!
g
?
e
.
getAttribute
(
t
):(
o
=
e
.
getAttributeNode
(
t
))
&&
o
.
specified
?
o
.
value
:
null
},
ot
.
error
=
function
(
e
){
throw
new
Error
(
"Syntax error, unrecognized expression: "
+
e
)},
ot
.
uniqueSort
=
function
(
e
){
var
t
,
r
=
[],
i
=
0
,
o
=
0
;
if
(
f
=!
n
.
detectDuplicates
,
c
=!
n
.
sortStable
&&
e
.
slice
(
0
),
e
.
sort
(
N
),
f
){
for
(;
t
=
e
[
o
++
];)
t
===
e
[
o
]
&&
(
i
=
r
.
push
(
o
));
for
(;
i
--
;)
e
.
splice
(
r
[
i
],
1
)}
return
c
=
null
,
e
},
i
=
ot
.
getText
=
function
(
e
){
var
t
,
n
=
""
,
r
=
0
,
o
=
e
.
nodeType
;
if
(
o
){
if
(
1
===
o
||
9
===
o
||
11
===
o
){
if
(
"string"
==
typeof
e
.
textContent
)
return
e
.
textContent
;
for
(
e
=
e
.
firstChild
;
e
;
e
=
e
.
nextSibling
)
n
+=
i
(
e
)}
else
if
(
3
===
o
||
4
===
o
)
return
e
.
nodeValue
}
else
for
(;
t
=
e
[
r
++
];)
n
+=
i
(
t
);
return
n
},
r
=
ot
.
selectors
=
{
cacheLength
:
50
,
createPseudo
:
at
,
match
:
Y
,
attrHandle
:{},
find
:{},
relative
:{
">"
:{
dir
:
"parentNode"
,
first
:
!
0
},
" "
:{
dir
:
"parentNode"
},
"+"
:{
dir
:
"previousSibling"
,
first
:
!
0
},
"~"
:{
dir
:
"previousSibling"
}},
preFilter
:{
ATTR
:
function
(
e
){
return
e
[
1
]
=
e
[
1
].
replace
(
tt
,
nt
),
e
[
3
]
=
(
e
[
3
]
||
e
[
4
]
||
e
[
5
]
||
""
).
replace
(
tt
,
nt
),
"~="
===
e
[
2
]
&&
(
e
[
3
]
=
" "
+
e
[
3
]
+
" "
),
e
.
slice
(
0
,
4
)},
CHILD
:
function
(
e
){
return
e
[
1
]
=
e
[
1
].
toLowerCase
(),
"nth"
===
e
[
1
].
slice
(
0
,
3
)?(
e
[
3
]
||
ot
.
error
(
e
[
0
]),
e
[
4
]
=+
(
e
[
4
]?
e
[
5
]
+
(
e
[
6
]
||
1
):
2
*
(
"even"
===
e
[
3
]
||
"odd"
===
e
[
3
])),
e
[
5
]
=+
(
e
[
7
]
+
e
[
8
]
||
"odd"
===
e
[
3
])):
e
[
3
]
&&
ot
.
error
(
e
[
0
]),
e
},
PSEUDO
:
function
(
e
){
var
t
,
n
=!
e
[
6
]
&&
e
[
2
];
return
Y
.
CHILD
.
test
(
e
[
0
])?
null
:(
e
[
3
]?
e
[
2
]
=
e
[
4
]
||
e
[
5
]
||
""
:
n
&&
U
.
test
(
n
)
&&
(
t
=
s
(
n
,
!
0
))
&&
(
t
=
n
.
indexOf
(
")"
,
n
.
length
-
t
)
-
n
.
length
)
&&
(
e
[
0
]
=
e
[
0
].
slice
(
0
,
t
),
e
[
2
]
=
n
.
slice
(
0
,
t
)),
e
.
slice
(
0
,
3
))}},
filter
:{
TAG
:
function
(
e
){
var
t
=
e
.
replace
(
tt
,
nt
).
toLowerCase
();
return
"*"
===
e
?
function
(){
return
!
0
}:
function
(
e
){
return
e
.
nodeName
&&
e
.
nodeName
.
toLowerCase
()
===
t
}},
CLASS
:
function
(
e
){
var
t
=
k
[
e
+
" "
];
return
t
||
(
t
=
new
RegExp
(
"(^|"
+
P
+
")"
+
e
+
"("
+
P
+
"|$)"
))
&&
k
(
e
,
function
(
e
){
return
t
.
test
(
"string"
==
typeof
e
.
className
&&
e
.
className
||
"undefined"
!=
typeof
e
.
getAttribute
&&
e
.
getAttribute
(
"class"
)
||
""
)})},
ATTR
:
function
(
e
,
t
,
n
){
return
function
(
r
){
var
i
=
ot
.
attr
(
r
,
e
);
return
null
==
i
?
"!="
===
t
:
t
?(
i
+=
""
,
"="
===
t
?
i
===
n
:
"!="
===
t
?
i
!==
n
:
"^="
===
t
?
n
&&
0
===
i
.
indexOf
(
n
):
"*="
===
t
?
n
&&
i
.
indexOf
(
n
)
>-
1
:
"$="
===
t
?
n
&&
i
.
slice
(
-
n
.
length
)
===
n
:
"~="
===
t
?(
" "
+
i
.
replace
(
W
,
" "
)
+
" "
).
indexOf
(
n
)
>-
1
:
"|="
===
t
?
i
===
n
||
i
.
slice
(
0
,
n
.
length
+
1
)
===
n
+
"-"
:
!
1
):
!
0
}},
CHILD
:
function
(
e
,
t
,
n
,
r
,
i
){
var
o
=
"nth"
!==
e
.
slice
(
0
,
3
),
s
=
"last"
!==
e
.
slice
(
-
4
),
a
=
"of-type"
===
t
;
return
1
===
r
&&
0
===
i
?
function
(
e
){
return
!!
e
.
parentNode
}:
function
(
t
,
n
,
u
){
var
l
,
c
,
f
,
p
,
d
,
h
,
g
=
o
!==
s
?
"nextSibling"
:
"previousSibling"
,
m
=
t
.
parentNode
,
v
=
a
&&
t
.
nodeName
.
toLowerCase
(),
y
=!
u
&&!
a
,
x
=!
1
;
if
(
m
){
if
(
o
){
for
(;
g
;){
for
(
p
=
t
;
p
=
p
[
g
];)
if
(
a
?
p
.
nodeName
.
toLowerCase
()
===
v
:
1
===
p
.
nodeType
)
return
!
1
;
h
=
g
=
"only"
===
e
&&!
h
&&
"nextSibling"
}
return
!
0
}
if
(
h
=
[
s
?
m
.
firstChild
:
m
.
lastChild
],
s
&&
y
){
for
(
p
=
m
,
f
=
p
[
w
]
||
(
p
[
w
]
=
{}),
c
=
f
[
p
.
uniqueID
]
||
(
f
[
p
.
uniqueID
]
=
{}),
l
=
c
[
e
]
||
[],
d
=
l
[
0
]
===
T
&&
l
[
1
],
x
=
d
&&
l
[
2
],
p
=
d
&&
m
.
childNodes
[
d
];
p
=++
d
&&
p
&&
p
[
g
]
||
(
x
=
d
=
0
)
||
h
.
pop
();)
if
(
1
===
p
.
nodeType
&&++
x
&&
p
===
t
){
c
[
e
]
=
[
T
,
d
,
x
];
break
}}
else
if
(
y
&&
(
p
=
t
,
f
=
p
[
w
]
||
(
p
[
w
]
=
{}),
c
=
f
[
p
.
uniqueID
]
||
(
f
[
p
.
uniqueID
]
=
{}),
l
=
c
[
e
]
||
[],
d
=
l
[
0
]
===
T
&&
l
[
1
],
x
=
d
),
x
===!
1
)
for
(;(
p
=++
d
&&
p
&&
p
[
g
]
||
(
x
=
d
=
0
)
||
h
.
pop
())
&&
((
a
?
p
.
nodeName
.
toLowerCase
()
!==
v
:
1
!==
p
.
nodeType
)
||!++
x
||
(
y
&&
(
f
=
p
[
w
]
||
(
p
[
w
]
=
{}),
c
=
f
[
p
.
uniqueID
]
||
(
f
[
p
.
uniqueID
]
=
{}),
c
[
e
]
=
[
T
,
x
]),
p
!==
t
)););
return
x
-=
i
,
x
===
r
||
x
%
r
===
0
&&
x
/
r
>=
0
}}},
PSEUDO
:
function
(
e
,
t
){
var
n
,
i
=
r
.
pseudos
[
e
]
||
r
.
setFilters
[
e
.
toLowerCase
()]
||
ot
.
error
(
"unsupported pseudo: "
+
e
);
return
i
[
w
]?
i
(
t
):
i
.
length
>
1
?(
n
=
[
e
,
e
,
""
,
t
],
r
.
setFilters
.
hasOwnProperty
(
e
.
toLowerCase
())?
at
(
function
(
e
,
n
){
for
(
var
r
,
o
=
i
(
e
,
t
),
s
=
o
.
length
;
s
--
;)
r
=
O
(
e
,
o
[
s
]),
e
[
r
]
=!
(
n
[
r
]
=
o
[
s
])}):
function
(
e
){
return
i
(
e
,
0
,
n
)}):
i
}},
pseudos
:{
not
:
at
(
function
(
e
){
var
t
=
[],
n
=
[],
r
=
a
(
e
.
replace
(
B
,
"$1"
));
return
r
[
w
]?
at
(
function
(
e
,
t
,
n
,
i
){
for
(
var
o
,
s
=
r
(
e
,
null
,
i
,[]),
a
=
e
.
length
;
a
--
;)(
o
=
s
[
a
])
&&
(
e
[
a
]
=!
(
t
[
a
]
=
o
))}):
function
(
e
,
i
,
o
){
return
t
[
0
]
=
e
,
r
(
t
,
null
,
o
,
n
),
t
[
0
]
=
null
,
!
n
.
pop
()}}),
has
:
at
(
function
(
e
){
return
function
(
t
){
return
ot
(
e
,
t
).
length
>
0
}}),
contains
:
at
(
function
(
e
){
return
e
=
e
.
replace
(
tt
,
nt
),
function
(
t
){
return
(
t
.
textContent
||
t
.
innerText
||
i
(
t
)).
indexOf
(
e
)
>-
1
}}),
lang
:
at
(
function
(
e
){
return
V
.
test
(
e
||
""
)
||
ot
.
error
(
"unsupported lang: "
+
e
),
e
=
e
.
replace
(
tt
,
nt
).
toLowerCase
(),
function
(
t
){
var
n
;
do
if
(
n
=
g
?
t
.
lang
:
t
.
getAttribute
(
"xml:lang"
)
||
t
.
getAttribute
(
"lang"
))
return
n
=
n
.
toLowerCase
(),
n
===
e
||
0
===
n
.
indexOf
(
e
+
"-"
);
while
((
t
=
t
.
parentNode
)
&&
1
===
t
.
nodeType
);
return
!
1
}}),
target
:
function
(
t
){
var
n
=
e
.
location
&&
e
.
location
.
hash
;
return
n
&&
n
.
slice
(
1
)
===
t
.
id
},
root
:
function
(
e
){
return
e
===
h
},
focus
:
function
(
e
){
return
e
===
d
.
activeElement
&&
(
!
d
.
hasFocus
||
d
.
hasFocus
())
&&!!
(
e
.
type
||
e
.
href
||~
e
.
tabIndex
)},
enabled
:
function
(
e
){
return
e
.
disabled
===!
1
},
disabled
:
function
(
e
){
return
e
.
disabled
===!
0
},
checked
:
function
(
e
){
var
t
=
e
.
nodeName
.
toLowerCase
();
return
"input"
===
t
&&!!
e
.
checked
||
"option"
===
t
&&!!
e
.
selected
},
selected
:
function
(
e
){
return
e
.
parentNode
&&
e
.
parentNode
.
selectedIndex
,
e
.
selected
===!
0
},
empty
:
function
(
e
){
for
(
e
=
e
.
firstChild
;
e
;
e
=
e
.
nextSibling
)
if
(
e
.
nodeType
<
6
)
return
!
1
;
return
!
0
},
parent
:
function
(
e
){
return
!
r
.
pseudos
.
empty
(
e
)},
header
:
function
(
e
){
return
G
.
test
(
e
.
nodeName
)},
input
:
function
(
e
){
return
Q
.
test
(
e
.
nodeName
)},
button
:
function
(
e
){
var
t
=
e
.
nodeName
.
toLowerCase
();
return
"input"
===
t
&&
"button"
===
e
.
type
||
"button"
===
t
},
text
:
function
(
e
){
var
t
;
return
"input"
===
e
.
nodeName
.
toLowerCase
()
&&
"text"
===
e
.
type
&&
(
null
==
(
t
=
e
.
getAttribute
(
"type"
))
||
"text"
===
t
.
toLowerCase
())},
first
:
dt
(
function
(){
return
[
0
]}),
last
:
dt
(
function
(
e
,
t
){
return
[
t
-
1
]}),
eq
:
dt
(
function
(
e
,
t
,
n
){
return
[
0
>
n
?
n
+
t
:
n
]}),
even
:
dt
(
function
(
e
,
t
){
for
(
var
n
=
0
;
t
>
n
;
n
+=
2
)
e
.
push
(
n
);
return
e
}),
odd
:
dt
(
function
(
e
,
t
){
for
(
var
n
=
1
;
t
>
n
;
n
+=
2
)
e
.
push
(
n
);
return
e
}),
lt
:
dt
(
function
(
e
,
t
,
n
){
for
(
var
r
=
0
>
n
?
n
+
t
:
n
;
--
r
>=
0
;)
e
.
push
(
r
);
return
e
}),
gt
:
dt
(
function
(
e
,
t
,
n
){
for
(
var
r
=
0
>
n
?
n
+
t
:
n
;
++
r
<
t
;)
e
.
push
(
r
);
return
e
})}},
r
.
pseudos
.
nth
=
r
.
pseudos
.
eq
;
for
(
t
in
{
radio
:
!
0
,
checkbox
:
!
0
,
file
:
!
0
,
password
:
!
0
,
image
:
!
0
})
r
.
pseudos
[
t
]
=
ft
(
t
);
for
(
t
in
{
submit
:
!
0
,
reset
:
!
0
})
r
.
pseudos
[
t
]
=
pt
(
t
);
return
gt
.
prototype
=
r
.
filters
=
r
.
pseudos
,
r
.
setFilters
=
new
gt
,
s
=
ot
.
tokenize
=
function
(
e
,
t
){
var
n
,
i
,
o
,
s
,
a
,
u
,
l
,
c
=
S
[
e
+
" "
];
if
(
c
)
return
t
?
0
:
c
.
slice
(
0
);
for
(
a
=
e
,
u
=
[],
l
=
r
.
preFilter
;
a
;){
n
&&!
(
i
=
_
.
exec
(
a
))
||
(
i
&&
(
a
=
a
.
slice
(
i
[
0
].
length
)
||
a
),
u
.
push
(
o
=
[])),
n
=!
1
,(
i
=
z
.
exec
(
a
))
&&
(
n
=
i
.
shift
(),
o
.
push
({
value
:
n
,
type
:
i
[
0
].
replace
(
B
,
" "
)}),
a
=
a
.
slice
(
n
.
length
));
for
(
s
in
r
.
filter
)
!
(
i
=
Y
[
s
].
exec
(
a
))
||
l
[
s
]
&&!
(
i
=
l
[
s
](
i
))
||
(
n
=
i
.
shift
(),
o
.
push
({
value
:
n
,
type
:
s
,
matches
:
i
}),
a
=
a
.
slice
(
n
.
length
));
if
(
!
n
)
break
}
return
t
?
a
.
length
:
a
?
ot
.
error
(
e
):
S
(
e
,
u
).
slice
(
0
)},
a
=
ot
.
compile
=
function
(
e
,
t
){
var
n
,
r
=
[],
i
=
[],
o
=
E
[
e
+
" "
];
if
(
!
o
){
for
(
t
||
(
t
=
s
(
e
)),
n
=
t
.
length
;
n
--
;)
o
=
Tt
(
t
[
n
]),
o
[
w
]?
r
.
push
(
o
):
i
.
push
(
o
);
o
=
E
(
e
,
Ct
(
i
,
r
)),
o
.
selector
=
e
}
return
o
},
u
=
ot
.
select
=
function
(
e
,
t
,
i
,
o
){
var
u
,
l
,
c
,
f
,
p
,
d
=
"function"
==
typeof
e
&&
e
,
h
=!
o
&&
s
(
e
=
d
.
selector
||
e
);
if
(
i
=
i
||
[],
1
===
h
.
length
){
if
(
l
=
h
[
0
]
=
h
[
0
].
slice
(
0
),
l
.
length
>
2
&&
"ID"
===
(
c
=
l
[
0
]).
type
&&
n
.
getById
&&
9
===
t
.
nodeType
&&
g
&&
r
.
relative
[
l
[
1
].
type
]){
if
(
t
=
(
r
.
find
.
ID
(
c
.
matches
[
0
].
replace
(
tt
,
nt
),
t
)
||
[])[
0
],
!
t
)
return
i
;
d
&&
(
t
=
t
.
parentNode
),
e
=
e
.
slice
(
l
.
shift
().
value
.
length
)}
for
(
u
=
Y
.
needsContext
.
test
(
e
)?
0
:
l
.
length
;
u
--&&
(
c
=
l
[
u
],
!
r
.
relative
[
f
=
c
.
type
]);)
if
((
p
=
r
.
find
[
f
])
&&
(
o
=
p
(
c
.
matches
[
0
].
replace
(
tt
,
nt
),
Z
.
test
(
l
[
0
].
type
)
&&
ht
(
t
.
parentNode
)
||
t
))){
if
(
l
.
splice
(
u
,
1
),
e
=
o
.
length
&&
mt
(
l
),
!
e
)
return
L
.
apply
(
i
,
o
),
i
;
break
}}
return
(
d
||
a
(
e
,
h
))(
o
,
t
,
!
g
,
i
,
!
t
||
Z
.
test
(
e
)
&&
ht
(
t
.
parentNode
)
||
t
),
i
},
n
.
sortStable
=
w
.
split
(
""
).
sort
(
N
).
join
(
""
)
===
w
,
n
.
detectDuplicates
=!!
f
,
p
(),
n
.
sortDetached
=
ut
(
function
(
e
){
return
1
&
e
.
compareDocumentPosition
(
d
.
createElement
(
"div"
))}),
ut
(
function
(
e
){
return
e
.
innerHTML
=
"<a href='#'></a>"
,
"#"
===
e
.
firstChild
.
getAttribute
(
"href"
)})
||
lt
(
"type|href|height|width"
,
function
(
e
,
t
,
n
){
return
n
?
void
0
:
e
.
getAttribute
(
t
,
"type"
===
t
.
toLowerCase
()?
1
:
2
)}),
n
.
attributes
&&
ut
(
function
(
e
){
return
e
.
innerHTML
=
"<input/>"
,
e
.
firstChild
.
setAttribute
(
"value"
,
""
),
""
===
e
.
firstChild
.
getAttribute
(
"value"
)})
||
lt
(
"value"
,
function
(
e
,
t
,
n
){
return
n
||
"input"
!==
e
.
nodeName
.
toLowerCase
()?
void
0
:
e
.
defaultValue
}),
ut
(
function
(
e
){
return
null
==
e
.
getAttribute
(
"disabled"
)})
||
lt
(
F
,
function
(
e
,
t
,
n
){
var
r
;
return
n
?
void
0
:
e
[
t
]
===!
0
?
t
.
toLowerCase
():(
r
=
e
.
getAttributeNode
(
t
))
&&
r
.
specified
?
r
.
value
:
null
}),
ot
}(
e
);
d
.
find
=
x
,
d
.
expr
=
x
.
selectors
,
d
.
expr
[
":"
]
=
d
.
expr
.
pseudos
,
d
.
uniqueSort
=
d
.
unique
=
x
.
uniqueSort
,
d
.
text
=
x
.
getText
,
d
.
isXMLDoc
=
x
.
isXML
,
d
.
contains
=
x
.
contains
;
var
w
=
function
(
e
,
t
,
n
){
for
(
var
r
=
[],
i
=
void
0
!==
n
;(
e
=
e
[
t
])
&&
9
!==
e
.
nodeType
;)
if
(
1
===
e
.
nodeType
){
if
(
i
&&
d
(
e
).
is
(
n
))
break
;
r
.
push
(
e
)}
return
r
},
b
=
function
(
e
,
t
){
for
(
var
n
=
[];
e
;
e
=
e
.
nextSibling
)
1
===
e
.
nodeType
&&
e
!==
t
&&
n
.
push
(
e
);
return
n
},
T
=
d
.
expr
.
match
.
needsContext
,
C
=
/^<
([\w
-
]
+
)\s
*
\/?
>
(?:
<
\/\1
>|
)
$/
,
k
=
/^.
[^
:#
\[\.
,
]
*$/
;
d
.
filter
=
function
(
e
,
t
,
n
){
var
r
=
t
[
0
];
return
n
&&
(
e
=
":not("
+
e
+
")"
),
1
===
t
.
length
&&
1
===
r
.
nodeType
?
d
.
find
.
matchesSelector
(
r
,
e
)?[
r
]:[]:
d
.
find
.
matches
(
e
,
d
.
grep
(
t
,
function
(
e
){
return
1
===
e
.
nodeType
}))},
d
.
fn
.
extend
({
find
:
function
(
e
){
var
t
,
n
=
this
.
length
,
r
=
[],
i
=
this
;
if
(
"string"
!=
typeof
e
)
return
this
.
pushStack
(
d
(
e
).
filter
(
function
(){
for
(
t
=
0
;
n
>
t
;
t
++
)
if
(
d
.
contains
(
i
[
t
],
this
))
return
!
0
}));
for
(
t
=
0
;
n
>
t
;
t
++
)
d
.
find
(
e
,
i
[
t
],
r
);
return
r
=
this
.
pushStack
(
n
>
1
?
d
.
unique
(
r
):
r
),
r
.
selector
=
this
.
selector
?
this
.
selector
+
" "
+
e
:
e
,
r
},
filter
:
function
(
e
){
return
this
.
pushStack
(
S
(
this
,
e
||
[],
!
1
))},
not
:
function
(
e
){
return
this
.
pushStack
(
S
(
this
,
e
||
[],
!
0
))},
is
:
function
(
e
){
return
!!
S
(
this
,
"string"
==
typeof
e
&&
T
.
test
(
e
)?
d
(
e
):
e
||
[],
!
1
).
length
}});
var
E
,
N
=
/^
(?:\s
*
(
<
[\w\W]
+>
)[^
>
]
*|#
([\w
-
]
*
))
$/
,
$
=
d
.
fn
.
init
=
function
(
e
,
t
,
n
){
var
i
,
o
;
if
(
!
e
)
return
this
;
if
(
n
=
n
||
E
,
"string"
==
typeof
e
){
if
(
i
=
"<"
===
e
[
0
]
&&
">"
===
e
[
e
.
length
-
1
]
&&
e
.
length
>=
3
?[
null
,
e
,
null
]:
N
.
exec
(
e
),
!
i
||!
i
[
1
]
&&
t
)
return
!
t
||
t
.
jquery
?(
t
||
n
).
find
(
e
):
this
.
constructor
(
t
).
find
(
e
);
if
(
i
[
1
]){
if
(
t
=
t
instanceof
d
?
t
[
0
]:
t
,
d
.
merge
(
this
,
d
.
parseHTML
(
i
[
1
],
t
&&
t
.
nodeType
?
t
.
ownerDocument
||
t
:
r
,
!
0
)),
C
.
test
(
i
[
1
])
&&
d
.
isPlainObject
(
t
))
for
(
i
in
t
)
d
.
isFunction
(
this
[
i
])?
this
[
i
](
t
[
i
]):
this
.
attr
(
i
,
t
[
i
]);
return
this
}
return
o
=
r
.
getElementById
(
i
[
2
]),
o
&&
o
.
parentNode
&&
(
this
.
length
=
1
,
this
[
0
]
=
o
),
this
.
context
=
r
,
this
.
selector
=
e
,
this
}
return
e
.
nodeType
?(
this
.
context
=
this
[
0
]
=
e
,
this
.
length
=
1
,
this
):
d
.
isFunction
(
e
)?
void
0
!==
n
.
ready
?
n
.
ready
(
e
):
e
(
d
):(
void
0
!==
e
.
selector
&&
(
this
.
selector
=
e
.
selector
,
this
.
context
=
e
.
context
),
d
.
makeArray
(
e
,
this
))};
$
.
prototype
=
d
.
fn
,
E
=
d
(
r
);
var
D
=
/^
(?:
parents|prev
(?:
Until|All
))
/
,
j
=
{
children
:
!
0
,
contents
:
!
0
,
next
:
!
0
,
prev
:
!
0
};
d
.
fn
.
extend
({
has
:
function
(
e
){
var
t
=
d
(
e
,
this
),
n
=
t
.
length
;
return
this
.
filter
(
function
(){
for
(
var
e
=
0
;
n
>
e
;
e
++
)
if
(
d
.
contains
(
this
,
t
[
e
]))
return
!
0
})},
closest
:
function
(
e
,
t
){
for
(
var
n
,
r
=
0
,
i
=
this
.
length
,
o
=
[],
s
=
T
.
test
(
e
)
||
"string"
!=
typeof
e
?
d
(
e
,
t
||
this
.
context
):
0
;
i
>
r
;
r
++
)
for
(
n
=
this
[
r
];
n
&&
n
!==
t
;
n
=
n
.
parentNode
)
if
(
n
.
nodeType
<
11
&&
(
s
?
s
.
index
(
n
)
>-
1
:
1
===
n
.
nodeType
&&
d
.
find
.
matchesSelector
(
n
,
e
))){
o
.
push
(
n
);
break
}
return
this
.
pushStack
(
o
.
length
>
1
?
d
.
uniqueSort
(
o
):
o
)},
index
:
function
(
e
){
return
e
?
"string"
==
typeof
e
?
a
.
call
(
d
(
e
),
this
[
0
]):
a
.
call
(
this
,
e
.
jquery
?
e
[
0
]:
e
):
this
[
0
]
&&
this
[
0
].
parentNode
?
this
.
first
().
prevAll
().
length
:
-
1
},
add
:
function
(
e
,
t
){
return
this
.
pushStack
(
d
.
uniqueSort
(
d
.
merge
(
this
.
get
(),
d
(
e
,
t
))))},
addBack
:
function
(
e
){
return
this
.
add
(
null
==
e
?
this
.
prevObject
:
this
.
prevObject
.
filter
(
e
))}}),
d
.
each
({
parent
:
function
(
e
){
var
t
=
e
.
parentNode
;
return
t
&&
11
!==
t
.
nodeType
?
t
:
null
},
parents
:
function
(
e
){
return
w
(
e
,
"parentNode"
)},
parentsUntil
:
function
(
e
,
t
,
n
){
return
w
(
e
,
"parentNode"
,
n
)},
next
:
function
(
e
){
return
A
(
e
,
"nextSibling"
)},
prev
:
function
(
e
){
return
A
(
e
,
"previousSibling"
)},
nextAll
:
function
(
e
){
return
w
(
e
,
"nextSibling"
)},
prevAll
:
function
(
e
){
return
w
(
e
,
"previousSibling"
)},
nextUntil
:
function
(
e
,
t
,
n
){
return
w
(
e
,
"nextSibling"
,
n
)},
prevUntil
:
function
(
e
,
t
,
n
){
return
w
(
e
,
"previousSibling"
,
n
)},
siblings
:
function
(
e
){
return
b
((
e
.
parentNode
||
{}).
firstChild
,
e
)},
children
:
function
(
e
){
return
b
(
e
.
firstChild
)},
contents
:
function
(
e
){
return
e
.
contentDocument
||
d
.
merge
([],
e
.
childNodes
)}},
function
(
e
,
t
){
d
.
fn
[
e
]
=
function
(
n
,
r
){
var
i
=
d
.
map
(
this
,
t
,
n
);
return
"Until"
!==
e
.
slice
(
-
5
)
&&
(
r
=
n
),
r
&&
"string"
==
typeof
r
&&
(
i
=
d
.
filter
(
r
,
i
)),
this
.
length
>
1
&&
(
j
[
e
]
||
d
.
uniqueSort
(
i
),
D
.
test
(
e
)
&&
i
.
reverse
()),
this
.
pushStack
(
i
)}});
var
q
=
/
\S
+/g
;
d
.
Callbacks
=
function
(
e
){
e
=
"string"
==
typeof
e
?
L
(
e
):
d
.
extend
({},
e
);
var
t
,
n
,
r
,
i
,
o
=
[],
s
=
[],
a
=-
1
,
u
=
function
(){
for
(
i
=
e
.
once
,
r
=
t
=!
0
;
s
.
length
;
a
=-
1
)
for
(
n
=
s
.
shift
();
++
a
<
o
.
length
;)
o
[
a
].
apply
(
n
[
0
],
n
[
1
])
===!
1
&&
e
.
stopOnFalse
&&
(
a
=
o
.
length
,
n
=!
1
);
e
.
memory
||
(
n
=!
1
),
t
=!
1
,
i
&&
(
o
=
n
?[]:
""
)},
l
=
{
add
:
function
(){
return
o
&&
(
n
&&!
t
&&
(
a
=
o
.
length
-
1
,
s
.
push
(
n
)),
function
r
(
t
){
d
.
each
(
t
,
function
(
t
,
n
){
d
.
isFunction
(
n
)?
e
.
unique
&&
l
.
has
(
n
)
||
o
.
push
(
n
):
n
&&
n
.
length
&&
"string"
!==
d
.
type
(
n
)
&&
r
(
n
)})}(
arguments
),
n
&&!
t
&&
u
()),
this
},
remove
:
function
(){
return
d
.
each
(
arguments
,
function
(
e
,
t
){
for
(
var
n
;(
n
=
d
.
inArray
(
t
,
o
,
n
))
>-
1
;)
o
.
splice
(
n
,
1
),
a
>=
n
&&
a
--
}),
this
},
has
:
function
(
e
){
return
e
?
d
.
inArray
(
e
,
o
)
>-
1
:
o
.
length
>
0
},
empty
:
function
(){
return
o
&&
(
o
=
[]),
this
},
disable
:
function
(){
return
i
=
s
=
[],
o
=
n
=
""
,
this
},
disabled
:
function
(){
return
!
o
},
lock
:
function
(){
return
i
=
s
=
[],
n
||
(
o
=
n
=
""
),
this
},
locked
:
function
(){
return
!!
i
},
fireWith
:
function
(
e
,
n
){
return
i
||
(
n
=
n
||
[],
n
=
[
e
,
n
.
slice
?
n
.
slice
():
n
],
s
.
push
(
n
),
t
||
u
()),
this
},
fire
:
function
(){
return
l
.
fireWith
(
this
,
arguments
),
this
},
fired
:
function
(){
return
!!
r
}};
return
l
},
d
.
extend
({
Deferred
:
function
(
e
){
var
t
=
[[
"resolve"
,
"done"
,
d
.
Callbacks
(
"once memory"
),
"resolved"
],[
"reject"
,
"fail"
,
d
.
Callbacks
(
"once memory"
),
"rejected"
],[
"notify"
,
"progress"
,
d
.
Callbacks
(
"memory"
)]],
n
=
"pending"
,
r
=
{
state
:
function
(){
return
n
},
always
:
function
(){
return
i
.
done
(
arguments
).
fail
(
arguments
),
this
},
then
:
function
(){
var
e
=
arguments
;
return
d
.
Deferred
(
function
(
n
){
d
.
each
(
t
,
function
(
t
,
o
){
var
s
=
d
.
isFunction
(
e
[
t
])
&&
e
[
t
];
i
[
o
[
1
]](
function
(){
var
e
=
s
&&
s
.
apply
(
this
,
arguments
);
e
&&
d
.
isFunction
(
e
.
promise
)?
e
.
promise
().
progress
(
n
.
notify
).
done
(
n
.
resolve
).
fail
(
n
.
reject
):
n
[
o
[
0
]
+
"With"
](
this
===
r
?
n
.
promise
():
this
,
s
?[
e
]:
arguments
)})}),
e
=
null
}).
promise
()},
promise
:
function
(
e
){
return
null
!=
e
?
d
.
extend
(
e
,
r
):
r
}},
i
=
{};
return
r
.
pipe
=
r
.
then
,
d
.
each
(
t
,
function
(
e
,
o
){
var
s
=
o
[
2
],
a
=
o
[
3
];
r
[
o
[
1
]]
=
s
.
add
,
a
&&
s
.
add
(
function
(){
n
=
a
},
t
[
1
^
e
][
2
].
disable
,
t
[
2
][
2
].
lock
),
i
[
o
[
0
]]
=
function
(){
return
i
[
o
[
0
]
+
"With"
](
this
===
i
?
r
:
this
,
arguments
),
this
},
i
[
o
[
0
]
+
"With"
]
=
s
.
fireWith
}),
r
.
promise
(
i
),
e
&&
e
.
call
(
i
,
i
),
i
},
when
:
function
(
e
){
var
u
,
l
,
c
,
t
=
0
,
n
=
i
.
call
(
arguments
),
r
=
n
.
length
,
o
=
1
!==
r
||
e
&&
d
.
isFunction
(
e
.
promise
)?
r
:
0
,
s
=
1
===
o
?
e
:
d
.
Deferred
(),
a
=
function
(
e
,
t
,
n
){
return
function
(
r
){
t
[
e
]
=
this
,
n
[
e
]
=
arguments
.
length
>
1
?
i
.
call
(
arguments
):
r
,
n
===
u
?
s
.
notifyWith
(
t
,
n
):
--
o
||
s
.
resolveWith
(
t
,
n
)}};
if
(
r
>
1
)
for
(
u
=
new
Array
(
r
),
l
=
new
Array
(
r
),
c
=
new
Array
(
r
);
r
>
t
;
t
++
)
n
[
t
]
&&
d
.
isFunction
(
n
[
t
].
promise
)?
n
[
t
].
promise
().
progress
(
a
(
t
,
l
,
u
)).
done
(
a
(
t
,
c
,
n
)).
fail
(
s
.
reject
):
--
o
;
return
o
||
s
.
resolveWith
(
c
,
n
),
s
.
promise
()}});
var
H
;
d
.
fn
.
ready
=
function
(
e
){
return
d
.
ready
.
promise
().
done
(
e
),
this
},
d
.
extend
({
isReady
:
!
1
,
readyWait
:
1
,
holdReady
:
function
(
e
){
e
?
d
.
readyWait
++
:
d
.
ready
(
!
0
)},
ready
:
function
(
e
){(
e
===!
0
?
--
d
.
readyWait
:
d
.
isReady
)
||
(
d
.
isReady
=!
0
,
e
!==!
0
&&--
d
.
readyWait
>
0
||
(
H
.
resolveWith
(
r
,[
d
]),
d
.
fn
.
triggerHandler
&&
(
d
(
r
).
triggerHandler
(
"ready"
),
d
(
r
).
off
(
"ready"
))))}}),
d
.
ready
.
promise
=
function
(
t
){
return
H
||
(
H
=
d
.
Deferred
(),
"complete"
===
r
.
readyState
||
"loading"
!==
r
.
readyState
&&!
r
.
documentElement
.
doScroll
?
e
.
setTimeout
(
d
.
ready
):(
r
.
addEventListener
(
"DOMContentLoaded"
,
O
),
e
.
addEventListener
(
"load"
,
O
))),
H
.
promise
(
t
)},
d
.
ready
.
promise
();
var
F
=
function
(
e
,
t
,
n
,
r
,
i
,
o
,
s
){
var
a
=
0
,
u
=
e
.
length
,
l
=
null
==
n
;
if
(
"object"
===
d
.
type
(
n
)){
i
=!
0
;
for
(
a
in
n
)
F
(
e
,
t
,
a
,
n
[
a
],
!
0
,
o
,
s
)}
else
if
(
void
0
!==
r
&&
(
i
=!
0
,
d
.
isFunction
(
r
)
||
(
s
=!
0
),
l
&&
(
s
?(
t
.
call
(
e
,
r
),
t
=
null
):(
l
=
t
,
t
=
function
(
e
,
t
,
n
){
return
l
.
call
(
d
(
e
),
n
)})),
t
))
for
(;
u
>
a
;
a
++
)
t
(
e
[
a
],
n
,
s
?
r
:
r
.
call
(
e
[
a
],
a
,
t
(
e
[
a
],
n
)));
return
i
?
e
:
l
?
t
.
call
(
e
):
u
?
t
(
e
[
0
],
n
):
o
},
P
=
function
(
e
){
return
1
===
e
.
nodeType
||
9
===
e
.
nodeType
||!+
e
.
nodeType
};
M
.
uid
=
1
,
M
.
prototype
=
{
register
:
function
(
e
,
t
){
var
n
=
t
||
{};
return
e
.
nodeType
?
e
[
this
.
expando
]
=
n
:
Object
.
defineProperty
(
e
,
this
.
expando
,{
value
:
n
,
writable
:
!
0
,
configurable
:
!
0
}),
e
[
this
.
expando
]},
cache
:
function
(
e
){
if
(
!
P
(
e
))
return
{};
var
t
=
e
[
this
.
expando
];
return
t
||
(
t
=
{},
P
(
e
)
&&
(
e
.
nodeType
?
e
[
this
.
expando
]
=
t
:
Object
.
defineProperty
(
e
,
this
.
expando
,{
value
:
t
,
configurable
:
!
0
}))),
t
},
set
:
function
(
e
,
t
,
n
){
var
r
,
i
=
this
.
cache
(
e
);
if
(
"string"
==
typeof
t
)
i
[
t
]
=
n
;
else
for
(
r
in
t
)
i
[
r
]
=
t
[
r
];
return
i
},
get
:
function
(
e
,
t
){
return
void
0
===
t
?
this
.
cache
(
e
):
e
[
this
.
expando
]
&&
e
[
this
.
expando
][
t
]},
access
:
function
(
e
,
t
,
n
){
var
r
;
return
void
0
===
t
||
t
&&
"string"
==
typeof
t
&&
void
0
===
n
?(
r
=
this
.
get
(
e
,
t
),
void
0
!==
r
?
r
:
this
.
get
(
e
,
d
.
camelCase
(
t
))):(
this
.
set
(
e
,
t
,
n
),
void
0
!==
n
?
n
:
t
)},
remove
:
function
(
e
,
t
){
var
n
,
r
,
i
,
o
=
e
[
this
.
expando
];
if
(
void
0
!==
o
){
if
(
void
0
===
t
)
this
.
register
(
e
);
else
{
d
.
isArray
(
t
)?
r
=
t
.
concat
(
t
.
map
(
d
.
camelCase
)):(
i
=
d
.
camelCase
(
t
),
t
in
o
?
r
=
[
t
,
i
]:(
r
=
i
,
r
=
r
in
o
?[
r
]:
r
.
match
(
q
)
||
[])),
n
=
r
.
length
;
for
(;
n
--
;)
delete
o
[
r
[
n
]]}(
void
0
===
t
||
d
.
isEmptyObject
(
o
))
&&
(
e
.
nodeType
?
e
[
this
.
expando
]
=
void
0
:
delete
e
[
this
.
expando
])}},
hasData
:
function
(
e
){
var
t
=
e
[
this
.
expando
];
return
void
0
!==
t
&&!
d
.
isEmptyObject
(
t
)}};
var
R
=
new
M
,
I
=
new
M
,
W
=
/^
(?:\{[\w\W]
*
\}
|
\[[\w\W]
*
\])
$/
,
B
=
/
[
A-Z
]
/g
;
d
.
extend
({
hasData
:
function
(
e
){
return
I
.
hasData
(
e
)
||
R
.
hasData
(
e
)},
data
:
function
(
e
,
t
,
n
){
return
I
.
access
(
e
,
t
,
n
)},
removeData
:
function
(
e
,
t
){
I
.
remove
(
e
,
t
)},
_data
:
function
(
e
,
t
,
n
){
return
R
.
access
(
e
,
t
,
n
)},
_removeData
:
function
(
e
,
t
){
R
.
remove
(
e
,
t
)}}),
d
.
fn
.
extend
({
data
:
function
(
e
,
t
){
var
n
,
r
,
i
,
o
=
this
[
0
],
s
=
o
&&
o
.
attributes
;
if
(
void
0
===
e
){
if
(
this
.
length
&&
(
i
=
I
.
get
(
o
),
1
===
o
.
nodeType
&&!
R
.
get
(
o
,
"hasDataAttrs"
))){
for
(
n
=
s
.
length
;
n
--
;)
s
[
n
]
&&
(
r
=
s
[
n
].
name
,
0
===
r
.
indexOf
(
"data-"
)
&&
(
r
=
d
.
camelCase
(
r
.
slice
(
5
)),
_
(
o
,
r
,
i
[
r
])));
R
.
set
(
o
,
"hasDataAttrs"
,
!
0
)}
return
i
}
return
"object"
==
typeof
e
?
this
.
each
(
function
(){
I
.
set
(
this
,
e
)}):
F
(
this
,
function
(
t
){
var
n
,
r
;
if
(
o
&&
void
0
===
t
){
if
(
n
=
I
.
get
(
o
,
e
)
||
I
.
get
(
o
,
e
.
replace
(
B
,
"-$&"
).
toLowerCase
()),
void
0
!==
n
)
return
n
;
if
(
r
=
d
.
camelCase
(
e
),
n
=
I
.
get
(
o
,
r
),
void
0
!==
n
)
return
n
;
if
(
n
=
_
(
o
,
r
,
void
0
),
void
0
!==
n
)
return
n
}
else
r
=
d
.
camelCase
(
e
),
this
.
each
(
function
(){
var
n
=
I
.
get
(
this
,
r
);
I
.
set
(
this
,
r
,
t
),
e
.
indexOf
(
"-"
)
>-
1
&&
void
0
!==
n
&&
I
.
set
(
this
,
e
,
t
)})},
null
,
t
,
arguments
.
length
>
1
,
null
,
!
0
)},
removeData
:
function
(
e
){
return
this
.
each
(
function
(){
I
.
remove
(
this
,
e
)})}}),
d
.
extend
({
queue
:
function
(
e
,
t
,
n
){
var
r
;
return
e
?(
t
=
(
t
||
"fx"
)
+
"queue"
,
r
=
R
.
get
(
e
,
t
),
n
&&
(
!
r
||
d
.
isArray
(
n
)?
r
=
R
.
access
(
e
,
t
,
d
.
makeArray
(
n
)):
r
.
push
(
n
)),
r
||
[]):
void
0
},
dequeue
:
function
(
e
,
t
){
t
=
t
||
"fx"
;
var
n
=
d
.
queue
(
e
,
t
),
r
=
n
.
length
,
i
=
n
.
shift
(),
o
=
d
.
_queueHooks
(
e
,
t
),
s
=
function
(){
d
.
dequeue
(
e
,
t
)};
"inprogress"
===
i
&&
(
i
=
n
.
shift
(),
r
--
),
i
&&
(
"fx"
===
t
&&
n
.
unshift
(
"inprogress"
),
delete
o
.
stop
,
i
.
call
(
e
,
s
,
o
)),
!
r
&&
o
&&
o
.
empty
.
fire
()},
_queueHooks
:
function
(
e
,
t
){
var
n
=
t
+
"queueHooks"
;
return
R
.
get
(
e
,
n
)
||
R
.
access
(
e
,
n
,{
empty
:
d
.
Callbacks
(
"once memory"
).
add
(
function
(){
R
.
remove
(
e
,[
t
+
"queue"
,
n
])})})}}),
d
.
fn
.
extend
({
queue
:
function
(
e
,
t
){
var
n
=
2
;
return
"string"
!=
typeof
e
&&
(
t
=
e
,
e
=
"fx"
,
n
--
),
arguments
.
length
<
n
?
d
.
queue
(
this
[
0
],
e
):
void
0
===
t
?
this
:
this
.
each
(
function
(){
var
n
=
d
.
queue
(
this
,
e
,
t
);
d
.
_queueHooks
(
this
,
e
),
"fx"
===
e
&&
"inprogress"
!==
n
[
0
]
&&
d
.
dequeue
(
this
,
e
)})},
dequeue
:
function
(
e
){
return
this
.
each
(
function
(){
d
.
dequeue
(
this
,
e
)})},
clearQueue
:
function
(
e
){
return
this
.
queue
(
e
||
"fx"
,[])},
promise
:
function
(
e
,
t
){
var
n
,
r
=
1
,
i
=
d
.
Deferred
(),
o
=
this
,
s
=
this
.
length
,
a
=
function
(){
--
r
||
i
.
resolveWith
(
o
,[
o
])};
for
(
"string"
!=
typeof
e
&&
(
t
=
e
,
e
=
void
0
),
e
=
e
||
"fx"
;
s
--
;)
n
=
R
.
get
(
o
[
s
],
e
+
"queueHooks"
),
n
&&
n
.
empty
&&
(
r
++
,
n
.
empty
.
add
(
a
));
return
a
(),
i
.
promise
(
t
)}});
var
z
=
/
[
+-
]?(?:\d
*
\.
|
)\d
+
(?:[
eE
][
+-
]?\d
+|
)
/
.
source
,
X
=
new
RegExp
(
"^(?:([+-])=|)("
+
z
+
")([a-z%]*)$"
,
"i"
),
U
=
[
"Top"
,
"Right"
,
"Bottom"
,
"Left"
],
V
=
function
(
e
,
t
){
return
e
=
t
||
e
,
"none"
===
d
.
css
(
e
,
"display"
)
||!
d
.
contains
(
e
.
ownerDocument
,
e
)},
Q
=
/^
(?:
checkbox|radio
)
$/i
,
G
=
/<
([\w
:-
]
+
)
/
,
J
=
/^$|
\/(?:
java|ecma
)
script/i
,
K
=
{
option
:[
1
,
"<select multiple='multiple'>"
,
"</select>"
],
thead
:[
1
,
"<table>"
,
"</table>"
],
col
:[
2
,
"<table><colgroup>"
,
"</colgroup></table>"
],
tr
:[
2
,
"<table><tbody>"
,
"</tbody></table>"
],
td
:[
3
,
"<table><tbody><tr>"
,
"</tr></tbody></table>"
],
_default
:[
0
,
""
,
""
]};
K
.
optgroup
=
K
.
option
,
K
.
tbody
=
K
.
tfoot
=
K
.
colgroup
=
K
.
caption
=
K
.
thead
,
K
.
th
=
K
.
td
;
var
tt
=
/<|&#
?\w
+;/
;
!
function
(){
var
e
=
r
.
createDocumentFragment
(),
t
=
e
.
appendChild
(
r
.
createElement
(
"div"
)),
n
=
r
.
createElement
(
"input"
);
n
.
setAttribute
(
"type"
,
"radio"
),
n
.
setAttribute
(
"checked"
,
"checked"
),
n
.
setAttribute
(
"name"
,
"t"
),
t
.
appendChild
(
n
),
f
.
checkClone
=
t
.
cloneNode
(
!
0
).
cloneNode
(
!
0
).
lastChild
.
checked
,
t
.
innerHTML
=
"<textarea>x</textarea>"
,
f
.
noCloneChecked
=!!
t
.
cloneNode
(
!
0
).
lastChild
.
defaultValue
}();
var
rt
=
/^key/
,
it
=
/^
(?:
mouse|pointer|contextmenu|drag|drop
)
|click/
,
ot
=
/^
([^
.
]
*
)(?:\.(
.+
)
|
)
/
;
d
.
event
=
{
global
:{},
add
:
function
(
e
,
t
,
n
,
r
,
i
){
var
o
,
s
,
a
,
u
,
l
,
c
,
f
,
p
,
h
,
g
,
m
,
v
=
R
.
get
(
e
);
if
(
v
)
for
(
n
.
handler
&&
(
o
=
n
,
n
=
o
.
handler
,
i
=
o
.
selector
),
n
.
guid
||
(
n
.
guid
=
d
.
guid
++
),(
u
=
v
.
events
)
||
(
u
=
v
.
events
=
{}),(
s
=
v
.
handle
)
||
(
s
=
v
.
handle
=
function
(
t
){
return
"undefined"
!=
typeof
d
&&
d
.
event
.
triggered
!==
t
.
type
?
d
.
event
.
dispatch
.
apply
(
e
,
arguments
):
void
0
}),
t
=
(
t
||
""
).
match
(
q
)
||
[
""
],
l
=
t
.
length
;
l
--
;)
a
=
ot
.
exec
(
t
[
l
])
||
[],
h
=
m
=
a
[
1
],
g
=
(
a
[
2
]
||
""
).
split
(
"."
).
sort
(),
h
&&
(
f
=
d
.
event
.
special
[
h
]
||
{},
h
=
(
i
?
f
.
delegateType
:
f
.
bindType
)
||
h
,
f
=
d
.
event
.
special
[
h
]
||
{},
c
=
d
.
extend
({
type
:
h
,
origType
:
m
,
data
:
r
,
handler
:
n
,
guid
:
n
.
guid
,
selector
:
i
,
needsContext
:
i
&&
d
.
expr
.
match
.
needsContext
.
test
(
i
),
namespace
:
g
.
join
(
"."
)},
o
),(
p
=
u
[
h
])
||
(
p
=
u
[
h
]
=
[],
p
.
delegateCount
=
0
,
f
.
setup
&&
f
.
setup
.
call
(
e
,
r
,
g
,
s
)
!==!
1
||
e
.
addEventListener
&&
e
.
addEventListener
(
h
,
s
)),
f
.
add
&&
(
f
.
add
.
call
(
e
,
c
),
c
.
handler
.
guid
||
(
c
.
handler
.
guid
=
n
.
guid
)),
i
?
p
.
splice
(
p
.
delegateCount
++
,
0
,
c
):
p
.
push
(
c
),
d
.
event
.
global
[
h
]
=!
0
)},
remove
:
function
(
e
,
t
,
n
,
r
,
i
){
var
o
,
s
,
a
,
u
,
l
,
c
,
f
,
p
,
h
,
g
,
m
,
v
=
R
.
hasData
(
e
)
&&
R
.
get
(
e
);
if
(
v
&&
(
u
=
v
.
events
)){
for
(
t
=
(
t
||
""
).
match
(
q
)
||
[
""
],
l
=
t
.
length
;
l
--
;)
if
(
a
=
ot
.
exec
(
t
[
l
])
||
[],
h
=
m
=
a
[
1
],
g
=
(
a
[
2
]
||
""
).
split
(
"."
).
sort
(),
h
){
for
(
f
=
d
.
event
.
special
[
h
]
||
{},
h
=
(
r
?
f
.
delegateType
:
f
.
bindType
)
||
h
,
p
=
u
[
h
]
||
[],
a
=
a
[
2
]
&&
new
RegExp
(
"(^|\\.)"
+
g
.
join
(
"\\.(?:.*\\.|)"
)
+
"(\\.|$)"
),
s
=
o
=
p
.
length
;
o
--
;)
c
=
p
[
o
],
!
i
&&
m
!==
c
.
origType
||
n
&&
n
.
guid
!==
c
.
guid
||
a
&&!
a
.
test
(
c
.
namespace
)
||
r
&&
r
!==
c
.
selector
&&
(
"**"
!==
r
||!
c
.
selector
)
||
(
p
.
splice
(
o
,
1
),
c
.
selector
&&
p
.
delegateCount
--
,
f
.
remove
&&
f
.
remove
.
call
(
e
,
c
));
s
&&!
p
.
length
&&
(
f
.
teardown
&&
f
.
teardown
.
call
(
e
,
g
,
v
.
handle
)
!==!
1
||
d
.
removeEvent
(
e
,
h
,
v
.
handle
),
delete
u
[
h
])}
else
for
(
h
in
u
)
d
.
event
.
remove
(
e
,
h
+
t
[
l
],
n
,
r
,
!
0
);
d
.
isEmptyObject
(
u
)
&&
R
.
remove
(
e
,
"handle events"
)}},
dispatch
:
function
(
e
){
e
=
d
.
event
.
fix
(
e
);
var
t
,
n
,
r
,
o
,
s
,
a
=
[],
u
=
i
.
call
(
arguments
),
l
=
(
R
.
get
(
this
,
"events"
)
||
{})[
e
.
type
]
||
[],
c
=
d
.
event
.
special
[
e
.
type
]
||
{};
if
(
u
[
0
]
=
e
,
e
.
delegateTarget
=
this
,
!
c
.
preDispatch
||
c
.
preDispatch
.
call
(
this
,
e
)
!==!
1
){
for
(
a
=
d
.
event
.
handlers
.
call
(
this
,
e
,
l
),
t
=
0
;(
o
=
a
[
t
++
])
&&!
e
.
isPropagationStopped
();)
for
(
e
.
currentTarget
=
o
.
elem
,
n
=
0
;(
s
=
o
.
handlers
[
n
++
])
&&!
e
.
isImmediatePropagationStopped
();)
e
.
rnamespace
&&!
e
.
rnamespace
.
test
(
s
.
namespace
)
||
(
e
.
handleObj
=
s
,
e
.
data
=
s
.
data
,
r
=
((
d
.
event
.
special
[
s
.
origType
]
||
{}).
handle
||
s
.
handler
).
apply
(
o
.
elem
,
u
),
void
0
!==
r
&&
(
e
.
result
=
r
)
===!
1
&&
(
e
.
preventDefault
(),
e
.
stopPropagation
()));
return
c
.
postDispatch
&&
c
.
postDispatch
.
call
(
this
,
e
),
e
.
result
}},
handlers
:
function
(
e
,
t
){
var
n
,
r
,
i
,
o
,
s
=
[],
a
=
t
.
delegateCount
,
u
=
e
.
target
;
if
(
a
&&
u
.
nodeType
&&
(
"click"
!==
e
.
type
||
isNaN
(
e
.
button
)
||
e
.
button
<
1
))
for
(;
u
!==
this
;
u
=
u
.
parentNode
||
this
)
if
(
1
===
u
.
nodeType
&&
(
u
.
disabled
!==!
0
||
"click"
!==
e
.
type
)){
for
(
r
=
[],
n
=
0
;
a
>
n
;
n
++
)
o
=
t
[
n
],
i
=
o
.
selector
+
" "
,
void
0
===
r
[
i
]
&&
(
r
[
i
]
=
o
.
needsContext
?
d
(
i
,
this
).
index
(
u
)
>-
1
:
d
.
find
(
i
,
this
,
null
,[
u
]).
length
),
r
[
i
]
&&
r
.
push
(
o
);
r
.
length
&&
s
.
push
({
elem
:
u
,
handlers
:
r
})}
return
a
<
t
.
length
&&
s
.
push
({
elem
:
this
,
handlers
:
t
.
slice
(
a
)}),
s
},
props
:
"altKey bubbles cancelable ctrlKey currentTarget detail eventPhase metaKey relatedTarget shiftKey target timeStamp view which"
.
split
(
" "
),
fixHooks
:{},
keyHooks
:{
props
:
"char charCode key keyCode"
.
split
(
" "
),
filter
:
function
(
e
,
t
){
return
null
==
e
.
which
&&
(
e
.
which
=
null
!=
t
.
charCode
?
t
.
charCode
:
t
.
keyCode
),
e
}},
mouseHooks
:{
props
:
"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement"
.
split
(
" "
),
filter
:
function
(
e
,
t
){
var
n
,
i
,
o
,
s
=
t
.
button
;
return
null
==
e
.
pageX
&&
null
!=
t
.
clientX
&&
(
n
=
e
.
target
.
ownerDocument
||
r
,
i
=
n
.
documentElement
,
o
=
n
.
body
,
e
.
pageX
=
t
.
clientX
+
(
i
&&
i
.
scrollLeft
||
o
&&
o
.
scrollLeft
||
0
)
-
(
i
&&
i
.
clientLeft
||
o
&&
o
.
clientLeft
||
0
),
e
.
pageY
=
t
.
clientY
+
(
i
&&
i
.
scrollTop
||
o
&&
o
.
scrollTop
||
0
)
-
(
i
&&
i
.
clientTop
||
o
&&
o
.
clientTop
||
0
)),
e
.
which
||
void
0
===
s
||
(
e
.
which
=
1
&
s
?
1
:
2
&
s
?
3
:
4
&
s
?
2
:
0
),
e
}},
fix
:
function
(
e
){
if
(
e
[
d
.
expando
])
return
e
;
var
t
,
n
,
i
,
o
=
e
.
type
,
s
=
e
,
a
=
this
.
fixHooks
[
o
];
for
(
a
||
(
this
.
fixHooks
[
o
]
=
a
=
it
.
test
(
o
)?
this
.
mouseHooks
:
rt
.
test
(
o
)?
this
.
keyHooks
:{}),
i
=
a
.
props
?
this
.
props
.
concat
(
a
.
props
):
this
.
props
,
e
=
new
d
.
Event
(
s
),
t
=
i
.
length
;
t
--
;)
n
=
i
[
t
],
e
[
n
]
=
s
[
n
];
return
e
.
target
||
(
e
.
target
=
r
),
3
===
e
.
target
.
nodeType
&&
(
e
.
target
=
e
.
target
.
parentNode
),
a
.
filter
?
a
.
filter
(
e
,
s
):
e
},
special
:{
load
:{
noBubble
:
!
0
},
focus
:{
trigger
:
function
(){
return
this
!==
ut
()
&&
this
.
focus
?(
this
.
focus
(),
!
1
):
void
0
},
delegateType
:
"focusin"
},
blur
:{
trigger
:
function
(){
return
this
===
ut
()
&&
this
.
blur
?(
this
.
blur
(),
!
1
):
void
0
},
delegateType
:
"focusout"
},
click
:{
trigger
:
function
(){
return
"checkbox"
===
this
.
type
&&
this
.
click
&&
d
.
nodeName
(
this
,
"input"
)?(
this
.
click
(),
!
1
):
void
0
},
_default
:
function
(
e
){
return
d
.
nodeName
(
e
.
target
,
"a"
)}},
beforeunload
:{
postDispatch
:
function
(
e
){
void
0
!==
e
.
result
&&
e
.
originalEvent
&&
(
e
.
originalEvent
.
returnValue
=
e
.
result
)}}}},
d
.
removeEvent
=
function
(
e
,
t
,
n
){
e
.
removeEventListener
&&
e
.
removeEventListener
(
t
,
n
)},
d
.
Event
=
function
(
e
,
t
){
return
this
instanceof
d
.
Event
?(
e
&&
e
.
type
?(
this
.
originalEvent
=
e
,
this
.
type
=
e
.
type
,
this
.
isDefaultPrevented
=
e
.
defaultPrevented
||
void
0
===
e
.
defaultPrevented
&&
e
.
returnValue
===!
1
?
st
:
at
):
this
.
type
=
e
,
t
&&
d
.
extend
(
this
,
t
),
this
.
timeStamp
=
e
&&
e
.
timeStamp
||
d
.
now
(),
void
(
this
[
d
.
expando
]
=!
0
)):
new
d
.
Event
(
e
,
t
)},
d
.
Event
.
prototype
=
{
constructor
:
d
.
Event
,
isDefaultPrevented
:
at
,
isPropagationStopped
:
at
,
isImmediatePropagationStopped
:
at
,
isSimulated
:
!
1
,
preventDefault
:
function
(){
var
e
=
this
.
originalEvent
;
this
.
isDefaultPrevented
=
st
,
e
&&!
this
.
isSimulated
&&
e
.
preventDefault
()},
stopPropagation
:
function
(){
var
e
=
this
.
originalEvent
;
this
.
isPropagationStopped
=
st
,
e
&&!
this
.
isSimulated
&&
e
.
stopPropagation
()},
stopImmediatePropagation
:
function
(){
var
e
=
this
.
originalEvent
;
this
.
isImmediatePropagationStopped
=
st
,
e
&&!
this
.
isSimulated
&&
e
.
stopImmediatePropagation
(),
this
.
stopPropagation
()}},
d
.
each
({
mouseenter
:
"mouseover"
,
mouseleave
:
"mouseout"
,
pointerenter
:
"pointerover"
,
pointerleave
:
"pointerout"
},
function
(
e
,
t
){
d
.
event
.
special
[
e
]
=
{
delegateType
:
t
,
bindType
:
t
,
handle
:
function
(
e
){
var
n
,
r
=
this
,
i
=
e
.
relatedTarget
,
o
=
e
.
handleObj
;
return
i
&&
(
i
===
r
||
d
.
contains
(
r
,
i
))
||
(
e
.
type
=
o
.
origType
,
n
=
o
.
handler
.
apply
(
this
,
arguments
),
e
.
type
=
t
),
n
}}}),
d
.
fn
.
extend
({
on
:
function
(
e
,
t
,
n
,
r
){
return
lt
(
this
,
e
,
t
,
n
,
r
)},
one
:
function
(
e
,
t
,
n
,
r
){
return
lt
(
this
,
e
,
t
,
n
,
r
,
1
)},
off
:
function
(
e
,
t
,
n
){
var
r
,
i
;
if
(
e
&&
e
.
preventDefault
&&
e
.
handleObj
)
return
r
=
e
.
handleObj
,
d
(
e
.
delegateTarget
).
off
(
r
.
namespace
?
r
.
origType
+
"."
+
r
.
namespace
:
r
.
origType
,
r
.
selector
,
r
.
handler
),
this
;
if
(
"object"
==
typeof
e
){
for
(
i
in
e
)
this
.
off
(
i
,
t
,
e
[
i
]);
return
this
}
return
t
!==!
1
&&
"function"
!=
typeof
t
||
(
n
=
t
,
t
=
void
0
),
n
===!
1
&&
(
n
=
at
),
this
.
each
(
function
(){
d
.
event
.
remove
(
this
,
e
,
n
,
t
)})}});
var
ct
=
/<
(?!
area|br|col|embed|hr|img|input|link|meta|param
)(([\w
:-
]
+
)[^
>
]
*
)\/
>/gi
,
ft
=
/<script|<style|<link/i
,
pt
=
/checked
\s
*
(?:[^
=
]
|=
\s
*.checked.
)
/i
,
dt
=
/^true
\/(
.*
)
/
,
ht
=
/^
\s
*<!
(?:\[
CDATA
\[
|--
)
|
(?:\]\]
|--
)
>
\s
*$/g
;
d
.
extend
({
htmlPrefilter
:
function
(
e
){
return
e
.
replace
(
ct
,
"<$1></$2>"
)},
clone
:
function
(
e
,
t
,
n
){
var
r
,
i
,
o
,
s
,
a
=
e
.
cloneNode
(
!
0
),
u
=
d
.
contains
(
e
.
ownerDocument
,
e
);
if
(
!
(
f
.
noCloneChecked
||
1
!==
e
.
nodeType
&&
11
!==
e
.
nodeType
||
d
.
isXMLDoc
(
e
)))
for
(
s
=
Z
(
a
),
o
=
Z
(
e
),
r
=
0
,
i
=
o
.
length
;
i
>
r
;
r
++
)
xt
(
o
[
r
],
s
[
r
]);
if
(
t
)
if
(
n
)
for
(
o
=
o
||
Z
(
e
),
s
=
s
||
Z
(
a
),
r
=
0
,
i
=
o
.
length
;
i
>
r
;
r
++
)
yt
(
o
[
r
],
s
[
r
]);
else
yt
(
e
,
a
);
return
s
=
Z
(
a
,
"script"
),
s
.
length
>
0
&&
et
(
s
,
!
u
&&
Z
(
e
,
"script"
)),
a
},
cleanData
:
function
(
e
){
for
(
var
t
,
n
,
r
,
i
=
d
.
event
.
special
,
o
=
0
;
void
0
!==
(
n
=
e
[
o
]);
o
++
)
if
(
P
(
n
)){
if
(
t
=
n
[
R
.
expando
]){
if
(
t
.
events
)
for
(
r
in
t
.
events
)
i
[
r
]?
d
.
event
.
remove
(
n
,
r
):
d
.
removeEvent
(
n
,
r
,
t
.
handle
);
n
[
R
.
expando
]
=
void
0
}
n
[
I
.
expando
]
&&
(
n
[
I
.
expando
]
=
void
0
)}}}),
d
.
fn
.
extend
({
domManip
:
wt
,
detach
:
function
(
e
){
return
bt
(
this
,
e
,
!
0
)},
remove
:
function
(
e
){
return
bt
(
this
,
e
)},
text
:
function
(
e
){
return
F
(
this
,
function
(
e
){
return
void
0
===
e
?
d
.
text
(
this
):
this
.
empty
().
each
(
function
(){
1
!==
this
.
nodeType
&&
11
!==
this
.
nodeType
&&
9
!==
this
.
nodeType
||
(
this
.
textContent
=
e
)})},
null
,
e
,
arguments
.
length
)},
append
:
function
(){
return
wt
(
this
,
arguments
,
function
(
e
){
if
(
1
===
this
.
nodeType
||
11
===
this
.
nodeType
||
9
===
this
.
nodeType
){
var
t
=
gt
(
this
,
e
);
t
.
appendChild
(
e
)}})},
prepend
:
function
(){
return
wt
(
this
,
arguments
,
function
(
e
){
if
(
1
===
this
.
nodeType
||
11
===
this
.
nodeType
||
9
===
this
.
nodeType
){
var
t
=
gt
(
this
,
e
);
t
.
insertBefore
(
e
,
t
.
firstChild
)}})},
before
:
function
(){
return
wt
(
this
,
arguments
,
function
(
e
){
this
.
parentNode
&&
this
.
parentNode
.
insertBefore
(
e
,
this
)})},
after
:
function
(){
return
wt
(
this
,
arguments
,
function
(
e
){
this
.
parentNode
&&
this
.
parentNode
.
insertBefore
(
e
,
this
.
nextSibling
)})},
empty
:
function
(){
for
(
var
e
,
t
=
0
;
null
!=
(
e
=
this
[
t
]);
t
++
)
1
===
e
.
nodeType
&&
(
d
.
cleanData
(
Z
(
e
,
!
1
)),
e
.
textContent
=
""
);
return
this
},
clone
:
function
(
e
,
t
){
return
e
=
null
==
e
?
!
1
:
e
,
t
=
null
==
t
?
e
:
t
,
this
.
map
(
function
(){
return
d
.
clone
(
this
,
e
,
t
)})},
html
:
function
(
e
){
return
F
(
this
,
function
(
e
){
var
t
=
this
[
0
]
||
{},
n
=
0
,
r
=
this
.
length
;
if
(
void
0
===
e
&&
1
===
t
.
nodeType
)
return
t
.
innerHTML
;
if
(
"string"
==
typeof
e
&&!
ft
.
test
(
e
)
&&!
K
[(
G
.
exec
(
e
)
||
[
""
,
""
])[
1
].
toLowerCase
()]){
e
=
d
.
htmlPrefilter
(
e
);
try
{
for
(;
r
>
n
;
n
++
)
t
=
this
[
n
]
||
{},
1
===
t
.
nodeType
&&
(
d
.
cleanData
(
Z
(
t
,
!
1
)),
t
.
innerHTML
=
e
);
t
=
0
}
catch
(
i
){}}
t
&&
this
.
empty
().
append
(
e
)},
null
,
e
,
arguments
.
length
)},
replaceWith
:
function
(){
var
e
=
[];
return
wt
(
this
,
arguments
,
function
(
t
){
var
n
=
this
.
parentNode
;
d
.
inArray
(
this
,
e
)
<
0
&&
(
d
.
cleanData
(
Z
(
this
)),
n
&&
n
.
replaceChild
(
t
,
this
))},
e
)}}),
d
.
each
({
appendTo
:
"append"
,
prependTo
:
"prepend"
,
insertBefore
:
"before"
,
insertAfter
:
"after"
,
replaceAll
:
"replaceWith"
},
function
(
e
,
t
){
d
.
fn
[
e
]
=
function
(
e
){
for
(
var
n
,
r
=
[],
i
=
d
(
e
),
o
=
i
.
length
-
1
,
a
=
0
;
o
>=
a
;
a
++
)
n
=
a
===
o
?
this
:
this
.
clone
(
!
0
),
d
(
i
[
a
])[
t
](
n
),
s
.
apply
(
r
,
n
.
get
());
return
this
.
pushStack
(
r
)}});
var
Tt
,
Ct
=
{
HTML
:
"block"
,
BODY
:
"block"
},
Et
=
/^margin/
,
Nt
=
new
RegExp
(
"^("
+
z
+
")(?!px)[a-z%]+$"
,
"i"
),
$t
=
function
(
t
){
var
n
=
t
.
ownerDocument
.
defaultView
;
return
n
&&
n
.
opener
||
(
n
=
e
),
n
.
getComputedStyle
(
t
)},
Dt
=
function
(
e
,
t
,
n
,
r
){
var
i
,
o
,
s
=
{};
for
(
o
in
t
)
s
[
o
]
=
e
.
style
[
o
],
e
.
style
[
o
]
=
t
[
o
];
i
=
n
.
apply
(
e
,
r
||
[]);
for
(
o
in
t
)
e
.
style
[
o
]
=
s
[
o
];
return
i
},
jt
=
r
.
documentElement
;
!
function
(){
function
u
(){
a
.
style
.
cssText
=
"-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%"
,
a
.
innerHTML
=
""
,
jt
.
appendChild
(
s
);
var
r
=
e
.
getComputedStyle
(
a
);
t
=
"1%"
!==
r
.
top
,
o
=
"2px"
===
r
.
marginLeft
,
n
=
"4px"
===
r
.
width
,
a
.
style
.
marginRight
=
"50%"
,
i
=
"4px"
===
r
.
marginRight
,
jt
.
removeChild
(
s
)}
var
t
,
n
,
i
,
o
,
s
=
r
.
createElement
(
"div"
),
a
=
r
.
createElement
(
"div"
);
a
.
style
&&
(
a
.
style
.
backgroundClip
=
"content-box"
,
a
.
cloneNode
(
!
0
).
style
.
backgroundClip
=
""
,
f
.
clearCloneStyle
=
"content-box"
===
a
.
style
.
backgroundClip
,
s
.
style
.
cssText
=
"border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute"
,
s
.
appendChild
(
a
),
d
.
extend
(
f
,{
pixelPosition
:
function
(){
return
u
(),
t
},
boxSizingReliable
:
function
(){
return
null
==
n
&&
u
(),
n
},
pixelMarginRight
:
function
(){
return
null
==
n
&&
u
(),
i
},
reliableMarginLeft
:
function
(){
return
null
==
n
&&
u
(),
o
},
reliableMarginRight
:
function
(){
var
t
,
n
=
a
.
appendChild
(
r
.
createElement
(
"div"
));
return
n
.
style
.
cssText
=
a
.
style
.
cssText
=
"-webkit-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0"
,
n
.
style
.
marginRight
=
n
.
style
.
width
=
"0"
,
a
.
style
.
width
=
"1px"
,
jt
.
appendChild
(
s
),
t
=!
parseFloat
(
e
.
getComputedStyle
(
n
).
marginRight
),
jt
.
removeChild
(
s
),
a
.
removeChild
(
n
),
t
}}))}();
var
Lt
=
/^
(
none|table
(?!
-c
[
ea
])
.+
)
/
,
Ht
=
{
position
:
"absolute"
,
visibility
:
"hidden"
,
display
:
"block"
},
Ot
=
{
letterSpacing
:
"0"
,
fontWeight
:
"400"
},
Ft
=
[
"Webkit"
,
"O"
,
"Moz"
,
"ms"
],
Pt
=
r
.
createElement
(
"div"
).
style
;
d
.
extend
({
cssHooks
:{
opacity
:{
get
:
function
(
e
,
t
){
if
(
t
){
var
n
=
At
(
e
,
"opacity"
);
return
""
===
n
?
"1"
:
n
}}}},
cssNumber
:{
animationIterationCount
:
!
0
,
columnCount
:
!
0
,
fillOpacity
:
!
0
,
flexGrow
:
!
0
,
flexShrink
:
!
0
,
fontWeight
:
!
0
,
lineHeight
:
!
0
,
opacity
:
!
0
,
order
:
!
0
,
orphans
:
!
0
,
widows
:
!
0
,
zIndex
:
!
0
,
zoom
:
!
0
},
cssProps
:{
"float"
:
"cssFloat"
},
style
:
function
(
e
,
t
,
n
,
r
){
if
(
e
&&
3
!==
e
.
nodeType
&&
8
!==
e
.
nodeType
&&
e
.
style
){
var
i
,
o
,
s
,
a
=
d
.
camelCase
(
t
),
u
=
e
.
style
;
return
t
=
d
.
cssProps
[
a
]
||
(
d
.
cssProps
[
a
]
=
Mt
(
a
)
||
a
),
s
=
d
.
cssHooks
[
t
]
||
d
.
cssHooks
[
a
],
void
0
===
n
?
s
&&
"get"
in
s
&&
void
0
!==
(
i
=
s
.
get
(
e
,
!
1
,
r
))?
i
:
u
[
t
]:(
o
=
typeof
n
,
"string"
===
o
&&
(
i
=
X
.
exec
(
n
))
&&
i
[
1
]
&&
(
n
=
Y
(
e
,
t
,
i
),
o
=
"number"
),
void
(
null
!=
n
&&
n
===
n
&&
(
"number"
===
o
&&
(
n
+=
i
&&
i
[
3
]
||
(
d
.
cssNumber
[
a
]?
""
:
"px"
)),
f
.
clearCloneStyle
||
""
!==
n
||
0
!==
t
.
indexOf
(
"background"
)
||
(
u
[
t
]
=
"inherit"
),
s
&&
"set"
in
s
&&
void
0
===
(
n
=
s
.
set
(
e
,
n
,
r
))
||
(
u
[
t
]
=
n
))))}},
css
:
function
(
e
,
t
,
n
,
r
){
var
i
,
o
,
s
,
a
=
d
.
camelCase
(
t
);
return
t
=
d
.
cssProps
[
a
]
||
(
d
.
cssProps
[
a
]
=
Mt
(
a
)
||
a
),
s
=
d
.
cssHooks
[
t
]
||
d
.
cssHooks
[
a
],
s
&&
"get"
in
s
&&
(
i
=
s
.
get
(
e
,
!
0
,
n
)),
void
0
===
i
&&
(
i
=
At
(
e
,
t
,
r
)),
"normal"
===
i
&&
t
in
Ot
&&
(
i
=
Ot
[
t
]),
""
===
n
||
n
?(
o
=
parseFloat
(
i
),
n
===!
0
||
isFinite
(
o
)?
o
||
0
:
i
):
i
}}),
d
.
each
([
"height"
,
"width"
],
function
(
e
,
t
){
d
.
cssHooks
[
t
]
=
{
get
:
function
(
e
,
n
,
r
){
return
n
?
Lt
.
test
(
d
.
css
(
e
,
"display"
))
&&
0
===
e
.
offsetWidth
?
Dt
(
e
,
Ht
,
function
(){
return
Wt
(
e
,
t
,
r
)}):
Wt
(
e
,
t
,
r
):
void
0
},
set
:
function
(
e
,
n
,
r
){
var
i
,
o
=
r
&&
$t
(
e
),
s
=
r
&&
It
(
e
,
t
,
r
,
"border-box"
===
d
.
css
(
e
,
"boxSizing"
,
!
1
,
o
),
o
);
return
s
&&
(
i
=
X
.
exec
(
n
))
&&
"px"
!==
(
i
[
3
]
||
"px"
)
&&
(
e
.
style
[
t
]
=
n
,
n
=
d
.
css
(
e
,
t
)),
Rt
(
e
,
n
,
s
)}}}),
d
.
cssHooks
.
marginLeft
=
qt
(
f
.
reliableMarginLeft
,
function
(
e
,
t
){
return
t
?(
parseFloat
(
At
(
e
,
"marginLeft"
))
||
e
.
getBoundingClientRect
().
left
-
Dt
(
e
,{
marginLeft
:
0
},
function
(){
return
e
.
getBoundingClientRect
().
left
}))
+
"px"
:
void
0
}),
d
.
cssHooks
.
marginRight
=
qt
(
f
.
reliableMarginRight
,
function
(
e
,
t
){
return
t
?
Dt
(
e
,{
display
:
"inline-block"
},
At
,[
e
,
"marginRight"
]):
void
0
}),
d
.
each
({
margin
:
""
,
padding
:
""
,
border
:
"Width"
},
function
(
e
,
t
){
d
.
cssHooks
[
e
+
t
]
=
{
expand
:
function
(
n
){
for
(
var
r
=
0
,
i
=
{},
o
=
"string"
==
typeof
n
?
n
.
split
(
" "
):[
n
];
4
>
r
;
r
++
)
i
[
e
+
U
[
r
]
+
t
]
=
o
[
r
]
||
o
[
r
-
2
]
||
o
[
0
];
return
i
}},
Et
.
test
(
e
)
||
(
d
.
cssHooks
[
e
+
t
].
set
=
Rt
)}),
d
.
fn
.
extend
({
css
:
function
(
e
,
t
){
return
F
(
this
,
function
(
e
,
t
,
n
){
var
r
,
i
,
o
=
{},
s
=
0
;
if
(
d
.
isArray
(
t
)){
for
(
r
=
$t
(
e
),
i
=
t
.
length
;
i
>
s
;
s
++
)
o
[
t
[
s
]]
=
d
.
css
(
e
,
t
[
s
],
!
1
,
r
);
return
o
}
return
void
0
!==
n
?
d
.
style
(
e
,
t
,
n
):
d
.
css
(
e
,
t
)},
e
,
t
,
arguments
.
length
>
1
)},
show
:
function
(){
return
Bt
(
this
,
!
0
)},
hide
:
function
(){
return
Bt
(
this
)},
toggle
:
function
(
e
){
return
"boolean"
==
typeof
e
?
e
?
this
.
show
():
this
.
hide
():
this
.
each
(
function
(){
V
(
this
)?
d
(
this
).
show
():
d
(
this
).
hide
()})}}),
d
.
Tween
=
_t
,
_t
.
prototype
=
{
constructor
:
_t
,
init
:
function
(
e
,
t
,
n
,
r
,
i
,
o
){
this
.
elem
=
e
,
this
.
prop
=
n
,
this
.
easing
=
i
||
d
.
easing
.
_default
,
this
.
options
=
t
,
this
.
start
=
this
.
now
=
this
.
cur
(),
this
.
end
=
r
,
this
.
unit
=
o
||
(
d
.
cssNumber
[
n
]?
""
:
"px"
)},
cur
:
function
(){
var
e
=
_t
.
propHooks
[
this
.
prop
];
return
e
&&
e
.
get
?
e
.
get
(
this
):
_t
.
propHooks
.
_default
.
get
(
this
)},
run
:
function
(
e
){
var
t
,
n
=
_t
.
propHooks
[
this
.
prop
];
return
this
.
pos
=
t
=
this
.
options
.
duration
?
d
.
easing
[
this
.
easing
](
e
,
this
.
options
.
duration
*
e
,
0
,
1
,
this
.
options
.
duration
):
e
,
this
.
now
=
(
this
.
end
-
this
.
start
)
*
t
+
this
.
start
,
this
.
options
.
step
&&
this
.
options
.
step
.
call
(
this
.
elem
,
this
.
now
,
this
),
n
&&
n
.
set
?
n
.
set
(
this
):
_t
.
propHooks
.
_default
.
set
(
this
),
this
}},
_t
.
prototype
.
init
.
prototype
=
_t
.
prototype
,
_t
.
propHooks
=
{
_default
:{
get
:
function
(
e
){
var
t
;
return
1
!==
e
.
elem
.
nodeType
||
null
!=
e
.
elem
[
e
.
prop
]
&&
null
==
e
.
elem
.
style
[
e
.
prop
]?
e
.
elem
[
e
.
prop
]:(
t
=
d
.
css
(
e
.
elem
,
e
.
prop
,
""
),
t
&&
"auto"
!==
t
?
t
:
0
)},
set
:
function
(
e
){
d
.
fx
.
step
[
e
.
prop
]?
d
.
fx
.
step
[
e
.
prop
](
e
):
1
!==
e
.
elem
.
nodeType
||
null
==
e
.
elem
.
style
[
d
.
cssProps
[
e
.
prop
]]
&&!
d
.
cssHooks
[
e
.
prop
]?
e
.
elem
[
e
.
prop
]
=
e
.
now
:
d
.
style
(
e
.
elem
,
e
.
prop
,
e
.
now
+
e
.
unit
)}}},
_t
.
propHooks
.
scrollTop
=
_t
.
propHooks
.
scrollLeft
=
{
set
:
function
(
e
){
e
.
elem
.
nodeType
&&
e
.
elem
.
parentNode
&&
(
e
.
elem
[
e
.
prop
]
=
e
.
now
)}},
d
.
easing
=
{
linear
:
function
(
e
){
return
e
},
swing
:
function
(
e
){
return
.
5
-
Math
.
cos
(
e
*
Math
.
PI
)
/
2
},
_default
:
"swing"
},
d
.
fx
=
_t
.
prototype
.
init
,
d
.
fx
.
step
=
{};
var
zt
,
Xt
,
Ut
=
/^
(?:
toggle|show|hide
)
$/
,
Vt
=
/queueHooks$/
;
d
.
Animation
=
d
.
extend
(
Zt
,{
tweeners
:{
"*"
:[
function
(
e
,
t
){
var
n
=
this
.
createTween
(
e
,
t
);
return
Y
(
n
.
elem
,
e
,
X
.
exec
(
t
),
n
),
n
}]},
tweener
:
function
(
e
,
t
){
d
.
isFunction
(
e
)?(
t
=
e
,
e
=
[
"*"
]):
e
=
e
.
match
(
q
);
for
(
var
n
,
r
=
0
,
i
=
e
.
length
;
i
>
r
;
r
++
)
n
=
e
[
r
],
Zt
.
tweeners
[
n
]
=
Zt
.
tweeners
[
n
]
||
[],
Zt
.
tweeners
[
n
].
unshift
(
t
)},
prefilters
:[
Jt
],
prefilter
:
function
(
e
,
t
){
t
?
Zt
.
prefilters
.
unshift
(
e
):
Zt
.
prefilters
.
push
(
e
)}}),
d
.
speed
=
function
(
e
,
t
,
n
){
var
r
=
e
&&
"object"
==
typeof
e
?
d
.
extend
({},
e
):{
complete
:
n
||!
n
&&
t
||
d
.
isFunction
(
e
)
&&
e
,
duration
:
e
,
easing
:
n
&&
t
||
t
&&!
d
.
isFunction
(
t
)
&&
t
};
return
r
.
duration
=
d
.
fx
.
off
?
0
:
"number"
==
typeof
r
.
duration
?
r
.
duration
:
r
.
duration
in
d
.
fx
.
speeds
?
d
.
fx
.
speeds
[
r
.
duration
]:
d
.
fx
.
speeds
.
_default
,
null
!=
r
.
queue
&&
r
.
queue
!==!
0
||
(
r
.
queue
=
"fx"
),
r
.
old
=
r
.
complete
,
r
.
complete
=
function
(){
d
.
isFunction
(
r
.
old
)
&&
r
.
old
.
call
(
this
),
r
.
queue
&&
d
.
dequeue
(
this
,
r
.
queue
)},
r
},
d
.
fn
.
extend
({
fadeTo
:
function
(
e
,
t
,
n
,
r
){
return
this
.
filter
(
V
).
css
(
"opacity"
,
0
).
show
().
end
().
animate
({
opacity
:
t
},
e
,
n
,
r
)},
animate
:
function
(
e
,
t
,
n
,
r
){
var
i
=
d
.
isEmptyObject
(
e
),
o
=
d
.
speed
(
t
,
n
,
r
),
s
=
function
(){
var
t
=
Zt
(
this
,
d
.
extend
({},
e
),
o
);(
i
||
R
.
get
(
this
,
"finish"
))
&&
t
.
stop
(
!
0
)};
return
s
.
finish
=
s
,
i
||
o
.
queue
===!
1
?
this
.
each
(
s
):
this
.
queue
(
o
.
queue
,
s
)},
stop
:
function
(
e
,
t
,
n
){
var
r
=
function
(
e
){
var
t
=
e
.
stop
;
delete
e
.
stop
,
t
(
n
)};
return
"string"
!=
typeof
e
&&
(
n
=
t
,
t
=
e
,
e
=
void
0
),
t
&&
e
!==!
1
&&
this
.
queue
(
e
||
"fx"
,[]),
this
.
each
(
function
(){
var
t
=!
0
,
i
=
null
!=
e
&&
e
+
"queueHooks"
,
o
=
d
.
timers
,
s
=
R
.
get
(
this
);
if
(
i
)
s
[
i
]
&&
s
[
i
].
stop
&&
r
(
s
[
i
]);
else
for
(
i
in
s
)
s
[
i
]
&&
s
[
i
].
stop
&&
Vt
.
test
(
i
)
&&
r
(
s
[
i
]);
for
(
i
=
o
.
length
;
i
--
;)
o
[
i
].
elem
!==
this
||
null
!=
e
&&
o
[
i
].
queue
!==
e
||
(
o
[
i
].
anim
.
stop
(
n
),
t
=!
1
,
o
.
splice
(
i
,
1
));
!
t
&&
n
||
d
.
dequeue
(
this
,
e
)})},
finish
:
function
(
e
){
return
e
!==!
1
&&
(
e
=
e
||
"fx"
),
this
.
each
(
function
(){
var
t
,
n
=
R
.
get
(
this
),
r
=
n
[
e
+
"queue"
],
i
=
n
[
e
+
"queueHooks"
],
o
=
d
.
timers
,
s
=
r
?
r
.
length
:
0
;
for
(
n
.
finish
=!
0
,
d
.
queue
(
this
,
e
,[]),
i
&&
i
.
stop
&&
i
.
stop
.
call
(
this
,
!
0
),
t
=
o
.
length
;
t
--
;)
o
[
t
].
elem
===
this
&&
o
[
t
].
queue
===
e
&&
(
o
[
t
].
anim
.
stop
(
!
0
),
o
.
splice
(
t
,
1
));
for
(
t
=
0
;
s
>
t
;
t
++
)
r
[
t
]
&&
r
[
t
].
finish
&&
r
[
t
].
finish
.
call
(
this
);
delete
n
.
finish
})}}),
d
.
each
([
"toggle"
,
"show"
,
"hide"
],
function
(
e
,
t
){
var
n
=
d
.
fn
[
t
];
d
.
fn
[
t
]
=
function
(
e
,
r
,
i
){
return
null
==
e
||
"boolean"
==
typeof
e
?
n
.
apply
(
this
,
arguments
):
this
.
animate
(
Qt
(
t
,
!
0
),
e
,
r
,
i
)}}),
d
.
each
({
slideDown
:
Qt
(
"show"
),
slideUp
:
Qt
(
"hide"
),
slideToggle
:
Qt
(
"toggle"
),
fadeIn
:{
opacity
:
"show"
},
fadeOut
:{
opacity
:
"hide"
},
fadeToggle
:{
opacity
:
"toggle"
}},
function
(
e
,
t
){
d
.
fn
[
e
]
=
function
(
e
,
n
,
r
){
return
this
.
animate
(
t
,
e
,
n
,
r
)}}),
d
.
timers
=
[],
d
.
fx
.
tick
=
function
(){
var
e
,
t
=
0
,
n
=
d
.
timers
;
for
(
zt
=
d
.
now
();
t
<
n
.
length
;
t
++
)
e
=
n
[
t
],
e
()
||
n
[
t
]
!==
e
||
n
.
splice
(
t
--
,
1
);
n
.
length
||
d
.
fx
.
stop
(),
zt
=
void
0
},
d
.
fx
.
timer
=
function
(
e
){
d
.
timers
.
push
(
e
),
e
()?
d
.
fx
.
start
():
d
.
timers
.
pop
()},
d
.
fx
.
interval
=
13
,
d
.
fx
.
start
=
function
(){
Xt
||
(
Xt
=
e
.
setInterval
(
d
.
fx
.
tick
,
d
.
fx
.
interval
))},
d
.
fx
.
stop
=
function
(){
e
.
clearInterval
(
Xt
),
Xt
=
null
},
d
.
fx
.
speeds
=
{
slow
:
600
,
fast
:
200
,
_default
:
400
},
d
.
fn
.
delay
=
function
(
t
,
n
){
return
t
=
d
.
fx
?
d
.
fx
.
speeds
[
t
]
||
t
:
t
,
n
=
n
||
"fx"
,
this
.
queue
(
n
,
function
(
n
,
r
){
var
i
=
e
.
setTimeout
(
n
,
t
);
r
.
stop
=
function
(){
e
.
clearTimeout
(
i
)}})},
function
(){
var
e
=
r
.
createElement
(
"input"
),
t
=
r
.
createElement
(
"select"
),
n
=
t
.
appendChild
(
r
.
createElement
(
"option"
));
e
.
type
=
"checkbox"
,
f
.
checkOn
=
""
!==
e
.
value
,
f
.
optSelected
=
n
.
selected
,
t
.
disabled
=!
0
,
f
.
optDisabled
=!
n
.
disabled
,
e
=
r
.
createElement
(
"input"
),
e
.
value
=
"t"
,
e
.
type
=
"radio"
,
f
.
radioValue
=
"t"
===
e
.
value
}();
var
en
,
tn
=
d
.
expr
.
attrHandle
;
d
.
fn
.
extend
({
attr
:
function
(
e
,
t
){
return
F
(
this
,
d
.
attr
,
e
,
t
,
arguments
.
length
>
1
)},
removeAttr
:
function
(
e
){
return
this
.
each
(
function
(){
d
.
removeAttr
(
this
,
e
)})}}),
d
.
extend
({
attr
:
function
(
e
,
t
,
n
){
var
r
,
i
,
o
=
e
.
nodeType
;
return
3
!==
o
&&
8
!==
o
&&
2
!==
o
?
"undefined"
==
typeof
e
.
getAttribute
?
d
.
prop
(
e
,
t
,
n
):(
1
===
o
&&
d
.
isXMLDoc
(
e
)
||
(
t
=
t
.
toLowerCase
(),
i
=
d
.
attrHooks
[
t
]
||
(
d
.
expr
.
match
.
bool
.
test
(
t
)?
en
:
void
0
)),
void
0
!==
n
?
null
===
n
?
void
d
.
removeAttr
(
e
,
t
):
i
&&
"set"
in
i
&&
void
0
!==
(
r
=
i
.
set
(
e
,
n
,
t
))?
r
:(
e
.
setAttribute
(
t
,
n
+
""
),
n
):
i
&&
"get"
in
i
&&
null
!==
(
r
=
i
.
get
(
e
,
t
))?
r
:(
r
=
d
.
find
.
attr
(
e
,
t
),
null
==
r
?
void
0
:
r
)):
void
0
},
attrHooks
:{
type
:{
set
:
function
(
e
,
t
){
if
(
!
f
.
radioValue
&&
"radio"
===
t
&&
d
.
nodeName
(
e
,
"input"
)){
var
n
=
e
.
value
;
return
e
.
setAttribute
(
"type"
,
t
),
n
&&
(
e
.
value
=
n
),
t
}}}},
removeAttr
:
function
(
e
,
t
){
var
n
,
r
,
i
=
0
,
o
=
t
&&
t
.
match
(
q
);
if
(
o
&&
1
===
e
.
nodeType
)
for
(;
n
=
o
[
i
++
];)
r
=
d
.
propFix
[
n
]
||
n
,
d
.
expr
.
match
.
bool
.
test
(
n
)
&&
(
e
[
r
]
=!
1
),
e
.
removeAttribute
(
n
)}}),
en
=
{
set
:
function
(
e
,
t
,
n
){
return
t
===!
1
?
d
.
removeAttr
(
e
,
n
):
e
.
setAttribute
(
n
,
n
),
n
}},
d
.
each
(
d
.
expr
.
match
.
bool
.
source
.
match
(
/
\w
+/g
),
function
(
e
,
t
){
var
n
=
tn
[
t
]
||
d
.
find
.
attr
;
tn
[
t
]
=
function
(
e
,
t
,
r
){
var
i
,
o
;
return
r
||
(
o
=
tn
[
t
],
tn
[
t
]
=
i
,
i
=
null
!=
n
(
e
,
t
,
r
)?
t
.
toLowerCase
():
null
,
tn
[
t
]
=
o
),
i
}});
var
nn
=
/^
(?:
input|select|textarea|button
)
$/i
,
rn
=
/^
(?:
a|area
)
$/i
;
d
.
fn
.
extend
({
prop
:
function
(
e
,
t
){
return
F
(
this
,
d
.
prop
,
e
,
t
,
arguments
.
length
>
1
)},
removeProp
:
function
(
e
){
return
this
.
each
(
function
(){
delete
this
[
d
.
propFix
[
e
]
||
e
]})}}),
d
.
extend
({
prop
:
function
(
e
,
t
,
n
){
var
r
,
i
,
o
=
e
.
nodeType
;
return
3
!==
o
&&
8
!==
o
&&
2
!==
o
?(
1
===
o
&&
d
.
isXMLDoc
(
e
)
||
(
t
=
d
.
propFix
[
t
]
||
t
,
i
=
d
.
propHooks
[
t
]),
void
0
!==
n
?
i
&&
"set"
in
i
&&
void
0
!==
(
r
=
i
.
set
(
e
,
n
,
t
))?
r
:
e
[
t
]
=
n
:
i
&&
"get"
in
i
&&
null
!==
(
r
=
i
.
get
(
e
,
t
))?
r
:
e
[
t
]):
void
0
},
propHooks
:{
tabIndex
:{
get
:
function
(
e
){
var
t
=
d
.
find
.
attr
(
e
,
"tabindex"
);
return
t
?
parseInt
(
t
,
10
):
nn
.
test
(
e
.
nodeName
)
||
rn
.
test
(
e
.
nodeName
)
&&
e
.
href
?
0
:
-
1
}}},
propFix
:{
"for"
:
"htmlFor"
,
"class"
:
"className"
}}),
f
.
optSelected
||
(
d
.
propHooks
.
selected
=
{
get
:
function
(
e
){
var
t
=
e
.
parentNode
;
return
t
&&
t
.
parentNode
&&
t
.
parentNode
.
selectedIndex
,
null
},
set
:
function
(
e
){
var
t
=
e
.
parentNode
;
t
&&
(
t
.
selectedIndex
,
t
.
parentNode
&&
t
.
parentNode
.
selectedIndex
)}}),
d
.
each
([
"tabIndex"
,
"readOnly"
,
"maxLength"
,
"cellSpacing"
,
"cellPadding"
,
"rowSpan"
,
"colSpan"
,
"useMap"
,
"frameBorder"
,
"contentEditable"
],
function
(){
d
.
propFix
[
this
.
toLowerCase
()]
=
this
});
var
on
=
/
[\t\r\n\f]
/g
;
d
.
fn
.
extend
({
addClass
:
function
(
e
){
var
t
,
n
,
r
,
i
,
o
,
s
,
a
,
u
=
0
;
if
(
d
.
isFunction
(
e
))
return
this
.
each
(
function
(
t
){
d
(
this
).
addClass
(
e
.
call
(
this
,
t
,
sn
(
this
)))});
if
(
"string"
==
typeof
e
&&
e
)
for
(
t
=
e
.
match
(
q
)
||
[];
n
=
this
[
u
++
];)
if
(
i
=
sn
(
n
),
r
=
1
===
n
.
nodeType
&&
(
" "
+
i
+
" "
).
replace
(
on
,
" "
)){
for
(
s
=
0
;
o
=
t
[
s
++
];)
r
.
indexOf
(
" "
+
o
+
" "
)
<
0
&&
(
r
+=
o
+
" "
);
a
=
d
.
trim
(
r
),
i
!==
a
&&
n
.
setAttribute
(
"class"
,
a
)}
return
this
},
removeClass
:
function
(
e
){
var
t
,
n
,
r
,
i
,
o
,
s
,
a
,
u
=
0
;
if
(
d
.
isFunction
(
e
))
return
this
.
each
(
function
(
t
){
d
(
this
).
removeClass
(
e
.
call
(
this
,
t
,
sn
(
this
)))});
if
(
!
arguments
.
length
)
return
this
.
attr
(
"class"
,
""
);
if
(
"string"
==
typeof
e
&&
e
)
for
(
t
=
e
.
match
(
q
)
||
[];
n
=
this
[
u
++
];)
if
(
i
=
sn
(
n
),
r
=
1
===
n
.
nodeType
&&
(
" "
+
i
+
" "
).
replace
(
on
,
" "
)){
for
(
s
=
0
;
o
=
t
[
s
++
];)
for
(;
r
.
indexOf
(
" "
+
o
+
" "
)
>-
1
;)
r
=
r
.
replace
(
" "
+
o
+
" "
,
" "
);
a
=
d
.
trim
(
r
),
i
!==
a
&&
n
.
setAttribute
(
"class"
,
a
)}
return
this
},
toggleClass
:
function
(
e
,
t
){
var
n
=
typeof
e
;
return
"boolean"
==
typeof
t
&&
"string"
===
n
?
t
?
this
.
addClass
(
e
):
this
.
removeClass
(
e
):
this
.
each
(
d
.
isFunction
(
e
)?
function
(
n
){
d
(
this
).
toggleClass
(
e
.
call
(
this
,
n
,
sn
(
this
),
t
),
t
)}:
function
(){
var
t
,
r
,
i
,
o
;
if
(
"string"
===
n
)
for
(
r
=
0
,
i
=
d
(
this
),
o
=
e
.
match
(
q
)
||
[];
t
=
o
[
r
++
];)
i
.
hasClass
(
t
)?
i
.
removeClass
(
t
):
i
.
addClass
(
t
);
else
void
0
!==
e
&&
"boolean"
!==
n
||
(
t
=
sn
(
this
),
t
&&
R
.
set
(
this
,
"__className__"
,
t
),
this
.
setAttribute
&&
this
.
setAttribute
(
"class"
,
t
||
e
===!
1
?
""
:
R
.
get
(
this
,
"__className__"
)
||
""
))})},
hasClass
:
function
(
e
){
var
t
,
n
,
r
=
0
;
for
(
t
=
" "
+
e
+
" "
;
n
=
this
[
r
++
];)
if
(
1
===
n
.
nodeType
&&
(
" "
+
sn
(
n
)
+
" "
).
replace
(
on
,
" "
).
indexOf
(
t
)
>-
1
)
return
!
0
;
return
!
1
}});
var
an
=
/
\r
/g
,
un
=
/
[\x
20
\t\r\n\f]
+/g
;
d
.
fn
.
extend
({
val
:
function
(
e
){
var
t
,
n
,
r
,
i
=
this
[
0
];
return
arguments
.
length
?(
r
=
d
.
isFunction
(
e
),
this
.
each
(
function
(
n
){
var
i
;
1
===
this
.
nodeType
&&
(
i
=
r
?
e
.
call
(
this
,
n
,
d
(
this
).
val
()):
e
,
null
==
i
?
i
=
""
:
"number"
==
typeof
i
?
i
+=
""
:
d
.
isArray
(
i
)
&&
(
i
=
d
.
map
(
i
,
function
(
e
){
return
null
==
e
?
""
:
e
+
""
})),
t
=
d
.
valHooks
[
this
.
type
]
||
d
.
valHooks
[
this
.
nodeName
.
toLowerCase
()],
t
&&
"set"
in
t
&&
void
0
!==
t
.
set
(
this
,
i
,
"value"
)
||
(
this
.
value
=
i
))})):
i
?(
t
=
d
.
valHooks
[
i
.
type
]
||
d
.
valHooks
[
i
.
nodeName
.
toLowerCase
()],
t
&&
"get"
in
t
&&
void
0
!==
(
n
=
t
.
get
(
i
,
"value"
))?
n
:(
n
=
i
.
value
,
"string"
==
typeof
n
?
n
.
replace
(
an
,
""
):
null
==
n
?
""
:
n
)):
void
0
}}),
d
.
extend
({
valHooks
:{
option
:{
get
:
function
(
e
){
var
t
=
d
.
find
.
attr
(
e
,
"value"
);
return
null
!=
t
?
t
:
d
.
trim
(
d
.
text
(
e
)).
replace
(
un
,
" "
)}},
select
:{
get
:
function
(
e
){
for
(
var
t
,
n
,
r
=
e
.
options
,
i
=
e
.
selectedIndex
,
o
=
"select-one"
===
e
.
type
||
0
>
i
,
s
=
o
?
null
:[],
a
=
o
?
i
+
1
:
r
.
length
,
u
=
0
>
i
?
a
:
o
?
i
:
0
;
a
>
u
;
u
++
)
if
(
n
=
r
[
u
],
!
(
!
n
.
selected
&&
u
!==
i
||
(
f
.
optDisabled
?
n
.
disabled
:
null
!==
n
.
getAttribute
(
"disabled"
))
||
n
.
parentNode
.
disabled
&&
d
.
nodeName
(
n
.
parentNode
,
"optgroup"
))){
if
(
t
=
d
(
n
).
val
(),
o
)
return
t
;
s
.
push
(
t
)}
return
s
},
set
:
function
(
e
,
t
){
for
(
var
n
,
r
,
i
=
e
.
options
,
o
=
d
.
makeArray
(
t
),
s
=
i
.
length
;
s
--
;)
r
=
i
[
s
],(
r
.
selected
=
d
.
inArray
(
d
.
valHooks
.
option
.
get
(
r
),
o
)
>-
1
)
&&
(
n
=!
0
);
return
n
||
(
e
.
selectedIndex
=-
1
),
o
}}}}),
d
.
each
([
"radio"
,
"checkbox"
],
function
(){
d
.
valHooks
[
this
]
=
{
set
:
function
(
e
,
t
){
return
d
.
isArray
(
t
)?
e
.
checked
=
d
.
inArray
(
d
(
e
).
val
(),
t
)
>-
1
:
void
0
}},
f
.
checkOn
||
(
d
.
valHooks
[
this
].
get
=
function
(
e
){
return
null
===
e
.
getAttribute
(
"value"
)?
"on"
:
e
.
value
})});
var
ln
=
/^
(?:
focusinfocus|focusoutblur
)
$/
;
d
.
extend
(
d
.
event
,{
trigger
:
function
(
t
,
n
,
i
,
o
){
var
s
,
a
,
u
,
l
,
f
,
p
,
h
,
g
=
[
i
||
r
],
m
=
c
.
call
(
t
,
"type"
)?
t
.
type
:
t
,
v
=
c
.
call
(
t
,
"namespace"
)?
t
.
namespace
.
split
(
"."
):[];
if
(
a
=
u
=
i
=
i
||
r
,
3
!==
i
.
nodeType
&&
8
!==
i
.
nodeType
&&!
ln
.
test
(
m
+
d
.
event
.
triggered
)
&&
(
m
.
indexOf
(
"."
)
>-
1
&&
(
v
=
m
.
split
(
"."
),
m
=
v
.
shift
(),
v
.
sort
()),
f
=
m
.
indexOf
(
":"
)
<
0
&&
"on"
+
m
,
t
=
t
[
d
.
expando
]?
t
:
new
d
.
Event
(
m
,
"object"
==
typeof
t
&&
t
),
t
.
isTrigger
=
o
?
2
:
3
,
t
.
namespace
=
v
.
join
(
"."
),
t
.
rnamespace
=
t
.
namespace
?
new
RegExp
(
"(^|\\.)"
+
v
.
join
(
"\\.(?:.*\\.|)"
)
+
"(\\.|$)"
):
null
,
t
.
result
=
void
0
,
t
.
target
||
(
t
.
target
=
i
),
n
=
null
==
n
?[
t
]:
d
.
makeArray
(
n
,[
t
]),
h
=
d
.
event
.
special
[
m
]
||
{},
o
||!
h
.
trigger
||
h
.
trigger
.
apply
(
i
,
n
)
!==!
1
)){
if
(
!
o
&&!
h
.
noBubble
&&!
d
.
isWindow
(
i
)){
for
(
l
=
h
.
delegateType
||
m
,
ln
.
test
(
l
+
m
)
||
(
a
=
a
.
parentNode
);
a
;
a
=
a
.
parentNode
)
g
.
push
(
a
),
u
=
a
;
u
===
(
i
.
ownerDocument
||
r
)
&&
g
.
push
(
u
.
defaultView
||
u
.
parentWindow
||
e
)}
for
(
s
=
0
;(
a
=
g
[
s
++
])
&&!
t
.
isPropagationStopped
();)
t
.
type
=
s
>
1
?
l
:
h
.
bindType
||
m
,
p
=
(
R
.
get
(
a
,
"events"
)
||
{})[
t
.
type
]
&&
R
.
get
(
a
,
"handle"
),
p
&&
p
.
apply
(
a
,
n
),
p
=
f
&&
a
[
f
],
p
&&
p
.
apply
&&
P
(
a
)
&&
(
t
.
result
=
p
.
apply
(
a
,
n
),
t
.
result
===!
1
&&
t
.
preventDefault
());
return
t
.
type
=
m
,
o
||
t
.
isDefaultPrevented
()
||
h
.
_default
&&
h
.
_default
.
apply
(
g
.
pop
(),
n
)
!==!
1
||!
P
(
i
)
||
f
&&
d
.
isFunction
(
i
[
m
])
&&!
d
.
isWindow
(
i
)
&&
(
u
=
i
[
f
],
u
&&
(
i
[
f
]
=
null
),
d
.
event
.
triggered
=
m
,
i
[
m
](),
d
.
event
.
triggered
=
void
0
,
u
&&
(
i
[
f
]
=
u
)),
t
.
result
}},
simulate
:
function
(
e
,
t
,
n
){
var
r
=
d
.
extend
(
new
d
.
Event
,
n
,{
type
:
e
,
isSimulated
:
!
0
});
d
.
event
.
trigger
(
r
,
null
,
t
)}}),
d
.
fn
.
extend
({
trigger
:
function
(
e
,
t
){
return
this
.
each
(
function
(){
d
.
event
.
trigger
(
e
,
t
,
this
)})},
triggerHandler
:
function
(
e
,
t
){
var
n
=
this
[
0
];
return
n
?
d
.
event
.
trigger
(
e
,
t
,
n
,
!
0
):
void
0
}}),
d
.
each
(
"blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu"
.
split
(
" "
),
function
(
e
,
t
){
d
.
fn
[
t
]
=
function
(
e
,
n
){
return
arguments
.
length
>
0
?
this
.
on
(
t
,
null
,
e
,
n
):
this
.
trigger
(
t
)}}),
d
.
fn
.
extend
({
hover
:
function
(
e
,
t
){
return
this
.
mouseenter
(
e
).
mouseleave
(
t
||
e
)}}),
f
.
focusin
=
"onfocusin"
in
e
,
f
.
focusin
||
d
.
each
({
focus
:
"focusin"
,
blur
:
"focusout"
},
function
(
e
,
t
){
var
n
=
function
(
e
){
d
.
event
.
simulate
(
t
,
e
.
target
,
d
.
event
.
fix
(
e
))};
d
.
event
.
special
[
t
]
=
{
setup
:
function
(){
var
r
=
this
.
ownerDocument
||
this
,
i
=
R
.
access
(
r
,
t
);
i
||
r
.
addEventListener
(
e
,
n
,
!
0
),
R
.
access
(
r
,
t
,(
i
||
0
)
+
1
)},
teardown
:
function
(){
var
r
=
this
.
ownerDocument
||
this
,
i
=
R
.
access
(
r
,
t
)
-
1
;
i
?
R
.
access
(
r
,
t
,
i
):(
r
.
removeEventListener
(
e
,
n
,
!
0
),
R
.
remove
(
r
,
t
))}}});
var
cn
=
e
.
location
,
fn
=
d
.
now
(),
pn
=
/
\?
/
;
d
.
parseJSON
=
function
(
e
){
return
JSON
.
parse
(
e
+
""
)},
d
.
parseXML
=
function
(
t
){
var
n
;
if
(
!
t
||
"string"
!=
typeof
t
)
return
null
;
try
{
n
=
(
new
e
.
DOMParser
).
parseFromString
(
t
,
"text/xml"
)}
catch
(
r
){
n
=
void
0
}
return
n
&&!
n
.
getElementsByTagName
(
"parsererror"
).
length
||
d
.
error
(
"Invalid XML: "
+
t
),
n
};
var
dn
=
/#.*$/
,
hn
=
/
([
?&
])
_=
[^
&
]
*/
,
gn
=
/^
(
.*
?)
:
[
\t]
*
([^\r\n]
*
)
$/gm
,
mn
=
/^
(?:
about|app|app-storage|.+-extension|file|res|widget
)
:$/
,
vn
=
/^
(?:
GET|HEAD
)
$/
,
yn
=
/^
\/\/
/
,
xn
=
{},
wn
=
{},
bn
=
"*/"
.
concat
(
"*"
),
Tn
=
r
.
createElement
(
"a"
);
Tn
.
href
=
cn
.
href
,
d
.
extend
({
active
:
0
,
lastModified
:{},
etag
:{},
ajaxSettings
:{
url
:
cn
.
href
,
type
:
"GET"
,
isLocal
:
mn
.
test
(
cn
.
protocol
),
global
:
!
0
,
processData
:
!
0
,
async
:
!
0
,
contentType
:
"application/x-www-form-urlencoded; charset=UTF-8"
,
accepts
:{
"*"
:
bn
,
text
:
"text/plain"
,
html
:
"text/html"
,
xml
:
"application/xml, text/xml"
,
json
:
"application/setting, text/javascript"
},
contents
:{
xml
:
/
\b
xml
\b
/
,
html
:
/
\b
html/
,
json
:
/
\b
json
\b
/
},
responseFields
:{
xml
:
"responseXML"
,
text
:
"responseText"
,
json
:
"responseJSON"
},
converters
:{
"* text"
:
String
,
"text html"
:
!
0
,
"text json"
:
d
.
parseJSON
,
"text xml"
:
d
.
parseXML
},
flatOptions
:{
url
:
!
0
,
context
:
!
0
}},
ajaxSetup
:
function
(
e
,
t
){
return
t
?
Sn
(
Sn
(
e
,
d
.
ajaxSettings
),
t
):
Sn
(
d
.
ajaxSettings
,
e
)},
ajaxPrefilter
:
Cn
(
xn
),
ajaxTransport
:
Cn
(
wn
),
ajax
:
function
(
t
,
n
){
function
S
(
t
,
n
,
r
,
a
){
var
l
,
f
,
x
,
w
,
T
,
k
=
n
;
2
!==
b
&&
(
b
=
2
,
u
&&
e
.
clearTimeout
(
u
),
i
=
void
0
,
s
=
a
||
""
,
C
.
readyState
=
t
>
0
?
4
:
0
,
l
=
t
>=
200
&&
300
>
t
||
304
===
t
,
r
&&
(
w
=
En
(
p
,
C
,
r
)),
w
=
Nn
(
p
,
w
,
C
,
l
),
l
?(
p
.
ifModified
&&
(
T
=
C
.
getResponseHeader
(
"Last-Modified"
),
T
&&
(
d
.
lastModified
[
o
]
=
T
),
T
=
C
.
getResponseHeader
(
"etag"
),
T
&&
(
d
.
etag
[
o
]
=
T
)),
204
===
t
||
"HEAD"
===
p
.
type
?
k
=
"nocontent"
:
304
===
t
?
k
=
"notmodified"
:(
k
=
w
.
state
,
f
=
w
.
data
,
x
=
w
.
error
,
l
=!
x
)):(
x
=
k
,
!
t
&&
k
||
(
k
=
"error"
,
0
>
t
&&
(
t
=
0
))),
C
.
status
=
t
,
C
.
statusText
=
(
n
||
k
)
+
""
,
l
?
m
.
resolveWith
(
h
,[
f
,
k
,
C
]):
m
.
rejectWith
(
h
,[
C
,
k
,
x
]),
C
.
statusCode
(
y
),
y
=
void
0
,
c
&&
g
.
trigger
(
l
?
"ajaxSuccess"
:
"ajaxError"
,[
C
,
p
,
l
?
f
:
x
]),
v
.
fireWith
(
h
,[
C
,
k
]),
c
&&
(
g
.
trigger
(
"ajaxComplete"
,[
C
,
p
]),
--
d
.
active
||
d
.
event
.
trigger
(
"ajaxStop"
)))}
"object"
==
typeof
t
&&
(
n
=
t
,
t
=
void
0
),
n
=
n
||
{};
var
i
,
o
,
s
,
a
,
u
,
l
,
c
,
f
,
p
=
d
.
ajaxSetup
({},
n
),
h
=
p
.
context
||
p
,
g
=
p
.
context
&&
(
h
.
nodeType
||
h
.
jquery
)?
d
(
h
):
d
.
event
,
m
=
d
.
Deferred
(),
v
=
d
.
Callbacks
(
"once memory"
),
y
=
p
.
statusCode
||
{},
x
=
{},
w
=
{},
b
=
0
,
T
=
"canceled"
,
C
=
{
readyState
:
0
,
getResponseHeader
:
function
(
e
){
var
t
;
if
(
2
===
b
){
if
(
!
a
)
for
(
a
=
{};
t
=
gn
.
exec
(
s
);)
a
[
t
[
1
].
toLowerCase
()]
=
t
[
2
];
t
=
a
[
e
.
toLowerCase
()]}
return
null
==
t
?
null
:
t
},
getAllResponseHeaders
:
function
(){
return
2
===
b
?
s
:
null
},
setRequestHeader
:
function
(
e
,
t
){
var
n
=
e
.
toLowerCase
();
return
b
||
(
e
=
w
[
n
]
=
w
[
n
]
||
e
,
x
[
e
]
=
t
),
this
},
overrideMimeType
:
function
(
e
){
return
b
||
(
p
.
mimeType
=
e
),
this
},
statusCode
:
function
(
e
){
var
t
;
if
(
e
)
if
(
2
>
b
)
for
(
t
in
e
)
y
[
t
]
=
[
y
[
t
],
e
[
t
]];
else
C
.
always
(
e
[
C
.
status
]);
return
this
},
abort
:
function
(
e
){
var
t
=
e
||
T
;
return
i
&&
i
.
abort
(
t
),
S
(
0
,
t
),
this
}};
if
(
m
.
promise
(
C
).
complete
=
v
.
add
,
C
.
success
=
C
.
done
,
C
.
error
=
C
.
fail
,
p
.
url
=
((
t
||
p
.
url
||
cn
.
href
)
+
""
).
replace
(
dn
,
""
).
replace
(
yn
,
cn
.
protocol
+
"//"
),
p
.
type
=
n
.
method
||
n
.
type
||
p
.
method
||
p
.
type
,
p
.
dataTypes
=
d
.
trim
(
p
.
dataType
||
"*"
).
toLowerCase
().
match
(
q
)
||
[
""
],
null
==
p
.
crossDomain
){
l
=
r
.
createElement
(
"a"
);
try
{
l
.
href
=
p
.
url
,
l
.
href
=
l
.
href
,
p
.
crossDomain
=
Tn
.
protocol
+
"//"
+
Tn
.
host
!=
l
.
protocol
+
"//"
+
l
.
host
}
catch
(
k
){
p
.
crossDomain
=!
0
}}
if
(
p
.
data
&&
p
.
processData
&&
"string"
!=
typeof
p
.
data
&&
(
p
.
data
=
d
.
param
(
p
.
data
,
p
.
traditional
)),
kn
(
xn
,
p
,
n
,
C
),
2
===
b
)
return
C
;
c
=
d
.
event
&&
p
.
global
,
c
&&
0
===
d
.
active
++&&
d
.
event
.
trigger
(
"ajaxStart"
),
p
.
type
=
p
.
type
.
toUpperCase
(),
p
.
hasContent
=!
vn
.
test
(
p
.
type
),
o
=
p
.
url
,
p
.
hasContent
||
(
p
.
data
&&
(
o
=
p
.
url
+=
(
pn
.
test
(
o
)?
"&"
:
"?"
)
+
p
.
data
,
delete
p
.
data
),
p
.
cache
===!
1
&&
(
p
.
url
=
hn
.
test
(
o
)?
o
.
replace
(
hn
,
"$1_="
+
fn
++
):
o
+
(
pn
.
test
(
o
)?
"&"
:
"?"
)
+
"_="
+
fn
++
)),
p
.
ifModified
&&
(
d
.
lastModified
[
o
]
&&
C
.
setRequestHeader
(
"If-Modified-Since"
,
d
.
lastModified
[
o
]),
d
.
etag
[
o
]
&&
C
.
setRequestHeader
(
"If-None-Match"
,
d
.
etag
[
o
])),(
p
.
data
&&
p
.
hasContent
&&
p
.
contentType
!==!
1
||
n
.
contentType
)
&&
C
.
setRequestHeader
(
"Content-Type"
,
p
.
contentType
),
C
.
setRequestHeader
(
"Accept"
,
p
.
dataTypes
[
0
]
&&
p
.
accepts
[
p
.
dataTypes
[
0
]]?
p
.
accepts
[
p
.
dataTypes
[
0
]]
+
(
"*"
!==
p
.
dataTypes
[
0
]?
", "
+
bn
+
"; q=0.01"
:
""
):
p
.
accepts
[
"*"
]);
for
(
f
in
p
.
headers
)
C
.
setRequestHeader
(
f
,
p
.
headers
[
f
]);
if
(
p
.
beforeSend
&&
(
p
.
beforeSend
.
call
(
h
,
C
,
p
)
===!
1
||
2
===
b
))
return
C
.
abort
();
T
=
"abort"
;
for
(
f
in
{
success
:
1
,
error
:
1
,
complete
:
1
})
C
[
f
](
p
[
f
]);
if
(
i
=
kn
(
wn
,
p
,
n
,
C
)){
if
(
C
.
readyState
=
1
,
c
&&
g
.
trigger
(
"ajaxSend"
,[
C
,
p
]),
2
===
b
)
return
C
;
p
.
async
&&
p
.
timeout
>
0
&&
(
u
=
e
.
setTimeout
(
function
(){
C
.
abort
(
"timeout"
)},
p
.
timeout
));
try
{
b
=
1
,
i
.
send
(
x
,
S
)}
catch
(
k
){
if
(
!
(
2
>
b
))
throw
k
;
S
(
-
1
,
k
)}}
else
S
(
-
1
,
"No Transport"
);
return
C
},
getJSON
:
function
(
e
,
t
,
n
){
return
d
.
get
(
e
,
t
,
n
,
"json"
)},
getScript
:
function
(
e
,
t
){
return
d
.
get
(
e
,
void
0
,
t
,
"script"
)}}),
d
.
each
([
"get"
,
"post"
],
function
(
e
,
t
){
d
[
t
]
=
function
(
e
,
n
,
r
,
i
){
return
d
.
isFunction
(
n
)
&&
(
i
=
i
||
r
,
r
=
n
,
n
=
void
0
),
d
.
ajax
(
d
.
extend
({
url
:
e
,
type
:
t
,
dataType
:
i
,
data
:
n
,
success
:
r
},
d
.
isPlainObject
(
e
)
&&
e
))}}),
d
.
_evalUrl
=
function
(
e
){
return
d
.
ajax
({
url
:
e
,
type
:
"GET"
,
dataType
:
"script"
,
async
:
!
1
,
global
:
!
1
,
"throws"
:
!
0
})},
d
.
fn
.
extend
({
wrapAll
:
function
(
e
){
var
t
;
return
d
.
isFunction
(
e
)?
this
.
each
(
function
(
t
){
d
(
this
).
wrapAll
(
e
.
call
(
this
,
t
))}):(
this
[
0
]
&&
(
t
=
d
(
e
,
this
[
0
].
ownerDocument
).
eq
(
0
).
clone
(
!
0
),
this
[
0
].
parentNode
&&
t
.
insertBefore
(
this
[
0
]),
t
.
map
(
function
(){
for
(
var
e
=
this
;
e
.
firstElementChild
;)
e
=
e
.
firstElementChild
;
return
e
}).
append
(
this
)),
this
)},
wrapInner
:
function
(
e
){
return
this
.
each
(
d
.
isFunction
(
e
)?
function
(
t
){
d
(
this
).
wrapInner
(
e
.
call
(
this
,
t
))}:
function
(){
var
t
=
d
(
this
),
n
=
t
.
contents
();
n
.
length
?
n
.
wrapAll
(
e
):
t
.
append
(
e
)})},
wrap
:
function
(
e
){
var
t
=
d
.
isFunction
(
e
);
return
this
.
each
(
function
(
n
){
d
(
this
).
wrapAll
(
t
?
e
.
call
(
this
,
n
):
e
)})},
unwrap
:
function
(){
return
this
.
parent
().
each
(
function
(){
d
.
nodeName
(
this
,
"body"
)
||
d
(
this
).
replaceWith
(
this
.
childNodes
)}).
end
()}}),
d
.
expr
.
filters
.
hidden
=
function
(
e
){
return
!
d
.
expr
.
filters
.
visible
(
e
)},
d
.
expr
.
filters
.
visible
=
function
(
e
){
return
e
.
offsetWidth
>
0
||
e
.
offsetHeight
>
0
||
e
.
getClientRects
().
length
>
0
};
var
$n
=
/%20/g
,
Dn
=
/
\[\]
$/
,
jn
=
/
\r?\n
/g
,
An
=
/^
(?:
submit|button|image|reset|file
)
$/i
,
qn
=
/^
(?:
input|select|textarea|keygen
)
/i
;
d
.
param
=
function
(
e
,
t
){
var
n
,
r
=
[],
i
=
function
(
e
,
t
){
t
=
d
.
isFunction
(
t
)?
t
():
null
==
t
?
""
:
t
,
r
[
r
.
length
]
=
encodeURIComponent
(
e
)
+
"="
+
encodeURIComponent
(
t
)};
if
(
void
0
===
t
&&
(
t
=
d
.
ajaxSettings
&&
d
.
ajaxSettings
.
traditional
),
d
.
isArray
(
e
)
||
e
.
jquery
&&!
d
.
isPlainObject
(
e
))
d
.
each
(
e
,
function
(){
i
(
this
.
name
,
this
.
value
)});
else
for
(
n
in
e
)
Ln
(
n
,
e
[
n
],
t
,
i
);
return
r
.
join
(
"&"
).
replace
(
$n
,
"+"
)},
d
.
fn
.
extend
({
serialize
:
function
(){
return
d
.
param
(
this
.
serializeArray
())},
serializeArray
:
function
(){
return
this
.
map
(
function
(){
var
e
=
d
.
prop
(
this
,
"elements"
);
return
e
?
d
.
makeArray
(
e
):
this
}).
filter
(
function
(){
var
e
=
this
.
type
;
return
this
.
name
&&!
d
(
this
).
is
(
":disabled"
)
&&
qn
.
test
(
this
.
nodeName
)
&&!
An
.
test
(
e
)
&&
(
this
.
checked
||!
Q
.
test
(
e
))}).
map
(
function
(
e
,
t
){
var
n
=
d
(
this
).
val
();
return
null
==
n
?
null
:
d
.
isArray
(
n
)?
d
.
map
(
n
,
function
(
e
){
return
{
name
:
t
.
name
,
value
:
e
.
replace
(
jn
,
"\r\n"
)}}):{
name
:
t
.
name
,
value
:
n
.
replace
(
jn
,
"\r\n"
)}}).
get
()}}),
d
.
ajaxSettings
.
xhr
=
function
(){
try
{
return
new
e
.
XMLHttpRequest
}
catch
(
t
){}};
var
Hn
=
{
0
:
200
,
1223
:
204
},
On
=
d
.
ajaxSettings
.
xhr
();
f
.
cors
=!!
On
&&
"withCredentials"
in
On
,
f
.
ajax
=
On
=!!
On
,
d
.
ajaxTransport
(
function
(
t
){
var
n
,
r
;
return
f
.
cors
||
On
&&!
t
.
crossDomain
?{
send
:
function
(
i
,
o
){
var
s
,
a
=
t
.
xhr
();
if
(
a
.
open
(
t
.
type
,
t
.
url
,
t
.
async
,
t
.
username
,
t
.
password
),
t
.
xhrFields
)
for
(
s
in
t
.
xhrFields
)
a
[
s
]
=
t
.
xhrFields
[
s
];
t
.
mimeType
&&
a
.
overrideMimeType
&&
a
.
overrideMimeType
(
t
.
mimeType
),
t
.
crossDomain
||
i
[
"X-Requested-With"
]
||
(
i
[
"X-Requested-With"
]
=
"XMLHttpRequest"
);
for
(
s
in
i
)
a
.
setRequestHeader
(
s
,
i
[
s
]);
n
=
function
(
e
){
return
function
(){
n
&&
(
n
=
r
=
a
.
onload
=
a
.
onerror
=
a
.
onabort
=
a
.
onreadystatechange
=
null
,
"abort"
===
e
?
a
.
abort
():
"error"
===
e
?
"number"
!=
typeof
a
.
status
?
o
(
0
,
"error"
):
o
(
a
.
status
,
a
.
statusText
):
o
(
Hn
[
a
.
status
]
||
a
.
status
,
a
.
statusText
,
"text"
!==
(
a
.
responseType
||
"text"
)
||
"string"
!=
typeof
a
.
responseText
?{
binary
:
a
.
response
}:{
text
:
a
.
responseText
},
a
.
getAllResponseHeaders
()))}},
a
.
onload
=
n
(),
r
=
a
.
onerror
=
n
(
"error"
),
void
0
!==
a
.
onabort
?
a
.
onabort
=
r
:
a
.
onreadystatechange
=
function
(){
4
===
a
.
readyState
&&
e
.
setTimeout
(
function
(){
n
&&
r
()})},
n
=
n
(
"abort"
);
try
{
a
.
send
(
t
.
hasContent
&&
t
.
data
||
null
)}
catch
(
u
){
if
(
n
)
throw
u
}},
abort
:
function
(){
n
&&
n
()}}:
void
0
}),
d
.
ajaxSetup
({
accepts
:{
script
:
"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"
},
contents
:{
script
:
/
\b(?:
java|ecma
)
script
\b
/
},
converters
:{
"text script"
:
function
(
e
){
return
d
.
globalEval
(
e
),
e
}}}),
d
.
ajaxPrefilter
(
"script"
,
function
(
e
){
void
0
===
e
.
cache
&&
(
e
.
cache
=!
1
),
e
.
crossDomain
&&
(
e
.
type
=
"GET"
)}),
d
.
ajaxTransport
(
"script"
,
function
(
e
){
if
(
e
.
crossDomain
){
var
t
,
n
;
return
{
send
:
function
(
i
,
o
){
t
=
d
(
"<script>"
).
prop
({
charset
:
e
.
scriptCharset
,
src
:
e
.
url
}).
on
(
"load error"
,
n
=
function
(
e
){
t
.
remove
(),
n
=
null
,
e
&&
o
(
"error"
===
e
.
type
?
404
:
200
,
e
.
type
)}),
r
.
head
.
appendChild
(
t
[
0
])},
abort
:
function
(){
n
&&
n
()}}}});
var
Fn
=
[],
Pn
=
/
(
=
)\?(?=
&|$
)
|
\?\?
/
;
d
.
ajaxSetup
({
jsonp
:
"callback"
,
jsonpCallback
:
function
(){
var
e
=
Fn
.
pop
()
||
d
.
expando
+
"_"
+
fn
++
;
return
this
[
e
]
=!
0
,
e
}}),
d
.
ajaxPrefilter
(
"setting jsonp"
,
function
(
t
,
n
,
r
){
var
i
,
o
,
s
,
a
=
t
.
jsonp
!==!
1
&&
(
Pn
.
test
(
t
.
url
)?
"url"
:
"string"
==
typeof
t
.
data
&&
0
===
(
t
.
contentType
||
""
).
indexOf
(
"application/x-www-form-urlencoded"
)
&&
Pn
.
test
(
t
.
data
)
&&
"data"
);
return
a
||
"jsonp"
===
t
.
dataTypes
[
0
]?(
i
=
t
.
jsonpCallback
=
d
.
isFunction
(
t
.
jsonpCallback
)?
t
.
jsonpCallback
():
t
.
jsonpCallback
,
a
?
t
[
a
]
=
t
[
a
].
replace
(
Pn
,
"$1"
+
i
):
t
.
jsonp
!==!
1
&&
(
t
.
url
+=
(
pn
.
test
(
t
.
url
)?
"&"
:
"?"
)
+
t
.
jsonp
+
"="
+
i
),
t
.
converters
[
"script json"
]
=
function
(){
return
s
||
d
.
error
(
i
+
" was not called"
),
s
[
0
]},
t
.
dataTypes
[
0
]
=
"json"
,
o
=
e
[
i
],
e
[
i
]
=
function
(){
s
=
arguments
},
r
.
always
(
function
(){
void
0
===
o
?
d
(
e
).
removeProp
(
i
):
e
[
i
]
=
o
,
t
[
i
]
&&
(
t
.
jsonpCallback
=
n
.
jsonpCallback
,
Fn
.
push
(
i
)),
s
&&
d
.
isFunction
(
o
)
&&
o
(
s
[
0
]),
s
=
o
=
void
0
}),
"script"
):
void
0
}),
d
.
parseHTML
=
function
(
e
,
t
,
n
){
if
(
!
e
||
"string"
!=
typeof
e
)
return
null
;
"boolean"
==
typeof
t
&&
(
n
=
t
,
t
=!
1
),
t
=
t
||
r
;
var
i
=
C
.
exec
(
e
),
o
=!
n
&&
[];
return
i
?[
t
.
createElement
(
i
[
1
])]:(
i
=
nt
([
e
],
t
,
o
),
o
&&
o
.
length
&&
d
(
o
).
remove
(),
d
.
merge
([],
i
.
childNodes
))};
var
Mn
=
d
.
fn
.
load
;
d
.
fn
.
load
=
function
(
e
,
t
,
n
){
if
(
"string"
!=
typeof
e
&&
Mn
)
return
Mn
.
apply
(
this
,
arguments
);
var
r
,
i
,
o
,
s
=
this
,
a
=
e
.
indexOf
(
" "
);
return
a
>-
1
&&
(
r
=
d
.
trim
(
e
.
slice
(
a
)),
e
=
e
.
slice
(
0
,
a
)),
d
.
isFunction
(
t
)?(
n
=
t
,
t
=
void
0
):
t
&&
"object"
==
typeof
t
&&
(
i
=
"POST"
),
s
.
length
>
0
&&
d
.
ajax
({
url
:
e
,
type
:
i
||
"GET"
,
dataType
:
"html"
,
data
:
t
}).
done
(
function
(
e
){
o
=
arguments
,
s
.
html
(
r
?
d
(
"<div>"
).
append
(
d
.
parseHTML
(
e
)).
find
(
r
):
e
)}).
always
(
n
&&
function
(
e
,
t
){
s
.
each
(
function
(){
n
.
apply
(
this
,
o
||
[
e
.
responseText
,
t
,
e
])})}),
this
},
d
.
each
([
"ajaxStart"
,
"ajaxStop"
,
"ajaxComplete"
,
"ajaxError"
,
"ajaxSuccess"
,
"ajaxSend"
],
function
(
e
,
t
){
d
.
fn
[
t
]
=
function
(
e
){
return
this
.
on
(
t
,
e
)}}),
d
.
expr
.
filters
.
animated
=
function
(
e
){
return
d
.
grep
(
d
.
timers
,
function
(
t
){
return
e
===
t
.
elem
}).
length
},
d
.
offset
=
{
setOffset
:
function
(
e
,
t
,
n
){
var
r
,
i
,
o
,
s
,
a
,
u
,
l
,
c
=
d
.
css
(
e
,
"position"
),
f
=
d
(
e
),
p
=
{};
"static"
===
c
&&
(
e
.
style
.
position
=
"relative"
),
a
=
f
.
offset
(),
o
=
d
.
css
(
e
,
"top"
),
u
=
d
.
css
(
e
,
"left"
),
l
=
(
"absolute"
===
c
||
"fixed"
===
c
)
&&
(
o
+
u
).
indexOf
(
"auto"
)
>-
1
,
l
?(
r
=
f
.
position
(),
s
=
r
.
top
,
i
=
r
.
left
):(
s
=
parseFloat
(
o
)
||
0
,
i
=
parseFloat
(
u
)
||
0
),
d
.
isFunction
(
t
)
&&
(
t
=
t
.
call
(
e
,
n
,
d
.
extend
({},
a
))),
null
!=
t
.
top
&&
(
p
.
top
=
t
.
top
-
a
.
top
+
s
),
null
!=
t
.
left
&&
(
p
.
left
=
t
.
left
-
a
.
left
+
i
),
"using"
in
t
?
t
.
using
.
call
(
e
,
p
):
f
.
css
(
p
)}},
d
.
fn
.
extend
({
offset
:
function
(
e
){
if
(
arguments
.
length
)
return
void
0
===
e
?
this
:
this
.
each
(
function
(
t
){
d
.
offset
.
setOffset
(
this
,
e
,
t
)});
var
t
,
n
,
r
=
this
[
0
],
i
=
{
top
:
0
,
left
:
0
},
o
=
r
&&
r
.
ownerDocument
;
return
o
?(
t
=
o
.
documentElement
,
d
.
contains
(
t
,
r
)?(
i
=
r
.
getBoundingClientRect
(),
n
=
Rn
(
o
),{
top
:
i
.
top
+
n
.
pageYOffset
-
t
.
clientTop
,
left
:
i
.
left
+
n
.
pageXOffset
-
t
.
clientLeft
}):
i
):
void
0
},
position
:
function
(){
if
(
this
[
0
]){
var
e
,
t
,
n
=
this
[
0
],
r
=
{
top
:
0
,
left
:
0
};
return
"fixed"
===
d
.
css
(
n
,
"position"
)?
t
=
n
.
getBoundingClientRect
():(
e
=
this
.
offsetParent
(),
t
=
this
.
offset
(),
d
.
nodeName
(
e
[
0
],
"html"
)
||
(
r
=
e
.
offset
()),
r
.
top
+=
d
.
css
(
e
[
0
],
"borderTopWidth"
,
!
0
),
r
.
left
+=
d
.
css
(
e
[
0
],
"borderLeftWidth"
,
!
0
)),{
top
:
t
.
top
-
r
.
top
-
d
.
css
(
n
,
"marginTop"
,
!
0
),
left
:
t
.
left
-
r
.
left
-
d
.
css
(
n
,
"marginLeft"
,
!
0
)}}},
offsetParent
:
function
(){
return
this
.
map
(
function
(){
for
(
var
e
=
this
.
offsetParent
;
e
&&
"static"
===
d
.
css
(
e
,
"position"
);)
e
=
e
.
offsetParent
;
return
e
||
jt
})}}),
d
.
each
({
scrollLeft
:
"pageXOffset"
,
scrollTop
:
"pageYOffset"
},
function
(
e
,
t
){
var
n
=
"pageYOffset"
===
t
;
d
.
fn
[
e
]
=
function
(
r
){
return
F
(
this
,
function
(
e
,
r
,
i
){
var
o
=
Rn
(
e
);
return
void
0
===
i
?
o
?
o
[
t
]:
e
[
r
]:
void
(
o
?
o
.
scrollTo
(
n
?
o
.
pageXOffset
:
i
,
n
?
i
:
o
.
pageYOffset
):
e
[
r
]
=
i
)},
e
,
r
,
arguments
.
length
)}}),
d
.
each
([
"top"
,
"left"
],
function
(
e
,
t
){
d
.
cssHooks
[
t
]
=
qt
(
f
.
pixelPosition
,
function
(
e
,
n
){
return
n
?(
n
=
At
(
e
,
t
),
Nt
.
test
(
n
)?
d
(
e
).
position
()[
t
]
+
"px"
:
n
):
void
0
})}),
d
.
each
({
Height
:
"height"
,
Width
:
"width"
},
function
(
e
,
t
){
d
.
each
({
padding
:
"inner"
+
e
,
content
:
t
,
""
:
"outer"
+
e
},
function
(
n
,
r
){
d
.
fn
[
r
]
=
function
(
r
,
i
){
var
o
=
arguments
.
length
&&
(
n
||
"boolean"
!=
typeof
r
),
s
=
n
||
(
r
===!
0
||
i
===!
0
?
"margin"
:
"border"
);
return
F
(
this
,
function
(
t
,
n
,
r
){
var
i
;
return
d
.
isWindow
(
t
)?
t
.
document
.
documentElement
[
"client"
+
e
]:
9
===
t
.
nodeType
?(
i
=
t
.
documentElement
,
Math
.
max
(
t
.
body
[
"scroll"
+
e
],
i
[
"scroll"
+
e
],
t
.
body
[
"offset"
+
e
],
i
[
"offset"
+
e
],
i
[
"client"
+
e
])):
void
0
===
r
?
d
.
css
(
t
,
n
,
s
):
d
.
style
(
t
,
n
,
r
,
s
)},
t
,
o
?
r
:
void
0
,
o
,
null
)}})}),
d
.
fn
.
extend
({
bind
:
function
(
e
,
t
,
n
){
return
this
.
on
(
e
,
null
,
t
,
n
)},
unbind
:
function
(
e
,
t
){
return
this
.
off
(
e
,
null
,
t
)},
delegate
:
function
(
e
,
t
,
n
,
r
){
return
this
.
on
(
t
,
e
,
n
,
r
)},
undelegate
:
function
(
e
,
t
,
n
){
return
1
===
arguments
.
length
?
this
.
off
(
e
,
"**"
):
this
.
off
(
t
,
e
||
"**"
,
n
)},
size
:
function
(){
return
this
.
length
}}),
d
.
fn
.
andSelf
=
d
.
fn
.
addBack
,
"function"
==
typeof
define
&&
define
.
amd
&&
define
(
"jquery"
,[],
function
(){
return
d
});
var
In
=
e
.
jQuery
,
Wn
=
e
.
$
;
return
d
.
noConflict
=
function
(
t
){
return
e
.
$
===
d
&&
(
e
.
$
=
Wn
),
t
&&
e
.
jQuery
===
d
&&
(
e
.
jQuery
=
In
),
d
},
t
||
(
e
.
jQuery
=
e
.
$
=
d
),
d
});
\ No newline at end of file
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