Page Menu
Home
Software Heritage
Search
Configure Global Search
Log In
Files
F8394216
guided_tour.8c12e50dceed26abbb96.js
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
77 KB
Subscribers
None
guided_tour.8c12e50dceed26abbb96.js
View Options
/*! For license information please see guided_tour.8c12e50dceed26abbb96.js.LICENSE.txt */
!
function
(
t
,
e
){
"object"
==
typeof
exports
&&
"object"
==
typeof
module
?
module
.
exports
=
e
()
:
"function"
==
typeof
define
&&
define
.
amd
?
define
([],
e
)
:
"object"
==
typeof
exports
?
exports
.
swh
=
e
()
:
(
t
.
swh
=
t
.
swh
||
{},
t
.
swh
.
guided_tour
=
e
())}(
self
,(
function
(){
return
function
(){
var
t
=
{
68277
:
function
(
t
,
e
,
n
){
"use strict"
;
n
.
d
(
e
,{
V
:
function
(){
return
l
},
t
:
function
(){
return
u
}});
var
r
=
{
38
:
1
,
40
:
1
,
32
:
1
,
33
:
1
,
34
:
1
,
35
:
1
,
36
:
1
};
function
o
(
t
){
t
.
preventDefault
()}
function
i
(
t
){
if
(
r
[
t
.
keyCode
])
return
o
(
t
),
!
1
}
var
a
=!
1
;
try
{
window
.
addEventListener
(
"test"
,
null
,
Object
.
defineProperty
({},
"passive"
,{
get
:
function
(){
a
=!
0
}}))}
catch
(
t
){}
var
s
=!!
a
&&
{
passive
:!
1
},
c
=
"onwheel"
in
document
.
createElement
(
"div"
)
?
"wheel"
:
"mousewheel"
;
function
l
(){
window
.
addEventListener
(
"DOMMouseScroll"
,
o
,
!
1
),
window
.
addEventListener
(
c
,
o
,
s
),
window
.
addEventListener
(
"touchmove"
,
o
,
s
),
window
.
addEventListener
(
"keydown"
,
i
,
!
1
)}
function
u
(){
window
.
removeEventListener
(
"DOMMouseScroll"
,
o
,
!
1
),
window
.
removeEventListener
(
c
,
o
,
s
),
window
.
removeEventListener
(
"touchmove"
,
o
,
s
),
window
.
removeEventListener
(
"keydown"
,
i
,
!
1
)}},
61378
:
function
(
t
,
e
,
n
){
"use strict"
;
function
r
(){
r
=
function
(){
return
t
};
var
t
=
{},
e
=
Object
.
prototype
,
n
=
e
.
hasOwnProperty
,
o
=
"function"
==
typeof
Symbol
?
Symbol
:
{},
i
=
o
.
iterator
||
"@@iterator"
,
a
=
o
.
asyncIterator
||
"@@asyncIterator"
,
s
=
o
.
toStringTag
||
"@@toStringTag"
;
function
c
(
t
,
e
,
n
){
return
Object
.
defineProperty
(
t
,
e
,{
value
:
n
,
enumerable
:!
0
,
configurable
:!
0
,
writable
:!
0
}),
t
[
e
]}
try
{
c
({},
""
)}
catch
(
t
){
c
=
function
(
t
,
e
,
n
){
return
t
[
e
]
=
n
}}
function
l
(
t
,
e
,
n
,
r
){
var
o
=
e
&&
e
.
prototype
instanceof
f
?
e
:
f
,
i
=
Object
.
create
(
o
.
prototype
),
a
=
new
k
(
r
||
[]);
return
i
.
_invoke
=
function
(
t
,
e
,
n
){
var
r
=
"suspendedStart"
;
return
function
(
o
,
i
){
if
(
"executing"
===
r
)
throw
new
Error
(
"Generator is already running"
);
if
(
"completed"
===
r
){
if
(
"throw"
===
o
)
throw
i
;
return
{
value
:
void
0
,
done
:!
0
}}
for
(
n
.
method
=
o
,
n
.
arg
=
i
;;){
var
a
=
n
.
delegate
;
if
(
a
){
var
s
=
x
(
a
,
n
);
if
(
s
){
if
(
s
===
h
)
continue
;
return
s
}}
if
(
"next"
===
n
.
method
)
n
.
sent
=
n
.
_sent
=
n
.
arg
;
else
if
(
"throw"
===
n
.
method
){
if
(
"suspendedStart"
===
r
)
throw
r
=
"completed"
,
n
.
arg
;
n
.
dispatchException
(
n
.
arg
)}
else
"return"
===
n
.
method
&&
n
.
abrupt
(
"return"
,
n
.
arg
);
r
=
"executing"
;
var
c
=
u
(
t
,
e
,
n
);
if
(
"normal"
===
c
.
type
){
if
(
r
=
n
.
done
?
"completed"
:
"suspendedYield"
,
c
.
arg
===
h
)
continue
;
return
{
value
:
c
.
arg
,
done
:
n
.
done
}}
"throw"
===
c
.
type
&&
(
r
=
"completed"
,
n
.
method
=
"throw"
,
n
.
arg
=
c
.
arg
)}}}(
t
,
n
,
a
),
i
}
function
u
(
t
,
e
,
n
){
try
{
return
{
type
:
"normal"
,
arg
:
t
.
call
(
e
,
n
)}}
catch
(
t
){
return
{
type
:
"throw"
,
arg
:
t
}}}
t
.
wrap
=
l
;
var
h
=
{};
function
f
(){}
function
p
(){}
function
d
(){}
var
b
=
{};
c
(
b
,
i
,(
function
(){
return
this
}));
var
g
=
Object
.
getPrototypeOf
,
m
=
g
&&
g
(
g
(
j
([])));
m
&&
m
!==
e
&&
n
.
call
(
m
,
i
)
&&
(
b
=
m
);
var
w
=
d
.
prototype
=
f
.
prototype
=
Object
.
create
(
b
);
function
v
(
t
){[
"next"
,
"throw"
,
"return"
].
forEach
((
function
(
e
){
c
(
t
,
e
,(
function
(
t
){
return
this
.
_invoke
(
e
,
t
)}))}))}
function
y
(
t
,
e
){
function
r
(
o
,
i
,
a
,
s
){
var
c
=
u
(
t
[
o
],
t
,
i
);
if
(
"throw"
!==
c
.
type
){
var
l
=
c
.
arg
,
h
=
l
.
value
;
return
h
&&
"object"
==
typeof
h
&&
n
.
call
(
h
,
"__await"
)
?
e
.
resolve
(
h
.
__await
).
then
((
function
(
t
){
r
(
"next"
,
t
,
a
,
s
)}),(
function
(
t
){
r
(
"throw"
,
t
,
a
,
s
)}))
:
e
.
resolve
(
h
).
then
((
function
(
t
){
l
.
value
=
t
,
a
(
l
)}),(
function
(
t
){
return
r
(
"throw"
,
t
,
a
,
s
)}))}
s
(
c
.
arg
)}
var
o
;
this
.
_invoke
=
function
(
t
,
n
){
function
i
(){
return
new
e
((
function
(
e
,
o
){
r
(
t
,
n
,
e
,
o
)}))}
return
o
=
o
?
o
.
then
(
i
,
i
)
:
i
()}}
function
x
(
t
,
e
){
var
n
=
t
.
iterator
[
e
.
method
];
if
(
void
0
===
n
){
if
(
e
.
delegate
=
null
,
"throw"
===
e
.
method
){
if
(
t
.
iterator
.
return
&&
(
e
.
method
=
"return"
,
e
.
arg
=
void
0
,
x
(
t
,
e
),
"throw"
===
e
.
method
))
return
h
;
e
.
method
=
"throw"
,
e
.
arg
=
new
TypeError
(
"The iterator does not provide a 'throw' method"
)}
return
h
}
var
r
=
u
(
n
,
t
.
iterator
,
e
.
arg
);
if
(
"throw"
===
r
.
type
)
return
e
.
method
=
"throw"
,
e
.
arg
=
r
.
arg
,
e
.
delegate
=
null
,
h
;
var
o
=
r
.
arg
;
return
o
?
o
.
done
?
(
e
[
t
.
resultName
]
=
o
.
value
,
e
.
next
=
t
.
nextLoc
,
"return"
!==
e
.
method
&&
(
e
.
method
=
"next"
,
e
.
arg
=
void
0
),
e
.
delegate
=
null
,
h
)
:
o
:
(
e
.
method
=
"throw"
,
e
.
arg
=
new
TypeError
(
"iterator result is not an object"
),
e
.
delegate
=
null
,
h
)}
function
_
(
t
){
var
e
=
{
tryLoc
:
t
[
0
]};
1
in
t
&&
(
e
.
catchLoc
=
t
[
1
]),
2
in
t
&&
(
e
.
finallyLoc
=
t
[
2
],
e
.
afterLoc
=
t
[
3
]),
this
.
tryEntries
.
push
(
e
)}
function
S
(
t
){
var
e
=
t
.
completion
||
{};
e
.
type
=
"normal"
,
delete
e
.
arg
,
t
.
completion
=
e
}
function
k
(
t
){
this
.
tryEntries
=
[{
tryLoc
:
"root"
}],
t
.
forEach
(
_
,
this
),
this
.
reset
(
!
0
)}
function
j
(
t
){
if
(
t
){
var
e
=
t
[
i
];
if
(
e
)
return
e
.
call
(
t
);
if
(
"function"
==
typeof
t
.
next
)
return
t
;
if
(
!
isNaN
(
t
.
length
)){
var
r
=-
1
,
o
=
function
e
(){
for
(;
++
r
<
t
.
length
;)
if
(
n
.
call
(
t
,
r
))
return
e
.
value
=
t
[
r
],
e
.
done
=!
1
,
e
;
return
e
.
value
=
void
0
,
e
.
done
=!
0
,
e
};
return
o
.
next
=
o
}}
return
{
next
:
C
}}
function
C
(){
return
{
value
:
void
0
,
done
:!
0
}}
return
p
.
prototype
=
d
,
c
(
w
,
"constructor"
,
d
),
c
(
d
,
"constructor"
,
p
),
p
.
displayName
=
c
(
d
,
s
,
"GeneratorFunction"
),
t
.
isGeneratorFunction
=
function
(
t
){
var
e
=
"function"
==
typeof
t
&&
t
.
constructor
;
return
!!
e
&&
(
e
===
p
||
"GeneratorFunction"
===
(
e
.
displayName
||
e
.
name
))},
t
.
mark
=
function
(
t
){
return
Object
.
setPrototypeOf
?
Object
.
setPrototypeOf
(
t
,
d
)
:
(
t
.
__proto__
=
d
,
c
(
t
,
s
,
"GeneratorFunction"
)),
t
.
prototype
=
Object
.
create
(
w
),
t
},
t
.
awrap
=
function
(
t
){
return
{
__await
:
t
}},
v
(
y
.
prototype
),
c
(
y
.
prototype
,
a
,(
function
(){
return
this
})),
t
.
AsyncIterator
=
y
,
t
.
async
=
function
(
e
,
n
,
r
,
o
,
i
){
void
0
===
i
&&
(
i
=
Promise
);
var
a
=
new
y
(
l
(
e
,
n
,
r
,
o
),
i
);
return
t
.
isGeneratorFunction
(
n
)
?
a
:
a
.
next
().
then
((
function
(
t
){
return
t
.
done
?
t
.
value
:
a
.
next
()}))},
v
(
w
),
c
(
w
,
s
,
"Generator"
),
c
(
w
,
i
,(
function
(){
return
this
})),
c
(
w
,
"toString"
,(
function
(){
return
"[object Generator]"
})),
t
.
keys
=
function
(
t
){
var
e
=
[];
for
(
var
n
in
t
)
e
.
push
(
n
);
return
e
.
reverse
(),
function
n
(){
for
(;
e
.
length
;){
var
r
=
e
.
pop
();
if
(
r
in
t
)
return
n
.
value
=
r
,
n
.
done
=!
1
,
n
}
return
n
.
done
=!
0
,
n
}},
t
.
values
=
j
,
k
.
prototype
=
{
constructor
:
k
,
reset
:
function
(
t
){
if
(
this
.
prev
=
0
,
this
.
next
=
0
,
this
.
sent
=
this
.
_sent
=
void
0
,
this
.
done
=!
1
,
this
.
delegate
=
null
,
this
.
method
=
"next"
,
this
.
arg
=
void
0
,
this
.
tryEntries
.
forEach
(
S
),
!
t
)
for
(
var
e
in
this
)
"t"
===
e
.
charAt
(
0
)
&&
n
.
call
(
this
,
e
)
&&!
isNaN
(
+
e
.
slice
(
1
))
&&
(
this
[
e
]
=
void
0
)},
stop
:
function
(){
this
.
done
=!
0
;
var
t
=
this
.
tryEntries
[
0
].
completion
;
if
(
"throw"
===
t
.
type
)
throw
t
.
arg
;
return
this
.
rval
},
dispatchException
:
function
(
t
){
if
(
this
.
done
)
throw
t
;
var
e
=
this
;
function
r
(
n
,
r
){
return
a
.
type
=
"throw"
,
a
.
arg
=
t
,
e
.
next
=
n
,
r
&&
(
e
.
method
=
"next"
,
e
.
arg
=
void
0
),
!!
r
}
for
(
var
o
=
this
.
tryEntries
.
length
-
1
;
o
>=
0
;
--
o
){
var
i
=
this
.
tryEntries
[
o
],
a
=
i
.
completion
;
if
(
"root"
===
i
.
tryLoc
)
return
r
(
"end"
);
if
(
i
.
tryLoc
<=
this
.
prev
){
var
s
=
n
.
call
(
i
,
"catchLoc"
),
c
=
n
.
call
(
i
,
"finallyLoc"
);
if
(
s
&&
c
){
if
(
this
.
prev
<
i
.
catchLoc
)
return
r
(
i
.
catchLoc
,
!
0
);
if
(
this
.
prev
<
i
.
finallyLoc
)
return
r
(
i
.
finallyLoc
)}
else
if
(
s
){
if
(
this
.
prev
<
i
.
catchLoc
)
return
r
(
i
.
catchLoc
,
!
0
)}
else
{
if
(
!
c
)
throw
new
Error
(
"try statement without catch or finally"
);
if
(
this
.
prev
<
i
.
finallyLoc
)
return
r
(
i
.
finallyLoc
)}}}},
abrupt
:
function
(
t
,
e
){
for
(
var
r
=
this
.
tryEntries
.
length
-
1
;
r
>=
0
;
--
r
){
var
o
=
this
.
tryEntries
[
r
];
if
(
o
.
tryLoc
<=
this
.
prev
&&
n
.
call
(
o
,
"finallyLoc"
)
&&
this
.
prev
<
o
.
finallyLoc
){
var
i
=
o
;
break
}}
i
&&
(
"break"
===
t
||
"continue"
===
t
)
&&
i
.
tryLoc
<=
e
&&
e
<=
i
.
finallyLoc
&&
(
i
=
null
);
var
a
=
i
?
i
.
completion
:
{};
return
a
.
type
=
t
,
a
.
arg
=
e
,
i
?
(
this
.
method
=
"next"
,
this
.
next
=
i
.
finallyLoc
,
h
)
:
this
.
complete
(
a
)},
complete
:
function
(
t
,
e
){
if
(
"throw"
===
t
.
type
)
throw
t
.
arg
;
return
"break"
===
t
.
type
||
"continue"
===
t
.
type
?
this
.
next
=
t
.
arg
:
"return"
===
t
.
type
?
(
this
.
rval
=
this
.
arg
=
t
.
arg
,
this
.
method
=
"return"
,
this
.
next
=
"end"
)
:
"normal"
===
t
.
type
&&
e
&&
(
this
.
next
=
e
),
h
},
finish
:
function
(
t
){
for
(
var
e
=
this
.
tryEntries
.
length
-
1
;
e
>=
0
;
--
e
){
var
n
=
this
.
tryEntries
[
e
];
if
(
n
.
finallyLoc
===
t
)
return
this
.
complete
(
n
.
completion
,
n
.
afterLoc
),
S
(
n
),
h
}},
catch
:
function
(
t
){
for
(
var
e
=
this
.
tryEntries
.
length
-
1
;
e
>=
0
;
--
e
){
var
n
=
this
.
tryEntries
[
e
];
if
(
n
.
tryLoc
===
t
){
var
r
=
n
.
completion
;
if
(
"throw"
===
r
.
type
){
var
o
=
r
.
arg
;
S
(
n
)}
return
o
}}
throw
new
Error
(
"illegal catch attempt"
)},
delegateYield
:
function
(
t
,
e
,
n
){
return
this
.
delegate
=
{
iterator
:
j
(
t
),
resultName
:
e
,
nextLoc
:
n
},
"next"
===
this
.
method
&&
(
this
.
arg
=
void
0
),
h
}},
t
}
function
o
(
t
){
return
o
=
"function"
==
typeof
Symbol
&&
"symbol"
==
typeof
Symbol
.
iterator
?
function
(
t
){
return
typeof
t
}
:
function
(
t
){
return
t
&&
"function"
==
typeof
Symbol
&&
t
.
constructor
===
Symbol
&&
t
!==
Symbol
.
prototype
?
"symbol"
:
typeof
t
},
o
(
t
)}
function
i
(
t
,
e
,
n
,
r
,
o
,
i
,
a
){
try
{
var
s
=
t
[
i
](
a
),
c
=
s
.
value
}
catch
(
t
){
return
void
n
(
t
)}
s
.
done
?
e
(
c
)
:
Promise
.
resolve
(
c
).
then
(
r
,
o
)}
function
a
(
t
){
return
function
(){
var
e
=
this
,
n
=
arguments
;
return
new
Promise
((
function
(
r
,
o
){
var
a
=
t
.
apply
(
e
,
n
);
function
s
(
t
){
i
(
a
,
r
,
o
,
s
,
c
,
"next"
,
t
)}
function
c
(
t
){
i
(
a
,
r
,
o
,
s
,
c
,
"throw"
,
t
)}
s
(
void
0
)}))}}
function
s
(
t
,
e
,
n
){
return
e
in
t
?
Object
.
defineProperty
(
t
,
e
,{
value
:
n
,
enumerable
:!
0
,
configurable
:!
0
,
writable
:!
0
})
:
t
[
e
]
=
n
,
t
}
function
c
(
t
,
e
){(
null
==
e
||
e
>
t
.
length
)
&&
(
e
=
t
.
length
);
for
(
var
n
=
0
,
r
=
new
Array
(
e
);
n
<
e
;
n
++
)
r
[
n
]
=
t
[
n
];
return
r
}
n
.
d
(
e
,{
Z
:
function
(){
return
Lo
}});
var
l
=
function
(){
var
t
=
{};
return
function
(
e
){
var
n
=
arguments
.
length
>
1
&&
void
0
!==
arguments
[
1
]
?
arguments
[
1
]
:
"introjs-stamp"
;
return
t
[
n
]
=
t
[
n
]
||
0
,
void
0
===
e
[
n
]
&&
(
e
[
n
]
=
t
[
n
]
++
),
e
[
n
]}}();
function
u
(
t
,
e
,
n
){
if
(
t
)
for
(
var
r
=
0
,
o
=
t
.
length
;
r
<
o
;
r
++
)
e
(
t
[
r
],
r
);
"function"
==
typeof
n
&&
n
()}
var
h
=
new
function
(){
var
t
=
"introjs_event"
;
this
.
_id
=
function
(
t
,
e
,
n
,
r
){
return
e
+
l
(
n
)
+
(
r
?
"_"
.
concat
(
l
(
r
))
:
""
)},
this
.
on
=
function
(
e
,
n
,
r
,
o
,
i
){
var
a
=
this
.
_id
.
apply
(
this
,
arguments
),
s
=
function
(
t
){
return
r
.
call
(
o
||
e
,
t
||
window
.
event
)};
"addEventListener"
in
e
?
e
.
addEventListener
(
n
,
s
,
i
)
:
"attachEvent"
in
e
&&
e
.
attachEvent
(
"on"
.
concat
(
n
),
s
),
e
[
t
]
=
e
[
t
]
||
{},
e
[
t
][
a
]
=
s
},
this
.
off
=
function
(
e
,
n
,
r
,
o
,
i
){
var
a
=
this
.
_id
.
apply
(
this
,
arguments
),
s
=
e
[
t
]
&&
e
[
t
][
a
];
s
&&
(
"removeEventListener"
in
e
?
e
.
removeEventListener
(
n
,
s
,
i
)
:
"detachEvent"
in
e
&&
e
.
detachEvent
(
"on"
.
concat
(
n
),
s
),
e
[
t
][
a
]
=
null
)}};
function
f
(
t
,
e
){
if
(
t
instanceof
SVGElement
){
var
n
=
t
.
getAttribute
(
"class"
)
||
""
;
n
.
match
(
e
)
||
t
.
setAttribute
(
"class"
,
""
.
concat
(
n
,
" "
).
concat
(
e
))}
else
void
0
!==
t
.
classList
?
u
(
e
.
split
(
" "
),(
function
(
e
){
t
.
classList
.
add
(
e
)}))
:
t
.
className
.
match
(
e
)
||
(
t
.
className
+=
" "
.
concat
(
e
))}
function
p
(
t
,
e
){
var
n
=
""
;
return
t
.
currentStyle
?
n
=
t
.
currentStyle
[
e
]
:
document
.
defaultView
&&
document
.
defaultView
.
getComputedStyle
&&
(
n
=
document
.
defaultView
.
getComputedStyle
(
t
,
null
).
getPropertyValue
(
e
)),
n
&&
n
.
toLowerCase
?
n
.
toLowerCase
()
:
n
}
function
d
(
t
){
var
e
=
t
.
element
;
f
(
e
,
"introjs-showElement"
);
var
n
=
p
(
e
,
"position"
);
"absolute"
!==
n
&&
"relative"
!==
n
&&
"sticky"
!==
n
&&
"fixed"
!==
n
&&
f
(
e
,
"introjs-relativePosition"
)}
function
b
(
t
){
var
e
=
t
.
element
;
if
(
this
.
_options
.
scrollToElement
){
var
n
=
function
(
t
){
var
e
=
window
.
getComputedStyle
(
t
),
n
=
"absolute"
===
e
.
position
,
r
=
/(auto|scroll)/
;
if
(
"fixed"
===
e
.
position
)
return
document
.
body
;
for
(
var
o
=
t
;
o
=
o
.
parentElement
;)
if
(
e
=
window
.
getComputedStyle
(
o
),(
!
n
||
"static"
!==
e
.
position
)
&&
r
.
test
(
e
.
overflow
+
e
.
overflowY
+
e
.
overflowX
))
return
o
;
return
document
.
body
}(
e
);
n
!==
document
.
body
&&
(
n
.
scrollTop
=
e
.
offsetTop
-
n
.
offsetTop
)}}
function
g
(){
if
(
void
0
!==
window
.
innerWidth
)
return
{
width
:
window
.
innerWidth
,
height
:
window
.
innerHeight
};
var
t
=
document
.
documentElement
;
return
{
width
:
t
.
clientWidth
,
height
:
t
.
clientHeight
}}
function
m
(
t
,
e
,
n
){
var
r
,
o
=
e
.
element
;
if
(
"off"
!==
t
&&
this
.
_options
.
scrollToElement
&&
(
r
=
"tooltip"
===
t
?
n
.
getBoundingClientRect
()
:
o
.
getBoundingClientRect
(),
!
function
(
t
){
var
e
=
t
.
getBoundingClientRect
();
return
e
.
top
>=
0
&&
e
.
left
>=
0
&&
e
.
bottom
+
80
<=
window
.
innerHeight
&&
e
.
right
<=
window
.
innerWidth
}(
o
))){
var
i
=
g
().
height
;
r
.
bottom
-
(
r
.
bottom
-
r
.
top
)
<
0
||
o
.
clientHeight
>
i
?
window
.
scrollBy
(
0
,
r
.
top
-
(
i
/
2
-
r
.
height
/
2
)
-
this
.
_options
.
scrollPadding
)
:
window
.
scrollBy
(
0
,
r
.
top
-
(
i
/
2
-
r
.
height
/
2
)
+
this
.
_options
.
scrollPadding
)}}
function
w
(
t
){
t
.
setAttribute
(
"role"
,
"button"
),
t
.
tabIndex
=
0
}
function
v
(
t
){
var
e
=
t
.
parentNode
;
return
!
(
!
e
||
"HTML"
===
e
.
nodeName
)
&&
(
"fixed"
===
p
(
t
,
"position"
)
||
v
(
e
))}
function
y
(
t
,
e
){
var
n
=
document
.
body
,
r
=
document
.
documentElement
,
o
=
window
.
pageYOffset
||
r
.
scrollTop
||
n
.
scrollTop
,
i
=
window
.
pageXOffset
||
r
.
scrollLeft
||
n
.
scrollLeft
;
e
=
e
||
n
;
var
a
=
t
.
getBoundingClientRect
(),
s
=
e
.
getBoundingClientRect
(),
c
=
p
(
e
,
"position"
),
l
=
{
width
:
a
.
width
,
height
:
a
.
height
};
return
"body"
!==
e
.
tagName
.
toLowerCase
()
&&
"relative"
===
c
||
"sticky"
===
c
?
Object
.
assign
(
l
,{
top
:
a
.
top
-
s
.
top
,
left
:
a
.
left
-
s
.
left
})
:
v
(
t
)
?
Object
.
assign
(
l
,{
top
:
a
.
top
,
left
:
a
.
left
})
:
Object
.
assign
(
l
,{
top
:
a
.
top
+
o
,
left
:
a
.
left
+
i
})}
var
x
=
function
(
t
){
try
{
return
!!
t
()}
catch
(
t
){
return
!
0
}},
_
=!
x
((
function
(){
var
t
=
function
(){}.
bind
();
return
"function"
!=
typeof
t
||
t
.
hasOwnProperty
(
"prototype"
)})),
S
=
Function
.
prototype
,
k
=
S
.
apply
,
j
=
S
.
call
,
C
=
"object"
==
typeof
Reflect
&&
Reflect
.
apply
||
(
_
?
j
.
bind
(
k
)
:
function
(){
return
j
.
apply
(
k
,
arguments
)}),
E
=
Function
.
prototype
.
call
,
A
=
_
?
E
.
bind
(
E
)
:
function
(){
return
E
.
apply
(
E
,
arguments
)},
L
=
Function
.
prototype
,
I
=
L
.
bind
,
T
=
L
.
call
,
O
=
_
&&
I
.
bind
(
T
,
T
),
N
=
_
?
function
(
t
){
return
t
&&
O
(
t
)}
:
function
(
t
){
return
t
&&
function
(){
return
T
.
apply
(
t
,
arguments
)}},
P
=
"undefined"
!=
typeof
globalThis
?
globalThis
:
"undefined"
!=
typeof
window
?
window
:
void
0
!==
n
.
g
?
n
.
g
:
"undefined"
!=
typeof
self
?
self
:
{};
function
H
(
t
,
e
){
return
t
(
e
=
{
exports
:
{}},
e
.
exports
),
e
.
exports
}
var
R
,
B
,
q
=
function
(
t
){
return
t
&&
t
.
Math
==
Math
&&
t
},
D
=
q
(
"object"
==
typeof
globalThis
&&
globalThis
)
||
q
(
"object"
==
typeof
window
&&
window
)
||
q
(
"object"
==
typeof
self
&&
self
)
||
q
(
"object"
==
typeof
P
&&
P
)
||
function
(){
return
this
}()
||
Function
(
"return this"
)(),
M
=!
x
((
function
(){
return
7
!=
Object
.
defineProperty
({},
1
,{
get
:
function
(){
return
7
}})[
1
]})),
W
=
{}.
propertyIsEnumerable
,
Y
=
Object
.
getOwnPropertyDescriptor
,
$
=
{
f
:
Y
&&!
W
.
call
({
1
:
2
},
1
)
?
function
(
t
){
var
e
=
Y
(
this
,
t
);
return
!!
e
&&
e
.
enumerable
}
:
W
},
F
=
function
(
t
,
e
){
return
{
enumerable
:!
(
1
&
t
),
configurable
:!
(
2
&
t
),
writable
:!
(
4
&
t
),
value
:
e
}},
U
=
N
({}.
toString
),
G
=
N
(
""
.
slice
),
z
=
function
(
t
){
return
G
(
U
(
t
),
8
,
-
1
)},
V
=
Object
,
X
=
N
(
""
.
split
),
J
=
x
((
function
(){
return
!
V
(
"z"
).
propertyIsEnumerable
(
0
)}))
?
function
(
t
){
return
"String"
==
z
(
t
)
?
X
(
t
,
""
)
:
V
(
t
)}
:
V
,
K
=
TypeError
,
Q
=
function
(
t
){
if
(
null
==
t
)
throw
K
(
"Can't call method on "
+
t
);
return
t
},
Z
=
function
(
t
){
return
J
(
Q
(
t
))},
tt
=
function
(
t
){
return
"function"
==
typeof
t
},
et
=
function
(
t
){
return
"object"
==
typeof
t
?
null
!==
t
:
tt
(
t
)},
nt
=
function
(
t
){
return
tt
(
t
)
?
t
:
void
0
},
rt
=
function
(
t
,
e
){
return
arguments
.
length
<
2
?
nt
(
D
[
t
])
:
D
[
t
]
&&
D
[
t
][
e
]},
ot
=
N
({}.
isPrototypeOf
),
it
=
rt
(
"navigator"
,
"userAgent"
)
||
""
,
at
=
D
.
process
,
st
=
D
.
Deno
,
ct
=
at
&&
at
.
versions
||
st
&&
st
.
version
,
lt
=
ct
&&
ct
.
v8
;
lt
&&
(
B
=
(
R
=
lt
.
split
(
"."
))[
0
]
>
0
&&
R
[
0
]
<
4
?
1
:+
(
R
[
0
]
+
R
[
1
])),
!
B
&&
it
&&
(
!
(
R
=
it
.
match
(
/Edge\/(\d+)/
))
||
R
[
1
]
>=
74
)
&&
(
R
=
it
.
match
(
/Chrome\/(\d+)/
))
&&
(
B
=+
R
[
1
]);
var
ut
=
B
,
ht
=!!
Object
.
getOwnPropertySymbols
&&!
x
((
function
(){
var
t
=
Symbol
();
return
!
String
(
t
)
||!
(
Object
(
t
)
instanceof
Symbol
)
||!
Symbol
.
sham
&&
ut
&&
ut
<
41
})),
ft
=
ht
&&!
Symbol
.
sham
&&
"symbol"
==
typeof
Symbol
.
iterator
,
pt
=
Object
,
dt
=
ft
?
function
(
t
){
return
"symbol"
==
typeof
t
}
:
function
(
t
){
var
e
=
rt
(
"Symbol"
);
return
tt
(
e
)
&&
ot
(
e
.
prototype
,
pt
(
t
))},
bt
=
String
,
gt
=
TypeError
,
mt
=
function
(
t
,
e
){
var
n
=
t
[
e
];
return
null
==
n
?
void
0
:
function
(
t
){
if
(
tt
(
t
))
return
t
;
throw
gt
(
function
(
t
){
try
{
return
bt
(
t
)}
catch
(
t
){
return
"Object"
}}(
t
)
+
" is not a function"
)}(
n
)},
wt
=
TypeError
,
vt
=
Object
.
defineProperty
,
yt
=
function
(
t
,
e
){
try
{
vt
(
D
,
t
,{
value
:
e
,
configurable
:!
0
,
writable
:!
0
})}
catch
(
n
){
D
[
t
]
=
e
}
return
e
},
xt
=
D
[
"__core-js_shared__"
]
||
yt
(
"__core-js_shared__"
,{}),
_t
=
H
((
function
(
t
){(
t
.
exports
=
function
(
t
,
e
){
return
xt
[
t
]
||
(
xt
[
t
]
=
void
0
!==
e
?
e
:
{})})(
"versions"
,[]).
push
({
version
:
"3.23.3"
,
mode
:
"global"
,
copyright
:
"© 2014-2022 Denis Pushkarev (zloirock.ru)"
,
license
:
"https://github.com/zloirock/core-js/blob/v3.23.3/LICENSE"
,
source
:
"https://github.com/zloirock/core-js"
})})),
St
=
Object
,
kt
=
function
(
t
){
return
St
(
Q
(
t
))},
jt
=
N
({}.
hasOwnProperty
),
Ct
=
Object
.
hasOwn
||
function
(
t
,
e
){
return
jt
(
kt
(
t
),
e
)},
Et
=
0
,
At
=
Math
.
random
(),
Lt
=
N
(
1.
.
toString
),
It
=
function
(
t
){
return
"Symbol("
+
(
void
0
===
t
?
""
:
t
)
+
")_"
+
Lt
(
++
Et
+
At
,
36
)},
Tt
=
_t
(
"wks"
),
Ot
=
D
.
Symbol
,
Nt
=
Ot
&&
Ot
.
for
,
Pt
=
ft
?
Ot
:
Ot
&&
Ot
.
withoutSetter
||
It
,
Ht
=
function
(
t
){
if
(
!
Ct
(
Tt
,
t
)
||!
ht
&&
"string"
!=
typeof
Tt
[
t
]){
var
e
=
"Symbol."
+
t
;
ht
&&
Ct
(
Ot
,
t
)
?
Tt
[
t
]
=
Ot
[
t
]
:
Tt
[
t
]
=
ft
&&
Nt
?
Nt
(
e
)
:
Pt
(
e
)}
return
Tt
[
t
]},
Rt
=
TypeError
,
Bt
=
Ht
(
"toPrimitive"
),
qt
=
function
(
t
){
var
e
=
function
(
t
,
e
){
if
(
!
et
(
t
)
||
dt
(
t
))
return
t
;
var
n
,
r
=
mt
(
t
,
Bt
);
if
(
r
){
if
(
void
0
===
e
&&
(
e
=
"default"
),
n
=
A
(
r
,
t
,
e
),
!
et
(
n
)
||
dt
(
n
))
return
n
;
throw
Rt
(
"Can't convert object to primitive value"
)}
return
void
0
===
e
&&
(
e
=
"number"
),
function
(
t
,
e
){
var
n
,
r
;
if
(
"string"
===
e
&&
tt
(
n
=
t
.
toString
)
&&!
et
(
r
=
A
(
n
,
t
)))
return
r
;
if
(
tt
(
n
=
t
.
valueOf
)
&&!
et
(
r
=
A
(
n
,
t
)))
return
r
;
if
(
"string"
!==
e
&&
tt
(
n
=
t
.
toString
)
&&!
et
(
r
=
A
(
n
,
t
)))
return
r
;
throw
wt
(
"Can't convert object to primitive value"
)}(
t
,
e
)}(
t
,
"string"
);
return
dt
(
e
)
?
e
:
e
+
""
},
Dt
=
D
.
document
,
Mt
=
et
(
Dt
)
&&
et
(
Dt
.
createElement
),
Wt
=
function
(
t
){
return
Mt
?
Dt
.
createElement
(
t
)
:
{}},
Yt
=!
M
&&!
x
((
function
(){
return
7
!=
Object
.
defineProperty
(
Wt
(
"div"
),
"a"
,{
get
:
function
(){
return
7
}}).
a
})),
$t
=
Object
.
getOwnPropertyDescriptor
,
Ft
=
{
f
:
M
?
$t
:
function
(
t
,
e
){
if
(
t
=
Z
(
t
),
e
=
qt
(
e
),
Yt
)
try
{
return
$t
(
t
,
e
)}
catch
(
t
){}
if
(
Ct
(
t
,
e
))
return
F
(
!
A
(
$
.
f
,
t
,
e
),
t
[
e
])}},
Ut
=
M
&&
x
((
function
(){
return
42
!=
Object
.
defineProperty
((
function
(){}),
"prototype"
,{
value
:
42
,
writable
:!
1
}).
prototype
})),
Gt
=
String
,
zt
=
TypeError
,
Vt
=
function
(
t
){
if
(
et
(
t
))
return
t
;
throw
zt
(
Gt
(
t
)
+
" is not an object"
)},
Xt
=
TypeError
,
Jt
=
Object
.
defineProperty
,
Kt
=
Object
.
getOwnPropertyDescriptor
,
Qt
=
{
f
:
M
?
Ut
?
function
(
t
,
e
,
n
){
if
(
Vt
(
t
),
e
=
qt
(
e
),
Vt
(
n
),
"function"
==
typeof
t
&&
"prototype"
===
e
&&
"value"
in
n
&&
"writable"
in
n
&&!
n
.
writable
){
var
r
=
Kt
(
t
,
e
);
r
&&
r
.
writable
&&
(
t
[
e
]
=
n
.
value
,
n
=
{
configurable
:
"configurable"
in
n
?
n
.
configurable
:
r
.
configurable
,
enumerable
:
"enumerable"
in
n
?
n
.
enumerable
:
r
.
enumerable
,
writable
:!
1
})}
return
Jt
(
t
,
e
,
n
)}
:
Jt
:
function
(
t
,
e
,
n
){
if
(
Vt
(
t
),
e
=
qt
(
e
),
Vt
(
n
),
Yt
)
try
{
return
Jt
(
t
,
e
,
n
)}
catch
(
t
){}
if
(
"get"
in
n
||
"set"
in
n
)
throw
Xt
(
"Accessors not supported"
);
return
"value"
in
n
&&
(
t
[
e
]
=
n
.
value
),
t
}},
Zt
=
M
?
function
(
t
,
e
,
n
){
return
Qt
.
f
(
t
,
e
,
F
(
1
,
n
))}
:
function
(
t
,
e
,
n
){
return
t
[
e
]
=
n
,
t
},
te
=
Function
.
prototype
,
ee
=
M
&&
Object
.
getOwnPropertyDescriptor
,
ne
=
Ct
(
te
,
"name"
),
re
=
{
EXISTS
:
ne
,
PROPER
:
ne
&&
"something"
===
function
(){}.
name
,
CONFIGURABLE
:
ne
&&
(
!
M
||
M
&&
ee
(
te
,
"name"
).
configurable
)},
oe
=
N
(
Function
.
toString
);
tt
(
xt
.
inspectSource
)
||
(
xt
.
inspectSource
=
function
(
t
){
return
oe
(
t
)});
var
ie
,
ae
,
se
,
ce
=
xt
.
inspectSource
,
le
=
D
.
WeakMap
,
ue
=
tt
(
le
)
&&
/native code/
.
test
(
ce
(
le
)),
he
=
_t
(
"keys"
),
fe
=
function
(
t
){
return
he
[
t
]
||
(
he
[
t
]
=
It
(
t
))},
pe
=
{},
de
=
D
.
TypeError
,
be
=
D
.
WeakMap
;
if
(
ue
||
xt
.
state
){
var
ge
=
xt
.
state
||
(
xt
.
state
=
new
be
),
me
=
N
(
ge
.
get
),
we
=
N
(
ge
.
has
),
ve
=
N
(
ge
.
set
);
ie
=
function
(
t
,
e
){
if
(
we
(
ge
,
t
))
throw
new
de
(
"Object already initialized"
);
return
e
.
facade
=
t
,
ve
(
ge
,
t
,
e
),
e
},
ae
=
function
(
t
){
return
me
(
ge
,
t
)
||
{}},
se
=
function
(
t
){
return
we
(
ge
,
t
)}}
else
{
var
ye
=
fe
(
"state"
);
pe
[
ye
]
=!
0
,
ie
=
function
(
t
,
e
){
if
(
Ct
(
t
,
ye
))
throw
new
de
(
"Object already initialized"
);
return
e
.
facade
=
t
,
Zt
(
t
,
ye
,
e
),
e
},
ae
=
function
(
t
){
return
Ct
(
t
,
ye
)
?
t
[
ye
]
:
{}},
se
=
function
(
t
){
return
Ct
(
t
,
ye
)}}
var
xe
=
{
set
:
ie
,
get
:
ae
,
has
:
se
,
enforce
:
function
(
t
){
return
se
(
t
)
?
ae
(
t
)
:
ie
(
t
,{})},
getterFor
:
function
(
t
){
return
function
(
e
){
var
n
;
if
(
!
et
(
e
)
||
(
n
=
ae
(
e
)).
type
!==
t
)
throw
de
(
"Incompatible receiver, "
+
t
+
" required"
);
return
n
}}},
_e
=
H
((
function
(
t
){
var
e
=
re
.
CONFIGURABLE
,
n
=
xe
.
enforce
,
r
=
xe
.
get
,
o
=
Object
.
defineProperty
,
i
=
M
&&!
x
((
function
(){
return
8
!==
o
((
function
(){}),
"length"
,{
value
:
8
}).
length
})),
a
=
String
(
String
).
split
(
"String"
),
s
=
t
.
exports
=
function
(
t
,
r
,
s
){
"Symbol("
===
String
(
r
).
slice
(
0
,
7
)
&&
(
r
=
"["
+
String
(
r
).
replace
(
/^Symbol\(([^)]*)\)/
,
"$1"
)
+
"]"
),
s
&&
s
.
getter
&&
(
r
=
"get "
+
r
),
s
&&
s
.
setter
&&
(
r
=
"set "
+
r
),(
!
Ct
(
t
,
"name"
)
||
e
&&
t
.
name
!==
r
)
&&
(
M
?
o
(
t
,
"name"
,{
value
:
r
,
configurable
:!
0
})
:
t
.
name
=
r
),
i
&&
s
&&
Ct
(
s
,
"arity"
)
&&
t
.
length
!==
s
.
arity
&&
o
(
t
,
"length"
,{
value
:
s
.
arity
});
try
{
s
&&
Ct
(
s
,
"constructor"
)
&&
s
.
constructor
?
M
&&
o
(
t
,
"prototype"
,{
writable
:!
1
})
:
t
.
prototype
&&
(
t
.
prototype
=
void
0
)}
catch
(
t
){}
var
c
=
n
(
t
);
return
Ct
(
c
,
"source"
)
||
(
c
.
source
=
a
.
join
(
"string"
==
typeof
r
?
r
:
""
)),
t
};
Function
.
prototype
.
toString
=
s
((
function
(){
return
tt
(
this
)
&&
r
(
this
).
source
||
ce
(
this
)}),
"toString"
)})),
Se
=
function
(
t
,
e
,
n
,
r
){
r
||
(
r
=
{});
var
o
=
r
.
enumerable
,
i
=
void
0
!==
r
.
name
?
r
.
name
:
e
;
if
(
tt
(
n
)
&&
_e
(
n
,
i
,
r
),
r
.
global
)
o
?
t
[
e
]
=
n
:
yt
(
e
,
n
);
else
{
try
{
r
.
unsafe
?
t
[
e
]
&&
(
o
=!
0
)
:
delete
t
[
e
]}
catch
(
t
){}
o
?
t
[
e
]
=
n
:
Qt
.
f
(
t
,
e
,{
value
:
n
,
enumerable
:!
1
,
configurable
:!
r
.
nonConfigurable
,
writable
:!
r
.
nonWritable
})}
return
t
},
ke
=
Math
.
ceil
,
je
=
Math
.
floor
,
Ce
=
Math
.
trunc
||
function
(
t
){
var
e
=+
t
;
return
(
e
>
0
?
je
:
ke
)(
e
)},
Ee
=
function
(
t
){
var
e
=+
t
;
return
e
!=
e
||
0
===
e
?
0
:
Ce
(
e
)},
Ae
=
Math
.
max
,
Le
=
Math
.
min
,
Ie
=
Math
.
min
,
Te
=
function
(
t
){
return
t
>
0
?
Ie
(
Ee
(
t
),
9007199254740991
)
:
0
},
Oe
=
function
(
t
){
return
function
(
e
,
n
,
r
){
var
o
,
i
=
Z
(
e
),
a
=
Te
(
i
.
length
),
s
=
function
(
t
,
e
){
var
n
=
Ee
(
t
);
return
n
<
0
?
Ae
(
n
+
e
,
0
)
:
Le
(
n
,
e
)}(
r
,
a
);
if
(
t
&&
n
!=
n
){
for
(;
a
>
s
;)
if
((
o
=
i
[
s
++
])
!=
o
)
return
!
0
}
else
for
(;
a
>
s
;
s
++
)
if
((
t
||
s
in
i
)
&&
i
[
s
]
===
n
)
return
t
||
s
||
0
;
return
!
t
&&-
1
}},
Ne
=
{
includes
:
Oe
(
!
0
),
indexOf
:
Oe
(
!
1
)},
Pe
=
Ne
.
indexOf
,
He
=
N
([].
push
),
Re
=
function
(
t
,
e
){
var
n
,
r
=
Z
(
t
),
o
=
0
,
i
=
[];
for
(
n
in
r
)
!
Ct
(
pe
,
n
)
&&
Ct
(
r
,
n
)
&&
He
(
i
,
n
);
for
(;
e
.
length
>
o
;)
Ct
(
r
,
n
=
e
[
o
++
])
&&
(
~
Pe
(
i
,
n
)
||
He
(
i
,
n
));
return
i
},
Be
=
[
"constructor"
,
"hasOwnProperty"
,
"isPrototypeOf"
,
"propertyIsEnumerable"
,
"toLocaleString"
,
"toString"
,
"valueOf"
],
qe
=
Be
.
concat
(
"length"
,
"prototype"
),
De
=
{
f
:
Object
.
getOwnPropertyNames
||
function
(
t
){
return
Re
(
t
,
qe
)}},
Me
=
{
f
:
Object
.
getOwnPropertySymbols
},
We
=
N
([].
concat
),
Ye
=
rt
(
"Reflect"
,
"ownKeys"
)
||
function
(
t
){
var
e
=
De
.
f
(
Vt
(
t
)),
n
=
Me
.
f
;
return
n
?
We
(
e
,
n
(
t
))
:
e
},
$e
=
function
(
t
,
e
,
n
){
for
(
var
r
=
Ye
(
e
),
o
=
Qt
.
f
,
i
=
Ft
.
f
,
a
=
0
;
a
<
r
.
length
;
a
++
){
var
s
=
r
[
a
];
Ct
(
t
,
s
)
||
n
&&
Ct
(
n
,
s
)
||
o
(
t
,
s
,
i
(
e
,
s
))}},
Fe
=
/#|\.prototype\./
,
Ue
=
function
(
t
,
e
){
var
n
=
ze
[
Ge
(
t
)];
return
n
==
Xe
||
n
!=
Ve
&&
(
tt
(
e
)
?
x
(
e
)
:!!
e
)},
Ge
=
Ue
.
normalize
=
function
(
t
){
return
String
(
t
).
replace
(
Fe
,
"."
).
toLowerCase
()},
ze
=
Ue
.
data
=
{},
Ve
=
Ue
.
NATIVE
=
"N"
,
Xe
=
Ue
.
POLYFILL
=
"P"
,
Je
=
Ue
,
Ke
=
Ft
.
f
,
Qe
=
function
(
t
,
e
){
var
n
,
r
,
o
,
i
,
a
,
s
=
t
.
target
,
c
=
t
.
global
,
l
=
t
.
stat
;
if
(
n
=
c
?
D
:
l
?
D
[
s
]
||
yt
(
s
,{})
:
(
D
[
s
]
||
{}).
prototype
)
for
(
r
in
e
){
if
(
i
=
e
[
r
],
o
=
t
.
dontCallGetSet
?
(
a
=
Ke
(
n
,
r
))
&&
a
.
value
:
n
[
r
],
!
Je
(
c
?
r
:
s
+
(
l
?
"."
:
"#"
)
+
r
,
t
.
forced
)
&&
void
0
!==
o
){
if
(
typeof
i
==
typeof
o
)
continue
;
$e
(
i
,
o
)}(
t
.
sham
||
o
&&
o
.
sham
)
&&
Zt
(
i
,
"sham"
,
!
0
),
Se
(
n
,
r
,
i
,
t
)}},
Ze
=
{};
Ze
[
Ht
(
"toStringTag"
)]
=
"z"
;
var
tn
,
en
=
"[object z]"
===
String
(
Ze
),
nn
=
Ht
(
"toStringTag"
),
rn
=
Object
,
on
=
"Arguments"
==
z
(
function
(){
return
arguments
}()),
an
=
en
?
z
:
function
(
t
){
var
e
,
n
,
r
;
return
void
0
===
t
?
"Undefined"
:
null
===
t
?
"Null"
:
"string"
==
typeof
(
n
=
function
(
t
,
e
){
try
{
return
t
[
e
]}
catch
(
t
){}}(
e
=
rn
(
t
),
nn
))
?
n
:
on
?
z
(
e
)
:
"Object"
==
(
r
=
z
(
e
))
&&
tt
(
e
.
callee
)
?
"Arguments"
:
r
},
sn
=
String
,
cn
=
function
(
t
){
if
(
"Symbol"
===
an
(
t
))
throw
TypeError
(
"Cannot convert a Symbol value to a string"
);
return
sn
(
t
)},
ln
=
function
(){
var
t
=
Vt
(
this
),
e
=
""
;
return
t
.
hasIndices
&&
(
e
+=
"d"
),
t
.
global
&&
(
e
+=
"g"
),
t
.
ignoreCase
&&
(
e
+=
"i"
),
t
.
multiline
&&
(
e
+=
"m"
),
t
.
dotAll
&&
(
e
+=
"s"
),
t
.
unicode
&&
(
e
+=
"u"
),
t
.
unicodeSets
&&
(
e
+=
"v"
),
t
.
sticky
&&
(
e
+=
"y"
),
e
},
un
=
D
.
RegExp
,
hn
=
x
((
function
(){
var
t
=
un
(
"a"
,
"y"
);
return
t
.
lastIndex
=
2
,
null
!=
t
.
exec
(
"abcd"
)})),
fn
=
hn
||
x
((
function
(){
return
!
un
(
"a"
,
"y"
).
sticky
})),
pn
=
{
BROKEN_CARET
:
hn
||
x
((
function
(){
var
t
=
un
(
"^r"
,
"gy"
);
return
t
.
lastIndex
=
2
,
null
!=
t
.
exec
(
"str"
)})),
MISSED_STICKY
:
fn
,
UNSUPPORTED_Y
:
hn
},
dn
=
Object
.
keys
||
function
(
t
){
return
Re
(
t
,
Be
)},
bn
=
M
&&!
Ut
?
Object
.
defineProperties
:
function
(
t
,
e
){
Vt
(
t
);
for
(
var
n
,
r
=
Z
(
e
),
o
=
dn
(
e
),
i
=
o
.
length
,
a
=
0
;
i
>
a
;)
Qt
.
f
(
t
,
n
=
o
[
a
++
],
r
[
n
]);
return
t
},
gn
=
{
f
:
bn
},
mn
=
rt
(
"document"
,
"documentElement"
),
wn
=
fe
(
"IE_PROTO"
),
vn
=
function
(){},
yn
=
function
(
t
){
return
"<script>"
+
t
+
"<\/script>"
},
xn
=
function
(
t
){
t
.
write
(
yn
(
""
)),
t
.
close
();
var
e
=
t
.
parentWindow
.
Object
;
return
t
=
null
,
e
},
_n
=
function
(){
try
{
tn
=
new
ActiveXObject
(
"htmlfile"
)}
catch
(
t
){}
var
t
,
e
;
_n
=
"undefined"
!=
typeof
document
?
document
.
domain
&&
tn
?
xn
(
tn
)
:
((
e
=
Wt
(
"iframe"
)).
style
.
display
=
"none"
,
mn
.
appendChild
(
e
),
e
.
src
=
String
(
"javascript:"
),(
t
=
e
.
contentWindow
.
document
).
open
(),
t
.
write
(
yn
(
"document.F=Object"
)),
t
.
close
(),
t
.
F
)
:
xn
(
tn
);
for
(
var
n
=
Be
.
length
;
n
--
;)
delete
_n
.
prototype
[
Be
[
n
]];
return
_n
()};
pe
[
wn
]
=!
0
;
var
Sn
,
kn
,
jn
=
Object
.
create
||
function
(
t
,
e
){
var
n
;
return
null
!==
t
?
(
vn
.
prototype
=
Vt
(
t
),
n
=
new
vn
,
vn
.
prototype
=
null
,
n
[
wn
]
=
t
)
:
n
=
_n
(),
void
0
===
e
?
n
:
gn
.
f
(
n
,
e
)},
Cn
=
D
.
RegExp
,
En
=
x
((
function
(){
var
t
=
Cn
(
"."
,
"s"
);
return
!
(
t
.
dotAll
&&
t
.
exec
(
"\n"
)
&&
"s"
===
t
.
flags
)})),
An
=
D
.
RegExp
,
Ln
=
x
((
function
(){
var
t
=
An
(
"(?<a>b)"
,
"g"
);
return
"b"
!==
t
.
exec
(
"b"
).
groups
.
a
||
"bc"
!==
"b"
.
replace
(
t
,
"$<a>c"
)})),
In
=
xe
.
get
,
Tn
=
_t
(
"native-string-replace"
,
String
.
prototype
.
replace
),
On
=
RegExp
.
prototype
.
exec
,
Nn
=
On
,
Pn
=
N
(
""
.
charAt
),
Hn
=
N
(
""
.
indexOf
),
Rn
=
N
(
""
.
replace
),
Bn
=
N
(
""
.
slice
),
qn
=
(
kn
=
/b*/g
,
A
(
On
,
Sn
=
/a/
,
"a"
),
A
(
On
,
kn
,
"a"
),
0
!==
Sn
.
lastIndex
||
0
!==
kn
.
lastIndex
),
Dn
=
pn
.
BROKEN_CARET
,
Mn
=
void
0
!==
/()??/
.
exec
(
""
)[
1
];(
qn
||
Mn
||
Dn
||
En
||
Ln
)
&&
(
Nn
=
function
(
t
){
var
e
,
n
,
r
,
o
,
i
,
a
,
s
,
c
=
this
,
l
=
In
(
c
),
u
=
cn
(
t
),
h
=
l
.
raw
;
if
(
h
)
return
h
.
lastIndex
=
c
.
lastIndex
,
e
=
A
(
Nn
,
h
,
u
),
c
.
lastIndex
=
h
.
lastIndex
,
e
;
var
f
=
l
.
groups
,
p
=
Dn
&&
c
.
sticky
,
d
=
A
(
ln
,
c
),
b
=
c
.
source
,
g
=
0
,
m
=
u
;
if
(
p
&&
(
d
=
Rn
(
d
,
"y"
,
""
),
-
1
===
Hn
(
d
,
"g"
)
&&
(
d
+=
"g"
),
m
=
Bn
(
u
,
c
.
lastIndex
),
c
.
lastIndex
>
0
&&
(
!
c
.
multiline
||
c
.
multiline
&&
"\n"
!==
Pn
(
u
,
c
.
lastIndex
-
1
))
&&
(
b
=
"(?: "
+
b
+
")"
,
m
=
" "
+
m
,
g
++
),
n
=
new
RegExp
(
"^(?:"
+
b
+
")"
,
d
)),
Mn
&&
(
n
=
new
RegExp
(
"^"
+
b
+
"$(?!\\s)"
,
d
)),
qn
&&
(
r
=
c
.
lastIndex
),
o
=
A
(
On
,
p
?
n
:
c
,
m
),
p
?
o
?
(
o
.
input
=
Bn
(
o
.
input
,
g
),
o
[
0
]
=
Bn
(
o
[
0
],
g
),
o
.
index
=
c
.
lastIndex
,
c
.
lastIndex
+=
o
[
0
].
length
)
:
c
.
lastIndex
=
0
:
qn
&&
o
&&
(
c
.
lastIndex
=
c
.
global
?
o
.
index
+
o
[
0
].
length
:
r
),
Mn
&&
o
&&
o
.
length
>
1
&&
A
(
Tn
,
o
[
0
],
n
,(
function
(){
for
(
i
=
1
;
i
<
arguments
.
length
-
2
;
i
++
)
void
0
===
arguments
[
i
]
&&
(
o
[
i
]
=
void
0
)})),
o
&&
f
)
for
(
o
.
groups
=
a
=
jn
(
null
),
i
=
0
;
i
<
f
.
length
;
i
++
)
a
[(
s
=
f
[
i
])[
0
]]
=
o
[
s
[
1
]];
return
o
});
var
Wn
=
Nn
;
Qe
({
target
:
"RegExp"
,
proto
:!
0
,
forced
:
/./
.
exec
!==
Wn
},{
exec
:
Wn
});
Ht
(
"species"
);
var
Yn
=
RegExp
.
prototype
,
$n
=
N
(
""
.
charAt
),
Fn
=
N
(
""
.
charCodeAt
),
Un
=
N
(
""
.
slice
),
Gn
=
function
(
t
){
return
function
(
e
,
n
){
var
r
,
o
,
i
=
cn
(
Q
(
e
)),
a
=
Ee
(
n
),
s
=
i
.
length
;
return
a
<
0
||
a
>=
s
?
t
?
""
:
void
0
:
(
r
=
Fn
(
i
,
a
))
<
55296
||
r
>
56319
||
a
+
1
===
s
||
(
o
=
Fn
(
i
,
a
+
1
))
<
56320
||
o
>
57343
?
t
?
$n
(
i
,
a
)
:
r
:
t
?
Un
(
i
,
a
,
a
+
2
)
:
o
-
56320
+
(
r
-
55296
<<
10
)
+
65536
}},
zn
=
(
Gn
(
!
1
),
Gn
(
!
0
)),
Vn
=
function
(
t
,
e
,
n
){
return
e
+
(
n
?
zn
(
t
,
e
).
length
:
1
)},
Xn
=
Math
.
floor
,
Jn
=
N
(
""
.
charAt
),
Kn
=
N
(
""
.
replace
),
Qn
=
N
(
""
.
slice
),
Zn
=
/\$([$&'`]|\d{1,2}|<[^>]*>)/g
,
tr
=
/\$([$&'`]|\d{1,2})/g
,
er
=
function
(
t
,
e
,
n
,
r
,
o
,
i
){
var
a
=
n
+
t
.
length
,
s
=
r
.
length
,
c
=
tr
;
return
void
0
!==
o
&&
(
o
=
kt
(
o
),
c
=
Zn
),
Kn
(
i
,
c
,(
function
(
i
,
c
){
var
l
;
switch
(
Jn
(
c
,
0
)){
case
"$"
:
return
"$"
;
case
"&"
:
return
t
;
case
"`"
:
return
Qn
(
e
,
0
,
n
);
case
"'"
:
return
Qn
(
e
,
a
);
case
"<"
:
l
=
o
[
Qn
(
c
,
1
,
-
1
)];
break
;
default
:
var
u
=+
c
;
if
(
0
===
u
)
return
i
;
if
(
u
>
s
){
var
h
=
Xn
(
u
/
10
);
return
0
===
h
?
i
:
h
<=
s
?
void
0
===
r
[
h
-
1
]
?
Jn
(
c
,
1
)
:
r
[
h
-
1
]
+
Jn
(
c
,
1
)
:
i
}
l
=
r
[
u
-
1
]}
return
void
0
===
l
?
""
:
l
}))},
nr
=
TypeError
,
rr
=
function
(
t
,
e
){
var
n
=
t
.
exec
;
if
(
tt
(
n
)){
var
r
=
A
(
n
,
t
,
e
);
return
null
!==
r
&&
Vt
(
r
),
r
}
if
(
"RegExp"
===
z
(
t
))
return
A
(
Wn
,
t
,
e
);
throw
nr
(
"RegExp#exec called on incompatible receiver"
)},
or
=
Ht
(
"replace"
),
ir
=
Math
.
max
,
ar
=
Math
.
min
,
sr
=
N
([].
concat
),
cr
=
N
([].
push
),
lr
=
N
(
""
.
indexOf
),
ur
=
N
(
""
.
slice
),
hr
=
"$0"
===
"a"
.
replace
(
/./
,
"$0"
),
fr
=!!
/./
[
or
]
&&
""
===
/./
[
or
](
"a"
,
"$0"
);
function
pr
(
t
,
e
){
if
(
t
instanceof
SVGElement
){
var
n
=
t
.
getAttribute
(
"class"
)
||
""
;
t
.
setAttribute
(
"class"
,
n
.
replace
(
e
,
""
).
replace
(
/^\s+|\s+$/g
,
""
))}
else
t
.
className
=
t
.
className
.
replace
(
e
,
""
).
replace
(
/^\s+|\s+$/g
,
""
)}
function
dr
(
t
,
e
){
var
n
=
""
;
if
(
t
.
style
.
cssText
&&
(
n
+=
t
.
style
.
cssText
),
"string"
==
typeof
e
)
n
+=
e
;
else
for
(
var
r
in
e
)
n
+=
""
.
concat
(
r
,
":"
).
concat
(
e
[
r
],
";"
);
t
.
style
.
cssText
=
n
}
function
br
(
t
){
if
(
t
){
if
(
!
this
.
_introItems
[
this
.
_currentStep
])
return
;
var
e
=
this
.
_introItems
[
this
.
_currentStep
],
n
=
y
(
e
.
element
,
this
.
_targetElement
),
r
=
this
.
_options
.
helperElementPadding
;
v
(
e
.
element
)
?
f
(
t
,
"introjs-fixedTooltip"
)
:
pr
(
t
,
"introjs-fixedTooltip"
),
"floating"
===
e
.
position
&&
(
r
=
0
),
dr
(
t
,{
width
:
""
.
concat
(
n
.
width
+
r
,
"px"
),
height
:
""
.
concat
(
n
.
height
+
r
,
"px"
),
top
:
""
.
concat
(
n
.
top
-
r
/
2
,
"px"
),
left
:
""
.
concat
(
n
.
left
-
r
/
2
,
"px"
)})}}
!
function
(
t
,
e
,
n
,
r
){
var
o
=
Ht
(
t
),
i
=!
x
((
function
(){
var
e
=
{};
return
e
[
o
]
=
function
(){
return
7
},
7
!=
""
[
t
](
e
)})),
a
=
i
&&!
x
((
function
(){
var
t
=!
1
,
e
=
/a/
;
return
e
.
exec
=
function
(){
return
t
=!
0
,
null
},
e
[
o
](
""
),
!
t
}));
if
(
!
i
||!
a
||
n
){
var
s
=
N
(
/./
[
o
]),
c
=
function
(
t
,
e
,
n
){
var
r
=
fr
?
"$"
:
"$0"
;
return
[
function
(
t
,
n
){
var
r
=
Q
(
this
),
o
=
null
==
t
?
void
0
:
mt
(
t
,
or
);
return
o
?
A
(
o
,
t
,
r
,
n
)
:
A
(
e
,
cn
(
r
),
t
,
n
)},
function
(
t
,
o
){
var
i
=
Vt
(
this
),
a
=
cn
(
t
);
if
(
"string"
==
typeof
o
&&-
1
===
lr
(
o
,
r
)
&&-
1
===
lr
(
o
,
"$<"
)){
var
s
=
n
(
e
,
i
,
a
,
o
);
if
(
s
.
done
)
return
s
.
value
}
var
c
=
tt
(
o
);
c
||
(
o
=
cn
(
o
));
var
l
=
i
.
global
;
if
(
l
){
var
u
=
i
.
unicode
;
i
.
lastIndex
=
0
}
for
(
var
h
=
[];;){
var
f
=
rr
(
i
,
a
);
if
(
null
===
f
)
break
;
if
(
cr
(
h
,
f
),
!
l
)
break
;
""
===
cn
(
f
[
0
])
&&
(
i
.
lastIndex
=
Vn
(
a
,
Te
(
i
.
lastIndex
),
u
))}
for
(
var
p
,
d
=
""
,
b
=
0
,
g
=
0
;
g
<
h
.
length
;
g
++
){
for
(
var
m
=
cn
((
f
=
h
[
g
])[
0
]),
w
=
ir
(
ar
(
Ee
(
f
.
index
),
a
.
length
),
0
),
v
=
[],
y
=
1
;
y
<
f
.
length
;
y
++
)
cr
(
v
,
void
0
===
(
p
=
f
[
y
])
?
p
:
String
(
p
));
var
x
=
f
.
groups
;
if
(
c
){
var
_
=
sr
([
m
],
v
,
w
,
a
);
void
0
!==
x
&&
cr
(
_
,
x
);
var
S
=
cn
(
C
(
o
,
void
0
,
_
))}
else
S
=
er
(
m
,
a
,
w
,
v
,
x
,
o
);
w
>=
b
&&
(
d
+=
ur
(
a
,
b
,
w
)
+
S
,
b
=
w
+
m
.
length
)}
return
d
+
ur
(
a
,
b
)}]}(
0
,
""
[
t
],(
function
(
t
,
e
,
n
,
r
,
o
){
var
a
=
N
(
t
),
c
=
e
.
exec
;
return
c
===
Wn
||
c
===
Yn
.
exec
?
i
&&!
o
?
{
done
:!
0
,
value
:
s
(
e
,
n
,
r
)}
:
{
done
:!
0
,
value
:
a
(
n
,
e
,
r
)}
:
{
done
:!
1
}}));
Se
(
String
.
prototype
,
t
,
c
[
0
]),
Se
(
Yn
,
o
,
c
[
1
])}}(
"replace"
,
0
,
!!
x
((
function
(){
var
t
=
/./
;
return
t
.
exec
=
function
(){
var
t
=
[];
return
t
.
groups
=
{
a
:
"7"
},
t
},
"7"
!==
""
.
replace
(
t
,
"$<a>"
)}))
||!
hr
||
fr
);
var
gr
=
Qt
.
f
,
mr
=
Ht
(
"unscopables"
),
wr
=
Array
.
prototype
;
null
==
wr
[
mr
]
&&
gr
(
wr
,
mr
,{
configurable
:!
0
,
value
:
jn
(
null
)});
var
vr
=
Ne
.
includes
;
function
yr
(
t
,
e
,
n
,
r
,
o
){
return
t
.
left
+
e
+
n
.
width
>
r
.
width
?
(
o
.
style
.
left
=
""
.
concat
(
r
.
width
-
n
.
width
-
t
.
left
,
"px"
),
!
1
)
:
(
o
.
style
.
left
=
""
.
concat
(
e
,
"px"
),
!
0
)}
function
xr
(
t
,
e
,
n
,
r
){
return
t
.
left
+
t
.
width
-
e
-
n
.
width
<
0
?
(
r
.
style
.
left
=
""
.
concat
(
-
t
.
left
,
"px"
),
!
1
)
:
(
r
.
style
.
right
=
""
.
concat
(
e
,
"px"
),
!
0
)}
function
_r
(
t
,
e
){
t
.
includes
(
e
)
&&
t
.
splice
(
t
.
indexOf
(
e
),
1
)}
function
Sr
(
t
,
e
,
n
){
var
r
=
this
.
_options
.
positionPrecedence
.
slice
(),
o
=
g
(),
i
=
y
(
e
).
height
+
10
,
a
=
y
(
e
).
width
+
20
,
s
=
t
.
getBoundingClientRect
(),
c
=
"floating"
;
s
.
bottom
+
i
>
o
.
height
&&
_r
(
r
,
"bottom"
),
s
.
top
-
i
<
0
&&
_r
(
r
,
"top"
),
s
.
right
+
a
>
o
.
width
&&
_r
(
r
,
"right"
),
s
.
left
-
a
<
0
&&
_r
(
r
,
"left"
);
var
l
,
u
,
h
=-
1
!==
(
u
=
(
l
=
n
||
""
).
indexOf
(
"-"
))
?
l
.
substr
(
u
)
:
""
;
return
n
&&
(
n
=
n
.
split
(
"-"
)[
0
]),
r
.
length
&&
(
c
=
r
.
includes
(
n
)
?
n
:
r
[
0
]),[
"top"
,
"bottom"
].
includes
(
c
)
&&
(
c
+=
function
(
t
,
e
,
n
,
r
){
var
o
=
n
.
width
,
i
=
e
/
2
,
a
=
Math
.
min
(
o
,
window
.
screen
.
width
),
s
=
[
"-left-aligned"
,
"-middle-aligned"
,
"-right-aligned"
];
return
a
-
t
<
e
&&
_r
(
s
,
"-left-aligned"
),(
t
<
i
||
a
-
t
<
i
)
&&
_r
(
s
,
"-middle-aligned"
),
t
<
e
&&
_r
(
s
,
"-right-aligned"
),
s
.
length
?
s
.
includes
(
r
)
?
r
:
s
[
0
]
:
"-middle-aligned"
}(
s
.
left
,
a
,
o
,
h
)),
c
}
function
kr
(
t
,
e
,
n
,
r
){
var
o
,
i
,
a
,
s
,
c
,
l
=
""
;
if
(
r
=
r
||!
1
,
e
.
style
.
top
=
null
,
e
.
style
.
right
=
null
,
e
.
style
.
bottom
=
null
,
e
.
style
.
left
=
null
,
e
.
style
.
marginLeft
=
null
,
e
.
style
.
marginTop
=
null
,
n
.
style
.
display
=
"inherit"
,
this
.
_introItems
[
this
.
_currentStep
]){
l
=
"string"
==
typeof
(
o
=
this
.
_introItems
[
this
.
_currentStep
]).
tooltipClass
?
o
.
tooltipClass
:
this
.
_options
.
tooltipClass
,
e
.
className
=
[
"introjs-tooltip"
,
l
].
filter
(
Boolean
).
join
(
" "
),
e
.
setAttribute
(
"role"
,
"dialog"
),
"floating"
!==
(
c
=
this
.
_introItems
[
this
.
_currentStep
].
position
)
&&
this
.
_options
.
autoPosition
&&
(
c
=
Sr
.
call
(
this
,
t
,
e
,
c
)),
a
=
y
(
t
),
i
=
y
(
e
),
s
=
g
(),
f
(
e
,
"introjs-"
.
concat
(
c
));
var
u
=
a
.
width
/
2
-
i
.
width
/
2
;
switch
(
c
){
case
"top-right-aligned"
:
n
.
className
=
"introjs-arrow bottom-right"
;
var
h
=
0
;
xr
(
a
,
h
,
i
,
e
),
e
.
style
.
bottom
=
""
.
concat
(
a
.
height
+
20
,
"px"
);
break
;
case
"top-middle-aligned"
:
n
.
className
=
"introjs-arrow bottom-middle"
,
r
&&
(
u
+=
5
),
xr
(
a
,
u
,
i
,
e
)
&&
(
e
.
style
.
right
=
null
,
yr
(
a
,
u
,
i
,
s
,
e
)),
e
.
style
.
bottom
=
""
.
concat
(
a
.
height
+
20
,
"px"
);
break
;
case
"top-left-aligned"
:
case
"top"
:
n
.
className
=
"introjs-arrow bottom"
,
yr
(
a
,
r
?
0
:
15
,
i
,
s
,
e
),
e
.
style
.
bottom
=
""
.
concat
(
a
.
height
+
20
,
"px"
);
break
;
case
"right"
:
e
.
style
.
left
=
""
.
concat
(
a
.
width
+
20
,
"px"
),
a
.
top
+
i
.
height
>
s
.
height
?
(
n
.
className
=
"introjs-arrow left-bottom"
,
e
.
style
.
top
=
"-"
.
concat
(
i
.
height
-
a
.
height
-
20
,
"px"
))
:
n
.
className
=
"introjs-arrow left"
;
break
;
case
"left"
:
r
||!
0
!==
this
.
_options
.
showStepNumbers
||
(
e
.
style
.
top
=
"15px"
),
a
.
top
+
i
.
height
>
s
.
height
?
(
e
.
style
.
top
=
"-"
.
concat
(
i
.
height
-
a
.
height
-
20
,
"px"
),
n
.
className
=
"introjs-arrow right-bottom"
)
:
n
.
className
=
"introjs-arrow right"
,
e
.
style
.
right
=
""
.
concat
(
a
.
width
+
20
,
"px"
);
break
;
case
"floating"
:
n
.
style
.
display
=
"none"
,
e
.
style
.
left
=
"50%"
,
e
.
style
.
top
=
"50%"
,
e
.
style
.
marginLeft
=
"-"
.
concat
(
i
.
width
/
2
,
"px"
),
e
.
style
.
marginTop
=
"-"
.
concat
(
i
.
height
/
2
,
"px"
);
break
;
case
"bottom-right-aligned"
:
n
.
className
=
"introjs-arrow top-right"
,
xr
(
a
,
h
=
0
,
i
,
e
),
e
.
style
.
top
=
""
.
concat
(
a
.
height
+
20
,
"px"
);
break
;
case
"bottom-middle-aligned"
:
n
.
className
=
"introjs-arrow top-middle"
,
r
&&
(
u
+=
5
),
xr
(
a
,
u
,
i
,
e
)
&&
(
e
.
style
.
right
=
null
,
yr
(
a
,
u
,
i
,
s
,
e
)),
e
.
style
.
top
=
""
.
concat
(
a
.
height
+
20
,
"px"
);
break
;
default
:
n
.
className
=
"introjs-arrow top"
,
yr
(
a
,
0
,
i
,
s
,
e
),
e
.
style
.
top
=
""
.
concat
(
a
.
height
+
20
,
"px"
)}}}
function
jr
(){
u
(
document
.
querySelectorAll
(
".introjs-showElement"
),(
function
(
t
){
pr
(
t
,
/introjs-[a-zA-Z]+/g
)}))}
function
Cr
(
t
,
e
){
var
n
=
document
.
createElement
(
t
);
e
=
e
||
{};
var
r
=
/^(?:role|data-|aria-)/
;
for
(
var
o
in
e
){
var
i
=
e
[
o
];
"style"
===
o
?
dr
(
n
,
i
)
:
o
.
match
(
r
)
?
n
.
setAttribute
(
o
,
i
)
:
n
[
o
]
=
i
}
return
n
}
function
Er
(
t
,
e
,
n
){
if
(
n
){
var
r
=
e
.
style
.
opacity
||
"1"
;
dr
(
e
,{
opacity
:
"0"
}),
window
.
setTimeout
((
function
(){
dr
(
e
,{
opacity
:
r
})}),
10
)}
t
.
appendChild
(
e
)}
function
Ar
(){
return
parseInt
(
this
.
_currentStep
+
1
,
10
)
/
this
.
_introItems
.
length
*
100
}
function
Lr
(){
var
t
=
document
.
querySelector
(
".introjs-disableInteraction"
);
null
===
t
&&
(
t
=
Cr
(
"div"
,{
className
:
"introjs-disableInteraction"
}),
this
.
_targetElement
.
appendChild
(
t
)),
br
.
call
(
this
,
t
)}
function
Ir
(
t
){
var
e
=
this
,
n
=
Cr
(
"div"
,{
className
:
"introjs-bullets"
});
!
1
===
this
.
_options
.
showBullets
&&
(
n
.
style
.
display
=
"none"
);
var
r
=
Cr
(
"ul"
);
r
.
setAttribute
(
"role"
,
"tablist"
);
var
o
=
function
(){
e
.
goToStep
(
this
.
getAttribute
(
"data-step-number"
))};
return
u
(
this
.
_introItems
,(
function
(
e
,
n
){
var
i
=
e
.
step
,
a
=
Cr
(
"li"
),
s
=
Cr
(
"a"
);
a
.
setAttribute
(
"role"
,
"presentation"
),
s
.
setAttribute
(
"role"
,
"tab"
),
s
.
onclick
=
o
,
n
===
t
.
step
-
1
&&
(
s
.
className
=
"active"
),
w
(
s
),
s
.
innerHTML
=
" "
,
s
.
setAttribute
(
"data-step-number"
,
i
),
a
.
appendChild
(
s
),
r
.
appendChild
(
a
)})),
n
.
appendChild
(
r
),
n
}
function
Tr
(
t
,
e
){
if
(
this
.
_options
.
showBullets
){
var
n
=
document
.
querySelector
(
".introjs-bullets"
);
n
&&
n
.
parentNode
.
replaceChild
(
Ir
.
call
(
this
,
e
),
n
)}}
function
Or
(
t
,
e
){
this
.
_options
.
showBullets
&&
(
t
.
querySelector
(
".introjs-bullets li > a.active"
).
className
=
""
,
t
.
querySelector
(
'.introjs-bullets li > a[data-step-number="'
.
concat
(
e
.
step
,
'"]'
)).
className
=
"active"
)}
function
Nr
(){
var
t
=
Cr
(
"div"
);
t
.
className
=
"introjs-progress"
,
!
1
===
this
.
_options
.
showProgress
&&
(
t
.
style
.
display
=
"none"
);
var
e
=
Cr
(
"div"
,{
className
:
"introjs-progressbar"
});
return
this
.
_options
.
progressBarAdditionalClass
&&
(
e
.
className
+=
" "
+
this
.
_options
.
progressBarAdditionalClass
),
e
.
setAttribute
(
"role"
,
"progress"
),
e
.
setAttribute
(
"aria-valuemin"
,
0
),
e
.
setAttribute
(
"aria-valuemax"
,
100
),
e
.
setAttribute
(
"aria-valuenow"
,
Ar
.
call
(
this
)),
e
.
style
.
cssText
=
"width:"
.
concat
(
Ar
.
call
(
this
),
"%;"
),
t
.
appendChild
(
e
),
t
}
function
Pr
(
t
){
t
.
querySelector
(
".introjs-progress .introjs-progressbar"
).
style
.
cssText
=
"width:"
.
concat
(
Ar
.
call
(
this
),
"%;"
),
t
.
querySelector
(
".introjs-progress .introjs-progressbar"
).
setAttribute
(
"aria-valuenow"
,
Ar
.
call
(
this
))}
function
Hr
(
t
){
return
Rr
.
apply
(
this
,
arguments
)}
function
Rr
(){
return
(
Rr
=
a
(
r
().
mark
((
function
t
(
e
){
var
n
,
o
,
i
,
s
,
c
,
l
,
u
,
h
,
p
,
g
,
v
,
y
,
x
,
_
,
S
,
k
,
j
,
C
,
E
,
A
,
L
,
I
,
T
,
O
,
N
,
P
=
this
;
return
r
().
wrap
((
function
(
t
){
for
(;;)
switch
(
t
.
prev
=
t
.
next
){
case
0
:
if
(
void
0
===
this
.
_introChangeCallback
){
t
.
next
=
3
;
break
}
return
t
.
next
=
3
,
this
.
_introChangeCallback
.
call
(
this
,
e
.
element
);
case
3
:
if
(
n
=
this
,
o
=
document
.
querySelector
(
".introjs-helperLayer"
),
i
=
document
.
querySelector
(
".introjs-tooltipReferenceLayer"
),
s
=
"introjs-helperLayer"
,
"string"
==
typeof
e
.
highlightClass
&&
(
s
+=
" "
.
concat
(
e
.
highlightClass
)),
"string"
==
typeof
this
.
_options
.
highlightClass
&&
(
s
+=
" "
.
concat
(
this
.
_options
.
highlightClass
)),
null
!==
o
&&
null
!==
i
?
(
h
=
i
.
querySelector
(
".introjs-helperNumberLayer"
),
p
=
i
.
querySelector
(
".introjs-tooltiptext"
),
g
=
i
.
querySelector
(
".introjs-tooltip-title"
),
v
=
i
.
querySelector
(
".introjs-arrow"
),
y
=
i
.
querySelector
(
".introjs-tooltip"
),
u
=
i
.
querySelector
(
".introjs-skipbutton"
),
l
=
i
.
querySelector
(
".introjs-prevbutton"
),
c
=
i
.
querySelector
(
".introjs-nextbutton"
),
o
.
className
=
s
,
y
.
style
.
opacity
=
0
,
y
.
style
.
display
=
"none"
,
b
.
call
(
n
,
e
),
br
.
call
(
n
,
o
),
br
.
call
(
n
,
i
),
jr
(),
n
.
_lastShowElementTimer
&&
window
.
clearTimeout
(
n
.
_lastShowElementTimer
),
n
.
_lastShowElementTimer
=
window
.
setTimeout
((
function
(){
null
!==
h
&&
(
h
.
innerHTML
=
""
.
concat
(
e
.
step
,
" "
).
concat
(
P
.
_options
.
stepNumbersOfLabel
,
" "
).
concat
(
P
.
_introItems
.
length
)),
p
.
innerHTML
=
e
.
intro
,
g
.
innerHTML
=
e
.
title
,
y
.
style
.
display
=
"block"
,
kr
.
call
(
n
,
e
.
element
,
y
,
v
),
Or
.
call
(
n
,
i
,
e
),
Pr
.
call
(
n
,
i
),
y
.
style
.
opacity
=
1
,(
null
!=
c
&&
/introjs-donebutton/gi
.
test
(
c
.
className
)
||
null
!=
c
)
&&
c
.
focus
(),
m
.
call
(
n
,
e
.
scrollTo
,
e
,
p
)}),
350
))
:
(
x
=
Cr
(
"div"
,{
className
:
s
}),
_
=
Cr
(
"div"
,{
className
:
"introjs-tooltipReferenceLayer"
}),
S
=
Cr
(
"div"
,{
className
:
"introjs-arrow"
}),
k
=
Cr
(
"div"
,{
className
:
"introjs-tooltip"
}),
j
=
Cr
(
"div"
,{
className
:
"introjs-tooltiptext"
}),
C
=
Cr
(
"div"
,{
className
:
"introjs-tooltip-header"
}),
E
=
Cr
(
"h1"
,{
className
:
"introjs-tooltip-title"
}),
A
=
Cr
(
"div"
),
dr
(
x
,{
"box-shadow"
:
"0 0 1px 2px rgba(33, 33, 33, 0.8), rgba(33, 33, 33, "
.
concat
(
n
.
_options
.
overlayOpacity
.
toString
(),
") 0 0 0 5000px"
)}),
b
.
call
(
n
,
e
),
br
.
call
(
n
,
x
),
br
.
call
(
n
,
_
),
Er
(
this
.
_targetElement
,
x
,
!
0
),
Er
(
this
.
_targetElement
,
_
),
j
.
innerHTML
=
e
.
intro
,
E
.
innerHTML
=
e
.
title
,
A
.
className
=
"introjs-tooltipbuttons"
,
!
1
===
this
.
_options
.
showButtons
&&
(
A
.
style
.
display
=
"none"
),
C
.
appendChild
(
E
),
k
.
appendChild
(
C
),
k
.
appendChild
(
j
),
this
.
_options
.
dontShowAgain
&&
(
L
=
Cr
(
"div"
,{
className
:
"introjs-dontShowAgain"
}),(
I
=
Cr
(
"input"
,{
type
:
"checkbox"
,
id
:
"introjs-dontShowAgain"
,
name
:
"introjs-dontShowAgain"
})).
onchange
=
function
(
t
){
P
.
setDontShowAgain
(
t
.
target
.
checked
)},(
T
=
Cr
(
"label"
,{
htmlFor
:
"introjs-dontShowAgain"
})).
innerText
=
this
.
_options
.
dontShowAgainLabel
,
L
.
appendChild
(
I
),
L
.
appendChild
(
T
),
k
.
appendChild
(
L
)),
k
.
appendChild
(
Ir
.
call
(
this
,
e
)),
k
.
appendChild
(
Nr
.
call
(
this
)),
O
=
Cr
(
"div"
),
!
0
===
this
.
_options
.
showStepNumbers
&&
(
O
.
className
=
"introjs-helperNumberLayer"
,
O
.
innerHTML
=
""
.
concat
(
e
.
step
,
" "
).
concat
(
this
.
_options
.
stepNumbersOfLabel
,
" "
).
concat
(
this
.
_introItems
.
length
),
k
.
appendChild
(
O
)),
k
.
appendChild
(
S
),
_
.
appendChild
(
k
),(
c
=
Cr
(
"a"
)).
onclick
=
a
(
r
().
mark
((
function
t
(){
return
r
().
wrap
((
function
(
t
){
for
(;;)
switch
(
t
.
prev
=
t
.
next
){
case
0
:
if
(
n
.
_introItems
.
length
-
1
===
n
.
_currentStep
){
t
.
next
=
5
;
break
}
return
t
.
next
=
3
,
Wr
.
call
(
n
);
case
3
:
t
.
next
=
11
;
break
;
case
5
:
if
(
!
/introjs-donebutton/gi
.
test
(
c
.
className
)){
t
.
next
=
11
;
break
}
if
(
"function"
!=
typeof
n
.
_introCompleteCallback
){
t
.
next
=
9
;
break
}
return
t
.
next
=
9
,
n
.
_introCompleteCallback
.
call
(
n
,
n
.
_currentStep
,
"done"
);
case
9
:
return
t
.
next
=
11
,
vo
.
call
(
n
,
n
.
_targetElement
);
case
11
:
case
"end"
:
return
t
.
stop
()}}),
t
)}))),
w
(
c
),
c
.
innerHTML
=
this
.
_options
.
nextLabel
,(
l
=
Cr
(
"a"
)).
onclick
=
a
(
r
().
mark
((
function
t
(){
return
r
().
wrap
((
function
(
t
){
for
(;;)
switch
(
t
.
prev
=
t
.
next
){
case
0
:
if
(
0
===
n
.
_currentStep
){
t
.
next
=
3
;
break
}
return
t
.
next
=
3
,
$r
.
call
(
n
);
case
3
:
case
"end"
:
return
t
.
stop
()}}),
t
)}))),
w
(
l
),
l
.
innerHTML
=
this
.
_options
.
prevLabel
,
w
(
u
=
Cr
(
"a"
,{
className
:
"introjs-skipbutton"
})),
u
.
innerHTML
=
this
.
_options
.
skipLabel
,
u
.
onclick
=
a
(
r
().
mark
((
function
t
(){
return
r
().
wrap
((
function
(
t
){
for
(;;)
switch
(
t
.
prev
=
t
.
next
){
case
0
:
if
(
n
.
_introItems
.
length
-
1
!==
n
.
_currentStep
||
"function"
!=
typeof
n
.
_introCompleteCallback
){
t
.
next
=
3
;
break
}
return
t
.
next
=
3
,
n
.
_introCompleteCallback
.
call
(
n
,
n
.
_currentStep
,
"skip"
);
case
3
:
if
(
"function"
!=
typeof
n
.
_introSkipCallback
){
t
.
next
=
6
;
break
}
return
t
.
next
=
6
,
n
.
_introSkipCallback
.
call
(
n
);
case
6
:
return
t
.
next
=
8
,
vo
.
call
(
n
,
n
.
_targetElement
);
case
8
:
case
"end"
:
return
t
.
stop
()}}),
t
)}))),
C
.
appendChild
(
u
),
this
.
_introItems
.
length
>
1
&&
A
.
appendChild
(
l
),
A
.
appendChild
(
c
),
k
.
appendChild
(
A
),
kr
.
call
(
n
,
e
.
element
,
k
,
S
),
m
.
call
(
this
,
e
.
scrollTo
,
e
,
k
)),(
N
=
n
.
_targetElement
.
querySelector
(
".introjs-disableInteraction"
))
&&
N
.
parentNode
.
removeChild
(
N
),
e
.
disableInteraction
&&
Lr
.
call
(
n
),
0
===
this
.
_currentStep
&&
this
.
_introItems
.
length
>
1
?
(
null
!=
c
&&
(
c
.
className
=
""
.
concat
(
this
.
_options
.
buttonClass
,
" introjs-nextbutton"
),
c
.
innerHTML
=
this
.
_options
.
nextLabel
),
!
0
===
this
.
_options
.
hidePrev
?
(
null
!=
l
&&
(
l
.
className
=
""
.
concat
(
this
.
_options
.
buttonClass
,
" introjs-prevbutton introjs-hidden"
)),
null
!=
c
&&
f
(
c
,
"introjs-fullbutton"
))
:
null
!=
l
&&
(
l
.
className
=
""
.
concat
(
this
.
_options
.
buttonClass
,
" introjs-prevbutton introjs-disabled"
)))
:
this
.
_introItems
.
length
-
1
===
this
.
_currentStep
||
1
===
this
.
_introItems
.
length
?
(
null
!=
l
&&
(
l
.
className
=
""
.
concat
(
this
.
_options
.
buttonClass
,
" introjs-prevbutton"
)),
!
0
===
this
.
_options
.
hideNext
?
(
null
!=
c
&&
(
c
.
className
=
""
.
concat
(
this
.
_options
.
buttonClass
,
" introjs-nextbutton introjs-hidden"
)),
null
!=
l
&&
f
(
l
,
"introjs-fullbutton"
))
:
null
!=
c
&&
(
!
0
===
this
.
_options
.
nextToDone
?
(
c
.
innerHTML
=
this
.
_options
.
doneLabel
,
f
(
c
,
""
.
concat
(
this
.
_options
.
buttonClass
,
" introjs-nextbutton introjs-donebutton"
)))
:
c
.
className
=
""
.
concat
(
this
.
_options
.
buttonClass
,
" introjs-nextbutton introjs-disabled"
)))
:
(
null
!=
l
&&
(
l
.
className
=
""
.
concat
(
this
.
_options
.
buttonClass
,
" introjs-prevbutton"
)),
null
!=
c
&&
(
c
.
className
=
""
.
concat
(
this
.
_options
.
buttonClass
,
" introjs-nextbutton"
),
c
.
innerHTML
=
this
.
_options
.
nextLabel
)),
null
!=
l
&&
l
.
setAttribute
(
"role"
,
"button"
),
null
!=
c
&&
c
.
setAttribute
(
"role"
,
"button"
),
null
!=
u
&&
u
.
setAttribute
(
"role"
,
"button"
),
null
!=
c
&&
c
.
focus
(),
d
(
e
),
void
0
===
this
.
_introAfterChangeCallback
){
t
.
next
=
22
;
break
}
return
t
.
next
=
22
,
this
.
_introAfterChangeCallback
.
call
(
this
,
e
.
element
);
case
22
:
case
"end"
:
return
t
.
stop
()}}),
t
,
this
)})))).
apply
(
this
,
arguments
)}
function
Br
(
t
){
return
qr
.
apply
(
this
,
arguments
)}
function
qr
(){
return
(
qr
=
a
(
r
().
mark
((
function
t
(
e
){
return
r
().
wrap
((
function
(
t
){
for
(;;)
switch
(
t
.
prev
=
t
.
next
){
case
0
:
if
(
this
.
_currentStep
=
e
-
2
,
void
0
===
this
.
_introItems
){
t
.
next
=
4
;
break
}
return
t
.
next
=
4
,
Wr
.
call
(
this
);
case
4
:
case
"end"
:
return
t
.
stop
()}}),
t
,
this
)})))).
apply
(
this
,
arguments
)}
function
Dr
(
t
){
return
Mr
.
apply
(
this
,
arguments
)}
function
Mr
(){
return
(
Mr
=
a
(
r
().
mark
((
function
t
(
e
){
return
r
().
wrap
((
function
(
t
){
for
(;;)
switch
(
t
.
prev
=
t
.
next
){
case
0
:
if
(
this
.
_currentStepNumber
=
e
,
void
0
===
this
.
_introItems
){
t
.
next
=
4
;
break
}
return
t
.
next
=
4
,
Wr
.
call
(
this
);
case
4
:
case
"end"
:
return
t
.
stop
()}}),
t
,
this
)})))).
apply
(
this
,
arguments
)}
function
Wr
(){
return
Yr
.
apply
(
this
,
arguments
)}
function
Yr
(){
return
Yr
=
a
(
r
().
mark
((
function
t
(){
var
e
,
n
,
o
=
this
;
return
r
().
wrap
((
function
(
t
){
for
(;;)
switch
(
t
.
prev
=
t
.
next
){
case
0
:
if
(
this
.
_direction
=
"forward"
,
void
0
!==
this
.
_currentStepNumber
&&
u
(
this
.
_introItems
,(
function
(
t
,
e
){
t
.
step
===
o
.
_currentStepNumber
&&
(
o
.
_currentStep
=
e
-
1
,
o
.
_currentStepNumber
=
void
0
)})),
void
0
===
this
.
_currentStep
?
this
.
_currentStep
=
0
:++
this
.
_currentStep
,
e
=
this
.
_introItems
[
this
.
_currentStep
],
n
=!
0
,
void
0
===
this
.
_introBeforeChangeCallback
){
t
.
next
=
9
;
break
}
return
t
.
next
=
8
,
this
.
_introBeforeChangeCallback
.
call
(
this
,
e
&&
e
.
element
);
case
8
:
n
=
t
.
sent
;
case
9
:
if
(
!
1
!==
n
){
t
.
next
=
12
;
break
}
return
--
this
.
_currentStep
,
t
.
abrupt
(
"return"
,
!
1
);
case
12
:
if
(
!
(
this
.
_introItems
.
length
<=
this
.
_currentStep
)){
t
.
next
=
19
;
break
}
if
(
"function"
!=
typeof
this
.
_introCompleteCallback
){
t
.
next
=
16
;
break
}
return
t
.
next
=
16
,
this
.
_introCompleteCallback
.
call
(
this
,
this
.
_currentStep
,
"end"
);
case
16
:
return
t
.
next
=
18
,
vo
.
call
(
this
,
this
.
_targetElement
);
case
18
:
return
t
.
abrupt
(
"return"
);
case
19
:
return
t
.
next
=
21
,
Hr
.
call
(
this
,
e
);
case
21
:
case
"end"
:
return
t
.
stop
()}}),
t
,
this
)}))),
Yr
.
apply
(
this
,
arguments
)}
function
$r
(){
return
Fr
.
apply
(
this
,
arguments
)}
function
Fr
(){
return
Fr
=
a
(
r
().
mark
((
function
t
(){
var
e
,
n
;
return
r
().
wrap
((
function
(
t
){
for
(;;)
switch
(
t
.
prev
=
t
.
next
){
case
0
:
if
(
this
.
_direction
=
"backward"
,
0
!==
this
.
_currentStep
){
t
.
next
=
3
;
break
}
return
t
.
abrupt
(
"return"
,
!
1
);
case
3
:
if
(
--
this
.
_currentStep
,
e
=
this
.
_introItems
[
this
.
_currentStep
],
n
=!
0
,
void
0
===
this
.
_introBeforeChangeCallback
){
t
.
next
=
10
;
break
}
return
t
.
next
=
9
,
this
.
_introBeforeChangeCallback
.
call
(
this
,
e
&&
e
.
element
);
case
9
:
n
=
t
.
sent
;
case
10
:
if
(
!
1
!==
n
){
t
.
next
=
13
;
break
}
return
++
this
.
_currentStep
,
t
.
abrupt
(
"return"
,
!
1
);
case
13
:
return
t
.
next
=
15
,
Hr
.
call
(
this
,
e
);
case
15
:
case
"end"
:
return
t
.
stop
()}}),
t
,
this
)}))),
Fr
.
apply
(
this
,
arguments
)}
function
Ur
(){
return
this
.
_currentStep
}
function
Gr
(
t
){
return
zr
.
apply
(
this
,
arguments
)}
function
zr
(){
return
(
zr
=
a
(
r
().
mark
((
function
t
(
e
){
var
n
,
o
;
return
r
().
wrap
((
function
(
t
){
for
(;;)
switch
(
t
.
prev
=
t
.
next
){
case
0
:
if
(
null
===
(
n
=
void
0
===
e
.
code
?
e
.
which
:
e
.
code
)
&&
(
n
=
null
===
e
.
charCode
?
e
.
keyCode
:
e
.
charCode
),
"Escape"
!==
n
&&
27
!==
n
||!
0
!==
this
.
_options
.
exitOnEsc
){
t
.
next
=
7
;
break
}
return
t
.
next
=
5
,
vo
.
call
(
this
,
this
.
_targetElement
);
case
5
:
t
.
next
=
39
;
break
;
case
7
:
if
(
"ArrowLeft"
!==
n
&&
37
!==
n
){
t
.
next
=
12
;
break
}
return
t
.
next
=
10
,
$r
.
call
(
this
);
case
10
:
t
.
next
=
39
;
break
;
case
12
:
if
(
"ArrowRight"
!==
n
&&
39
!==
n
){
t
.
next
=
17
;
break
}
return
t
.
next
=
15
,
Wr
.
call
(
this
);
case
15
:
t
.
next
=
39
;
break
;
case
17
:
if
(
"Enter"
!==
n
&&
"NumpadEnter"
!==
n
&&
13
!==
n
){
t
.
next
=
39
;
break
}
if
(
!
(
o
=
e
.
target
||
e
.
srcElement
)
||!
o
.
className
.
match
(
"introjs-prevbutton"
)){
t
.
next
=
24
;
break
}
return
t
.
next
=
22
,
$r
.
call
(
this
);
case
22
:
t
.
next
=
38
;
break
;
case
24
:
if
(
!
o
||!
o
.
className
.
match
(
"introjs-skipbutton"
)){
t
.
next
=
32
;
break
}
if
(
this
.
_introItems
.
length
-
1
!==
this
.
_currentStep
||
"function"
!=
typeof
this
.
_introCompleteCallback
){
t
.
next
=
28
;
break
}
return
t
.
next
=
28
,
this
.
_introCompleteCallback
.
call
(
this
,
this
.
_currentStep
,
"skip"
);
case
28
:
return
t
.
next
=
30
,
vo
.
call
(
this
,
this
.
_targetElement
);
case
30
:
t
.
next
=
38
;
break
;
case
32
:
if
(
!
o
||!
o
.
getAttribute
(
"data-step-number"
)){
t
.
next
=
36
;
break
}
o
.
click
(),
t
.
next
=
38
;
break
;
case
36
:
return
t
.
next
=
38
,
Wr
.
call
(
this
);
case
38
:
e
.
preventDefault
?
e
.
preventDefault
()
:
e
.
returnValue
=!
1
;
case
39
:
case
"end"
:
return
t
.
stop
()}}),
t
,
this
)})))).
apply
(
this
,
arguments
)}
function
Vr
(
t
){
if
(
null
===
t
||
"object"
!==
o
(
t
)
||
void
0
!==
t
.
nodeType
)
return
t
;
var
e
=
{};
for
(
var
n
in
t
)
void
0
!==
window
.
jQuery
&&
t
[
n
]
instanceof
window
.
jQuery
?
e
[
n
]
=
t
[
n
]
:
e
[
n
]
=
Vr
(
t
[
n
]);
return
e
}
function
Xr
(
t
,
e
){
var
n
,
r
=
this
;
return
function
(){
for
(
var
o
=
arguments
.
length
,
i
=
new
Array
(
o
),
a
=
0
;
a
<
o
;
a
++
)
i
[
a
]
=
arguments
[
a
];
clearTimeout
(
n
),
n
=
setTimeout
((
function
(){
t
.
apply
(
r
,
i
)}),
e
)}}
function
Jr
(
t
){
var
e
=
document
.
querySelector
(
".introjs-hints"
);
return
e
?
e
.
querySelectorAll
(
t
)
:
[]}
function
Kr
(
t
){
return
Qr
.
apply
(
this
,
arguments
)}
function
Qr
(){
return
(
Qr
=
a
(
r
().
mark
((
function
t
(
e
){
var
n
;
return
r
().
wrap
((
function
(
t
){
for
(;;)
switch
(
t
.
prev
=
t
.
next
){
case
0
:
if
(
n
=
Jr
(
'.introjs-hint[data-step="'
.
concat
(
e
,
'"]'
))[
0
],
uo
.
call
(
this
),
n
&&
f
(
n
,
"introjs-hidehint"
),
void
0
===
this
.
_hintCloseCallback
){
t
.
next
=
6
;
break
}
return
t
.
next
=
6
,
this
.
_hintCloseCallback
.
call
(
this
,
e
);
case
6
:
case
"end"
:
return
t
.
stop
()}}),
t
,
this
)})))).
apply
(
this
,
arguments
)}
function
Zr
(){
var
t
=
this
;
u
(
Jr
(
".introjs-hint"
),
function
(){
var
e
=
a
(
r
().
mark
((
function
e
(
n
){
return
r
().
wrap
((
function
(
e
){
for
(;;)
switch
(
e
.
prev
=
e
.
next
){
case
0
:
return
e
.
next
=
2
,
Kr
.
call
(
t
,
n
.
getAttribute
(
"data-step"
));
case
2
:
case
"end"
:
return
e
.
stop
()}}),
e
)})));
return
function
(
t
){
return
e
.
apply
(
this
,
arguments
)}}())}
function
to
(){
return
eo
.
apply
(
this
,
arguments
)}
function
eo
(){
return
(
eo
=
a
(
r
().
mark
((
function
t
(){
var
e
,
n
=
this
;
return
r
().
wrap
((
function
(
t
){
for
(;;)
switch
(
t
.
prev
=
t
.
next
){
case
0
:
if
(
!
(
e
=
Jr
(
".introjs-hint"
))
||!
e
.
length
){
t
.
next
=
5
;
break
}
u
(
e
,(
function
(
t
){
no
.
call
(
n
,
t
.
getAttribute
(
"data-step"
))})),
t
.
next
=
7
;
break
;
case
5
:
return
t
.
next
=
7
,
ho
.
call
(
this
,
this
.
_targetElement
);
case
7
:
case
"end"
:
return
t
.
stop
()}}),
t
,
this
)})))).
apply
(
this
,
arguments
)}
function
no
(
t
){
var
e
=
Jr
(
'.introjs-hint[data-step="'
.
concat
(
t
,
'"]'
))[
0
];
e
&&
pr
(
e
,
/introjs-hidehint/g
)}
function
ro
(){
var
t
=
this
;
u
(
Jr
(
".introjs-hint"
),(
function
(
e
){
oo
.
call
(
t
,
e
.
getAttribute
(
"data-step"
))})),
h
.
off
(
document
,
"click"
,
uo
,
this
,
!
1
),
h
.
off
(
window
,
"resize"
,
po
,
this
,
!
0
),
this
.
_hintsAutoRefreshFunction
&&
h
.
off
(
window
,
"scroll"
,
this
.
_hintsAutoRefreshFunction
,
this
,
!
0
)}
function
oo
(
t
){
var
e
=
Jr
(
'.introjs-hint[data-step="'
.
concat
(
t
,
'"]'
))[
0
];
e
&&
e
.
parentNode
.
removeChild
(
e
)}
function
io
(){
return
ao
.
apply
(
this
,
arguments
)}
function
ao
(){
return
(
ao
=
a
(
r
().
mark
((
function
t
(){
var
e
,
n
,
o
,
i
=
this
;
return
r
().
wrap
((
function
(
t
){
for
(;;)
switch
(
t
.
prev
=
t
.
next
){
case
0
:
if
(
e
=
this
,
null
===
(
n
=
document
.
querySelector
(
".introjs-hints"
))
&&
(
n
=
Cr
(
"div"
,{
className
:
"introjs-hints"
})),
o
=
function
(
t
){
return
function
(
n
){
var
r
=
n
||
window
.
event
;
r
.
stopPropagation
&&
r
.
stopPropagation
(),
null
!==
r
.
cancelBubble
&&
(
r
.
cancelBubble
=!
0
),
co
.
call
(
e
,
t
)}},
u
(
this
.
_introItems
,(
function
(
t
,
e
){
if
(
!
document
.
querySelector
(
'.introjs-hint[data-step="'
.
concat
(
e
,
'"]'
))){
var
r
=
Cr
(
"a"
,{
className
:
"introjs-hint"
});
w
(
r
),
r
.
onclick
=
o
(
e
),
t
.
hintAnimation
||
f
(
r
,
"introjs-hint-no-anim"
),
v
(
t
.
element
)
&&
f
(
r
,
"introjs-fixedhint"
);
var
a
=
Cr
(
"div"
,{
className
:
"introjs-hint-dot"
}),
s
=
Cr
(
"div"
,{
className
:
"introjs-hint-pulse"
});
r
.
appendChild
(
a
),
r
.
appendChild
(
s
),
r
.
setAttribute
(
"data-step"
,
e
),
t
.
targetElement
=
t
.
element
,
t
.
element
=
r
,
so
.
call
(
i
,
t
.
hintPosition
,
r
,
t
.
targetElement
),
n
.
appendChild
(
r
)}})),
document
.
body
.
appendChild
(
n
),
void
0
===
this
.
_hintsAddedCallback
){
t
.
next
=
9
;
break
}
return
t
.
next
=
9
,
this
.
_hintsAddedCallback
.
call
(
this
);
case
9
:
this
.
_options
.
hintAutoRefreshInterval
>=
0
&&
(
this
.
_hintsAutoRefreshFunction
=
Xr
((
function
(){
return
po
.
call
(
i
)}),
this
.
_options
.
hintAutoRefreshInterval
),
h
.
on
(
window
,
"scroll"
,
this
.
_hintsAutoRefreshFunction
,
this
,
!
0
));
case
10
:
case
"end"
:
return
t
.
stop
()}}),
t
,
this
)})))).
apply
(
this
,
arguments
)}
function
so
(
t
,
e
,
n
){
var
r
=
e
.
style
,
o
=
y
.
call
(
this
,
n
),
i
=
20
,
a
=
20
;
switch
(
t
){
default
:
case
"top-left"
:
r
.
left
=
""
.
concat
(
o
.
left
,
"px"
),
r
.
top
=
""
.
concat
(
o
.
top
,
"px"
);
break
;
case
"top-right"
:
r
.
left
=
""
.
concat
(
o
.
left
+
o
.
width
-
i
,
"px"
),
r
.
top
=
""
.
concat
(
o
.
top
,
"px"
);
break
;
case
"bottom-left"
:
r
.
left
=
""
.
concat
(
o
.
left
,
"px"
),
r
.
top
=
""
.
concat
(
o
.
top
+
o
.
height
-
a
,
"px"
);
break
;
case
"bottom-right"
:
r
.
left
=
""
.
concat
(
o
.
left
+
o
.
width
-
i
,
"px"
),
r
.
top
=
""
.
concat
(
o
.
top
+
o
.
height
-
a
,
"px"
);
break
;
case
"middle-left"
:
r
.
left
=
""
.
concat
(
o
.
left
,
"px"
),
r
.
top
=
""
.
concat
(
o
.
top
+
(
o
.
height
-
a
)
/
2
,
"px"
);
break
;
case
"middle-right"
:
r
.
left
=
""
.
concat
(
o
.
left
+
o
.
width
-
i
,
"px"
),
r
.
top
=
""
.
concat
(
o
.
top
+
(
o
.
height
-
a
)
/
2
,
"px"
);
break
;
case
"middle-middle"
:
r
.
left
=
""
.
concat
(
o
.
left
+
(
o
.
width
-
i
)
/
2
,
"px"
),
r
.
top
=
""
.
concat
(
o
.
top
+
(
o
.
height
-
a
)
/
2
,
"px"
);
break
;
case
"bottom-middle"
:
r
.
left
=
""
.
concat
(
o
.
left
+
(
o
.
width
-
i
)
/
2
,
"px"
),
r
.
top
=
""
.
concat
(
o
.
top
+
o
.
height
-
a
,
"px"
);
break
;
case
"top-middle"
:
r
.
left
=
""
.
concat
(
o
.
left
+
(
o
.
width
-
i
)
/
2
,
"px"
),
r
.
top
=
""
.
concat
(
o
.
top
,
"px"
)}}
function
co
(
t
){
return
lo
.
apply
(
this
,
arguments
)}
function
lo
(){
return
(
lo
=
a
(
r
().
mark
((
function
t
(
e
){
var
n
,
o
,
i
,
a
,
s
,
c
,
l
,
u
,
h
;
return
r
().
wrap
((
function
(
t
){
for
(;;)
switch
(
t
.
prev
=
t
.
next
){
case
0
:
if
(
n
=
document
.
querySelector
(
'.introjs-hint[data-step="'
.
concat
(
e
,
'"]'
)),
o
=
this
.
_introItems
[
e
],
void
0
===
this
.
_hintClickCallback
){
t
.
next
=
5
;
break
}
return
t
.
next
=
5
,
this
.
_hintClickCallback
.
call
(
this
,
n
,
o
,
e
);
case
5
:
if
(
i
=
uo
.
call
(
this
),
parseInt
(
i
,
10
)
!==
e
){
t
.
next
=
8
;
break
}
return
t
.
abrupt
(
"return"
);
case
8
:
a
=
Cr
(
"div"
,{
className
:
"introjs-tooltip"
}),
s
=
Cr
(
"div"
),
c
=
Cr
(
"div"
),
l
=
Cr
(
"div"
),
a
.
onclick
=
function
(
t
){
t
.
stopPropagation
?
t
.
stopPropagation
()
:
t
.
cancelBubble
=!
0
},
s
.
className
=
"introjs-tooltiptext"
,(
u
=
Cr
(
"p"
)).
innerHTML
=
o
.
hint
,
s
.
appendChild
(
u
),
this
.
_options
.
hintShowButton
&&
((
h
=
Cr
(
"a"
)).
className
=
this
.
_options
.
buttonClass
,
h
.
setAttribute
(
"role"
,
"button"
),
h
.
innerHTML
=
this
.
_options
.
hintButtonLabel
,
h
.
onclick
=
Kr
.
bind
(
this
,
e
),
s
.
appendChild
(
h
)),
c
.
className
=
"introjs-arrow"
,
a
.
appendChild
(
c
),
a
.
appendChild
(
s
),
this
.
_currentStep
=
n
.
getAttribute
(
"data-step"
),
l
.
className
=
"introjs-tooltipReferenceLayer introjs-hintReference"
,
l
.
setAttribute
(
"data-step"
,
n
.
getAttribute
(
"data-step"
)),
br
.
call
(
this
,
l
),
l
.
appendChild
(
a
),
document
.
body
.
appendChild
(
l
),
kr
.
call
(
this
,
n
,
a
,
c
,
!
0
);
case
28
:
case
"end"
:
return
t
.
stop
()}}),
t
,
this
)})))).
apply
(
this
,
arguments
)}
function
uo
(){
var
t
=
document
.
querySelector
(
".introjs-hintReference"
);
if
(
t
){
var
e
=
t
.
getAttribute
(
"data-step"
);
return
t
.
parentNode
.
removeChild
(
t
),
e
}}
function
ho
(
t
){
return
fo
.
apply
(
this
,
arguments
)}
function
fo
(){
return
(
fo
=
a
(
r
().
mark
((
function
t
(
e
){
var
n
,
o
=
this
;
return
r
().
wrap
((
function
(
t
){
for
(;;)
switch
(
t
.
prev
=
t
.
next
){
case
0
:
if
(
this
.
_introItems
=
[],
!
this
.
_options
.
hints
){
t
.
next
=
5
;
break
}
u
(
this
.
_options
.
hints
,(
function
(
t
){
var
e
=
Vr
(
t
);
"string"
==
typeof
e
.
element
&&
(
e
.
element
=
document
.
querySelector
(
e
.
element
)),
e
.
hintPosition
=
e
.
hintPosition
||
o
.
_options
.
hintPosition
,
e
.
hintAnimation
=
e
.
hintAnimation
||
o
.
_options
.
hintAnimation
,
null
!==
e
.
element
&&
o
.
_introItems
.
push
(
e
)})),
t
.
next
=
9
;
break
;
case
5
:
if
((
n
=
e
.
querySelectorAll
(
"*[data-hint]"
))
&&
n
.
length
){
t
.
next
=
8
;
break
}
return
t
.
abrupt
(
"return"
,
!
1
);
case
8
:
u
(
n
,(
function
(
t
){
var
e
=
t
.
getAttribute
(
"data-hint-animation"
);
e
=
e
?
"true"
===
e
:
o
.
_options
.
hintAnimation
,
o
.
_introItems
.
push
({
element
:
t
,
hint
:
t
.
getAttribute
(
"data-hint"
),
hintPosition
:
t
.
getAttribute
(
"data-hint-position"
)
||
o
.
_options
.
hintPosition
,
hintAnimation
:
e
,
tooltipClass
:
t
.
getAttribute
(
"data-tooltip-class"
),
position
:
t
.
getAttribute
(
"data-position"
)
||
o
.
_options
.
tooltipPosition
})}));
case
9
:
return
t
.
next
=
11
,
io
.
call
(
this
);
case
11
:
h
.
on
(
document
,
"click"
,
uo
,
this
,
!
1
),
h
.
on
(
window
,
"resize"
,
po
,
this
,
!
0
);
case
13
:
case
"end"
:
return
t
.
stop
()}}),
t
,
this
)})))).
apply
(
this
,
arguments
)}
function
po
(){
var
t
=
this
;
u
(
this
.
_introItems
,(
function
(
e
){
var
n
=
e
.
targetElement
,
r
=
e
.
hintPosition
,
o
=
e
.
element
;
void
0
!==
n
&&
so
.
call
(
t
,
r
,
o
,
n
)}))}
function
bo
(
t
){
var
e
=
this
,
n
=
t
.
querySelectorAll
(
"*[data-intro]"
),
r
=
[];
if
(
this
.
_options
.
steps
)
u
(
this
.
_options
.
steps
,(
function
(
t
){
var
n
=
Vr
(
t
);
if
(
n
.
step
=
r
.
length
+
1
,
n
.
title
=
n
.
title
||
""
,
"string"
==
typeof
n
.
element
&&
(
n
.
element
=
document
.
querySelector
(
n
.
element
)),
void
0
===
n
.
element
||
null
===
n
.
element
){
var
o
=
document
.
querySelector
(
".introjsFloatingElement"
);
null
===
o
&&
(
o
=
Cr
(
"div"
,{
className
:
"introjsFloatingElement"
}),
document
.
body
.
appendChild
(
o
)),
n
.
element
=
o
,
n
.
position
=
"floating"
}
n
.
position
=
n
.
position
||
e
.
_options
.
tooltipPosition
,
n
.
scrollTo
=
n
.
scrollTo
||
e
.
_options
.
scrollTo
,
void
0
===
n
.
disableInteraction
&&
(
n
.
disableInteraction
=
e
.
_options
.
disableInteraction
),
null
!==
n
.
element
&&
r
.
push
(
n
)}));
else
{
var
o
;
if
(
n
.
length
<
1
)
return
[];
u
(
n
,(
function
(
t
){
if
((
!
e
.
_options
.
group
||
t
.
getAttribute
(
"data-intro-group"
)
===
e
.
_options
.
group
)
&&
"none"
!==
t
.
style
.
display
){
var
n
=
parseInt
(
t
.
getAttribute
(
"data-step"
),
10
);
o
=
t
.
hasAttribute
(
"data-disable-interaction"
)
?!!
t
.
getAttribute
(
"data-disable-interaction"
)
:
e
.
_options
.
disableInteraction
,
n
>
0
&&
(
r
[
n
-
1
]
=
{
element
:
t
,
title
:
t
.
getAttribute
(
"data-title"
)
||
""
,
intro
:
t
.
getAttribute
(
"data-intro"
),
step
:
parseInt
(
t
.
getAttribute
(
"data-step"
),
10
),
tooltipClass
:
t
.
getAttribute
(
"data-tooltip-class"
),
highlightClass
:
t
.
getAttribute
(
"data-highlight-class"
),
position
:
t
.
getAttribute
(
"data-position"
)
||
e
.
_options
.
tooltipPosition
,
scrollTo
:
t
.
getAttribute
(
"data-scroll-to"
)
||
e
.
_options
.
scrollTo
,
disableInteraction
:
o
})}}));
var
i
=
0
;
u
(
n
,(
function
(
t
){
if
((
!
e
.
_options
.
group
||
t
.
getAttribute
(
"data-intro-group"
)
===
e
.
_options
.
group
)
&&
null
===
t
.
getAttribute
(
"data-step"
)){
for
(;
void
0
!==
r
[
i
];)
i
++
;
o
=
t
.
hasAttribute
(
"data-disable-interaction"
)
?!!
t
.
getAttribute
(
"data-disable-interaction"
)
:
e
.
_options
.
disableInteraction
,
r
[
i
]
=
{
element
:
t
,
title
:
t
.
getAttribute
(
"data-title"
)
||
""
,
intro
:
t
.
getAttribute
(
"data-intro"
),
step
:
i
+
1
,
tooltipClass
:
t
.
getAttribute
(
"data-tooltip-class"
),
highlightClass
:
t
.
getAttribute
(
"data-highlight-class"
),
position
:
t
.
getAttribute
(
"data-position"
)
||
e
.
_options
.
tooltipPosition
,
scrollTo
:
t
.
getAttribute
(
"data-scroll-to"
)
||
e
.
_options
.
scrollTo
,
disableInteraction
:
o
}}}))}
for
(
var
a
=
[],
s
=
0
;
s
<
r
.
length
;
s
++
)
r
[
s
]
&&
a
.
push
(
r
[
s
]);
return
(
r
=
a
).
sort
((
function
(
t
,
e
){
return
t
.
step
-
e
.
step
})),
r
}
function
go
(
t
){
var
e
=
document
.
querySelector
(
".introjs-tooltipReferenceLayer"
),
n
=
document
.
querySelector
(
".introjs-helperLayer"
),
r
=
document
.
querySelector
(
".introjs-disableInteraction"
);
if
(
br
.
call
(
this
,
n
),
br
.
call
(
this
,
e
),
br
.
call
(
this
,
r
),
t
&&
(
this
.
_introItems
=
bo
.
call
(
this
,
this
.
_targetElement
),
Tr
.
call
(
this
,
e
,
this
.
_introItems
[
this
.
_currentStep
]),
Pr
.
call
(
this
,
e
)),
void
0
!==
this
.
_currentStep
&&
null
!==
this
.
_currentStep
){
var
o
=
document
.
querySelector
(
".introjs-arrow"
),
i
=
document
.
querySelector
(
".introjs-tooltip"
);
i
&&
o
&&
kr
.
call
(
this
,
this
.
_introItems
[
this
.
_currentStep
].
element
,
i
,
o
)}
return
po
.
call
(
this
),
this
}
function
mo
(){
go
.
call
(
this
)}
function
wo
(
t
,
e
){
if
(
t
&&
t
.
parentElement
){
var
n
=
t
.
parentElement
;
e
?
(
dr
(
t
,{
opacity
:
"0"
}),
window
.
setTimeout
((
function
(){
try
{
n
.
removeChild
(
t
)}
catch
(
t
){}}),
500
))
:
n
.
removeChild
(
t
)}}
function
vo
(
t
,
e
){
return
yo
.
apply
(
this
,
arguments
)}
function
yo
(){
return
(
yo
=
a
(
r
().
mark
((
function
t
(
e
,
n
){
var
o
,
i
;
return
r
().
wrap
((
function
(
t
){
for
(;;)
switch
(
t
.
prev
=
t
.
next
){
case
0
:
if
(
o
=!
0
,
void
0
===
this
.
_introBeforeExitCallback
){
t
.
next
=
5
;
break
}
return
t
.
next
=
4
,
this
.
_introBeforeExitCallback
.
call
(
this
);
case
4
:
o
=
t
.
sent
;
case
5
:
if
(
n
||!
1
!==
o
){
t
.
next
=
7
;
break
}
return
t
.
abrupt
(
"return"
);
case
7
:
if
((
i
=
e
.
querySelectorAll
(
".introjs-overlay"
))
&&
i
.
length
&&
u
(
i
,(
function
(
t
){
return
wo
(
t
)})),
wo
(
e
.
querySelector
(
".introjs-helperLayer"
),
!
0
),
wo
(
e
.
querySelector
(
".introjs-tooltipReferenceLayer"
)),
wo
(
e
.
querySelector
(
".introjs-disableInteraction"
)),
wo
(
document
.
querySelector
(
".introjsFloatingElement"
)),
jr
(),
h
.
off
(
window
,
"keydown"
,
Gr
,
this
,
!
0
),
h
.
off
(
window
,
"resize"
,
mo
,
this
,
!
0
),
void
0
===
this
.
_introExitCallback
){
t
.
next
=
23
;
break
}
return
t
.
next
=
23
,
this
.
_introExitCallback
.
call
(
this
);
case
23
:
this
.
_currentStep
=
void
0
;
case
24
:
case
"end"
:
return
t
.
stop
()}}),
t
,
this
)})))).
apply
(
this
,
arguments
)}
function
xo
(
t
){
var
e
=
this
,
n
=
Cr
(
"div"
,{
className
:
"introjs-overlay"
});
return
dr
(
n
,{
top
:
0
,
bottom
:
0
,
left
:
0
,
right
:
0
,
position
:
"fixed"
}),
t
.
appendChild
(
n
),
!
0
===
this
.
_options
.
exitOnOverlayClick
&&
(
dr
(
n
,{
cursor
:
"pointer"
}),
n
.
onclick
=
a
(
r
().
mark
((
function
n
(){
return
r
().
wrap
((
function
(
n
){
for
(;;)
switch
(
n
.
prev
=
n
.
next
){
case
0
:
return
n
.
next
=
2
,
vo
.
call
(
e
,
t
);
case
2
:
case
"end"
:
return
n
.
stop
()}}),
n
)})))),
!
0
}
function
_o
(
t
){
return
So
.
apply
(
this
,
arguments
)}
function
So
(){
return
(
So
=
a
(
r
().
mark
((
function
t
(
e
){
var
n
;
return
r
().
wrap
((
function
(
t
){
for
(;;)
switch
(
t
.
prev
=
t
.
next
){
case
0
:
if
(
this
.
isActive
()){
t
.
next
=
2
;
break
}
return
t
.
abrupt
(
"return"
);
case
2
:
if
(
void
0
===
this
.
_introStartCallback
){
t
.
next
=
5
;
break
}
return
t
.
next
=
5
,
this
.
_introStartCallback
.
call
(
this
,
e
);
case
5
:
if
(
0
!==
(
n
=
bo
.
call
(
this
,
e
)).
length
){
t
.
next
=
8
;
break
}
return
t
.
abrupt
(
"return"
,
!
1
);
case
8
:
if
(
this
.
_introItems
=
n
,
!
xo
.
call
(
this
,
e
)){
t
.
next
=
14
;
break
}
return
t
.
next
=
12
,
Wr
.
call
(
this
);
case
12
:
this
.
_options
.
keyboardNavigation
&&
h
.
on
(
window
,
"keydown"
,
Gr
,
this
,
!
0
),
h
.
on
(
window
,
"resize"
,
mo
,
this
,
!
0
);
case
14
:
return
t
.
abrupt
(
"return"
,
!
1
);
case
15
:
case
"end"
:
return
t
.
stop
()}}),
t
,
this
)})))).
apply
(
this
,
arguments
)}
function
ko
(
t
,
e
,
n
){
var
r
,
o
=
(
s
(
r
=
{},
t
,
e
),
s
(
r
,
"path"
,
"/"
),
r
);
if
(
n
){
var
i
=
new
Date
;
i
.
setTime
(
i
.
getTime
()
+
24
*
n
*
60
*
60
*
1e3
),
o
.
expires
=
i
.
toUTCString
()}
var
a
=
[];
for
(
var
c
in
o
)
a
.
push
(
""
.
concat
(
c
,
"="
).
concat
(
o
[
c
]));
return
document
.
cookie
=
a
.
join
(
"; "
),
jo
(
t
)}
function
jo
(
t
){
return
(
e
=
{},
document
.
cookie
.
split
(
";"
).
forEach
((
function
(
t
){
var
n
=
function
(
t
,
e
){
return
function
(
t
){
if
(
Array
.
isArray
(
t
))
return
t
}(
t
)
||
function
(
t
,
e
){
var
n
=
null
==
t
?
null
:
"undefined"
!=
typeof
Symbol
&&
t
[
Symbol
.
iterator
]
||
t
[
"@@iterator"
];
if
(
null
!=
n
){
var
r
,
o
,
i
=
[],
a
=!
0
,
s
=!
1
;
try
{
for
(
n
=
n
.
call
(
t
);
!
(
a
=
(
r
=
n
.
next
()).
done
)
&&
(
i
.
push
(
r
.
value
),
!
e
||
i
.
length
!==
e
);
a
=!
0
);}
catch
(
t
){
s
=!
0
,
o
=
t
}
finally
{
try
{
a
||
null
==
n
.
return
||
n
.
return
()}
finally
{
if
(
s
)
throw
o
}}
return
i
}}(
t
,
e
)
||
function
(
t
,
e
){
if
(
t
){
if
(
"string"
==
typeof
t
)
return
c
(
t
,
e
);
var
n
=
Object
.
prototype
.
toString
.
call
(
t
).
slice
(
8
,
-
1
);
return
"Object"
===
n
&&
t
.
constructor
&&
(
n
=
t
.
constructor
.
name
),
"Map"
===
n
||
"Set"
===
n
?
Array
.
from
(
t
)
:
"Arguments"
===
n
||
/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/
.
test
(
n
)
?
c
(
t
,
e
)
:
void
0
}}(
t
,
e
)
||
function
(){
throw
new
TypeError
(
"Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."
)}()}(
t
.
split
(
"="
),
2
),
r
=
n
[
0
],
o
=
n
[
1
];
e
[
r
.
trim
()]
=
o
})),
e
)[
t
];
var
e
}
function
Co
(
t
){
t
?
ko
(
this
.
_options
.
dontShowAgainCookie
,
"true"
,
this
.
_options
.
dontShowAgainCookieDays
)
:
ko
(
this
.
_options
.
dontShowAgainCookie
,
""
,
-
1
)}
function
Eo
(){
var
t
=
jo
(
this
.
_options
.
dontShowAgainCookie
);
return
t
&&
"true"
===
t
}
function
Ao
(
t
){
this
.
_targetElement
=
t
,
this
.
_introItems
=
[],
this
.
_options
=
{
isActive
:!
0
,
nextLabel
:
"Next"
,
prevLabel
:
"Back"
,
skipLabel
:
"×"
,
doneLabel
:
"Done"
,
hidePrev
:!
1
,
hideNext
:!
1
,
nextToDone
:!
0
,
tooltipPosition
:
"bottom"
,
tooltipClass
:
""
,
group
:
""
,
highlightClass
:
""
,
exitOnEsc
:!
0
,
exitOnOverlayClick
:!
0
,
showStepNumbers
:!
1
,
stepNumbersOfLabel
:
"of"
,
keyboardNavigation
:!
0
,
showButtons
:!
0
,
showBullets
:!
0
,
showProgress
:!
1
,
scrollToElement
:!
0
,
scrollTo
:
"element"
,
scrollPadding
:
30
,
overlayOpacity
:
.5
,
autoPosition
:!
0
,
positionPrecedence
:
[
"bottom"
,
"top"
,
"right"
,
"left"
],
disableInteraction
:!
1
,
dontShowAgain
:!
1
,
dontShowAgainLabel
:
"Don't show this again"
,
dontShowAgainCookie
:
"introjs-dontShowAgain"
,
dontShowAgainCookieDays
:
365
,
helperElementPadding
:
10
,
hintPosition
:
"top-middle"
,
hintButtonLabel
:
"Got it"
,
hintShowButton
:!
0
,
hintAutoRefreshInterval
:
10
,
hintAnimation
:!
0
,
buttonClass
:
"introjs-button"
,
progressBarAdditionalClass
:!
1
}}
Qe
({
target
:
"Array"
,
proto
:!
0
,
forced
:
x
((
function
(){
return
!
Array
(
1
).
includes
()}))},{
includes
:
function
(
t
){
return
vr
(
this
,
t
,
arguments
.
length
>
1
?
arguments
[
1
]
:
void
0
)}}),
wr
[
mr
].
includes
=!
0
;
var
Lo
=
function
t
(
e
){
var
n
;
if
(
"object"
===
o
(
e
))
n
=
new
Ao
(
e
);
else
if
(
"string"
==
typeof
e
){
var
r
=
document
.
querySelector
(
e
);
if
(
!
r
)
throw
new
Error
(
"There is no element with given selector."
);
n
=
new
Ao
(
r
)}
else
n
=
new
Ao
(
document
.
body
);
return
t
.
instances
[
l
(
n
,
"introjs-instance"
)]
=
n
,
n
};
Lo
.
version
=
"6.0.0"
,
Lo
.
instances
=
{},
Lo
.
fn
=
Ao
.
prototype
=
{
isActive
:
function
(){
return
(
!
this
.
_options
.
dontShowAgain
||!
Eo
.
call
(
this
))
&&
this
.
_options
.
isActive
},
clone
:
function
(){
return
new
Ao
(
this
)},
setOption
:
function
(
t
,
e
){
return
this
.
_options
[
t
]
=
e
,
this
},
setOptions
:
function
(
t
){
return
this
.
_options
=
function
(
t
,
e
){
var
n
,
r
=
{};
for
(
n
in
t
)
r
[
n
]
=
t
[
n
];
for
(
n
in
e
)
r
[
n
]
=
e
[
n
];
return
r
}(
this
.
_options
,
t
),
this
},
start
:
function
(){
var
t
=
this
;
return
a
(
r
().
mark
((
function
e
(){
return
r
().
wrap
((
function
(
e
){
for
(;;)
switch
(
e
.
prev
=
e
.
next
){
case
0
:
return
e
.
next
=
2
,
_o
.
call
(
t
,
t
.
_targetElement
);
case
2
:
return
e
.
abrupt
(
"return"
,
t
);
case
3
:
case
"end"
:
return
e
.
stop
()}}),
e
)})))()},
goToStep
:
function
(
t
){
var
e
=
this
;
return
a
(
r
().
mark
((
function
n
(){
return
r
().
wrap
((
function
(
n
){
for
(;;)
switch
(
n
.
prev
=
n
.
next
){
case
0
:
return
n
.
next
=
2
,
Br
.
call
(
e
,
t
);
case
2
:
return
n
.
abrupt
(
"return"
,
e
);
case
3
:
case
"end"
:
return
n
.
stop
()}}),
n
)})))()},
addStep
:
function
(
t
){
return
this
.
_options
.
steps
||
(
this
.
_options
.
steps
=
[]),
this
.
_options
.
steps
.
push
(
t
),
this
},
addSteps
:
function
(
t
){
if
(
t
.
length
){
for
(
var
e
=
0
;
e
<
t
.
length
;
e
++
)
this
.
addStep
(
t
[
e
]);
return
this
}},
goToStepNumber
:
function
(
t
){
var
e
=
this
;
return
a
(
r
().
mark
((
function
n
(){
return
r
().
wrap
((
function
(
n
){
for
(;;)
switch
(
n
.
prev
=
n
.
next
){
case
0
:
return
n
.
next
=
2
,
Dr
.
call
(
e
,
t
);
case
2
:
return
n
.
abrupt
(
"return"
,
e
);
case
3
:
case
"end"
:
return
n
.
stop
()}}),
n
)})))()},
nextStep
:
function
(){
var
t
=
this
;
return
a
(
r
().
mark
((
function
e
(){
return
r
().
wrap
((
function
(
e
){
for
(;;)
switch
(
e
.
prev
=
e
.
next
){
case
0
:
return
e
.
next
=
2
,
Wr
.
call
(
t
);
case
2
:
return
e
.
abrupt
(
"return"
,
t
);
case
3
:
case
"end"
:
return
e
.
stop
()}}),
e
)})))()},
previousStep
:
function
(){
var
t
=
this
;
return
a
(
r
().
mark
((
function
e
(){
return
r
().
wrap
((
function
(
e
){
for
(;;)
switch
(
e
.
prev
=
e
.
next
){
case
0
:
return
e
.
next
=
2
,
$r
.
call
(
t
);
case
2
:
return
e
.
abrupt
(
"return"
,
t
);
case
3
:
case
"end"
:
return
e
.
stop
()}}),
e
)})))()},
currentStep
:
function
(){
return
Ur
.
call
(
this
)},
exit
:
function
(
t
){
var
e
=
this
;
return
a
(
r
().
mark
((
function
n
(){
return
r
().
wrap
((
function
(
n
){
for
(;;)
switch
(
n
.
prev
=
n
.
next
){
case
0
:
return
n
.
next
=
2
,
vo
.
call
(
e
,
e
.
_targetElement
,
t
);
case
2
:
return
n
.
abrupt
(
"return"
,
e
);
case
3
:
case
"end"
:
return
n
.
stop
()}}),
n
)})))()},
refresh
:
function
(
t
){
return
go
.
call
(
this
,
t
),
this
},
setDontShowAgain
:
function
(
t
){
return
Co
.
call
(
this
,
t
),
this
},
onbeforechange
:
function
(
t
){
if
(
"function"
!=
typeof
t
)
throw
new
Error
(
"Provided callback for onbeforechange was not a function"
);
return
this
.
_introBeforeChangeCallback
=
t
,
this
},
onchange
:
function
(
t
){
if
(
"function"
!=
typeof
t
)
throw
new
Error
(
"Provided callback for onchange was not a function."
);
return
this
.
_introChangeCallback
=
t
,
this
},
onafterchange
:
function
(
t
){
if
(
"function"
!=
typeof
t
)
throw
new
Error
(
"Provided callback for onafterchange was not a function"
);
return
this
.
_introAfterChangeCallback
=
t
,
this
},
oncomplete
:
function
(
t
){
if
(
"function"
!=
typeof
t
)
throw
new
Error
(
"Provided callback for oncomplete was not a function."
);
return
this
.
_introCompleteCallback
=
t
,
this
},
onhintsadded
:
function
(
t
){
if
(
"function"
!=
typeof
t
)
throw
new
Error
(
"Provided callback for onhintsadded was not a function."
);
return
this
.
_hintsAddedCallback
=
t
,
this
},
onhintclick
:
function
(
t
){
if
(
"function"
!=
typeof
t
)
throw
new
Error
(
"Provided callback for onhintclick was not a function."
);
return
this
.
_hintClickCallback
=
t
,
this
},
onhintclose
:
function
(
t
){
if
(
"function"
!=
typeof
t
)
throw
new
Error
(
"Provided callback for onhintclose was not a function."
);
return
this
.
_hintCloseCallback
=
t
,
this
},
onstart
:
function
(
t
){
if
(
"function"
!=
typeof
t
)
throw
new
Error
(
"Provided callback for onstart was not a function."
);
return
this
.
_introStartCallback
=
t
,
this
},
onexit
:
function
(
t
){
if
(
"function"
!=
typeof
t
)
throw
new
Error
(
"Provided callback for onexit was not a function."
);
return
this
.
_introExitCallback
=
t
,
this
},
onskip
:
function
(
t
){
if
(
"function"
!=
typeof
t
)
throw
new
Error
(
"Provided callback for onskip was not a function."
);
return
this
.
_introSkipCallback
=
t
,
this
},
onbeforeexit
:
function
(
t
){
if
(
"function"
!=
typeof
t
)
throw
new
Error
(
"Provided callback for onbeforeexit was not a function."
);
return
this
.
_introBeforeExitCallback
=
t
,
this
},
addHints
:
function
(){
var
t
=
this
;
return
a
(
r
().
mark
((
function
e
(){
return
r
().
wrap
((
function
(
e
){
for
(;;)
switch
(
e
.
prev
=
e
.
next
){
case
0
:
return
e
.
next
=
2
,
ho
.
call
(
t
,
t
.
_targetElement
);
case
2
:
return
e
.
abrupt
(
"return"
,
t
);
case
3
:
case
"end"
:
return
e
.
stop
()}}),
e
)})))()},
hideHint
:
function
(
t
){
var
e
=
this
;
return
a
(
r
().
mark
((
function
n
(){
return
r
().
wrap
((
function
(
n
){
for
(;;)
switch
(
n
.
prev
=
n
.
next
){
case
0
:
return
n
.
next
=
2
,
Kr
.
call
(
e
,
t
);
case
2
:
return
n
.
abrupt
(
"return"
,
e
);
case
3
:
case
"end"
:
return
n
.
stop
()}}),
n
)})))()},
hideHints
:
function
(){
var
t
=
this
;
return
a
(
r
().
mark
((
function
e
(){
return
r
().
wrap
((
function
(
e
){
for
(;;)
switch
(
e
.
prev
=
e
.
next
){
case
0
:
return
e
.
next
=
2
,
Zr
.
call
(
t
);
case
2
:
return
e
.
abrupt
(
"return"
,
t
);
case
3
:
case
"end"
:
return
e
.
stop
()}}),
e
)})))()},
showHint
:
function
(
t
){
return
no
.
call
(
this
,
t
),
this
},
showHints
:
function
(){
var
t
=
this
;
return
a
(
r
().
mark
((
function
e
(){
return
r
().
wrap
((
function
(
e
){
for
(;;)
switch
(
e
.
prev
=
e
.
next
){
case
0
:
return
e
.
next
=
2
,
to
.
call
(
t
);
case
2
:
return
e
.
abrupt
(
"return"
,
t
);
case
3
:
case
"end"
:
return
e
.
stop
()}}),
e
)})))()},
removeHints
:
function
(){
return
ro
.
call
(
this
),
this
},
removeHint
:
function
(
t
){
return
oo
().
call
(
this
,
t
),
this
},
showHintDialog
:
function
(
t
){
var
e
=
this
;
return
a
(
r
().
mark
((
function
n
(){
return
r
().
wrap
((
function
(
n
){
for
(;;)
switch
(
n
.
prev
=
n
.
next
){
case
0
:
return
n
.
next
=
2
,
co
.
call
(
e
,
t
);
case
2
:
return
n
.
abrupt
(
"return"
,
e
);
case
3
:
case
"end"
:
return
n
.
stop
()}}),
n
)})))()}}},
67099
:
function
(
t
){
"use strict"
;
t
.
exports
=
JSON
.
parse
(
'{"Xh":[{"title":"Welcome to the guided tour !","intro":"This guided tour will showcase Software Heritage web application\\nfeatures to help you navigate into the archive.<br/>\\nLet\'s see what we can do from the homepage first.\\n"},{"element":".swh-search-box","title":"Search archived software origins","intro":"An origin corresponds to a location from which a coherent set of\\nsource codes has been obtained, like a git repository, a directory\\ncontaining tarballs, etc.<br/><br/>\\nSoftware origins are identified by URLs (git clone URLs for instance).<br/><br/>\\nYou can search for terms in the full set of archived software\\norigin URLs. You will be redirected to a dedicated interface displaying search\\nresults. Clicking on an origin URL will then take you to the source code browsing\\ninterface. If you enter a complete archived origin URL, you will be immediately\\nredirected to its source code browsing interface.\\n"},{"element":".swh-origin-save-link","title":"Save code now","intro":"If you haven\'t found the software origin you were looking for, you can use the\\nSave Code Now interface to submit a save request that will be immediately processed.\\n"},{"element":".swh-vault-link","title":"Downloads from the vault","intro":"Show the list of downloads you requested from the Software Heritage Vault\\nwhile browsing the archive. <br/>\\nThose downloads correspond to tarballs containing source directories\\narchived by Software Heritage. <br/>\\nThe list of downloads is stored in your browser local storage so it\\nwill be persistent across your visits.\\n"},{"element":".swh-help-link","title":"Launch guided tour","intro":"Replay the guided tour."},{"element":"#swh-login","title":"Login or register","intro":"Come and join our users community with a Software Heritage account.\\nClick here and register in less than 30 seconds.\\nWhen authenticated, you can benefit from extended features like a higher\\nrate-limit quota for the Web API.<br/><br/>\\nIf you are already logged in, that link will take you to your user\\nprofile interface where you can generate bearer token for Web API\\nauthentication.\\n"},{"element":"#swh-web-api-link","title":"Software Heritage Web API","intro":"In the Software Heritage Web API documentation you will find the complete list\\nof endpoints and how to use each one with a detailed example.<br/>\\nPlease note that the Web API can also be queried from your web browser\\nthrough a dedicated HTML interface displaying query results.\\n"},{"title":"Browsing source code of an archived software origin","intro":"Come on in, let\'s introduce the Web UI to browse the content of an\\narchived software origin.\\n"}],"QH":[{"title":"Browse source code of an archived software origin","intro":"You just arrived into the first view of the archived source code of an origin.\\nThe displayed source code files are taken from the most recent snapshot taken by\\nSoftware Heritage. By default, the content of the main branch (aka HEAD, master, ...)\\nis displayed.\\nContinue your journey and dive deeper into the code and its development history.\\n"},{"element":"#swh-origin-url","title":"Software origin URL","intro":"You can find the URL of the archived software origin.<br/>\\nFollowing that link will always bring you back to the code in the HEAD branch\\nas captured by the latest Software Heritage visit.\\n","position":"bottom"},{"element":"#swh-go-to-origin","title":"Visit software origin","intro":"You can go directly to the place where source code was captured.\\n","position":"bottom"},{"element":"#swh-origin-visit","title":"Software Heritage origin visit date","intro":"You can find the date when Software Heritage captured the source code of\\nthat origin.\\n","position":"bottom"},{"element":"#swh-browse-code-nav-link","title":"Browse source code","intro":"You can browse the source code of a software origin. <br/>\\nClicking on the Code tab will always bring you back to the code in the HEAD branch\\nfor the currently selected Software Heritage visit.\\n","position":"bottom"},{"element":"#swh-browse-snapshot-branches-nav-link","title":"Browse branches","intro":"You can browse the list of branches for a software origin. <br/>\\nLinks are offered to browse the source code contained in each branch.\\n","position":"bottom"},{"element":"#swh-browse-snapshot-releases-nav-link","title":"Browse releases","intro":"You can browse the list of releases for a software origin. <br/>\\nLinks are offered to browse the source code contained in each release. <br/>\\nPlease note that for git origins, only annotated tags are considered as releases.\\nFor non annotated git tags, you can browse them in the Branches tab.\\n","position":"bottom"},{"element":"#swh-browse-origin-visits-nav-link","title":"Browse origin visits","intro":"You can find when Software Heritage captured the source code.\\nThese visits are called snapshots and visualized in various ways: timeline,\\ncalendar and simple list.\\nLike with a way-back machine, you can travel in time and see the code as it was\\nwhen crawled by Software Heritage.\\n","position":"bottom"},{"element":"#swh-branches-releases-dd","title":"Switch between branches and releases","intro":"You can easily switch between different branches and releases using this dropdown.\\n","position":"bottom"},{"element":"#swh-breadcrumbs-container","title":"Current navigation path","intro":"You can see here the current path you are taking in the code, which will make it\\neasier to navigate back.\\n","position":"bottom"},{"element":".swh-tr-link","title":"Browse revisions history","intro":"Display the list of revisions (aka commits) for the current branch in various\\norderings. Links are offered to browse source code as it was in each revision.\\nThe list of files changes introduced in each revision can also be computed and\\nthe associated diffs displayed.\\n","position":"bottom"},{"element":".swh-vault-download","title":"Download source code in an archive","intro":"You can request the creation of an archive in .tar.gz format that will contain\\nthe currently browsed directory.\\nYou can follow the archive creation progress and download it once done by\\nvisiting the Downloads page (link can be found in the left sidebar).\\n","position":"bottom"},{"element":"#swh-take-new-snashot","title":"Request to save origin again","intro":"If the archived software origin currently browsed is not synchronized with its\\nupstream version (for instance when new commits have been issued), you can\\nexplicitly request Software Heritage to take a new snapshot of it.\\n","position":"bottom"},{"element":"#swh-tip-revision","title":"Branch tip revision","intro":"You can see the latest revision (commit) archived by Software Heritage\\nfor the current branch.\\n","position":"bottom"},{"element":"#swhids-handle","title":"Display SWHIDs of browsed objects","intro":"When clicking on this handle, a tab will be displayed containing Software Heritage\\nIDentifiers of currently browsed objects.\\n","position":"left"},{"element":"#swh-identifiers","title":"Get SWHIDs of browsed objects","intro":"The <b>SWHID</b> (Software Heritage Identifier), is an intrinsic identifier that is\\ncomputed uniquely from the software artifact itself.<br/>\\nAll details about the syntax, semantics, interoperability and implementation can be\\nfound in\\n<a href=\\"https://docs.softwareheritage.org/devel/swh-model/persistent-identifiers.html\\"\\ntarget=\\"_blank\\" rel=\\"noopener noreferrer\\">the formal specification</a>.\\n","position":"left"},{"element":"#swhid-object-types","title":"Select archived object type","intro":"Software Heritage computes identifiers for all archived objects whose type can be:\\n<ul>\\n <li>\\n <b>content:</b> a (specific version of a) file stored in the archive.\\n </li>\\n <li>\\n <b>directory:</b> a set of named pointers to contents (file entries), directories\\n (directory entries) and revisions (revision entries).\\n </li>\\n <li>\\n <b>release:</b> a revision that has been marked as noteworthy with a specific name\\n (e.g., a version number).\\n </li>\\n <li>\\n <b>revision:</b> a point in time snapshot of the content of a directory, together\\n with associated development metadata (e.g., author, timestamp, log message, etc).\\n </li>\\n <li>\\n <b>snapshot:</b> the state of all visible branches during a specific visit of a\\n software origin\\n </li>\\n</ul>\\nBased on the current context, you can get the SWHID of each browsed object in a\\ndedicated tab.\\n","position":"left"},{"element":".swh-badges","title":"Software Heritage badges","intro":"You can include Software Heritage badges in the README file of you code repository\\nto indicate its archival by Software Heritage.<br/>\\nClicking on a badge will show you how to do so depending on your README format.\\n"},{"element":".swhid","title":"Software Heritage IDentifier (SWHID)","intro":"You can find the SWHID of the selected object.\\n","position":"left"},{"element":"#swhid-options","title":"Add / remove qualifiers to SWHID","intro":"Toggle the adding of qualifiers to the SWHID which adds extra information regarding\\nthe context the object has been found.\\n","position":"bottom"},{"element":"#swhid-copy-buttons","title":"Copy SWHID for a given browsed object","intro":"You can easily copy to clipboard a SWHID or its permalink using these dedicated\\nbuttons.\\n","position":"bottom"},{"title":"Browsing a source code file","intro":"Special features are also offered when browsing a source code file.<br/>\\nThis is what we will see in the next part of that tour.\\n"}],"lE":[{"title":"Browsing a source code file","intro":"You just arrived in the source code file view. Let\'s check a few extra features.\\n"},{"element":".swh-tr-link","title":"Download source code file","intro":"You can download the raw bytes of the source code file and save it locally\\nby using the \\"Save Page\\" feature of your browser.\\n","position":"bottom"},{"element":".chosen-container","title":"Select programming language","intro":"If Software Heritage did not manage to automatically find a programming language\\nfor the browsed source code file or did not find the right one, you can explicitly\\nset the language to highlight using this dropdown.\\n","position":"bottom"},{"element":".hljs-ln-numbers[data-line-number=\\"11\\"]","title":"Highlight a source code line","intro":"<b>Click on the line number to highlight the corresponding line of code.</b><br/>\\nWhen a line gets selected, it is automatically added in the SWHID qualifiers\\nfor the associated content object. It enables to easily browse back that\\nspecific line of code.\\n","position":"bottom"},{"element":".hljs-ln-numbers[data-line-number=\\"17\\"]","title":"Highlight a range of source code lines,","intro":"<b>Hold Shift key and click on the line number to highlight a range of source\\ncode lines.</b><br/>\\nWhen a range of lines get selected, it is automatically added in the SWHID qualifiers\\nfor the associated content object. It enables to easily browse back that specific\\ncode snippet.\\n","position":"bottom"},{"element":".swhid","title":"SWHID with lines qualifier","intro":"As you can see, selecting lines of code updates the source file SWHID with\\nlines qualifier.<br>\\nBrowsing such qualified SWHID will immediately take you to the selected\\ncode snippet.\\n","position":"left"},{"title":"Guided tour completed","intro":"Thank your for following our guided tour ! <br/>\\nYou will now be redirected to the page you were browsing prior to launching it.\\n"}]}'
)}},
e
=
{};
function
n
(
r
){
var
o
=
e
[
r
];
if
(
void
0
!==
o
)
return
o
.
exports
;
var
i
=
e
[
r
]
=
{
exports
:
{}};
return
t
[
r
](
i
,
i
.
exports
,
n
),
i
.
exports
}
n
.
d
=
function
(
t
,
e
){
for
(
var
r
in
e
)
n
.
o
(
e
,
r
)
&&!
n
.
o
(
t
,
r
)
&&
Object
.
defineProperty
(
t
,
r
,{
enumerable
:!
0
,
get
:
e
[
r
]})},
n
.
g
=
function
(){
if
(
"object"
==
typeof
globalThis
)
return
globalThis
;
try
{
return
this
||
new
Function
(
"return this"
)()}
catch
(
t
){
if
(
"object"
==
typeof
window
)
return
window
}}(),
n
.
o
=
function
(
t
,
e
){
return
Object
.
prototype
.
hasOwnProperty
.
call
(
t
,
e
)},
n
.
r
=
function
(
t
){
"undefined"
!=
typeof
Symbol
&&
Symbol
.
toStringTag
&&
Object
.
defineProperty
(
t
,
Symbol
.
toStringTag
,{
value
:
"Module"
}),
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:!
0
})};
var
r
,
o
=
{};
return
(
r
=
"undefined"
!=
typeof
window
?
window
:
void
0
!==
n
.
g
?
n
.
g
:
"undefined"
!=
typeof
self
?
self
:
{}).
SENTRY_RELEASE
=
{
id
:
"0.2.11"
},
r
.
SENTRY_RELEASES
=
r
.
SENTRY_RELEASES
||
{},
r
.
SENTRY_RELEASES
[
"swh-webapp@swh"
]
=
{
id
:
"0.2.11"
},
function
(){
"use strict"
;
n
.
r
(
o
),
n
.
d
(
o
,{
getGuidedTour
:
function
(){
return
u
},
guidedTourButtonClick
:
function
(){
return
h
},
initGuidedTour
:
function
(){
return
f
}});
var
t
=
n
(
61378
),
e
=
n
(
67099
),
r
=
n
(
68277
),
i
=
[],
a
=
null
,
s
=
null
,
c
=
"https://github.com/memononen/libtess2"
;
function
l
(){
return
window
.
scrollTo
(
0
,
0
),
!!
$
(
"#swh-identifiers"
).
tabSlideOut
(
"isOpen"
)
||
(
$
(
".introjs-helperLayer, .introjs-tooltipReferenceLayer"
).
hide
(),
$
(
"#swh-identifiers"
).
tabSlideOut
(
"open"
),
setTimeout
((
function
(){
$
(
".introjs-helperLayer, .introjs-tooltipReferenceLayer"
).
show
(),
a
.
nextStep
()}),
500
),
!
1
)}
function
u
(){
return
i
}
function
h
(
t
){
t
.
preventDefault
(),
f
()}
function
f
(
e
){
if
(
void
0
===
e
&&
(
e
=
0
),
!
(
e
>=
i
.
length
)){
var
n
=
new
URL
(
window
.
location
.
origin
+
i
[
e
].
url
),
o
=
new
URL
(
window
.
location
.
href
),
s
=
o
.
searchParams
.
get
(
"guided_tour_next"
);
o
.
searchParams
.
delete
(
"guided_tour"
),
o
.
searchParams
.
delete
(
"guided_tour_next"
);
var
c
=
decodeURIComponent
(
n
.
toString
()),
l
=
decodeURIComponent
(
o
.
toString
());
l
!==
c
?
(
n
.
searchParams
.
set
(
"guided_tour"
,
e
),
0
===
e
&&
n
.
searchParams
.
set
(
"guided_tour_next"
,
l
),
window
.
location
=
decodeURIComponent
(
n
.
toString
()))
:
((
a
=
(
0
,
t
.
Z
)().
setOptions
(
i
[
e
].
introJsOptions
)).
setOptions
({
exitOnOverlayClick
:!
1
,
showBullets
:!
1
}),
e
<
i
.
length
-
1
?
a
.
setOption
(
"doneLabel"
,
"Next page"
).
onexit
((
function
(){(
0
,
r
.
t
)()})).
oncomplete
((
function
(){
var
t
=
new
URL
(
window
.
location
.
origin
+
i
[
e
+
1
].
url
);
t
.
searchParams
.
set
(
"guided_tour"
,
e
+
1
),
s
?
t
.
searchParams
.
set
(
"guided_tour_next"
,
s
)
:
0
===
e
&&
t
.
searchParams
.
set
(
"guided_tour_next"
,
l
),
window
.
location
.
href
=
decodeURIComponent
(
t
.
toString
())}))
:
a
.
oncomplete
((
function
(){(
0
,
r
.
t
)(),
s
&&
(
window
.
location
.
href
=
s
)})),
i
[
e
].
hasOwnProperty
(
"onBeforeChange"
)
&&
a
.
onbeforechange
(
i
[
e
].
onBeforeChange
),
setTimeout
((
function
(){(
0
,
r
.
V
)(),
a
.
start
(),
window
.
scrollTo
(
0
,
0
)}),
500
))}}
$
((
function
(){
i
=
[{
url
:
Urls
.
swh_web_homepage
(),
introJsOptions
:
{
disableInteraction
:!
0
,
scrollToElement
:!
1
,
steps
:
e
.
Xh
}},{
url
:
Urls
.
browse_origin_directory
()
+
"?origin_url="
+
c
,
introJsOptions
:
{
disableInteraction
:!
0
,
scrollToElement
:!
1
,
steps
:
e
.
QH
},
onBeforeChange
:
function
(
t
){
return
!
t
||
"swh-identifiers"
!==
t
.
id
||
l
()}},{
url
:
Urls
.
browse_content
(
"sha1_git:2d4e23bf1d3f64c1e8b94622178e18d89c653de0"
)
+
"?origin_url="
+
c
+
"&path=Example/example.c"
,
introJsOptions
:
{
steps
:
e
.
lE
},
onBeforeChange
:
function
(
t
){
if
(
t
&&
$
(
t
).
hasClass
(
"swhid"
))
return
l
();
if
(
t
&&
"17"
===
t
.
dataset
.
lineNumber
){
var
e
=
"rgba(0, 0, 0, 0)"
!==
$
(
'.hljs-ln-numbers[data-line-number="11"]'
).
css
(
"background-color"
);
return
e
||
0
!==
$
(
"#swh-next-step-disabled"
).
length
||
$
(
".introjs-tooltiptext"
).
append
(
'<p id="swh-next-step-disabled" style="color: red; font-weight: bold">\n You need to select the line number before proceeding to<br/>next step.\n </p>'
),
s
=
t
,
e
}
if
(
s
&&
"17"
===
s
.
dataset
.
lineNumber
){
for
(
var
n
=!
0
,
r
=
11
;
r
<=
17
;
++
r
){
var
o
=
$
(
'.hljs-ln-numbers[data-line-number="'
+
r
+
'"]'
).
css
(
"background-color"
);
if
(
!
(
n
=
n
&&
"rgba(0, 0, 0, 0)"
!==
o
)){
swh
.
webapp
.
resetHighlightedLines
(),
swh
.
webapp
.
scrollToLine
(
swh
.
webapp
.
highlightLine
(
11
,
!
0
)),
0
===
$
(
"#swh-next-step-disabled"
).
length
&&
$
(
".introjs-tooltiptext"
).
append
(
'<p id="swh-next-step-disabled" style="color: red; font-weight: bold">\n You need to select the line numbers range from 11\n to 17 before proceeding to next step.\n </p>'
);
break
}}
return
n
}
return
s
=
t
,
!
0
}}];
var
t
=
new
URLSearchParams
(
window
.
location
.
search
);
t
&&
t
.
has
(
"guided_tour"
)
&&
f
(
parseInt
(
t
.
get
(
"guided_tour"
)))}))}(),
o
}()}));
//# sourceMappingURL=guided_tour.8c12e50dceed26abbb96.js.map
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Wed, Jun 4, 7:22 PM (1 w, 2 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3359131
Attached To
rDWAPPS Web applications
Event Timeline
Log In to Comment