Page Menu
Home
Software Heritage
Search
Configure Global Search
Log In
Files
F9123524
origin.751694c0f651d0e204de.js
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
52 KB
Subscribers
None
origin.751694c0f651d0e204de.js
View Options
!
function
(
e
,
t
){
"object"
==
typeof
exports
&&
"object"
==
typeof
module
?
module
.
exports
=
t
()
:
"function"
==
typeof
define
&&
define
.
amd
?
define
([],
t
)
:
"object"
==
typeof
exports
?
exports
.
swh
=
t
()
:
(
e
.
swh
=
e
.
swh
||
{},
e
.
swh
.
origin
=
t
())}(
self
,(
function
(){
return
function
(){
var
e
,
t
,
n
=
{
87757
:
function
(
e
,
t
,
n
){
e
.
exports
=
n
(
35666
)},
75150
:
function
(
e
,
t
,
n
){
"use strict"
;
n
.
d
(
t
,{
i
:
function
(){
return
a
}});
var
a
=
{
full
:
"#008000"
,
partial
:
"#edc344"
,
failed
:
"#ff0000"
,
ongoing
:
"#0000ff"
,
not_found
:
"#000"
,
created
:
"#7d8080"
}},
76945
:
function
(
e
,
t
,
n
){
"use strict"
;
n
.
d
(
t
,{
N
:
function
(){
return
c
}});
var
a
=
n
(
32319
),
r
=
n
.
n
(
a
),
i
=
n
(
82821
),
o
=
n
(
75150
),
s
=
null
,
l
=
{};
function
u
(){
s
&&
(
$
(
s
).
popover
(
"dispose"
),
s
=
null
)}
function
c
(
e
,
t
,
n
){
l
=
{};
for
(
var
a
,
c
,
d
=
0
,
h
=
0
;
h
<
t
.
length
;
++
h
){
t
[
h
].
startDate
=
t
[
h
].
date
,
t
[
h
].
endDate
=
t
[
h
].
startDate
;
var
f
=
new
Date
(
t
[
h
].
date
);
f
.
setHours
(
0
,
0
,
0
,
0
);
var
p
=
f
.
toDateString
();
l
.
hasOwnProperty
(
p
)
?
l
[
p
].
push
(
t
[
h
])
:
l
[
p
]
=
[
t
[
h
]],
d
=
Math
.
max
(
d
,
l
[
p
].
length
),
0
===
h
?
a
=
c
=
f
:
(
f
.
getTime
()
<
a
.
getTime
()
&&
(
a
=
f
),
f
.
getTime
()
>
c
.
getTime
()
&&
(
c
=
f
))}
u
(),
new
(
r
())(
"#swh-visits-calendar"
,{
dataSource
:
t
,
style
:
"custom"
,
minDate
:
a
,
maxDate
:
c
,
startYear
:
e
,
renderEnd
:
function
(
e
){
return
n
(
e
.
currentYear
)},
customDataSourceRenderer
:
function
(
e
,
t
,
n
){
var
a
=
t
.
toDateString
(),
r
=
l
[
a
].
length
,
s
=
r
/
d
;
1
===
d
&&
(
s
=
0
);
var
u
=
15
+
13
*
s
,
c
=
(
28
-
u
)
/
2
-
parseInt
(
$
(
e
).
css
(
"padding-left"
)),
h
=
(
28
-
u
)
/
2
-
parseInt
(
$
(
e
).
css
(
"padding-top"
))
+
1
,
f
=
$
(
"<div></div>"
);
f
.
css
(
"position"
,
"relative"
);
var
p
=
$
(
"<div></div>"
);
p
.
text
(
$
(
e
).
text
());
for
(
var
g
=
$
(
"<div></div>"
),
y
=
{
red
:
0
,
green
:
0
,
blue
:
0
,
alpha
:
.4
},
v
=
0
;
v
<
r
;
++
v
){
var
m
=
l
[
a
][
v
],
D
=
(
0
,
i
.
Z
)(
o
.
i
[
m
.
status
]);
y
.
red
+=
D
.
red
,
y
.
green
+=
D
.
green
,
y
.
blue
+=
D
.
blue
}
y
.
red
/=
r
,
y
.
green
/=
r
,
y
.
blue
/=
r
,
g
.
css
(
"background-color"
,
"rgba("
+
y
.
red
+
", "
+
y
.
green
+
", "
+
y
.
blue
+
", "
+
y
.
alpha
+
")"
),
g
.
css
(
"width"
,
u
+
"px"
),
g
.
css
(
"height"
,
u
+
"px"
),
g
.
css
(
"border-radius"
,
u
+
"px"
),
g
.
css
(
"position"
,
"absolute"
),
g
.
css
(
"top"
,
h
+
"px"
),
g
.
css
(
"left"
,
c
+
"px"
),
f
.
append
(
p
),
f
.
append
(
g
),
$
(
e
)[
0
].
innerHTML
=
$
(
f
)[
0
].
outerHTML
},
mouseOnDay
:
function
(
e
){
s
!==
e
.
element
&&
u
();
var
t
=
e
.
date
.
toDateString
();
if
(
l
.
hasOwnProperty
(
t
)){
var
n
=
l
[
t
],
a
=
"<div><h6>"
+
e
.
date
.
toDateString
()
+
"</h6></div>"
;
a
+=
'<ul class="swh-list-unstyled">'
;
for
(
var
r
=
0
;
r
<
n
.
length
;
++
r
){
var
i
=
n
[
r
].
formatted_date
.
substr
(
n
[
r
].
formatted_date
.
indexOf
(
","
)
+
2
);
a
+=
'<li><a class="swh-visit-icon swh-visit-'
+
n
[
r
].
status
+
'" title="'
+
n
[
r
].
status
+
' visit" href="'
+
n
[
r
].
url
+
'">'
+
i
+
"</a></li>"
}
a
+=
"</ul>"
,
$
(
e
.
element
).
popover
({
trigger
:
"manual"
,
container
:
"body"
,
html
:!
0
,
content
:
a
}).
on
(
"mouseleave"
,(
function
(){
$
(
".popover:hover"
).
length
||
u
()})),
$
(
e
.
element
).
on
(
"shown.bs.popover"
,(
function
(){
$
(
".popover"
).
mouseleave
((
function
(){
u
()}))})),
$
(
e
.
element
).
popover
(
"show"
),
s
=
e
.
element
}}}),
$
(
"#swh-visits-calendar.calendar table td"
).
css
(
"width"
,
"28px"
),
$
(
"#swh-visits-calendar.calendar table td"
).
css
(
"height"
,
"28px"
),
$
(
"#swh-visits-calendar.calendar table td"
).
css
(
"padding"
,
"0px"
)}},
43202
:
function
(
e
,
t
,
n
){
"use strict"
;
n
.
d
(
t
,{
r
:
function
(){
return
s
}});
var
a
=
n
(
15861
),
r
=
n
(
87757
),
i
=
n
.
n
(
r
),
o
=
n
(
75150
);
function
s
(
e
,
t
,
n
,
a
){
return
l
.
apply
(
this
,
arguments
)}
function
l
(){
return
(
l
=
(
0
,
a
.
Z
)(
i
().
mark
((
function
e
(
t
,
a
,
r
,
s
){
var
l
,
u
,
c
,
d
,
h
,
f
,
p
,
g
,
y
,
v
,
m
,
D
,
b
,
w
,
k
,
_
,
E
,
x
,
S
,
L
,
C
,
T
,
M
,
F
,
Y
,
R
,
A
;
return
i
().
wrap
((
function
(
e
){
for
(;;)
switch
(
e
.
prev
=
e
.
next
){
case
0
:
return
e
.
next
=
2
,
n
.
e
(
891
).
then
(
n
.
bind
(
n
,
40847
));
case
2
:
for
((
l
=
e
.
sent
).
select
(
t
).
select
(
"svg"
).
remove
(),
l
.
select
(
"div.d3-tooltip"
).
remove
(),
u
=
1e3
,
c
=
200
,
d
=
{
top
:
20
,
right
:
80
,
bottom
:
30
,
left
:
50
},
h
=
l
.
select
(
t
).
attr
(
"style"
,
"padding-bottom: "
+
Math
.
ceil
(
100
*
c
/
u
)
+
"%"
).
append
(
"svg"
).
attr
(
"viewBox"
,
"0 0 "
+
u
+
" "
+
c
),
f
=
l
.
select
(
"body"
).
append
(
"div"
).
attr
(
"class"
,
"d3-tooltip"
).
style
(
"opacity"
,
0
),
u
=
u
-
d
.
left
-
d
.
right
,
c
=
c
-
d
.
top
-
d
.
bottom
,
p
=
h
.
append
(
"g"
).
attr
(
"transform"
,
"translate("
+
d
.
left
+
","
+
d
.
top
+
")"
),
g
=
l
.
scaleTime
().
rangeRound
([
0
,
u
]),
y
=
l
.
scaleLinear
().
range
([
c
,
0
]),
v
=
l
.
scaleOrdinal
().
domain
(
Object
.
keys
(
o
.
i
)).
range
(
Object
.
values
(
o
.
i
)),
2015
,
m
=
new
Date
,
D
=
m
.
getUTCFullYear
()
+
1
,
b
=
[
new
Date
(
Date
.
UTC
(
2015
,
0
,
1
)),
new
Date
(
Date
.
UTC
(
D
,
0
,
1
))],
w
=
l
.
timeMonths
(
l
.
timeMonth
.
offset
(
b
[
0
],
-
1
),
b
[
1
]),
k
=
l
.
timeYears
(
b
[
0
],
b
[
1
]),
g
.
domain
(
l
.
extent
(
w
)),
_
=
l
.
histogram
().
value
((
function
(
e
){
return
e
.
date
})).
domain
(
g
.
domain
()).
thresholds
(
w
),
E
=
l
.
groups
(
a
,(
function
(
e
){
return
e
.
status
})).
sort
((
function
(
e
,
t
){
return
l
.
ascending
(
e
[
0
],
t
[
0
])})),
x
=
[],
S
=
[],
L
=
0
;
L
<
w
.
length
;
++
L
)
S
[
L
]
=
{};
for
(
E
.
forEach
((
function
(
e
){
x
.
push
(
e
[
0
]);
for
(
var
t
=
_
(
e
[
1
]),
n
=
0
;
n
<
t
.
length
;
++
n
)
S
[
n
].
x0
=
t
[
n
].
x0
,
S
[
n
].
x1
=
t
[
n
].
x1
,
S
[
n
][
e
[
0
]]
=
t
[
n
]})),
C
=
l
.
stack
().
keys
(
x
).
value
((
function
(
e
,
t
){
return
e
[
t
].
length
})),
T
=
l
.
max
(
S
,(
function
(
e
){
for
(
var
t
=
0
,
n
=
0
;
n
<
x
.
length
;
++
n
)
t
+=
e
[
x
[
n
]].
length
;
return
t
})),
y
.
domain
([
0
,
T
]),
5
,
M
=
[],
F
=
0
;
F
<=
T
/
5
;
++
F
)
M
.
push
(
5
*
F
);
if
(
0
===
M
.
length
)
for
(
Y
=
0
;
Y
<=
T
;
++
Y
)
M
.
push
(
Y
);
else
T
%
5
!=
0
&&
M
.
push
(
T
);
p
.
append
(
"g"
).
attr
(
"class"
,
"grid"
).
call
(
l
.
axisLeft
(
y
).
tickValues
(
M
).
tickSize
(
-
u
).
tickFormat
(
""
)),
p
.
append
(
"g"
).
selectAll
(
"rect"
).
data
(
k
).
enter
().
append
(
"rect"
).
attr
(
"class"
,(
function
(
e
){
return
"year"
+
e
.
getUTCFullYear
()})).
attr
(
"fill"
,
"red"
).
attr
(
"fill-opacity"
,(
function
(
e
){
return
e
.
getUTCFullYear
()
===
r
?
.3
:
0
})).
attr
(
"stroke"
,
"none"
).
attr
(
"x"
,(
function
(
e
){
var
t
=
new
Date
(
Date
.
UTC
(
e
.
getUTCFullYear
(),
0
,
1
));
return
g
(
t
)})).
attr
(
"y"
,
0
).
attr
(
"height"
,
c
).
attr
(
"width"
,(
function
(
e
){
var
t
=
new
Date
(
Date
.
UTC
(
e
.
getUTCFullYear
(),
0
,
1
));
return
g
(
l
.
timeYear
.
offset
(
t
,
1
))
-
g
(
t
)})).
on
(
"mouseover"
,(
function
(
e
,
t
){
h
.
selectAll
(
"rect.year"
+
t
.
getUTCFullYear
()).
attr
(
"fill-opacity"
,
.5
)})).
on
(
"mouseout"
,(
function
(
e
,
t
){
h
.
selectAll
(
"rect.year"
+
t
.
getUTCFullYear
()).
attr
(
"fill-opacity"
,
0
),
h
.
selectAll
(
"rect.year"
+
r
).
attr
(
"fill-opacity"
,
.3
)})).
on
(
"click"
,(
function
(
e
,
t
){
h
.
selectAll
(
"rect.year"
+
r
).
attr
(
"fill-opacity"
,
0
),
h
.
selectAll
(
"rect.yearoutline"
+
r
).
attr
(
"stroke"
,
"none"
),
r
=
t
.
getUTCFullYear
(),
h
.
selectAll
(
"rect.year"
+
r
).
attr
(
"fill-opacity"
,
.5
),
h
.
selectAll
(
"rect.yearoutline"
+
r
).
attr
(
"stroke"
,
"black"
),
s
(
r
)})),
p
.
append
(
"g"
).
selectAll
(
"g"
).
data
(
C
(
S
)).
enter
().
append
(
"g"
).
attr
(
"fill"
,(
function
(
e
){
return
v
(
e
.
key
)})).
selectAll
(
"rect"
).
data
((
function
(
e
){
return
e
})).
enter
().
append
(
"rect"
).
attr
(
"class"
,(
function
(
e
){
return
"month"
+
e
.
data
.
x1
.
getMonth
()})).
attr
(
"x"
,(
function
(
e
){
return
g
(
e
.
data
.
x0
)})).
attr
(
"y"
,(
function
(
e
){
return
y
(
e
[
1
])})).
attr
(
"height"
,(
function
(
e
){
return
y
(
e
[
0
])
-
y
(
e
[
1
])})).
attr
(
"width"
,(
function
(
e
){
return
g
(
e
.
data
.
x1
)
-
g
(
e
.
data
.
x0
)
-
1
})).
on
(
"mouseover"
,(
function
(
e
,
t
){
h
.
selectAll
(
"rect.year"
+
t
.
data
.
x1
.
getUTCFullYear
()).
attr
(
"fill-opacity"
,
.5
),
f
.
transition
().
duration
(
200
).
style
(
"opacity"
,
1
);
for
(
var
n
=
t
.
data
.
x1
.
toISOString
().
substr
(
0
,
7
).
split
(
"-"
),
a
=
"<b>"
+
n
[
1
]
+
" / "
+
n
[
0
]
+
":</b><br/>"
,
r
=
0
;
r
<
x
.
length
;
++
r
){
var
i
=
x
[
r
],
o
=
t
.
data
[
i
].
length
;
0
!==
o
&&
(
a
+=
o
+
" "
+
i
+
" visits"
,
r
!==
x
.
length
-
1
&&
(
a
+=
"<br/>"
))}
f
.
html
(
a
).
style
(
"left"
,
e
.
pageX
+
15
+
"px"
).
style
(
"top"
,
e
.
pageY
+
"px"
)})).
on
(
"mouseout"
,(
function
(
e
,
t
){
h
.
selectAll
(
"rect.year"
+
t
.
data
.
x1
.
getUTCFullYear
()).
attr
(
"fill-opacity"
,
0
),
h
.
selectAll
(
"rect.year"
+
r
).
attr
(
"fill-opacity"
,
.3
),
f
.
transition
().
duration
(
500
).
style
(
"opacity"
,
0
)})).
on
(
"mousemove"
,(
function
(
e
){
f
.
style
(
"left"
,
e
.
pageX
+
15
+
"px"
).
style
(
"top"
,
e
.
pageY
+
"px"
)})).
on
(
"click"
,(
function
(
e
,
t
){
h
.
selectAll
(
"rect.year"
+
r
).
attr
(
"fill-opacity"
,
0
),
h
.
selectAll
(
"rect.yearoutline"
+
r
).
attr
(
"stroke"
,
"none"
),
r
=
t
.
data
.
x1
.
getUTCFullYear
(),
h
.
selectAll
(
"rect.year"
+
r
).
attr
(
"fill-opacity"
,
.5
),
h
.
selectAll
(
"rect.yearoutline"
+
r
).
attr
(
"stroke"
,
"black"
),
s
(
r
)})),
p
.
append
(
"g"
).
selectAll
(
"rect"
).
data
(
k
).
enter
().
append
(
"rect"
).
attr
(
"class"
,(
function
(
e
){
return
"yearoutline"
+
e
.
getUTCFullYear
()})).
attr
(
"fill"
,
"none"
).
attr
(
"stroke"
,(
function
(
e
){
return
e
.
getUTCFullYear
()
===
r
?
"black"
:
"none"
})).
attr
(
"x"
,(
function
(
e
){
var
t
=
new
Date
(
Date
.
UTC
(
e
.
getUTCFullYear
(),
0
,
1
));
return
g
(
t
)})).
attr
(
"y"
,
0
).
attr
(
"height"
,
c
).
attr
(
"width"
,(
function
(
e
){
var
t
=
new
Date
(
Date
.
UTC
(
e
.
getUTCFullYear
(),
0
,
1
));
return
g
(
l
.
timeYear
.
offset
(
t
,
1
))
-
g
(
t
)})),
p
.
append
(
"g"
).
attr
(
"class"
,
"axis"
).
attr
(
"transform"
,
"translate(0,"
+
c
+
")"
).
call
(
l
.
axisBottom
(
g
).
ticks
(
l
.
timeYear
.
every
(
1
)).
tickFormat
((
function
(
e
){
return
e
.
getUTCFullYear
()}))).
selectAll
(
"text"
).
attr
(
"transform"
,(
function
(
e
){
var
t
=
e
.
getUTCFullYear
(),
n
=
new
Date
(
Date
.
UTC
(
t
,
0
,
1
));
return
"translate("
+-
(
g
(
l
.
timeYear
.
offset
(
n
,
1
))
-
g
(
n
))
/
2
+
", 0)"
})),
p
.
append
(
"g"
).
attr
(
"class"
,
"axis"
).
call
(
l
.
axisLeft
(
y
).
tickValues
(
M
)),(
R
=
p
.
append
(
"g"
).
attr
(
"font-family"
,
"sans-serif"
).
attr
(
"font-size"
,
10
).
attr
(
"text-anchor"
,
"end"
)).
append
(
"text"
).
attr
(
"x"
,
u
+
d
.
right
-
5
).
attr
(
"y"
,
9.5
).
attr
(
"dy"
,
"0.32em"
).
text
(
"visit status:"
),(
A
=
R
.
selectAll
(
"g"
).
data
(
x
.
slice
().
reverse
()).
enter
().
append
(
"g"
).
attr
(
"transform"
,(
function
(
e
,
t
){
return
"translate(0,"
+
20
*
(
t
+
1
)
+
")"
}))).
append
(
"rect"
).
attr
(
"x"
,
u
+
2
*
d
.
right
/
3
).
attr
(
"width"
,
19
).
attr
(
"height"
,
19
).
attr
(
"fill"
,
v
),
A
.
append
(
"text"
).
attr
(
"x"
,
u
+
2
*
d
.
right
/
3
-
5
).
attr
(
"y"
,
9.5
).
attr
(
"dy"
,
"0.32em"
).
text
((
function
(
e
){
return
e
})),
p
.
append
(
"text"
).
attr
(
"transform"
,
"rotate(-90)"
).
attr
(
"y"
,
-
d
.
left
).
attr
(
"x"
,
-
c
/
2
).
attr
(
"dy"
,
"1em"
).
style
(
"text-anchor"
,
"middle"
).
text
(
"Number of visits"
);
case
49
:
case
"end"
:
return
e
.
stop
()}}),
e
)})))).
apply
(
this
,
arguments
)}},
44683
:
function
(
e
,
t
,
n
){
"use strict"
;
n
.
d
(
t
,{
LN
:
function
(){
return
g
},
N4
:
function
(){
return
p
},
tJ
:
function
(){
return
f
},
wk
:
function
(){
return
y
}});
var
a
,
r
,
i
,
o
=
n
(
43202
),
s
=
n
(
76945
);
function
l
(
e
){
for
(
var
t
=
[],
n
=
0
;
n
<
a
.
length
;
++
n
)
if
(
"full"
===
a
[
n
].
status
)
if
(
e
)
if
(
0
===
t
.
length
)
t
.
push
(
a
[
n
]);
else
{
var
r
=
t
[
t
.
length
-
1
];
a
[
n
].
snapshot
!==
r
.
snapshot
&&
t
.
push
(
a
[
n
])}
else
t
.
push
(
a
[
n
]);
return
t
}
function
u
(
e
){
$
(
"#swh-visits-list"
).
children
().
remove
();
for
(
var
t
=
[],
n
=
0
;
n
<
r
.
length
;
++
n
)
r
[
n
].
date
.
getUTCFullYear
()
===
e
&&
t
.
push
(
r
[
n
]);
for
(
var
a
=
0
,
i
=
'<div class="swh-visits-list-row">'
,
o
=
0
;
o
<
t
.
length
;
++
o
)
a
>
0
&&
a
%
4
==
0
&&
(
i
+=
'</div><div class="swh-visits-list-row">'
),
i
+=
'<div class="swh-visits-list-column" style="width: 25%;">'
,
i
+=
'<a class="swh-visit-icon swh-visit-'
+
t
[
o
].
status
+
'" title="'
+
t
[
o
].
status
+
' visit" href="'
+
t
[
o
].
url
+
'">'
+
t
[
o
].
formatted_date
+
"</a>"
,
i
+=
"</div>"
,
++
a
;
i
+=
"</div>"
,
$
(
"#swh-visits-list"
).
append
(
$
(
i
))}
function
c
(
e
){
i
=
e
,
u
(
e
),(
0
,
o
.
r
)(
".d3-wrapper"
,
r
,
i
,
d
)}
function
d
(
e
){
i
=
e
,(
0
,
s
.
N
)(
e
,
r
,
c
),
u
(
e
)}
function
h
(){
0
!==
r
.
length
&&
(
i
||
(
i
=
r
[
r
.
length
-
1
].
date
.
getUTCFullYear
()),(
0
,
o
.
r
)(
".d3-wrapper"
,
r
,
i
,
d
),(
0
,
s
.
N
)(
i
,
r
,
c
),
u
(
i
))}
function
f
(
e
){
r
=
l
(
!
0
),
h
()}
function
p
(
e
){
r
=
l
(
!
1
),
h
()}
function
g
(
e
){
r
=
a
,
h
()}
function
y
(
e
){
$
(
document
).
ready
((
function
(){
var
t
;(
a
=
e
).
forEach
((
function
(
e
,
n
){
e
.
date
=
new
Date
(
Math
.
floor
(
1e3
*
e
.
date
));
var
r
=
'<a class="swh-visit-icon swh-visit-'
+
e
.
status
+
'" href="'
+
e
.
url
+
'">'
+
e
.
formatted_date
+
"</a>"
;
"full"
===
e
.
status
&&
(
t
?
$
(
"#swh-last-full-visit"
)[
0
].
innerHTML
=
r
:
(
t
=
e
,
$
(
"#swh-first-full-visit"
).
append
(
$
(
r
)),
1
===
a
.
length
&&
(
$
(
"#swh-last-full-visit"
)[
0
].
innerHTML
=
r
))),
n
===
a
.
length
-
1
&&
$
(
"#swh-last-visit"
).
append
(
$
(
r
))})),
t
||
(
$
(
"#swh-full-visits-different-snapshots"
).
prop
(
"disabled"
,
!
0
),
$
(
"#swh-full-visits"
).
prop
(
"disabled"
,
!
0
)),
$
(
"#swh-full-visits"
).
prop
(
"checked"
)
?
p
()
:
$
(
"#swh-all-visits"
).
prop
(
"checked"
)
?
g
()
:
f
()}))}},
32319
:
function
(
e
,
t
){
var
n
,
a
,
r
;
"undefined"
!=
typeof
globalThis
?
globalThis
:
"undefined"
!=
typeof
self
&&
self
,
a
=
[
t
],
void
0
===
(
r
=
"function"
==
typeof
(
n
=
function
(
e
){
"use strict"
;
function
t
(
e
){
return
(
t
=
"function"
==
typeof
Symbol
&&
"symbol"
==
typeof
Symbol
.
iterator
?
function
(
e
){
return
typeof
e
}
:
function
(
e
){
return
e
&&
"function"
==
typeof
Symbol
&&
e
.
constructor
===
Symbol
&&
e
!==
Symbol
.
prototype
?
"symbol"
:
typeof
e
})(
e
)}
function
n
(
e
,
t
){
if
(
!
(
e
instanceof
t
))
throw
new
TypeError
(
"Cannot call a class as a function"
)}
function
a
(
e
,
t
){
for
(
var
n
=
0
;
n
<
t
.
length
;
n
++
){
var
a
=
t
[
n
];
a
.
enumerable
=
a
.
enumerable
||!
1
,
a
.
configurable
=!
0
,
"value"
in
a
&&
(
a
.
writable
=!
0
),
Object
.
defineProperty
(
e
,
a
.
key
,
a
)}}
function
r
(
e
,
t
,
n
){
return
t
&&
a
(
e
.
prototype
,
t
),
n
&&
a
(
e
,
n
),
e
}
function
i
(
e
,
t
,
n
){
return
t
in
e
?
Object
.
defineProperty
(
e
,
t
,{
value
:
n
,
enumerable
:!
0
,
configurable
:!
0
,
writable
:!
0
})
:
e
[
t
]
=
n
,
e
}
if
(
Object
.
defineProperty
(
e
,
"__esModule"
,{
value
:!
0
}),
e
.
default
=
void
0
,
"undefined"
==
typeof
NodeList
||
NodeList
.
prototype
.
forEach
||
(
NodeList
.
prototype
.
forEach
=
function
(
e
,
t
){
t
=
t
||
window
;
for
(
var
n
=
0
;
n
<
this
.
length
;
n
++
)
e
.
call
(
t
,
this
[
n
],
n
,
this
)}),
"undefined"
!=
typeof
Element
&&!
Element
.
prototype
.
matches
){
var
o
=
Element
.
prototype
;
Element
.
prototype
.
matches
=
o
.
msMatchesSelector
||
o
.
webkitMatchesSelector
}
"undefined"
==
typeof
Element
||
Element
.
prototype
.
closest
||
(
Element
.
prototype
.
closest
=
function
(
e
){
var
t
=
this
;
if
(
!
document
.
documentElement
.
contains
(
t
))
return
null
;
do
{
if
(
t
.
matches
(
e
))
return
t
;
t
=
t
.
parentElement
||
t
.
parentNode
}
while
(
null
!==
t
&&
1
==
t
.
nodeType
);
return
null
});
var
s
=
function
(){
function
e
(
t
){
var
a
=
arguments
.
length
>
1
&&
void
0
!==
arguments
[
1
]
?
arguments
[
1
]
:
null
;
if
(
n
(
this
,
e
),
i
(
this
,
"element"
,
void
0
),
i
(
this
,
"options"
,
void
0
),
i
(
this
,
"_startDate"
,
void
0
),
i
(
this
,
"_dataSource"
,
void
0
),
i
(
this
,
"_mouseDown"
,
void
0
),
i
(
this
,
"_rangeStart"
,
void
0
),
i
(
this
,
"_rangeEnd"
,
void
0
),
i
(
this
,
"_responsiveInterval"
,
void
0
),
i
(
this
,
"_nbCols"
,
void
0
),
i
(
this
,
"clickDay"
,
void
0
),
i
(
this
,
"dayContextMenu"
,
void
0
),
i
(
this
,
"mouseOnDay"
,
void
0
),
i
(
this
,
"mouseOutDay"
,
void
0
),
i
(
this
,
"renderEnd"
,
void
0
),
i
(
this
,
"selectRange"
,
void
0
),
i
(
this
,
"yearChanged"
,
void
0
),
i
(
this
,
"periodChanged"
,
void
0
),
t
instanceof
HTMLElement
)
this
.
element
=
t
;
else
{
if
(
"string"
!=
typeof
t
)
throw
new
Error
(
"The element parameter should be a DOM node or a selector"
);
this
.
element
=
document
.
querySelector
(
t
)}
this
.
element
.
classList
.
add
(
"calendar"
),
this
.
_initializeEvents
(
a
),
this
.
_initializeOptions
(
a
);
var
r
=
(
new
Date
).
getFullYear
(),
o
=
0
;
this
.
options
.
startDate
?
(
r
=
this
.
options
.
startDate
.
getFullYear
(),
o
=
this
.
options
.
startDate
.
getMonth
())
:
this
.
options
.
startYear
&&
(
r
=
this
.
options
.
startYear
),
this
.
setStartDate
(
new
Date
(
r
,
o
,
1
))}
return
r
(
e
,[{
key
:
"_initializeOptions"
,
value
:
function
(
t
){
null
==
t
&&
(
t
=
{}),
this
.
options
=
{
startYear
:
isNaN
(
parseInt
(
t
.
startYear
))
?
null
:
parseInt
(
t
.
startYear
),
startDate
:
t
.
startDate
instanceof
Date
?
t
.
startDate
:
null
,
numberMonthsDisplayed
:!
isNaN
(
parseInt
(
t
.
numberMonthsDisplayed
))
&&
t
.
numberMonthsDisplayed
>
0
&&
t
.
numberMonthsDisplayed
<=
12
?
parseInt
(
t
.
numberMonthsDisplayed
)
:
12
,
minDate
:
t
.
minDate
instanceof
Date
?
t
.
minDate
:
null
,
maxDate
:
t
.
maxDate
instanceof
Date
?
t
.
maxDate
:
null
,
language
:
null
!=
t
.
language
&&
null
!=
e
.
locales
[
t
.
language
]
?
t
.
language
:
"en"
,
allowOverlap
:
null
==
t
.
allowOverlap
||
t
.
allowOverlap
,
displayWeekNumber
:
null
!=
t
.
displayWeekNumber
&&
t
.
displayWeekNumber
,
displayDisabledDataSource
:
null
!=
t
.
displayDisabledDataSource
&&
t
.
displayDisabledDataSource
,
displayHeader
:
null
==
t
.
displayHeader
||
t
.
displayHeader
,
alwaysHalfDay
:
null
!=
t
.
alwaysHalfDay
&&
t
.
alwaysHalfDay
,
enableRangeSelection
:
null
!=
t
.
enableRangeSelection
&&
t
.
enableRangeSelection
,
disabledDays
:
t
.
disabledDays
instanceof
Array
?
t
.
disabledDays
:
[],
disabledWeekDays
:
t
.
disabledWeekDays
instanceof
Array
?
t
.
disabledWeekDays
:
[],
hiddenWeekDays
:
t
.
hiddenWeekDays
instanceof
Array
?
t
.
hiddenWeekDays
:
[],
roundRangeLimits
:
null
!=
t
.
roundRangeLimits
&&
t
.
roundRangeLimits
,
dataSource
:
t
.
dataSource
instanceof
Array
||
"function"
==
typeof
t
.
dataSource
?
t
.
dataSource
:
[],
style
:
"background"
==
t
.
style
||
"border"
==
t
.
style
||
"custom"
==
t
.
style
?
t
.
style
:
"border"
,
enableContextMenu
:
null
!=
t
.
enableContextMenu
&&
t
.
enableContextMenu
,
contextMenuItems
:
t
.
contextMenuItems
instanceof
Array
?
t
.
contextMenuItems
:
[],
customDayRenderer
:
"function"
==
typeof
t
.
customDayRenderer
?
t
.
customDayRenderer
:
null
,
customDataSourceRenderer
:
"function"
==
typeof
t
.
customDataSourceRenderer
?
t
.
customDataSourceRenderer
:
null
,
weekStart
:
isNaN
(
parseInt
(
t
.
weekStart
))
?
null
:
parseInt
(
t
.
weekStart
),
loadingTemplate
:
"string"
==
typeof
t
.
loadingTemplate
||
t
.
loadingTemplate
instanceof
HTMLElement
?
t
.
loadingTemplate
:
null
},
this
.
options
.
dataSource
instanceof
Array
&&
(
this
.
_dataSource
=
this
.
options
.
dataSource
,
this
.
_initializeDatasourceColors
())}},{
key
:
"_initializeEvents"
,
value
:
function
(
e
){
null
==
e
&&
(
e
=
[]),
e
.
yearChanged
&&
this
.
element
.
addEventListener
(
"yearChanged"
,
e
.
yearChanged
),
e
.
periodChanged
&&
this
.
element
.
addEventListener
(
"periodChanged"
,
e
.
periodChanged
),
e
.
renderEnd
&&
this
.
element
.
addEventListener
(
"renderEnd"
,
e
.
renderEnd
),
e
.
clickDay
&&
this
.
element
.
addEventListener
(
"clickDay"
,
e
.
clickDay
),
e
.
dayContextMenu
&&
this
.
element
.
addEventListener
(
"dayContextMenu"
,
e
.
dayContextMenu
),
e
.
selectRange
&&
this
.
element
.
addEventListener
(
"selectRange"
,
e
.
selectRange
),
e
.
mouseOnDay
&&
this
.
element
.
addEventListener
(
"mouseOnDay"
,
e
.
mouseOnDay
),
e
.
mouseOutDay
&&
this
.
element
.
addEventListener
(
"mouseOutDay"
,
e
.
mouseOutDay
)}},{
key
:
"_fetchDataSource"
,
value
:
function
(
e
){
if
(
"function"
==
typeof
this
.
options
.
dataSource
){
var
t
=
this
.
options
.
dataSource
,
n
=
this
.
getCurrentPeriod
(),
a
=
{
year
:
n
.
startDate
.
getFullYear
(),
startDate
:
n
.
startDate
,
endDate
:
n
.
endDate
};
if
(
2
==
t
.
length
)
t
(
a
,
e
);
else
{
var
r
=
t
(
a
);
r
instanceof
Array
&&
e
(
r
),
r
&&
r
.
then
&&
r
.
then
(
e
)}}
else
e
(
this
.
options
.
dataSource
)}},{
key
:
"_initializeDatasourceColors"
,
value
:
function
(){
for
(
var
t
=
0
;
t
<
this
.
_dataSource
.
length
;
t
++
)
null
==
this
.
_dataSource
[
t
].
color
&&
(
this
.
_dataSource
[
t
].
color
=
e
.
colors
[
t
%
e
.
colors
.
length
])}},{
key
:
"render"
,
value
:
function
(){
for
(
var
e
=
arguments
.
length
>
0
&&
void
0
!==
arguments
[
0
]
&&
arguments
[
0
];
this
.
element
.
firstChild
;)
this
.
element
.
removeChild
(
this
.
element
.
firstChild
);
if
(
this
.
options
.
displayHeader
&&
this
.
_renderHeader
(),
e
)
this
.
_renderLoading
();
else
{
this
.
_renderBody
(),
this
.
_renderDataSource
(),
this
.
_applyEvents
();
var
t
=
this
.
element
.
querySelector
(
".months-container"
);
t
.
style
.
opacity
=
"0"
,
t
.
style
.
display
=
"flex"
,
t
.
style
.
transition
=
"opacity 0.5s"
,
setTimeout
((
function
(){
t
.
style
.
opacity
=
"1"
,
setTimeout
((
function
(){
return
t
.
style
.
transition
=
""
}),
500
)}),
0
);
var
n
=
this
.
getCurrentPeriod
();
this
.
_triggerEvent
(
"renderEnd"
,{
currentYear
:
n
.
startDate
.
getFullYear
(),
startDate
:
n
.
startDate
,
endDate
:
n
.
endDate
})}}},{
key
:
"_renderHeader"
,
value
:
function
(){
var
t
=
document
.
createElement
(
"div"
);
t
.
classList
.
add
(
"calendar-header"
);
var
n
=
document
.
createElement
(
"table"
),
a
=
this
.
getCurrentPeriod
(),
r
=
document
.
createElement
(
"th"
);
r
.
classList
.
add
(
"prev"
),
null
!=
this
.
options
.
minDate
&&
this
.
options
.
minDate
>=
a
.
startDate
&&
r
.
classList
.
add
(
"disabled"
);
var
i
=
document
.
createElement
(
"span"
);
if
(
i
.
innerHTML
=
"‹"
,
r
.
appendChild
(
i
),
n
.
appendChild
(
r
),
this
.
_isFullYearMode
()){
var
o
=
document
.
createElement
(
"th"
);
o
.
classList
.
add
(
"year-title"
),
o
.
classList
.
add
(
"year-neighbor2"
),
o
.
textContent
=
(
this
.
_startDate
.
getFullYear
()
-
2
).
toString
(),
null
!=
this
.
options
.
minDate
&&
this
.
options
.
minDate
>
new
Date
(
this
.
_startDate
.
getFullYear
()
-
2
,
11
,
31
)
&&
o
.
classList
.
add
(
"disabled"
),
n
.
appendChild
(
o
);
var
s
=
document
.
createElement
(
"th"
);
s
.
classList
.
add
(
"year-title"
),
s
.
classList
.
add
(
"year-neighbor"
),
s
.
textContent
=
(
this
.
_startDate
.
getFullYear
()
-
1
).
toString
(),
null
!=
this
.
options
.
minDate
&&
this
.
options
.
minDate
>
new
Date
(
this
.
_startDate
.
getFullYear
()
-
1
,
11
,
31
)
&&
s
.
classList
.
add
(
"disabled"
),
n
.
appendChild
(
s
)}
var
l
=
document
.
createElement
(
"th"
);
if
(
l
.
classList
.
add
(
"year-title"
),
this
.
_isFullYearMode
()
?
l
.
textContent
=
this
.
_startDate
.
getFullYear
().
toString
()
:
12
==
this
.
options
.
numberMonthsDisplayed
?
l
.
textContent
=
""
.
concat
(
a
.
startDate
.
getFullYear
(),
" - "
).
concat
(
a
.
endDate
.
getFullYear
())
:
this
.
options
.
numberMonthsDisplayed
>
1
?
l
.
textContent
=
""
.
concat
(
e
.
locales
[
this
.
options
.
language
].
months
[
a
.
startDate
.
getMonth
()],
" "
).
concat
(
a
.
startDate
.
getFullYear
(),
" - "
).
concat
(
e
.
locales
[
this
.
options
.
language
].
months
[
a
.
endDate
.
getMonth
()],
" "
).
concat
(
a
.
endDate
.
getFullYear
())
:
l
.
textContent
=
""
.
concat
(
e
.
locales
[
this
.
options
.
language
].
months
[
a
.
startDate
.
getMonth
()],
" "
).
concat
(
a
.
startDate
.
getFullYear
()),
n
.
appendChild
(
l
),
this
.
_isFullYearMode
()){
var
u
=
document
.
createElement
(
"th"
);
u
.
classList
.
add
(
"year-title"
),
u
.
classList
.
add
(
"year-neighbor"
),
u
.
textContent
=
(
this
.
_startDate
.
getFullYear
()
+
1
).
toString
(),
null
!=
this
.
options
.
maxDate
&&
this
.
options
.
maxDate
<
new
Date
(
this
.
_startDate
.
getFullYear
()
+
1
,
0
,
1
)
&&
u
.
classList
.
add
(
"disabled"
),
n
.
appendChild
(
u
);
var
c
=
document
.
createElement
(
"th"
);
c
.
classList
.
add
(
"year-title"
),
c
.
classList
.
add
(
"year-neighbor2"
),
c
.
textContent
=
(
this
.
_startDate
.
getFullYear
()
+
2
).
toString
(),
null
!=
this
.
options
.
maxDate
&&
this
.
options
.
maxDate
<
new
Date
(
this
.
_startDate
.
getFullYear
()
+
2
,
0
,
1
)
&&
c
.
classList
.
add
(
"disabled"
),
n
.
appendChild
(
c
)}
var
d
=
document
.
createElement
(
"th"
);
d
.
classList
.
add
(
"next"
),
null
!=
this
.
options
.
maxDate
&&
this
.
options
.
maxDate
<=
a
.
endDate
&&
d
.
classList
.
add
(
"disabled"
);
var
h
=
document
.
createElement
(
"span"
);
h
.
innerHTML
=
"›"
,
d
.
appendChild
(
h
),
n
.
appendChild
(
d
),
t
.
appendChild
(
n
),
this
.
element
.
appendChild
(
t
)}},{
key
:
"_renderBody"
,
value
:
function
(){
var
t
=
document
.
createElement
(
"div"
);
t
.
classList
.
add
(
"months-container"
);
for
(
var
n
=
new
Date
(
this
.
_startDate
.
getTime
()),
a
=
0
;
a
<
this
.
options
.
numberMonthsDisplayed
;
a
++
){
var
r
=
document
.
createElement
(
"div"
);
r
.
classList
.
add
(
"month-container"
),
r
.
dataset
.
monthId
=
a
.
toString
(),
this
.
_nbCols
&&
r
.
classList
.
add
(
"month-"
.
concat
(
this
.
_nbCols
));
var
i
=
document
.
createElement
(
"table"
);
i
.
classList
.
add
(
"month"
);
var
o
=
document
.
createElement
(
"thead"
),
s
=
document
.
createElement
(
"tr"
),
l
=
document
.
createElement
(
"th"
);
l
.
classList
.
add
(
"month-title"
),
l
.
setAttribute
(
"colspan"
,
this
.
options
.
displayWeekNumber
?
"8"
:
"7"
),
l
.
textContent
=
e
.
locales
[
this
.
options
.
language
].
months
[
n
.
getMonth
()],
s
.
appendChild
(
l
),
o
.
appendChild
(
s
);
var
u
=
document
.
createElement
(
"tr"
);
this
.
options
.
displayWeekNumber
&&
((
y
=
document
.
createElement
(
"th"
)).
classList
.
add
(
"week-number"
),
y
.
textContent
=
e
.
locales
[
this
.
options
.
language
].
weekShort
,
u
.
appendChild
(
y
));
var
c
=
this
.
getWeekStart
(),
d
=
c
;
do
{
var
h
=
document
.
createElement
(
"th"
);
h
.
classList
.
add
(
"day-header"
),
h
.
textContent
=
e
.
locales
[
this
.
options
.
language
].
daysMin
[
d
],
this
.
_isHidden
(
d
)
&&
h
.
classList
.
add
(
"hidden"
),
u
.
appendChild
(
h
),
++
d
>=
7
&&
(
d
=
0
)}
while
(
d
!=
c
);
o
.
appendChild
(
u
),
i
.
appendChild
(
o
);
for
(
var
f
=
new
Date
(
n
.
getTime
()),
p
=
new
Date
(
n
.
getFullYear
(),
n
.
getMonth
()
+
1
,
0
);
f
.
getDay
()
!=
c
;)
f
.
setDate
(
f
.
getDate
()
-
1
);
for
(;
f
<=
p
;){
var
g
=
document
.
createElement
(
"tr"
);
if
(
this
.
options
.
displayWeekNumber
){
var
y
=
document
.
createElement
(
"td"
),
v
=
new
Date
(
f
.
getTime
());
v
.
setDate
(
v
.
getDate
()
-
c
+
4
),
y
.
classList
.
add
(
"week-number"
),
y
.
textContent
=
this
.
getWeekNumber
(
v
).
toString
(),
g
.
appendChild
(
y
)}
do
{
var
m
=
document
.
createElement
(
"td"
);
if
(
m
.
classList
.
add
(
"day"
),
this
.
_isHidden
(
f
.
getDay
())
&&
m
.
classList
.
add
(
"hidden"
),
f
<
n
)
m
.
classList
.
add
(
"old"
);
else
if
(
f
>
p
)
m
.
classList
.
add
(
"new"
);
else
{
this
.
_isDisabled
(
f
)
&&
m
.
classList
.
add
(
"disabled"
);
var
D
=
document
.
createElement
(
"div"
);
D
.
classList
.
add
(
"day-content"
),
D
.
textContent
=
f
.
getDate
().
toString
(),
m
.
appendChild
(
D
),
this
.
options
.
customDayRenderer
&&
this
.
options
.
customDayRenderer
(
D
,
f
)}
g
.
appendChild
(
m
),
f
.
setDate
(
f
.
getDate
()
+
1
)}
while
(
f
.
getDay
()
!=
c
);
i
.
appendChild
(
g
)}
r
.
appendChild
(
i
),
t
.
appendChild
(
r
),
n
.
setMonth
(
n
.
getMonth
()
+
1
)}
this
.
element
.
appendChild
(
t
)}},{
key
:
"_renderLoading"
,
value
:
function
(){
var
e
=
document
.
createElement
(
"div"
);
e
.
classList
.
add
(
"calendar-loading-container"
),
e
.
style
.
minHeight
=
200
*
this
.
_nbCols
+
"px"
;
var
t
=
document
.
createElement
(
"div"
);
if
(
t
.
classList
.
add
(
"calendar-loading"
),
this
.
options
.
loadingTemplate
)
"string"
==
typeof
this
.
options
.
loadingTemplate
?
t
.
innerHTML
=
this
.
options
.
loadingTemplate
:
this
.
options
.
loadingTemplate
instanceof
HTMLElement
&&
t
.
appendChild
(
this
.
options
.
loadingTemplate
);
else
{
var
n
=
document
.
createElement
(
"div"
);
n
.
classList
.
add
(
"calendar-spinner"
);
for
(
var
a
=
1
;
a
<=
3
;
a
++
){
var
r
=
document
.
createElement
(
"div"
);
r
.
classList
.
add
(
"bounce"
.
concat
(
a
)),
n
.
appendChild
(
r
)}
t
.
appendChild
(
n
)}
e
.
appendChild
(
t
),
this
.
element
.
appendChild
(
e
)}},{
key
:
"_renderDataSource"
,
value
:
function
(){
var
e
=
this
;
null
!=
this
.
_dataSource
&&
this
.
_dataSource
.
length
>
0
&&
this
.
element
.
querySelectorAll
(
".month-container"
).
forEach
((
function
(
t
){
var
n
=
parseInt
(
t
.
dataset
.
monthId
),
a
=
e
.
_startDate
.
getFullYear
(),
r
=
e
.
_startDate
.
getMonth
()
+
n
,
i
=
new
Date
(
a
,
r
,
1
),
o
=
new
Date
(
a
,
r
+
1
,
1
);
if
((
null
==
e
.
options
.
minDate
||
o
>
e
.
options
.
minDate
)
&&
(
null
==
e
.
options
.
maxDate
||
i
<=
e
.
options
.
maxDate
)){
for
(
var
s
=
[],
l
=
0
;
l
<
e
.
_dataSource
.
length
;
l
++
)
e
.
_dataSource
[
l
].
startDate
>=
o
&&!
(
e
.
_dataSource
[
l
].
endDate
<
i
)
||
s
.
push
(
e
.
_dataSource
[
l
]);
s
.
length
>
0
&&
t
.
querySelectorAll
(
".day-content"
).
forEach
((
function
(
t
){
var
n
=
new
Date
(
a
,
r
,
parseInt
(
t
.
textContent
)),
i
=
new
Date
(
a
,
r
,
n
.
getDate
()
+
1
),
o
=
[];
if
((
null
==
e
.
options
.
minDate
||
n
>=
e
.
options
.
minDate
)
&&
(
null
==
e
.
options
.
maxDate
||
n
<=
e
.
options
.
maxDate
)){
for
(
var
l
=
0
;
l
<
s
.
length
;
l
++
)
s
[
l
].
startDate
<
i
&&
s
[
l
].
endDate
>=
n
&&
o
.
push
(
s
[
l
]);
o
.
length
>
0
&&
(
e
.
options
.
displayDisabledDataSource
||!
e
.
_isDisabled
(
n
))
&&
e
.
_renderDataSourceDay
(
t
,
n
,
o
)}}))}}))}},{
key
:
"_renderDataSourceDay"
,
value
:
function
(
e
,
t
,
n
){
var
a
=
e
.
parentElement
;
switch
(
this
.
options
.
style
){
case
"border"
:
var
r
=
0
;
if
(
1
==
n
.
length
?
r
=
4
:
n
.
length
<=
3
?
r
=
2
:
a
.
style
.
boxShadow
=
"inset 0 -4px 0 0 black"
,
r
>
0
){
for
(
var
i
=
""
,
o
=
0
;
o
<
n
.
length
;
o
++
)
""
!=
i
&&
(
i
+=
","
),
i
+=
"inset 0 -"
.
concat
((
o
+
1
)
*
r
,
"px 0 0 "
).
concat
(
n
[
o
].
color
);
a
.
style
.
boxShadow
=
i
}
break
;
case
"background"
:
a
.
style
.
backgroundColor
=
n
[
n
.
length
-
1
].
color
;
var
s
=
t
.
getTime
();
if
(
n
[
n
.
length
-
1
].
startDate
.
getTime
()
==
s
)
if
(
a
.
classList
.
add
(
"day-start"
),
n
[
n
.
length
-
1
].
startHalfDay
||
this
.
options
.
alwaysHalfDay
){
a
.
classList
.
add
(
"day-half"
);
var
l
=
"transparent"
;
for
(
o
=
n
.
length
-
2
;
o
>=
0
;
o
--
)
if
(
n
[
o
].
startDate
.
getTime
()
!=
s
||!
n
[
o
].
startHalfDay
&&!
this
.
options
.
alwaysHalfDay
){
l
=
n
[
o
].
color
;
break
}
a
.
style
.
background
=
"linear-gradient(-45deg, "
.
concat
(
n
[
n
.
length
-
1
].
color
,
", "
).
concat
(
n
[
n
.
length
-
1
].
color
,
" 49%, "
).
concat
(
l
,
" 51%, "
).
concat
(
l
,
")"
)}
else
this
.
options
.
roundRangeLimits
&&
a
.
classList
.
add
(
"round-left"
);
else
if
(
n
[
n
.
length
-
1
].
endDate
.
getTime
()
==
s
)
if
(
a
.
classList
.
add
(
"day-end"
),
n
[
n
.
length
-
1
].
endHalfDay
||
this
.
options
.
alwaysHalfDay
){
for
(
a
.
classList
.
add
(
"day-half"
),
l
=
"transparent"
,
o
=
n
.
length
-
2
;
o
>=
0
;
o
--
)
if
(
n
[
o
].
endDate
.
getTime
()
!=
s
||!
n
[
o
].
endHalfDay
&&!
this
.
options
.
alwaysHalfDay
){
l
=
n
[
o
].
color
;
break
}
a
.
style
.
background
=
"linear-gradient(135deg, "
.
concat
(
n
[
n
.
length
-
1
].
color
,
", "
).
concat
(
n
[
n
.
length
-
1
].
color
,
" 49%, "
).
concat
(
l
,
" 51%, "
).
concat
(
l
,
")"
)}
else
this
.
options
.
roundRangeLimits
&&
a
.
classList
.
add
(
"round-right"
);
break
;
case
"custom"
:
this
.
options
.
customDataSourceRenderer
&&
this
.
options
.
customDataSourceRenderer
.
call
(
this
,
e
,
t
,
n
)}}},{
key
:
"_applyEvents"
,
value
:
function
(){
var
e
=
this
;
this
.
options
.
displayHeader
&&
(
this
.
element
.
querySelectorAll
(
".year-neighbor, .year-neighbor2"
).
forEach
((
function
(
t
){
t
.
addEventListener
(
"click"
,(
function
(
t
){
t
.
currentTarget
.
classList
.
contains
(
"disabled"
)
||
e
.
setYear
(
parseInt
(
t
.
currentTarget
.
textContent
))}))})),
this
.
element
.
querySelector
(
".calendar-header .prev"
).
addEventListener
(
"click"
,(
function
(
t
){
if
(
!
t
.
currentTarget
.
classList
.
contains
(
"disabled"
)){
var
n
=
e
.
element
.
querySelector
(
".months-container"
);
n
.
style
.
transition
=
"margin-left 0.1s"
,
n
.
style
.
marginLeft
=
"100%"
,
setTimeout
((
function
(){
n
.
style
.
visibility
=
"hidden"
,
n
.
style
.
transition
=
""
,
n
.
style
.
marginLeft
=
"0"
,
setTimeout
((
function
(){
e
.
setStartDate
(
new
Date
(
e
.
_startDate
.
getFullYear
(),
e
.
_startDate
.
getMonth
()
-
e
.
options
.
numberMonthsDisplayed
,
1
))}),
50
)}),
100
)}})),
this
.
element
.
querySelector
(
".calendar-header .next"
).
addEventListener
(
"click"
,(
function
(
t
){
if
(
!
t
.
currentTarget
.
classList
.
contains
(
"disabled"
)){
var
n
=
e
.
element
.
querySelector
(
".months-container"
);
n
.
style
.
transition
=
"margin-left 0.1s"
,
n
.
style
.
marginLeft
=
"-100%"
,
setTimeout
((
function
(){
n
.
style
.
visibility
=
"hidden"
,
n
.
style
.
transition
=
""
,
n
.
style
.
marginLeft
=
"0"
,
setTimeout
((
function
(){
e
.
setStartDate
(
new
Date
(
e
.
_startDate
.
getFullYear
(),
e
.
_startDate
.
getMonth
()
+
e
.
options
.
numberMonthsDisplayed
,
1
))}),
50
)}),
100
)}}))),
this
.
element
.
querySelectorAll
(
".day:not(.old):not(.new):not(.disabled)"
).
forEach
((
function
(
t
){
t
.
addEventListener
(
"click"
,(
function
(
t
){
t
.
stopPropagation
();
var
n
=
e
.
_getDate
(
t
.
currentTarget
);
e
.
_triggerEvent
(
"clickDay"
,{
element
:
t
.
currentTarget
,
date
:
n
,
events
:
e
.
getEvents
(
n
)})})),
t
.
addEventListener
(
"contextmenu"
,(
function
(
t
){
e
.
options
.
enableContextMenu
&&
(
t
.
preventDefault
(),
e
.
options
.
contextMenuItems
.
length
>
0
&&
e
.
_openContextMenu
(
t
.
currentTarget
));
var
n
=
e
.
_getDate
(
t
.
currentTarget
);
e
.
_triggerEvent
(
"dayContextMenu"
,{
element
:
t
.
currentTarget
,
date
:
n
,
events
:
e
.
getEvents
(
n
)})})),
e
.
options
.
enableRangeSelection
&&
(
t
.
addEventListener
(
"mousedown"
,(
function
(
t
){
if
(
1
==
t
.
which
){
var
n
=
e
.
_getDate
(
t
.
currentTarget
);(
e
.
options
.
allowOverlap
||
e
.
isThereFreeSlot
(
n
))
&&
(
e
.
_mouseDown
=!
0
,
e
.
_rangeStart
=
e
.
_rangeEnd
=
n
,
e
.
_refreshRange
())}})),
t
.
addEventListener
(
"mouseenter"
,(
function
(
t
){
if
(
e
.
_mouseDown
){
var
n
=
e
.
_getDate
(
t
.
currentTarget
);
if
(
!
e
.
options
.
allowOverlap
){
var
a
=
new
Date
(
e
.
_rangeStart
.
getTime
());
if
(
a
<
n
)
for
(
var
r
=
new
Date
(
a
.
getFullYear
(),
a
.
getMonth
(),
a
.
getDate
()
+
1
);
a
<
n
&&
e
.
isThereFreeSlot
(
r
,
!
1
);)
a
.
setDate
(
a
.
getDate
()
+
1
),
r
.
setDate
(
r
.
getDate
()
+
1
);
else
for
(
r
=
new
Date
(
a
.
getFullYear
(),
a
.
getMonth
(),
a
.
getDate
()
-
1
);
a
>
n
&&
e
.
isThereFreeSlot
(
r
,
!
0
);)
a
.
setDate
(
a
.
getDate
()
-
1
),
r
.
setDate
(
r
.
getDate
()
-
1
);
n
=
a
}
var
i
=
e
.
_rangeEnd
;
e
.
_rangeEnd
=
n
,
i
.
getTime
()
!=
e
.
_rangeEnd
.
getTime
()
&&
e
.
_refreshRange
()}}))),
t
.
addEventListener
(
"mouseenter"
,(
function
(
t
){
if
(
!
e
.
_mouseDown
){
var
n
=
e
.
_getDate
(
t
.
currentTarget
);
e
.
_triggerEvent
(
"mouseOnDay"
,{
element
:
t
.
currentTarget
,
date
:
n
,
events
:
e
.
getEvents
(
n
)})}})),
t
.
addEventListener
(
"mouseleave"
,(
function
(
t
){
var
n
=
e
.
_getDate
(
t
.
currentTarget
);
e
.
_triggerEvent
(
"mouseOutDay"
,{
element
:
t
.
currentTarget
,
date
:
n
,
events
:
e
.
getEvents
(
n
)})}))})),
this
.
options
.
enableRangeSelection
&&
window
.
addEventListener
(
"mouseup"
,(
function
(
t
){
if
(
e
.
_mouseDown
){
e
.
_mouseDown
=!
1
,
e
.
_refreshRange
();
var
n
=
e
.
_rangeStart
<
e
.
_rangeEnd
?
e
.
_rangeStart
:
e
.
_rangeEnd
,
a
=
e
.
_rangeEnd
>
e
.
_rangeStart
?
e
.
_rangeEnd
:
e
.
_rangeStart
;
e
.
_triggerEvent
(
"selectRange"
,{
startDate
:
n
,
endDate
:
a
,
events
:
e
.
getEventsOnRange
(
n
,
new
Date
(
a
.
getFullYear
(),
a
.
getMonth
(),
a
.
getDate
()
+
1
))})}})),
this
.
_responsiveInterval
&&
(
clearInterval
(
this
.
_responsiveInterval
),
this
.
_responsiveInterval
=
null
),
this
.
_responsiveInterval
=
setInterval
((
function
(){
if
(
null
!=
e
.
element
.
querySelector
(
".month"
)){
var
t
=
e
.
element
.
offsetWidth
,
n
=
e
.
element
.
querySelector
(
".month"
).
offsetWidth
+
10
;
e
.
_nbCols
=
null
,
6
*
n
<
t
&&
e
.
options
.
numberMonthsDisplayed
>=
6
?
e
.
_nbCols
=
2
:
4
*
n
<
t
&&
e
.
options
.
numberMonthsDisplayed
>=
4
?
e
.
_nbCols
=
3
:
3
*
n
<
t
&&
e
.
options
.
numberMonthsDisplayed
>=
3
?
e
.
_nbCols
=
4
:
2
*
n
<
t
&&
e
.
options
.
numberMonthsDisplayed
>=
2
?
e
.
_nbCols
=
6
:
e
.
_nbCols
=
12
,
e
.
element
.
querySelectorAll
(
".month-container"
).
forEach
((
function
(
t
){
t
.
classList
.
contains
(
"month-"
.
concat
(
e
.
_nbCols
))
||
([
"month-2"
,
"month-3"
,
"month-4"
,
"month-6"
,
"month-12"
].
forEach
((
function
(
e
){
t
.
classList
.
remove
(
e
)})),
t
.
classList
.
add
(
"month-"
.
concat
(
e
.
_nbCols
)))}))}}),
300
)}},{
key
:
"_refreshRange"
,
value
:
function
(){
var
e
=
this
;
if
(
this
.
element
.
querySelectorAll
(
"td.day.range"
).
forEach
((
function
(
e
){
return
e
.
classList
.
remove
(
"range"
)})),
this
.
element
.
querySelectorAll
(
"td.day.range-start"
).
forEach
((
function
(
e
){
return
e
.
classList
.
remove
(
"range-start"
)})),
this
.
element
.
querySelectorAll
(
"td.day.range-end"
).
forEach
((
function
(
e
){
return
e
.
classList
.
remove
(
"range-end"
)})),
this
.
_mouseDown
){
var
t
=
this
.
_rangeStart
<
this
.
_rangeEnd
?
this
.
_rangeStart
:
this
.
_rangeEnd
,
n
=
this
.
_rangeEnd
>
this
.
_rangeStart
?
this
.
_rangeEnd
:
this
.
_rangeStart
;
this
.
element
.
querySelectorAll
(
".month-container"
).
forEach
((
function
(
a
){
var
r
=
parseInt
(
a
.
dataset
.
monthId
),
i
=
new
Date
(
e
.
_startDate
.
getFullYear
(),
e
.
_startDate
.
getMonth
()
+
r
,
1
),
o
=
new
Date
(
e
.
_startDate
.
getFullYear
(),
e
.
_startDate
.
getMonth
()
+
r
+
1
,
1
);
t
.
getTime
()
<
o
.
getTime
()
&&
n
.
getTime
()
>=
i
.
getTime
()
&&
a
.
querySelectorAll
(
"td.day:not(.old):not(.new)"
).
forEach
((
function
(
a
){
var
r
=
e
.
_getDate
(
a
);
r
>=
t
&&
r
<=
n
&&
(
a
.
classList
.
add
(
"range"
),
r
.
getTime
()
==
t
.
getTime
()
&&
a
.
classList
.
add
(
"range-start"
),
r
.
getTime
()
==
n
.
getTime
()
&&
a
.
classList
.
add
(
"range-end"
))}))}))}}},{
key
:
"_getElementPosition"
,
value
:
function
(
e
){
var
t
=
0
,
n
=
0
;
do
{
t
+=
e
.
offsetTop
||
0
,
n
+=
e
.
offsetLeft
||
0
,
e
=
e
.
offsetParent
}
while
(
e
);
return
{
top
:
t
,
left
:
n
}}},{
key
:
"_openContextMenu"
,
value
:
function
(
e
){
var
t
=
this
,
n
=
document
.
querySelector
(
".calendar-context-menu"
);
if
(
null
!==
n
)
for
(
n
.
style
.
display
=
"none"
;
n
.
firstChild
;)
n
.
removeChild
(
n
.
firstChild
);
else
(
n
=
document
.
createElement
(
"div"
)).
classList
.
add
(
"calendar-context-menu"
),
document
.
body
.
appendChild
(
n
);
for
(
var
a
=
this
.
_getDate
(
e
),
r
=
this
.
getEvents
(
a
),
i
=
0
;
i
<
r
.
length
;
i
++
){
var
o
=
document
.
createElement
(
"div"
);
o
.
classList
.
add
(
"item"
),
o
.
style
.
paddingLeft
=
"4px"
,
o
.
style
.
boxShadow
=
"inset 4px 0 0 0 "
.
concat
(
r
[
i
].
color
);
var
s
=
document
.
createElement
(
"div"
);
s
.
classList
.
add
(
"content"
);
var
l
=
document
.
createElement
(
"span"
);
l
.
classList
.
add
(
"text"
),
l
.
textContent
=
r
[
i
].
name
,
s
.
appendChild
(
l
);
var
u
=
document
.
createElement
(
"span"
);
u
.
classList
.
add
(
"arrow"
),
u
.
innerHTML
=
"›"
,
s
.
appendChild
(
u
),
o
.
appendChild
(
s
),
this
.
_renderContextMenuItems
(
o
,
this
.
options
.
contextMenuItems
,
r
[
i
]),
n
.
appendChild
(
o
)}
if
(
n
.
children
.
length
>
0
){
var
c
=
this
.
_getElementPosition
(
e
);
n
.
style
.
left
=
c
.
left
+
25
+
"px"
,
n
.
style
.
right
=
""
,
n
.
style
.
top
=
c
.
top
+
25
+
"px"
,
n
.
style
.
display
=
"block"
,
n
.
getBoundingClientRect
().
right
>
document
.
body
.
offsetWidth
&&
(
n
.
style
.
left
=
""
,
n
.
style
.
right
=
"0"
),
setTimeout
((
function
(){
return
t
.
_checkContextMenuItemsPosition
()}),
0
);
var
d
=
function
e
(
t
){
"click"
===
t
.
type
&&
n
.
contains
(
t
.
target
)
||
(
n
.
style
.
display
=
"none"
,
window
.
removeEventListener
(
"click"
,
e
),
window
.
removeEventListener
(
"resize"
,
e
),
window
.
removeEventListener
(
"scroll"
,
e
))};
window
.
addEventListener
(
"click"
,
d
),
window
.
addEventListener
(
"resize"
,
d
),
window
.
addEventListener
(
"scroll"
,
d
)}}},{
key
:
"_renderContextMenuItems"
,
value
:
function
(
e
,
t
,
n
){
var
a
=
document
.
createElement
(
"div"
);
a
.
classList
.
add
(
"submenu"
);
for
(
var
r
=
0
;
r
<
t
.
length
;
r
++
)
if
(
!
1
!==
t
[
r
].
visible
&&
(
"function"
!=
typeof
t
[
r
].
visible
||
t
[
r
].
visible
(
n
))){
var
i
=
document
.
createElement
(
"div"
);
i
.
classList
.
add
(
"item"
);
var
o
=
document
.
createElement
(
"div"
);
o
.
classList
.
add
(
"content"
);
var
s
=
document
.
createElement
(
"span"
);
if
(
s
.
classList
.
add
(
"text"
),
s
.
textContent
=
t
[
r
].
text
,
o
.
appendChild
(
s
),
t
[
r
].
click
&&
function
(
e
){
o
.
addEventListener
(
"click"
,(
function
(){
document
.
querySelector
(
".calendar-context-menu"
).
style
.
display
=
"none"
,
t
[
e
].
click
(
n
)}))}(
r
),
i
.
appendChild
(
o
),
t
[
r
].
items
&&
t
[
r
].
items
.
length
>
0
){
var
l
=
document
.
createElement
(
"span"
);
l
.
classList
.
add
(
"arrow"
),
l
.
innerHTML
=
"›"
,
o
.
appendChild
(
l
),
this
.
_renderContextMenuItems
(
i
,
t
[
r
].
items
,
n
)}
a
.
appendChild
(
i
)}
a
.
children
.
length
>
0
&&
e
.
appendChild
(
a
)}},{
key
:
"_checkContextMenuItemsPosition"
,
value
:
function
(){
var
e
=
document
.
querySelectorAll
(
".calendar-context-menu .submenu"
);
e
.
forEach
((
function
(
e
){
var
t
=
e
;
t
.
style
.
display
=
"block"
,
t
.
style
.
visibility
=
"hidden"
})),
e
.
forEach
((
function
(
e
){
var
t
=
e
;
t
.
getBoundingClientRect
().
right
>
document
.
body
.
offsetWidth
?
t
.
classList
.
add
(
"open-left"
)
:
t
.
classList
.
remove
(
"open-left"
)})),
e
.
forEach
((
function
(
e
){
var
t
=
e
;
t
.
style
.
display
=
""
,
t
.
style
.
visibility
=
""
}))}},{
key
:
"_getDate"
,
value
:
function
(
e
){
var
t
=
e
.
querySelector
(
".day-content"
).
textContent
,
n
=
parseInt
(
e
.
closest
(
".month-container"
).
dataset
.
monthId
);
return
new
Date
(
this
.
_startDate
.
getFullYear
(),
this
.
_startDate
.
getMonth
()
+
n
,
t
)}},{
key
:
"_triggerEvent"
,
value
:
function
(
e
,
t
){
var
n
=
null
;
for
(
var
a
in
"function"
==
typeof
Event
?
n
=
new
Event
(
e
)
:
(
n
=
document
.
createEvent
(
"Event"
)).
initEvent
(
e
,
!
1
,
!
1
),
n
.
calendar
=
this
,
t
)
n
[
a
]
=
t
[
a
];
return
this
.
element
.
dispatchEvent
(
n
),
n
}},{
key
:
"_isDisabled"
,
value
:
function
(
e
){
if
(
null
!=
this
.
options
.
minDate
&&
e
<
this
.
options
.
minDate
||
null
!=
this
.
options
.
maxDate
&&
e
>
this
.
options
.
maxDate
)
return
!
0
;
if
(
this
.
options
.
disabledWeekDays
.
length
>
0
)
for
(
var
t
=
0
;
t
<
this
.
options
.
disabledWeekDays
.
length
;
t
++
)
if
(
e
.
getDay
()
==
this
.
options
.
disabledWeekDays
[
t
])
return
!
0
;
if
(
this
.
options
.
disabledDays
.
length
>
0
)
for
(
t
=
0
;
t
<
this
.
options
.
disabledDays
.
length
;
t
++
)
if
(
e
.
getTime
()
==
this
.
options
.
disabledDays
[
t
].
getTime
())
return
!
0
;
return
!
1
}},{
key
:
"_isHidden"
,
value
:
function
(
e
){
if
(
this
.
options
.
hiddenWeekDays
.
length
>
0
)
for
(
var
t
=
0
;
t
<
this
.
options
.
hiddenWeekDays
.
length
;
t
++
)
if
(
e
==
this
.
options
.
hiddenWeekDays
[
t
])
return
!
0
;
return
!
1
}},{
key
:
"_isFullYearMode"
,
value
:
function
(){
return
0
==
this
.
_startDate
.
getMonth
()
&&
12
==
this
.
options
.
numberMonthsDisplayed
}},{
key
:
"getWeekNumber"
,
value
:
function
(
e
){
var
t
=
new
Date
(
e
.
getTime
());
t
.
setHours
(
0
,
0
,
0
,
0
),
t
.
setDate
(
t
.
getDate
()
+
3
-
(
t
.
getDay
()
+
6
)
%
7
);
var
n
=
new
Date
(
t
.
getFullYear
(),
0
,
4
);
return
1
+
Math
.
round
(((
t
.
getTime
()
-
n
.
getTime
())
/
864e5
-
3
+
(
n
.
getDay
()
+
6
)
%
7
)
/
7
)}},{
key
:
"getEvents"
,
value
:
function
(
e
){
return
this
.
getEventsOnRange
(
e
,
new
Date
(
e
.
getFullYear
(),
e
.
getMonth
(),
e
.
getDate
()
+
1
))}},{
key
:
"getEventsOnRange"
,
value
:
function
(
e
,
t
){
var
n
=
[];
if
(
this
.
_dataSource
&&
e
&&
t
)
for
(
var
a
=
0
;
a
<
this
.
_dataSource
.
length
;
a
++
)
this
.
_dataSource
[
a
].
startDate
<
t
&&
this
.
_dataSource
[
a
].
endDate
>=
e
&&
n
.
push
(
this
.
_dataSource
[
a
]);
return
n
}},{
key
:
"isThereFreeSlot"
,
value
:
function
(
e
){
var
t
=
this
,
n
=
arguments
.
length
>
1
&&
void
0
!==
arguments
[
1
]
?
arguments
[
1
]
:
null
,
a
=
this
.
getEvents
(
e
);
return
!
0
===
n
?!
a
.
some
((
function
(
n
){
return
!
t
.
options
.
alwaysHalfDay
&&!
n
.
endHalfDay
||
n
.
endDate
>
e
}))
:!
1
===
n
?!
a
.
some
((
function
(
n
){
return
!
t
.
options
.
alwaysHalfDay
&&!
n
.
startHalfDay
||
n
.
startDate
<
e
}))
:
this
.
isThereFreeSlot
(
e
,
!
1
)
||
this
.
isThereFreeSlot
(
e
,
!
0
)}},{
key
:
"getCurrentPeriod"
,
value
:
function
(){
var
e
=
new
Date
(
this
.
_startDate
.
getTime
()),
t
=
new
Date
(
this
.
_startDate
.
getTime
());
return
t
.
setMonth
(
t
.
getMonth
()
+
this
.
options
.
numberMonthsDisplayed
),
t
.
setTime
(
t
.
getTime
()
-
1
),{
startDate
:
e
,
endDate
:
t
}}},{
key
:
"getYear"
,
value
:
function
(){
return
this
.
_isFullYearMode
()
?
this
.
_startDate
.
getFullYear
()
:
null
}},{
key
:
"setYear"
,
value
:
function
(
e
){
var
t
=
parseInt
(
e
);
isNaN
(
t
)
||
this
.
setStartDate
(
new
Date
(
t
,
0
,
1
))}},{
key
:
"getStartDate"
,
value
:
function
(){
return
this
.
_startDate
}},{
key
:
"setStartDate"
,
value
:
function
(
e
){
var
t
=
this
;
if
(
e
instanceof
Date
){
for
(
this
.
options
.
startDate
=
e
,
this
.
_startDate
=
new
Date
(
e
.
getFullYear
(),
e
.
getMonth
(),
1
);
this
.
element
.
firstChild
;)
this
.
element
.
removeChild
(
this
.
element
.
firstChild
);
this
.
options
.
displayHeader
&&
this
.
_renderHeader
();
var
n
=
this
.
getCurrentPeriod
(),
a
=
this
.
_triggerEvent
(
"periodChanged"
,{
startDate
:
n
.
startDate
,
endDate
:
n
.
endDate
,
preventRendering
:!
1
}),
r
=
null
;
this
.
_isFullYearMode
()
&&
(
r
=
this
.
_triggerEvent
(
"yearChanged"
,{
currentYear
:
this
.
_startDate
.
getFullYear
(),
preventRendering
:!
1
})),
"function"
==
typeof
this
.
options
.
dataSource
?
(
this
.
render
(
!
0
),
this
.
_fetchDataSource
((
function
(
e
){
t
.
_dataSource
=
e
,
t
.
_initializeDatasourceColors
(),
t
.
render
(
!
1
)})))
:
a
.
preventRendering
||
r
&&
r
.
preventRedering
||
this
.
render
()}}},{
key
:
"getNumberMonthsDisplayed"
,
value
:
function
(){
return
this
.
options
.
numberMonthsDisplayed
}},{
key
:
"setNumberMonthsDisplayed"
,
value
:
function
(
e
){
var
t
=
arguments
.
length
>
1
&&
void
0
!==
arguments
[
1
]
&&
arguments
[
1
],
n
=
parseInt
(
e
);
!
isNaN
(
n
)
&&
n
>
0
&&
n
<=
12
&&
(
this
.
options
.
numberMonthsDisplayed
=
n
,
t
||
this
.
render
())}},{
key
:
"getMinDate"
,
value
:
function
(){
return
this
.
options
.
minDate
}},{
key
:
"setMinDate"
,
value
:
function
(
e
){
var
t
=
arguments
.
length
>
1
&&
void
0
!==
arguments
[
1
]
&&
arguments
[
1
];(
e
instanceof
Date
||
null
===
e
)
&&
(
this
.
options
.
minDate
=
e
,
t
||
this
.
render
())}},{
key
:
"getMaxDate"
,
value
:
function
(){
return
this
.
options
.
maxDate
}},{
key
:
"setMaxDate"
,
value
:
function
(
e
){
var
t
=
arguments
.
length
>
1
&&
void
0
!==
arguments
[
1
]
&&
arguments
[
1
];(
e
instanceof
Date
||
null
===
e
)
&&
(
this
.
options
.
maxDate
=
e
,
t
||
this
.
render
())}},{
key
:
"getStyle"
,
value
:
function
(){
return
this
.
options
.
style
}},{
key
:
"setStyle"
,
value
:
function
(
e
){
var
t
=
arguments
.
length
>
1
&&
void
0
!==
arguments
[
1
]
&&
arguments
[
1
];
this
.
options
.
style
=
"background"
==
e
||
"border"
==
e
||
"custom"
==
e
?
e
:
"border"
,
t
||
this
.
render
()}},{
key
:
"getAllowOverlap"
,
value
:
function
(){
return
this
.
options
.
allowOverlap
}},{
key
:
"setAllowOverlap"
,
value
:
function
(
e
){
this
.
options
.
allowOverlap
=
e
}},{
key
:
"getDisplayWeekNumber"
,
value
:
function
(){
return
this
.
options
.
displayWeekNumber
}},{
key
:
"setDisplayWeekNumber"
,
value
:
function
(
e
){
var
t
=
arguments
.
length
>
1
&&
void
0
!==
arguments
[
1
]
&&
arguments
[
1
];
this
.
options
.
displayWeekNumber
=
e
,
t
||
this
.
render
()}},{
key
:
"getDisplayHeader"
,
value
:
function
(){
return
this
.
options
.
displayHeader
}},{
key
:
"setDisplayHeader"
,
value
:
function
(
e
){
var
t
=
arguments
.
length
>
1
&&
void
0
!==
arguments
[
1
]
&&
arguments
[
1
];
this
.
options
.
displayHeader
=
e
,
t
||
this
.
render
()}},{
key
:
"getDisplayDisabledDataSource"
,
value
:
function
(){
return
this
.
options
.
displayDisabledDataSource
}},{
key
:
"setDisplayDisabledDataSource"
,
value
:
function
(
e
){
var
t
=
arguments
.
length
>
1
&&
void
0
!==
arguments
[
1
]
&&
arguments
[
1
];
this
.
options
.
displayDisabledDataSource
=
e
,
t
||
this
.
render
()}},{
key
:
"getAlwaysHalfDay"
,
value
:
function
(){
return
this
.
options
.
alwaysHalfDay
}},{
key
:
"setAlwaysHalfDay"
,
value
:
function
(
e
){
var
t
=
arguments
.
length
>
1
&&
void
0
!==
arguments
[
1
]
&&
arguments
[
1
];
this
.
options
.
alwaysHalfDay
=
e
,
t
||
this
.
render
()}},{
key
:
"getEnableRangeSelection"
,
value
:
function
(){
return
this
.
options
.
enableRangeSelection
}},{
key
:
"setEnableRangeSelection"
,
value
:
function
(
e
){
var
t
=
arguments
.
length
>
1
&&
void
0
!==
arguments
[
1
]
&&
arguments
[
1
];
this
.
options
.
enableRangeSelection
=
e
,
t
||
this
.
render
()}},{
key
:
"getDisabledDays"
,
value
:
function
(){
return
this
.
options
.
disabledDays
}},{
key
:
"setDisabledDays"
,
value
:
function
(
e
){
var
t
=
arguments
.
length
>
1
&&
void
0
!==
arguments
[
1
]
&&
arguments
[
1
];
this
.
options
.
disabledDays
=
e
instanceof
Array
?
e
:
[],
t
||
this
.
render
()}},{
key
:
"getDisabledWeekDays"
,
value
:
function
(){
return
this
.
options
.
disabledWeekDays
}},{
key
:
"setDisabledWeekDays"
,
value
:
function
(
e
){
var
t
=
arguments
.
length
>
1
&&
void
0
!==
arguments
[
1
]
&&
arguments
[
1
];
this
.
options
.
disabledWeekDays
=
e
instanceof
Array
?
e
:
[],
t
||
this
.
render
()}},{
key
:
"getHiddenWeekDays"
,
value
:
function
(){
return
this
.
options
.
hiddenWeekDays
}},{
key
:
"setHiddenWeekDays"
,
value
:
function
(
e
){
var
t
=
arguments
.
length
>
1
&&
void
0
!==
arguments
[
1
]
&&
arguments
[
1
];
this
.
options
.
hiddenWeekDays
=
e
instanceof
Array
?
e
:
[],
t
||
this
.
render
()}},{
key
:
"getRoundRangeLimits"
,
value
:
function
(){
return
this
.
options
.
roundRangeLimits
}},{
key
:
"setRoundRangeLimits"
,
value
:
function
(
e
){
var
t
=
arguments
.
length
>
1
&&
void
0
!==
arguments
[
1
]
&&
arguments
[
1
];
this
.
options
.
roundRangeLimits
=
e
,
t
||
this
.
render
()}},{
key
:
"getEnableContextMenu"
,
value
:
function
(){
return
this
.
options
.
enableContextMenu
}},{
key
:
"setEnableContextMenu"
,
value
:
function
(
e
){
var
t
=
arguments
.
length
>
1
&&
void
0
!==
arguments
[
1
]
&&
arguments
[
1
];
this
.
options
.
enableContextMenu
=
e
,
t
||
this
.
render
()}},{
key
:
"getContextMenuItems"
,
value
:
function
(){
return
this
.
options
.
contextMenuItems
}},{
key
:
"setContextMenuItems"
,
value
:
function
(
e
){
var
t
=
arguments
.
length
>
1
&&
void
0
!==
arguments
[
1
]
&&
arguments
[
1
];
this
.
options
.
contextMenuItems
=
e
instanceof
Array
?
e
:
[],
t
||
this
.
render
()}},{
key
:
"getCustomDayRenderer"
,
value
:
function
(){
return
this
.
options
.
customDayRenderer
}},{
key
:
"setCustomDayRenderer"
,
value
:
function
(
e
){
var
t
=
arguments
.
length
>
1
&&
void
0
!==
arguments
[
1
]
&&
arguments
[
1
];
this
.
options
.
customDayRenderer
=
"function"
==
typeof
e
?
e
:
null
,
t
||
this
.
render
()}},{
key
:
"getCustomDataSourceRenderer"
,
value
:
function
(){
return
this
.
options
.
customDataSourceRenderer
}},{
key
:
"setCustomDataSourceRenderer"
,
value
:
function
(
e
){
var
t
=
arguments
.
length
>
1
&&
void
0
!==
arguments
[
1
]
&&
arguments
[
1
];
this
.
options
.
customDataSourceRenderer
=
"function"
==
typeof
e
?
e
:
null
,
t
||
this
.
render
()}},{
key
:
"getLanguage"
,
value
:
function
(){
return
this
.
options
.
language
}},{
key
:
"setLanguage"
,
value
:
function
(
t
){
var
n
=
arguments
.
length
>
1
&&
void
0
!==
arguments
[
1
]
&&
arguments
[
1
];
null
!=
t
&&
null
!=
e
.
locales
[
t
]
&&
(
this
.
options
.
language
=
t
,
n
||
this
.
render
())}},{
key
:
"getDataSource"
,
value
:
function
(){
return
this
.
options
.
dataSource
}},{
key
:
"setDataSource"
,
value
:
function
(
e
){
var
t
=
this
,
n
=
arguments
.
length
>
1
&&
void
0
!==
arguments
[
1
]
&&
arguments
[
1
];
this
.
options
.
dataSource
=
e
instanceof
Array
||
"function"
==
typeof
e
?
e
:
[],
"function"
==
typeof
this
.
options
.
dataSource
?
(
this
.
render
(
!
0
),
this
.
_fetchDataSource
((
function
(
e
){
t
.
_dataSource
=
e
,
t
.
_initializeDatasourceColors
(),
t
.
render
(
!
1
)})))
:
(
this
.
_dataSource
=
this
.
options
.
dataSource
,
this
.
_initializeDatasourceColors
(),
n
||
this
.
render
())}},{
key
:
"getWeekStart"
,
value
:
function
(){
return
null
!==
this
.
options
.
weekStart
?
this
.
options
.
weekStart
:
e
.
locales
[
this
.
options
.
language
].
weekStart
}},{
key
:
"setWeekStart"
,
value
:
function
(
e
){
var
t
=
arguments
.
length
>
1
&&
void
0
!==
arguments
[
1
]
&&
arguments
[
1
];
this
.
options
.
weekStart
=
isNaN
(
parseInt
(
e
))
?
null
:
parseInt
(
e
),
t
||
this
.
render
()}},{
key
:
"getLoadingTemplate"
,
value
:
function
(){
return
this
.
options
.
loadingTemplate
}},{
key
:
"setLoadingTemplate"
,
value
:
function
(
e
){
this
.
options
.
loadingTemplate
=
"string"
==
typeof
e
||
e
instanceof
HTMLElement
?
e
:
null
}},{
key
:
"addEvent"
,
value
:
function
(
e
){
var
t
=
arguments
.
length
>
1
&&
void
0
!==
arguments
[
1
]
&&
arguments
[
1
];
this
.
_dataSource
.
push
(
e
),
t
||
this
.
render
()}}]),
e
}();
e
.
default
=
s
,
i
(
s
,
"locales"
,{
en
:
{
days
:
[
"Sunday"
,
"Monday"
,
"Tuesday"
,
"Wednesday"
,
"Thursday"
,
"Friday"
,
"Saturday"
],
daysShort
:
[
"Sun"
,
"Mon"
,
"Tue"
,
"Wed"
,
"Thu"
,
"Fri"
,
"Sat"
],
daysMin
:
[
"Su"
,
"Mo"
,
"Tu"
,
"We"
,
"Th"
,
"Fr"
,
"Sa"
],
months
:
[
"January"
,
"February"
,
"March"
,
"April"
,
"May"
,
"June"
,
"July"
,
"August"
,
"September"
,
"October"
,
"November"
,
"December"
],
monthsShort
:
[
"Jan"
,
"Feb"
,
"Mar"
,
"Apr"
,
"May"
,
"Jun"
,
"Jul"
,
"Aug"
,
"Sep"
,
"Oct"
,
"Nov"
,
"Dec"
],
weekShort
:
"W"
,
weekStart
:
0
}}),
i
(
s
,
"colors"
,[
"#2C8FC9"
,
"#9CB703"
,
"#F5BB00"
,
"#FF4A32"
,
"#B56CE2"
,
"#45A597"
]),
"object"
===
(
"undefined"
==
typeof
window
?
"undefined"
:
t
(
window
))
&&
(
window
.
Calendar
=
s
,
document
.
addEventListener
(
"DOMContentLoaded"
,(
function
(){
document
.
querySelectorAll
(
'[data-provide="calendar"]'
).
forEach
((
function
(
e
){
return
new
s
(
e
)}))})))})
?
n
.
apply
(
t
,
a
)
:
n
)
||
(
e
.
exports
=
r
)},
35666
:
function
(
e
){
var
t
=
function
(
e
){
"use strict"
;
var
t
,
n
=
Object
.
prototype
,
a
=
n
.
hasOwnProperty
,
r
=
"function"
==
typeof
Symbol
?
Symbol
:
{},
i
=
r
.
iterator
||
"@@iterator"
,
o
=
r
.
asyncIterator
||
"@@asyncIterator"
,
s
=
r
.
toStringTag
||
"@@toStringTag"
;
function
l
(
e
,
t
,
n
){
return
Object
.
defineProperty
(
e
,
t
,{
value
:
n
,
enumerable
:!
0
,
configurable
:!
0
,
writable
:!
0
}),
e
[
t
]}
try
{
l
({},
""
)}
catch
(
e
){
l
=
function
(
e
,
t
,
n
){
return
e
[
t
]
=
n
}}
function
u
(
e
,
t
,
n
,
a
){
var
r
=
t
&&
t
.
prototype
instanceof
y
?
t
:
y
,
i
=
Object
.
create
(
r
.
prototype
),
o
=
new
C
(
a
||
[]);
return
i
.
_invoke
=
function
(
e
,
t
,
n
){
var
a
=
d
;
return
function
(
r
,
i
){
if
(
a
===
f
)
throw
new
Error
(
"Generator is already running"
);
if
(
a
===
p
){
if
(
"throw"
===
r
)
throw
i
;
return
M
()}
for
(
n
.
method
=
r
,
n
.
arg
=
i
;;){
var
o
=
n
.
delegate
;
if
(
o
){
var
s
=
x
(
o
,
n
);
if
(
s
){
if
(
s
===
g
)
continue
;
return
s
}}
if
(
"next"
===
n
.
method
)
n
.
sent
=
n
.
_sent
=
n
.
arg
;
else
if
(
"throw"
===
n
.
method
){
if
(
a
===
d
)
throw
a
=
p
,
n
.
arg
;
n
.
dispatchException
(
n
.
arg
)}
else
"return"
===
n
.
method
&&
n
.
abrupt
(
"return"
,
n
.
arg
);
a
=
f
;
var
l
=
c
(
e
,
t
,
n
);
if
(
"normal"
===
l
.
type
){
if
(
a
=
n
.
done
?
p
:
h
,
l
.
arg
===
g
)
continue
;
return
{
value
:
l
.
arg
,
done
:
n
.
done
}}
"throw"
===
l
.
type
&&
(
a
=
p
,
n
.
method
=
"throw"
,
n
.
arg
=
l
.
arg
)}}}(
e
,
n
,
o
),
i
}
function
c
(
e
,
t
,
n
){
try
{
return
{
type
:
"normal"
,
arg
:
e
.
call
(
t
,
n
)}}
catch
(
e
){
return
{
type
:
"throw"
,
arg
:
e
}}}
e
.
wrap
=
u
;
var
d
=
"suspendedStart"
,
h
=
"suspendedYield"
,
f
=
"executing"
,
p
=
"completed"
,
g
=
{};
function
y
(){}
function
v
(){}
function
m
(){}
var
D
=
{};
D
[
i
]
=
function
(){
return
this
};
var
b
=
Object
.
getPrototypeOf
,
w
=
b
&&
b
(
b
(
T
([])));
w
&&
w
!==
n
&&
a
.
call
(
w
,
i
)
&&
(
D
=
w
);
var
k
=
m
.
prototype
=
y
.
prototype
=
Object
.
create
(
D
);
function
_
(
e
){[
"next"
,
"throw"
,
"return"
].
forEach
((
function
(
t
){
l
(
e
,
t
,(
function
(
e
){
return
this
.
_invoke
(
t
,
e
)}))}))}
function
E
(
e
,
t
){
function
n
(
r
,
i
,
o
,
s
){
var
l
=
c
(
e
[
r
],
e
,
i
);
if
(
"throw"
!==
l
.
type
){
var
u
=
l
.
arg
,
d
=
u
.
value
;
return
d
&&
"object"
==
typeof
d
&&
a
.
call
(
d
,
"__await"
)
?
t
.
resolve
(
d
.
__await
).
then
((
function
(
e
){
n
(
"next"
,
e
,
o
,
s
)}),(
function
(
e
){
n
(
"throw"
,
e
,
o
,
s
)}))
:
t
.
resolve
(
d
).
then
((
function
(
e
){
u
.
value
=
e
,
o
(
u
)}),(
function
(
e
){
return
n
(
"throw"
,
e
,
o
,
s
)}))}
s
(
l
.
arg
)}
var
r
;
this
.
_invoke
=
function
(
e
,
a
){
function
i
(){
return
new
t
((
function
(
t
,
r
){
n
(
e
,
a
,
t
,
r
)}))}
return
r
=
r
?
r
.
then
(
i
,
i
)
:
i
()}}
function
x
(
e
,
n
){
var
a
=
e
.
iterator
[
n
.
method
];
if
(
a
===
t
){
if
(
n
.
delegate
=
null
,
"throw"
===
n
.
method
){
if
(
e
.
iterator
.
return
&&
(
n
.
method
=
"return"
,
n
.
arg
=
t
,
x
(
e
,
n
),
"throw"
===
n
.
method
))
return
g
;
n
.
method
=
"throw"
,
n
.
arg
=
new
TypeError
(
"The iterator does not provide a 'throw' method"
)}
return
g
}
var
r
=
c
(
a
,
e
.
iterator
,
n
.
arg
);
if
(
"throw"
===
r
.
type
)
return
n
.
method
=
"throw"
,
n
.
arg
=
r
.
arg
,
n
.
delegate
=
null
,
g
;
var
i
=
r
.
arg
;
return
i
?
i
.
done
?
(
n
[
e
.
resultName
]
=
i
.
value
,
n
.
next
=
e
.
nextLoc
,
"return"
!==
n
.
method
&&
(
n
.
method
=
"next"
,
n
.
arg
=
t
),
n
.
delegate
=
null
,
g
)
:
i
:
(
n
.
method
=
"throw"
,
n
.
arg
=
new
TypeError
(
"iterator result is not an object"
),
n
.
delegate
=
null
,
g
)}
function
S
(
e
){
var
t
=
{
tryLoc
:
e
[
0
]};
1
in
e
&&
(
t
.
catchLoc
=
e
[
1
]),
2
in
e
&&
(
t
.
finallyLoc
=
e
[
2
],
t
.
afterLoc
=
e
[
3
]),
this
.
tryEntries
.
push
(
t
)}
function
L
(
e
){
var
t
=
e
.
completion
||
{};
t
.
type
=
"normal"
,
delete
t
.
arg
,
e
.
completion
=
t
}
function
C
(
e
){
this
.
tryEntries
=
[{
tryLoc
:
"root"
}],
e
.
forEach
(
S
,
this
),
this
.
reset
(
!
0
)}
function
T
(
e
){
if
(
e
){
var
n
=
e
[
i
];
if
(
n
)
return
n
.
call
(
e
);
if
(
"function"
==
typeof
e
.
next
)
return
e
;
if
(
!
isNaN
(
e
.
length
)){
var
r
=-
1
,
o
=
function
n
(){
for
(;
++
r
<
e
.
length
;)
if
(
a
.
call
(
e
,
r
))
return
n
.
value
=
e
[
r
],
n
.
done
=!
1
,
n
;
return
n
.
value
=
t
,
n
.
done
=!
0
,
n
};
return
o
.
next
=
o
}}
return
{
next
:
M
}}
function
M
(){
return
{
value
:
t
,
done
:!
0
}}
return
v
.
prototype
=
k
.
constructor
=
m
,
m
.
constructor
=
v
,
v
.
displayName
=
l
(
m
,
s
,
"GeneratorFunction"
),
e
.
isGeneratorFunction
=
function
(
e
){
var
t
=
"function"
==
typeof
e
&&
e
.
constructor
;
return
!!
t
&&
(
t
===
v
||
"GeneratorFunction"
===
(
t
.
displayName
||
t
.
name
))},
e
.
mark
=
function
(
e
){
return
Object
.
setPrototypeOf
?
Object
.
setPrototypeOf
(
e
,
m
)
:
(
e
.
__proto__
=
m
,
l
(
e
,
s
,
"GeneratorFunction"
)),
e
.
prototype
=
Object
.
create
(
k
),
e
},
e
.
awrap
=
function
(
e
){
return
{
__await
:
e
}},
_
(
E
.
prototype
),
E
.
prototype
[
o
]
=
function
(){
return
this
},
e
.
AsyncIterator
=
E
,
e
.
async
=
function
(
t
,
n
,
a
,
r
,
i
){
void
0
===
i
&&
(
i
=
Promise
);
var
o
=
new
E
(
u
(
t
,
n
,
a
,
r
),
i
);
return
e
.
isGeneratorFunction
(
n
)
?
o
:
o
.
next
().
then
((
function
(
e
){
return
e
.
done
?
e
.
value
:
o
.
next
()}))},
_
(
k
),
l
(
k
,
s
,
"Generator"
),
k
[
i
]
=
function
(){
return
this
},
k
.
toString
=
function
(){
return
"[object Generator]"
},
e
.
keys
=
function
(
e
){
var
t
=
[];
for
(
var
n
in
e
)
t
.
push
(
n
);
return
t
.
reverse
(),
function
n
(){
for
(;
t
.
length
;){
var
a
=
t
.
pop
();
if
(
a
in
e
)
return
n
.
value
=
a
,
n
.
done
=!
1
,
n
}
return
n
.
done
=!
0
,
n
}},
e
.
values
=
T
,
C
.
prototype
=
{
constructor
:
C
,
reset
:
function
(
e
){
if
(
this
.
prev
=
0
,
this
.
next
=
0
,
this
.
sent
=
this
.
_sent
=
t
,
this
.
done
=!
1
,
this
.
delegate
=
null
,
this
.
method
=
"next"
,
this
.
arg
=
t
,
this
.
tryEntries
.
forEach
(
L
),
!
e
)
for
(
var
n
in
this
)
"t"
===
n
.
charAt
(
0
)
&&
a
.
call
(
this
,
n
)
&&!
isNaN
(
+
n
.
slice
(
1
))
&&
(
this
[
n
]
=
t
)},
stop
:
function
(){
this
.
done
=!
0
;
var
e
=
this
.
tryEntries
[
0
].
completion
;
if
(
"throw"
===
e
.
type
)
throw
e
.
arg
;
return
this
.
rval
},
dispatchException
:
function
(
e
){
if
(
this
.
done
)
throw
e
;
var
n
=
this
;
function
r
(
a
,
r
){
return
s
.
type
=
"throw"
,
s
.
arg
=
e
,
n
.
next
=
a
,
r
&&
(
n
.
method
=
"next"
,
n
.
arg
=
t
),
!!
r
}
for
(
var
i
=
this
.
tryEntries
.
length
-
1
;
i
>=
0
;
--
i
){
var
o
=
this
.
tryEntries
[
i
],
s
=
o
.
completion
;
if
(
"root"
===
o
.
tryLoc
)
return
r
(
"end"
);
if
(
o
.
tryLoc
<=
this
.
prev
){
var
l
=
a
.
call
(
o
,
"catchLoc"
),
u
=
a
.
call
(
o
,
"finallyLoc"
);
if
(
l
&&
u
){
if
(
this
.
prev
<
o
.
catchLoc
)
return
r
(
o
.
catchLoc
,
!
0
);
if
(
this
.
prev
<
o
.
finallyLoc
)
return
r
(
o
.
finallyLoc
)}
else
if
(
l
){
if
(
this
.
prev
<
o
.
catchLoc
)
return
r
(
o
.
catchLoc
,
!
0
)}
else
{
if
(
!
u
)
throw
new
Error
(
"try statement without catch or finally"
);
if
(
this
.
prev
<
o
.
finallyLoc
)
return
r
(
o
.
finallyLoc
)}}}},
abrupt
:
function
(
e
,
t
){
for
(
var
n
=
this
.
tryEntries
.
length
-
1
;
n
>=
0
;
--
n
){
var
r
=
this
.
tryEntries
[
n
];
if
(
r
.
tryLoc
<=
this
.
prev
&&
a
.
call
(
r
,
"finallyLoc"
)
&&
this
.
prev
<
r
.
finallyLoc
){
var
i
=
r
;
break
}}
i
&&
(
"break"
===
e
||
"continue"
===
e
)
&&
i
.
tryLoc
<=
t
&&
t
<=
i
.
finallyLoc
&&
(
i
=
null
);
var
o
=
i
?
i
.
completion
:
{};
return
o
.
type
=
e
,
o
.
arg
=
t
,
i
?
(
this
.
method
=
"next"
,
this
.
next
=
i
.
finallyLoc
,
g
)
:
this
.
complete
(
o
)},
complete
:
function
(
e
,
t
){
if
(
"throw"
===
e
.
type
)
throw
e
.
arg
;
return
"break"
===
e
.
type
||
"continue"
===
e
.
type
?
this
.
next
=
e
.
arg
:
"return"
===
e
.
type
?
(
this
.
rval
=
this
.
arg
=
e
.
arg
,
this
.
method
=
"return"
,
this
.
next
=
"end"
)
:
"normal"
===
e
.
type
&&
t
&&
(
this
.
next
=
t
),
g
},
finish
:
function
(
e
){
for
(
var
t
=
this
.
tryEntries
.
length
-
1
;
t
>=
0
;
--
t
){
var
n
=
this
.
tryEntries
[
t
];
if
(
n
.
finallyLoc
===
e
)
return
this
.
complete
(
n
.
completion
,
n
.
afterLoc
),
L
(
n
),
g
}},
catch
:
function
(
e
){
for
(
var
t
=
this
.
tryEntries
.
length
-
1
;
t
>=
0
;
--
t
){
var
n
=
this
.
tryEntries
[
t
];
if
(
n
.
tryLoc
===
e
){
var
a
=
n
.
completion
;
if
(
"throw"
===
a
.
type
){
var
r
=
a
.
arg
;
L
(
n
)}
return
r
}}
throw
new
Error
(
"illegal catch attempt"
)},
delegateYield
:
function
(
e
,
n
,
a
){
return
this
.
delegate
=
{
iterator
:
T
(
e
),
resultName
:
n
,
nextLoc
:
a
},
"next"
===
this
.
method
&&
(
this
.
arg
=
t
),
g
}},
e
}(
e
.
exports
);
try
{
regeneratorRuntime
=
t
}
catch
(
e
){
Function
(
"r"
,
"regeneratorRuntime = r"
)(
t
)}},
15861
:
function
(
e
,
t
,
n
){
"use strict"
;
function
a
(
e
,
t
,
n
,
a
,
r
,
i
,
o
){
try
{
var
s
=
e
[
i
](
o
),
l
=
s
.
value
}
catch
(
e
){
return
void
n
(
e
)}
s
.
done
?
t
(
l
)
:
Promise
.
resolve
(
l
).
then
(
a
,
r
)}
function
r
(
e
){
return
function
(){
var
t
=
this
,
n
=
arguments
;
return
new
Promise
((
function
(
r
,
i
){
var
o
=
e
.
apply
(
t
,
n
);
function
s
(
e
){
a
(
o
,
r
,
i
,
s
,
l
,
"next"
,
e
)}
function
l
(
e
){
a
(
o
,
r
,
i
,
s
,
l
,
"throw"
,
e
)}
s
(
void
0
)}))}}
n
.
d
(
t
,{
Z
:
function
(){
return
r
}})},
82821
:
function
(
e
,
t
,
n
){
"use strict"
;
n
.
d
(
t
,{
Z
:
function
(){
return
i
}});
const
a
=
new
RegExp
(
"[^#a-f\\d]"
,
"gi"
),
r
=
new
RegExp
(
"^#?[a-f\\d]{3}[a-f\\d]?$|^#?[a-f\\d]{6}([a-f\\d]{2})?$"
,
"i"
);
function
i
(
e
,
t
=
{}){
if
(
"string"
!=
typeof
e
||
a
.
test
(
e
)
||!
r
.
test
(
e
))
throw
new
TypeError
(
"Expected a valid hex string"
);
let
n
=
1
;
8
===
(
e
=
e
.
replace
(
/^#/
,
""
)).
length
&&
(
n
=
Number
.
parseInt
(
e
.
slice
(
6
,
8
),
16
)
/
255
,
e
=
e
.
slice
(
0
,
6
)),
4
===
e
.
length
&&
(
n
=
Number
.
parseInt
(
e
.
slice
(
3
,
4
).
repeat
(
2
),
16
)
/
255
,
e
=
e
.
slice
(
0
,
3
)),
3
===
e
.
length
&&
(
e
=
e
[
0
]
+
e
[
0
]
+
e
[
1
]
+
e
[
1
]
+
e
[
2
]
+
e
[
2
]);
const
i
=
Number
.
parseInt
(
e
,
16
),
o
=
i
>>
16
,
s
=
i
>>
8
&
255
,
l
=
255
&
i
,
u
=
"number"
==
typeof
t
.
alpha
?
t
.
alpha
:
n
;
if
(
"array"
===
t
.
format
)
return
[
o
,
s
,
l
,
u
];
if
(
"css"
===
t
.
format
){
return
`rgb(
${
o
}
${
s
}
${
l
}${
1
===
u
?
""
:
` /
${
Number
((
100
*
u
).
toFixed
(
2
))
}
%`
}
)`
}
return
{
red
:
o
,
green
:
s
,
blue
:
l
,
alpha
:
u
}}}},
a
=
{};
function
r
(
e
){
var
t
=
a
[
e
];
if
(
void
0
!==
t
)
return
t
.
exports
;
var
i
=
a
[
e
]
=
{
exports
:
{}};
return
n
[
e
].
call
(
i
.
exports
,
i
,
i
.
exports
,
r
),
i
.
exports
}
r
.
m
=
n
,
r
.
n
=
function
(
e
){
var
t
=
e
&&
e
.
__esModule
?
function
(){
return
e
.
default
}
:
function
(){
return
e
};
return
r
.
d
(
t
,{
a
:
t
}),
t
},
r
.
d
=
function
(
e
,
t
){
for
(
var
n
in
t
)
r
.
o
(
t
,
n
)
&&!
r
.
o
(
e
,
n
)
&&
Object
.
defineProperty
(
e
,
n
,{
enumerable
:!
0
,
get
:
t
[
n
]})},
r
.
f
=
{},
r
.
e
=
function
(
e
){
return
Promise
.
all
(
Object
.
keys
(
r
.
f
).
reduce
((
function
(
t
,
n
){
return
r
.
f
[
n
](
e
,
t
),
t
}),[]))},
r
.
u
=
function
(
e
){
return
"js/d3.f989183a810fb9dbb086.js"
},
r
.
miniCssF
=
function
(
e
){},
r
.
o
=
function
(
e
,
t
){
return
Object
.
prototype
.
hasOwnProperty
.
call
(
e
,
t
)},
e
=
{},
t
=
"swh:"
,
r
.
l
=
function
(
n
,
a
,
i
,
o
){
if
(
e
[
n
])
e
[
n
].
push
(
a
);
else
{
var
s
,
l
;
if
(
void
0
!==
i
)
for
(
var
u
=
document
.
getElementsByTagName
(
"script"
),
c
=
0
;
c
<
u
.
length
;
c
++
){
var
d
=
u
[
c
];
if
(
d
.
getAttribute
(
"src"
)
==
n
||
d
.
getAttribute
(
"data-webpack"
)
==
t
+
i
){
s
=
d
;
break
}}
s
||
(
l
=!
0
,(
s
=
document
.
createElement
(
"script"
)).
charset
=
"utf-8"
,
s
.
timeout
=
120
,
r
.
nc
&&
s
.
setAttribute
(
"nonce"
,
r
.
nc
),
s
.
setAttribute
(
"data-webpack"
,
t
+
i
),
s
.
src
=
n
),
e
[
n
]
=
[
a
];
var
h
=
function
(
t
,
a
){
s
.
onerror
=
s
.
onload
=
null
,
clearTimeout
(
f
);
var
r
=
e
[
n
];
if
(
delete
e
[
n
],
s
.
parentNode
&&
s
.
parentNode
.
removeChild
(
s
),
r
&&
r
.
forEach
((
function
(
e
){
return
e
(
a
)})),
t
)
return
t
(
a
)},
f
=
setTimeout
(
h
.
bind
(
null
,
void
0
,{
type
:
"timeout"
,
target
:
s
}),
12e4
);
s
.
onerror
=
h
.
bind
(
null
,
s
.
onerror
),
s
.
onload
=
h
.
bind
(
null
,
s
.
onload
),
l
&&
document
.
head
.
appendChild
(
s
)}},
r
.
r
=
function
(
e
){
"undefined"
!=
typeof
Symbol
&&
Symbol
.
toStringTag
&&
Object
.
defineProperty
(
e
,
Symbol
.
toStringTag
,{
value
:
"Module"
}),
Object
.
defineProperty
(
e
,
"__esModule"
,{
value
:!
0
})},
r
.
p
=
"/static/"
,
function
(){
var
e
=
{
903
:
0
};
r
.
f
.
j
=
function
(
t
,
n
){
var
a
=
r
.
o
(
e
,
t
)
?
e
[
t
]
:
void
0
;
if
(
0
!==
a
)
if
(
a
)
n
.
push
(
a
[
2
]);
else
{
var
i
=
new
Promise
((
function
(
n
,
r
){
a
=
e
[
t
]
=
[
n
,
r
]}));
n
.
push
(
a
[
2
]
=
i
);
var
o
=
r
.
p
+
r
.
u
(
t
),
s
=
new
Error
;
r
.
l
(
o
,(
function
(
n
){
if
(
r
.
o
(
e
,
t
)
&&
(
0
!==
(
a
=
e
[
t
])
&&
(
e
[
t
]
=
void
0
),
a
)){
var
i
=
n
&&
(
"load"
===
n
.
type
?
"missing"
:
n
.
type
),
o
=
n
&&
n
.
target
&&
n
.
target
.
src
;
s
.
message
=
"Loading chunk "
+
t
+
" failed.\n("
+
i
+
": "
+
o
+
")"
,
s
.
name
=
"ChunkLoadError"
,
s
.
type
=
i
,
s
.
request
=
o
,
a
[
1
](
s
)}}),
"chunk-"
+
t
,
t
)}};
var
t
=
function
(
t
,
n
){
var
a
,
i
,
o
=
n
[
0
],
s
=
n
[
1
],
l
=
n
[
2
],
u
=
0
;
if
(
o
.
some
((
function
(
t
){
return
0
!==
e
[
t
]}))){
for
(
a
in
s
)
r
.
o
(
s
,
a
)
&&
(
r
.
m
[
a
]
=
s
[
a
]);
if
(
l
)
l
(
r
)}
for
(
t
&&
t
(
n
);
u
<
o
.
length
;
u
++
)
i
=
o
[
u
],
r
.
o
(
e
,
i
)
&&
e
[
i
]
&&
e
[
i
][
0
](),
e
[
i
]
=
0
},
n
=
self
.
webpackChunkswh
=
self
.
webpackChunkswh
||
[];
n
.
forEach
(
t
.
bind
(
null
,
0
)),
n
.
push
=
t
.
bind
(
null
,
n
.
push
.
bind
(
n
))}();
var
i
=
{};
return
function
(){
"use strict"
;
r
.
r
(
i
),
r
.
d
(
i
,{
initVisitsReporting
:
function
(){
return
e
.
wk
},
showAllVisits
:
function
(){
return
e
.
LN
},
showFullVisits
:
function
(){
return
e
.
N4
},
showFullVisitsDifferentSnapshots
:
function
(){
return
e
.
tJ
}});
var
e
=
r
(
44683
)}(),
i
}()}));
//# sourceMappingURL=origin.751694c0f651d0e204de.js.map
File Metadata
Details
Attached
Mime Type
text/x-c
Expires
Sat, Jun 21, 5:37 PM (1 w, 5 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3414460
Attached To
rDWAPPS Web applications
Event Timeline
Log In to Comment